From 1b1bc53759ea7993b335909d361a7859d7f80615 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sat, 5 Nov 2022 21:27:34 +0000 Subject: [PATCH] Bug fixes and improvements * Fixed renpy.input not working with Chinese translation * Improved language handling for preferences --- game/scripts/constants.rpy | 4 ++++ game/scripts/gui/preferences.rpy | 10 +++++++--- game/tl/chinese/init.rpy | 2 ++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/game/scripts/constants.rpy b/game/scripts/constants.rpy index 63dd59fc..48d035d0 100644 --- a/game/scripts/constants.rpy +++ b/game/scripts/constants.rpy @@ -2,3 +2,7 @@ define CHARACTERS = {"hermione", "tonks", "astoria", "cho", "luna", "susan", "hooch"} define SAYERS = {i[:3]:i for i in CHARACTERS} define ALLOWED_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz " +define LANGUAGE_TRANSCRIPTS = { + "english": "{font=gui/CreativeBlockRegular.ttf}English{/font}", + "chinese": "{font=tl/chinese/NotoSansSC-Bold.otf}汉语{/font}", +} diff --git a/game/scripts/gui/preferences.rpy b/game/scripts/gui/preferences.rpy index e84c94a8..d4fc9d56 100644 --- a/game/scripts/gui/preferences.rpy +++ b/game/scripts/gui/preferences.rpy @@ -120,9 +120,13 @@ screen preferences_general(): hbox: spacing 2 - textbutton "English" action Language(None) - for i in languages: - textbutton i.capitalize() action Language(i) + textbutton LANGUAGE_TRANSCRIPTS.get("english") action Language(None) + + # Each language should be displayed in its native tongue. + # Please do not translate other language names. + for lang in languages: + $ transcript = LANGUAGE_TRANSCRIPTS.get(lang, lang) + textbutton transcript action Language(lang) screen preferences_visuals(): hbox: diff --git a/game/tl/chinese/init.rpy b/game/tl/chinese/init.rpy index fe8ff0db..ba8c8bd0 100644 --- a/game/tl/chinese/init.rpy +++ b/game/tl/chinese/init.rpy @@ -4,3 +4,5 @@ translate chinese style default: translate chinese python: gui.text_font = "tl/chinese/NotoSansSC-Bold.otf" gui.bold_font = "tl/chinese/NotoSansSC-Black.otf" + # Note: This is required for non-alphabetic scripts to support inputs. + ALLOWED_CHARACTERS = None