Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Переводы _ Скрипт автоперевода сегментов в OmegaT

Автор: iReset 16.1.2013, 9:27

Написал небольшой скрипт, с помощью которого можно автоматически переводить некоторые сегменты в OmegaT. На данный момент скрипт умеет "переводить" некоторые сегменты типа "See also...", "Inherited by..." и "Inherits...", сегменты типа "... Class Reference" и "Reimplemented from...".

Полное описание
Перевод сегметов "See also...", "Inherited by..." и "Inherits..."
Сегменты начинаются с "See also", "Inherited by..." или "Inherits...", но начиная с версии 4.7.4 эта фраза обрамлена в тег <b>. Далее через запятую должны следовать части, каждая из которых обрамлена тегом <a>. Перед последней частью обычно стоит "and". Переводу подлежат только те сегменты, в которых необходимо перевести только "See also" ("Inherited by...", "Inherits...") и "and". В случае наличия частей, обрамлённых тегом <a>, для которых требуется ручной перевод, сегмент не переводится вообще. Такими частями считаются:
  • части, где более одного слова, например, "QtSvg Module", "Basic Drawing Example";
  • части, где есть только одно слово без заглавных букв в середине (это наверняка тип), и за которым не следуют скобки (это наверняка функция). Эта часть может и не требовать перевода, если это, например, ссылка на перечисление, а может и требовать, если это ссылка на раздел.


Перевод сегментов "...Class Reference".
Сегмент начинается одним словом, далее идёт "Class Reference". В конце может присутствовать "<br0/>".

Перевод сегментов "Reimplemented from...".
Сегмент начинается c "Reimplemented from...". Далее следует имя функции, обрамлённое тегом <a>, за ней - скобки "()".

Для использования скрипта необходимо установить модуль "Scripting" (описан в справке OmegaT).
Скрипт я написал на JavaScript, поскольку из предлагаемых модулем языков немного знаю только этот.
Исправления и замечания приветствуются.
Если знаете ещё какие-то сегменты, которые можно "переводить" автоматически, пишите, я постараюсь добавить.

UPD: я фактически не знаю объектную модель OmegaT, поэтому реализация скрипта, вероятно, не эффективна. Если вы знаете, где можно почитать об объектной модели OmegaT, подскажите, пожалуйста.

UPD2: Обновил скрипт. Добавил перевод "Reimplemented from...".

 auto_translate_v1.1.1.zip ( 1.76 килобайт ) : 4
 

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)