在 gnome-shell 中设置文本方向?

在 gnome-shell 中设置文本方向?

如何在 gnome-shell 中在从右到左和从左到右之间来回更改文本方向?

(我的是从左到右。我尝试将语言更改为中文(使用“区域和语言”设置小部件),我相信它是从右到左的。注销并重新登录后,shell 仍然从​​左到右显示。我是否需要做其他事情,例如设置键盘布局以导致 RTL??)。

答案1

Gnome 与所有 GTK 应用程序一样,其 RTL 开关来自区域设置定义,并且经过严格编码。因此,您必须更改为 RTL 区域设置/语言。如果未安装该区域设置,GUI 将被翻转,但文本/标签/菜单将恢复为原始语言(大多数情况下为英语),并显示警告消息:

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
    

    需要退出

另一种方法,如果您只想为一个应用程序翻转 GUI 或切换语言环境/语言:

  • 打开终端Ctrl++Altt
  • 使用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
    

参考:

相关内容