Локализация интерфейса
Исходный язык интерфейса — русский. Новый язык подключается только словарями — правка кода не нужна.
Как это работает
- Язык = папка
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).
Добавить язык
php bin/i18n-export.php <код> "Название"— создастresources/lang/<код>/meta.jsonи заготовку00-ui.tsvсо всеми строками.- Заполнить правую колонку (пустое значение = остаётся русский). Дополнения можно держать в отдельных файлах
10-….tsv,20-….tsv. - Проверить полноту:
php bin/i18n-check.php <код>(шаблоны и скрипты). Чтобы увидеть то, что реально осталось русским при работе, запустите сервис сSEOMASTER_I18N_LOG=/путь/файли передайте--log=/путь/файл. - По желанию — оверлеи справки в
resources/help/<код>/.
Что переведено
Весь интерфейс, кнопки, подсказки, справочный центр, инструменты, отчёты и всплывающие сообщения скриптов. Остаются русскими: журнал разработчика (самотесты, список изменений), записи блога, письма, PDF и выгрузки, тексты MCP/API. Качество перевода фрагментов вне словаря зависит от словаря.
Доступные языки
- Русский — исходный язык, словаря не требует.
- English (
en) — полный словарь. - Español (
es, v156) — полный словарь интерфейса (те же файлы*.tsv, что и у английского; форма обращения «usted»). Справочный центр, MCP и документация на испанский не переведены: показываются русский или английский тексты. Перевод выполнен без профессионального редактора — рекомендуется вычитка носителем языка.