feat(localization): integrate localization service for dynamic text rendering in DemoModule

This commit is contained in:
extio-de
2025-12-26 19:14:27 +01:00
parent b5448c3a55
commit f4cdeac73f
2 changed files with 21 additions and 5 deletions

View File

@@ -1,15 +1,27 @@
--- ---
curId: 2 curId: 6
descriptions: descriptions:
test-2: "" test-2: ""
test-1: "aaa" test-1: "aaa"
test-6: ""
test-5: ""
test-4: ""
test-3: ""
languages: languages:
en: en:
test-1: "hello" test-1: "hello"
test-2: "world" test-2: "world"
test-3: "Welcome to Exo's Game Engine Demo!"
test-4: "Start"
test-5: "This is a message\\n\\nbla bla bla...\\n\\nHave a nice day!"
test-6: "OK"
de: de:
test-1: "hallo" test-1: "hallo"
test-2: "welt" test-2: "welt"
test-3: "Willkommen zu Exo's Spieleengine Demo!"
test-4: "Start"
test-5: "Dies ist eine Nachricht\\n\\nbla bla bla...\\n\\nSchönen Tag noch!"
test-6: "Ok"
languagesInfo: languagesInfo:
en: en:
name: "English" name: "English"

View File

@@ -7,6 +7,7 @@ import org.springframework.context.ApplicationContext;
import de.extio.game_engine.audio.AudioController; import de.extio.game_engine.audio.AudioController;
import de.extio.game_engine.event.EventService; import de.extio.game_engine.event.EventService;
import de.extio.game_engine.i18n.LocalizationService;
import de.extio.game_engine.module.AbstractClientModule; import de.extio.game_engine.module.AbstractClientModule;
import de.extio.game_engine.renderer.RendererControl; import de.extio.game_engine.renderer.RendererControl;
import de.extio.game_engine.renderer.container.Window; import de.extio.game_engine.renderer.container.Window;
@@ -35,6 +36,9 @@ public class DemoModule extends AbstractClientModule {
@Autowired @Autowired
private EventService eventService; private EventService eventService;
@Autowired
private LocalizationService localizationService;
private Window mainWindow; private Window mainWindow;
private Window secondaryWindow; private Window secondaryWindow;
@@ -110,7 +114,7 @@ public class DemoModule extends AbstractClientModule {
private void setupMainWindow() { private void setupMainWindow() {
var bo = this.renderingBoPool.acquire("DemoModule_MainWindow_Label_Welcome", ControlRenderingBo.class) var bo = this.renderingBoPool.acquire("DemoModule_MainWindow_Label_Welcome", ControlRenderingBo.class)
.setCaption("Welcome to Exo's Game Engine Demo!") .setCaption(this.localizationService.translate("test-3"))
.setFontSize(48) .setFontSize(48)
.setType(LabelControl.class) .setType(LabelControl.class)
.setVisible(true) .setVisible(true)
@@ -127,7 +131,7 @@ public class DemoModule extends AbstractClientModule {
this.mainWindow.putRenderingBo(bo); this.mainWindow.putRenderingBo(bo);
bo = this.renderingBoPool.acquire("DemoModule_MainWindow_Label_Start", ControlRenderingBo.class) bo = this.renderingBoPool.acquire("DemoModule_MainWindow_Label_Start", ControlRenderingBo.class)
.setCaption("Start") .setCaption(this.localizationService.translate("test-4"))
.setFontSize(96) .setFontSize(96)
.setType(LabelControl.class) .setType(LabelControl.class)
.setVisible(true) .setVisible(true)
@@ -139,7 +143,7 @@ public class DemoModule extends AbstractClientModule {
private void setupSecondaryWindow() { private void setupSecondaryWindow() {
var bo = this.renderingBoPool.acquire("DemoModule_SecondaryWindow_Text", DrawFontRenderingBo.class) var bo = this.renderingBoPool.acquire("DemoModule_SecondaryWindow_Text", DrawFontRenderingBo.class)
.setText("This is a message\n\nbla bla bla...\n\nHave a nice day!") .setText(this.localizationService.translate("test-5").replace("\\n", "\n"))
.setSize(32) .setSize(32)
.setAlignment(HorizontalAlignment.CENTER) .setAlignment(HorizontalAlignment.CENTER)
.withDimensionAbsolute(RendererControl.REFERENCE_RESOLUTION.divide(7).multiply(2).substract(20).getX(), 40) .withDimensionAbsolute(RendererControl.REFERENCE_RESOLUTION.divide(7).multiply(2).substract(20).getX(), 40)
@@ -147,7 +151,7 @@ public class DemoModule extends AbstractClientModule {
this.secondaryWindow.putRenderingBo(bo); this.secondaryWindow.putRenderingBo(bo);
bo = this.renderingBoPool.acquire("DemoModule_SecondaryWindow_Button_Ok", ControlRenderingBo.class) bo = this.renderingBoPool.acquire("DemoModule_SecondaryWindow_Button_Ok", ControlRenderingBo.class)
.setCaption("OK") .setCaption(this.localizationService.translate("test-6"))
.setType(ButtonControl.class) .setType(ButtonControl.class)
.setVisible(true) .setVisible(true)
.setEnabled(true) .setEnabled(true)