将 GTK 按钮的语言设置为不同的语言 - Linux - Python
Set language of GTK Buttons to a different language - Linux - Python
如何将 Gtk3 Stock Buttons 的默认语言设置为另一种语言?
我试过:
sudo apt-get install language-pack-en language-pack-gnome-en
但是:
import locale
from pprint import pprint
pprint(locale.getlocale(locale.LC_ALL))
locale.setlocale(locale.LC_ALL, 'en_EN.utf8')
回复:
('de_DE', 'UTF-8')
Traceback (most recent call last):
File "tp_tools.py", line 41, in <module>
locale.setlocale(locale.LC_ALL, 'en_EN.utf8')
File "/usr/lib/python2.7/locale.py", line 581, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
使用 Python 2.7 和 Gtk3
开发 Linux Mint 18
en_EN.utf8
并且 en_EN
不是有效的语言环境(与 de_DE
相反)。您可以在 shell.
中使用 locale -a
列出已安装的语言环境
例如,正确的语言环境应该是 en_US
或 en_GB
。正确的指令是 locale.setlocale(locale.LC_ALL, 'en_US')
.
问题是 gi.repository.Gtk
在导入时调用 Gtk.init()
,之后几乎不可能对本地化进行任何更改。此外,将语言环境设置为硬编码字符串会使您的应用程序几乎不可移植,因为您可以假定存在的唯一语言环境是 "C",它甚至不包括 UTF-8 支持。
到目前为止,我找到的唯一解决方案是在任何导入 GLib 模块之前设置环境变量 'LANGUAGE',gettext 给予优先级并且不需要附加编码定义(more information).这对我有用:
import os
os.environ["LANGUAGE"] = "en"
PS: 停止使用 Python 2,它已经过时了。
PPS: Gtk+ 3 库存按钮已弃用。
如何将 Gtk3 Stock Buttons 的默认语言设置为另一种语言?
我试过:
sudo apt-get install language-pack-en language-pack-gnome-en
但是:
import locale
from pprint import pprint
pprint(locale.getlocale(locale.LC_ALL))
locale.setlocale(locale.LC_ALL, 'en_EN.utf8')
回复:
('de_DE', 'UTF-8')
Traceback (most recent call last):
File "tp_tools.py", line 41, in <module>
locale.setlocale(locale.LC_ALL, 'en_EN.utf8')
File "/usr/lib/python2.7/locale.py", line 581, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
使用 Python 2.7 和 Gtk3
开发 Linux Mint 18en_EN.utf8
并且 en_EN
不是有效的语言环境(与 de_DE
相反)。您可以在 shell.
locale -a
列出已安装的语言环境
例如,正确的语言环境应该是 en_US
或 en_GB
。正确的指令是 locale.setlocale(locale.LC_ALL, 'en_US')
.
问题是 gi.repository.Gtk
在导入时调用 Gtk.init()
,之后几乎不可能对本地化进行任何更改。此外,将语言环境设置为硬编码字符串会使您的应用程序几乎不可移植,因为您可以假定存在的唯一语言环境是 "C",它甚至不包括 UTF-8 支持。
到目前为止,我找到的唯一解决方案是在任何导入 GLib 模块之前设置环境变量 'LANGUAGE',gettext 给予优先级并且不需要附加编码定义(more information).这对我有用:
import os
os.environ["LANGUAGE"] = "en"
PS: 停止使用 Python 2,它已经过时了。
PPS: Gtk+ 3 库存按钮已弃用。