Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Locale unter MacOS auslesen (https://www.delphipraxis.net/166650-locale-unter-macos-auslesen.html)

peter_chen 23. Feb 2012 09:30

Locale unter MacOS auslesen
 
Guten Tag.

Zur Zeit bin ich dabei einen Teil unserer Software testweise nach Firemonkey zu portieren, um die Lauffähigkeit auf dem Mac zu untersuchen.
Nun stolpere ich ein wenig bei dem Auslesen der Systemsprache.

unter Windows wurde bisher
Delphi-Quellcode:
GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVLANGNAME, LangDriver, $FF)
verwendet.
Dies lieferte bisher den Windows-Sprachcode zurück, von dem ich mich jetzt wahrscheinlich sowieso verabschieden darf, da ich jetzt eigentlich TLanguages wechseln wollte.

Delphi-Quellcode:
var
  aString : string; // Ausgabe des gefundenen Locales in einem TText...
  aIndex : integer;
  aLanguages : TLanguages;
  aLid   : TLocaleID;
begin
  aLanguages := TLanguages.Create;
  aLid       := aLanguages.UserDefaultLocale;
  aIndex     := aLanguages.IndexOf(aLid);
  if aIndex <> -1 then
  begin
  try
    aString := inttostr(aIndex) + ' ' + aLanguages.LocaleName[aIndex];
  except
    aString := inttostr(aIndex) + ' - Nicht gefunden!!!';
  end;
end;
Mit diesem Code wird allerdings unter MacOS der aIndex immer -1. Ich habe mich auch schon etwas weiter durch die IndexOf-Funktion durchdebuggt - die von UserDefaultLocale gelieferte LocaleID habe ich in den aLanguages bisher nicht wieder gefunden.

Was habe ich übersehen? Gibt es irgendwelche Alternativen, die ich bisher nicht bedacht habe?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz