Назад

generaltranslation v8

Brian Lou avatarBrian Lou
generaltranslation8.0.0apitranslation

Обзор

В generaltranslation v8 мы вносим существенные изменения в наш API и прекращаем поддержку некоторых функций и конечных точек API.

Более старые версии API больше не будут поддерживаться.

Использование версий generaltranslation ниже 7.5, скорее всего, приведёт к ошибкам. Использование версий gtx-cli ниже 2.1.5, скорее всего, приведёт к ошибкам.


Мотивация

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


Возможности

Новые функции API поддерживают ветвление, что позволяет создавать разные переводы для разных веток вашего проекта.

Теперь каждый файл привязан к ветке. Версионирование файлов теперь определяется по branchId, fileId и versionId.

Раньше переводы файлов были привязаны к одной‑единственной ветке. Кэшированные переводы файлов по умолчанию использовали самую недавно обновлённую версию файла.

В версии 8 при обновлении переводов файла теперь будет использоваться последняя версия файла в указанной ветке. Версионирование привязано к истории ветки, а не к отметке времени.

Новая система версионирования отражает модель ветвления git:

  • Обновление исходного файла в ветке создаст новую версию файла.
  • Слияние ветки в main создаст связь между исходным файлом в главной ветке и исходным файлом в слитой ветке.
    • Будущие переводы будут учитывать переводы из обеих веток.
  • Выполнение checkout ветки создаст новую версию файла,
    • Переводы в этой ветке будут ссылаться на предыдущие переводы из главной ветки.

Чтобы включить эту возможность, добавьте флаг --enable-branching к команде gtx-cli translate в последней версии gtx-cli.

По умолчанию ветвление отключено, и все файлы проекта привязаны к главной ветке.

Чтобы использовать эту возможность, ваша организация должна быть на платном тарифе.

Изменения

generaltranslation

  • Помечен как устаревший checkTranslationStatus
  • Помечен как устаревший downloadFile
  • downloadTranslatedFile переименован в downloadFile
    • В зависимости от того, указан ли locale, будет скачан либо исходный файл, либо соответствующий перевод
  • Изменены параметры downloadFile и downloadFileBatch
  • Помечен как устаревший enqueueEntries
  • Изменены параметры enqueueFiles (добавлен branchIds)
  • Помечен как устаревший fetchTranslations
  • Помечен как устаревший shouldSetupProject
  • Изменены параметры submitUserEditDiffs (добавлен branchIds, поля id сделаны обязательными)
  • Изменены параметры uploadSourceFiles (добавлен branchIds)
  • Изменены параметры uploadTranslations (добавлен branchIds)
  • Изменены параметры querySourceFile (добавлен branchIds)
  • Добавлен checkJobStatus
  • Добавлен queryFileData
  • Помечен как устаревший checkSetupStatus (используйте checkJobStatus вместо него)
  • Помечен как устаревший checkFileTranslations (используйте queryFileData вместо него)

gtx-cli

  • Добавлен флаг --enable-branching для команды translate
  • Добавлен флаг --branch для команды translate
    • (Необязательно) Позволяет указать ветку, которая будет использована для перевода
  • Добавлен флаг --disable-branch-detection для команды translate
    • (Необязательно) При его использовании CLI не будет автоматически пытаться определять ветку для работы.
    • Используйте этот флаг, если git не установлен или если проект не является репозиторием git.
  • Улучшено отслеживание прогресса перевода и логирование
  • Улучшена обработка ошибок перевода
  • Оптимизирована производительность API, чтобы избежать лишних загрузок файлов в API

gt-sanity

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