diff --git a/assets/locales/en/terrarum.json b/assets/locales/en/terrarum.json index 494449008..0197dbe55 100644 --- a/assets/locales/en/terrarum.json +++ b/assets/locales/en/terrarum.json @@ -1,6 +1,7 @@ { "APP_WARNING_HEALTH_AND_SAFETY": "WARNING-HEALTH AND SAFETY", "CONTEXT_CHARACTER": "Character", + "CONTEXT_ESTIMATED_MINUTES": "Estimated: about {0} minute", "CONTEXT_ESTIMATED_MINUTES_PLURAL": "Estimated: about {0} minutes", "CONTEXT_TIME_MINUTE_PLURAL": "Minutes", "CONTEXT_TIME_SECOND_PLURAL": "Seconds", @@ -42,7 +43,7 @@ "MENU_OPTIONS_LIGHT_UPDATE_PASSES": "Light Calculation Depth", "MENU_OPTIONS_MASTER_VOLUME": "Master Volume", "MENU_OPTIONS_NONE" : "None", - "MENU_OPTIONS_NOTIFICATION_DISPLAY_DURATION": "Show notification for", + "MENU_OPTIONS_NOTIFICATION_DISPLAY_DURATION": "Show Notification for", "MENU_OPTIONS_PARTICLES": "Particles", "MENU_OPTIONS_PERFORMANCE": "Performance", "MENU_OPTIONS_SAVEFORMAT": "Savegame Format", diff --git a/assets/locales/en/terrarum_sentences.json b/assets/locales/en/terrarum_sentences.json index e31819673..7fc50258c 100644 --- a/assets/locales/en/terrarum_sentences.json +++ b/assets/locales/en/terrarum_sentences.json @@ -9,7 +9,7 @@ "APP_NOMODULE_1": "No Module is currently loaded.", "APP_NOMODULE_2": "Please configure your Load Order and restart:", "MENU_LABEL_AUDIO_BUFFER_INSTRUCTION": "Set it to the minimum value in which you do not hear a stuttering.\nIf your audio is stuttering, increase the value until the stuttering is gone.\nLarger value will increase the processing stability but also the delay.", - "MENU_LABEL_KEYCONFIG_HELP1": "Click On the Keycap to Assign Actions", + "MENU_LABEL_KEYCONFIG_HELP1": "Click on the Keycap to Assign Actions", "MENU_LABEL_WARN_ACE": "Script mods may damage your game or result in other unexpected behaviour.\nOnly use the mods you know they can be trusted." } \ No newline at end of file diff --git a/assets/locales/koKR/terrarum.json b/assets/locales/koKR/terrarum.json index 1b6509004..18a3910b6 100644 --- a/assets/locales/koKR/terrarum.json +++ b/assets/locales/koKR/terrarum.json @@ -1,6 +1,7 @@ { "APP_WARNING_HEALTH_AND_SAFETY": "경고—건강과 안전을 위하여", "CONTEXT_CHARACTER": "캐릭터", + "CONTEXT_ESTIMATED_MINUTES": "예상 시간: 약 {0}분", "CONTEXT_ESTIMATED_MINUTES_PLURAL": "예상 시간: 약 {0}분", "CONTEXT_TIME_MINUTE_PLURAL": "분", "CONTEXT_TIME_SECOND_PLURAL": "초", diff --git a/src/net/torvald/terrarum/ModOptionsHost.kt b/src/net/torvald/terrarum/ModOptionsHost.kt index b8818956e..3c97e699c 100644 --- a/src/net/torvald/terrarum/ModOptionsHost.kt +++ b/src/net/torvald/terrarum/ModOptionsHost.kt @@ -73,7 +73,7 @@ class ModOptionsHost(val remoCon: UIRemoCon) : UICanvas() { val modOptions: ControlPanelOptions = mod.configPlan.map { val options = it.split("->") val labelfun = if (options[1].startsWith("Lang:")) { - { Lang[options[1].substringAfter(":")] } + { Lang[options[1].substringAfter(":"), true] } } else { { options[1] } diff --git a/src/net/torvald/terrarum/langpack/Lang.kt b/src/net/torvald/terrarum/langpack/Lang.kt index b98404b80..3815dc5a8 100644 --- a/src/net/torvald/terrarum/langpack/Lang.kt +++ b/src/net/torvald/terrarum/langpack/Lang.kt @@ -134,7 +134,7 @@ object Lang { * - `BLOCK_AIR` – Prints out `Lang.get("BLOCK_AIR")` * - `BLOCK_AIR>>=BLOCK_WALL_NAME_TEMPLATE` – Prints out `Formatter().format(Lang.get("BLOCK_WALL_NAME_TEMPLATE"), Lang.get("BLOCK_AIR")).toString()` */ - operator fun get(key: String, capitalise: Boolean = true): String { + operator fun get(key: String, capitalise: Boolean = false): String { fun getstr(s: String) = getByLocale(s, App.GAME_LOCALE, capitalise) ?: getByLocale(s, FALLBACK_LANG_CODE, capitalise) ?: "$$s" @@ -164,19 +164,45 @@ object Lang { } /** - * Does NOT parse the operators + * @param localecode int the form of "en", "de" or "daDK" or something */ - fun getByLocale(key: String, locale: String, capitalise: Boolean): String? { + private fun getJavaLocaleFromTerrarumLocaleCode(localecode: String): Locale { + val localecode = localecode.substring(0 until minOf(4, localecode.length)) + val lang = localecode.substring(0..1) + val country = if (localecode.length == 4) localecode.substring(2..3) else null + return if (country == null) Locale(lang) else Locale(lang, country) + } + + private val capCache = HashMap>() + + private fun CAP(key: String, locale: String): String? { val ret = langpack["${key}_$locale"] ?: return null - fun String.CAP() = if (capitalise) this.capitalize() else this + if (!capCache.containsKey(locale)) + capCache[locale] = HashMap() + + if (!capCache[locale]!!.containsKey(key)) { + capCache[locale]!![key] = TitlecaseConverter(ret, locale) + } + + return capCache[locale]!![key]!! + } + + private fun NOCAP(key: String, locale: String): String? { + return langpack["${key}_$locale"] ?: return null + } + /** + * Does NOT parse the operators + */ + fun getByLocale(key: String, locale: String, capitalise: Boolean = false): String? { + val s = if (capitalise) CAP(key, locale) else NOCAP(key, locale) return if (locale.startsWith("bg")) - "${App.fontGame.charsetOverrideBulgarian}${ret.CAP()}${App.fontGame.charsetOverrideDefault}" + "${App.fontGame.charsetOverrideBulgarian}$s${App.fontGame.charsetOverrideDefault}" else if (locale.startsWith("sr")) - "${App.fontGame.charsetOverrideSerbian}${ret.CAP()}${App.fontGame.charsetOverrideDefault}" + "${App.fontGame.charsetOverrideSerbian}$s${App.fontGame.charsetOverrideDefault}" else - ret.CAP() + s } private fun String.getEndTag() = this.split("_").last() diff --git a/src/net/torvald/terrarum/langpack/TitlecaseConverter.kt b/src/net/torvald/terrarum/langpack/TitlecaseConverter.kt new file mode 100644 index 000000000..a9e260ba3 --- /dev/null +++ b/src/net/torvald/terrarum/langpack/TitlecaseConverter.kt @@ -0,0 +1,65 @@ +package net.torvald.terrarum.langpack + +import java.util.* + +/** + * Created by minjaesong on 2024-02-17. + */ +object TitlecaseConverter { + + /** + * @param localecode int the form of "en", "de" or "daDK" or something + */ + private fun getJavaLocaleFromTerrarumLocaleCode(localecode: String): Locale { + val localecode = localecode.substring(0 until minOf(4, localecode.length)) + val lang = localecode.substring(0..1) + val country = if (localecode.length == 4) localecode.substring(2..3) else null + return if (country == null) Locale(lang) else Locale(lang, country) + } + + private val locEN = getJavaLocaleFromTerrarumLocaleCode("en") + + operator fun invoke(s: String, localeCode: String): String { + return if (localeCode.startsWith("en")) titlecaseEn(s) + else if ( + localeCode.startsWith("ja") || + localeCode.startsWith("ko") || + localeCode.startsWith("th") || + localeCode.startsWith("zh") + ) passThru(s) + else titlecaseGeneric(s, getJavaLocaleFromTerrarumLocaleCode(localeCode)) + } + + private fun passThru(s: String) = s + + private fun titlecaseGeneric(s: String, loc: Locale) = s.replaceFirstChar { + if (it.isLowerCase()) it.titlecase(loc) + else it.toString() + } + + private val englishWordsNoCapital = hashSetOf( + "a", "an", + "the", "to", "but", "for", "or", "and", "nor", "as", + "amid", "mid", "anti", "at", "atop", "by", "but", "come", "in", "including", "into", "less", "like", "near", + "next", "of", "off", "on", "onto", "out", "over", "past", "per", "plus", "post", "pre", "pro", + "re", "sans", "sub", "than", "till", "until", "under", "up", "upon", "via", "with", "within", "without", + "except" + ) + + private fun titlecaseEn(s: String): String { + val ssplit = s.split(' ') + return ssplit.mapIndexed { index, it -> + if (index == 0 || index == ssplit.lastIndex) it.capitalise(locEN) + else if (it[0].isUpperCase()) it + else { + if (englishWordsNoCapital.contains(it)) it else it.capitalise(locEN) + } + }.joinToString(" ") + } + + private fun String.capitalise(loc: Locale) = this.replaceFirstChar { + if (it.isLowerCase()) it.titlecase(loc) + else it.toString() + } + +} \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt index a461059f1..c083bc724 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIGraphicsControlPanel.kt @@ -26,21 +26,21 @@ class UIGraphicsControlPanel(remoCon: UIRemoCon?) : UICanvas() { handler.allowESCtoClose = false ControlPanelCommon.register(this, width, "basegame.graphicscontrolpanel", arrayOf( - arrayOf("", { Lang["CREDITS_VFX"] }, "h1"), - arrayOf("fx_dither", { Lang["MENU_OPTIONS_DITHER"] }, "toggle"), - arrayOf("fx_backgroundblur", { Lang["MENU_OPTIONS_BLUR"] }, "toggle"), - arrayOf("maxparticles", { Lang["MENU_OPTIONS_PARTICLES"] }, "spinner,256,1024,256"), - arrayOf("lightpasses", { Lang["MENU_OPTIONS_LIGHT_UPDATE_PASSES"] }, "spinner,2,4,1"), - arrayOf("", { Lang["MENU_OPTIONS_DISPLAY"] }, "h1"), - arrayOf("screenwidth,screenheight", { Lang["MENU_OPTIONS_RESOLUTION"] }, "typeinres"), - arrayOf("fullscreen", { Lang["MENU_OPTIONS_FULLSCREEN"] }, "toggle"), - arrayOf("screenmagnifying", { Lang["GAME_ACTION_ZOOM"] }, "spinnerd,1.0,2.0,0.05"), - arrayOf("screenmagnifyingfilter", { Lang["MENU_OPTIONS_FILTERING_MODE"] }, "textsel,none=MENU_OPTIONS_NONE,bilinear=MENU_OPTIONS_FILTERING_BILINEAR,hq2x=MENU_OPTIONS_FILTERING_HQ2X_DNT"), - arrayOf("displayfps", { Lang["MENU_LABEL_FRAMESPERSEC"] }, "spinner,0,300,2"), - arrayOf("usevsync", { Lang["MENU_OPTIONS_VSYNC"] }, "toggle"), + arrayOf("", { Lang["CREDITS_VFX", true] }, "h1"), + arrayOf("fx_dither", { Lang["MENU_OPTIONS_DITHER", true] }, "toggle"), + arrayOf("fx_backgroundblur", { Lang["MENU_OPTIONS_BLUR", true] }, "toggle"), + arrayOf("maxparticles", { Lang["MENU_OPTIONS_PARTICLES", true] }, "spinner,256,1024,256"), + arrayOf("lightpasses", { Lang["MENU_OPTIONS_LIGHT_UPDATE_PASSES", true] }, "spinner,2,4,1"), + arrayOf("", { Lang["MENU_OPTIONS_DISPLAY", true] }, "h1"), arrayOf("", { "(${Lang["MENU_LABEL_RESTART_REQUIRED"]})" }, "p"), - arrayOf("", { Lang["MENU_LABEL_STREAMING"] }, "h1"), - arrayOf("fx_streamerslayout", { Lang["MENU_OPTIONS_STREAMERS_LAYOUT"] }, "toggle"), + arrayOf("displayfps", { Lang["MENU_LABEL_FRAMESPERSEC", true] }, "spinner,0,300,2"), + arrayOf("usevsync", { Lang["MENU_OPTIONS_VSYNC", true] }, "toggle"), + arrayOf("screenwidth,screenheight", { Lang["MENU_OPTIONS_RESOLUTION", true] }, "typeinres"), + arrayOf("fullscreen", { Lang["MENU_OPTIONS_FULLSCREEN", true] }, "toggle"), + arrayOf("screenmagnifying", { Lang["GAME_ACTION_ZOOM", true] }, "spinnerd,1.0,2.0,0.05"), + arrayOf("screenmagnifyingfilter", { Lang["MENU_OPTIONS_FILTERING_MODE", true] }, "textsel,none=MENU_OPTIONS_NONE,bilinear=MENU_OPTIONS_FILTERING_BILINEAR,hq2x=MENU_OPTIONS_FILTERING_HQ2X_DNT"), + arrayOf("", { Lang["MENU_LABEL_STREAMING", true] }, "h1"), + arrayOf("fx_streamerslayout", { Lang["MENU_OPTIONS_STREAMERS_LAYOUT", true] }, "toggle"), )) } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt index a6d6af26d..aa7fd57c3 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIIMEConfig.kt @@ -176,15 +176,15 @@ class UIIMEConfig(remoCon: UIRemoCon?) : UICanvas() { override fun renderImpl(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) { batch.color = Color.WHITE - val txt1 = Lang["MENU_LABEL_KEYBOARD_LAYOUT"]; val tw1 = App.fontGame.getWidth(txt1) + val txt1 = Lang["MENU_LABEL_KEYBOARD_LAYOUT", true]; val tw1 = App.fontGame.getWidth(txt1) App.fontGame.draw(batch, txt1, selDrawX + (halfselw - tw1) / 2, keyboardLayoutSelection.posY - 40) - val txt2 = Lang["MENU_LABEL_IME"]; val tw2 = App.fontGame.getWidth(txt2) + val txt2 = Lang["MENU_LABEL_IME", true]; val tw2 = App.fontGame.getWidth(txt2) App.fontGame.draw(batch, txt2, selDrawX + halfselw + (halfselw - tw2) / 2, keyboardLayoutSelection.posY - 40) // title // todo show "Keyboard"/"Gamepad" accordingly - val title = Lang["MENU_CONTROLS_KEYBOARD"] + val title = Lang["MENU_CONTROLS_KEYBOARD", true] batch.color = Color.WHITE App.fontUITitle.draw(batch, title, drawX.toFloat() + (width - App.fontUITitle.getWidth(title)) / 2, drawY.toFloat()) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt index d07e6c79f..2bef00778 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIKeyboardControlPanel.kt @@ -217,7 +217,7 @@ class UIKeyboardControlPanel(remoCon: UIRemoCon?) : UICanvas() { // title // todo show "Keyboard"/"Gamepad" accordingly batch.color = Color.WHITE - val title = Lang["MENU_CONTROLS_KEYBOARD"] + val title = Lang["MENU_CONTROLS_KEYBOARD", true] App.fontUITitle.draw(batch, title, drawX.toFloat() + (width - App.fontUITitle.getWidth(title)) / 2, drawY.toFloat()) @@ -473,18 +473,18 @@ class UIItemControlPaletteBaloon(val parent: UIKeyboardControlPanel, initialX: I // texts. Sorted in the same way as UIItemControlPaletteBaloon.iconButtons batch.color = Color.WHITE - App.fontGame.draw(batch, Lang["GAME_ACTION_MOVE_VERB"], col0 + 72, posY + 41) - App.fontGame.draw(batch, Lang["GAME_ACTION_JUMP"], col1 + 40, posY + 41) + App.fontGame.draw(batch, Lang["GAME_ACTION_MOVE_VERB", true], col0 + 72, posY + 41) + App.fontGame.draw(batch, Lang["GAME_ACTION_JUMP", true], col1 + 40, posY + 41) - App.fontGame.draw(batch, Lang["GAME_INVENTORY"], col0 + 40, row1 - 2) - App.fontGame.draw(batch, Lang["GAME_CRAFTING"], col0 + 40, row2 - 2) - App.fontGame.draw(batch, Lang["GAME_ACTION_GRAPPLE"], col0 + 40, row3 - 2) - App.fontGame.draw(batch, Lang["GAME_ACTION_QUICKSEL"], col0 + 40, row4 - 2) + App.fontGame.draw(batch, Lang["GAME_INVENTORY", true], col0 + 40, row1 - 2) + App.fontGame.draw(batch, Lang["GAME_CRAFTING", true], col0 + 40, row2 - 2) + App.fontGame.draw(batch, Lang["GAME_ACTION_GRAPPLE", true], col0 + 40, row3 - 2) + App.fontGame.draw(batch, Lang["GAME_ACTION_QUICKSEL", true], col0 + 40, row4 - 2) - App.fontGame.draw(batch, Lang["GAME_ACTION_ZOOM"], col1 + 40, row1 - 2) - App.fontGame.draw(batch, Lang["MENU_LABEL_IME_TOGGLE"], col1 + 40, row2 - 2) - App.fontGame.draw(batch, Lang["MENU_LABEL_MENU"], col1 + 40, row3 - 2) - App.fontGame.draw(batch, Lang["GAME_INVENTORY_DROP"], col1 + 40, row4 - 2) + App.fontGame.draw(batch, Lang["GAME_ACTION_ZOOM", true], col1 + 40, row1 - 2) + App.fontGame.draw(batch, Lang["MENU_LABEL_IME_TOGGLE", true], col1 + 40, row2 - 2) + App.fontGame.draw(batch, Lang["MENU_LABEL_MENU", true], col1 + 40, row3 - 2) + App.fontGame.draw(batch, Lang["GAME_INVENTORY_DROP", true], col1 + 40, row4 - 2) } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt b/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt index b99d94d06..2e5ac6c95 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UINewWorld.kt @@ -296,7 +296,10 @@ class UINewWorld(val remoCon: UIRemoCon) : UICanvas() { val (wx, wy) = TerrarumIngame.NEW_WORLD_SIZE[sizeSelector.selection] val etaSec = Worldgen.getEstimationSec(wx, wy) val etaMin = etaSec.div(60f).roundToInt().coerceAtLeast(1) - val etaText = Lang.getAndUseTemplate("CONTEXT_ESTIMATED_MINUTES_PLURAL", true, etaMin) + val etaText = if (etaMin == 1) + Lang.getAndUseTemplate("CONTEXT_ESTIMATED_MINUTES", true, etaMin) + else + Lang.getAndUseTemplate("CONTEXT_ESTIMATED_MINUTES_PLURAL", true, etaMin) val etaTextPrint = etaText + (if (App.IS_DEVELOPMENT_BUILD) " ($etaSec s)" else "") Toolkit.drawTextCentered(batch, App.fontGame, etaTextPrint, width, drawX, drawY + sizeSelY + inputLineY3) diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt index 4d8e3718f..b9cf1c891 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIPerformanceControlPanel.kt @@ -16,18 +16,18 @@ class UIPerformanceControlPanel(remoCon: UIRemoCon?) : UICanvas() { handler.allowESCtoClose = false ControlPanelCommon.register(this, width, "basegame.performancecontrolpanel", arrayOf( - arrayOf("", { Lang["MENU_OPTIONS_GAMEPLAY"] }, "h1"), - arrayOf("autosaveinterval", { Lang["MENU_OPTIONS_AUTOSAVE"] + " (${Lang["CONTEXT_TIME_MINUTE_PLURAL"]})" }, "spinnerimul,5,120,5,60000"), - arrayOf("notificationshowuptime", { Lang["MENU_OPTIONS_NOTIFICATION_DISPLAY_DURATION"] + " (${Lang["CONTEXT_TIME_SECOND_PLURAL"]})" }, "spinnerimul,2,10,1,1000"), - arrayOf("savegamecomp", { Lang["MENU_OPTIONS_SAVEFORMAT"] }, "textsel,zstd=MENU_OPTIONS_SAVEFORMAT_SMALL,snappy=MENU_OPTIONS_SAVEFORMAT_FAST"), - arrayOf("", { Lang["MENU_MODULES"] }, "h1"), - arrayOf("enablescriptmods", { Lang["MENU_OPTIONS_ENABLE_SCRIPT_MODS"] }, "toggle"), + arrayOf("", { Lang["MENU_OPTIONS_GAMEPLAY", true] }, "h1"), + arrayOf("autosaveinterval", { Lang["MENU_OPTIONS_AUTOSAVE", true] + " (${Lang["CONTEXT_TIME_MINUTE_PLURAL"].lowercase()})" }, "spinnerimul,5,120,5,60000"), + arrayOf("notificationshowuptime", { Lang["MENU_OPTIONS_NOTIFICATION_DISPLAY_DURATION"] + " (${Lang["CONTEXT_TIME_SECOND_PLURAL"].lowercase()})" }, "spinnerimul,2,10,1,1000"), + arrayOf("savegamecomp", { Lang["MENU_OPTIONS_SAVEFORMAT", true] }, "textsel,zstd=MENU_OPTIONS_SAVEFORMAT_SMALL,snappy=MENU_OPTIONS_SAVEFORMAT_FAST"), + arrayOf("", { Lang["MENU_MODULES", true] }, "h1"), arrayOf("", { "(${Lang["MENU_LABEL_RESTART_REQUIRED"]})" }, "p"), + arrayOf("enablescriptmods", { Lang["MENU_OPTIONS_ENABLE_SCRIPT_MODS", true] }, "toggle"), arrayOf("", { "${Lang["MENU_LABEL_WARN_ACE"]}" }, "emph"), - arrayOf("", { Lang["MENU_LABEL_JVM_DNT"] }, "h1"), - arrayOf("jvm_xmx", { Lang["MENU_OPTIONS_JVM_HEAP_MAX"] + " (GB)" }, "spinner,2,32,1"), - arrayOf("jvm_extra_cmd", { Lang["MENU_LABEL_EXTRA_JVM_ARGUMENTS"] }, "typein"), + arrayOf("", { Lang["MENU_LABEL_JVM_DNT", true] }, "h1"), arrayOf("", { "(${Lang["MENU_LABEL_RESTART_REQUIRED"]})" }, "p"), + arrayOf("jvm_xmx", { Lang["MENU_OPTIONS_JVM_HEAP_MAX", true] + " (GB)" }, "spinner,2,32,1"), + arrayOf("jvm_extra_cmd", { Lang["MENU_LABEL_EXTRA_JVM_ARGUMENTS", true] }, "typein"), ) ) } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt b/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt index 84947efdb..3a820aa39 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UISoundControlPanel.kt @@ -20,20 +20,20 @@ class UISoundControlPanel(remoCon: UIRemoCon?) : UICanvas() { handler.allowESCtoClose = false ControlPanelCommon.register(this, width, "basegame.soundcontrolpanel", arrayOf( - arrayOf("", { Lang["MENU_OPTIONS_SOUND_VOLUME"] }, "h1"), - arrayOf("mastervolume", { Lang["MENU_OPTIONS_MASTER_VOLUME"] }, "sliderd,0,1"), + arrayOf("", { Lang["MENU_OPTIONS_SOUND_VOLUME", true] }, "h1"), + arrayOf("mastervolume", { Lang["MENU_OPTIONS_MASTER_VOLUME", true] }, "sliderd,0,1"), arrayOf("", { "" }, "pp"), - arrayOf("bgmvolume", { Lang["MENU_LABEL_MUSIC"] }, "sliderd,0,1"), + arrayOf("bgmvolume", { Lang["MENU_LABEL_MUSIC", true] }, "sliderd,0,1"), arrayOf("", { "" }, "pp"), - arrayOf("ambientvolume", { Lang["MENU_LABEL_AMBIENT_SOUNDS"] }, "sliderd,0,1"), + arrayOf("ambientvolume", { Lang["MENU_LABEL_AMBIENT_SOUNDS", true] }, "sliderd,0,1"), arrayOf("", { "" }, "pp"), - arrayOf("sfxvolume", { Lang["CREDITS_SFX"] }, "sliderd,0,1"), + arrayOf("sfxvolume", { Lang["CREDITS_SFX", true] }, "sliderd,0,1"), arrayOf("", { "" }, "pp"), - arrayOf("guivolume", { Lang["MENU_LABEL_INTERFACE"] }, "sliderd,0,1"), + arrayOf("guivolume", { Lang["MENU_LABEL_INTERFACE", true] }, "sliderd,0,1"), arrayOf("", { "" }, "pp"), - arrayOf("", { Lang["MENU_LABEL_AUDIO_ENGINE"] }, "h1"), - arrayOf("audio_speaker_setup", { Lang["MENU_OPTIONS_SPEAKER_SETUP"] }, "textsel,headphone=MENU_OPTIONS_SPEAKER_HEADPHONE,stereo=MENU_OPTIONS_SPEAKER_STEREO"), - arrayOf("audio_buffer_size", { Lang["MENU_OPTIONS_AUDIO_BUFFER_SIZE"] }, "spinnersel,128,256,512,1024,2048"), + arrayOf("", { Lang["MENU_LABEL_AUDIO_ENGINE", true] }, "h1"), + arrayOf("audio_speaker_setup", { Lang["MENU_OPTIONS_SPEAKER_SETUP", true] }, "textsel,headphone=MENU_OPTIONS_SPEAKER_HEADPHONE,stereo=MENU_OPTIONS_SPEAKER_STEREO"), + arrayOf("audio_buffer_size", { Lang["MENU_OPTIONS_AUDIO_BUFFER_SIZE", true] }, "spinnersel,128,256,512,1024,2048"), arrayOf("", { "${Lang["MENU_LABEL_AUDIO_BUFFER_INSTRUCTION"]}" }, "p"), ))