苹果手表基地本地化显示错误的默认语言

问题描述:

我有一个应用程序本地化为三种语言(简体中文,法文和捷克文),英文为开发语言。苹果手表基地本地化显示错误的默认语言

enter image description here

虽然的本地化在iPhone上完美地工作,有一个与Apple关注的一个问题:如果用户设置的观察语言的任何其他语言不是英语/法语/中国/捷克,那么内容以中文而不是英文显示(应该是默认设置)。

根据这一Technical Note

如果没有用户的首选语言是由您的应用程序支持,iOS的选择符合您的应用程序的开发区域(CFBundleDevelopmentRegion)的语言。

注意:请务必为您的应用程序设置CFBundleDevelopmentRegion。如果您采用基本本地化,请确保 CFBundleDevelopmentRegion的值与您的内容在 Base.lproj文件夹中使用的语言相匹配。

我已确认上述两个要求得到满足(CFBundleDevelopmentRegion="en"和所有Base.lproj这些文件是英文)。有什么我失踪?同样,这只发生在Watch应用程序上,而不发生在iPhone上。

+0

谢谢,但这没有什么区别;问题依然存在 – spassas

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

我还设置了CFBundleDevelopmentRegion为en默认值。

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

我有同样的问题,发现在这个线程解决方案: https://forums.developer.apple.com/thread/86889

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