07.03.2018 16:11, Sergey Alyoshin пишет:
> 2018-03-07 14:56 GMT+03:00 Gali Anikina <meril...@yandex.ru>:

>> Подскажит- может кто знает как самой из исходных создать файл pot или po?
>
> Код xgettext
> (make -C po update-po)
А если нет такого каталога?

> Текст в .po po4a

po4a - одновременное обновление PO файлов и переведенной документации
Да - с этой программкой po4a решила познакомиться поближе :-)))



> Из .mo в .po msgunfmt
Отличная программа, изучаю. Здесь существует проблема с кодировкой.
К примеру преобразовав a2ps.mo в po (так как последний перевод был вроде давно) и заглянув в него - увидела крокозябры. Там применялась в последний раз кодировка KOI8-RU.

Вот есть такой ключик

Нахождение входного файла в режиме Tcl:
  -l, --locale=ЛОКАЛЬ         имя локали, это либо язык, либо язык_СТРАНА
  -d КАТАЛОГ                  корневой каталог иерархии .msg-файлов
Параметры -l и -d обязательны. Входной .msg-файл ищется в указанном каталоге.

выдала
msgunfmt --locale=ru_RU.UTF-8 po4a.mo
msgunfmt: --locale допустимо только с --java или --csharp


Режим работы:
-j, --java режим Java: на входе Java-класс ResourceBundle
      --csharp                режим C#: на входе .dll-файл .NET
--csharp-resources режим ресурсов C#: на входе .resources-файл .NET
      --tcl                   режим Tcl: на входе .msg-файл для tcl/msgcat

Мне в данный момент не нужны ни java ни csharp.

Буду ещё читать



> Проверка .po msgfmt -cv
То есть программа делает из po файл mo, и в это же время делает проверку синтаксиса - я так поняла. Возьмём на заметку - каким образом появляются po. :-)))


> Объединение и переносы строк msgmerge

Смысл поняла, ещё не попробовала, так как мне надо чуть изменённый вариант - например делаем в терминале man программа >>имя файла (то есть вывод man сразу закидываем в файл). Потом содержимое этого файла оправляем на переводчик в интернете, а далее глазками и головой сверяем с оригиналом - они так чудят..... Так вот отфарматированный при выводе текст man надо ручками подправлять - так как он разбивает большую строку на сегменты длиной в ширину терминала. Если это большой man и там много длинных строк, то умучаешься корректировать ещё до того, как закинуть в переводчик. Если в переводчик закинуть эти разорванные строки, то он ещё больше начудит, Следовательно разматывать эти узелки при сверке с оригиналом станет ещё сложнее.
:-))
То есть в данном конкретном случае надо, чтобы программа пробежалась по тексту и умненько убрала переносы или, я думаю это проще, задать ключ программе man, вот заглянула в help и попробовала

Ключ man --nh выключить перенос слов - не сработал, как от него ожидалось.

Вот у msgunfmt есть такой ключ
--no-wrap               не разбивать длинные строки, которые длиннее
                              ширины выходной страницы
Вот их бы и применить для данный целей.

А рекомендованную вами программу msgmerge поизучаю



Ответить