Skip to content

Перевод посредством сравнения версий #5

Open
@maksimr

Description

@maksimr

По мотивам maksimr/docs.angularjs.ru#1 (comment)

Надо продумать как сделать такое сравнение, не навязчивым.

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

Варианты решения:

Ручной:

Смотреть на оф. репозиторий(официальный репозиторий) и ручками составить
файл где будут перечислены файлы с переводом и соответствующие
им номера коммитов с офф. репозитория.

Например:

guide:
name: bootstrap.ngdoc
hash: f24cf4b
date: 2013-05-03

Где f24cf4b58f3c2e56df188738356b21e6c898ff0c(Кнопка History)
hash файла bootstrap.ngdoc с которого мы делали
перевод.

Это позволит нам:

  1. Если узнать что файл изменился, если изменился hash (в оф. репозитории)
  2. Посмотреть diff между коммитом, с которого мы делали перевод и последним

Минус очевиден, необходимо всегда поддерживать файл соответствия и следить за
изменения в оф. репозитории.

Автоматический:

Надо подумать как это можно автоматизировать.
Первое что приходит на ум, положить наши файлы с переводом отдельно от английских.
Сделать hook(pre-commit) или скрипт, который будет проходить по файлам русской документации, смотреть дату изменения,
находить соответствующие им английские файлы, и собирать из этого файл соответствия.

Второе что пришло на ум, чтобы не править исходники сделать под-модулем основной репозиторий
и от туда брать hash-и файлов документации.

Минус:

  1. Надо затратить время и сделать это :)
  2. Придется править исходники сборки, так как теперь у нас будет две версии файлов, оригиналы и перевод, что может привести к конфликтам при мердже с офф репозиторием. (~)
  3. Где лучше запускать этот скрипт? Подходящее место как мне кажется для этого сборка документации на heroku,
    но тут проблема что нам придется пушить этот файл на гитхаб, что инициирует сборку на travis-е, который в свою очередь снова запустит билд на heroku %).

В общем надо подумать...

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions