crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Объединение tmx-файлов, Маленькое руководство по объединению файлов с помощью TMXMerger
Novak
  опции профиля:
сообщение 14.1.2009, 8:27
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 319
Регистрация: 15.3.2008
Из: Замкадыш
Пользователь №: 121

Спасибо сказали: 28 раз(а)




Репутация:   6  


На страничке ресурсов программы OmegaT есть ссылка для скачивания java-сценария TMXMerger, предназначенного для объединения tmx-файлов.
Синтаксис у этого сценария очень простой:
Цитата
TMXMerger-1.0.jar <исходный файл 1> <исходный файл 2> <результирующий файл>

Например, при
Цитата
TMXMerger-1.0.jar source_1.tmx source_2.tmx project_save.tmx

Объединяются два файла source_1.tmx и source_2.tmx
В результирующем файле будут записаны все пары переводов, что были в первом и втором файле.
Если встретились разные переводы одного сегмента в исходных файлах, то все варианты будут записаны в результирующем файле. Получится запись примерно такого вида:
<tu>
         <tuv lang="EN-US">
            <seg>How to Build the ODBC Plugin on Windows</seg>
         </tuv>
         <tuv lang="RU-RU">
            <seg>Как собрать ODBC плагин под Windows</seg>
         </tuv>
         <tuv lang="RU-RU">
            <seg>Как собрать QMYSQL плагин под Windows</seg>
         </tuv>        
</tu>

После этого нужно вычистить этот файл от лишний дублирующих записей.
С этим справляется сама OmegaT. Если создать проект со всеми необходимыми файлами для перевода и подложить в него наш объединённый tmx-файл, то остаётся только запустить генерацию переведённых файлов, и лишние записи из нашего исходного файла перевода будут удалены. При этом сохраняется первая запись из встреченных.
Потому при объединении файл, который был передан первым в скрипт TMXMerger имеет больший приоритет в плане дублирования записей.

Мне кажется, что стоит ещё немного поэкспериментировать, в эту тему писать результаты этих опытов. После этого дополнить это руководство и выложить в вики и траке.

Сообщение отредактировал Novak - 14.1.2009, 8:29
Причина редактирования: Немного дополнил
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 15.1.2009, 17:16
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(alex977 @ 15.1.2009, 20:02) *
А автоматизировать - чтобы видеть какие есть варианты и у кого они были (где из предыдущего файл, где уже из измененного кем-то) и выбирать вариант перевода уже только для этих сегментов.
я собрался делать подобную штуку, но забросил - времени нет. Идея:
Есть программа "Х", запускаем ее и импортируем TMX в нее. Программа сохраняет все сегменты в БД, там же хранятся связи сегментов друг с другом. При импортировании следующего файла программа ищет сегмент, например анлийский, в БД если есть такой же, но нет связи с неким новым (например, новый вариант перевода), то добавляет новый вариант и связывает его с соответствующим сегментом плюс ставит флажек "новый связанный сегмент". После импорта всего TMX'а, программа показывает пользователю сегменты у которых появились новые связи, ну и связанные сегменты тоже, помечая новый цветом. Т.е. получается QTreeView.

Пользователю предоставляется специальный столбец "Верно" с флажком (QCheckBox) в этом столбце отмечается какой из связанных сегментов считать верным.

Далее импортируются остальные TMX'ы и процедура выбора верных повторяется.

По завершении обработки из БД экспортируются данные в TMX, но только те сегменты, которые либо единственные, либо имеют флажек "Верно".

Я пока сделал только набросок базы в FireBird, и собрался делать проксимодель для TMX'ов, чтобы сразу смотреть TMX'ы в QTreeView, ну и еще несколько экспериментов провел.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 23:20