Как это работает
Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @alexgton.
Программа локализации TownSquare Labs состоит из нескольких ключевых компонентов. В этой главе будет представлен обзор того, как работает программа, что поможет вам понять ее работу и как эффективно ее использовать.
В этой системе мы интегрируем несколько приложений для бесперебойной работы в качестве единой программы:
- GitHub: размещает документацию, синхр онизирует документы из репозитория upstream и синхронизирует переводы с определенными ветками.
- Crowdin: управляет процессами перевода, включая перевод, корректуру и настройку языковых предпочтений.
- Системы ИИ: использует расширенный ИИ для помощи переводчикам, обеспечивая плавный рабочий процесс.
- Настраиваемый глоссарий: направляет переводчиков и гарантирует, что ИИ генерирует точные переводы на основе контекста проекта. Пользователи также могут загружать свои глоссарии по мере необходимости.
Это руководство не будет подробно рассматривать весь процесс, но в нем будут выделены ключевые компоненты, которые делают программу локализации TownSquare Labs уникальной. Вы можете изучить программу более подробно самостоятельно.
С инхронизация GitHub для документации и переводов
Наш репозиторий использует несколько ветвей для управления документацией и переводами. Ниже приведено подробное объяснение цели и функции каждой специальной ветви:
Обзор ветвей
-
dev
Веткаdev
запускает GitHub Actions для обработки задач синхронизации. Конфигурации рабочих процессов можно найти в каталоге.github/workflows
:sync-fork.yml
: этот рабочий процесс синхронизирует документацию из вышестоящего репозитория. Он запускается ежедневно в 00:00.sync-translations.yml
: этот рабочий процесс синхронизирует обновленные переводы с соответствующими языковыми ветвями для предварительного просмотра на соответствующих языковых веб-сайтах.
-
main
Эта ветвь синхронизируется с вышестоящим репозиторием с помощью действий GitHub, запущенных в веткеdev
. Также используется для обновления определённых кодов, которые мы хотим предложить оригинальному репозиторию. -
l10n_main
Эта ветвь включает все изменения из ветвиmain
и переводы из Crowdin. Все изменения в этой ветке периодически фиксируются в вышестоящем репозитории с помощью новой подветки с именемl10n_main_[some data]
. -
l10n_feat
илиl10n_feat_[specific functions]
Эта ветка будет включать изменения в коде или документации, связанной с системой перевода. После завершения всего контента изменения в этой ветке будут объединены вl10_main
. -
[lang]_preview
Эти ветки предназначены для определенных языковых предварительных просмотров, таких какko_preview
для корейского иja_preview
для японского. Они позволяют нам предварительно просматривать веб-сайт на разных языках.
Поддерживая эти ветки и используя GitHub Actions, мы эффективно управляем синхронизацией нашей документации и обновлений переводов, гарантируя, что наш многоязычный контент всегда будет актуальным.
Как создать новый проект Crowdin
-
Войдите в свою учетную запись Crowdin.
-
Нажмите
Создать проект
в меню. -
Укажите название проекта и целевые языки. Вы можете изменить языки в настройках позже.
-
Перейдите к только что созданному проекту, выберите вкладку "Интеграции", нажмите кнопку
Добавить интеграцию
, найдите GitHub и установите его. -
Перед настройкой интеграций GitHub на Crowdin укажите, какие файлы следует загрузить на Crowdin, чтобы избежать загрузки ненужных файлов:
- Создайте файл crowdin.yml в корне репозитория GitHub с базовой конфигурацией:
project_id: <Your project id>
preserve_hierarchy: 1
files:
- source: <Path of your original files>
translation: <Path of your translated files>- Введите правильные значения конфигурации:
-
project_id: В проекте Crowdin перейдите на вкладку "Инструменты", выберите API и найдите там project_id.
-
preserve_hierarchy: Поддерживает структуру каталогов GitHub на сервере Crowdin.
-
source и translation: Укажите пути для файлов, которые нужно загрузить в Crowdin, и место, где должны быть переведенные файлы.
Обратитесь к нашему официальному конфигурационному файлу для примера.
Более подробную информацию можно найти в документации по конфигурации Crowdin.
-
-
Настройте Crowdin для подключения к вашему репозиторию на GitHub:
- Нажмите
Добавить репозиторий
и выберите режимИсходные файлы и файлы перевода
. - Подключите свою учетную запись GitHub и найдите репозиторий, который нужно перевести.
- Выберите ветку слева, которая создаст новую ветку, в которой Crowding будет публиковать переводы.
- Выберите ча стоту обновления переводов в вашей ветке GitHub. Настройки по умолчанию можно сохранить для других конфигураций, затем нажмите "Сохранить", чтобы включить интеграцию.
- Нажмите
Дополнительные сведения см. в документации по интеграции GitHub.
- Наконец, вы можете нажать кнопку "Синхронизировать сейчас", чтобы синхронизировать репозиторий и переводы при необходимости.
Глоссарий
Что такое глоссарий?
Иногда переводчики ИИ не могут распознать определенные термины, которые не следует переводить. Например, мы не хотим, чтобы «Rust» переводился применительно к языку программирования. Чтобы предотвратить такие ошибки, мы используем глоссарий для руководства переводами.
Глоссарий позволяет создавать, хранить и управлять терминологией, относящейся к конкретному проекту, в одном месте, обеспечивая правильный и последовательный перевод терминов.
Вы можете проверить наш ton-i18n-glossary для справки.
Как настроить глоссарий для нового языка?
Большинство платформ перевода поддерживают глоссарии. В Crowdin после настройки глоссария каждый термин отображается как подчеркнутое слово в редакторе. Наведите курсор на термин, чтобы увидеть его перевод, часть речи и определение (если указано).
В DeepL просто загрузите свой глоссарий, и он будет автоматически использоваться во время перевода ИИ.
Мы создали программу для глоссария, которая автоматически загружает обновления.
Чтобы добавить термин в глоссарий:
-
Если английский термин уже есть в глоссарии, найдите соответствующую строку и столбец для языка, который вы хотите перевести, введите перевод и загрузите его.
-
Чтобы загрузить новый глоссарий, клонируйте проект и запустите:
npm i
npm run generate -- <glossary name you want>
Повторите шаг 1, чтобы добавить новый термин.
Просто и эффективно, не так ли?