我应该具有Localizable.strings基础还是英语?

时间:2018-06-19 14:49:34

标签: ios swift localization internationalization

在Ray Wenderlich教程(https://www.raywenderlich.com/180356/ios-internationalization)之后,Localizable.strings如下。请注意,没有Localizable.strings(Base)

enter image description here

但是在其他一些教程中,他们将使用Base而不是英语,所以我在我的项目中也如下。

enter image description here

我的iPhone首选的语言顺序是英语,然后是中文,并且当前设置为英语。但是,每当我运行该应用程序时,它将变为中文,除非我明确地编辑方案以要求Xcode以英语运行它。这是否意味着我应该拥有Localizable.strings (English)而不是Localizable.strings (Base)

另一个问题,我在Main.storyboard (Base)下有Main.strings (Chinese (Simplified))Main.storyboard。但是无论我做什么,情节提要始终以中文显示。我做错了什么?

===更新===

我玩了一下(只需删除并重新创建,什么都没有更改),然后神奇地完成了本地化工作:该应用程序默认为英语(这是我的系统语言),并且在编辑方案时切换为中文。但是,无论我做什么,现在我的情节提要卡都停留在(Base)版本中。

enter image description here

1 个答案:

答案 0 :(得分:1)

我不是专家,但据我了解。 如果您的应用程序没有针对您的设备语言的localization.string文件,则基本文件为后备广告。

因此,如果您有英语和中文作为本地化文件,但首选语言是德语和日语,则应用程序应查看基本文件。

因此,在您的情况下,因为您有中文和基本文件,所以找不到英文,因此它采用了另一种首选语言(中文)。因此,基本字符串不作为中文字符串用作App finder。

要解决此问题,您需要制作一个英文字符串文件或删除中文文件。