【问题标题】:iOS NSString - Creating upper case based on localeiOS NSString - 根据语言环境创建大写
【发布时间】:2013-04-04 13:09:14
【问题描述】:

我的 iOS 应用程序有语言选择选项。
它是一个基于服务器的应用程序,从服务器接收所有要在应用程序中显示的字符串。
在其中一个视图中,我必须将文本转换为“大写”,因为我正在使用 NSString 的 upperCaseString 方法。这对英语很有用。但是对于其他语言,如法语、中文、俄语、德语等,它可能会产生问题。所以,我必须使用“uppercaseStringWithLocale”来提供适当的大写字符串。
我的问题是如何创建 NSLocate 并将其传递给基于语言名称的“upperCaseStringWithLocale”方法。我知道用户选择的应用程序的语言是什么。我可以根据语言名称创建语言环境对象吗?

【问题讨论】:

  • 区域设置和语言没有一对一的对应关系。您将需要使用区域设置代码。

标签: ios nsstring uppercase nslocale


【解决方案1】:

我想你正在寻找:

NSString *theLocaleIdentifier = @"es_ES_PREEURO";
[[NSLocale alloc] initWithLocaleIdentifier:theLocaleIdentifier];

【讨论】:

  • 我可以获取我可以在应用程序中维护的语言地图和区域设置标识符吗?
  • @Satyamsvv 您可以使用[NSLocale availableLocaleIdentifiers]获取所有语言环境标识符
  • @Satyamsvv 如果您知道语言代码和国家代码,也可以使用[NSLocale localeIdentifierFromComponents:@{NSLocaleLanguageCode: @"en", NSLocaleCountryCode: @"US"}];获得特定的区域设置标识符
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-02
  • 1970-01-01
  • 1970-01-01
  • 2015-08-03
  • 2013-09-19
  • 1970-01-01
相关资源
最近更新 更多