Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision |
ru:translations:msgmerge [2010/04/12 20:20] – kda | ru:translations:msgmerge [2011/12/09 23:08] (current) – faergeek |
---|
====== Объединение двух файлов формата .po ====== | ====== Слияние файлов PO ====== |
| Утилита командной строки ''msgmerge'' используется для слияния переведённых строк из двух файлов PO в один. Она чрезвычайно проста в использовании, вот простой пример: |
| |
Объединение 2-х файлов формата .po в один легко провести с помощью утилиты командной строки ''msmerge'', например так: | msgmerge your-po-file reference-po-file > output.po |
| |
msgmerge обновленный_файл.po старый_файл.po > новый.po | Результирующий файл ''output.po'' будет содержать переводы из ''your-po-file'', объединённые с ''reference-po-file''. |
| |
В результате получится файл ''новый.po'', который будет аналогичен файлу ''старый_файл.po'', но с переводами взятыми из файла ''обновленный_файл.po''. | Также можно произвести слияние строк, не используя перенаправление вывода, с помощью следующих опций: |
| |
Данная утилита так же полезна для объединения строк в файлах перевода разрабатываемой ветки со стабильной и наоборот: | msgmerge --backup=none -U your-po-file reference-po-file |
| |
msgmerge ~/Загрузки/ru.po ru.po > ru.po.new | Эффект будет тем же, за исключение того, что вывод будет записан прямо в ''your-po-file''. |
mv ru.po.new ru.po | |
| |
Не забывайте, что вы не можете направлять вывод напрямую в файл ru.po, в ином случае произойдет ошибка и вы получите полностью непереведенный .po-файл. | Вы можете использовать файл POT в качестве шаблона для файла PO для того, чтобы ваши текущие переводы учитывали новые и удалённые сообщения. |
| |
| ===== Слияние между стабильной и разрабатываемой веткой ===== |
| |
| Вы можете использовать эту утилиту для слияния строк из разрабатываемой ветки в стабильную и обратно. Рекомендуется делать именно так во избежание лишней работы. |
| |
| Рассмотрим конкретный пример. Предположим, вы работаете над проектом //Thunar//, вы можете загрузить файлы PO для стабильной и разрабатываемой веток с помощью [[https://translations.xfce.org/projects/p/thunar/|Transifex]]. |
| |
| Скажем, перевод //Thunar// полностью закончен в стабильной ветке "xfce-4.8" и требуется объединить его с незаконченным переводом в разрабатываемой ветке "master". |
| |
| Будем считать что после загрузки оба файла доступны в папке "Загрузки" вашей домашней папки, являющейся обычным местом для загруженных файлов. |
| |
| Скопируйте следующую команду в ваш терминал: |
| |
| cd Загрузки |
| |
| Теперь скопируйте ещё одну команду в ваш терминал: |
| |
| msgmerge Thunar-xfce-4-8.nl.po Thunar-master.nl.po > NEW-Thunar-master.nl.po |
| |
| Затем удалите ''Thunar-xfce-4-8.nl.po'' (вам он больше не нужен) и ''Thunar-master.nl.po'' (вы ведь не хотите вызвать конфликт имён на следующем шаге?). |
| |
| Загрузите файл ''NEW-Thunar-master.nl.po'' в Transifex. |