[colobot] 158/390: Fallback to English files if translated ones are not available
Didier Raboud
odyx at moszumanska.debian.org
Fri Jun 12 14:21:40 UTC 2015
This is an automated email from the git hooks/post-receive script.
odyx pushed a commit to branch upstream/latest
in repository colobot.
commit 25d5d105fdf0aa68509a9627eca3b0588f95c957
Author: krzys-h <krzys_h at interia.pl>
Date: Fri Oct 31 21:23:10 2014 +0100
Fallback to English files if translated ones are not available
---
src/object/level/parserparam.cpp | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/object/level/parserparam.cpp b/src/object/level/parserparam.cpp
index ee080b2..1f81f0e 100644
--- a/src/object/level/parserparam.cpp
+++ b/src/object/level/parserparam.cpp
@@ -22,6 +22,7 @@
#include "app/app.h"
#include "common/logger.h"
+#include "common/resources/resourcemanager.h"
#include "object/level/parser.h"
#include "object/robotmain.h"
@@ -174,10 +175,19 @@ std::string CLevelParserParam::InjectLevelDir(std::string path, const std::strin
{
newPath = defaultDir + (!defaultDir.empty() ? "/" : "") + newPath;
}
- //TODO: Fallback to English
+
+ std::string langPath = newPath;
std::string langStr(1, CApplication::GetInstancePointer()->GetLanguageChar());
- boost::replace_all(newPath, "%lng%", langStr);
- return newPath;
+ boost::replace_all(langPath, "%lng%", langStr);
+ if(CResourceManager::Exists(langPath))
+ return langPath;
+
+ // Fallback to English if file doesn't exist
+ boost::replace_all(newPath, "%lng%", "E");
+ if(CResourceManager::Exists(newPath))
+ return newPath;
+
+ return langPath; // Return current language file if none of the files exist
}
std::string CLevelParserParam::ToPath(std::string path, const std::string defaultDir)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/colobot.git
More information about the Pkg-games-commits
mailing list