Поддержка языков RTL в Android и квалификаторах ресурсов - PullRequest
5 голосов
/ 14 сентября 2011

Я прочитал это предложение «В Android 2.3 добавлена ​​поддержка языков справа налево (RTL)», и теперь я хочу добавить поддержку RTL в свое приложение.Но я не знаю, какие квалификаторы добавить в мои макеты.

О res / values ​​/ strings.xml я могу назвать так: res / values-ar / strings.xml

Iхочу иметь разную раскладку для языков RLT.Я не хочу иметь просто разные строки, я также хочу другой макет.Как должно выглядеть имя папки макета?

На данный момент для языков слева направо оно называется res / lauyots / main.xml, но я не знаю, как назвать его для языков RTL

Имеется ли этот вид квалификации вообще?

Ответы [ 3 ]

15 голосов
/ 29 августа 2013

Вы можете найти квалификаторы -ldrtl и -ldltr в Предоставление ресурсов

res/layout-ldltr/ (Left to Right, default value)
res/layout-ldrtl/ (Right to Left)
7 голосов
/ 14 сентября 2011

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

res/layout-ldltr/ (Left to Right, default value)
res/layout-ldrtl/ (Right to Left)

Старый ответ

Проверка Локализация и Поддержка нескольких экранов , они дают вам представление о папках ресурсов и квалификаторах.

Вы можете использовать локаль-определенные ресурсы и макет, как это:

Для языковых ресурсов:

res/values/strings.xml
res/values-fr/strings.xml (French)
res/values-ja/strings.xml (Japanese)

Для языковых макетов:

res/layout-fr/main.xml
res/layout-ar/main.xml
0 голосов
/ 05 сентября 2016

Использование rtl с ресурсами не является правильным подходом. Вы пропустили, что Устройства с языком RTL, такие как арабский, иврит, персидский ... обычно предписывают всем приложениям (даже с только английским языком) использовать rtl в качестве направления языка и направления текста. ... и здесь, где опасно использовать rtl в ресурсах, потому что вы заставите использовать свой RTL-макет для всех языков для устройства RTL Locale. Лучше отслеживать языки.

...