Перейти к содержанию

Массовая обработка

RPGMTranslate позволяет легко применять массовую обработку к переводу. Откройте её через кнопку .

Выберите файлы которые необходимо обработать через меню выбора, затем выберите действие:

Перевод

Запускает машинный перевод (используя настроенные точки перевода) на выбранные файлы, записывая результат в выбранный столбец перевода.

Скрипт

Запускает скрипт на выбранные файлы. Есть три встроенных скрипта:

  • Обрезание - обрезает пробелы из текста.
  • Перенос - переносит строки по выбранному лимиту символов. Кнопка "Использовать значение из настроек" применяет лимит символов из настроек проекта (прочтите настройки проекта).
  • Латинизация - транслитерирует пунктуацию в латинскую.

Пользовательские скрипты

Вы можете написать свой собственный скрипт, используя JavaScript (с помощью quickjs-ng). Пользовательские скрипты сохраняются в директорию scripts рядом с испольняемым файлом, так что они сохраняются между сессиями и ими можно легко делиться.

Скрипт должен определять следующую функцию:

function rpgmLineCallback(
  sourceText,
  translations,
  filename,
  lineNumber,
  options,
) {
  // ...
  return translations;
}

Она вызывается один раз для одной строки:

  • sourceText - исходный текст строки.
  • translations - массив с имеющимися переводами.
  • filename - файл, которому пренадлежит строка.
  • lineNumber - индекс строки в файле.
  • options - { action, columnIndex, ... }; action - "trim"/"wrap"/"latinize"/"custom", columnIndex это столбец перевода в который необходимо записывать изменения, а trimLeading/trimTrailing (для обрезки) и wrapLength (для переноса) нужны для встроенных скриптов.

Возвращает массив строк которым будут перезаписаны входные строки. Элементы undefined или null в массиве оставят перевод неизменённым.