2017-06-20 186 views
5

我有一個應用程序本地化爲三種語言(簡體中文,法文和捷克文),英文爲開發語言。蘋果手錶基地本地化顯示錯誤的默認語言

enter image description here

雖然的本地化在iPhone上完美地工作,有一個與Apple關注的一個問題:如果用戶設置的觀察語言的任何其他語言不是英語/法語/中國/捷克,那麼內容以中文而不是英文顯示(應該是默認設置)。

根據這一Technical Note

如果沒有用戶的首選語言是由您的應用程序支持,iOS的選擇符合您的應用程序的開發區域(CFBundleDevelopmentRegion)的語言。

注意:請務必爲您的應用程序設置CFBundleDevelopmentRegion。如果您採用基本本地化,請確保 CFBundleDevelopmentRegion的值與您的內容在 Base.lproj文件夾中使用的語言相匹配。

我已確認上述兩個要求得到滿足(CFBundleDevelopmentRegion="en"和所有Base.lproj這些文件是英文)。有什麼我失蹤?同樣,這隻發生在Watch應用程序上,而不發生在iPhone上。

回答

0

我有繁體中文和簡體中文,但它選擇繁體中文作爲默認語言。當我刪除繁體中文翻譯英文被選中時。

我還設置了CFBundleDevelopmentRegion爲en默認值。

從你的屏幕截圖我沒有看到英語 - 發展英語。

0

我有同樣的問題,發現在這個線程解決方案: https://forums.developer.apple.com/thread/86889

基本上,手錶擴展需求需要一個Localizable.strings(庫)文件。通常在iOS端,你並不需要指定文件的基本版本,只需要翻譯。但在手錶上它似乎需要系統的基本版本才能在那裏工作。事實上,我只有一個接口已翻譯(在手錶應用程序中),甚至在手錶擴展中甚至沒有Localizable.strings ...所以我必須在擴展中添加一些可本地化的字符串,導出翻譯,再次導入它們,然後手動添加一個Base版本(通過檢查File Inspector的Localization部分中的Base),因爲這個顯然需要的東西不會自動創建。