diff options
-rw-r--r-- | common/localization.cpp | 9 | ||||
-rw-r--r-- | common/localization.h | 21 | ||||
-rw-r--r-- | engines/scumm/dialogs.cpp | 2 |
3 files changed, 29 insertions, 3 deletions
diff --git a/common/localization.cpp b/common/localization.cpp index c4c76c3b99..afd31b8d22 100644 --- a/common/localization.cpp +++ b/common/localization.cpp @@ -20,6 +20,7 @@ */ #include "common/localization.h" +#include "common/translation.h" namespace Common { @@ -54,4 +55,12 @@ void getLanguageYesNo(Language id, KeyCode &keyYes, KeyCode &keyNo) { } } +void getLanguageYesNo(KeyCode &keyYes, KeyCode &keyNo) { +#ifdef USE_TRANSLATION + getLanguageYesNo(Common::parseLanguageFromLocale(TransMan.getCurrentLanguage().c_str()), keyYes, keyNo); +#else + getLanguageYesNo(Common::EN_ANY, keyYes, keyNo); +#endif +} + } // End of namespace Common diff --git a/common/localization.h b/common/localization.h index 879c31c1c7..3945cf5fab 100644 --- a/common/localization.h +++ b/common/localization.h @@ -27,9 +27,26 @@ namespace Common { -/** Get localized equivalents for Y/N buttons */ +/** + * Get localized equivalents for Y/N buttons of the specified language. In + * case there is no specialized keys for the given language it will fall back + * to the English keys. + * + * @param id Language id + * @param keyYes Key code for yes + * @param keyYes Key code for no + */ void getLanguageYesNo(Language id, KeyCode &keyYes, KeyCode &keyNo); -} // End of namespace Common +/** + * Get localized equivalents for Y/N buttons of the current translation + * language of the ScummVM GUI. + * + * @param keyYes Key code for yes + * @param keyYes Key code for no + */ +void getLanguageYesNo(KeyCode &keyYes, KeyCode &keyNo); + +} // End of namespace Common #endif diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index 0b98ac22b6..74a92f2204 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -491,7 +491,7 @@ ConfirmDialog::ConfirmDialog(ScummEngine *scumm, int res) void ConfirmDialog::handleKeyDown(Common::KeyState state) { Common::KeyCode keyYes, keyNo; - Common::getLanguageYesNo(Common::parseLanguageFromLocale(TransMan.getCurrentLanguage().c_str()), keyYes, keyNo); + Common::getLanguageYesNo(keyYes, keyNo); if (state.keycode == Common::KEYCODE_n || state.ascii == _noKey || state.ascii == keyNo) { setResult(0); |