Установить направление текста в gnome-shell?

Как я могу изменить направление текста в gnome-shell назад и вперед между справа налево и слева направо?

(У меня слева направо. Я попытался изменить язык на китайский (с помощью виджета настроек "Регион и язык"), который, как я считаю, работает справа налево. После выхода и возврата оболочка все равно появилась слева направо. Мне нужно сделать что-то еще, как установить раскладку клавиатуры, чтобы вызвать RTL??).

1 ответ

Решение

Gnome, как и все GTK-приложения, имеет переключатель RTL из определения локали, и он жестко закодирован. Поэтому вы должны перейти на язык / язык RTL. Если этот языковой стандарт не установлен, графический интерфейс пользователя будет перевернут, но текст / метки / меню откатятся к исходному языку (в большинстве случаев английскому) с предупреждением:

Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.

Поскольку я знаю, что китайский язык не зависит от направления, я полагаю, он настроен как LTR. Так что лучше смотреть чистые локали RTL, такие как арабский, иврит, персидский...

Чтобы изменить настройки для Unity или Gnome Sessions/Desktop

  • Чтобы изменить глобальные настройки /etc/default/localeПример (ar_DZ, Arabic_Algeria):

    LANGUAGE=ar
    LANG=ar_DZ.UTF-8
    

    Нужно выйти

  • Чтобы изменить только пользовательские настройки ~/.pam_environment

    LANGUAGE=ar
    LANG=ar_DZ.UTF-8
    

    Нужно выйти

Другой способ, если вы хотите перевернуть графический интерфейс или переключить язык / язык только для одного приложения:

  • Открыть терминал Ctrl+Alt+t
  • Запустить его с LANG=ar_DZ.UTF-8 или же LANGUAGE=ar_DZ.UTF-8, попробуйте оба они не все приложения используют одно и то же env переменная:

    LANGUAGE=ar_DZ.UTF-8 evince
    LANG=ar_DZ.UTF-8 okular
    

Приложения Qt имеют отдельный переключатель RTL -reverse который можно использовать без смены языка. Пример:

qv4l2 -reverse

Теперь, если ваш язык не английский, и вы хотите использовать интерфейс RTL с ним. Есть хитрость, вы можете проверить это:

  • Создать новую локаль как вариант языка RTL, например:

    sudo locale-gen ar_YY.UTF-8
    sudo dpkg-reconfigure locales
    
  • Скопируйте свой языковой перевод (из gettext) файлы в новую папку локали. Как пример французский.

    sudo cp -r /usr/local/share/locale/fr /usr/local/share/locale/ar_YY
    
  • Не все приложения помещают свои локали в /usr/local/share/locale/, Если вы сталкиваетесь с таким случаем, вы можете посмотреть, где находятся все файлы локалей:

    locate /locale/fr
    

Рекомендации:

Другие вопросы по тегам