如何获取 iPhone 用户当前在我的应用程序中看到的语言?

发布于 2024-12-09 02:31:08 字数 164 浏览 0 评论 0原文

我可以通过查看 [NSLocale PreferredLanguages] 来获取用户的语言首选项。但是,如果我提供“en”和“fr”翻译,并且用户的首选项是“en-GB”、“de”、“fr”、“en”,他们会看到我的“en”或“fr”翻译吗?如何获取用户当前在我的应用程序中看到的语言?

I can get the user's language preferences by looking at [NSLocale preferredLanguages]. But if I offer 'en' and 'fr' translations, and the user's preferences are 'en-GB', 'de', 'fr', 'en' will they see my 'en' or my 'fr' translation? How do I get the language that the user is currently seeing in my app?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

ら栖息 2024-12-16 02:31:08

如果您想查看正在使用哪种本地化,请在描述它的字符串文件中存储一个字符串(“en”、“fr”或其他),然后使用 NSLocalizedString 加载它。

If you want to see which of your localizations is being used, store a string in your strings file describing it ("en", "fr" or whatever) and then load it with NSLocalizedString.

放手` 2024-12-16 02:31:08
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
窗影残 2024-12-16 02:31:08

许多人声称正确的方法是:

NSArray *languages = [NSLocale preferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];

不过,使用风险自负。 NSLocale 文档没有提及第一个元素是当前元素的任何内容。

Multiple people claim the right way to do this would be:

NSArray *languages = [NSLocale preferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];

Use at your own risk, though. NSLocale docs don't mention anything about first element being the current one.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文