From 7259ca616c9d97305e91b29098f8f2e638d32b58 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Wed, 6 Sep 2023 02:15:04 +0900 Subject: [PATCH] modloader: locale autoloader --- assets/locales/koKR/terrarum.json | 3 ++- assets/mods/basegame/locales/koKR/sentences.json | 6 +++--- src/net/torvald/terrarum/ModMgr.kt | 6 ++++++ src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt | 3 ++- src/net/torvald/terrarum/ui/UIItemModuleInfoCell.kt | 2 +- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/assets/locales/koKR/terrarum.json b/assets/locales/koKR/terrarum.json index 3db16d2e8..b37a2ff22 100644 --- a/assets/locales/koKR/terrarum.json +++ b/assets/locales/koKR/terrarum.json @@ -7,6 +7,7 @@ "COPYRIGHT_GNU_GPL_3": "GNU GPL 3에 따라 배포됨", "GAME_ACTION_MOVE_VERB" : "이동하기", "GAME_ACTION_ZOOM" : "확대·축소", + "GAME_ACTION_ZOOM_OUT" : "화면 축소", "MENU_IO_AUTOSAVE": "자동 저장", "MENU_IO_CLEAR": "지우기", "MENU_IO_IMPORT": "가져오기", @@ -18,7 +19,7 @@ "MENU_LABEL_IME_TOGGLE": "입력기 켜고 끄기", "MENU_LABEL_KEYBOARD_LAYOUT": "자판 배열", "MENU_LABEL_PASTE": "붙여넣기", - "MENU_LABEL_PASTE_FROM_CLIPBOARD": "복사한 텍스트 붙여넣기", + "MENU_LABEL_PASTE_FROM_CLIPBOARD": "복사한 문구 붙여넣기", "MENU_LABEL_PRESS_START_SYMBOL": ">을 누르세요", "MENU_LABEL_RESET" : "재설정", "MENU_LABEL_RESTART_REQUIRED": "재시작 필요", diff --git a/assets/mods/basegame/locales/koKR/sentences.json b/assets/mods/basegame/locales/koKR/sentences.json index 24b6a91b5..0de051085 100644 --- a/assets/mods/basegame/locales/koKR/sentences.json +++ b/assets/mods/basegame/locales/koKR/sentences.json @@ -1,11 +1,11 @@ { - "CONTEXT_THIS_IS_A_WORLD_CURRENTLY_PLAYING": "현재 플레이 중인 월드입니다.", + "CONTEXT_THIS_IS_A_WORLD_CURRENTLY_PLAYING": "현재 플레이 중인 세계입니다.", "CONTEXT_IMPORT_AVATAR_INSTRUCTION_1": "1. 아바타 파일을 다음 폴더에 넣어주세요", "CONTEXT_IMPORT_AVATAR_INSTRUCTION_3": "2. 아바타 파일 이름을 아래에 입력하고 가져오기를 눌러주세요", - "CONTEXT_WORLD_CODE_SHARE_1": "자리를 비운 동안 같은 기기를 공유하는 다른 사람이 이 월드를", + "CONTEXT_WORLD_CODE_SHARE_1": "자리를 비운 동안 같은 기기를 공유하는 다른 사람이 이 세계를", "CONTEXT_WORLD_CODE_SHARE_2": "플레이할 수 있도록 합니다.", "CONTEXT_WORLD_CODE_SHARE_3": "", "CONTEXT_WORLD_CODE_SHARE_4": "아래의 코드를 공유해 다른 사람을 초대하세요!", "ERROR_AVATAR_ALREADY_EXISTS": "이미 존재하는 아바타입니다.", - "ERROR_WORLD_NOT_FOUND": "월드를 찾을 수 없습니다." + "ERROR_WORLD_NOT_FOUND": "세계를 찾을 수 없습니다." } \ No newline at end of file diff --git a/src/net/torvald/terrarum/ModMgr.kt b/src/net/torvald/terrarum/ModMgr.kt index 21ec8ca0b..ccd45a3f0 100644 --- a/src/net/torvald/terrarum/ModMgr.kt +++ b/src/net/torvald/terrarum/ModMgr.kt @@ -211,6 +211,12 @@ object ModMgr { GameRetextureLoader(moduleName) } + // add locales if exists + if (hasFile(moduleName, "locales")) { + printdbg(this, "Trying to load Locales on ${moduleName}") + GameLanguageLoader(moduleName) + } + // run entry script in entry point if (entryPoint.isNotBlank()) { var newClass: Class<*>? = null diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt index 1b9598442..281e7b7be 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIScreenZoom.kt @@ -6,6 +6,7 @@ import com.badlogic.gdx.graphics.OrthographicCamera import com.badlogic.gdx.graphics.g2d.SpriteBatch import net.torvald.terrarum.App import net.torvald.terrarum.Terrarum +import net.torvald.terrarum.langpack.Lang import net.torvald.terrarum.modulebasegame.ui.UIQuickslotBar.Companion.COMMON_OPEN_CLOSE import net.torvald.terrarum.ui.Movement import net.torvald.terrarum.ui.UICanvas @@ -26,7 +27,7 @@ class UIScreenZoom : UICanvas( handler.allowESCtoClose = false } - val zoomText = "${getKeycapPC(handler.toggleKey!!)} $EMDASH Zoom Out" + val zoomText = "${getKeycapPC(handler.toggleKey!!)} ${Lang["GAME_ACTION_ZOOM_OUT"]}" override var width = App.fontGame.getWidth(zoomText) override var height = App.fontGame.lineHeight.toInt() diff --git a/src/net/torvald/terrarum/ui/UIItemModuleInfoCell.kt b/src/net/torvald/terrarum/ui/UIItemModuleInfoCell.kt index f2fe0fdb2..6b043bd6e 100644 --- a/src/net/torvald/terrarum/ui/UIItemModuleInfoCell.kt +++ b/src/net/torvald/terrarum/ui/UIItemModuleInfoCell.kt @@ -86,7 +86,7 @@ class UIItemModuleInfoCell( batch.draw(modIcon, initialX + 35f, initialY + 12f) batch.shader = null batch.color = Color.WHITE - App.fontGame.draw(batch, "$ccZero${modName.toUpperCase()}$ccNum $modVer", initialX + 86f + 3f, initialY.toFloat()) + App.fontGame.draw(batch, "$ccZero${modProp.properName}$ccNum $modVer", initialX + 86f + 3f, initialY.toFloat()) if (modErrored) App.fontGame.draw(batch, "$emphRed${modErrors.first().cause?.message}", initialX + 86f + 3f, initialY + 24f) else