如何在 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
参考: