CyanogenMod: Перевести проект

Я перевел проект в CyanogenMod (приложение электронной почты) на иврит, добавив папку-значения и скомпилировал весь репозиторий (make). Я убедился, что полный языковой файл содержит ивритский язык.

Однако, когда я загрузил обновление zip на телефон и переключил язык на иврит, я все равно получил английские строки. Я уверен, что мне не хватает шага.

Любая идея, пожалуйста?

EDIT: Опять же, мой телефон поддерживает иврит - как это видно из других приложений, которые переключают язык в соответствии с содержимым содержимого папки. Это просто для приложения электронной почты, что оно не работает.

Ответ 1

Согласно ISO 639, он является правильным кодом ISO 639-1 для иврита. В то время как iw был устаревшим в 1989 году. Причина, по которой некоторые устройства Android используют iw, - это спасибо для Sun вы можете прочитать информацию.

Устройства, такие как Nexus S, продаваемые в США, используют iw. Если вы поедете в Израиль и проверьте местонахождение на телефоне, проданном там (например, Galaxy S), язык, скорее всего, будет сообщаться как "He IL N/A עברית", поэтому он правильно использует he а не устаревший iw.

Если вы хотите полностью поддержать это, вы должны включить оба варианта для учета этих различий.

Ответ 2

Причина, по которой это происходит, заключается в том, что Android выполняет устаревшие локальные коды Java: иврит - это локаль IW - не HE. Измените его, и он, скорее всего, сработает. Надеюсь, это полезно для тех, кто находит этот вопрос...

Ответ 3

Возможно, ваш языковой стандарт телефона не настроен на использование иврита. В этом случае используется папка значений по умолчанию. Возможно, вам удастся удалить strings.xml(и все, что еще имеет имя, которое содержится в значениях-he) из папки, не содержащей иврита.