Как управлять телефонами на языках с письмом справа налево в приложении на английском языке

Я программирую приложение для Android. Это приложение не переведено ни на один язык с письмом справа налево (например, на арабский или иврит). Я заметил, что у людей, говорящих справа налево, он есть на английском, но с раскладкой справа налево. Меню ящика находится справа, а не слева, и текст выровнен по правому краю.

Какова хорошая практика для управления этим? Должен ли я разрешить макет RTL, потому что они привыкли к нему, или я должен принудительно использовать макет LTR, потому что приложение на английском языке?


person Thomas    schedule 27.02.2021    source источник


Ответы (1)


Если вы не поддерживаете языки RTL, вы не должны поддерживать макеты RTL (языки LTR выглядят довольно плохо в языках RTL).

Просто добавьте атрибут android:supportRtl="false" в тег application вашего манифеста.

Это должно решить это.

Несмотря на то, что false является значением по умолчанию, одна из ваших зависимостей может заменить его на true, если вы не установите его явно.

Подтвердите, что это проблема, проверив окончательный объединенный манифест, если android:supportRtl равно true.

person Shlomi Katriel    schedule 27.02.2021
comment
Если когда-нибудь я переведу приложение на один язык RTL, но не на другие, есть ли способ активировать supportRtl для этого языка, но не для других? - person Thomas; 28.02.2021
comment
Если вы решите поддерживать RTL, направление раскладки будет определено автоматически в соответствии с фактическим используемым языком. Итак, вам нужно только адаптировать свои макеты, чтобы использовать «начало» вместо «слева» и «конец» вместо «справа». - person Shlomi Katriel; 28.02.2021
comment
Кроме того, вы можете принудительно настроить макет RTL из параметров разработчика, чтобы протестировать его на каждом языке. - person Shlomi Katriel; 28.02.2021