▤ Руководства

Локализация интерфейса

Содержание

Исходный язык интерфейса — русский. Новый язык подключается только словарями — правка кода не нужна.

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

  • Язык = папка resources/lang/<код>/. В ней meta.json ({"name":"English","dir":"ltr","locale":"en_US"}; dir = rtl для арабского и иврита) и любое число файлов *.tsv.
  • Строка словаря: русский текст<TAB>перевод. Экранирование: \n, \t, \\; ключ, начинающийся с #, пишется как \#. Строки, начинающиеся с #, — комментарии.
  • Ключ с {имя} — шаблон: Анализ сайта {h} → Site analysis {h}; значения подстановок переводятся рекурсивно.
  • Страницы переводятся на выходе (I18n::filter): текст разбивается на фразы, теги внутри фразы (<b>, <a>) сохраняются; переводятся также placeholder, title, alt, aria-label, value кнопок, строки в JSON/скриптах и строки <pre>. <textarea> не трогается. JSON публичного API (/api/*) и MCP не переводятся.
  • Нет перевода — показывается русский текст. Язык выбирается cookie sm_lang (переключатель в подвале, /lang/<код>); автоопределения по Accept-Language нет.
  • Строки скриптов обёрнуты в __('…'); словарь отдаёт /i18n.js.
  • Справка: статьи, разделы и руководства по умолчанию берутся из русского текста и переводятся словарём; для точного перевода положите оверлеи resources/help/<код>/articles.json, sections.json и <ИМЯ>.md.
  • Слова подтверждения (ВОССТАНОВИТЬ/УДАЛИТЬ) принимаются и на английском (RESTORE/DELETE).

Добавить язык

  1. php bin/i18n-export.php <код> "Название" — создаст resources/lang/<код>/meta.json и заготовку 00-ui.tsv со всеми строками.
  2. Заполнить правую колонку (пустое значение = остаётся русский). Дополнения можно держать в отдельных файлах 10-….tsv, 20-….tsv.
  3. Проверить полноту: php bin/i18n-check.php <код> (шаблоны и скрипты). Чтобы увидеть то, что реально осталось русским при работе, запустите сервис с SEOMASTER_I18N_LOG=/путь/файл и передайте --log=/путь/файл.
  4. По желанию — оверлеи справки в resources/help/<код>/.

Что переведено

Весь интерфейс, кнопки, подсказки, справочный центр, инструменты, отчёты и всплывающие сообщения скриптов. Остаются русскими: журнал разработчика (самотесты, список изменений), записи блога, письма, PDF и выгрузки, тексты MCP/API. Качество перевода фрагментов вне словаря зависит от словаря.

Доступные языки

  • Русский — исходный язык, словаря не требует.
  • English (en) — полный словарь.
  • Español (es, v156) — полный словарь интерфейса (те же файлы *.tsv, что и у английского; форма обращения «usted»). Справочный центр, MCP и документация на испанский не переведены: показываются русский или английский тексты. Перевод выполнен без профессионального редактора — рекомендуется вычитка носителем языка.