diff --git a/src/gitea_runner_manager/cli.py b/src/gitea_runner_manager/cli.py index 94d2bdb..5d8627b 100644 --- a/src/gitea_runner_manager/cli.py +++ b/src/gitea_runner_manager/cli.py @@ -339,7 +339,7 @@ def list_runners() -> None: click.echo(_("No runners registered. Use 'grm install' to add one.")) return - click.echo(f"{'NAME':<20} {'HOST':<18} {'USER':<12} {'MODE':<8} {'STATUS'}") + click.echo(f"{_('NAME'):<20} {_('HOST'):<18} {_('USER'):<12} {_('MODE'):<8} {_('STATUS')}") click.echo("-" * 70) for r in runners: click.echo(f"{r['name']:<20} {r['host']:<18} {r['user']:<12} {r['mode']:<8} {r['status']}") diff --git a/src/gitea_runner_manager/i18n.py b/src/gitea_runner_manager/i18n.py index 5afb277..05baf1a 100644 --- a/src/gitea_runner_manager/i18n.py +++ b/src/gitea_runner_manager/i18n.py @@ -362,6 +362,69 @@ TRANSLATIONS: dict[str, dict[str, str]] = { "ru": "Ошибка списка: {error}", "zh": "列表失败: {error}", }, + "NAME": { + "en": "NAME", + "bg": "ИМЕ", + "de": "NAME", + "ru": "ИМЯ", + "zh": "名称", + }, + "HOST": { + "en": "HOST", + "bg": "ХОСТ", + "de": "HOST", + "ru": "ХОСТ", + "zh": "主机", + }, + "USER": { + "en": "USER", + "bg": "ПОТРЕБИТЕЛ", + "de": "BENUTZER", + "ru": "ПОЛЬЗОВАТЕЛЬ", + "zh": "用户", + }, + "MODE": { + "en": "MODE", + "bg": "РЕЖИМ", + "de": "MODUS", + "ru": "РЕЖИМ", + "zh": "模式", + }, + "STATUS": { + "en": "STATUS", + "bg": "СТАТУС", + "de": "STATUS", + "ru": "СТАТУС", + "zh": "状态", + }, + "active": { + "en": "active", + "bg": "активен", + "de": "aktiv", + "ru": "активен", + "zh": "活跃", + }, + "inactive": { + "en": "inactive", + "bg": "неактивен", + "de": "inaktiv", + "ru": "неактивен", + "zh": "不活跃", + }, + "failed": { + "en": "failed", + "bg": "неуспешен", + "de": "fehlgeschlagen", + "ru": "сбой", + "zh": "失败", + }, + "unknown": { + "en": "unknown", + "bg": "неизвестен", + "de": "unbekannt", + "ru": "неизвестно", + "zh": "未知", + }, } diff --git a/src/gitea_runner_manager/runner_manager.py b/src/gitea_runner_manager/runner_manager.py index d0bc984..d097407 100644 --- a/src/gitea_runner_manager/runner_manager.py +++ b/src/gitea_runner_manager/runner_manager.py @@ -229,13 +229,17 @@ class RunnerManager: service_status = lines[-1].strip() if lines else "unknown" except Exception: service_status = "unknown" + # Translate known systemd status values + translated_status = _( + service_status if service_status in {"active", "inactive", "failed", "unknown"} else "unknown" + ) result.append( { "name": name, "host": host, "user": user, "mode": mode, - "status": service_status, + "status": translated_status, } ) return result