【发布时间】:2021-02-11 10:08:57
【问题描述】:
我的 iPhone 设置为德语。我的调试方案应用程序语言设置设置为系统语言。我仍然必须手动应用 formatter.locale ...否则我会得到“Tuesday”而不是“Dienstag”。当然我不想手动设置语言环境。我希望将输出本地化为用户选择的任何内容。
func weekday(forDate day: Date) -> String {
let formatter = DateFormatter()
//formatter.locale = Locale.current // gives me locale en
formatter.locale = Locale(identifier: "de") //without this line I get locale en
formatter.setLocalizedDateFormatFromTemplate("E")
return formatter.string(from: day)
}
是否有我不知道的设置会覆盖我提到的设置?
PS:在 Playgrounds 中,语言环境是正确的。
PPS:在我的 Mac 上,尽管我的 Mac 系统设置为德语,但模拟器的区域设置为 en。不知道为什么,还没有太在意。令我困扰的是,在 iPhone 上它不尊重语言环境。
【问题讨论】:
-
那么你是为设备而不是模拟器构建的吗?在 Simulator 上,Mac 的语言设置用作
Locale。 -
在我的 Mac 上,模拟器的区域设置为 en。不知道为什么,还没有太在意。困扰我的是,在 iPhone 上它不尊重语言环境。我会更新我的帖子以澄清......这是否表明存在问题?
标签: swift dateformatter