Автор: 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...".