我目前正在为 iPhone 编写一个与日期密切相关的应用程序。我NSDateFormatter
用来将日期转换为字符串。方便地NSDateFormatter
根据区域格式自动创建用户语言的字符串。因为我无法在所有可能的语言和地区本地化我的应用程序,所以该应用程序仅本地化为英语、德语、西班牙语和其他一些语言。
例如,当应用程序为法语用户运行时,应用程序默认为英语。这很好,但日期仍将使用法语进行转换。这会产生像“Month: Juillet”这样的字符串,而不是“Month: July”。
如何使NSDateFormatter
始终使用应用程序运行的语言?我知道我可以NSLocalizedString()
用来本地化NSLocale
标识符,但这会导致不正确的区域设置。
当用户通常使用“en_GB”区域并且我的应用程序通常针对英语进行本地化时,我希望NSDateFormatter
使用“en_GB”而不仅仅是“en”或“en_US”。当用户运行法语时,我希望语言环境为“en”,如果他在“de_DE”区域运行应用程序,我也希望日期格式为“de_DE”,因为该应用程序支持德语。
问候, 法比安