i18n ключевая разница
Сравните два файла JSON локализации и перечислите ключи перевода, отсутствующие в каждом из них.
i18n ключевая разница
Вставьте базовый файл локализации как JSON A и переведенный файл как JSON B, и этот инструмент сведет оба пути к ключам с точечной записью — «nav.home», «errors.notFound» — а затем сообщит, где именно они расходятся. Он создается на тот момент, когда файл перевода отстает от исходного кода: на новом экране отображается несколько строк, кто-то напрямую редактирует английскую копию или локаль была машинно переведена несколько месяцев назад и никогда не возвращалась.
Выберите, о чем сообщить: ключи, отсутствующие в B (добавлены в исходный код, но не переведены), ключи, отсутствующие в A (оставшиеся строки, оставшиеся после удаления функции), или оба сразу. Четвертый режим, «непереведенный», перечисляет ключи, существующие в обоих файлах, с байт-идентичными значениями — сильный сигнал, что строка была скопирована, а не переведена, поскольку реальный перевод соответствует источнику только по совпадению. Вложенные объекты обрабатываются рекурсивно независимо от глубины файла; массивы сравниваются как целые значения, а не индексируются, поскольку реальные файлы локализации вложены в объекты и обрабатывают массивы как непрозрачные данные (формы множественного числа, упорядоченные списки), а не как пронумерованные ключи.
Выходные данные поступают в виде простого списка, по одному пути в каждой строке, или в формате JSON, готового для использования в сценарии или проверке CI, которая не позволяет построить сборку при отклонении переводов. Подсчет над выводом всегда показывает полную картину независимо от того, какой режим отчета выбран — сколько ключей находится в A, сколько в B и сколько отсутствует с каждой стороны — так что вы можете сразу уловить разницу, прежде чем читать детали. О недопустимом JSON в любом файле сообщается по имени с цитированием собственного сообщения синтаксического анализатора, поэтому вы сразу узнаете, какой файл нужно исправить.
Все работает локально в вашем браузере: оба файла анализируются и сравниваются на вашем устройстве и никогда никуда не загружаются, что важно, поскольку перед запуском файлы локализации часто содержат невыпущенные названия функций и внутреннюю терминологию. Используйте его, чтобы просмотреть запрос на включение переводчика, проверить локаль перед выпуском или найти каждую строку, которую рефакторинг молча удалил.