Locale (macOS): queries system-wide locale preference

This commit is contained in:
李通洲
2026-08-09 10:12:37 +08:00
parent 8bc4464b64
commit 8b8efcdcce
2 changed files with 14 additions and 1 deletions
+1 -1
View File
@@ -1038,7 +1038,7 @@ elseif(APPLE)
src/detection/lm/lm_nosupport.c
src/detection/loadavg/loadavg_bsd.c
src/detection/libc/libc_apple.c
src/detection/locale/locale_linux.c
src/detection/locale/locale_apple.c
src/detection/localip/localip_linux.c
src/detection/gamepad/gamepad_apple.c
src/detection/media/media_apple.m
+13
View File
@@ -0,0 +1,13 @@
#include "detection/locale/locale.h"
#include "common/apple/cf_helpers.h"
const char* ffDetectLocale(FFstrbuf* result) {
// Read the system-wide locale preference (equivalent to `defaults read -g AppleLocale`),
// which is NOT affected by user environment variables (LANG, LC_ALL, etc.)
FF_CFTYPE_AUTO_RELEASE CFStringRef appleLocale = CFPreferencesCopyAppValue(CFSTR("AppleLocale"), kCFPreferencesAnyApplication);
if (!appleLocale) {
return "Failed to read AppleLocale";
}
return ffCfStrGetString(appleLocale, result);
}