From a2a5805e07de5c1649cae5a023aab9ec8a46438e Mon Sep 17 00:00:00 2001 From: Nippy Date: Fri, 6 Nov 2026 20:11:12 +0100 Subject: center --- .../raveos_center/oldalak/rendszer/__init__.py | 5 +- .../raveos_center/oldalak/rendszer/driverek.py | 43 ++++---- .../raveos_center/oldalak/rendszer/gaming.py | 76 ++++++------- .../raveos_center/oldalak/rendszer/karbantartas.py | 63 ++++++----- .../raveos_center/oldalak/rendszer/mentes.py | 69 ++++++------ .../raveos_center/oldalak/rendszer/secureboot.py | 93 ++++++++-------- .../raveos_center/oldalak/rendszer/snapshotok.py | 120 ++++++++++++--------- 7 files changed, 253 insertions(+), 216 deletions(-) (limited to 'raveos-center/raveos_center/oldalak/rendszer') diff --git a/raveos-center/raveos_center/oldalak/rendszer/__init__.py b/raveos-center/raveos_center/oldalak/rendszer/__init__.py index 60b5768..a1660be 100644 --- a/raveos-center/raveos_center/oldalak/rendszer/__init__.py +++ b/raveos-center/raveos_center/oldalak/rendszer/__init__.py @@ -1,9 +1,10 @@ import importlib from raveos_center.elemek import Fulsor, Oldal, Verem +from raveos_center.forditas import tr AZON = "rendszer" -MENU = "Rendszer" +MENU = tr("Rendszer") IKON = "rendszer" FULEK = ["driverek", "gaming", "karbantartas", "snapshotok", "secureboot", "mentes"] @@ -11,7 +12,7 @@ FULEK = ["driverek", "gaming", "karbantartas", "snapshotok", "secureboot", "ment class Rendszer(Oldal): def __init__(self, kozpont): - super().__init__(kozpont, "DRIVEREK · GAMING · KARBANTARTÁS · SNAPSHOTOK", "Rendszer", kitolt=True) + super().__init__(kozpont, tr("DRIVEREK · GAMING · KARBANTARTÁS · SNAPSHOTOK"), tr("Rendszer"), kitolt=True) self.fulek = {} modulok = [importlib.import_module(f"{__name__}.{nev}") for nev in FULEK] self.fulsor = Fulsor([(m.AZON, m.CIM) for m in modulok], self.valt) diff --git a/raveos-center/raveos_center/oldalak/rendszer/driverek.py b/raveos-center/raveos_center/oldalak/rendszer/driverek.py index 499e87a..84ecbb0 100644 --- a/raveos-center/raveos_center/oldalak/rendszer/driverek.py +++ b/raveos-center/raveos_center/oldalak/rendszer/driverek.py @@ -4,10 +4,11 @@ from PyQt6.QtWidgets import QHBoxLayout, QMessageBox, QVBoxLayout, QWidget from raveos_center import driverek, muveletek from raveos_center.elemek import Kartya, cimke, gomb from raveos_center.folyamat import FolyamatAblak +from raveos_center.forditas import tr from raveos_center.hatter import ervenytelenit, gyorsitott AZON = "driverek" -CIM = "Driverek" +CIM = tr("Driverek") class EszkozSor(QWidget): @@ -23,21 +24,21 @@ class EszkozSor(QWidget): nev = cimke(elem["nev"], tordel=True) nev.setStyleSheet("font-size: 14px; font-weight: 600;") szovegek.addWidget(nev) - szovegek.addWidget(cimke(f"Jelenlegi driver: {elem['jelenlegi'] or 'nincs betöltve'}", "monohalvany")) + szovegek.addWidget(cimke(tr("Jelenlegi driver: {0}", elem["jelenlegi"] or tr("nincs betöltve")), "monohalvany")) if elem["hianyzik"]: - hiany = cimke(f"Hiányzó csomagok: {' '.join(elem['hianyzik'])}", "monohalvany", True) + hiany = cimke(tr("Hiányzó csomagok: {0}", ' '.join(elem['hianyzik'])), "monohalvany", True) hiany.setStyleSheet("color: #d9a441;") szovegek.addWidget(hiany) if elem["megjegyzes"]: szovegek.addWidget(cimke(elem["megjegyzes"], "halvany", True)) sor.addLayout(szovegek, 1) if elem["hianyzik"]: - g = gomb("Ajánlott telepítése", fo=True, kicsi=True) + g = gomb(tr("Ajánlott telepítése"), fo=True, kicsi=True) g.setEnabled(muveletek.helper_elerheto()) g.clicked.connect(lambda: telepit([elem])) sor.addWidget(g, 0, Qt.AlignmentFlag.AlignVCenter) else: - rendben = cimke("RENDBEN", "allapotcimke") + rendben = cimke(tr("RENDBEN"), "allapotcimke") rendben.setProperty("szin", "zold") sor.addWidget(rendben, 0, Qt.AlignmentFlag.AlignVCenter) @@ -54,17 +55,17 @@ class Driverek(QWidget): fej = QHBoxLayout() fej.addWidget( cimke( - "A RaveOS felismeri a géped eszközeit, és megmutatja, melyikhez van ajánlott driver. " - "A videokártya drivere a telepítéskor is ugyanígy kerül fel.", + tr("A RaveOS felismeri a géped eszközeit, és megmutatja, melyikhez van ajánlott driver. " + "A videokártya drivere a telepítéskor is ugyanígy kerül fel."), "masodlagos", True, ), 1, ) - self.ujra = gomb("Újraellenőrzés", kicsi=True) + self.ujra = gomb(tr("Újraellenőrzés"), kicsi=True) self.ujra.clicked.connect(self.frissit) fej.addWidget(self.ujra, 0, Qt.AlignmentFlag.AlignTop) - self.mind = gomb("Minden ajánlott telepítése", fo=True, kicsi=True) + self.mind = gomb(tr("Minden ajánlott telepítése"), fo=True, kicsi=True) self.mind.clicked.connect(lambda: self._telepit([e for e in self.elemek if e["hianyzik"]])) self.mind.hide() fej.addWidget(self.mind, 0, Qt.AlignmentFlag.AlignTop) @@ -87,7 +88,7 @@ class Driverek(QWidget): def _hiba(self, uzenet): self.ujra.setEnabled(True) - self.figyelem.setText(f"A hardver felismerése nem sikerült: {uzenet}") + self.figyelem.setText(tr("A hardver felismerése nem sikerült: {0}", uzenet)) self.figyelem.show() def _kesz(self, elemek): @@ -101,12 +102,12 @@ class Driverek(QWidget): if w: w.deleteLater() if not muveletek.helper_elerheto(): - self.figyelem.setText("A RaveOS Center rendszerhelpere nincs telepítve, ezért driver nem telepíthető.") + self.figyelem.setText(tr("A RaveOS Center rendszerhelpere nincs telepítve, ezért driver nem telepíthető.")) self.figyelem.show() else: self.figyelem.hide() if driverek.szkript() is None: - self.figyelem.setText("A driverfelismerő szkript nincs telepítve.") + self.figyelem.setText(tr("A driverfelismerő szkript nincs telepítve.")) self.figyelem.show() for azon, nev in driverek.KATEGORIAK: sajat = [e for e in elemek if e["kategoria"] == azon] @@ -125,7 +126,7 @@ class Driverek(QWidget): cs.addWidget(kartya) self.lista.addWidget(csoport) if not elemek: - self.lista.addWidget(cimke("Nem található kezelhető eszköz.", "halvany")) + self.lista.addWidget(cimke(tr("Nem található kezelhető eszköz."), "halvany")) hianyzo = [e for e in elemek if e["hianyzik"]] self.mind.setVisible(len(hianyzo) > 1) self.mind.setEnabled(muveletek.helper_elerheto()) @@ -136,23 +137,23 @@ class Driverek(QWidget): lepesek = [] egyeb = [] if any(e["gpu"] for e in elemek): - lepesek.append(muveletek.Lepes("Videokártya driverek", muveletek.root("driverek"))) + lepesek.append(muveletek.Lepes(tr("Videokártya driverek"), muveletek.root("driverek"))) for e in elemek: if not e["gpu"]: egyeb += [p for p in e["hianyzik"] if p not in egyeb] if egyeb: - lepesek.append(muveletek.Lepes("További driverek", muveletek.root("telepit", *egyeb))) - ablak = FolyamatAblak(self, "Driverek telepítése", lepesek, "A driverek telepítve.") + lepesek.append(muveletek.Lepes(tr("További driverek"), muveletek.root("telepit", *egyeb))) + ablak = FolyamatAblak(self, tr("Driverek telepítése"), lepesek, tr("A driverek telepítve.")) ablak.exec() if ablak.rendben and any(driverek.ujrainditas_kell(e) for e in elemek): doboz = QMessageBox(self) - doboz.setWindowTitle("Újraindítás szükséges") - doboz.setText("Az új videokártya-driver az újraindítás után töltődik be.") - most = doboz.addButton("Újraindítás most", QMessageBox.ButtonRole.AcceptRole) - doboz.addButton("Később", QMessageBox.ButtonRole.RejectRole) + doboz.setWindowTitle(tr("Újraindítás szükséges")) + doboz.setText(tr("Az új videokártya-driver az újraindítás után töltődik be.")) + most = doboz.addButton(tr("Újraindítás most"), QMessageBox.ButtonRole.AcceptRole) + doboz.addButton(tr("Később"), QMessageBox.ButtonRole.RejectRole) doboz.exec() if doboz.clickedButton() is most: - muveletek.Futtato(self).indit([muveletek.Lepes("Újraindítás", ["systemctl", "reboot"])]) + muveletek.Futtato(self).indit([muveletek.Lepes(tr("Újraindítás"), ["systemctl", "reboot"])]) self.frissit() diff --git a/raveos-center/raveos_center/oldalak/rendszer/gaming.py b/raveos-center/raveos_center/oldalak/rendszer/gaming.py index 5d410e9..dfd91aa 100644 --- a/raveos-center/raveos_center/oldalak/rendszer/gaming.py +++ b/raveos-center/raveos_center/oldalak/rendszer/gaming.py @@ -4,21 +4,22 @@ from PyQt6.QtWidgets import QComboBox, QHBoxLayout, QMessageBox, QProgressBar, Q from raveos_center import gaming, muveletek, proton from raveos_center.elemek import Kapcsolo, Kartya, cimke, gomb from raveos_center.folyamat import FolyamatAblak +from raveos_center.forditas import tr from raveos_center.hatter import ervenytelenit, gyorsitott, hatterben, tarolt AZON = "gaming" CIM = "Gaming" BEALLITASOK = [ - ("gamemode", "GameMode", "CPU és I/O prioritás játék közben. A Lutris és a Heroic magától használja, Steamben a " - "játék indítási opciójába írd: gamemoderun %command%"), - ("mangohud", "MangoHud alapból", "FPS, hőmérséklet és terhelés kijelzése minden Vulkan és OpenGL játékban. " - "Játék közben a jobb Shift + F12 elrejti, a jobb Shift + F10 vált a kijelző módok között."), - ("utemezo", "Játékra hangolt ütemező", "Az scx_lavd ütemező gaming módban: egyenletesebb képkockaidő, amikor a " - "háttérben más is fut. Kikapcsolva a kernel saját BORE ütemezője dolgozik."), - ("gamescope", "Gamescope session", "Külön, konzolszerű Steam játékmenet, a bejelentkező képernyőn választható."), - ("governor", "Performance CPU governor", "Játék közben teljes órajel, a játék bezárása után visszaáll."), - ("ntsync", "NTSync", "Gyorsabb Windows-szinkronizáció Wine és Proton alatt."), + ("gamemode", "GameMode", tr("CPU és I/O prioritás játék közben. A Lutris és a Heroic magától használja, Steamben a " + "játék indítási opciójába írd: gamemoderun %command%")), + ("mangohud", tr("MangoHud alapból"), tr("FPS, hőmérséklet és terhelés kijelzése minden Vulkan és OpenGL játékban. " + "Játék közben a jobb Shift + F12 elrejti, a jobb Shift + F10 vált a kijelző módok között.")), + ("utemezo", tr("Játékra hangolt ütemező"), tr("Az scx_lavd ütemező gaming módban: egyenletesebb képkockaidő, amikor a " + "háttérben más is fut. Kikapcsolva a kernel saját BORE ütemezője dolgozik.")), + ("gamescope", "Gamescope session", tr("Külön, konzolszerű Steam játékmenet, a bejelentkező képernyőn választható.")), + ("governor", "Performance CPU governor", tr("Játék közben teljes órajel, a játék bezárása után visszaáll.")), + ("ntsync", "NTSync", tr("Gyorsabb Windows-szinkronizáció Wine és Proton alatt.")), ] @@ -35,15 +36,15 @@ def alkalmaz(szulo, valtozasok): if h: helyi.append(h) if lepesek: - ablak = FolyamatAblak(szulo, "Gaming beállítások", lepesek, "A beállítás elkészült.") + ablak = FolyamatAblak(szulo, tr("Gaming beállítások"), lepesek, tr("A beállítás elkészült.")) ablak.exec() if not ablak.rendben: - return "A beállítás nem sikerült teljesen, a részleteket a napló mutatja." + return tr("A beállítás nem sikerült teljesen, a részleteket a napló mutatja.") for h in helyi: try: h() except OSError as e: - return f"A beállítás nem sikerült: {e}" + return tr("A beállítás nem sikerült: {0}", e) return None @@ -95,8 +96,8 @@ class ProtonGeSor(Sor): def __init__(self, szulo): super().__init__( "Proton-GE", - "A GloriousEggroll Proton-változata, több játékhoz tartalmaz javítást és videokodeket. A Steam " - "újraindítása után a játék Tulajdonságok > Kompatibilitás menüjében választható.", + tr("A GloriousEggroll Proton-változata, több játékhoz tartalmaz javítást és videokodeket. A Steam " + "újraindítása után a játék Tulajdonságok > Kompatibilitás menüjében választható."), ) self.szulo = szulo self.kiadas = None @@ -111,11 +112,11 @@ class ProtonGeSor(Sor): self.szovegek.addWidget(self.sav) gombok = QVBoxLayout() gombok.setSpacing(6) - self.telepit_gomb = gomb("Legújabb telepítése", fo=True, kicsi=True) + self.telepit_gomb = gomb(tr("Legújabb telepítése"), fo=True, kicsi=True) self.telepit_gomb.clicked.connect(self._telepit) - self.regiek_gomb = gomb("Régiek törlése", kicsi=True) + self.regiek_gomb = gomb(tr("Régiek törlése"), kicsi=True) self.regiek_gomb.clicked.connect(self._regiek) - self.torol_gomb = gomb("Mind törlése", kicsi=True) + self.torol_gomb = gomb(tr("Mind törlése"), kicsi=True) self.torol_gomb.clicked.connect(self._mind) for g in (self.telepit_gomb, self.regiek_gomb, self.torol_gomb): gombok.addWidget(g) @@ -138,13 +139,13 @@ class ProtonGeSor(Sor): van_steam = bool(proton.celmappak()) naprakesz = bool(self.kiadas and lista and lista[0] == self.kiadas["nev"]) if szoveg is None: - szoveg = f"Telepítve: {', '.join(lista)}" if lista else "Nincs telepítve." + szoveg = tr("Telepítve: {0}", ', '.join(lista)) if lista else tr("Nincs telepítve.") if self.kiadas and not naprakesz: - szoveg += f" Legújabb: {self.kiadas['nev']}" + szoveg += tr(" Legújabb: {0}", self.kiadas['nev']) if not van_steam: - szoveg = "Nem található Steam. Telepítsd, és indítsd el egyszer." + szoveg = tr("Nem található Steam. Telepítsd, és indítsd el egyszer.") self.jegyzet(szoveg) - self.telepit_gomb.setText("Naprakész" if naprakesz else "Legújabb telepítése") + self.telepit_gomb.setText(tr("Naprakész") if naprakesz else tr("Legújabb telepítése")) self.telepit_gomb.setEnabled(not self.fut and not naprakesz and van_steam) self.regiek_gomb.setVisible(bool(proton.regiek())) self.regiek_gomb.setEnabled(not self.fut) @@ -155,7 +156,7 @@ class ProtonGeSor(Sor): self.fut = True self.sav.setValue(0) self.sav.show() - self._mutat("Letöltés és ellenőrzés, ez néhány percig tarthat.") + self._mutat(tr("Letöltés és ellenőrzés, ez néhány percig tarthat.")) hatterben(self._letolt, kesz=self._kesz, hiba=self._hiba) def _letolt(self): @@ -173,7 +174,7 @@ class ProtonGeSor(Sor): self.fut = False self.sav.hide() self._mutat() - QMessageBox.warning(self.szulo, "Proton-GE", f"A telepítés nem sikerült: {uzenet}") + QMessageBox.warning(self.szulo, "Proton-GE", tr("A telepítés nem sikerült: {0}", uzenet)) def _torles(self, parok, kerdes): if not parok or QMessageBox.question(self.szulo, "Proton-GE", kerdes) != QMessageBox.StandardButton.Yes: @@ -182,18 +183,21 @@ class ProtonGeSor(Sor): for mappa, nev in parok: proton.torol(nev, [mappa] if mappa else None) except OSError as e: - QMessageBox.warning(self.szulo, "Proton-GE", f"A törlés nem sikerült: {e}") + QMessageBox.warning(self.szulo, "Proton-GE", tr("A törlés nem sikerült: {0}", e)) self._mutat() def _regiek(self): parok = proton.regiek() nevek = ", ".join(sorted({n for _, n in parok})) - self._torles(parok, f"Törlöd a régebbi verziókat ({nevek})? Minden Steam-telepítésben a legújabb megmarad.") + self._torles(parok, tr( + "Törlöd a régebbi verziókat ({0})? Minden Steam-telepítésben a legújabb megmarad.", + nevek, + )) def _mind(self): self._torles( [(None, n) for n in proton.telepitett()], - "Törlöd az összes Proton-GE verziót? Az ezeket használó játékok a Steam alap Protonjára váltanak.", + tr("Törlöd az összes Proton-GE verziót? Az ezeket használó játékok a Steam alap Protonjára váltanak."), ) @@ -209,9 +213,9 @@ class Gaming(QWidget): doboz.setSpacing(16) doboz.addWidget( cimke( - "Játékhoz hasznos beállítások. Mindegyik bármikor visszakapcsolható. Az Áttekintés Gaming mód " - "kapcsolója a GameMode-ot, a performance governort, az NTSync-et és a játékra hangolt ütemezőt " - "kapcsolja egyszerre.", + tr("Játékhoz hasznos beállítások. Mindegyik bármikor visszakapcsolható. Az Áttekintés Gaming mód " + "kapcsolója a GameMode-ot, a performance governort, az NTSync-et és a játékra hangolt ütemezőt " + "kapcsolja egyszerre."), "masodlagos", True, ) @@ -232,7 +236,7 @@ class Gaming(QWidget): self.hud_mod.activated.connect(self._hud_mod) hud_sor = QHBoxLayout() hud_sor.setSpacing(8) - hud_sor.addWidget(cimke("Kijelző:", "halvany")) + hud_sor.addWidget(cimke(tr("Kijelző:"), "halvany")) hud_sor.addWidget(self.hud_mod) hud_sor.addStretch(1) self.sorok["mangohud"].szovegek.addSpacing(6) @@ -240,15 +244,15 @@ class Gaming(QWidget): doboz.addWidget(kartya) doboz.addSpacing(8) - doboz.addWidget(cimke("PROTON VERZIÓK", "h2")) + doboz.addWidget(cimke(tr("PROTON VERZIÓK"), "h2")) proton_kartya = Kartya(terkoz=0, margo=0) self.proton_ge = ProtonGeSor(self) proton_kartya.elrendezes.addWidget(self.proton_ge) self.sorok["proton_cachyos"] = BeallitasSor( "proton_cachyos", "Proton-CachyOS", - "A CachyOS Proton-változata a rendszer csomagkezelőjéből, a rendszerfrissítéssel együtt frissül. " - "Kb. 1,6 GB. A Steam újraindítása után választható.", + tr("A CachyOS Proton-változata a rendszer csomagkezelőjéből, a rendszerfrissítéssel együtt frissül. " + "Kb. 1,6 GB. A Steam újraindítása után választható."), self.valt, True, ) @@ -272,7 +276,7 @@ class Gaming(QWidget): index = self.hud_mod.findData(gaming.mangohud_mod()) self.hud_mod.setCurrentIndex(max(0, index)) if adat is None: - self._figyelmeztet("Az állapot nem olvasható be, próbáld újra a fül újbóli megnyitásával.") + self._figyelmeztet(tr("Az állapot nem olvasható be, próbáld újra a fül újbóli megnyitásával.")) return self.adat = adat for azon, sor in self.sorok.items(): @@ -280,7 +284,7 @@ class Gaming(QWidget): if self.hibauzenet: self._figyelmeztet(self.hibauzenet) elif not muveletek.helper_elerheto(): - self._figyelmeztet("A RaveOS Center rendszerhelpere nincs telepítve, a legtöbb beállítás nem módosítható.") + self._figyelmeztet(tr("A RaveOS Center rendszerhelpere nincs telepítve, a legtöbb beállítás nem módosítható.")) else: self.figyelem.hide() @@ -292,7 +296,7 @@ class Gaming(QWidget): try: gaming.mangohud_mod_beallit(self.hud_mod.currentData()) except OSError as e: - QMessageBox.warning(self, "MangoHud", f"A beállítás nem sikerült: {e}") + QMessageBox.warning(self, "MangoHud", tr("A beállítás nem sikerült: {0}", e)) def valt(self, azon, be): self.alkalmaz([(azon, be)]) diff --git a/raveos-center/raveos_center/oldalak/rendszer/karbantartas.py b/raveos-center/raveos_center/oldalak/rendszer/karbantartas.py index 91b7113..011e2de 100644 --- a/raveos-center/raveos_center/oldalak/rendszer/karbantartas.py +++ b/raveos-center/raveos_center/oldalak/rendszer/karbantartas.py @@ -4,24 +4,25 @@ from PyQt6.QtWidgets import QDialog, QHBoxLayout, QListWidget, QListWidgetItem, from raveos_center import karbantartas, muveletek from raveos_center.elemek import Kartya, Racs, cimke, gomb from raveos_center.folyamat import FolyamatAblak +from raveos_center.forditas import tr from raveos_center.hatter import gyorsitott, tarolt AZON = "karbantartas" -CIM = "Karbantartás" +CIM = tr("Karbantartás") MUVELETEK = [ - ("cache", "paccache -rk2", "Csomag cache ürítése", - "Minden csomagból csak az utolsó két verzió marad, az eltávolított csomagok fájljai törlődnek.", True), - ("arva", "pacman -Qdtq", "Árva csomagok", - "Már semmi által nem használt függőségek eltávolítása. Az előnézetben egyenként kiveheted, amit megtartanál.", True), - ("naplo", "journalctl --vacuum", "Naplók takarítása", - "A két hétnél régebbi rendszernaplók törlése, legfeljebb 100 MB marad.", True), - ("tukrok", "reflector", "Tükrök frissítése", - "A leggyorsabb közeli letöltési szerverek kiválasztása. A régi lista biztonsági másolatként megmarad.", False), - ("kulcsok", "pacman-key --populate", "Kulcsok frissítése", - "A csomagaláíró kulcsok újratöltése. Segít, ha a frissítés aláírási hibával áll le.", False), - ("flatpak", "flatpak uninstall --unused", "Flatpak takarítás", - "A már egyik alkalmazás által sem használt runtime-ok eltávolítása.", True), + ("cache", "paccache -rk2", tr("Csomag cache ürítése"), + tr("Minden csomagból csak az utolsó két verzió marad, az eltávolított csomagok fájljai törlődnek."), True), + ("arva", "pacman -Qdtq", tr("Árva csomagok"), + tr("Már semmi által nem használt függőségek eltávolítása. Az előnézetben egyenként kiveheted, amit megtartanál."), True), + ("naplo", "journalctl --vacuum", tr("Naplók takarítása"), + tr("A két hétnél régebbi rendszernaplók törlése, legfeljebb 100 MB marad."), True), + ("tukrok", "reflector", tr("Tükrök frissítése"), + tr("A leggyorsabb közeli letöltési szerverek kiválasztása. A régi lista biztonsági másolatként megmarad."), False), + ("kulcsok", "pacman-key --populate", tr("Kulcsok frissítése"), + tr("A csomagaláíró kulcsok újratöltése. Segít, ha a frissítés aláírási hibával áll le."), False), + ("flatpak", "flatpak uninstall --unused", tr("Flatpak takarítás"), + tr("A már egyik alkalmazás által sem használt runtime-ok eltávolítása."), True), ] @@ -33,7 +34,7 @@ class ElonezetAblak(QDialog): doboz = QVBoxLayout(self) doboz.setContentsMargins(28, 24, 28, 20) doboz.setSpacing(12) - doboz.addWidget(cimke("ELŐNÉZET", "eyebrow")) + doboz.addWidget(cimke(tr("ELŐNÉZET"), "eyebrow")) doboz.addWidget(cimke(cim.upper(), "h2", True)) doboz.addWidget(cimke(szoveg, "masodlagos", True)) self.lista = QListWidget() @@ -49,7 +50,7 @@ class ElonezetAblak(QDialog): doboz.addStretch(1) gombok = QHBoxLayout() gombok.addStretch(1) - megse = gomb("Mégse") + megse = gomb(tr("Mégse")) megse.clicked.connect(self.reject) gombok.addWidget(megse) self.mehet = gomb(gomb_szoveg, fo=True) @@ -76,10 +77,10 @@ class MuveletKartya(Kartya): self.elrendezes.addWidget(cim) self.elrendezes.addWidget(cimke(leiras, "halvany", True)) self.elrendezes.addStretch(1) - self.osszegzes = cimke("Ellenőrzés...", "monozold", True) + self.osszegzes = cimke(tr("Ellenőrzés..."), "monozold", True) self.elrendezes.addWidget(self.osszegzes) sor = QHBoxLayout() - self.gomb = gomb("Futtatás", kicsi=True) + self.gomb = gomb(tr("Futtatás"), kicsi=True) self.gomb.clicked.connect(futtat) sor.addWidget(self.gomb) sor.addStretch(1) @@ -96,8 +97,8 @@ class Karbantartas(QWidget): doboz.setSpacing(16) doboz.addWidget( cimke( - "Rendszeres takarítás és javítás. A törléssel járó műveletek előtt megmutatjuk, mi kerülne törlésre, " - "és csak a megerősítésed után futnak.", + tr("Rendszeres takarítás és javítás. A törléssel járó műveletek előtt megmutatjuk, mi kerülne törlésre, " + "és csak a megerősítésed után futnak."), "masodlagos", True, ) @@ -116,7 +117,7 @@ class Karbantartas(QWidget): def megjelenik(self, *_): helper = muveletek.helper_elerheto() - self.figyelem.setText("A RaveOS Center rendszerhelpere nincs telepítve, a műveletek nem futtathatók.") + self.figyelem.setText(tr("A RaveOS Center rendszerhelpere nincs telepítve, a műveletek nem futtathatók.")) self.figyelem.setVisible(not helper) for azon in self.kartyak: self._ellenoriz(azon) @@ -125,7 +126,7 @@ class Karbantartas(QWidget): kartya = self.kartyak[azon] if tarolt(f"karbantartas_{azon}") is None: kartya.gomb.setEnabled(False) - kartya.osszegzes.setText("Ellenőrzés...") + kartya.osszegzes.setText(tr("Ellenőrzés...")) gyorsitott( f"karbantartas_{azon}", karbantartas.ELONEZETEK[azon], @@ -149,20 +150,26 @@ class Karbantartas(QWidget): nev = next(m[2] for m in MUVELETEK if m[0] == azon) kivalasztott = None if azon == "cache": - szoveg = f"Ezek a csomagfájlok törlődnek a cache-ből ({adat['osszegzes']}). A telepített programokat nem érinti." + szoveg = tr( + "Ezek a csomagfájlok törlődnek a cache-ből ({0}). A telepített programokat nem érinti.", + adat['osszegzes'], + ) elif azon == "arva": szoveg = ( - "Pontosan ezek a csomagok törlődnek, más nem. Vedd ki a pipát annál, amit megtartanál. " - "Utána újabb árva függőségek jelenhetnek meg, ezeket a kártya újra megmutatja." + tr("Pontosan ezek a csomagok törlődnek, más nem. Vedd ki a pipát annál, amit megtartanál. " + "Utána újabb árva függőségek jelenhetnek meg, ezeket a kártya újra megmutatja.") ) elif azon == "naplo": - szoveg = f"{adat['osszegzes']}. A két hétnél régebbi naplók törlődnek, és legfeljebb 100 MB marad." + szoveg = tr( + "{0}. A két hétnél régebbi naplók törlődnek, és legfeljebb 100 MB marad.", + adat['osszegzes'], + ) elif azon == "flatpak": - szoveg = "Ezek a runtime-ok törlődnek. Az alkalmazásaid továbbra is működnek." + szoveg = tr("Ezek a runtime-ok törlődnek. Az alkalmazásaid továbbra is működnek.") else: szoveg = "" if szoveg: - ablak = ElonezetAblak(self, nev, szoveg, adat["elemek"], azon == "arva", "Törlés") + ablak = ElonezetAblak(self, nev, szoveg, adat["elemek"], azon == "arva", tr("Törlés")) if ablak.exec() != QDialog.DialogCode.Accepted: return if azon == "arva": @@ -170,7 +177,7 @@ class Karbantartas(QWidget): lepesek = karbantartas.lepesek(azon, adat, kivalasztott) if not lepesek: return - FolyamatAblak(self, nev, lepesek, "A művelet elkészült.").exec() + FolyamatAblak(self, nev, lepesek, tr("A művelet elkészült.")).exec() self._ellenoriz(azon) diff --git a/raveos-center/raveos_center/oldalak/rendszer/mentes.py b/raveos-center/raveos_center/oldalak/rendszer/mentes.py index 6ad5967..a51becf 100644 --- a/raveos-center/raveos_center/oldalak/rendszer/mentes.py +++ b/raveos-center/raveos_center/oldalak/rendszer/mentes.py @@ -20,12 +20,13 @@ from PyQt6.QtWidgets import ( from raveos_center import katalogus, mentesek, muveletek from raveos_center.elemek import Kartya, cimke, gomb +from raveos_center.forditas import tr from raveos_center.hatter import hatterben AZON = "mentes" -CIM = "Mentés" +CIM = tr("Mentés") -MERET = {"small": "kicsi", "medium": "közepes", "large": "nagy", "xlarge": "nagyon nagy"} +MERET = {"small": tr("kicsi"), "medium": tr("közepes"), "large": tr("nagy"), "xlarge": tr("nagyon nagy")} class RovidUt(QLabel): @@ -85,8 +86,8 @@ class Mentes(QWidget): doboz.setSpacing(20) doboz.addWidget( cimke( - "Mentsd el az alkalmazásaid beállításait és a fontos mappáidat egyetlen fájlba, és állítsd vissza " - "őket egy másik gépen vagy újratelepítés után. A ROOT jelölésű elemekhez a rendszer jelszót kér.", + tr("Mentsd el az alkalmazásaid beállításait és a fontos mappáidat egyetlen fájlba, és állítsd vissza " + "őket egy másik gépen vagy újratelepítés után. A ROOT jelölésű elemekhez a rendszer jelszót kér."), "masodlagos", True, ) @@ -102,7 +103,7 @@ class Mentes(QWidget): oszlopok.addLayout(bal, 3) oszlopok.addLayout(jobb, 2) - mentes = Kartya("Mentés", terkoz=10, margo=20) + mentes = Kartya(tr("Mentés"), terkoz=10, margo=20) gorgeto = QScrollArea() gorgeto.setWidgetResizable(True) gorgeto.setFrameShape(QFrame.Shape.NoFrame) @@ -118,28 +119,28 @@ class Mentes(QWidget): cel_sor.setSpacing(8) self.cel = QLineEdit(str(Path.home() / f"raveos-mentes-{datetime.now():%Y%m%d}.tar.gz")) cel_sor.addWidget(self.cel, 1) - tallozas = gomb("Tallózás", kicsi=True) + tallozas = gomb(tr("Tallózás"), kicsi=True) tallozas.clicked.connect(self._cel_valaszt) cel_sor.addWidget(tallozas) mentes.elrendezes.addSpacing(8) - mentes.elrendezes.addWidget(cimke("Mentés helye", "kartyacim")) + mentes.elrendezes.addWidget(cimke(tr("Mentés helye"), "kartyacim")) mentes.elrendezes.addLayout(cel_sor) gs = QHBoxLayout() gs.addStretch(1) - self.mentes_gomb = gomb("Mentés indítása", fo=True) + self.mentes_gomb = gomb(tr("Mentés indítása"), fo=True) self.mentes_gomb.clicked.connect(self._mentes) gs.addWidget(self.mentes_gomb) mentes.elrendezes.addLayout(gs) bal.addWidget(mentes, 1) - vissza = Kartya("Visszaállítás", terkoz=10, margo=20) + vissza = Kartya(tr("Visszaállítás"), terkoz=10, margo=20) fs = QHBoxLayout() fs.setSpacing(8) self.forras = QLineEdit() - self.forras.setPlaceholderText("Válaszd ki a mentésfájlt (.tar.gz)") + self.forras.setPlaceholderText(tr("Válaszd ki a mentésfájlt (.tar.gz)")) self.forras.setReadOnly(True) fs.addWidget(self.forras, 1) - valaszt = gomb("Mentés kiválasztása", kicsi=True) + valaszt = gomb(tr("Mentés kiválasztása"), kicsi=True) valaszt.clicked.connect(self._forras_valaszt) fs.addWidget(valaszt) vissza.elrendezes.addLayout(fs) @@ -147,11 +148,11 @@ class Mentes(QWidget): self.vissza_lista.setSpacing(2) vissza.elrendezes.addLayout(self.vissza_lista) vissza.elrendezes.addWidget( - cimke("A visszaállítás felülírja a meglévő fájlokat a kiválasztott helyeken.", "halvany", True) + cimke(tr("A visszaállítás felülírja a meglévő fájlokat a kiválasztott helyeken."), "halvany", True) ) vs = QHBoxLayout() vs.addStretch(1) - self.vissza_gomb = gomb("Visszaállítás", fo=True) + self.vissza_gomb = gomb(tr("Visszaállítás"), fo=True) self.vissza_gomb.setEnabled(False) self.vissza_gomb.clicked.connect(self._visszaallitas) vs.addWidget(self.vissza_gomb) @@ -163,7 +164,7 @@ class Mentes(QWidget): self.sav.setTextVisible(False) self.sav.setFixedHeight(6) jobb.addWidget(self.sav) - jobb.addWidget(cimke("NAPLÓ", "h2")) + jobb.addWidget(cimke(tr("NAPLÓ"), "h2")) self.naplo = QPlainTextEdit() self.naplo.setObjectName("naplo") self.naplo.setReadOnly(True) @@ -177,7 +178,7 @@ class Mentes(QWidget): try: csoportok = mentesek.csoportok() except (OSError, ValueError, RuntimeError) as e: - self.mentes_lista.addWidget(cimke(f"A mentési lista nem tölthető be: {e}", "figyelem", True)) + self.mentes_lista.addWidget(cimke(tr("A mentési lista nem tölthető be: {0}", e), "figyelem", True)) return self.mentes_lista.addStretch(0) for csoport in csoportok: @@ -199,17 +200,20 @@ class Mentes(QWidget): self.vissza_gomb.setEnabled(not self.fut and bool(self.visszaallitas_jelolok)) def _cel_valaszt(self): - ut, _ = QFileDialog.getSaveFileName(self, "Mentés helye", self.cel.text(), "Mentés (*.tar.gz)") + ut, _ = QFileDialog.getSaveFileName(self, tr("Mentés helye"), self.cel.text(), tr("Mentés (*.tar.gz)")) if ut: self.cel.setText(ut if ut.endswith(".tar.gz") else ut + ".tar.gz") def _forras_valaszt(self): - ut, _ = QFileDialog.getOpenFileName(self, "Mentés kiválasztása", str(Path.home()), "Mentés (*.tar.gz)") + ut, _ = QFileDialog.getOpenFileName(self, tr("Mentés kiválasztása"), str(Path.home()), tr("Mentés (*.tar.gz)")) if not ut: return self.forras.setText(ut) self._tartalom([]) - hatterben(mentesek.tartalom, ut, kesz=self._tartalom, hiba=lambda u: self._hiba(f"A fájl nem olvasható: {u}")) + hatterben(mentesek.tartalom, ut, kesz=self._tartalom, hiba=lambda u: self._hiba(tr( + "A fájl nem olvasható: {0}", + u, + ))) def _tartalom(self, lista): while self.vissza_lista.count(): @@ -218,23 +222,23 @@ class Mentes(QWidget): w.deleteLater() self.visszaallitas_jelolok = [] if not lista: - self.vissza_lista.addWidget(cimke("Ebben a fájlban nincs visszaállítható elem.", "halvany")) + self.vissza_lista.addWidget(cimke(tr("Ebben a fájlban nincs visszaállítható elem."), "halvany")) for elem in lista: sor, jelolo = elem_sor(elem, True) self.vissza_lista.addWidget(sor) self.visszaallitas_jelolok.append((jelolo, elem)) if any(e.get("regi") for e in lista): self.vissza_lista.addWidget( - cimke("Régi (App Installer) formátumú mentés: a rendszerelemek ebből nem állíthatók vissza.", "halvany", True) + cimke(tr("Régi (App Installer) formátumú mentés: a rendszerelemek ebből nem állíthatók vissza."), "halvany", True) ) self._gombok() def _hiba(self, szoveg): - self.naplo.appendPlainText(f"[HIBA] {szoveg}") + self.naplo.appendPlainText(tr("[HIBA] {0}", szoveg)) def _rootot_kell(self, elemek): if any(e.get("scope") == "system" for e in elemek) and not muveletek.helper_elerheto(): - QMessageBox.warning(self, "Mentés", "A rendszerelemekhez a RaveOS Center rendszerhelpere szükséges, de nincs telepítve.") + QMessageBox.warning(self, tr("Mentés"), tr("A rendszerelemekhez a RaveOS Center rendszerhelpere szükséges, de nincs telepítve.")) return False return True @@ -244,13 +248,13 @@ class Mentes(QWidget): if not elemek or not cel or not self._rootot_kell(elemek): return if Path(cel).exists(): - if QMessageBox.question(self, "Mentés", f"A fájl már létezik, felülírod?\n{cel}") != QMessageBox.StandardButton.Yes: + if QMessageBox.question(self, tr("Mentés"), tr("A fájl már létezik, felülírod?\n{0}", cel)) != QMessageBox.StandardButton.Yes: return - self._indul(f"Mentés indul: {cel}") + self._indul(tr("Mentés indul: {0}", cel)) hatterben( mentesek.mentes, cel, elemek, self.jelzo.naplo.emit, self.jelzo.haladas.emit, - kesz=lambda n: self._vege(f"Mentés kész: {n} elem, {cel}"), - hiba=lambda u: self._vege(f"A mentés nem sikerült: {u}", False), + kesz=lambda n: self._vege(tr("Mentés kész: {0} elem, {1}", n, cel)), + hiba=lambda u: self._vege(tr("A mentés nem sikerült: {0}", u), False), ) def _visszaallitas(self): @@ -258,14 +262,17 @@ class Mentes(QWidget): if not elemek or not self._rootot_kell(elemek): return if QMessageBox.question( - self, "Visszaállítás", f"{len(elemek)} elem visszaállítása felülírja a meglévő fájlokat. Folytatod?" + self, tr("Visszaállítás"), tr( + "{0} elem visszaállítása felülírja a meglévő fájlokat. Folytatod?", + len(elemek), + ) ) != QMessageBox.StandardButton.Yes: return - self._indul(f"Visszaállítás indul: {self.forras.text()}") + self._indul(tr("Visszaállítás indul: {0}", self.forras.text())) hatterben( mentesek.visszaallitas, self.forras.text(), elemek, self.jelzo.naplo.emit, self.jelzo.haladas.emit, - kesz=lambda n: self._vege(f"Visszaállítás kész: {n} elem."), - hiba=lambda u: self._vege(f"A visszaállítás nem sikerült: {u}", False), + kesz=lambda n: self._vege(tr("Visszaállítás kész: {0} elem.", n)), + hiba=lambda u: self._vege(tr("A visszaállítás nem sikerült: {0}", u), False), ) def _indul(self, szoveg): @@ -277,7 +284,7 @@ class Mentes(QWidget): def _vege(self, szoveg, rendben=True): self.fut = False self._gombok() - self.naplo.appendPlainText(szoveg if rendben else f"[HIBA] {szoveg}") + self.naplo.appendPlainText(szoveg if rendben else tr("[HIBA] {0}", szoveg)) FUL = Mentes diff --git a/raveos-center/raveos_center/oldalak/rendszer/secureboot.py b/raveos-center/raveos_center/oldalak/rendszer/secureboot.py index 00ca444..179177f 100644 --- a/raveos-center/raveos_center/oldalak/rendszer/secureboot.py +++ b/raveos-center/raveos_center/oldalak/rendszer/secureboot.py @@ -5,6 +5,7 @@ from PyQt6.QtWidgets import QHBoxLayout, QMessageBox, QPlainTextEdit, QVBoxLayou from raveos_center import muveletek from raveos_center.elemek import Kartya, Racs, cimke, gomb +from raveos_center.forditas import tr from raveos_center.hatter import ervenytelenit, gyorsitott, tarolt AZON = "secureboot" @@ -14,11 +15,11 @@ SZKRIPT = "raveos-secureboot-setup" UJRAINDITAS_KELL = 10 LEPESEK_SZOVEG = [ - "telepíti a szükséges eszközöket (sbsigntools, efitools),", - "létrehoz egy saját, csak ehhez a géphez tartozó aláíró kulcsot,", - "aláírja a rendszerbetöltőt, a kernelt és a külső kernelmodulokat (pl. NVIDIA),", - "beírja a firmware-be a RaveOS, a Microsoft és a saját géped kulcsát, így a Windows is tovább indul,", - "beállít egy automatikus aláírást, ami minden kernelfrissítés után újra aláír.", + tr("telepíti a szükséges eszközöket (sbsigntools, efitools),"), + tr("létrehoz egy saját, csak ehhez a géphez tartozó aláíró kulcsot,"), + tr("aláírja a rendszerbetöltőt, a kernelt és a külső kernelmodulokat (pl. NVIDIA),"), + tr("beírja a firmware-be a RaveOS, a Microsoft és a saját géped kulcsát, így a Windows is tovább indul,"), + tr("beállít egy automatikus aláírást, ami minden kernelfrissítés után újra aláír."), ] @@ -45,9 +46,9 @@ class SecureBoot(QWidget): doboz.setSpacing(16) doboz.addWidget( cimke( - "A Secure Boot csak aláírt rendszerbetöltőt és kernelt enged elindulni. Akkor hasznos, ha a gépen " - "Windows is van, és ott olyan játék vagy program fut, ami bekapcsolt Secure Bootot kér (például egyes " - "csalásvédelmek vagy a Windows 11). A beállítás után a RaveOS és a Windows is elindul.", + tr("A Secure Boot csak aláírt rendszerbetöltőt és kernelt enged elindulni. Akkor hasznos, ha a gépen " + "Windows is van, és ott olyan játék vagy program fut, ami bekapcsolt Secure Bootot kér (például egyes " + "csalásvédelmek vagy a Windows 11). A beállítás után a RaveOS és a Windows is elindul."), "masodlagos", True, ) @@ -63,8 +64,8 @@ class SecureBoot(QWidget): for kulcs, nev in ( ("secureboot", "Secure Boot"), ("setupmode", "Setup Mode"), - ("keys", "Gépkulcs"), - ("signed", "Aláírások"), + ("keys", tr("Gépkulcs")), + ("signed", tr("Aláírások")), ): k = Kartya(nev, terkoz=6, margo=14) ertek = cimke("...", "nagyszam") @@ -77,16 +78,16 @@ class SecureBoot(QWidget): bal.addWidget(self.figyelem) bal.addWidget( cimke( - "FIGYELEM, BITLOCKER: ha a gépen Windows is van BitLockerrel, a beállítás előtt a Windowsban függeszd " - "fel a BitLockert (manage-bde -protectors -disable C: -rebootcount 2), vagy legyen kéznél a 48 jegyű " - "helyreállítási kulcs. Enélkül a Windows a következő indításkor ezt a kulcsot fogja kérni.", + tr("FIGYELEM, BITLOCKER: ha a gépen Windows is van BitLockerrel, a beállítás előtt a Windowsban függeszd " + "fel a BitLockert (manage-bde -protectors -disable C: -rebootcount 2), vagy legyen kéznél a 48 jegyű " + "helyreállítási kulcs. Enélkül a Windows a következő indításkor ezt a kulcsot fogja kérni."), "figyelem", True, ) ) - leiras = Kartya("A beállítás lépései", terkoz=6) - leiras.elrendezes.addWidget(cimke("A Beállítás gomb egymás után:", "masodlagos")) + leiras = Kartya(tr("A beállítás lépései"), terkoz=6) + leiras.elrendezes.addWidget(cimke(tr("A Beállítás gomb egymás után:"), "masodlagos")) for i, szoveg in enumerate(LEPESEK_SZOVEG, 1): sor = QHBoxLayout() sor.setSpacing(10) @@ -98,9 +99,9 @@ class SecureBoot(QWidget): leiras.elrendezes.addSpacing(6) leiras.elrendezes.addWidget( cimke( - "Ehhez a firmware-nek Setup Mode-ban kell lennie: a BIOS/UEFI beállításokban töröld a Secure Boot " - "kulcsokat (Clear Secure Boot keys / Reset to Setup Mode). Ha nincs Setup Mode-ban, a Center szól, " - "és újraindítás után a beállítás magától folytatódik.", + tr("Ehhez a firmware-nek Setup Mode-ban kell lennie: a BIOS/UEFI beállításokban töröld a Secure Boot " + "kulcsokat (Clear Secure Boot keys / Reset to Setup Mode). Ha nincs Setup Mode-ban, a Center szól, " + "és újraindítás után a beállítás magától folytatódik."), "halvany", True, ) @@ -115,12 +116,12 @@ class SecureBoot(QWidget): gombok = QHBoxLayout() gombok.setSpacing(8) - self.frissit_gomb = gomb("Állapot frissítése") + self.frissit_gomb = gomb(tr("Állapot frissítése")) self.frissit_gomb.clicked.connect(self.frissit) - self.ujra_gomb = gomb("Újra aláírás") - self.ujra_gomb.setToolTip("Ha a gépkulcs már megvan, csak újra aláírja a rendszerbetöltőt, a kernelt és a modulokat.") - self.ujra_gomb.clicked.connect(lambda: self._futtat("resign", "Újra aláírás")) - self.beallit_gomb = gomb("Beállítás", fo=True) + self.ujra_gomb = gomb(tr("Újra aláírás")) + self.ujra_gomb.setToolTip(tr("Ha a gépkulcs már megvan, csak újra aláírja a rendszerbetöltőt, a kernelt és a modulokat.")) + self.ujra_gomb.clicked.connect(lambda: self._futtat("resign", tr("Újra aláírás"))) + self.beallit_gomb = gomb(tr("Beállítás"), fo=True) self.beallit_gomb.clicked.connect(self._beallit) gombok.addWidget(self.frissit_gomb) gombok.addStretch(1) @@ -128,7 +129,7 @@ class SecureBoot(QWidget): gombok.addWidget(self.beallit_gomb) bal.addLayout(gombok) - bal.addWidget(cimke("NAPLÓ", "h2")) + bal.addWidget(cimke(tr("NAPLÓ"), "h2")) self.naplo = QPlainTextEdit() self.naplo.setObjectName("naplo") self.naplo.setReadOnly(True) @@ -153,7 +154,7 @@ class SecureBoot(QWidget): e.setText("...") gyorsitott( "secureboot", allapot_lekerdez, kesz=self._allapot, - hiba=lambda u: self._hiba(f"Az állapot nem olvasható: {u}"), kor=60, + hiba=lambda u: self._hiba(tr("Az állapot nem olvasható: {0}", u)), kor=60, ) def _hiba(self, szoveg): @@ -166,23 +167,23 @@ class SecureBoot(QWidget): if adat is None: for e in self.ertekek.values(): e.setText("-") - self._hiba("A Secure Boot beállító (raveos-secureboot-setup) nincs telepítve.") + self._hiba(tr("A Secure Boot beállító (raveos-secureboot-setup) nincs telepítve.")) self._gombok(False) return if adat.get("uefi") == "0": for e in self.ertekek.values(): e.setText("-") - self._hiba("Ez a gép nem UEFI módban indult, ezért a Secure Boot nem érhető el.") + self._hiba(tr("Ez a gép nem UEFI módban indult, ezért a Secure Boot nem érhető el.")) self._gombok(False) return def ki(ertek, igen, nem): return igen if ertek == "1" else nem if ertek == "0" else "?" - self._beir("secureboot", ki(adat.get("secureboot"), "BE", "KI"), adat.get("secureboot") == "1") - self._beir("setupmode", ki(adat.get("setupmode"), "IGEN", "NEM"), adat.get("setupmode") == "1") - self._beir("keys", ki(adat.get("keys"), "MEGVAN", "NINCS"), adat.get("keys") == "1") - self._beir("signed", ki(adat.get("signed"), "RENDBEN", "HIÁNYZIK"), adat.get("signed") == "1") + self._beir("secureboot", ki(adat.get("secureboot"), tr("BE"), tr("KI")), adat.get("secureboot") == "1") + self._beir("setupmode", ki(adat.get("setupmode"), tr("IGEN"), tr("NEM")), adat.get("setupmode") == "1") + self._beir("keys", ki(adat.get("keys"), tr("MEGVAN"), tr("NINCS")), adat.get("keys") == "1") + self._beir("signed", ki(adat.get("signed"), tr("RENDBEN"), tr("HIÁNYZIK")), adat.get("signed") == "1") if adat.get("pending") == "1": - self._hiba("A beállítás félbemaradt, és a következő újraindításkor magától folytatódik.") + self._hiba(tr("A beállítás félbemaradt, és a következő újraindításkor magától folytatódik.")) self._gombok(True) def _beir(self, kulcs, szoveg, zold): @@ -202,14 +203,14 @@ class SecureBoot(QWidget): def _beallit(self): valasz = QMessageBox.question( self, - "Secure Boot beállítása", - "A beállítás kulcsokat ír a firmware-be, és aláírja a rendszerbetöltőt és a kernelt. " - "Ha Windows is van a gépen BitLockerrel, előtte függeszd fel a BitLockert.\n\nFolytatod?", + tr("Secure Boot beállítása"), + tr("A beállítás kulcsokat ír a firmware-be, és aláírja a rendszerbetöltőt és a kernelt. " + "Ha Windows is van a gépen BitLockerrel, előtte függeszd fel a BitLockert.\n\nFolytatod?"), QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No, QMessageBox.StandardButton.No, ) if valasz == QMessageBox.StandardButton.Yes: - self._futtat("setup", "Secure Boot beállítása") + self._futtat("setup", tr("Secure Boot beállítása")) def _futtat(self, mod, cimke_szoveg): self.naplo.clear() @@ -220,14 +221,14 @@ class SecureBoot(QWidget): doboz = QMessageBox(self) doboz.setWindowTitle(cim) doboz.setText(szoveg) - most = doboz.addButton("Újraindítás a BIOS-ba", QMessageBox.ButtonRole.AcceptRole) - doboz.addButton("Később", QMessageBox.ButtonRole.RejectRole) + most = doboz.addButton(tr("Újraindítás a BIOS-ba"), QMessageBox.ButtonRole.AcceptRole) + doboz.addButton(tr("Később"), QMessageBox.ButtonRole.RejectRole) doboz.exec() if doboz.clickedButton() is most: muveletek.Futtato(self).indit( [ muveletek.Lepes( - "Újraindítás a firmware beállításaiba", + tr("Újraindítás a firmware beállításaiba"), ["bash", "-c", "systemctl reboot --firmware-setup || systemctl reboot"], ) ] @@ -238,18 +239,18 @@ class SecureBoot(QWidget): if rendben: self._bios_ujrainditas( "Secure Boot", - "Az aláírások és a kulcsok készen vannak.\n\nA BIOS-ban állítsd a Secure Bootot Enabled-re, " - "majd mentsd el a beállítást és indítsd újra a gépet.", + tr("Az aláírások és a kulcsok készen vannak.\n\nA BIOS-ban állítsd a Secure Bootot Enabled-re, " + "majd mentsd el a beállítást és indítsd újra a gépet."), ) elif kod == UJRAINDITAS_KELL: self._bios_ujrainditas( - "Újraindítás szükséges", - "A firmware nincs Setup Mode-ban.\n\nA BIOS-ban a Secure Boot menüben töröld a kulcsokat " - "(Key Management, Clear Secure Boot keys), így a gép Setup Mode-ba kerül. Mentés után indítsd újra " - "a gépet: a beállítás indítás után magától befejeződik.", + tr("Újraindítás szükséges"), + tr("A firmware nincs Setup Mode-ban.\n\nA BIOS-ban a Secure Boot menüben töröld a kulcsokat " + "(Key Management, Clear Secure Boot keys), így a gép Setup Mode-ba kerül. Mentés után indítsd újra " + "a gépet: a beállítás indítás után magától befejeződik."), ) else: - QMessageBox.warning(self, "Secure Boot", "A művelet nem sikerült. A részleteket a napló mutatja.") + QMessageBox.warning(self, "Secure Boot", tr("A művelet nem sikerült. A részleteket a napló mutatja.")) self.frissit() diff --git a/raveos-center/raveos_center/oldalak/rendszer/snapshotok.py b/raveos-center/raveos_center/oldalak/rendszer/snapshotok.py index 8d9b08c..8a17ea0 100644 --- a/raveos-center/raveos_center/oldalak/rendszer/snapshotok.py +++ b/raveos-center/raveos_center/oldalak/rendszer/snapshotok.py @@ -4,10 +4,11 @@ from PyQt6.QtWidgets import QHBoxLayout, QInputDialog, QLineEdit, QMessageBox, Q from raveos_center import muveletek, snapshotok from raveos_center.elemek import Kartya, cimke, gomb from raveos_center.folyamat import FolyamatAblak +from raveos_center.forditas import tr from raveos_center.hatter import ervenytelenit, gyorsitott, tarolt AZON = "snapshotok" -CIM = "Snapshotok" +CIM = tr("Snapshotok") class SnapshotSor(QWidget): @@ -28,11 +29,11 @@ class SnapshotSor(QWidget): szovegek.addWidget(cimke(f"#{elem['szam']} {elem['tipus_nev']}", "monohalvany")) sor.addLayout(szovegek, 1) helper = muveletek.helper_elerheto() - vissza = gomb("Visszaállítás", kicsi=True) + vissza = gomb(tr("Visszaállítás"), kicsi=True) vissza.setEnabled(helper) vissza.clicked.connect(lambda: visszaallit(elem)) sor.addWidget(vissza, 0, Qt.AlignmentFlag.AlignVCenter) - torles = gomb("Törlés", kicsi=True) + torles = gomb(tr("Törlés"), kicsi=True) torles.setEnabled(helper) torles.clicked.connect(lambda: torol(elem)) sor.addWidget(torles, 0, Qt.AlignmentFlag.AlignVCenter) @@ -49,13 +50,13 @@ class Snapshotok(QWidget): fej = QHBoxLayout() fej.setSpacing(16) self.leiras = cimke( - "A btrfs snapshot a rendszer egy pillanatnyi állapota. Ha egy frissítés után gond van, egy korábbi " - "állapotra vissza tudsz állni. A saját fájljaidat (/home) a visszaállítás nem érinti.", + tr("A btrfs snapshot a rendszer egy pillanatnyi állapota. Ha egy frissítés után gond van, egy korábbi " + "állapotra vissza tudsz állni. A saját fájljaidat (/home) a visszaállítás nem érinti."), "masodlagos", True, ) fej.addWidget(self.leiras, 1) - self.uj_gomb = gomb("Új snapshot", fo=True) + self.uj_gomb = gomb(tr("Új snapshot"), fo=True) self.uj_gomb.clicked.connect(self.uj) fej.addWidget(self.uj_gomb, 0, Qt.AlignmentFlag.AlignTop) doboz.addLayout(fej) @@ -65,7 +66,7 @@ class Snapshotok(QWidget): self.figyelem = cimke("", "figyelem", True) self.figyelem.hide() doboz.addWidget(self.figyelem) - self.beallitas_gomb = gomb("Snapper beállítása", fo=True) + self.beallitas_gomb = gomb(tr("Snapper beállítása"), fo=True) self.beallitas_gomb.clicked.connect(self._beallitas) self.beallitas_gomb.hide() gs = QHBoxLayout() @@ -79,7 +80,7 @@ class Snapshotok(QWidget): def megjelenik(self, *args): if tarolt("snapshotok") is None: self.uj_gomb.setEnabled(False) - self._info("Betöltés...") + self._info(tr("Betöltés...")) gyorsitott("snapshotok", snapshotok.allapot, kesz=self._kesz, hiba=self._hiba, kor=30) if args and args[0] == "uj": self.uj() @@ -89,7 +90,7 @@ class Snapshotok(QWidget): gyorsitott("snapshotok", snapshotok.allapot, kesz=self._kesz, hiba=self._hiba) def _hiba(self, uzenet): - self._figyelmeztet(f"A snapshotok nem olvashatók: {uzenet}") + self._figyelmeztet(tr("A snapshotok nem olvashatók: {0}", uzenet)) def _info(self, szoveg): self.info.setText(szoveg) @@ -111,35 +112,38 @@ class Snapshotok(QWidget): if adat["fajlrendszer"] != "btrfs": self._info("") self._figyelmeztet( - f"Snapshothoz btrfs fájlrendszer kell. Ez a gép {adat['fajlrendszer'] or 'ismeretlen'} fájlrendszert " - "használ, ezért itt nem érhető el. A RaveOS telepítésekor a lemez partícionálásánál ext4 és btrfs " - "közül lehet választani: ha snapshotot szeretnél, a btrfs-t válaszd." + tr( + "Snapshothoz btrfs fájlrendszer kell. Ez a gép {0} fájlrendszert használ, ezért itt nem érhető " + "el. A RaveOS telepítésekor a lemez partícionálásánál ext4 és btrfs közül lehet választani: ha " + "snapshotot szeretnél, a btrfs-t válaszd.", + adat['fajlrendszer'] or tr('ismeretlen'), + ) ) return if not adat["snapper"]: self._info("") if snapshotok.snapper_telepitheto(adat): self._figyelmeztet( - "A gép btrfs-t használ, de a snapper még nincs beállítva. Egy kattintással beállítható: " - "utána minden csomagművelet előtt automatikusan snapshot készül." + tr("A gép btrfs-t használ, de a snapper még nincs beállítva. Egy kattintással beállítható: " + "utána minden csomagművelet előtt automatikusan snapshot készül.") ) else: self._figyelmeztet( - "A gép btrfs-t használ, de az alvolumen-elrendezése eltér a RaveOS-étól (@ és @snapshots), " - "ezért a snapper itt nem állítható be automatikusan." + tr("A gép btrfs-t használ, de az alvolumen-elrendezése eltér a RaveOS-étól (@ és @snapshots), " + "ezért a snapper itt nem állítható be automatikusan.") ) return if adat["alvolumen"] != "/@": - self._figyelmeztet("A rendszer most nem a fő alvolumenről (@) fut, ezért visszaállítás nem indítható.") + self._figyelmeztet(tr("A rendszer most nem a fő alvolumenről (@) fut, ezért visszaállítás nem indítható.")) elif adat["hiba"]: self._figyelmeztet(adat["hiba"]) elif not helper: - self._figyelmeztet("A RaveOS Center rendszerhelpere nincs telepítve, ezért snapshot nem kezelhető.") + self._figyelmeztet(tr("A RaveOS Center rendszerhelpere nincs telepítve, ezért snapshot nem kezelhető.")) else: self._figyelmeztet("") self._info( - ("Automatikus snapshot minden csomagművelet előtt és után (snap-pac). " if adat["snap_pac"] else "") - + f"{len(adat['lista'])} snapshot, a régiek automatikusan törlődnek." + (tr("Automatikus snapshot minden csomagművelet előtt és után (snap-pac). ") if adat["snap_pac"] else "") + + tr("{0} snapshot, a régiek automatikusan törlődnek.", len(adat['lista'])) ) self._lista(adat) @@ -150,7 +154,7 @@ class Snapshotok(QWidget): if w: w.deleteLater() if not adat["lista"]: - ures = cimke("Még nincs snapshot.", "halvany") + ures = cimke(tr("Még nincs snapshot."), "halvany") ures.setContentsMargins(16, 16, 16, 16) elrendezes.addWidget(ures) return @@ -167,25 +171,30 @@ class Snapshotok(QWidget): if not self.adat or not self.uj_gomb.isEnabled(): return leiras, ok = QInputDialog.getText( - self, "Új snapshot", "Leírás (például: Driver csere előtt):", QLineEdit.EchoMode.Normal, "Kézi snapshot" + self, tr("Új snapshot"), tr("Leírás (például: Driver csere előtt):"), QLineEdit.EchoMode.Normal, tr("Kézi snapshot") ) leiras = leiras.strip() if not ok: return if not snapshotok.ervenyes_leiras(leiras): - QMessageBox.warning(self, "Új snapshot", "A leírás 1-80 karakter lehet: betűk, számok, szóköz és . _ : , ( ) -") + QMessageBox.warning(self, tr("Új snapshot"), tr("A leírás 1-80 karakter lehet: betűk, számok, szóköz és . _ : , ( ) -")) return - self._futtat("Új snapshot", muveletek.Lepes("Snapshot készítése", muveletek.root("snapshot", leiras)), "A snapshot elkészült.") + self._futtat(tr("Új snapshot"), muveletek.Lepes(tr("Snapshot készítése"), muveletek.root("snapshot", leiras)), tr("A snapshot elkészült.")) def torol(self, elem): if QMessageBox.question( - self, "Snapshot törlése", f"Törlöd a(z) #{elem['szam']} snapshotot?\n{elem['datum']} {elem['leiras']}" + self, tr("Snapshot törlése"), tr( + "Törlöd a(z) #{0} snapshotot?\n{1} {2}", + elem['szam'], + elem['datum'], + elem['leiras'], + ) ) != QMessageBox.StandardButton.Yes: return self._futtat( - "Snapshot törlése", - muveletek.Lepes("Snapshot törlése", muveletek.root("snapshot-torles", str(elem["szam"]))), - "A snapshot törölve.", + tr("Snapshot törlése"), + muveletek.Lepes(tr("Snapshot törlése"), muveletek.root("snapshot-torles", str(elem["szam"]))), + tr("A snapshot törölve."), ) def visszaallit(self, elem): @@ -196,41 +205,48 @@ class Snapshotok(QWidget): if hianyzo: QMessageBox.warning( self, - "Visszaállítás", - "Ennek a snapshotnak a kernelcsomagja már nincs meg a csomag-cache-ben " - f"({', '.join(k['nev'] + ' ' + k['regi'] for k in hianyzo)}), ezért a visszaállított rendszer nem " - "indulna el. Válassz újabb snapshotot.", + tr("Visszaállítás"), + tr( + "Ennek a snapshotnak a kernelcsomagja már nincs meg a csomag-cache-ben ({0}), ezért a " + "visszaállított rendszer nem indulna el. Válassz újabb snapshotot.", + ', '.join(k['nev'] + ' ' + k['regi'] for k in hianyzo), + ), ) return - kernel_szoveg = "".join(f"\n- {k['nev']}: {k['most'] or 'nincs'} -> {k['regi']}" for k in kernelek) + kernel_szoveg = "".join(f"\n- {k['nev']}: {k['most'] or tr('nincs')} -> {k['regi']}" for k in kernelek) szoveg = ( - f"A rendszer visszaáll erre az állapotra:\n#{elem['szam']} {elem['datum']} {elem['leiras']}\n\n" - "A saját fájljaid (/home) nem változnak. A mostani rendszer a következő visszaállításig megmarad " - "tartalékként. A változás újraindítás után lép életbe." - + (f"\n\nA kernel is visszaáll:{kernel_szoveg}" if kernelek else "") - + ("" if ellenorizheto else "\n\nA snapshot kernelverziója innen nem olvasható, a visszaállítás előtt a rendszer " - "ellenőrzi, és ha a kernelcsomag hiányzik, nem végzi el.") + tr( + "A rendszer visszaáll erre az állapotra:\n#{0} {1} {2}\n\nA saját fájljaid (/home) nem " + "változnak. A mostani rendszer a következő visszaállításig megmarad tartalékként. A változás " + "újraindítás után lép életbe.", + elem['szam'], + elem['datum'], + elem['leiras'], + ) + + (tr("\n\nA kernel is visszaáll:{0}", kernel_szoveg) if kernelek else "") + + ("" if ellenorizheto else tr("\n\nA snapshot kernelverziója innen nem olvasható, a visszaállítás előtt a rendszer " + "ellenőrzi, és ha a kernelcsomag hiányzik, nem végzi el.")) + "\n\nFolytatod?" ) - if QMessageBox.question(self, "Visszaállítás", szoveg) != QMessageBox.StandardButton.Yes: + if QMessageBox.question(self, tr("Visszaállítás"), szoveg) != QMessageBox.StandardButton.Yes: return rendben = self._futtat( - "Visszaállítás", - muveletek.Lepes("Snapshot visszaállítása", muveletek.root("snapshot-visszaallit", str(elem["szam"]))), - "A visszaállítás elkészült. Indítsd újra a gépet.", + tr("Visszaállítás"), + muveletek.Lepes(tr("Snapshot visszaállítása"), muveletek.root("snapshot-visszaallit", str(elem["szam"]))), + tr("A visszaállítás elkészült. Indítsd újra a gépet."), ) if not rendben: return doboz = QMessageBox(self) - doboz.setWindowTitle("Visszaállítás") + doboz.setWindowTitle(tr("Visszaállítás")) doboz.setIcon(QMessageBox.Icon.Warning) doboz.setText( - "A visszaállítás újraindítás után lép életbe. Amit addig a gépen változtatsz (telepítés, beállítás, " - "rendszerfájlok), az a tartalék rendszerbe kerül, és elvész. A /home-ban lévő fájljaid megmaradnak.\n\n" - "Javasolt most újraindítani." + tr("A visszaállítás újraindítás után lép életbe. Amit addig a gépen változtatsz (telepítés, beállítás, " + "rendszerfájlok), az a tartalék rendszerbe kerül, és elvész. A /home-ban lévő fájljaid megmaradnak.\n\n" + "Javasolt most újraindítani.") ) - most = doboz.addButton("Újraindítás most", QMessageBox.ButtonRole.AcceptRole) - doboz.addButton("Később", QMessageBox.ButtonRole.RejectRole) + most = doboz.addButton(tr("Újraindítás most"), QMessageBox.ButtonRole.AcceptRole) + doboz.addButton(tr("Később"), QMessageBox.ButtonRole.RejectRole) doboz.setDefaultButton(most) doboz.exec() if doboz.clickedButton() is most: @@ -238,9 +254,9 @@ class Snapshotok(QWidget): def _beallitas(self): self._futtat( - "Snapper beállítása", - muveletek.Lepes("Snapper beállítása", muveletek.root("snapper-beallitas")), - "A snapper beállítva, az első snapshot elkészült.", + tr("Snapper beállítása"), + muveletek.Lepes(tr("Snapper beállítása"), muveletek.root("snapper-beallitas")), + tr("A snapper beállítva, az első snapshot elkészült."), ) -- cgit v1.3