diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-04-05 19:03:59 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-04-05 19:03:59 +0300 |
commit | 3b4ffd7199d990d1cbd0e7cbe23fa41f04d38e74 (patch) | |
tree | fe7ab920632207462354714e12604e2064d059ea /src/utils/translation | |
parent | d8a530e299b4dd04c020ca3e3eeda7b12f89b69b (diff) | |
download | manaplus-3b4ffd7199d990d1cbd0e7cbe23fa41f04d38e74.tar.gz manaplus-3b4ffd7199d990d1cbd0e7cbe23fa41f04d38e74.tar.bz2 manaplus-3b4ffd7199d990d1cbd0e7cbe23fa41f04d38e74.tar.xz manaplus-3b4ffd7199d990d1cbd0e7cbe23fa41f04d38e74.zip |
Add chat command for translate message from player language to english.
Also add po field into languages.xml.
Diffstat (limited to 'src/utils/translation')
-rw-r--r-- | src/utils/translation/podict.cpp | 5 | ||||
-rw-r--r-- | src/utils/translation/podict.h | 2 | ||||
-rw-r--r-- | src/utils/translation/translationmanager.cpp | 8 | ||||
-rw-r--r-- | src/utils/translation/translationmanager.h | 2 |
4 files changed, 16 insertions, 1 deletions
diff --git a/src/utils/translation/podict.cpp b/src/utils/translation/podict.cpp index 37b1b2fe8..56fd42467 100644 --- a/src/utils/translation/podict.cpp +++ b/src/utils/translation/podict.cpp @@ -54,3 +54,8 @@ const char *PoDict::getChar(const char *const str) return str; return mPoLines[str].c_str(); } + +bool PoDict::haveStr(const std::string &str) const +{ + return mPoLines.find(str) != mPoLines.end(); +} diff --git a/src/utils/translation/podict.h b/src/utils/translation/podict.h index a8b18bba4..d40aa1499 100644 --- a/src/utils/translation/podict.h +++ b/src/utils/translation/podict.h @@ -41,6 +41,8 @@ class PoDict final const char *getChar(const char *const str); + bool haveStr(const std::string &str) const; + #ifndef UNITTESTS protected: #endif // UNITTESTS diff --git a/src/utils/translation/translationmanager.cpp b/src/utils/translation/translationmanager.cpp index f64d8e612..808ad5f2f 100644 --- a/src/utils/translation/translationmanager.cpp +++ b/src/utils/translation/translationmanager.cpp @@ -43,7 +43,13 @@ void TranslationManager::loadCurrentLang() delete translator; translator = loadLang(getLang(), ""); translator = loadLang(getLang(), "help/", translator); - dictionary = loadLang(getLang(), "dict/"); +} + +void TranslationManager::loadDictionaryLang() +{ + delete dictionary; + delete reverseDictionary; + dictionary = loadLang(getServerLang(), "dict/"); reverseDictionary = reverseLang(dictionary); } diff --git a/src/utils/translation/translationmanager.h b/src/utils/translation/translationmanager.h index 81ac4fda7..088d97449 100644 --- a/src/utils/translation/translationmanager.h +++ b/src/utils/translation/translationmanager.h @@ -43,6 +43,8 @@ class TranslationManager final static void loadCurrentLang(); + static void loadDictionaryLang(); + #ifdef ENABLE_CUSTOMNLS static void loadGettextLang(); #endif // ENABLE_CUSTOMNLS |