Как итеративно использовать xgettext для обновления файлов .po для перевода

StackOverflow https://stackoverflow.com/questions/697542

Вопрос

Я рассматриваю возможность использования xgettext чтобы помочь в переводе большой кодовой базы, и у меня есть два вопроса:

  • если у меня есть один файл .po для каждого языка, есть ли простой способ обновить их все, используя одно сканирование базы кода с помощью xgettext, или мне нужно запускать xgettext один раз для каждого языка?
  • если я добавлю целевой язык в заголовок файла .po с помощью поредактировать, xgettext, похоже, перезаписывает это заголовками по умолчанию.Как я могу остановить это?

Возможно, я использую не тот инструмент, в этом случае предложения приветствуются.Я хочу иметь возможность сканировать код и обновлять файлы .po, добавляя в них любые новые строки, оставляя при этом любую информацию заголовка нетронутой.

РЕДАКТИРОВАТЬ:Я знаю, что poedit может сканировать код, но я надеялся найти приложение командной строки для выполнения сканирования, чтобы упростить автоматизацию процесса.

Это было полезно?

Решение

Да, по сути вы неправильно используете инструменты.

xgettext извлекает теги и создает файл шаблона.(например.*.pot-файл)

А msgmerge Команда обновляет файл .po, внося в него изменения из файла .pot.

У нас есть правила для обновления файлов .po, как показано ниже:

%.en.po : %.pot
    -[ -e $@ ] && msgmerge --width=110 --update $@ $<
    [ -e $@ ] || cp $< $@
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top