有没有办法将英语设置为默认语言

时间:2019-08-15 19:41:29

标签: ios swift xcode

我将我的应用本地化为2种语言(英语,法语)。当iPhone语言设置为英语时,应用程序以英语显示。当iPhone语言设置为法语时,应用程序以法语显示。但是,当iphone语言设置为另一种语言时,可以说西班牙语应用以法语而非英语显示。

我在Info.plist文件中将“本地化本地开发区域”设置为“ en”或“美国”,但是没有帮助。

Main.storyboard(基本)也为英语。

2 个答案:

答案 0 :(得分:0)

只需将开发人员语言设置为英语

YOURPROJECT.xcodeproj-> show package content->使用文本编辑器直接编辑 .pbxproj 文件-查找 developmentRegion 属性

enter image description here

并相应地更改 Info.plist 中的 Localizations本机开发区域属性en或下面的图片

enter image description here

这样的结果一次,就可以成功设置: enter image description here] 1

答案 1 :(得分:0)

解决方案:

一种实现方法是,如果首选语言与en.lprojen不匹配,则从fr获取英语字符串。

这是您获得首选语言的方式:

let preferredLanguage = Locale.preferredLanguages[0]

这是使用本地化的键获取英文字符串的方法:

if let enPath = Bundle.main.path(forResource: "en", ofType: "lproj") {
            let enBundle = Bundle(path: enPath)
            enBundle?.localizedString(forKey: "your_key_here", value: nil, table: nil)
}

您的问题的说明:

在iOS本机的“设置”应用->“常规”->“语言和区域”中,有一个首选语言顺序列表。

  

应用和网站将使用此列表中的第一语言   支持。

例如:

  1. 将“法语”设置为您的iPhone语言。
  2. 打开该应用,由于您的应用确实支持法语,因此所有内容均以法语进行了本地化。
  3. 将“西班牙语”设置为您的iPhone语言。
  4. 打开该应用程序,所有内容都以法语进行了本地化,因为您的应用程序不支持西班牙语,并且会通过您的下一种首选语言(在这种情况下为法语)出现。