diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-04-05 02:29:29 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-04-05 02:29:29 +0300 |
commit | d8a530e299b4dd04c020ca3e3eeda7b12f89b69b (patch) | |
tree | 25cdf2254d6fd6eb2f8767f81bab58ff6dab844a /src/utils/translation/translationmanager.cpp | |
parent | 75c9723444581805ccbaafaa26109e5bee0d37c6 (diff) | |
download | plus-d8a530e299b4dd04c020ca3e3eeda7b12f89b69b.tar.gz plus-d8a530e299b4dd04c020ca3e3eeda7b12f89b69b.tar.bz2 plus-d8a530e299b4dd04c020ca3e3eeda7b12f89b69b.tar.xz plus-d8a530e299b4dd04c020ca3e3eeda7b12f89b69b.zip |
Add reverse translation dictionary.
Diffstat (limited to 'src/utils/translation/translationmanager.cpp')
-rw-r--r-- | src/utils/translation/translationmanager.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/utils/translation/translationmanager.cpp b/src/utils/translation/translationmanager.cpp index 3ab5dbb23..f64d8e612 100644 --- a/src/utils/translation/translationmanager.cpp +++ b/src/utils/translation/translationmanager.cpp @@ -44,6 +44,7 @@ void TranslationManager::loadCurrentLang() translator = loadLang(getLang(), ""); translator = loadLang(getLang(), "help/", translator); dictionary = loadLang(getLang(), "dict/"); + reverseDictionary = reverseLang(dictionary); } #ifdef ENABLE_CUSTOMNLS @@ -57,6 +58,8 @@ void TranslationManager::loadGettextLang() void TranslationManager::close() { delete2(translator); + delete2(dictionary); + delete2(reverseDictionary); } PoDict *TranslationManager::loadLang(const LangVect &lang, @@ -131,3 +134,13 @@ bool TranslationManager::translateFile(const std::string &fileName, delete [] fileContents; return true; } + +PoDict *TranslationManager::reverseLang(const PoDict *const dict) +{ + PoDict *const revDict = new PoDict(dict->mLang); + FOR_EACH (PoMap::const_iterator, it, dict->mPoLines) + { + revDict->set((*it).second, (*it).first); + } + return revDict; +} |