Интернационализация для всех сервисов сервера
This commit is contained in:
parent
7491ce455d
commit
ba8cea01e7
13 changed files with 1011 additions and 206 deletions
|
|
@ -20,7 +20,9 @@ from models.network import (
|
|||
WiFiDevice,
|
||||
)
|
||||
import subprocess
|
||||
|
||||
from utils.i18n import get_translations, _
|
||||
from babel.support import Translations
|
||||
from fastapi import Depends
|
||||
|
||||
class NetworkService:
|
||||
"""Сервис для взаимодействия с NetworkManager через D-Bus.
|
||||
|
|
@ -29,7 +31,7 @@ class NetworkService:
|
|||
их конфигурациях IP, Wi-Fi и состояниях.
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, translations: Translations = Depends(get_translations("services"))):
|
||||
"""Инициализирует сервис NetworkManager.
|
||||
|
||||
Устанавливает системный D-Bus и создаёт объекты для взаимодействия с
|
||||
|
|
@ -38,6 +40,7 @@ class NetworkService:
|
|||
self.system_bus = sd_bus_open_system()
|
||||
self.nm = NetworkManager(self.system_bus)
|
||||
self.nm_settings = NetworkManagerSettings(self.system_bus)
|
||||
self.translations = translations
|
||||
|
||||
async def get_ip_method(self, device: NetworkDeviceGeneric, ip_type: str) -> str:
|
||||
"""Получает метод IP (например, "auto", "manual") для указанного устройства.
|
||||
|
|
@ -226,9 +229,9 @@ class NetworkService:
|
|||
hostname = result.stdout.strip()
|
||||
return {"hostname": hostname}
|
||||
except subprocess.CalledProcessError as e:
|
||||
raise RuntimeError(f"Failed to execute hostname: {e}")
|
||||
raise RuntimeError(self.translations.gettext("Не удалось выполнить команду hostname: {error}").format(error=str(e)))
|
||||
except Exception as e:
|
||||
raise RuntimeError(f"Error processing hostname output: {e}")
|
||||
raise RuntimeError(self.translations.gettext("Ошибка обработки вывода hostname: {error}").format(error=str(e)))
|
||||
|
||||
async def get_interfaces_by_state(
|
||||
self,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue