Базовая локализация Apple Watch показывает неправильный язык по умолчанию

У меня есть приложение, локализованное на трех языках (упрощенный китайский, французский и чешский) с английским языком разработки.

введите описание изображения здесь

Хотя локализации отлично работают на iPhone, существует проблема с Apple Watch: если пользователь установил язык часов на любой другой язык, кроме английского / французского / китайского / чешского, то контент отображается на китайском вместо английского ( это должно быть по умолчанию).

Согласно этому техническому примечанию:

Если ни один из предпочтительных языков пользователя не поддерживается вашим приложением, iOS выбирает язык, соответствующий региону разработки вашего приложения (CFBundleDevelopmentRegion).

Примечание. Не забудьте установить CFBundleDevelopmentRegion для своего приложения. Если вы применяете базовую локализацию, убедитесь, что значение CFBundleDevelopmentRegion соответствует языку, используемому вашим контентом в папке Base.lproj.

Я подтвердил, что оба вышеуказанных требования выполняются (CFBundleDevelopmentRegion="en" и все Base.lproj файлы действительно на английском языке). Что-то мне не хватает? Опять же, это происходит только с приложением Watch, а не с iPhone.


person spassas    schedule 20.06.2017    source источник


Ответы (3)


Из https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-130430, CFBundleDevelopmentRegion является язык и регион, например en-US, а не только en.

person mikep    schedule 24.06.2017
comment
Спасибо, но это не имеет значения; проблема не устранена - person spassas; 26.06.2017

У меня есть и традиционный китайский, и упрощенный китайский, но я выбрал традиционный китайский в качестве языка по умолчанию. Когда я удаляю перевод на традиционный китайский, выбирается английский.

Я также установил для CFBundleDevelopmentRegion значение en, ​​которое используется по умолчанию.

На вашем снимке экрана я не видел английский - английский для разработчиков.

person coolioxlr    schedule 10.07.2017

У меня была такая же проблема, и я нашел решение в этой теме: https://forums.developer.apple.com/thread/86889

По сути, для расширения часов нужен файл Localizable.strings (Base). Обычно на стороне iOS вам не нужно указывать базовую версию файла, только переводы. Но на часах кажется, что требуется базовая версия файла, чтобы система там вообще работала. Фактически, у меня был переведен только интерфейс (в приложении для часов) и даже не было Localizable.strings в расширении для часов ... поэтому мне пришлось добавить несколько локализуемых строк в расширение, экспортировать переводы, импортировать их снова , а затем вручную добавить базовую версию (установив флажок «Базовая» в разделе «Локализация» инспектора файлов), потому что эта явно необходимая вещь не создается автоматически.

person Jesse Chappell    schedule 16.01.2018