是否可以将 GSettings/GSchema <flags> 标记为可翻译?

Is it possible to mark GSettings/GSchema <flags> as translatable?

我有一个 GSchema 定义了一些标志,如下所示:

<flags id="org.example.program">
    <value nick="ENGLISH_WORD" value="1"/>
    <value nick="ANOTHER_WORD" value="2"/>
</flags>

然而,翻译人员告诉我这些不是由 gettext 处理或在 .pot 文件中提供的。有什么办法可以将它们标记为可翻译吗?

可以翻译默认值,但翻译会在运行时从 .mo 文件中替换。您必须将文本域放在“”的属性 "gettext-domain" 中。 “<架构>”元素。您还必须将语言环境类别放入“”元素的属性 "category" 中。阅读 https://developer.gnome.org/gio/stable/GSettings.html 中的段落 "Description" 了解更多信息。

我建议您检查最近的 Gtk 应用程序的源代码,看看不同的组件是如何本地化的。 GNU gettext 最近得到了改进,可以更好地支持本地化桌面应用程序,因此该过程目前正在不断发展。特别是,您通常不再需要 intltool。