Перевод панели доведён до конца, скриншоты всех разделов, английское описание главным
Перевод
* Полный обход исходников скриптом, повторяющим логику подстановки: было
видно 681 строку, которая осталась бы русской. Переведены все — словарь
вырос с 640 до 1304 записей.
* Покрыты разделы, которых раньше не было в проверке: консоль сервера с
описанием всех RCON-команд, планировщик задач, файрвол, базы MySQL, FTP,
автоустановка модов, совладельцы, статистика сервера, страница аккаунта,
сообщения планировщика и все письма.
* Убран ключ-предлог 'в' => 'at': он подменялся ВНУТРИ ещё не переведённых
предложений и давал «at поле имя пользователя». Служебные слова переводятся
только вместе с фразой.
* Формат даты 'd.m.Y в H:i' содержал русское «в» между датой и временем —
теперь проходит через t() (31 вызов date() в 20 файлах), в английском
режиме получается 30.07.2026 14:22.
* Абзацы FAQ разбиты по строкам вёрстки, атрибуты placeholder и tooltip
добавлены отдельными ключами — раньше они не попадали в разбор.
* Живой обход 45 страниц в английском режиме: русскими остались 4 места, и
все намеренно — подпись «Русский» у переключателя, коды языков игрового
сервера в FAQ и регулярное выражение проверки имени.
Скриншоты
* docs/screenshots/{ru,en} — по 38 кадров: вход, регистрация, восстановление
пароля, кабинет, заказ сервера, новости, статус, тикеты, FAQ, веб-хостинг и
вся админка вместе со скрытыми вкладками настроек и переключателем капчи.
* docs/screenshots/README.md и README.ru.md — галереи, где каждый раздел
показан на двух языках рядом.
Документация
* README.md теперь английский (главное описание), русский переехал в
README.ru.md; в начале каждого — кнопка на другой язык.
* Добавлен раздел о доступных играх: 11 игр каталога с кодами,
query-протоколами, диапазонами слотов и портов, плюс список ядер, которые
клиент переключает в один клик.
* Добавлен раздел планов: больше игр по просьбам людей и современные
платёжные системы — PayPal, Stripe, Lava.
Поддерживается и развивается с помощью REDL.IO.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+29
-1
@@ -170,7 +170,35 @@ translation layer:
|
||||
* Anything not yet translated falls back to the original Russian text, so nothing can disappear
|
||||
from the interface
|
||||
|
||||
Details and current coverage: see [GUIDE.en.md](GUIDE.en.md), the "Interface language" section.
|
||||
Translation is applied to the finished response via `ob_start()`, so none of the 200 template files
|
||||
had to be rewritten and the coverage extends to the admin area and the e-mails at once. Replacement
|
||||
only happens on word boundaries — without that a short key corrupts longer words ("Мод" turned
|
||||
"Модуль" into "Modуль").
|
||||
|
||||
### Translation coverage
|
||||
|
||||
The dictionary holds **1304 phrases** — everything the panel shows a human: the client area,
|
||||
ordering a server, server management (the console with every RCON command described, FTP, MySQL
|
||||
databases, the firewall, the task scheduler, mod auto-install), tickets, the whole FAQ, the entire
|
||||
admin area, the e-mails and the scheduler's status messages.
|
||||
|
||||
Coverage is not eyeballed: a script replays the replacement logic against the sources and lists
|
||||
what would stay Russian. By that measure **four** items are uncovered, and all four should be:
|
||||
|
||||
* "Русский" — the label of the language switcher itself;
|
||||
* `rus => Pyccĸий` and `ukr => Українська` in the FAQ — these are game server language codes, not UI;
|
||||
* the name validation regular expression `/^([А-ЯЁ])([а-яё]{1,15})$/u` — code, not text.
|
||||
|
||||
Two traps that produced mixed-language output were fixed separately:
|
||||
|
||||
* the preposition "в" was its own dictionary entry and got substituted inside sentences that were not
|
||||
translated yet, producing "at поле имя пользователя". Function words like that are only translated
|
||||
together with the phrase they belong to;
|
||||
* the date format `d.m.Y в H:i` contains the Russian "в" between the date and the time. It now goes
|
||||
through `t()` (31 `date()` calls across 20 files), so English mode renders `30.07.2026 14:22`.
|
||||
|
||||
Verified by a live crawl of 45 pages in English mode, including the creation forms and the hidden
|
||||
settings tabs. Details: see [GUIDE.en.md](GUIDE.en.md), the "Interface language" section.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user