Skip to content

Таблица редактора и продвинутые возможности

О запуске редактора и его дашборде — на странице UI редактора локалей.

Таблица редактора

  • Инлайн-редактирование — клик по любой ячейке для редактирования на месте; сохранение через Enter или ✓, отмена через Escape
  • Группы по неймспейсам — ключи группируются по префиксу через точку; группы сворачиваются/разворачиваются; произвольная глубина вложенности
  • Групповые операции — добавить подгруппу, добавить ключ, переименовать неймспейс, удалить группу
  • Инлайн-действия над ключом — переименовать, дублировать, добавить/изменить заметку, удалить
  • Пакетный выбор и удаление — чекбоксы строк + панель массового удаления
  • Карта использования — разверните любую строку ключа, чтобы увидеть, какие исходные файлы на него ссылаются; кликабельные чипы файлов открывают файл в вашей IDE (VS Code, Cursor, WebStorm, PhpStorm, IntelliJ)
  • Валидация ячеек — встроенные предупреждения о несовпадении плейсхолдеров, несовпадении HTML-тегов, ошибках синтаксиса ICU, длине > 2.5× от референса
  • Память переводов — ранее сохранённые переводы для похожих исходных строк показываются как чипы-подсказки в один клик
  • Предпросмотр множественного числа — для ICU-ключей показывает отрендеренные формы для n = 0, 1, 2, 5, 11, 21 по всем локалям
  • Предпросмотр интерполяции — разверните строку ключа, чтобы заполнить значения {variable} и увидеть отрендеренный результат по каждой локали
  • Навигация с клавиатуры — стрелки перемещаются между ячейками; Enter начинает редактирование; Пробел переключает выбор
  • Живая перезагрузка — при изменении файла локали на диске затронутая локаль перезагружается автоматически через SSE

Панель инструментов и заголовок

ВозможностьСочетание клавишОписание
Быстрый переходCtrl+PНечёткий поиск по всем ключам по имени; мгновенный переход
Поиск и заменаCtrl+HПоиск значений по всем локалям или конкретной; предпросмотр и применение замен
ОтменитьCtrl+ZОтменить последнее сохранённое изменение (до 100 шагов)
Экспорт CSVСкачать все переводы в виде CSV-файла
Импорт CSVЗагрузить CSV; предпросмотр различий перед применением
Экспорт XLIFF / POЭкспортировать локаль для CAT-инструментов / Poedit / Weblate
Импорт XLIFF / POИмпортировать завершённый файл от переводчика
Перевести отсутствующееАвтоперевод отсутствующих значений через LibreTranslate или DeepL
Справка по сочетаниям?Показать шпаргалку по сочетаниям клавиш

Панель фильтров

ФильтрОписание
all / missing / completeПоказать все ключи, только с отсутствующими переводами или только полностью переведённые
unusedПоказать только ключи, на которые нет ссылок ни в одном исходном файле
phantomПоказать только ключи, используемые в коде, но отсутствующие во всех файлах локалей
staleПоказать только ключи, чьё референсное значение изменилось с момента последней проверки

Обнаружение устаревших переводов

Когда установлено staleTracking: true, редактор отслеживает изменения референсной локали и помечает переводы в других локалях как потенциально устаревшие.

json
// i18n-kit.config.json
{
  "staleTracking": true
}

Как это работает:

  1. Когда вы сохраняете значение в референсной локали через редактор, хэш SHA1 сохраняется в i18n-kit.notes.json под _hash.<key>.
  2. При следующей загрузке редактор сравнивает каждое референсное значение с сохранённым хэшем.
  3. Ключи с несовпадающим хэшем отображаются со значком ⚠ outdated в редакторе.
  4. Специальный фильтр stale показывает только устаревшие ключи.
  5. Клик по кнопке Отметить как проверенное сбрасывает хэш — используйте это после обновления всех переводов.

Экспорт и импорт XLIFF / PO

Отраслевые стандартные форматы файлов перевода — совместимы с Phrase, Lokalise, Weblate, OmegaT, Poedit и большинством CAT-инструментов.

Файл XLIFF содержит <source> (референсный текст) и <target> (текущий перевод). Заметки переводчика из редактора отображаются как элементы <note>. Файл PO использует msgctxt для имени ключа, msgid для исходного текста и msgstr для перевода.

Заголовок редактора локалей содержит кнопки Export XLIFF, Export PO и Import, которые открывают диалоги выбора локали.

Машинный перевод

Редактор может автоматически перевести все отсутствующие ключи одним кликом. Поддерживаются два движка — выбор в Settings → Translation engine.

LibreTranslate

Открытый, самостоятельно размещаемый API перевода. Публичный инстанс на https://libretranslate.com бесплатен при низкой нагрузке.

DeepL

Более высокое качество перевода. Бесплатный план покрывает 500 000 символов/месяц — зарегистрируйтесь на deepl.com/pro для DeepL API Free.

Ключи, оканчивающиеся на :fx, автоматически используют бесплатный эндпоинт api-free.deepl.com.

Обработка плейсхолдеров

Оба движка получают строки, в которых {variable} и блоки множественного числа ICU ({count, plural, ...}) заменены на непрозрачные XML-теги (<x id="0"/>). После перевода теги подставляются обратно — плейсхолдеры переживают перевод неизменными независимо от изменений порядка слов.