Формат данных перевода книги - PullRequest
4 голосов
/ 30 марта 2011

Я думаю о переводе книги с английского на мой родной язык.Я могу перевести очень хорошо, и я доволен vim в качестве текстового редактора.Моя проблема в том, что я хотел бы каким-то образом сохранить семантику, то есть, какие части моего перевода соответствуют оригиналу.

Я мог бы в основном создать простой язык разметки на основе XML, который бы выглядел примерно так

<book>
  <chapter>
    <paragraph>
      <sentence>
        <original>This is an example sentence.</original>
        <translation lang="fi">Tämä on esimerkkilause.</translation>
      </sentence>
    </paragraph>
  </chapter>
</book>

Теперь это, вероятно, будет иметь свои преимущества, но я не думаю, что редактирование было бы очень забавным.

Еще одна возможность, о которой я могу подумать, - это сохранить оригинал и перевод.в отдельных файлах.Если я добавлю новую строку после каждого блока перевода и сохраню последовательную нумерацию строк, редактирование будет простым, и я смогу программно сопоставить оригинал и перевод.

original.txt:
  This is an example sentence.
  In this format editing is easy.

translation-fi.txt:
  Tämä on esimerkkilause.
  Tässä muodossa muokkaaminen on helppoa.

Однако это не кажется оченьнадежный.Было бы легко испортить.Возможно, у кого-то есть идеи получше.Таким образом, вопрос:

Каков наилучший формат данных для перевода книги с помощью текстового редактора?

РЕДАКТИРОВАТЬ: добавлен тег vim, так как я 'Я предпочел бы сделать это с vim и поверить, что у некоторых гуру vim могут быть идеи.

EDIT2: начислена награда за это.В настоящее время я склоняюсь ко второй идее, которую я описываю, но я надеюсь получить что-то более простое для редактирования (и довольно простое в реализации), но более надежное.

Ответы [ 3 ]

3 голосов
/ 07 мая 2011

Одна мысль: если вы будете хранить каждый переводимый фрагмент (одно или несколько предложений) в отдельной строке, опция vim scrollbind, cursorbind и простое вертикальное разбиение помогут вам поддерживать синхронизацию фрагментов.Это очень похоже на то, что vimdiff делает по умолчанию.В этом случае файлы должны иметь одинаковое количество строк, и вам даже не нужно переключать окна!

Но это не совсем идеально, потому что обернутые строки имеют тенденцию немного портить.Если в вашем переводе на две-три виртуальных строки больше, чем в исходном тексте, визуальная корреляция исчезает, поскольку эти строки больше не один на один.Я не мог найти решение или сценарий для исправления этого поведения.

Другое предложение, которое я хотел бы предложить, - это вставить перевод в оригинал.Это приближается к методу сравнения предложения Бенуа.После того, как оригинал будет разбит на куски (один кусок на строку), я добавлю >> или подобное на каждой строке.Перевод одного куска начнется с o.Файл будет выглядеть так:

  >> This is an example sentence.
  Tämä on esimerkkilause.
  >> In this format editing is easy.
  Tässä muodossa muokkaaminen on helppoa.

И я бы улучшил читабельность, выполнив :match Comment /^>>.*$/ или аналогичный, что бы ни выглядело хорошо с вашей цветовой схемой.Вероятно, было бы целесообразно написать область :syn, которая отключает проверку орфографии для исходного текста.Наконец, как деталь, я бы связал <C-j> с 2j и <C-k> с 2k, чтобы позволить легкий переход между важными частями.

Плюсы для этого последнего подхода также включают в себя то, чтоВы можете обернуть вещи в 80 столбцов, если вы чувствуете, что я делаю :) Было бы все равно тривиально написать <C-j/k> для перехода между переводами.

Минусы: завершение буфера страдает, так как теперь оно завершает как оригинал, так и переведенныйслова.Надеюсь, английские слова не встречаются в переводах так часто!:) Но это настолько надежно, насколько это возможно.Простой grep очистит исходный текст после того, как вы закончите.

2 голосов
/ 05 мая 2011

Почему бы не использовать упрощенный формат diff ?

  • это также подходит для целых предложений.
  • Первый символ является значимым (пробел, специальный, + или -)
  • Это будет довольно компактно
  • Может быть, вам не нужны эти @@ детали
  • Vim поддержит его и раскрасит английское и финское предложения в разные цвета.
1 голос
/ 30 марта 2011

Предполагая, что вы хотите сохранить соотношение 1 - 1 между исходным текстом и переведенным текстом, наиболее целесообразно использовать таблицу базы данных.

У вас будет одна таблица со следующими столбцами:

  • id - Целое число - Autonum
  • original_text - Текст - Не ноль
  • translation_text - Текст - Nullable

Вам потребуется процесс длязагрузить исходный текст и процесс, чтобы показать вам одну строку исходного текста и позволить вам ввести переведенный текст.Возможно, второй процесс может показать вам 5 строк (2 до, строку, которую вы хотите перевести, и 2 после), чтобы дать вам контекст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...