Przeglądaj źródła

* add GetLanguageIDs, patch by Ales Katona

git-svn-id: trunk@483 -
peter 20 lat temu
rodzic
commit
4b949e1d89
1 zmienionych plików z 15 dodań i 12 usunięć
  1. 15 12
      fcl/inc/gettext.pp

+ 15 - 12
fcl/inc/gettext.pp

@@ -70,6 +70,7 @@ type
   EMOFileError = class(Exception);
   EMOFileError = class(Exception);
 
 
 
 
+  procedure GetLanguageIDs(var Lang, FallbackLang: string);
   procedure TranslateResourceStrings(AFile: TMOFile);
   procedure TranslateResourceStrings(AFile: TMOFile);
   procedure TranslateResourceStrings(const AFilename: String);
   procedure TranslateResourceStrings(const AFilename: String);
 
 
@@ -259,8 +260,6 @@ begin
 end;
 end;
 {$endif}
 {$endif}
 
 
-procedure TranslateResourceStrings(const AFilename: String);
-
 {$ifdef win32}
 {$ifdef win32}
 procedure GetLanguageIDs(var Lang, FallbackLang: string);
 procedure GetLanguageIDs(var Lang, FallbackLang: string);
 var
 var
@@ -284,15 +283,11 @@ begin
     Lang := FallbackLang+'_'+Country;
     Lang := FallbackLang+'_'+Country;
   end;
   end;
 end;
 end;
-{$endif}
 
 
-var
-  mo: TMOFile;
-  lang, FallbackLanguage: String;
+{$else}
+
+procedure GetLanguageIDs(var Lang, FallbackLang: string);
 begin
 begin
-  {$ifdef win32}
-  GetLanguageIDs(Lang, FallbackLanguage);
-  {$else}
   lang := GetEnv('LC_ALL');
   lang := GetEnv('LC_ALL');
   if Length(lang) = 0 then
   if Length(lang) = 0 then
   begin
   begin
@@ -304,10 +299,18 @@ begin
         exit;   // no language defined via environment variables
         exit;   // no language defined via environment variables
     end;
     end;
   end;
   end;
-  FallbackLanguage := Copy(lang, 1, 2);
-  {$endif}
+  FallbackLang := Copy(lang, 1, 2);
+end;
+{$endif}
+
+procedure TranslateResourceStrings(const AFilename: String);
+var
+  mo: TMOFile;
+  lang, FallbackLang: String;
+begin
+  GetLanguageIDs(Lang, FallbackLang);
   try
   try
-    mo := TMOFile.Create(Format(AFilename, [FallbackLanguage]));
+    mo := TMOFile.Create(Format(AFilename, [FallbackLang]));
     try
     try
       TranslateResourceStrings(mo);
       TranslateResourceStrings(mo);
     finally
     finally