Переклад файлів Mozilla Fluent .ftl
Повідомлення Fluent можуть містити змінні, посилання на терміни та цілі вирази select. KAERIS перекладає кожну текстову частину і зберігає навколишню структуру, потім перевіряє змінні та посилання на терміни.
KAERIS переклав цю сторінку та перевірив кожен рядок зворотним перекладом. Носій мови ще не переглядав її. Оригінал англійською
Як побудований файл Fluent
Повідомлення мають вигляд id = text, зі змінними { $name }, посиланнями на терміни { -brand-name }, атрибутами (.title) та виразами select з варіантами [one] і стандартним *. Коментарі починаються з #.
# Shown on the home screen welcome = Welcome back, { $name }! emails = { $count -> [one] You have { $count } new email. *[other] You have { $count } new emails. } -brand-name = Firefox about = About { -brand-name }
На що звертати увагу в перекладах Fluent
Змінні та терміни
{ $name }і{ -brand-name }мають залишатися. У реальному запуску нижче обидва збереглися.Вирази select
Кожен варіант — це окремий текст для перекладу. Стандартний
*залишається позначеним; у наведеному парсингу два варіанти email — окремі рядки.Терміни
Термін, наприклад
-brand-name, є окремим записом; переклад без нього вважається відсутнім.Коментарі
Коментарі джерела повторно виводяться у файлі.
Реальний запуск: перекладено німецькою та перевірено
Реальний запуск, 27 жовтня 2026, нічого не редагувалося вручну: kaeris translate en.ftl --langs de з kaeris 0.2.35, 2,1 секунди, модель google/gemini-2.5-flash-lite, стандарт безкоштовного рівня. Нижче — німецький файл, який він записав, і що kaeris check про нього каже.
# Shown on the home screen welcome = Willkommen zurück, { $name }! emails = { $count -> [one] Sie haben { $count } neue E-Mail. *[other] Sie haben { $count } neue E-Mails. } -brand-name = Firefox about = Über { -brand-name }
$ kaeris check --source en.ftl --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
Що KAERIS робить з цим
Структура збережена
Повідомлення, терміни, атрибути та варіанти select обходяться і записуються у тому ж вигляді.
Посилання пораховані
Втрачене
{ $name }або{ -term }знаходиться без моделі.Безкоштовна перевірка для цього формату
Безкоштовна перевірка на /check читає цей формат і працює без ключа чи акаунта. Команда терміналу
kaeris checkтакож його читає: вона підтримує всі 13 форматів з kaeris 0.2.35, з тими ж правилами і нічого нікуди не відправляє.
Запустіть у три кроки
Встановіть CLI
Виконайте
pip install kaeris.Перекладіть файл
Запустіть
kaeris translate locales/en/app.ftl --langs de,ja.Перевірте результат
Завантажте вихідний та перекладений .ftl на сторінку безкоштовної перевірки.
pip install kaeris kaeris translate locales/en/app.ftl --langs de,ja --verify
Запитання
Чи підтримуються вирази select?
Так. Кожен варіант перекладається окремо, а структура записується назад.
А як щодо термінів, як -brand-name?
Вони є окремими записами і порівнюються з джерелом; переклад, що пропускає їх, вважається відсутнім ключем.
Це безкоштовно?
Так, без облікового запису: 10 000 символів на файл і до 8 мов за один запуск. Безкоштовний API-ключ збільшує ліміт файлу до 50 000 символів. Довічна ліцензія коштує $79 один раз, за вашим власним ключем OpenRouter; місячні плани починаються від $19. Ціни
Чи можу я запускати його з терміналу або в CI?
Так. pip install kaeris, потім kaeris translate locales/en/app.ftl --langs de,ja. GitHub Action виконує той самий переклад у pull request. Документація CLI · GitHub Action
Продовжуйте
Довідник CLI · Довідник перевірки · Переклад у браузері · Безкоштовна перевірка · Конвертація форматів · Псевдолокалізація
Інші формати: JSON · YAML · .po · ARB · XLIFF · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Android XML