Сверка локализаций по ключам
Сравнить наборы переводов, найти пропуски, лишние ключи и несогласованные плейсхолдеры.
Методика и примеры
Сверка локализаций по ключам
Наборы локализаций связываются по ключам, выделяются отсутствующие/лишние ключи и изменения. Простые именованные/printf-плейсхолдеры сравниваются как мультимножества. Вложенные JSON-локали разворачиваются по JSON Pointer без сетевых запросов.
Ограничения
Точные ключи сохраняют текстовые ID и ведущие нули. Пустые ключи требуют проверки. Нечёткие алгоритмы — до 200 000 пар / 5000 кандидатов с ручным подтверждением; оценка сходства не является вероятностью. ISO-время требует явной зоны. Никакие внешние системы не изменяются.
Проверяемый пример
Входные данные примера
key;value
hello;Hello {name}
bye;Bye| Статус | Ключ | Строка A | Строка B | Поле | Значение A | Значение B |
|---|---|---|---|---|---|---|
| изменена | hello | 2 | 2 | value | Hello {name} | Привет |
| удалена | bye | 3 | ["bye","Bye"] | |||
| добавлена | extra | 3 | ["extra","Лишнее"] |
Плейсхолдеры и теги
Оригинальные и переводные строки связываются по ключу. Сравниваются мультимножества простых переменных/printf-плейсхолдеров и HTML-тегов; отсутствующие и лишние ключи выводятся отдельно. Сложные plural/select-выражения ICU не интерпретируются этим режимом.
Ограничения
До 2 млн символов на источник; регулярные правила имеют таймаут и отмену. Поддерживаемые форматы и правила показаны на странице. Наборы правил не заменяют лингвистическую, юридическую или предметную проверку. Файлы и тексты не отправляются на сервер.
Проверяемый пример
Входные данные примера
key;value
hello;Hello {name}
count;<b>{n}</b> items| Ключ | Нарушение | Оригинал | Перевод |
|---|---|---|---|
| hello | параметры различаются | name | |
| count | HTML-теги различаются | </b>;<b> |
