crossplatform.ru

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


  Ответ в Скрипт автоперевода сегментов в OmegaT
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
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...".
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 8.12.2019, 14:01