# Міграція до Weblate

Ви використовуєте іншу платформу локалізації та розглядаєте можливість переходу на Weblate? Цей посібник пропонує швидкий покроковий процес, який допоможе вам перенести ваш перекладацький проект з таких платформ, як Transifex, Crowdin, Lokalise або подібних сервісів..

Weblate розроблено з урахуванням безперервної локалізації з інтеграцією Git в його основі, що робить його ідеальним для команд, які хочуть, щоб переклади були близькими до їхнього робочого процесу розробки.

#### SEE ALSO
* [Початкові кроки у інтернаціоналізації](https://docs.weblate.org/uk/latest/devel/starting.md) робота з вибором правильної системи інтернаціоналізації
* [Інтеграція із Weblate](https://docs.weblate.org/uk/latest/devel/integration.md) для отримання детальної інформації про параметри інтеграції
* [Безперервна локалізація](https://docs.weblate.org/uk/latest/admin/continuous.md) для налаштування автоматизованих робочих процесів

## Передумови

Перш ніж розпочати міграцію, переконайтеся, що у вас є:

**На вашій платформі локалізації:**

* Доступ до експорту файлів перекладу
* Список перекладачів та їхні ролі/дозволи
* Розуміння вашого поточного робочого процесу (процес рецензування, автоматизація тощо)

**Для Weblate:**

* Екземпляр Weblate (або [Hosted Weblate](https://hosted.weblate.org/), або [self-hosted](https://docs.weblate.org/uk/latest/admin/install.md))
* Права адміністратора або створення проєкту у вашому екземплярі Weblate

## Підготуйте файли перекладу

### Експорт перекладів з вашої поточної платформи

Більшість платформ локалізації дозволяють експортувати всі переклади одночасно:

* **Transifex**: Використовуйте їхній інструмент CLI або завантажте переклади з веб-інтерфейсу
* **Crowdin**: Експорт усіх перекладів у ZIP-файл із налаштувань проєкту
* **Lokalise**: Використовуйте функцію масового експорту
* **Phrase**: Завантажити всі локалі з панелі інструментів проекту

#### HINT
Зберігайте файли перекладу у форматі, що відповідає вашій системі інтернаціоналізації (PO, XLIFF, JSON тощо), замість того, щоб конвертувати їх. Weblate підтримує [many formats](https://docs.weblate.org/uk/latest/formats.md#formats).

### Запис перекладів до вашого Git-репозиторію

#### HINT
Якщо ви не бажаєте зберігати переклади у зовнішньому репозиторії Git, ви можете пропустити цей крок і скористатися опцією Upload translation files під час створення компонента.

Якщо ваших перекладів ще немає в Git:

1. Створіть репозиторій Git або використовуйте існуючий репозиторій проєктів
2. Упорядкуйте файли перекладів відповідно до структури вашого проєкту
3. Зробіть коміт та надішліть файли на ваш сервіс хостингу Git (GitHub, GitLab, Bitbucket тощо)

```shell
git add locales/
git commit -m "Add translation files for Weblate migration"
git push origin main
```

#### SEE ALSO
* [Безперервна локалізація](https://docs.weblate.org/uk/latest/admin/continuous.md#continuous-translation) для оптимальної структури репозиторію
* [Інтеграція з системою керування версіями](https://docs.weblate.org/uk/latest/vcs.md) для списку підтримуваних систем контролю версій

## Імпортуйте свій проєкт у Weblate

### Створити новий проект

1. Перейдіть до вашого екземпляра Weblate.
2. Натисніть Add new translation project у меню **+**.
3. Заповніть деталі вашого проєкту:
   * **Назва проекту**: Назва вашої програми або проекту
   * **URL-заголовок**: Короткий ідентифікатор (наприклад, `myapp`)
   * **Вебсайт проєкту**: Домашня сторінка вашого проєкту (необов’язково)

![image](screenshots/user-add-project.webp)

#### SEE ALSO
[Додавання проєктів і складників перекладу](https://docs.weblate.org/uk/latest/admin/projects.md#adding-projects) для отримання детальних інструкцій зі створення проєкту

### Додайте компонент зі свого репозиторію Git

1. Після створення проєкту натисніть кнопку Add new translation component
2. Виберіть From version control
3. Налаштуйте свій компонент:
   * **Назва компонента**: наприклад, «Рядки програми», «Веб-сайт», «Документація»
   * **URL-адреса репозиторію**: URL-адреса вашого репозиторію Git (HTTPS або SSH)
   * **Гілка репозиторію**: Необов’язково: Вкажіть гілку репозиторію (Weblate автоматично визначає гілку за замовчуванням, якщо не вказано)
4. Weblate автоматично визначить:
   * Формат файлу перекладу
   * Доступні мови
   * Початкова мова
5. Перегляньте та підтвердьте виявлені налаштування

#### NOTE
If your repository contains a Transifex `.tx/config`, Weblate parses
it using translation-finder and offers matching component configurations
during discovery. This only covers file-related configuration, such as file
masks and source files. Other project settings from the previous platform,
including workflows, permissions, and language aliases, still need to be
configured manually in Weblate.

Language aliases are usually not needed because Weblate already recognizes
and normalizes common language-code variants while parsing translation
files. See [Обробка кодів мов](https://docs.weblate.org/uk/latest/admin/languages.md#language-parsing-codes); configure
[Альтернативні назви мови](https://docs.weblate.org/uk/latest/admin/projects.md#project-language-aliases) only if your repository uses codes Weblate
cannot map as intended.

![image](screenshots/user-add-component-discovery.webp)

#### HINT
Для репозиторіїв з кількома компонентами перекладу (наприклад, окремі файли для бекенду, фронтенду, документації) створіть окремий компонент Weblate для кожного.

Ви можете пришвидшити це, використовуючи From existing component для спільних репозиторіїв або [Виявлення складників](https://docs.weblate.org/uk/latest/admin/addons.md#addon-weblate-discovery-discovery) для їх автоматичного створення.

#### SEE ALSO
* [Налаштовування складників](https://docs.weblate.org/uk/latest/admin/projects.md#component) для всіх варіантів конфігурації
* [Двомовні і одномовні формати](https://docs.weblate.org/uk/latest/formats.md#bimono) для розуміння одномовних та двомовних форматів
* [Виявлення складників](https://docs.weblate.org/uk/latest/admin/addons.md#addon-weblate-discovery-discovery)

## Налаштуйте свій робочий процес

### Налаштувати контроль доступу

Виберіть видимість та рівень доступу для вашого проєкту:

1. Перейдіть до налаштувань вашого проєкту: Operations → Settings → вкладка Access
2. Виберіть відповідний [access control](https://docs.weblate.org/uk/latest/admin/access.md#acl):
   * **Публічно**: Проєкти з відкритим кодом, кожен може зробити свій внесок
   * **Захищено**: Видимо всім, але перекладати можуть лише запрошені користувачі
   * **Приватно**: Переглядати та перекладати можуть лише запрошені користувачі

![image](screenshots/project-access.webp)

#### SEE ALSO
[Керування правами доступу на рівні проєкту](https://docs.weblate.org/uk/latest/admin/access.md#manage-acl) для детального налаштування контролю доступу

### Налаштування безперервної локалізації

Увімкнути автоматичні оновлення та коміти:

1. Налаштуйте інтеграцію репозиторію:
   * **Завантаження змін**: Налаштуйте [webhook](https://docs.weblate.org/uk/latest/admin/continuous.md#update-vcs), щоб Weblate оновлювався, коли змінюється ваш вихідний код
   * **Push changes**: Configure [Записування змін з Weblate](https://docs.weblate.org/uk/latest/admin/code-hosting.md#code-hosting-push-options) so translations are committed back to your repository
2. Увімкнути автоматичні дії в налаштуваннях компонента:
   * **Надіслати при фіксації**: Автоматично надсилати переклади до вашого репозиторію
   * **Інтервал фіксації**: Встановіть частоту фіксації перекладів, що очікують на виконання (наприклад, кожні 24 години)

#### SEE ALSO
[Безперервна локалізація](https://docs.weblate.org/uk/latest/admin/continuous.md#continuous-translation) для повної автоматизації робочого процесу

### Налаштування перевірок якості та робочих процесів

Налаштування контролю якості перекладу:

1. **Увімкнути перевірки**: Перегляньте [Перевірки якості](https://docs.weblate.org/uk/latest/user/checks.md#checks) та увімкніть будь-які необхідні перевірки якості за згодою.
2. **Налаштування робочого процесу рецензування**: Увімкніть [Увімкнути рецензії](https://docs.weblate.org/uk/latest/admin/projects.md#project-translation-review), якщо вам потрібен процес затвердження.
3. **Додати обов’язкові перевірки**: Налаштуйте, які перевірки якості мають блокувати переклади.

### Додатково: Увімкнути доповнення

Weblate пропонує [Додатки](https://docs.weblate.org/uk/latest/admin/addons.md#addons) для автоматизації поширених завдань:

* [Оновити файли po, порівнявши із pot (msgmerge)](https://docs.weblate.org/uk/latest/admin/addons.md#addon-weblate-gettext-msgmerge): Автоматичне оновлення PO-файлів із шаблонів POT
* [Очищення файлів перекладу](https://docs.weblate.org/uk/latest/admin/addons.md#addon-weblate-cleanup-generic): Вилучити невикористані рядки перекладу
* [Сполучити Git подання](https://docs.weblate.org/uk/latest/admin/addons.md#addon-weblate-git-squash): Скважує коміти перед надсиланням до вашого репозиторію
* [Виявлення складників](https://docs.weblate.org/uk/latest/admin/addons.md#addon-weblate-discovery-discovery): Автоматично знаходити нові файли перекладу

#### SEE ALSO
[Додатки](https://docs.weblate.org/uk/latest/admin/addons.md) для всіх доступних доповнень

## Тестування та перевірка

Перш ніж оголосити про перенесення вашим перекладачам:

1. **Тестування робочого процесу**:
   * Зробіть тестовий переклад
   * Перевірте, чи він відображається у вашому репозиторії Git
   * Тестування завантаження змін з вашого репозиторію до Weblate
2. **Імпортуйте будь-яку існуючу пам’ять перекладів** (необов’язково):
   * Використовуйте [Пам’ять перекладів](https://docs.weblate.org/uk/latest/admin/memory.md#translation-memory) для імпорту попередніх перекладів
   * Це допомагає забезпечити узгодженість та пришвидшує переклад
3. **Налаштувати сповіщення**:
   * Налаштуйте [Сповіщення](https://docs.weblate.org/uk/latest/user/profile.md#notifications) для подій перекладу
   * Налаштуйте [Обробники сповіщень](https://docs.weblate.org/uk/latest/api.md#hooks) репозиторію для вашого сервісу хостингу Git

#### SEE ALSO
[Пам’ять перекладів](https://docs.weblate.org/uk/latest/admin/memory.md) для керування пам’яттю перекладів

## Запрошення та керування користувачами

### Запросити перекладачів

Для **Захищених** та **Приватних** проєктів:

1. Перейдіть до Operations → Users у вашому проєкті
2. Використовуйте Add user, щоб запросити перекладачів
3. Розподіліть їх по відповідним командам:
   * **Перекладачі**: Може перекладати рядки
   * **Рецензенти**: Можуть перевіряти та затверджувати переклади
   * **Менеджери**: Можуть керувати налаштуваннями проекту

Для **Публічних** проектів користувачі можуть почати робити внесок одразу після реєстрації.

#### TIP
Надішліть своїм перекладачам вітальне повідомлення з:

* Посилання на ваш проєкт на Weblate
* Огляд будь-якої термінології або стилістичних посібників, що стосуються конкретного проекту
* Інформація про ваш процес розгляду

#### SEE ALSO
* [Керування правами доступу на рівні проєкту](https://docs.weblate.org/uk/latest/admin/access.md#manage-acl) для керування командою
* [Керування доступом](https://docs.weblate.org/uk/latest/admin/access.md) для розширеного налаштування дозволів

## Наступні кроки

Після завершення міграції:

* **Оголошення для перекладачів**: Повідомте свою команду перекладачів про перенесення та надайте чіткі інструкції
* **Контроль початкового використання**: Слідкуйте за будь-якими проблемами протягом перших кількох днів
* **Зберіть відгуки**: Запитайте перекладачів про їхній досвід у порівнянні з попередньою платформою
* **Оптимізація робочого процесу**: Налаштуйте параметри відповідно до потреб вашої команди
* **Видалити попередню платформу**: Після завершення міграції не забудьте скасувати доступ, наданий попередній платформі.

#### TIP
Під час міграції ви можете запускати обидві платформи паралельно протягом перехідного періоду, щоб переконатися, що все працює належним чином, перш ніж повністю перейти на іншу.

## Додаткові ресурси

* [Інтеграція із Weblate](https://docs.weblate.org/uk/latest/devel/integration.md) - Детальні шаблони інтеграції
* [Процеси перекладу](https://docs.weblate.org/uk/latest/workflows.md) - Різні конфігурації робочого процесу
* [Безперервна локалізація](https://docs.weblate.org/uk/latest/admin/continuous.md) - Автоматизована безперервна локалізація
* [Програмний інтерфейс REST Weblate](https://docs.weblate.org/uk/latest/api.md) - API для автоматизації та інтеграцій
* [Звітування щодо поступу перекладу](https://docs.weblate.org/uk/latest/devel/reporting.md) - Налаштування звітів про хід перекладу
* [Поширені питання та відповіді на них](https://docs.weblate.org/uk/latest/faq.md) - Часті запитання

#### HINT
Join the [Weblate community](https://weblate.org/support/) if you need help during your migration. The community is active and helpful!
