Определение стандартного файла банка gettext

В моем php framework (CakePHP) есть инструмент i18n для генерации POT-файлов. Заголовок файла генерируется так:

protected function _writeHeader() {
    $output = "# LANGUAGE translation of CakePHP Application\n";
    $output .= "# Copyright YEAR NAME <EMAIL@ADDRESS>\n";
    $output .= "#\n";
    $output .= "#, fuzzy\n";
    $output .= "msgid \"\"\n";
    $output .= "msgstr \"\"\n";
    $output .= "\"Project-Id-Version: PROJECT VERSION\\n\"\n";
    $output .= "\"POT-Creation-Date: " . date("Y-m-d H:iO") . "\\n\"\n";
    $output .= "\"PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\\n\"\n";
    $output .= "\"Last-Translator: NAME <EMAIL@ADDRESS>\\n\"\n";
    $output .= "\"Language-Team: LANGUAGE <EMAIL@ADDRESS>\\n\"\n";
    $output .= "\"MIME-Version: 1.0\\n\"\n";
    $output .= "\"Content-Type: text/plain; charset=utf-8\\n\"\n";
    $output .= "\"Content-Transfer-Encoding: 8bit\\n\"\n";
    $output .= "\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n\"\n\n";
    return $output;
}

Мне интересно знать, если следующее:

$output .= "#, fuzzy\n";
$output .= "msgid \"\"\n";
$output .= "msgstr \"\"\n";

нарушает какие-то стандарты gettext. Если этого не произойдет, я хотел бы объяснить, почему можно было бы поместить это в заголовок файла.

1 ответ

Решение

Я предполагаю, что это "нечетко", потому что заголовки не являются полными. т.е. записи шаблона будут заполнены, когда файлы PO будут сгенерированы из POT.

Официальный Gettext xgettext Инструмент, который генерирует POT-файлы из исходного кода, также добавляет нечеткий флаг в заголовок. К тому же, это, конечно, не против стандарта.

Другие вопросы по тегам