获取用户的国家地区和键盘语言

获取用户的国家地区和键盘语言,第1张

概述为了呈现正确的菜单文本和UI的其他一些方面,我试图获得当前用户的国家和键盘语言. 我知道语言环境(通过env.变量),但我找不到获取这两个信息的方法. 代码在C for Mac OS X中.我可以使用Cocoa API来获取它们但是需要从C调用它们.任何想法? 谢谢! 使用CFLocaleCopyCurrent,CFLocaleGetValue和CFLocaleCopyPreferredLangu 为了呈现正确的菜单文本和UI的其他一些方面,我试图获得当前用户的国家和键盘语言.
我知道语言环境(通过env.变量),但我找不到获取这两个信息的方法.

代码在C for Mac OS X中.我可以使用Cocoa API来获取它们但是需要从C调用它们.任何想法?

谢谢!

解决方法 使用CFLocalecopyCurrent,CFLocaleGetValue和CFLocalecopyPreferredLanguages(请注意,首选语言可能与语言环境的语言不匹配).见 the documentation.

编辑:好的,这是一些示例代码.

#include <CoreFoundation/CoreFoundation.h>#include <stdio.h>int main (int argc,char **argv){    CFLocaleRef loc = CFLocalecopyCurrent();    CFStringRef countryCode = CFLocaleGetValue (loc,kcfLocaleCountryCode);    CFStringRef countryname = CFLocalecopydisplaynameForPropertyValue (loc,kcfLocaleCountryCode,countryCode);    CFShow(countryCode);    CFShow(countryname);    CFArrayRef langs = CFLocalecopyPreferredLanguages();    CFStringRef langCode = CFArrayGetValueAtIndex (langs,0);    CFStringRef langname = CFLocalecopydisplaynameForPropertyValue (loc,kcfLocaleLanguageCode,langCode);    CFShow(langCode);    CFShow(langname);}
总结

以上是内存溢出为你收集整理的获取用户的国家/地区和键盘语言全部内容,希望文章能够帮你解决获取用户的国家/地区和键盘语言所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1005481.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存