Русский и английский языки интерфейса
CI / test (push) Successful in 22s
Release / release (push) Successful in 29s

Язык выбирается в шапке панели, а до первого выбора берётся из настроек
браузера. Переведены интерфейс, подписи и описания всех параметров конфигов,
ошибки API и служебные сообщения менеджера в консоли.

Подписи параметров вынесены из app.js в hints-<язык>.json: их больше четырёхсот
на язык, и грузить чужой язык незачем. Сообщения менеджера переводятся на
выходе из API по словарю, где ключом служит русская фраза из кода, — вывод
самого игрового сервера через него проходит без изменений.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 21:14:21 +03:00
co-authored by Claude Opus 5
parent d5a308ac8d
commit 9a224bc070
19 changed files with 5417 additions and 857 deletions
+24 -3
View File
@@ -29,6 +29,8 @@
- **Бэкапы** — ручные и по расписанию, отдельно по каждому профилю, с
ротацией, скачиванием и восстановлением (перед восстановлением
автоматически снимается страховочная копия).
- **Два языка** — русский и английский, с выбором в шапке и автоопределением
по языку браузера.
- **Установка и обновление** сервера через SteamCMD прямо из панели.
- **Обновление самой панели** — кнопкой из интерфейса или одной командой в
терминале.
@@ -162,6 +164,18 @@ sudo /opt/pzmanager/install.sh --uninstall --purge
curl -fsSL https://gitea.hsrv.site/mrleo1nid/pzmanager/raw/branch/main/deploy/get.sh | sudo bash -s -- --uninstall --purge
```
## Язык интерфейса
Панель говорит по-русски и по-английски. Язык выбирается списком в шапке (и на
экране входа, до того как вошли), а до первого выбора берётся из настроек
браузера: русский — русским, всем остальным — английский. Выбор запоминается в
браузере, поэтому у каждого, кто заходит в панель, он свой.
Переводится всё, что показывает панель: интерфейс, подписи и описания всех
параметров `servertest.ini` и `SandboxVars.lua`, ошибки и служебные сообщения
менеджера в консоли. Вывод самого игрового сервера остаётся как есть — он
приходит от Project Zomboid.
## Моды
Project Zomboid хранит моды в двух строках конфига: `WorkshopItems` — что
@@ -201,9 +215,10 @@ Mod ID, который нужен серверу, лежит внутри сам
совпадение. Ключи, которых панель не знает (в новой версии игры их всегда
добавляют), не теряются — они собираются в раздел «Прочее».
Описания параметров панель берёт из самого конфига: игра пишет их
комментариями на языке сервера. Полный текст виден при наведении, начало —
прямо под полем.
Подписи и описания у панели свои, на языке интерфейса: игра пишет свои
комментарии на языке сервера, а на Linux он почти всегда английский. Расшифровку
конкретных значений (что означает 1, 2, 3) панель добавляет из самого конфига.
Полный текст виден при наведении, начало — прямо под полем.
Правка меняет ровно ту строку, которую поправили: комментарии, порядок и
переводы строк файла сохраняются, а рядом остаётся копия прежней версии с
@@ -445,6 +460,12 @@ make run # локальный запуск с конфигом в ./dev
Веб-интерфейс — обычные HTML, CSS и JS в `web/static`, без сборщика; при
`go build` они вшиваются в бинарник через `embed`.
Переводы лежат рядом: строки интерфейса — в `web/static/i18n.js`, подписи
параметров конфигов — в `web/static/hints-ru.json` и `hints-en.json`
(загружается только нужный язык), сообщения самого менеджера — в
`internal/i18n/catalog.go`, где ключом служит русская фраза из кода. Тесты в
`web` и `internal/i18n` следят, чтобы словари не разъезжались.
## Лицензия
[MIT](LICENSE) — делайте с кодом что угодно, но без каких-либо гарантий.