Початок роботи з локалізацією
Попередні вимоги
- Git. Для початку роботи обов'язково встановіть Git.
- VSCode. Рекомендований редактор для перекладу. Він має вбудоване візуальне розширення для пошуку ключів перекладу.
- Node.js. Необхідний для тестування перекладу локально (встановіть останню версію).
- pnpm. Необхідний для встановлення залежностей та запуску сайту локально.
Як розпочати
Форк та клонування Обов'язково
Вам потрібно створити форк репозиторію на GitHub та клонувати його за допомогою Git:
git clone --recurse-submodules https://github.com/your-id/x-minecraft-launcherВстановлення Обов'язково
Вобіть встановлення залежностей проекту за допомогою pnpm (або скористайтеся corepack).
Перейдіть до клонованої папки x-minecraft-launcher та виконайте команду:
pnpm installЯкщо ви використовуєте
corepack, виконайтеcorepack enable .для активації pnpm.
Якщо виникає помилка про те, що модуль не знайдено, переконайтеся, що ви клонували проект із параметром --recurse-submodules. Якщо ви забули це зробити, виконайте:
git submodule update --init --recursiveа потім знову запустіть pnpm install.
Пошук файлу локалізації
Файли перекладів знаходяться за шляхами:
xmcl-keystone-ui/localesxmcl-electron-app/main/locales
Ім'я файлу відповідає коду мови. Ви можете орієнтуватися на стандарти кодів мов. Наприклад, uk.yaml для української.
Використання VSCode з розширенням i18n-ally Рекомендовано Необов'язково
Встановіть розширення i18n-ally (lokalise.i18n-ally).
У вкладці PROGRESS цього розширення ви побачите поточний прогрес перекладу та кількість відсутніх ключів для вибраної мови. Ви можете редагувати переклад прямо в інтерфейсі розширення.
Додавання нової мови Необов'язково
Якщо ви додаєте абсолютно нову мову, додайте код та назву мови до файлу assets/locales.json.
Наприклад, якщо ви хочете додати французьку (fr), відкрийте файл assets/locales.json:
{
"zh-CN": "简体中文",
"zh-TW": "繁體中文",
"en": "English",
"ru": "Русский язык",
"es-ES": "Español",
"fr": "French"
}Потім створіть відповідний yaml-файл із кодом локалі. Наприклад, fr.yaml.