我有一个 GSchema 定义了一些标志,如下所示:
<flags id="org.example.program">
<value nick="ENGLISH_WORD" value="1"/>
<value nick="ANOTHER_WORD" value="2"/>
</flags>
但是,翻译人员告诉我,这些不是由 gettext 处理的,也不是在 .pot 文件中提供的。有没有办法可以将这些标记为可翻译?
我有一个 GSchema 定义了一些标志,如下所示:
<flags id="org.example.program">
<value nick="ENGLISH_WORD" value="1"/>
<value nick="ANOTHER_WORD" value="2"/>
</flags>
但是,翻译人员告诉我,这些不是由 gettext 处理的,也不是在 .pot 文件中提供的。有没有办法可以将这些标记为可翻译?
可以翻译默认值,但翻译会在运行时从 .mo 文件中替换。您必须将文本域分别放在“<schemalist>”的属性“gettext-domain”中。“<模式>”元素。您还必须将语言环境类别放入“<default>”元素的属性“category”中。阅读https://developer.gnome.org/gio/stable/GSettings.html中的“描述”段落了解更多信息。
我建议你检查最近的 Gtk 应用程序的源代码,看看不同的组件是如何本地化的。GNU gettext 最近得到了改进,为本地化桌面应用程序提供了更好的支持,因此该过程目前正在发展。特别是,您通常不再需要 intltool。