Rafał Cieślak Asked: 2011-01-13 07:29:58 +0800 CST2011-01-13 07:29:58 +0800 CST 2011-01-13 07:29:58 +0800 CST 如何使用 gettext 编写国际化手册? 772 我需要为我制作的软件编写手册。是否可以在编写手册或其他文档时使用 gettext? programming 2 个回答 Voted Best Answer David Planella 2011-10-11T09:21:08+08:002011-10-11T09:21:08+08:00 查看Sphinx以使用 reStructuredText 编写您的文档,并使其可翻译为 gettext 格式。 mkm 2011-01-13T09:31:28+08:002011-01-13T09:31:28+08:00 当您拥有包含字符串的编程语言时,即当字符串与代码混合时,afaik gettext 很有用。 警报(_(“你好”)); 然后预处理器找到所有出现的 _("..") 并生成一个 .po 模板,然后您复制该编辑该 .po 文件,将“Hello”翻译成您的语言: msgstr "你好" msgstr "Cześć" gettext 旨在解决您在编程语言中使用字符串时遇到的问题,通常使用位置参数、复数、对偶(某些语言有对偶)等格式化字符串,这些东西可能会因运行时参数而改变翻译。 这种东西在手册上是不必要的,因为手册通常没有改变句子的运行时参数。 我看到使用 gettext 的唯一优点是保留标记,但通常标记(在乳胶、docbook 等中)是一种定义结构的操作,因此它是文档语义的一部分,而外观应该以不同的方式处理地方(css等)。 考虑到 xgettext 标记将在您的文档标记语言中引入的噪音,我认为将翻译与标记隔离的能力不会是一个很大的优势。 (此外,我不知道有任何工具可以预处理和后处理latex/docbook/gettext)
查看Sphinx以使用 reStructuredText 编写您的文档,并使其可翻译为 gettext 格式。
当您拥有包含字符串的编程语言时,即当字符串与代码混合时,afaik gettext 很有用。
然后预处理器找到所有出现的 _("..") 并生成一个 .po 模板,然后您复制该编辑该 .po 文件,将“Hello”翻译成您的语言:
gettext 旨在解决您在编程语言中使用字符串时遇到的问题,通常使用位置参数、复数、对偶(某些语言有对偶)等格式化字符串,这些东西可能会因运行时参数而改变翻译。
这种东西在手册上是不必要的,因为手册通常没有改变句子的运行时参数。
我看到使用 gettext 的唯一优点是保留标记,但通常标记(在乳胶、docbook 等中)是一种定义结构的操作,因此它是文档语义的一部分,而外观应该以不同的方式处理地方(css等)。
考虑到 xgettext 标记将在您的文档标记语言中引入的噪音,我认为将翻译与标记隔离的能力不会是一个很大的优势。
(此外,我不知道有任何工具可以预处理和后处理latex/docbook/gettext)