24 #if defined(__APPLE__)
25 CFLocaleRef locale = CFLocaleCopyCurrent();
29 CFStringRef identifier = (CFStringRef)CFLocaleGetValue(locale, kCFLocaleIdentifier);
31 char buffer[16] = {0};
32 if (CFStringGetCString(identifier, buffer,
sizeof(buffer), kCFStringEncodingUTF8)) {
34 return std::string(buffer, 2);
37 #elif defined(__unix__) || defined(__linux__)
40 std::string name = loc.name();
41 if (!name.empty() && name !=
"C" && name !=
"POSIX")
42 return name.substr(0, 2);