summaryrefslogtreecommitdiff
path: root/src/utils/translation
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-04-05 19:03:59 +0300
committerAndrei Karas <akaras@inbox.ru>2017-04-05 19:03:59 +0300
commit3b4ffd7199d990d1cbd0e7cbe23fa41f04d38e74 (patch)
treefe7ab920632207462354714e12604e2064d059ea /src/utils/translation
parentd8a530e299b4dd04c020ca3e3eeda7b12f89b69b (diff)
downloadmanaverse-3b4ffd7199d990d1cbd0e7cbe23fa41f04d38e74.tar.gz
manaverse-3b4ffd7199d990d1cbd0e7cbe23fa41f04d38e74.tar.bz2
manaverse-3b4ffd7199d990d1cbd0e7cbe23fa41f04d38e74.tar.xz
manaverse-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.cpp5
-rw-r--r--src/utils/translation/podict.h2
-rw-r--r--src/utils/translation/translationmanager.cpp8
-rw-r--r--src/utils/translation/translationmanager.h2
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