[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