aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/localization.cpp9
-rw-r--r--common/localization.h21
-rw-r--r--engines/scumm/dialogs.cpp2
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);