как из исходников создать файл pot или po, если их нет там
07.03.2018 16:11, Sergey Alyoshin пишет:
> 2018-03-07 14:56 GMT+03:00 Gali Anikina <merilaga@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 поизучаю
Reply to: