我有一个小型python程序,它展示了如何为Linux和Windows翻译GTK (pygobject) GUI。所有的东西都在Linux中工作,但是在Windows非ASCII符号中没有在翻译中呈现。
我假设Glade文件和*.mo文件都被正确解码,因为:
下面是这个界面在英文原件中的样子:

和使用无环境变量或PANGOCAIRO_BACKEND=win32的德文翻译

使用环境变量PANGOCAIRO_BACKEND=fontconfig (PANGOCAIRO_BACKEND=fc)的德语翻译。第一个标签设置为使用使用Pango的杯标。这当然是一种字体,在Windows上有“”、“”和"ü“。

在控制台中,此警告将显示为翻译:Pango-Warning **: Invalid UTF-8 string passed to pango_layout_set_text()。
关于翻译工作的一些细节已经在这里讨论过了:
存放处:
Windows安装程序:
builder.set_translation_domain("pygibank")是否有可能用错误的编码推送翻译?是否可以调试这个,或者是否有人知道如何解决这个问题?
发布于 2019-10-16 13:09:14
看起来您使用的是Python 2,Python 2默认使用ASCII,但是您可以通过将它放在第一行来告诉它使用Unicode。
# -*- coding: utf-8 -*-
这节省了每个字符串的u前缀,如下所示,您可能会忘记这样做,这可能会产生bug。
或者,如果您移动到Python 3,默认情况下它使用Unicode,因此您不需要这样做。
https://stackoverflow.com/questions/32182159
复制相似问题