Перейти к содержимому

Перенос проекта из другого инструмента

Проект переезжает в Ownlate за один раз: Ownlate читает то, что есть в старой системе, показывает вам отчёт и записывает только после того, как вы его подтвердите. Тот же перенос можно запустить снова, пока команда ещё работает в старой системе, и тогда приходит только то, что там изменилось.

ЧтоКак приходит
Файлы и ключиПо файлу Ownlate на каждый исходный файл, ключи в порядке файла
ПереводыСо своим статусом: утверждённый в старой системе остаётся утверждённым, проверенный — проверенным, остальные ждут проверки
Множественное числоСегментами с множественным числом, с формами каждого языка
Описания, ограничения длины, тегиУ сегмента
Ключи, которые не переводятсяС той же пометкой «не переводится»
КомментарииС именем автора и временем, когда они написаны
СкриншотыС областью ключа на скриншоте
Память переводовВ память переводов рабочего пространства; из Lokalise — выгрузкой TMX и отдельной загрузкой
ГлоссарийВ глоссарий рабочего пространства, вместе с терминами, которые у вас уже есть
ЛюдиПриглашаются в рабочее пространство переводчиками

Ветки не переносятся: переезжает только основная ветка. История каждого перевода начинается с одной записи «импортирован».

  • Crowdin или Lokalise. Подключите учётную запись персональным токеном или войдите через сам сервис, выберите проект, и Ownlate прочитает всё перечисленное выше через API.
  • Архив из любого инструмента. Выгрузите из старой системы ZIP — файлы XLIFF или файлы приложения по языкам — и добавьте memory.tmx и глоссарий в виде .tbx или CSV в папку glossary/. Это путь для Phrase, Tolgee, Transifex, POEditor, Weblate, Localazy и всего остального. Архив может весить не больше 200 МБ.
  • Ваш репозиторий. Если переводы уже лежат рядом с кодом, подключите репозиторий с ownlate.yml. При переезде с Crowdin этот файл за вас запишет ownlate init --from crowdin.yml — см. CLI.

Обычные раскладки архива Ownlate распознаёт сам:

В архивеСтановится
locales/en/auth.json, locales/de/auth.jsonодним файлом auth.json с немецкими переводами
config/locales/en.yml, config/locales/de.ymlодним файлом Rails en.yml
res/values/strings.xml, res/values-de/strings.xmlодним файлом Android strings.xml
auth.xliff с target-language="de"немецкими переводами ключей внутри
memory.tmxпамятью переводов
glossary/terms.tbx, glossary/terms.csvглоссарием

Файл, язык которого Ownlate не может определить ни по содержимому, ни по пути, указывается в отчёте и не переносится.

Ничего не записывается, пока вы не подтвердите отчёт. В нём видно:

  • сколько в проекте файлов, ключей и слов и сколько переводов каждого статуса на каждом языке;
  • каким языком Ownlate станет каждый язык старой системы, с возможностью выбрать другой или пропустить язык;
  • ключи, которые встречаются дважды в одном файле, — побеждает последнее значение;
  • люди, которых пригласят, и любого из них можно исключить;
  • название нового проекта и его исходный язык.

Лимит слов тарифа проверяется один раз, здесь: утверждённые слова, которые добавит импорт, должны в него поместиться. Первый проект рабочего пространства не проверяется, какого бы размера он ни был.

Импорт записывает пачками и показывает прогресс. После перезапуска сервиса он продолжает с той пачки, на которой остановился, а Отменить останавливает его после текущей пачки, сохраняя уже записанное. Когда импорт закончится, сводка перечислит, что создано и обновлено, кого пригласили, и всё, что пропущено, с причиной.

Импорт того же исходного проекта записывает в проект, который создал первый импорт:

  • новые ключи добавляются, изменившиеся тексты и переводы обновляются;
  • ключ, переименованный в старой системе, сохраняет под новым именем свой сегмент, переводы и историю;
  • ключ, удалённый в старой системе, удаляется и в Ownlate;
  • ключи, которые в старой системе не менялись, остаются как есть, включая всё, что вы с тех пор правили в Ownlate.

Так команда может работать в старой системе до самого дня переключения.

Все, кто указан в проекте старой системы, приглашаются в рабочее пространство переводчиками. Тот, кто уже состоит в пространстве на уровне viewer, становится переводчиком; владельцы, администраторы и переводчики сохраняют свой уровень. Приглашение, которое вывело бы пространство за лимит участников, не отправляется и называется в сводке.

Пригласить можно только тех, чей адрес почты старая система отдаёт. Crowdin отдаёт его в Crowdin Enterprise, поэтому участники проекта на crowdin.com обычно остаются за бортом, и отчёт говорит, сколько их.

Файл TMX можно добавить в память переводов, а файл TBX или CSV — в глоссарий и без переноса проекта: кнопкой Импорт TMX на странице памяти переводов и Импорт TBX или CSV на странице глоссария. Глоссарий из файла ложится в исходный язык, выбранный на этой странице. Файл — не больше 10 МБ; файл крупнее добавляется в архив.