Русский и английский языки интерфейса
Язык выбирается в шапке панели, а до первого выбора берётся из настроек браузера. Переведены интерфейс, подписи и описания всех параметров конфигов, ошибки API и служебные сообщения менеджера в консоли. Подписи параметров вынесены из app.js в hints-<язык>.json: их больше четырёхсот на язык, и грузить чужой язык незачем. Сообщения менеджера переводятся на выходе из API по словарю, где ключом служит русская фраза из кода, — вывод самого игрового сервера через него проходит без изменений. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -26,7 +26,7 @@ func (s *Server) handleApplyUpdate(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if !s.updater.CanApply(r.Context()) {
|
||||
writeError(w, http.StatusPreconditionFailed, updater.ErrNoAdmin.Error())
|
||||
writeError(w, r, http.StatusPreconditionFailed, updater.ErrNoAdmin.Error())
|
||||
return
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ func (s *Server) handleApplyUpdate(w http.ResponseWriter, r *http.Request) {
|
||||
return s.updater.Apply(ctx, log, body.Version)
|
||||
})
|
||||
if err != nil {
|
||||
writeOpError(w, err)
|
||||
writeOpError(w, r, err)
|
||||
return
|
||||
}
|
||||
writeJSON(w, http.StatusAccepted, map[string]any{"task": name})
|
||||
@@ -49,7 +49,7 @@ func (s *Server) handleApplyUpdate(w http.ResponseWriter, r *http.Request) {
|
||||
// handleRestartManager перезапускает саму панель.
|
||||
func (s *Server) handleRestartManager(w http.ResponseWriter, r *http.Request) {
|
||||
if !s.updater.CanApply(r.Context()) {
|
||||
writeError(w, http.StatusPreconditionFailed, updater.ErrNoAdmin.Error())
|
||||
writeError(w, r, http.StatusPreconditionFailed, updater.ErrNoAdmin.Error())
|
||||
return
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ func (s *Server) handleRestartManager(w http.ResponseWriter, r *http.Request) {
|
||||
return s.updater.Restart(ctx, log)
|
||||
})
|
||||
if err != nil {
|
||||
writeOpError(w, err)
|
||||
writeOpError(w, r, err)
|
||||
return
|
||||
}
|
||||
writeJSON(w, http.StatusAccepted, map[string]any{"task": name})
|
||||
|
||||
Reference in New Issue
Block a user