使用时 xgettext
生成 .pot
文件,在生成的文件的顶部我得到这个:
# SOME DESCRIPTIVE TITLE.
...
#, fuzzy
...
#, fuzzy
有什么用意思?我知道翻译模糊(质量很差)是什么意思,但在 上是什么意思?顶部 的
.pot
文件?
最佳答案
xgettext
添加 #, fuzzy
当它在消息文件中自动生成项目 header 时,条目位于顶部。评论本身并没有什么特殊意义:它只是指出人类需要站出来填补空白。
让我们更深入地挖掘一下源头。
第一次创建消息文件时,xgettext
将项目信息添加到生成的消息文件的顶部(除非您通过 --omit-header
):
$ cat hello.c
int main() {
printf(gettext("Hello World\n"));
return 0;
}
$ xgettext -o- hello.c
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-08 11:51-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: hello.c:3
#, c-format
msgid "Hello World\n"
msgstr ""
支持这一点的逻辑可以在
xgettext.c:construct_header()
中找到。 .在该函数的底部,新生成的标题信息被标记为模糊:mp->is_fuzzy = true;
由于此文本已被标记为模糊,因此
#, fuzzy
注释标签被添加到文本中。这里的目的是提高意识:计算机程序将文本添加到消息文件中,并且需要人类采取行动。特别是,需要一个人来填空:修订日期、译者姓名、语言等。根据文档,在这种情况下使用“#,模糊”注释是有意义的:
[Fuzzy entries] usually call for revision by the translator.
关于gettext - xgettext 生成的 .pot 文件顶部的 #,fuzzy 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15653093/