Apple Watch基本本地化显示错误的默认语言

时间:2017-06-20 07:27:50

标签: localization xcode8 apple-watch

我的应用程序本地化为三种语言(简体中文,法语和捷克语),英语为开发语言。

enter image description here

虽然本地化在iPhone上完美运行,但Apple Watch存在一个问题:如果用户使用除英语/法语/中文/捷克语之外的任何其他语言设置了Watch语言,则内容将以中文显示英语(应该是默认的)。

根据Technical Note

  

如果您的应用不支持用户的首选语言,iOS会选择与您应用的开发区域(CFBundleDevelopmentRegion)匹配的语言。

     

注意:务必为您的应用设置CFBundleDevelopmentRegion。如果采用Base Localization,请确保其值为   CFBundleDevelopmentRegion与您的内容使用的语言相匹配   Base.lproj文件夹。

我已确认上述要求均已满足(CFBundleDevelopmentRegion="en"且所有Base.lproj文件确实为英文)。有什么我想念的吗?同样,这仅适用于Watch应用程序,而不适用于iPhone应用程序。

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

我有繁体中文和简体中文,但选择繁体中文作为默认语言。当我删除繁体中文翻译时,选择英语。

我还将CFBundleDevelopmentRegion设置为en,这是默认值。

从你的屏幕截图我看不到英语 - 发展英语。

答案 2 :(得分:0)

我遇到了同样的问题,并在此主题中找到了解决方案:    https://forums.developer.apple.com/thread/86889

基本上,手表扩展需要一个Localizable.strings(Base)文件。通常在iOS方面,您实际上不需要指定文件的基本版本,只需要指定翻译。但是在手表上似乎需要该系统的基本版本才能在那里工作。事实上,我只有一个界面翻译(在手表应用程序中)并且甚至没有在手表扩展中有一个Localizable.strings ...所以我不得不在扩展中添加一些可本地化的字符串,导出翻译,导入再次,然后手动添加一个Base版本(通过检查File Inspector的Localization部分中的Base),因为这个显然需要的东西不是自动创建的。