// flightgear
#include <GUI/MessageBox.hxx>
#include <Main/options.hxx>
+#include <Main/locale.hxx>
NSString* stdStringToCocoa(const std::string& s)
{
}
} // of namespace flightgear
+
+string_list FGLocale::getUserLanguage()
+{
+ CocoaAutoreleasePool ap;
+ string_list result;
+
+ for (NSString* lang in [NSLocale preferredLanguages]) {
+ result.push_back(stdStringFromCocoa(lang));
+ }
+
+ return result;
+}
return result;
}
#elif __APPLE__
-
-// determine locale / langauge on Mac
-#include <CoreFoundation/CoreFoundation.h>
-
-string_list
-FGLocale::getUserLanguage()
-{
- string_list result;
- CFArrayRef langs = CFLocaleCopyPreferredLanguages();
-
- char buffer[64];
- for (int i=0; i<CFArrayGetCount(langs); ++i) {
- CFStringRef s = (CFStringRef) CFArrayGetValueAtIndex(langs, i);
- CFStringGetCString(s, buffer, 64, kCFStringEncodingASCII);
- result.push_back(buffer);
- }
-
- CFRelease(langs);
- return result;
-}
-
+// implemented in CocoaHelpers.mm
#else
/**
* Determine locale/language settings on Linux/Unix.
return "../data";
}
-#elif defined(_WIN32)
+#elif defined(SG_WINDOWS)
string Options::platformDefaultRoot() const
{
return "..\\data";
}
-#elif defined(__APPLE__)
+#elif defined(SG_MAC)
// platformDefaultRoot defined in CocoaHelpers.mm
#else
string Options::platformDefaultRoot() const