Перевод файлов YAML или Rails en.yml с сохранением комментариев, ключей и кавычек
Загрузите файл YAML — например, Rails en.yml, файл messages в Symfony или данные Hugo — и получите перевод значений, сохранив всё остальное в исходном виде: комментарии, порядок ключей, отступы и стиль кавычек. Файл Rails с корнем en: вернётся как fr.yml с корнем fr:. Файлы размером до 300 значений переводятся полностью бесплатно; файлы большего размера — за $5 (разовый платёж).
- Только значения: ключи, комментарии, отступы и якоря остаются нетронутыми
- Обычные значения, в "двойных" и 'одинарных' кавычках, а также блоки (| и >) переводятся с сохранением исходного стиля
- Rails: корневой ключ en: превращается во fr:, а файл en.yml возвращается как fr.yml
- Переменные интерполяции вроде %{count} и %{name} проверяются в каждом значении
- До 50,000 значений за $5; с тарифом Unlimited — до 200,000 значений
Обычный чат-бот и наш инструмент при работе с YAML
Чат-бот легко справляется с парой строк YAML. Но на длинных файлах и тонкостях синтаксиса YAML неизбежно начинаются сбои.
| Ваша задача | Чат-бот | Этот инструмент |
|---|---|---|
| Десяток строк текста | Обычно переводит без ошибок | Тоже переводит без проблем |
| Большой файл en.yml с комментариями | Переписывает файл целиком; комментарии и кавычки часто теряются | Меняет только значения; комментарии остаются на месте |
| Перевод, в котором есть двоеточие | Может оставить его без кавычек, что ломает синтаксис файла | Автоматически ставит кавычки там, где это необходимо |
| %{count} элементов | Обычно сохраняет, но корректность никто не проверяет | Проверяет переменные в каждом значении |
Как обрабатывается файл
Файл считывается построчно и не форматируется заново. Инструмент точно определяет начало и конец каждого значения на строке, поэтому заменяются только эти символы. Если в переводе на французский получается «Panier : contenu», значение оборачивается в кавычки — ведь двоеточие с пробелом без кавычек нарушило бы структуру YAML. Значения в одинарных кавычках остаются в одинарных кавычках, а внутренние апострофы экранируются удвоением.
Многострочный текст после символов | или > сохраняет отступы в каждой строке. Ключи-идентификаторы (id, url, slug, type, status, code и подобные), а также значения, похожие на системные имена (например, cart_path), остаются без изменений, равно как и true, false, null и числа.
Что остаётся без изменений
Значения в инлайновом стиле ([a, b] или {a: b}), алиасы и якоря (*name, &name), тегированные значения, а также обычные строки, перенесённые на несколько строк без маркера блока, не переводятся, а значит, гарантированно не сломаются. В файлах локализации они встречаются редко.
Если ваш YAML содержит строки приложения с формами множественного числа, разбитыми по отдельным ключам фреймворка, инструмент переведёт каждую форму как отдельное значение. Для файлов gettext PO, i18next или ARB со встроенными правилами плюрализации используйте инструмент «Перевод файлов локализации».
Как работает инструмент, сколько он стоит и как обрабатываются ваши файлы — на странице Перевод JSON, XML и YAML; цены на все инструменты — на странице цены.
Обновлено
Вопросы и ответы
Можно ли перевести файл en.yml из Rails?
Да. Переводятся все значения, ключи и комментарии сохраняются, интерполяции вида %{count} строго проверяются, а корневой ключ en: заменяется на код целевого языка с соответствующим переименованием самого файла.
Сохранятся ли комментарии?
Да. Комментарии, пустые строки и отступы переносятся из исходного файла без изменений — заменяются исключительно значения.
Что произойдёт, если переводу понадобятся кавычки?
Значения, смысл которых без кавычек изменился бы (например, фразы с двоеточием и пробелом), автоматически заключаются в двойные кавычки.
Сколько это стоит?
Файл размером до 300 значений переводится полностью бесплатно. Файлы большего размера (до 50,000 значений) стоят $5 (разовый платёж).
Конфиденциальны ли мои файлы?
Доступ к вашей задаче есть только у вас. Значения отправляются провайдеру ИИ-моделей исключительно для перевода через защищённые каналы, не использующие данные для обучения. Задачи, загруженные без регистрации, удаляются через 7 дн.