Вставьте исходный шаблон
Используйте строку традиционного MF1 или загрузите пример plural, select либо вложенных ветвей. Неверный пример показывает диагностику при отсутствии обязательной ветви other. Синтаксис MF2 вроде {$name} сюда не подходит.
Инструменты локализации
Введите традиционный шаблон ICU, JSON-объект и локаль, чтобы увидеть обычный результат и семь граничных значений.
Добавьте аргумент plural или selectordinal, чтобы увидеть таблицу.
Сообщение и параметры обрабатываются только в этой вкладке браузера.
Категории берутся из Intl этого браузера. Версия CLDR зависит от браузера и может отличаться от версии приложения.
Результат устарел. Повторите проверку перед экспортом.
Русская фраза для 1 может отличаться не только от 2, но и от 11 и 21. Проверка ICU MessageFormat запускает один шаблон с разными числами и показывает выбранную категорию вместе с готовым текстом.
Проверка ICU MessageFormat полезна перед выпуском отдельной строки перевода: она выявляет пропущенные параметры, синтаксические ошибки и неверные вложенные ветви select. Шаблон обрабатывает FormatJS, а правила множественного числа берутся из Intl текущего браузера. Если приложение использует другой ICU, повторите финальную проверку там.
Одна удачная фраза не подтверждает остальные числовые ветви.
Проверка ICU MessageFormat выполняет шаблон для 0, 1, 2, 5, 11, 21 и 101. Точное условие =0 проверяется раньше категории plural. Таблица показывает и категорию, и результат, не переписывая исходный JSON.
Для {name} нужен одноимённый ключ JSON с тем же регистром букв. Инструмент сообщает о пропущенном значении, ошибке синтаксиса и её позиции. Вложенные select и plural проходят через один парсер FormatJS, поэтому необработанный плейсхолдер не считается успехом.
Используйте строку традиционного MF1 или загрузите пример plural, select либо вложенных ветвей. Неверный пример показывает диагностику при отсутствии обязательной ветви other. Синтаксис MF2 вроде {$name} сюда не подходит.
Передайте один JSON-объект. Имена ключей должны точно совпадать с аргументами сообщения. Измените тег локали BCP 47 и сравните категории; данные CLDR в браузере не имеют закреплённой здесь версии.
Выберите числовой параметр и сравните 0, 1, 11 и 21. Для каждой строки временно меняется только выбранное число. После изменения ввода прежний результат нельзя копировать или скачивать.
Проверка ICU MessageFormat применяет один движок к синтаксису и результату MF1. Форматирование сообщений ICU включает plural, select, selectordinal, offset, вложенные ветви и базовые числа.
Тест правил множественного числа полезнее списка категорий: рядом с one, few и many находится законченная фраза. Так видна разница между 11 и 21 в выбранной локали.
Проверка синтаксиса ICU показывает строку и столбец, если парсер их сообщает. Подстановка параметров отделена от ошибок JSON и неподдерживаемой локали; после правки старый вывод нельзя экспортировать.
Автозапуск ждёт паузу при вводе. Пример и очистка сначала показывают, что будет заменено и сколько символов затронуто. После применения можно один раз вернуть ввод и результат.
Ветки select сравниваются с переданным значением как со строкой. Female и female — разные варианты. Укажите точное значение в JSON или приведите регистр в своём приложении до форматирования.
Проверьте локаль, наличие обязательной ветви other и категории, нужные данному языку. Проверка ICU MessageFormat позволяет сравнить 0, 1, 2, 5, 11, 21 и 101, но итог нужно сверить с движком приложения.
Поддержка Smartcat зависит от конкретной интеграции и её формата; эта страница её не проверяет. Вставьте отдельную готовую строку MF1 и JSON-параметры, чтобы проверить логику plural после экспорта.
Для русского важны различия 1, 2–4 и 5–20, а также исключение 11–14. Проверьте, какая категория выбирается для 11 и 21; если шаблон использует другую систему plural, результаты могут отличаться.
В Android язык ресурсов и локаль устройства управляются приложением. Здесь можно явно выбрать ru-RU и увидеть результат MF1 в браузере, но инструмент не меняет настройки Android и не заменяет тест на устройстве.
Нашли отличие от результата вашего приложения?
Измените count в примере и сравните фразы для 11 и 21.
Возвращайтесь к проверке ICU MessageFormat, если перевод ломается только на отдельном числе.
Работает локально в браузере.