Загальні зауваження

Загалом кажучи, цього без кончої потреби робити не слід. Кожен з форматів перекладу певним чином пасує до програми чи остаточного вигляду перекладу. Але...

Translate Toolkit

Було розроблено програми для перетворення майже всіх даних перекладу з одного формату на інший і назад. Тепер це все трохи забуто і libtranslate повільно вкривається пилом. Втім, ВПЗ ніколи не помирає остаточно, тому результатами роботи можна скористатися і зараз (хоча творці Launchpad про це і досі не знають). Достатньо просто звантажити найсвіжішу версію Translate toolkit звідси або встановити зі сховища вашого улюбленого дистрибутива (це можна зробити навіть у Windows). Після цього ви можете обробити відповідним інструментом, наприклад ось так:

html2po autoupdate.html >autoupdate.po

ваш файл HTML, перекласти його у звичний спосіб, а потім виконати команду

po2html -i autoupdate.po -t autoupdate.html -o autoupdate.html

в результаті матимете аж дві переваги: звичайний спосіб перекладу і переклад без втрат уже перекладених повідомлень. Можливі такі перетворення:

  • moz2po — перетворення файлів Mozilla .properties і .dtd. Працює у Firefox і Thunderbird
  • oo2po — перетворення OpenOffice.org SDF (див. також oo2xliff).
  • csv2po — перетворення файлів значень, відокремлених комами (Comma Separated Value або CSV). Корисні для перекладів електронних таблиць.
  • csv2tbx — створення файлів TBX (TermBase eXchange) на основі файлів CSV
  • html2po — перетворення HTML
  • ical2po — перетворення файлів iCalendar
  • ini2po — перетворення файлів Windows INI
  • odf2xliff — перетворення файлів OpenDocument (ODF) на XLIFF і навпаки
  • php2po — перетворення файлів PHP з рядками для локалізації
  • po2wordfast — перетворення пам’яті перекладів Wordfast
  • po2tmx — перетворення TMX (Translation Memory Exchange)
  • pot2po — ініціалізація файлів шаблонів PO для перекладу
  • prop2po — перетворення файлів властивостей Java (.properties)
  • web2py2po — перетворення перекладів web2py на PO
  • rc2po — перетворення файлів ресурсів Windows .rc
  • sub2po — перетворення різноманітних файлів субтитрів
  • symb2po — перетворення перекладів у стилі Symbian на PO
  • tiki2po — перетворення файлів TikiWiki мова.php
  • ts2po — перетворення файлів .ts Qt Linguist
  • txt2po — перетворення звичайного тексту на PO
  • xliff2po — перетворення XLIFF (XML Localisation Interchange File Format)

Як бачите перетворюється майже все. Але один нюанс: перетворюється досить добре, але кінцевий результат (після зворотного злиття) місцями нагадує машинний код (хоча і є повністю функціональним).

Графічним інтерфейсом для перекладу звичайних текстових файлів OpenOffice/LibreOffice (ODF) може слугувати Lokalize (докладний опис можна знайти тут).

po4a

po4a — ще одна програма для перетворення форматів з/на PO-формат

Домашня сторінка: http://po4a.alioth.debian.org/

Може застосовуватися, наприклад, для перекладу man-сторінок:

po4a-updatepo -f man `for file in man8/*.8; do echo -n "-m $file "; done` -M utf-8 -p man-pages-man8.pot

Зворотне перетворення:

po4a-translate -f man -m <сторінка довідки> -p <файл перекладу.po> -l <перекладена сторінка довідки>

Lconvert

Якщо йдеться про файли перекладів Qt (TS), до типових пакунків Qt входить спеціальний інструмент, lconvert, який можна застосувати для перетворення даних у звичний формат PO ось за такою схемою:

lconvert -i quassel.ts -o quassel.po
lconvert -i quassel.po -of qm -o quassel.qm

Звичайно ж, отриманий файл QM можна використати у вже згаданий спосіб (подальших перетворень не потрібно), але ви не зможете скористатися підказками, які надасть у ваше розпорядження звичайна локалізація у Linguist.

Файли документації у форматі Docbook (XML)

docbook XML — дуже поширений формат структурного оформлення документів, використовується у LDP, для довідки дистрибутивів (Fedora, Ubuntu), GNOME, KDE та безлічі інших програм. Подібні файли попередньо перетворюються на файли PO розробниками дистрибутивів. Якщо ж цього не зроблено, їх можна перекладати за допомогою xml2po, що є складовою gnome-doc-utils і kdesdk-po2xml.

Перетворення кількох документів docbook XML на POT-шаблон

/usr/bin/xml2po -o book.pot chapter1.xml chapter2.xml
  • новий переклад

      cp book.pot uk.po
    
  • оновлення старого перекладу відносно нового шаблону

      msgmerge -o uk.po uk.po book.pot
    

Після перекладу файлу uk.po:

   /usr/bin/xml2po -p uk.po chapter1.xml > chapter1.uk.xml
   /usr/bin/xml2po -p uk.po chapter2.xml > chapter2.uk.xml

Зауваження:

Не забудьте перевірити синтаксис отриманих docbook командою

checkXML chapter1.uk.xml

Перетворити створений підручник DocBook (побіжно перевіривши його на коректність) на сторінки HTML можна командою

meinproc4 chapter1.uk.xml