diff options
author | bjarni <bjarni@openttd.org> | 2007-08-11 15:52:34 +0000 |
---|---|---|
committer | bjarni <bjarni@openttd.org> | 2007-08-11 15:52:34 +0000 |
commit | 1a5a748973598f6406e1687ac642c1886a203074 (patch) | |
tree | 911efe699bec79b316408e9ee8cdbac856b49a07 | |
parent | 04824abac6f30403eaf934b11bee32c59c57ca79 (diff) | |
download | openttd-1a5a748973598f6406e1687ac642c1886a203074.tar.xz |
(svn r10851) -Feature [OSX]: OpenTTD will now pick the same language as finder is set to if no config file is found (ln-)
-rw-r--r-- | src/os/macosx/macos.mm | 13 | ||||
-rw-r--r-- | src/strings.cpp | 5 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/os/macosx/macos.mm b/src/os/macosx/macos.mm index 6d25cee77..5defc392d 100644 --- a/src/os/macosx/macos.mm +++ b/src/os/macosx/macos.mm @@ -158,3 +158,16 @@ void ShowMacErrorDialog(const char *error) ShowMacDialog(error, buffer, "Quit"); abort(); } + + +/** Determine the current user's locale. */ +const char *GetCurrentLocale(const char *) +{ + static char retbuf[32] = { '\0' }; + NSUserDefaults* defs = [NSUserDefaults standardUserDefaults]; + NSArray* languages = [defs objectForKey:@"AppleLanguages"]; + NSString* preferredLang = [languages objectAtIndex:0]; + /* preferredLang is either 2 or 5 characters long ("xx" or "xx_YY"). */ + strncpy(retbuf, [preferredLang cString], 31); + return retbuf; +} diff --git a/src/strings.cpp b/src/strings.cpp index ad902ead4..6916d2aaa 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1237,7 +1237,8 @@ bool ReadLanguagePack(int lang_index) } /* Win32 implementation in win32.cpp. */ -#ifndef WIN32 +/* OS X implementation in os/macosx/macos.mm. */ +#if !(defined(WIN32) || defined(__APPLE__)) /** Determine the current charset based on the environment * First check some default values, after this one we passed ourselves * and if none exist return the value for $LANG @@ -1261,7 +1262,7 @@ const char *GetCurrentLocale(const char *param) return getenv("LANG"); } -#endif /* ifndef WIN32 */ +#endif /* !(defined(WIN32) || defined(__APPLE__)) */ static int CDECL LanguageCompareFunc(const void *a, const void *b) { |