有什么方法可以检测OS X下的系统语言更改事件?
我试图在developer.apple.com上搜索,但没有结果。
我正在寻找C++ / Obj-C上的解决方案。
最佳答案
如果您使用的是Objective-C / Swift,则可以使用NSDistributedNotificationCenter
监视语言更改通知:
// You are not required to register self -- this can be any object, and the selector name can be anything taking one argument.
[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(languageChanged:) name:@"AppleLanguagePreferencesChangedNotification" object:nil];
您可以根据需要命名
languageChanged:
,只要该方法采用NSNotification
对象即可:- (void)languageChanged:(NSNotification *)notification {
// New preferred language.
NSString *language = [[NSLocale preferredLanguages] firstObject];
}
查看
NSDistributedNotificationCenter
docs了解更多信息。关于c++ - 检测系统语言更改OS X,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41246215/