From f037412e9a0a72b3c10cf9944c72e3daa0a6000c Mon Sep 17 00:00:00 2001 From: Ticho Hidding Date: Fri, 3 Oct 2025 02:37:38 +0200 Subject: [PATCH] Change language buttons added. Made UI update all text on language change --- app/src/main/java/org/toop/app/App.java | 40 ++++++++++--- .../java/org/toop/app/menu/CreditsMenu.java | 21 ++++++- .../org/toop/app/menu/GameSelectMenu.java | 44 ++++++++++++-- .../main/java/org/toop/app/menu/MainMenu.java | 45 +++++++++++--- .../java/org/toop/app/menu/OptionsMenu.java | 59 ++++++++++++++++++- .../java/org/toop/app/menu/game/GameMenu.java | 35 ++++++++++- .../main/java/org/toop/local/AppContext.java | 3 + .../org/toop/local/LocalizationEvents.java | 9 +++ .../localization/localization.properties | 21 ++++++- .../localization/localization_de.properties | 21 ++++++- .../localization/localization_es.properties | 21 ++++++- .../localization/localization_fr.properties | 21 ++++++- .../localization/localization_it.properties | 22 ++++++- .../localization/localization_nl.properties | 21 ++++++- .../localization/localization_zh.properties | 20 ++++++- 15 files changed, 371 insertions(+), 32 deletions(-) create mode 100644 app/src/main/java/org/toop/local/LocalizationEvents.java diff --git a/app/src/main/java/org/toop/app/App.java b/app/src/main/java/org/toop/app/App.java index bf797b6..0f09837 100644 --- a/app/src/main/java/org/toop/app/App.java +++ b/app/src/main/java/org/toop/app/App.java @@ -1,5 +1,6 @@ package org.toop.app; +import javafx.application.Platform; import org.toop.app.menu.MainMenu; import org.toop.app.menu.Menu; @@ -15,8 +16,13 @@ import javafx.scene.text.Text; import javafx.stage.Stage; import org.toop.framework.asset.ResourceManager; import org.toop.framework.asset.resources.CssAsset; +import org.toop.framework.asset.resources.LocalizationAsset; import org.toop.framework.audio.events.AudioEvents; import org.toop.framework.eventbus.EventFlow; +import org.toop.local.AppContext; +import org.toop.local.LocalizationEvents; + +import java.util.Locale; public final class App extends Application { private static Stage stage; @@ -26,15 +32,19 @@ public final class App extends Application { private static int height; private static boolean isQuitting; + private Locale currentLocale = AppContext.getLocale(); + private final LocalizationAsset loc = ResourceManager.get("localization.properties"); private static class QuitMenu extends Menu { - public QuitMenu() { + private Locale currentLocale = AppContext.getLocale(); + private final LocalizationAsset loc = ResourceManager.get("localization.properties"); + public QuitMenu() { final Region background = createBackground("quit_background"); - final Text sure = createText("Are you sure?"); + final Text sure = createText(loc.getString("quitMenuTextSure",currentLocale)); - final Button yes = createButton("Yes", () -> { stage.close(); }); - final Button no = createButton("No", () -> { pop(); isQuitting = false; }); + final Button yes = createButton(loc.getString("quitMenuButtonYes",currentLocale), () -> { stage.close(); }); + final Button no = createButton(loc.getString("quitMenuButtonNo",currentLocale), () -> { pop(); isQuitting = false; }); final HBox buttons = new HBox(50, yes, no); buttons.setAlignment(Pos.CENTER); @@ -62,7 +72,7 @@ public final class App extends Application { final Scene scene = new Scene(root); scene.getStylesheets().add(((CssAsset) ResourceManager.get("app.css")).getUrl()); - stage.setTitle("pism"); + stage.setTitle(loc.getString("windowTitle",currentLocale)); stage.setMinWidth(1080); stage.setMinHeight(720); @@ -89,7 +99,23 @@ public final class App extends Application { new EventFlow().addPostEvent(new AudioEvents.ChangeVolume(0.1)).asyncPostEvent(); App.isQuitting = false; - } + try { + new EventFlow() + .listen(this::handleChangeLanguage); + + }catch (Exception e){ + System.out.println("Something went wrong while trying to change the language."); + throw e; + } + + } + private void handleChangeLanguage(LocalizationEvents.LanguageHasChanged event) { + Platform.runLater(() -> { + currentLocale = AppContext.getLocale(); + stage.setTitle(loc.getString("windowTitle",currentLocale)); + }); + + } public static void quitPopup() { isQuitting = true; @@ -102,7 +128,7 @@ public final class App extends Application { } public static void push(Menu menu) { - root.getChildren().addLast(menu.getPane()); + root.getChildren().addLast(menu.getPane()); } public static void pop() { diff --git a/app/src/main/java/org/toop/app/menu/CreditsMenu.java b/app/src/main/java/org/toop/app/menu/CreditsMenu.java index 95910ce..0faabe5 100644 --- a/app/src/main/java/org/toop/app/menu/CreditsMenu.java +++ b/app/src/main/java/org/toop/app/menu/CreditsMenu.java @@ -1,8 +1,11 @@ package org.toop.app.menu; +import javafx.application.Platform; import org.toop.framework.asset.ResourceManager; import org.toop.framework.asset.resources.LocalizationAsset; +import org.toop.framework.eventbus.EventFlow; import org.toop.local.AppContext; +import org.toop.local.LocalizationEvents; import java.util.Locale; @@ -10,5 +13,21 @@ public final class CreditsMenu extends Menu { private Locale currentLocale = AppContext.getLocale(); private LocalizationAsset loc = ResourceManager.get("localization.properties"); public CreditsMenu() { - } + try { + new EventFlow() + .listen(this::handleChangeLanguage); + + }catch (Exception e){ + System.out.println("Something went wrong while trying to change the language."); + throw e; + } + + } + private void handleChangeLanguage(LocalizationEvents.LanguageHasChanged event) { + Platform.runLater(() -> { + currentLocale = AppContext.getLocale(); + //credits.setText(loc.getString("credits",currentLocale)); + }); + + } } \ No newline at end of file diff --git a/app/src/main/java/org/toop/app/menu/GameSelectMenu.java b/app/src/main/java/org/toop/app/menu/GameSelectMenu.java index a205808..eee9331 100644 --- a/app/src/main/java/org/toop/app/menu/GameSelectMenu.java +++ b/app/src/main/java/org/toop/app/menu/GameSelectMenu.java @@ -1,5 +1,6 @@ package org.toop.app.menu; +import javafx.application.Platform; import javafx.scene.control.ComboBox; import javafx.scene.control.TextField; import javafx.scene.layout.HBox; @@ -7,27 +8,60 @@ import javafx.scene.layout.Region; import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; import org.toop.app.GameType; +import org.toop.framework.asset.ResourceManager; +import org.toop.framework.asset.resources.LocalizationAsset; +import org.toop.framework.eventbus.EventFlow; +import org.toop.local.AppContext; +import org.toop.local.LocalizationEvents; + +import java.util.Locale; public class GameSelectMenu extends Menu { + private Locale currentLocale = AppContext.getLocale(); + private final LocalizationAsset loc = ResourceManager.get("localization.properties"); + + final ComboBox selectedMode, selectedGame; + final TextField serverIpField; + public GameSelectMenu(GameType type) { final Region background = createBackground(); - final ComboBox selectedGame = new ComboBox<>(); + selectedGame = new ComboBox<>(); selectedGame.getItems().add(GameType.toName(GameType.TICTACTOE)); selectedGame.getItems().add(GameType.toName(GameType.REVERSI)); selectedGame.setValue(GameType.toName(type)); - final ComboBox selectedMode = new ComboBox<>(); + selectedMode = new ComboBox<>(); selectedMode.getItems().add("Local"); selectedMode.getItems().add("Online"); selectedMode.setValue("Local"); final HBox selectedContainer = new HBox(10, selectedGame, selectedMode); - final TextField serverIpField = new TextField(); - serverIpField.setPromptText("Enter here your server ip address"); + serverIpField = new TextField(); + serverIpField.setPromptText(loc.getString("gameSelectMenuEnterIP",currentLocale)); VBox box = new VBox(selectedContainer, serverIpField); pane = new StackPane(background, box); - } + try { + new EventFlow() + .listen(this::handleChangeLanguage); + + }catch (Exception e){ + System.out.println("Something went wrong while trying to change the language."); + throw e; + } + + } + private void handleChangeLanguage(LocalizationEvents.LanguageHasChanged event) { + Platform.runLater(() -> { + currentLocale = AppContext.getLocale(); + serverIpField.setPromptText(loc.getString("gameSelectMenuEnterIP",currentLocale)); + selectedGame.getItems().set(0, loc.getString("mainMenuSelectTicTacToe",currentLocale)); + selectedGame.getItems().set(1, loc.getString("mainMenuSelectReversi",currentLocale)); + selectedMode.getItems().set(0, loc.getString("gameSelectMenuLocal",currentLocale)); + selectedMode.getItems().set(1, loc.getString("gameSelectMenuOnline",currentLocale)); + }); + + } } \ No newline at end of file diff --git a/app/src/main/java/org/toop/app/menu/MainMenu.java b/app/src/main/java/org/toop/app/menu/MainMenu.java index c369806..2c39747 100644 --- a/app/src/main/java/org/toop/app/menu/MainMenu.java +++ b/app/src/main/java/org/toop/app/menu/MainMenu.java @@ -1,5 +1,6 @@ package org.toop.app.menu; +import javafx.application.Platform; import org.toop.app.App; import org.toop.app.GameType; @@ -7,14 +8,24 @@ import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.layout.*; import org.toop.app.menu.game.TicTacToeMenu; +import org.toop.framework.asset.ResourceManager; +import org.toop.framework.asset.resources.LocalizationAsset; +import org.toop.framework.eventbus.EventFlow; import org.toop.game.tictactoe.TicTacToe; +import org.toop.local.AppContext; +import org.toop.local.LocalizationEvents; + +import java.util.Locale; public final class MainMenu extends Menu { - public MainMenu() { + private Locale currentLocale = AppContext.getLocale(); + private final LocalizationAsset loc = ResourceManager.get("localization.properties"); + private final Button tictactoe,reversi,credits,options,quit; + public MainMenu() { final Region background = createBackground(); - final Button tictactoe = createButton("Tic Tac Toe", () -> { App.activate(new TicTacToeMenu(new TicTacToe("player 1", true, "player 2", true))); }); - final Button reversi = createButton("Reversi", () -> { App.activate(new GameSelectMenu(GameType.REVERSI)); }); + tictactoe = createButton(loc.getString("mainMenuSelectTicTacToe",currentLocale), () -> { App.activate(new TicTacToeMenu(new TicTacToe("player 1", true, "player 2", true))); }); + reversi = createButton(loc.getString("mainMenuSelectReversi",currentLocale), () -> { App.activate(new GameSelectMenu(GameType.REVERSI)); }); final VBox gamesBox = new VBox(10, tictactoe, reversi); gamesBox.setAlignment(Pos.TOP_LEFT); @@ -22,9 +33,9 @@ public final class MainMenu extends Menu { gamesBox.setTranslateY(50); gamesBox.setTranslateX(25); - final Button credits = createButton("Credits", () -> { App.push(new CreditsMenu()); }); - final Button options = createButton("Options", () -> { App.push(new OptionsMenu()); }); - final Button quit = createButton("Quit", () -> { App.quitPopup(); }); + credits = createButton(loc.getString("mainMenuSelectCredits",currentLocale), () -> { App.push(new CreditsMenu()); }); + options = createButton(loc.getString("mainMenuSelectOptions",currentLocale), () -> { App.push(new OptionsMenu()); }); + quit = createButton(loc.getString("mainMenuSelectQuit",currentLocale), () -> { App.quitPopup(); }); final VBox controlBox = new VBox(10, credits, options, quit); controlBox.setAlignment(Pos.BOTTOM_LEFT); @@ -33,5 +44,25 @@ public final class MainMenu extends Menu { controlBox.setTranslateX(25); pane = new StackPane(background, gamesBox, controlBox); - } + try { + new EventFlow() + .listen(this::handleChangeLanguage); + + }catch (Exception e){ + System.out.println("Something went wrong while trying to change the language."); + throw e; + } + + } + private void handleChangeLanguage(LocalizationEvents.LanguageHasChanged event) { + Platform.runLater(() -> { + currentLocale = AppContext.getLocale(); + tictactoe.setText(loc.getString("mainMenuSelectTicTacToe",currentLocale)); + reversi.setText(loc.getString("mainMenuSelectReversi",currentLocale)); + credits.setText(loc.getString("mainMenuSelectCredits",currentLocale)); + options.setText(loc.getString("mainMenuSelectOptions",currentLocale)); + quit.setText(loc.getString("mainMenuSelectQuit",currentLocale)); + }); + + } } \ No newline at end of file diff --git a/app/src/main/java/org/toop/app/menu/OptionsMenu.java b/app/src/main/java/org/toop/app/menu/OptionsMenu.java index 272c08a..40118ef 100644 --- a/app/src/main/java/org/toop/app/menu/OptionsMenu.java +++ b/app/src/main/java/org/toop/app/menu/OptionsMenu.java @@ -1,14 +1,69 @@ package org.toop.app.menu; +import javafx.application.Platform; +import javafx.geometry.Pos; +import javafx.scene.control.Button; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Region; +import javafx.scene.layout.StackPane; +import javafx.scene.layout.VBox; +import javafx.scene.text.Text; import org.toop.framework.asset.ResourceManager; import org.toop.framework.asset.resources.LocalizationAsset; +import org.toop.framework.eventbus.EventFlow; import org.toop.local.AppContext; +import org.toop.local.LocalizationEvents; import java.util.Locale; public final class OptionsMenu extends Menu { private Locale currentLocale = AppContext.getLocale(); - private LocalizationAsset loc = ResourceManager.get("localization.properties"); + private final LocalizationAsset loc = ResourceManager.get("localization.properties"); + private Text chooseLang; + private Button english,dutch,german,french,italian,spanish,chinese; + public OptionsMenu() { - } + final Region background = createBackground("quit_background"); + + chooseLang = createText(loc.getString("languageChangeText",currentLocale)); + english = createButton(loc.getString("languageEnglish",currentLocale), () -> AppContext.setCurrentLocale(Locale.ENGLISH)); + dutch = createButton(loc.getString("languageDutch",currentLocale), () -> AppContext.setCurrentLocale(Locale.of("nl"))); + german = createButton(loc.getString("languageGerman",currentLocale), () -> AppContext.setCurrentLocale(Locale.of("de"))); + french = createButton(loc.getString("languageFrench",currentLocale), () -> AppContext.setCurrentLocale(Locale.of("fr"))); + italian = createButton(loc.getString("languageItalian",currentLocale), () -> AppContext.setCurrentLocale(Locale.of("it"))); + spanish = createButton(loc.getString("languageSpanish",currentLocale), () -> AppContext.setCurrentLocale(Locale.of("es"))); + chinese = createButton(loc.getString("languageChinese",currentLocale), () -> AppContext.setCurrentLocale(Locale.of("zh"))); + + final VBox buttons = new VBox(10, chooseLang, english,dutch,german,french,italian,spanish,chinese); + + buttons.setAlignment(Pos.CENTER); + buttons.getStyleClass().add("quit_box"); + buttons.setMaxWidth(300); + buttons.setMaxHeight(600); + pane = new StackPane(background, buttons); + + try { + new EventFlow() + .listen(this::handleChangeLanguage); + + }catch (Exception e){ + System.out.println("Something went wrong while trying to change the language."); + throw e; + } + + } + private void handleChangeLanguage(LocalizationEvents.LanguageHasChanged event) { + Platform.runLater(() -> { + currentLocale = AppContext.getLocale(); + chooseLang.setText(loc.getString("languageChangeText",currentLocale)); + english.setText(loc.getString("languageEnglish",currentLocale)); + dutch.setText(loc.getString("languageDutch",currentLocale)); + german.setText(loc.getString("languageGerman",currentLocale)); + french.setText(loc.getString("languageFrench",currentLocale)); + italian.setText(loc.getString("languageItalian",currentLocale)); + spanish.setText(loc.getString("languageSpanish",currentLocale)); + chinese.setText(loc.getString("languageChinese",currentLocale)); + }); + + } } \ No newline at end of file diff --git a/app/src/main/java/org/toop/app/menu/game/GameMenu.java b/app/src/main/java/org/toop/app/menu/game/GameMenu.java index 4efa4ff..e0d1577 100644 --- a/app/src/main/java/org/toop/app/menu/game/GameMenu.java +++ b/app/src/main/java/org/toop/app/menu/game/GameMenu.java @@ -1,5 +1,6 @@ package org.toop.app.menu.game; +import javafx.application.Platform; import javafx.geometry.Pos; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; @@ -12,6 +13,13 @@ import javafx.scene.text.Text; import org.toop.app.App; import org.toop.app.menu.MainMenu; import org.toop.app.menu.Menu; +import org.toop.framework.asset.ResourceManager; +import org.toop.framework.asset.resources.LocalizationAsset; +import org.toop.framework.eventbus.EventFlow; +import org.toop.local.AppContext; +import org.toop.local.LocalizationEvents; + +import java.util.Locale; public abstract class GameMenu extends Menu { protected final class Cell { @@ -46,7 +54,11 @@ public abstract class GameMenu extends Menu { protected final Cell[] cells; + private Locale currentLocale = AppContext.getLocale(); + private final LocalizationAsset loc = ResourceManager.get("localization.properties"); + private final Button hint,back; protected GameMenu(int rows, int columns, int gapSize) { + final int size = Math.min(App.getWidth(), App.getHeight()) / 5 * 4; final Canvas canvas = new Canvas(size, size); @@ -87,13 +99,30 @@ public abstract class GameMenu extends Menu { playersContainer.setPickOnBounds(false); playersContainer.setTranslateY(50); - final Button hint = createButton("Hint", () -> {}); - final Button back = createButton("Back", () -> { App.activate(new MainMenu()); }); + hint = createButton(loc.getString("gameMenuHint",currentLocale), () -> {}); + back = createButton(loc.getString("gameMenuBack",currentLocale), () -> { App.activate(new MainMenu()); }); final VBox controlContainer = new VBox(hint, back); StackPane.setAlignment(controlContainer, Pos.BOTTOM_LEFT); controlContainer.setPickOnBounds(false); pane = new StackPane(background, canvas, playersContainer, controlContainer); - } + try { + new EventFlow() + .listen(this::handleChangeLanguage); + + }catch (Exception e){ + System.out.println("Something went wrong while trying to change the language."); + throw e; + } + + } + private void handleChangeLanguage(LocalizationEvents.LanguageHasChanged event) { + Platform.runLater(() -> { + currentLocale = AppContext.getLocale(); + hint.setText(loc.getString("gameMenuHint",currentLocale)); + back.setText(loc.getString("gameMenuBack",currentLocale)); + }); + + } } \ No newline at end of file diff --git a/app/src/main/java/org/toop/local/AppContext.java b/app/src/main/java/org/toop/local/AppContext.java index 3b1bb47..fab7fe6 100644 --- a/app/src/main/java/org/toop/local/AppContext.java +++ b/app/src/main/java/org/toop/local/AppContext.java @@ -1,5 +1,7 @@ package org.toop.local; +import org.toop.framework.eventbus.EventFlow; + import java.util.Locale; public class AppContext { @@ -7,6 +9,7 @@ public class AppContext { public static void setCurrentLocale(Locale locale) { currentLocale = locale; + new EventFlow().addPostEvent(new LocalizationEvents.LanguageHasChanged(locale.getLanguage())).asyncPostEvent(); } public static Locale getLocale() { return currentLocale; diff --git a/app/src/main/java/org/toop/local/LocalizationEvents.java b/app/src/main/java/org/toop/local/LocalizationEvents.java new file mode 100644 index 0000000..5c10b4a --- /dev/null +++ b/app/src/main/java/org/toop/local/LocalizationEvents.java @@ -0,0 +1,9 @@ +package org.toop.local; + + +import org.toop.framework.eventbus.events.EventWithoutSnowflake; +import org.toop.framework.eventbus.events.EventsBase; + +public class LocalizationEvents extends EventsBase { + public record LanguageHasChanged(String language) implements EventWithoutSnowflake {} +} diff --git a/app/src/main/resources/assets/localization/localization.properties b/app/src/main/resources/assets/localization/localization.properties index 9718bf0..18d2c89 100644 --- a/app/src/main/resources/assets/localization/localization.properties +++ b/app/src/main/resources/assets/localization/localization.properties @@ -14,4 +14,23 @@ mainMenuSelectQuit=Quit # Quit Menu text and buttons quitMenuTextSure=Are you sure? quitMenuButtonYes=Yes -quitMenuButtonNo=No \ No newline at end of file +quitMenuButtonNo=No + +# Language menu +languageChangeText=Choose a language. +languageEnglish=English +languageDutch=Dutch +languageGerman=German +languageFrench=French +languageItalian=Italian +languageSpanish=Spanish +languageChinese=Chinese + +# Game select menu +gameSelectMenuLocal=Local +gameSelectMenuOnline=Online +gameSelectMenuEnterIP=Enter your IP address here: + +# Game Menu +gameMenuHint=Hint +gameMenuBack=Back \ No newline at end of file diff --git a/app/src/main/resources/assets/localization/localization_de.properties b/app/src/main/resources/assets/localization/localization_de.properties index dc46278..0f5a8e1 100644 --- a/app/src/main/resources/assets/localization/localization_de.properties +++ b/app/src/main/resources/assets/localization/localization_de.properties @@ -14,4 +14,23 @@ mainMenuSelectQuit=Beenden # Quit Menu text and buttons quitMenuTextSure=Bist du sicher? quitMenuButtonYes=Ja -quitMenuButtonNo=Nein \ No newline at end of file +quitMenuButtonNo=Nein + +# Language menu +languageChangeText=Sprache w\u00E4hlen. +languageEnglish=Englisch +languageDutch=Niederl\u00E4ndisch +languageGerman=Deutsch +languageFrench=Franz\u00F6sisch +languageItalian=Italienisch +languageSpanish=Spanisch +languageChinese=Chinesisch + +# Game select menu +gameSelectMenuLocal=Lokal +gameSelectMenuOnline=Online +gameSelectMenuEnterIP=Gib hier deine IP-Adresse ein: + +# Game Menu +gameMenuHint=Tipp +gameMenuBack=Zur\u00FCck diff --git a/app/src/main/resources/assets/localization/localization_es.properties b/app/src/main/resources/assets/localization/localization_es.properties index 60439ab..19b27fe 100644 --- a/app/src/main/resources/assets/localization/localization_es.properties +++ b/app/src/main/resources/assets/localization/localization_es.properties @@ -14,4 +14,23 @@ mainMenuSelectQuit=Salir # Quit Menu text and buttons quitMenuTextSure=\u00BFEst\u00E1s seguro? quitMenuButtonYes=S\u00ED -quitMenuButtonNo=No \ No newline at end of file +quitMenuButtonNo=No + +# Language menu +languageChangeText=Elige un idioma. +languageEnglish=Ingl\u00E9s +languageDutch=Neerland\u00E9s +languageGerman=Alem\u00E1n +languageFrench=Franc\u00E9s +languageItalian=Italiano +languageSpanish=Espa\u00F1ol +languageChinese=Chino + +# Game select menu +gameSelectMenuLocal=Local +gameSelectMenuOnline=En l\u00EDnea +gameSelectMenuEnterIP=Introduce aqu\u00ED tu direcci\u00F3n IP: + +# Game Menu +gameMenuHint=Pista +gameMenuBack=Atr\u00E1s diff --git a/app/src/main/resources/assets/localization/localization_fr.properties b/app/src/main/resources/assets/localization/localization_fr.properties index 75d9f4a..bb6ba7e 100644 --- a/app/src/main/resources/assets/localization/localization_fr.properties +++ b/app/src/main/resources/assets/localization/localization_fr.properties @@ -14,4 +14,23 @@ mainMenuSelectQuit=Quitter # Quit Menu text and buttons quitMenuTextSure=\u00CAtes-vous s\u00FBr? quitMenuButtonYes=Oui -quitMenuButtonNo=Non \ No newline at end of file +quitMenuButtonNo=Non + +# Language menu +languageChangeText=Choisissez une langue. +languageEnglish=Anglais +languageDutch=N\u00E9erlandais +languageGerman=Allemand +languageFrench=Fran\u00E7ais +languageItalian=Italien +languageSpanish=Espagnol +languageChinese=Chinois + +# Game select menu +gameSelectMenuLocal=Local +gameSelectMenuOnline=En ligne +gameSelectMenuEnterIP=Entrez votre adresse IP ici : + +# Game Menu +gameMenuHint=Indice +gameMenuBack=Retour diff --git a/app/src/main/resources/assets/localization/localization_it.properties b/app/src/main/resources/assets/localization/localization_it.properties index 75a8896..b89a8a1 100644 --- a/app/src/main/resources/assets/localization/localization_it.properties +++ b/app/src/main/resources/assets/localization/localization_it.properties @@ -14,4 +14,24 @@ mainMenuSelectQuit=Esci # Quit Menu text and buttons quitMenuTextSure=Sei sicuro? quitMenuButtonYes=S\u00EC -quitMenuButtonNo=No \ No newline at end of file +quitMenuButtonNo=No + +# Language menu +languageChangeText=Scegli una lingua. +languageEnglish=Inglese +languageDutch=Olandese +languageGerman=Tedesco +languageFrench=Francese +languageItalian=Italiano +languageSpanish=Spagnolo +languageChinese=Cinese + +# Game select menu +gameSelectMenuLocal=Locale +gameSelectMenuOnline=Online +gameSelectMenuEnterIP=Inserisci qui il tuo indirizzo IP: + +# Game Menu +gameMenuHint=Suggerimento +gameMenuBack=Indietro + diff --git a/app/src/main/resources/assets/localization/localization_nl.properties b/app/src/main/resources/assets/localization/localization_nl.properties index 4c3eb30..90fd8b9 100644 --- a/app/src/main/resources/assets/localization/localization_nl.properties +++ b/app/src/main/resources/assets/localization/localization_nl.properties @@ -14,4 +14,23 @@ mainMenuSelectQuit=Afsluiten # Quit Menu text and buttons quitMenuTextSure=Weet je het zeker? quitMenuButtonYes=Ja -quitMenuButtonNo=Nee \ No newline at end of file +quitMenuButtonNo=Nee + +# Language menu +languageChangeText=Kies een taal. +languageEnglish=Engels +languageDutch=Nederlands +languageGerman=Duits +languageFrench=Frans +languageItalian=Italiaans +languageSpanish=Spaans +languageChinese=Chinees + +# Game select menu +gameSelectMenuLocal=Lokaal +gameSelectMenuOnline=Online +gameSelectMenuEnterIP=Voer hier je IP-adres in: + +# Game Menu +gameMenuHint=Hint +gameMenuBack=Terug diff --git a/app/src/main/resources/assets/localization/localization_zh.properties b/app/src/main/resources/assets/localization/localization_zh.properties index f703670..9f09b8a 100644 --- a/app/src/main/resources/assets/localization/localization_zh.properties +++ b/app/src/main/resources/assets/localization/localization_zh.properties @@ -27,4 +27,22 @@ quitMenuTextSure=\u4F60\u786E\u5B9A\u5417\uFF1F quitMenuButtonYes=\u662F # ? quitMenuButtonNo=\u5426 -# ? \ No newline at end of file +# ? +# Language menu +languageChangeText=\u9009\u62E9\u4E00\u79CD\u8BED\u8A00\u3002 +languageEnglish=\u82F1\u8BED +languageDutch=\u8377\u5170\u8BED +languageGerman=\u5FB7\u8BED +languageFrench=\u6CD5\u8BED +languageItalian=\u610F\u5927\u5229\u8BED +languageSpanish=\u897F\u73ED\u7259\u8BED +languageChinese=\u4E2D\u6587 + +# Game select menu +gameSelectMenuLocal=\u672C\u5730 +gameSelectMenuOnline=\u5728\u7EBF +gameSelectMenuEnterIP=\u5728\u6B64\u8F93\u5165\u4F60\u7684IP\u5730\u5740\uFF1A + +# Game Menu +gameMenuHint=\u63D0\u793A +gameMenuBack=\u8FD4\u56DE