]> git.lyx.org Git - lyx.git/blobdiff - src/support/Messages.cpp
remove unnecessary Carbon include
[lyx.git] / src / support / Messages.cpp
index cceec1539c3b503b994e67522e00e6f9d6d528e0..5eee6b7f6d5aa20d29b6d255c6b3adb208ce8cd3 100644 (file)
@@ -112,9 +112,22 @@ string Messages::language() const
 }
 
 
-bool Messages::available() const
+bool Messages::available(string const & c)
 {
-       return !language().empty();
+       static string locale_dir = package().locale_dir().toFilesystemEncoding();
+       string code = c;
+       // this loops at most twice
+       while (true) {
+               string const filen = locale_dir + "/" + code 
+                       + "/LC_MESSAGES/"PACKAGE".mo";
+               if (FileName(filen).isReadableFile())
+                       return true;
+               if (contains(code, '_'))
+                       code = token(code, '_', 0);
+               else return false;
+       }
+       return false;
+
 }
 
 
@@ -221,9 +234,14 @@ docstring const Messages::get(string const & m) const
        return trans;
 }
 
+std::string Messages::language() const
+    {
+        return string();
+    }
 
-bool Messages::available() const
+bool Messages::available(string const & c)
 {
+       (void)c;
        return false;
 }