diff options
| author | Nippy <nippy@Beller-Mac-mini.lan> | 2026-11-06 20:11:12 +0100 |
|---|---|---|
| committer | Nippy <nippy@Beller-Mac-mini.lan> | 2026-11-06 20:11:12 +0100 |
| commit | a2a5805e07de5c1649cae5a023aab9ec8a46438e (patch) | |
| tree | 91e673335dd51dbff1077909841e049916013953 /raveos-center/raveos_center/oldalak | |
| parent | 5d5cf0db1b830f61279e353579c0074b0bf067f8 (diff) | |
| download | RaveOS-PKGBUILD-a2a5805e07de5c1649cae5a023aab9ec8a46438e.tar.gz RaveOS-PKGBUILD-a2a5805e07de5c1649cae5a023aab9ec8a46438e.zip | |
center
Diffstat (limited to 'raveos-center/raveos_center/oldalak')
11 files changed, 525 insertions, 459 deletions
diff --git a/raveos-center/raveos_center/oldalak/alkalmazasok.py b/raveos-center/raveos_center/oldalak/alkalmazasok.py index 4ab95e6..0251906 100644 --- a/raveos-center/raveos_center/oldalak/alkalmazasok.py +++ b/raveos-center/raveos_center/oldalak/alkalmazasok.py @@ -13,10 +13,11 @@ from PyQt6.QtWidgets import ( from raveos_center import katalogus from raveos_center.elemek import Kartya, Oldal, cimke, frissit_stilus, gomb from raveos_center.folyamat import FolyamatAblak +from raveos_center.forditas import tr from raveos_center.hatter import gyorsitott AZON = "alkalmazasok" -MENU = "Alkalmazások" +MENU = tr("Alkalmazások") IKON = "alkalmazasok" CSAK_TELEPITETT = "telepitett" @@ -64,7 +65,7 @@ class AppSor(QWidget): nev.setStyleSheet("font-size: 14px; font-weight: 600;") nevsor.addWidget(nev) nevsor.addWidget(cimke(katalogus.forras(app), "monohalvany")) - self.allapot = cimke("TELEPÍTVE", "allapotcimke") + self.allapot = cimke(tr("TELEPÍTVE"), "allapotcimke") self.allapot.setProperty("szin", "zold") self.allapot.hide() nevsor.addWidget(self.allapot) @@ -79,7 +80,7 @@ class AppSor(QWidget): self.eltavolit_gomb = None if app["type"] == "choice": - self.eltavolit_gomb = gomb("Eltávolítás", kicsi=True) + self.eltavolit_gomb = gomb(tr("Eltávolítás"), kicsi=True) self.eltavolit_gomb.clicked.connect(lambda: self._opcio_muvelet(False)) felso.addWidget(self.eltavolit_gomb) self.gomb = gomb("", kicsi=True) @@ -116,9 +117,9 @@ class AppSor(QWidget): lista.setContentsMargins(82, 4, 0, 0) lista.setSpacing(6) fej = QHBoxLayout() - fej.addWidget(cimke("VÁLASSZ, AKÁR TÖBBET IS", "monohalvany")) + fej.addWidget(cimke(tr("VÁLASSZ, AKÁR TÖBBET IS"), "monohalvany")) fej.addStretch(1) - mind = gomb("Mind kijelölése", kicsi=True) + mind = gomb(tr("Mind kijelölése"), kicsi=True) mind.clicked.connect(self._mind) fej.addWidget(mind) lista.addLayout(fej) @@ -133,7 +134,7 @@ class AppSor(QWidget): sor.addWidget(jelolo) leiras = cimke(katalogus.loc(o.get("desc")), "halvany") sor.addWidget(leiras, 1) - allapot = cimke("TELEPÍTVE", "allapotcimke") + allapot = cimke(tr("TELEPÍTVE"), "allapotcimke") allapot.setProperty("szin", "zold") sor.addWidget(allapot) lista.addWidget(kontener) @@ -187,11 +188,11 @@ class AppSor(QWidget): self.jelolo.setChecked(any(j.isChecked() for j, _, _ in self.opciok)) self.jelolo.blockSignals(False) self.oldal.kijeles_valtozott() - self.gomb.setText(f"Telepítés ({len(uj)})" if uj else "Telepítés") + self.gomb.setText(tr("Telepítés ({0})", len(uj)) if uj else tr("Telepítés")) self.gomb.setEnabled(bool(uj)) self.gomb.setProperty("fo", True) frissit_stilus(self.gomb) - self.eltavolit_gomb.setText(f"Eltávolítás ({len(regi)})" if regi else "Eltávolítás") + self.eltavolit_gomb.setText(tr("Eltávolítás ({0})", len(regi)) if regi else tr("Eltávolítás")) self.eltavolit_gomb.setEnabled(bool(regi)) def _opcio_muvelet(self, telepites): @@ -207,22 +208,22 @@ class AppSor(QWidget): allapot.setVisible(fent) db += fent self.telepitve = db > 0 - self.allapot.setText(f"{db} / {len(self.opciok)} TELEPÍTVE") + self.allapot.setText(tr("{0} / {1} TELEPÍTVE", db, len(self.opciok))) self.allapot.setVisible(db > 0) self._gombok_opcio() return if self.app["type"] == "message": - self.gomb.setText("Tudnivalók") + self.gomb.setText(tr("Tudnivalók")) self.gomb.setProperty("fo", False) else: self.telepitve = katalogus.telepitve(self.app, index) self.allapot.setVisible(self.telepitve) if self.telepitve: - self.gomb.setText("Eltávolítás") + self.gomb.setText(tr("Eltávolítás")) self.gomb.setEnabled(katalogus.eltavolithato(self.app)) self.gomb.setProperty("fo", False) else: - self.gomb.setText("Telepítés") + self.gomb.setText(tr("Telepítés")) self.gomb.setEnabled(True) self.gomb.setProperty("fo", True) frissit_stilus(self.gomb) @@ -275,7 +276,7 @@ class Csoport(QWidget): class Alkalmazasok(Oldal): def __init__(self, kozpont): - super().__init__(kozpont, "PACMAN · AUR · FLATPAK", "Alkalmazások") + super().__init__(kozpont, "PACMAN · AUR · FLATPAK", tr("Alkalmazások")) self.katalogus = [] self.index = {"pacman": set(), "flatpak": set()} self.sorok = [] @@ -283,7 +284,7 @@ class Alkalmazasok(Oldal): self.kategoria = "all" self.kereso = QLineEdit() - self.kereso.setPlaceholderText("Keresés, pl. Steam, OBS, Discord") + self.kereso.setPlaceholderText(tr("Keresés, pl. Steam, OBS, Discord")) self.kereso.setClearButtonEnabled(True) self.kereso.setMinimumWidth(220) self.kereso.setMaximumWidth(340) @@ -293,7 +294,7 @@ class Alkalmazasok(Oldal): pillek = QHBoxLayout() pillek.setSpacing(8) self.pillek = {} - for azon, nev in katalogus.KATEGORIAK + [(CSAK_TELEPITETT, "Csak telepítettek")]: + for azon, nev in katalogus.KATEGORIAK + [(CSAK_TELEPITETT, tr("Csak telepítettek"))]: p = QPushButton(nev) p.setObjectName("pill") p.setCursor(Qt.CursorShape.PointingHandCursor) @@ -310,13 +311,13 @@ class Alkalmazasok(Oldal): ks.setSpacing(24) kszoveg = QVBoxLayout() kszoveg.setSpacing(6) - kszoveg.addWidget(cimke("CSOMAG · GAMING ALAPOK", "eyebrow")) - kszoveg.addWidget(cimke("EGY KATTINTÁS, MINDEN AMI JÁTÉKHOZ KELL", "h2", True)) + kszoveg.addWidget(cimke(tr("CSOMAG · GAMING ALAPOK"), "eyebrow")) + kszoveg.addWidget(cimke(tr("EGY KATTINTÁS, MINDEN AMI JÁTÉKHOZ KELL"), "h2", True)) kszoveg.addWidget( - cimke("Steam (Proton-GE-vel), Lutris, Heroic, GameMode és MangoHud egyben, előre beállítva.", "masodlagos", True) + cimke(tr("Steam (Proton-GE-vel), Lutris, Heroic, GameMode és MangoHud egyben, előre beállítva."), "masodlagos", True) ) ks.addLayout(kszoveg, 1) - self.kiemelt_gomb = gomb("Csomag telepítése", fo=True) + self.kiemelt_gomb = gomb(tr("Csomag telepítése"), fo=True) self.kiemelt_gomb.clicked.connect(self._gaming_alapok) ks.addWidget(self.kiemelt_gomb, 0, Qt.AlignmentFlag.AlignVCenter) self.kiemelt.elrendezes.addLayout(ks) @@ -329,7 +330,7 @@ class Alkalmazasok(Oldal): self.lista = QVBoxLayout() self.lista.setSpacing(28) self.torzs.addLayout(self.lista) - self.ures = cimke("Nincs találat.", "halvany") + self.ures = cimke(tr("Nincs találat."), "halvany") self.ures.hide() self.torzs.addWidget(self.ures) self.torzs.addStretch(1) @@ -345,13 +346,13 @@ class Alkalmazasok(Oldal): self.sav_szoveg = cimke("", "mono") s.addWidget(self.sav_szoveg) s.addStretch(1) - torles = gomb("Kijelölés törlése", kicsi=True) + torles = gomb(tr("Kijelölés törlése"), kicsi=True) torles.clicked.connect(self._kijeles_torles) s.addWidget(torles) - self.sav_eltavolit = gomb("Kijelöltek eltávolítása") + self.sav_eltavolit = gomb(tr("Kijelöltek eltávolítása")) self.sav_eltavolit.clicked.connect(lambda: self._tomeges(False)) s.addWidget(self.sav_eltavolit) - self.sav_telepit = gomb("Kijelöltek telepítése", fo=True) + self.sav_telepit = gomb(tr("Kijelöltek telepítése"), fo=True) self.sav_telepit.clicked.connect(lambda: self._tomeges(True)) s.addWidget(self.sav_telepit) self.sav.hide() @@ -370,10 +371,10 @@ class Alkalmazasok(Oldal): latszik = kijelolt > 0 self.sav.setVisible(latszik) self.setViewportMargins(0, 0, 0, self.sav.sizeHint().height() if latszik else 0) - self.sav_szoveg.setText(f"{kijelolt} KIJELÖLVE") - self.sav_telepit.setText(f"Kijelöltek telepítése ({len(uj)})") + self.sav_szoveg.setText(tr("{0} KIJELÖLVE", kijelolt)) + self.sav_telepit.setText(tr("Kijelöltek telepítése ({0})", len(uj))) self.sav_telepit.setEnabled(bool(uj)) - self.sav_eltavolit.setText(f"Kijelöltek eltávolítása ({len(regi)})") + self.sav_eltavolit.setText(tr("Kijelöltek eltávolítása ({0})", len(regi))) self.sav_eltavolit.setEnabled(bool(regi)) if latszik: self.sav.raise_() @@ -397,8 +398,8 @@ class Alkalmazasok(Oldal): if not telepites: valasz = QMessageBox.question( self, - "Eltávolítás", - "Biztosan eltávolítod ezeket?\n\n" + "\n".join(nevek), + tr("Eltávolítás"), + tr("Biztosan eltávolítod ezeket?\n\n") + "\n".join(nevek), QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No, QMessageBox.StandardButton.No, ) @@ -411,8 +412,12 @@ class Alkalmazasok(Oldal): lepesek.append(lepes) if not lepesek: return - cim = f"{'Telepítés' if telepites else 'Eltávolítás'}: {len(tetelek)} alkalmazás" - FolyamatAblak(self, cim, lepesek, "Minden lépés sikeresen lefutott.", "Nem minden lépés sikerült.").exec() + cim = ( + tr("Telepítés: {0} alkalmazás", len(tetelek)) + if telepites + else tr("Eltávolítás: {0} alkalmazás", len(tetelek)) + ) + FolyamatAblak(self, cim, lepesek, tr("Minden lépés sikeresen lefutott."), tr("Nem minden lépés sikerült.")).exec() self._kijeles_torles() self.megjelenik() @@ -420,7 +425,7 @@ class Alkalmazasok(Oldal): try: self.katalogus = katalogus.betolt() except (OSError, ValueError, RuntimeError) as e: - self.hiba.setText(f"Az alkalmazáskatalógus nem tölthető be: {e}") + self.hiba.setText(tr("Az alkalmazáskatalógus nem tölthető be: {0}", e)) self.hiba.show() return for azon, nev in katalogus.KATEGORIAK[1:]: @@ -445,7 +450,7 @@ class Alkalmazasok(Oldal): alap = [a for a in self.katalogus if a["id"] in katalogus.GAMING_ALAPOK] hianyzik = [a for a in alap if not katalogus.telepitve(a, index)] self.kiemelt_gomb.setEnabled(bool(hianyzik)) - self.kiemelt_gomb.setText("Csomag telepítése" if hianyzik else "Minden telepítve") + self.kiemelt_gomb.setText(tr("Csomag telepítése") if hianyzik else tr("Minden telepítve")) self._szur() def _kategoria(self, azon): @@ -468,9 +473,9 @@ class Alkalmazasok(Oldal): lathatok.add(s) osszes = sum(c.szur(lathatok) for c in self.csoportok.values()) self.ures.setText( - "Még nincs telepítve egyetlen alkalmazás sem a listából." + tr("Még nincs telepítve egyetlen alkalmazás sem a listából.") if self.kategoria == CSAK_TELEPITETT and not szoveg - else "Nincs találat." + else tr("Nincs találat.") ) self.ures.setVisible(osszes == 0) self.kiemelt.setVisible(self.kategoria in ("all", "Games") and not szoveg) @@ -480,8 +485,8 @@ class Alkalmazasok(Oldal): nevek = ", ".join(o["name"] for o in app.get("options", []) if o["id"] in (opciok or [])) or app["name"] valasz = QMessageBox.question( self, - "Eltávolítás", - f"Biztosan eltávolítod: {nevek}?", + tr("Eltávolítás"), + tr("Biztosan eltávolítod: {0}?", nevek), QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No, QMessageBox.StandardButton.No, ) @@ -490,8 +495,9 @@ class Alkalmazasok(Oldal): lepesek = katalogus.lepesek(app, telepites, opciok) if not lepesek: return - cim = f"{'Telepítés' if telepites else 'Eltávolítás'}: {app['name']}" - FolyamatAblak(self, cim, lepesek, f"{app['name']} {'telepítve' if telepites else 'eltávolítva'}.").exec() + cim = tr("Telepítés: {0}", app["name"]) if telepites else tr("Eltávolítás: {0}", app["name"]) + kesz = tr("{0} telepítve.", app["name"]) if telepites else tr("{0} eltávolítva.", app["name"]) + FolyamatAblak(self, cim, lepesek, kesz).exec() self.megjelenik() def _gaming_alapok(self): @@ -501,7 +507,7 @@ class Alkalmazasok(Oldal): lepesek += katalogus.lepesek(app, True) if not lepesek: return - FolyamatAblak(self, "Gaming alapok telepítése", lepesek, "A Gaming alapok telepítve.").exec() + FolyamatAblak(self, tr("Gaming alapok telepítése"), lepesek, tr("A Gaming alapok telepítve.")).exec() self.megjelenik() diff --git a/raveos-center/raveos_center/oldalak/attekintes.py b/raveos-center/raveos_center/oldalak/attekintes.py index 9ebc848..7485e35 100644 --- a/raveos-center/raveos_center/oldalak/attekintes.py +++ b/raveos-center/raveos_center/oldalak/attekintes.py @@ -6,19 +6,20 @@ from PyQt6.QtWidgets import QHBoxLayout, QMessageBox, QProgressBar, QPushButton, from raveos_center import gaming, muveletek, rendszerinfo from raveos_center.elemek import Kartya, Oldal, Racs, cimke, frissit_stilus, gomb +from raveos_center.forditas import tr from raveos_center.hatter import ervenytelenit, gyorsitott, tarolt AZON = "attekintes" -MENU = "Áttekintés" +MENU = tr("Áttekintés") IKON = "attekintes" GYORS = [ - ("01", "Alkalmazás telepítése", "Böngészés kategóriák szerint", "alkalmazasok", ()), - ("02", "Rendszerfrissítés", "pacman + AUR + Flatpak", "frissitesek", ()), - ("03", "Driverek", "GPU, Wi-Fi, kontrollerek", "rendszer", ("driverek",)), - ("04", "Takarítás", "Cache, árva csomagok", "rendszer", ("karbantartas",)), - ("05", "Gaming tweakek", "GameMode, Proton, MangoHud", "rendszer", ("gaming",)), - ("06", "Visszaállítás", "Snapshot betöltése", "rendszer", ("snapshotok",)), + ("01", tr("Alkalmazás telepítése"), tr("Böngészés kategóriák szerint"), "alkalmazasok", ()), + ("02", tr("Rendszerfrissítés"), "pacman + AUR + Flatpak", "frissitesek", ()), + ("03", tr("Driverek"), tr("GPU, Wi-Fi, kontrollerek"), "rendszer", ("driverek",)), + ("04", tr("Takarítás"), tr("Cache, árva csomagok"), "rendszer", ("karbantartas",)), + ("05", tr("Gaming tweakek"), "GameMode, Proton, MangoHud", "rendszer", ("gaming",)), + ("06", tr("Visszaállítás"), tr("Snapshot betöltése"), "rendszer", ("snapshotok",)), ] KOZOSSEG = [ @@ -57,25 +58,25 @@ def allapotkartya(cim): class Attekintes(Oldal): def __init__(self, kozpont): - super().__init__(kozpont, "ÜDV ÚJRA", "Áttekintés") - self.frissites_gomb = self.fejlec_gomb(gomb("Frissítés most", fo=True)) + super().__init__(kozpont, tr("ÜDV ÚJRA"), tr("Áttekintés")) + self.frissites_gomb = self.fejlec_gomb(gomb(tr("Frissítés most"), fo=True)) self.frissites_gomb.clicked.connect(lambda: self.kozpont.mutat("frissitesek")) - self.snapshot_gomb = self.fejlec_gomb(gomb("Snapshot készítése")) + self.snapshot_gomb = self.fejlec_gomb(gomb(tr("Snapshot készítése"))) self.snapshot_gomb.clicked.connect(lambda: self.kozpont.mutat("rendszer", "snapshotok", "uj")) allapot = Racs(220) - k, self.frissites_szam = allapotkartya("Frissítések") + k, self.frissites_szam = allapotkartya(tr("Frissítések")) self.frissites_szam.setProperty("zold", True) - self.frissites_reszlet = cimke("ellenőrzés...", "masodlagos") + self.frissites_reszlet = cimke(tr("ellenőrzés..."), "masodlagos") k.elrendezes.addWidget(self.frissites_reszlet) allapot.hozzaad(k) - k, self.snapshot_ertek = allapotkartya("Utolsó snapshot") + k, self.snapshot_ertek = allapotkartya(tr("Utolsó snapshot")) self.snapshot_reszlet = cimke("", "masodlagos") k.elrendezes.addWidget(self.snapshot_reszlet) allapot.hozzaad(k) - k, self.lemez_ertek = allapotkartya("Lemez") + k, self.lemez_ertek = allapotkartya(tr("Lemez")) self.lemez_sav = QProgressBar() self.lemez_sav.setObjectName("sav") self.lemez_sav.setTextVisible(False) @@ -83,7 +84,7 @@ class Attekintes(Oldal): k.elrendezes.addWidget(self.lemez_sav) allapot.hozzaad(k) - k, self.gaming_ertek = allapotkartya("Gaming mód") + k, self.gaming_ertek = allapotkartya(tr("Gaming mód")) self.gaming_adat = None self.gaming_gomb = gomb("...", kicsi=True) self.gaming_gomb.clicked.connect(self._gaming_valt) @@ -95,7 +96,7 @@ class Attekintes(Oldal): also.setSpacing(24) bal = QVBoxLayout() bal.setSpacing(16) - bal.addWidget(cimke("GYORS MŰVELETEK", "h2")) + bal.addWidget(cimke(tr("GYORS MŰVELETEK"), "h2")) self.gyors = Racs(180, 12) self.csempek = [] for kod, cim, alcim, cel, al in GYORS: @@ -109,7 +110,7 @@ class Attekintes(Oldal): jobb = QVBoxLayout() jobb.setSpacing(16) - jobb.addWidget(cimke("RENDSZER", "h2")) + jobb.addWidget(cimke(tr("RENDSZER"), "h2")) self.info = Kartya(terkoz=0, margo=20) self.info.elrendezes.setContentsMargins(20, 8, 20, 8) self.info_sorok = {} @@ -117,7 +118,7 @@ class Attekintes(Oldal): sor = QWidget() sl = QHBoxLayout(sor) sl.setContentsMargins(0, 12, 0, 12) - sl.addWidget(cimke(kulcs, "monohalvany")) + sl.addWidget(cimke(tr(kulcs), "monohalvany")) sl.addStretch(1) ertek = cimke("...", "mono") ertek.setAlignment(Qt.AlignmentFlag.AlignRight) @@ -127,12 +128,12 @@ class Attekintes(Oldal): self.info.elrendezes.addWidget(sor) jobb.addWidget(self.info) - kozosseg = Kartya("Közösség", terkoz=12) + kozosseg = Kartya(tr("Közösség"), terkoz=12) nev = cimke("RaveCore") nev.setStyleSheet("font-size: 15px; font-weight: 600;") kozosseg.elrendezes.addWidget(nev) kozosseg.elrendezes.addWidget( - cimke("Kérdésed van, vagy hibát találtál? Gyere a közösségbe, vagy írj nekünk hibajegyet.", "masodlagos", True) + cimke(tr("Kérdésed van, vagy hibát találtál? Gyere a közösségbe, vagy írj nekünk hibajegyet."), "masodlagos", True) ) linkek = QHBoxLayout() linkek.setSpacing(16) @@ -140,7 +141,9 @@ class Attekintes(Oldal): link = cimke(f'<a href="{cim}" style="color:#62a052; text-decoration:none">{szoveg}</a>', "link") link.setOpenExternalLinks(True) linkek.addWidget(link) - self.hibajegy_link = cimke('<a href="#" style="color:#62a052; text-decoration:none">Hibajegy</a>', "link") + self.hibajegy_link = cimke( + f'<a href="#" style="color:#62a052; text-decoration:none">{tr("Hibajegy")}</a>', "link" + ) self.hibajegy_link.linkActivated.connect(lambda _: self.kozpont.mutat("visszajelzes")) linkek.addWidget(self.hibajegy_link) linkek.addStretch(1) @@ -160,7 +163,7 @@ class Attekintes(Oldal): for csempe, cel, al in self.csempek: elerheto = self.kozpont.van(cel, *al) csempe.setEnabled(elerheto) - csempe.setToolTip("" if elerheto else "Hamarosan") + csempe.setToolTip("" if elerheto else tr("Hamarosan")) self._lemez() gyorsitott("info", self._info_gyujt, kesz=self._info_kesz, kor=300) gyorsitott("frissitesek", rendszerinfo.frissitesek, kesz=self._frissites_kesz, hiba=self._frissites_hiba, kor=60) @@ -169,16 +172,16 @@ class Attekintes(Oldal): def _gaming_kesz(self, adat): self.gaming_adat = adat aktiv = gaming.gaming_mod_aktiv(adat) - self.gaming_ertek.setText("BEKAPCSOLVA" if aktiv else "KIKAPCSOLVA") + self.gaming_ertek.setText(tr("BEKAPCSOLVA") if aktiv else tr("KIKAPCSOLVA")) self.gaming_ertek.setProperty("zold", aktiv) frissit_stilus(self.gaming_ertek) - self.gaming_gomb.setText("Kikapcsolás" if aktiv else "Bekapcsolás") + self.gaming_gomb.setText(tr("Kikapcsolás") if aktiv else tr("Bekapcsolás")) self.gaming_gomb.setProperty("fo", not aktiv) frissit_stilus(self.gaming_gomb) valtozas = gaming.gaming_mod_valtozasok(adat, not aktiv) self.gaming_gomb.setEnabled(bool(valtozas) and muveletek.helper_elerheto()) self.gaming_gomb.setToolTip( - "" if valtozas else "Ezen a gépen a Gaming mód elemei nem kapcsolhatók ki, a GameMode a Rendszer > Gaming fülön távolítható el." + "" if valtozas else tr("Ezen a gépen a Gaming mód elemei nem kapcsolhatók ki, a GameMode a Rendszer > Gaming fülön távolítható el.") ) def _gaming_valt(self): @@ -190,7 +193,7 @@ class Attekintes(Oldal): aktiv = gaming.gaming_mod_aktiv(self.gaming_adat) hiba = alkalmaz(self, gaming.gaming_mod_valtozasok(self.gaming_adat, not aktiv)) if hiba: - QMessageBox.warning(self, "Gaming mód", hiba) + QMessageBox.warning(self, tr("Gaming mód"), hiba) ervenytelenit("gaming") gyorsitott("gaming", gaming.allapot, kesz=self._gaming_kesz) @@ -201,7 +204,7 @@ class Attekintes(Oldal): @staticmethod def _info_gyujt(): - gpu = ", ".join(rendszerinfo.gpuk()) or "ismeretlen" + gpu = ", ".join(rendszerinfo.gpuk()) or tr("ismeretlen") driver = ", ".join(rendszerinfo.gpu_driverek()) return { "Kernel": rendszerinfo.kernel(), @@ -221,39 +224,39 @@ class Attekintes(Oldal): szam = len(csomagok) self.kozpont.jelveny("frissitesek", szam) if not szam: - self.frissites_szam.setText("NAPRAKÉSZ") - self.frissites_reszlet.setText("nincs elérhető frissítés") + self.frissites_szam.setText(tr("NAPRAKÉSZ")) + self.frissites_reszlet.setText(tr("nincs elérhető frissítés")) return - self.frissites_szam.setText(f"{szam} ELÉRHETŐ") + self.frissites_szam.setText(tr("{0} ELÉRHETŐ", szam)) reszek = [] ujrainditos = sum(1 for c in csomagok if c["ujrainditas"]) aur = sum(1 for c in csomagok if c["forras"] == "aur") flatpak = sum(1 for c in csomagok if c["forras"] == "flatpak") if ujrainditos: - reszek.append(f"{ujrainditos} újraindítást igényel") + reszek.append(tr("{0} újraindítást igényel", ujrainditos)) if aur: reszek.append(f"{aur} AUR") if flatpak: reszek.append(f"{flatpak} Flatpak") - self.frissites_reszlet.setText(" · ".join(reszek) or "csak hivatalos csomagok") + self.frissites_reszlet.setText(" · ".join(reszek) or tr("csak hivatalos csomagok")) def _frissites_hiba(self, _): self.frissites_szam.setText("-") - self.frissites_reszlet.setText("az ellenőrzés nem sikerült") + self.frissites_reszlet.setText(tr("az ellenőrzés nem sikerült")) def _snapshot_kesz(self, snapshot): if snapshot is None: self.snapshot_ertek.setText("-") - self.snapshot_reszlet.setText("a snapper nem érhető el") + self.snapshot_reszlet.setText(tr("a snapper nem érhető el")) return if not snapshot: - self.snapshot_ertek.setText("NINCS") - self.snapshot_reszlet.setText("még nem készült snapshot") + self.snapshot_ertek.setText(tr("NINCS")) + self.snapshot_reszlet.setText(tr("még nem készült snapshot")) return try: ido = datetime.fromisoformat(snapshot.get("date", "")) nap = (datetime.now() - ido).days - self.snapshot_ertek.setText("MA" if nap == 0 else f"{nap} NAPJA") + self.snapshot_ertek.setText(tr("MA") if nap == 0 else tr("{0} NAPJA", nap)) except (TypeError, ValueError): self.snapshot_ertek.setText("?") self.snapshot_reszlet.setText(f"btrfs · {snapshot.get('description') or snapshot.get('type', '')}") diff --git a/raveos-center/raveos_center/oldalak/frissitesek.py b/raveos-center/raveos_center/oldalak/frissitesek.py index baa1ccc..f1ffad2 100644 --- a/raveos-center/raveos_center/oldalak/frissitesek.py +++ b/raveos-center/raveos_center/oldalak/frissitesek.py @@ -15,10 +15,11 @@ from PyQt6.QtWidgets import ( from raveos_center import muveletek, rendszerinfo, snapshotok from raveos_center.elemek import Kartya, Oldal, Racs, cimke, gomb +from raveos_center.forditas import tr from raveos_center.hatter import ervenytelenit, hatterben AZON = "frissitesek" -MENU = "Frissítések" +MENU = tr("Frissítések") IKON = "frissitesek" FORRAS = {"pacman": "pacman", "aur": "AUR", "flatpak": "Flatpak"} @@ -32,7 +33,7 @@ def mb(meret): class Frissitesek(Oldal): def __init__(self, kozpont): - super().__init__(kozpont, "UTOLSÓ ELLENŐRZÉS: -", "Frissítések", kitolt=True) + super().__init__(kozpont, tr("UTOLSÓ ELLENŐRZÉS: -"), tr("Frissítések"), kitolt=True) self.csomagok = [] self.ujrainditas_kell = False self.futtato = muveletek.Futtato(self) @@ -40,22 +41,22 @@ class Frissitesek(Oldal): self.futtato.kesz.connect(self._futas_kesz) self.torzs.setSpacing(20) - self.ellenorzes = self.fejlec_gomb(gomb("Ellenőrzés")) + self.ellenorzes = self.fejlec_gomb(gomb(tr("Ellenőrzés"))) self.ellenorzes.clicked.connect(lambda: self._ellenoriz(True)) - self.inditas = self.fejlec_gomb(gomb("Nincs kijelölve", fo=True)) + self.inditas = self.fejlec_gomb(gomb(tr("Nincs kijelölve"), fo=True)) self.inditas.clicked.connect(self._indit) osszegzes = Racs(220) - k = Kartya("Kijelölve") - self.kijelolt = cimke("0 / 0 CSOMAG", "nagyszam") + k = Kartya(tr("Kijelölve")) + self.kijelolt = cimke(tr("0 / 0 CSOMAG"), "nagyszam") k.elrendezes.addWidget(self.kijelolt) osszegzes.hozzaad(k) - k = Kartya("Letöltés") + k = Kartya(tr("Letöltés")) self.letoltes = cimke("0 MB", "nagyszam") k.elrendezes.addWidget(self.letoltes) osszegzes.hozzaad(k) - k = Kartya("Biztonság") - self.snapshot = QCheckBox("Snapshot készítése frissítés előtt") + k = Kartya(tr("Biztonság")) + self.snapshot = QCheckBox(tr("Snapshot készítése frissítés előtt")) self.snapshot.setChecked(True) k.elrendezes.addWidget(self.snapshot) self.snapshot_megj = cimke("", "halvany", True) @@ -71,10 +72,10 @@ class Frissitesek(Oldal): us.setContentsMargins(0, 0, 0, 0) us.setSpacing(12) us.addWidget( - cimke("A frissítés után újraindítás szükséges, hogy az új kernel vagy driver betöltődjön.", "figyelem", True), + cimke(tr("A frissítés után újraindítás szükséges, hogy az új kernel vagy driver betöltődjön."), "figyelem", True), 1, ) - ujraindit = gomb("Újraindítás most", fo=True) + ujraindit = gomb(tr("Újraindítás most"), fo=True) ujraindit.clicked.connect(self._ujraindit) us.addWidget(ujraindit) self.ujraindito_sav.hide() @@ -83,22 +84,22 @@ class Frissitesek(Oldal): csomag_resz = QVBoxLayout() csomag_resz.setSpacing(12) fej = QHBoxLayout() - fej.addWidget(cimke("CSOMAGOK", "h2")) + fej.addWidget(cimke(tr("CSOMAGOK"), "h2")) fej.addStretch(1) - self.mind = gomb("Mind kijelölése", kicsi=True) + self.mind = gomb(tr("Mind kijelölése"), kicsi=True) self.mind.clicked.connect(self._mind) fej.addWidget(self.mind) csomag_resz.addLayout(fej) csomag_resz.addWidget( cimke( - "A hivatalos csomagok (pacman) csak együtt frissíthetők: Arch-alapú rendszeren a részleges frissítés " - "elronthatja a rendszert. Az AUR és a Flatpak csomagok egyenként is kijelölhetők.", + tr("A hivatalos csomagok (pacman) csak együtt frissíthetők: Arch-alapú rendszeren a részleges frissítés " + "elronthatja a rendszert. Az AUR és a Flatpak csomagok egyenként is kijelölhetők."), "halvany", True, ) ) self.tabla = QTableWidget(0, 6) - self.tabla.setHorizontalHeaderLabels(["", "Csomag", "Forrás", "Jelenlegi", "Új", "Méret"]) + self.tabla.setHorizontalHeaderLabels(["", tr("Csomag"), tr("Forrás"), tr("Jelenlegi"), tr("Új"), tr("Méret")]) self.tabla.verticalHeader().hide() self.tabla.setShowGrid(False) self.tabla.setSelectionMode(QAbstractItemView.SelectionMode.NoSelection) @@ -118,7 +119,7 @@ class Frissitesek(Oldal): naplo_resz = QVBoxLayout() naplo_resz.setSpacing(12) - naplo_resz.addWidget(cimke("NAPLÓ", "h2")) + naplo_resz.addWidget(cimke(tr("NAPLÓ"), "h2")) self.naplo = QPlainTextEdit() self.naplo.setObjectName("naplo") self.naplo.setReadOnly(True) @@ -138,17 +139,17 @@ class Frissitesek(Oldal): if automatikus: self.snapshot.setChecked(False) self.snapshot_megj.setText( - "Minden csomagművelet előtt automatikusan snapshot készül, ha gond van, a Rendszer > Snapshotok " - "fülön vissza tudsz állni." + tr("Minden csomagművelet előtt automatikusan snapshot készül, ha gond van, a Rendszer > Snapshotok " + "fülön vissza tudsz állni.") ) elif not snapper: self.snapshot.setChecked(False) - self.snapshot_megj.setText("Snapshot csak btrfs fájlrendszeren, beállított snapperrel készíthető.") + self.snapshot_megj.setText(tr("Snapshot csak btrfs fájlrendszeren, beállított snapperrel készíthető.")) else: - self.snapshot_megj.setText("Ha a frissítés után gond van, erre vissza tudsz állni.") + self.snapshot_megj.setText(tr("Ha a frissítés után gond van, erre vissza tudsz állni.")) if not muveletek.helper_elerheto(): self.figyelem.setText( - "A RaveOS Center rendszerhelpere nincs telepítve, ezért a rendszercsomagok frissítése nem indítható." + tr("A RaveOS Center rendszerhelpere nincs telepítve, ezért a rendszercsomagok frissítése nem indítható.") ) self.figyelem.show() if not self.futtato.fut() and not self.csomagok: @@ -161,16 +162,16 @@ class Frissitesek(Oldal): if self.futtato.fut(): return self.ellenorzes.setEnabled(False) - self.ellenorzes.setText("Ellenőrzés...") - self._naplo(":: Frissítések ellenőrzése (pacman, AUR, Flatpak)...") + self.ellenorzes.setText(tr("Ellenőrzés...")) + self._naplo(tr(":: Frissítések ellenőrzése (pacman, AUR, Flatpak)...")) hatterben(rendszerinfo.frissitesek, friss, kesz=self._ellenorzes_kesz, hiba=self._ellenorzes_hiba) def _ellenorzes_vege(self): self.ellenorzes.setEnabled(True) - self.ellenorzes.setText("Ellenőrzés") + self.ellenorzes.setText(tr("Ellenőrzés")) mikor = rendszerinfo.frissites_ellenorizve() if mikor: - self.eyebrow.setText(f"UTOLSÓ ELLENŐRZÉS: {datetime.fromtimestamp(mikor):%H:%M}") + self.eyebrow.setText(tr("UTOLSÓ ELLENŐRZÉS: {0:%H:%M}", datetime.fromtimestamp(mikor))) def _ellenorzes_kesz(self, csomagok): ervenytelenit("frissitesek") @@ -178,15 +179,21 @@ class Frissitesek(Oldal): self.csomagok = csomagok szamok = {f: sum(1 for c in csomagok if c["forras"] == f) for f in FORRAS} self._naplo( - f":: {len(csomagok)} frissítés: {szamok['pacman']} pacman, {szamok['aur']} AUR, {szamok['flatpak']} Flatpak" + tr( + ":: {0} frissítés: {1} pacman, {2} AUR, {3} Flatpak", + len(csomagok), + szamok['pacman'], + szamok['aur'], + szamok['flatpak'], + ) ) self.kozpont.jelveny(AZON, len(csomagok)) self._tablat_tolt() def _ellenorzes_hiba(self, uzenet): self._ellenorzes_vege() - self._naplo(f"[HIBA] {uzenet}") - self.figyelem.setText(f"Az ellenőrzés nem sikerült: {uzenet}") + self._naplo(tr("[HIBA] {0}", uzenet)) + self.figyelem.setText(tr("Az ellenőrzés nem sikerült: {0}", uzenet)) self.figyelem.show() def _tablat_tolt(self): @@ -202,7 +209,7 @@ class Frissitesek(Oldal): nev = cimke( c["nev"] + ( - ' <span style="color:#d9a441; font-family:\'Noto Sans Mono\'; font-size:11px">ÚJRAINDÍTÁS</span>' + f' <span style="color:#d9a441; font-family:\'Noto Sans Mono\'; font-size:11px">{tr("ÚJRAINDÍTÁS")}</span>' if c["ujrainditas"] else "" ) @@ -217,7 +224,7 @@ class Frissitesek(Oldal): ures = not self.csomagok self.tabla.setVisible(not ures) self.ures.setVisible(ures) - self.ures.setText("A rendszer naprakész, nincs elérhető frissítés.") + self.ures.setText(tr("A rendszer naprakész, nincs elérhető frissítés.")) self._osszegez() def _kijelolt(self): @@ -240,15 +247,15 @@ class Frissitesek(Oldal): def _osszegez(self): kijelolt = self._kijelolt() - self.kijelolt.setText(f"{len(kijelolt)} / {len(self.csomagok)} CSOMAG") + self.kijelolt.setText(tr("{0} / {1} CSOMAG", len(kijelolt), len(self.csomagok))) meret = sum(c["meret"] or 0 for c in kijelolt) self.letoltes.setText(f"{meret / 1e6:.0f} MB") mind = bool(self.csomagok) and len(kijelolt) == len(self.csomagok) - self.mind.setText("Kijelölés törlése" if mind else "Mind kijelölése") + self.mind.setText(tr("Kijelölés törlése") if mind else tr("Mind kijelölése")) self.mind.setEnabled(bool(self.csomagok) and not self.futtato.fut()) tiltott = any(c["forras"] == "pacman" for c in kijelolt) and not muveletek.helper_elerheto() self.inditas.setEnabled(bool(kijelolt) and not self.futtato.fut() and not tiltott) - self.inditas.setText(f"Frissítés indítása ({len(kijelolt)})" if kijelolt else "Nincs kijelölve") + self.inditas.setText(tr("Frissítés indítása ({0})", len(kijelolt)) if kijelolt else tr("Nincs kijelölve")) def _mind(self): mind = len(self._kijelolt()) == len(self.csomagok) @@ -269,14 +276,14 @@ class Frissitesek(Oldal): flatpak = [c["nev"] for c in kijelolt if c["forras"] == "flatpak"] if self.snapshot.isChecked() and self.snapshot.isEnabled(): lepesek.append( - muveletek.Lepes("Snapshot készítése", muveletek.root("snapshot", "Frissítés előtt (RaveOS Center)")) + muveletek.Lepes(tr("Snapshot készítése"), muveletek.root("snapshot", tr("Frissítés előtt (RaveOS Center)"))) ) if pacman: - lepesek.append(muveletek.Lepes("Rendszercsomagok frissítése (pacman)", muveletek.root("frissites"))) + lepesek.append(muveletek.Lepes(tr("Rendszercsomagok frissítése (pacman)"), muveletek.root("frissites"))) if aur: lepesek.append( muveletek.Lepes( - "AUR csomagok frissítése", + tr("AUR csomagok frissítése"), [ "yay", "-S", "--noconfirm", "--color", "never", "--sudo", "pkexec", "--answerclean", "None", "--answerdiff", "None", "--answeredit", "None", @@ -288,7 +295,7 @@ class Frissitesek(Oldal): if flatpak: lepesek.append( muveletek.Lepes( - "Flatpak alkalmazások frissítése", + tr("Flatpak alkalmazások frissítése"), ["flatpak", "update", "-y", "--noninteractive", *flatpak], kotelezo=False, ) @@ -298,7 +305,7 @@ class Frissitesek(Oldal): self.ujraindito_sav.hide() self._zarol(True) self._naplo("") - self._naplo(f":: Frissítés indul, {len(kijelolt)} csomag") + self._naplo(tr(":: Frissítés indul, {0} csomag", len(kijelolt))) self.futtato.indit(lepesek) def _zarol(self, fut): @@ -306,26 +313,26 @@ class Frissitesek(Oldal): w.setEnabled(not fut) self.snapshot.setEnabled(not fut and rendszerinfo.snapper_elerheto() and not snapshotok.snap_pac()) if fut: - self.inditas.setText("Frissítés folyamatban...") + self.inditas.setText(tr("Frissítés folyamatban...")) def _futas_kesz(self, rendben, hibasak): ervenytelenit() self._zarol(False) if rendben: - self._naplo(":: A frissítés sikeresen befejeződött.") + self._naplo(tr(":: A frissítés sikeresen befejeződött.")) if self.ujrainditas_kell: self.ujraindito_sav.show() else: - self._naplo(f":: A frissítés hibával ért véget: {', '.join(hibasak)}") + self._naplo(tr(":: A frissítés hibával ért véget: {0}", ', '.join(hibasak))) self.figyelem.setText( - "A frissítés nem sikerült teljesen. A részleteket a lenti napló mutatja. " - "Ha nem érted, mi történt, küldj hibajegyet a Visszajelzés oldalon." + tr("A frissítés nem sikerült teljesen. A részleteket a lenti napló mutatja. " + "Ha nem érted, mi történt, küldj hibajegyet a Visszajelzés oldalon.") ) self.figyelem.show() self._ellenoriz(True) def _ujraindit(self): - muveletek.Futtato(self).indit([muveletek.Lepes("Újraindítás", ["systemctl", "reboot"])]) + muveletek.Futtato(self).indit([muveletek.Lepes(tr("Újraindítás"), ["systemctl", "reboot"])]) OLDAL = Frissitesek 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."), ) diff --git a/raveos-center/raveos_center/oldalak/visszajelzes.py b/raveos-center/raveos_center/oldalak/visszajelzes.py index 56664ab..fcfcbdd 100644 --- a/raveos-center/raveos_center/oldalak/visszajelzes.py +++ b/raveos-center/raveos_center/oldalak/visszajelzes.py @@ -18,25 +18,26 @@ from PyQt6.QtWidgets import ( from raveos_center import beallitasok, diagnosztika, jegyek_api from raveos_center.elemek import Csillagok, Fulsor, Kartya, Oldal, Verem, cimke, gomb +from raveos_center.forditas import NYELV, tr from raveos_center.hatter import gyorsitott, hatterben AZON = "visszajelzes" -MENU = "Visszajelzés" +MENU = tr("Visszajelzés") IKON = "visszajelzes" ALLAPOT = { - "uj": ("Beküldve", ""), - "folyamatban": ("Folyamatban", "sarga"), - "tervezett": ("Tervezett", "sarga"), - "megoldva": ("Megoldva", "zold"), - "kesz": ("Elkészült", "zold"), - "lezarva": ("Lezárva", ""), - "elutasitva": ("Elutasítva", ""), + "uj": (tr("Beküldve"), ""), + "folyamatban": (tr("Folyamatban"), "sarga"), + "tervezett": (tr("Tervezett"), "sarga"), + "megoldva": (tr("Megoldva"), "zold"), + "kesz": (tr("Elkészült"), "zold"), + "lezarva": (tr("Lezárva"), ""), + "elutasitva": (tr("Elutasítva"), ""), } def ido(t): - return datetime.fromtimestamp(t).strftime("%Y.%m.%d %H:%M") + return datetime.fromtimestamp(t).strftime(tr("%Y.%m.%d %H:%M")) def allapotcimke(allapot): @@ -61,11 +62,11 @@ class JegySor(QWidget): doboz.setSpacing(6) felso = QHBoxLayout() felso.setSpacing(8) - tipus = "HIBA" if jegy["tipus"] == "hiba" else "ÖTLET" + tipus = tr("HIBA") if jegy["tipus"] == "hiba" else tr("ÖTLET") felso.addWidget(cimke(tipus, "monozold")) felso.addStretch(1) if jegy["uj_valasz"]: - felso.addWidget(cimke("ÚJ VÁLASZ", "jelveny")) + felso.addWidget(cimke(tr("ÚJ VÁLASZ"), "jelveny")) felso.addWidget(allapotcimke(jegy["allapot"])) doboz.addLayout(felso) cim = cimke(jegy["cim"]) @@ -88,7 +89,7 @@ class Uzenet(QWidget): doboz = QVBoxLayout(self) doboz.setContentsMargins(14, 12, 14, 12) doboz.setSpacing(6) - ki = "RaveOS csapat" if csapat else "Te" + ki = tr("RaveOS csapat") if csapat else tr("Te") doboz.addWidget(cimke(f"{ki} · {ido(uzenet['ido'])}", "halvany")) szoveg = cimke(uzenet["szoveg"], tordel=True) szoveg.setTextInteractionFlags(Qt.TextInteractionFlag.TextSelectableByMouse) @@ -98,17 +99,17 @@ class Uzenet(QWidget): class JelentesAblak(QDialog): def __init__(self, szulo, szoveg): super().__init__(szulo) - self.setWindowTitle("A csatolt diagnosztika tartalma") + self.setWindowTitle(tr("A csatolt diagnosztika tartalma")) self.resize(820, 600) doboz = QVBoxLayout(self) doboz.setContentsMargins(20, 20, 20, 20) doboz.setSpacing(12) - doboz.addWidget(cimke("Pontosan ez kerül feltöltésre, ha bejelölöd a csatolást:", "masodlagos")) + doboz.addWidget(cimke(tr("Pontosan ez kerül feltöltésre, ha bejelölöd a csatolást:"), "masodlagos")) mezo = QPlainTextEdit(szoveg) mezo.setReadOnly(True) mezo.setObjectName("mono") doboz.addWidget(mezo, 1) - bezar = gomb("Bezárás", fo=True) + bezar = gomb(tr("Bezárás"), fo=True) bezar.clicked.connect(self.accept) doboz.addWidget(bezar, 0, Qt.AlignmentFlag.AlignRight) @@ -125,36 +126,40 @@ class Urlap(QWidget): doboz.addWidget(self.cim) self.leiras = cimke("", "masodlagos", True) doboz.addWidget(self.leiras) - doboz.addWidget(cimke("Cím", "kartyacim")) + doboz.addWidget(cimke(tr("Cím"), "kartyacim")) self.cim_mezo = QLineEdit() self.cim_mezo.setMaxLength(120) doboz.addWidget(self.cim_mezo) - doboz.addWidget(cimke("Leírás", "kartyacim")) + doboz.addWidget(cimke(tr("Leírás"), "kartyacim")) self.szoveg_mezo = QPlainTextEdit() self.szoveg_mezo.setMinimumHeight(160) doboz.addWidget(self.szoveg_mezo) self.diag = Kartya(terkoz=8, margo=16) - self.diag_jelolo = QCheckBox("Diagnosztika csatolása (ajánlott, segít megtalálni a hibát)") + self.diag_jelolo = QCheckBox(tr("Diagnosztika csatolása (ajánlott, segít megtalálni a hibát)")) self.diag.elrendezes.addWidget(self.diag_jelolo) lista = "\n".join(f" - {t}" for t in diagnosztika.TARTALOM) self.diag.elrendezes.addWidget( cimke( - f"Ha bejelölöd, egy jelentést is csatolunk a gépedről:\n{lista}\n\n" - f"Feltöltés előtt kitakarjuk: {diagnosztika.KITAKARAS}. Jelszó nem kerül bele. " - "Titkosított kapcsolaton megy el, csak a RaveOS fejlesztői látják, és 30 nap után törlődik.", + tr( + "Ha bejelölöd, egy jelentést is csatolunk a gépedről:\n{0}\n\nFeltöltés előtt kitakarjuk: {1}. " + "Jelszó nem kerül bele. Titkosított kapcsolaton megy el, csak a RaveOS fejlesztői látják, és " + "30 nap után törlődik.", + lista, + diagnosztika.KITAKARAS, + ), "halvany", True, ) ) - self.megnez = gomb("Megnézem, mi kerül bele", kicsi=True) + self.megnez = gomb(tr("Megnézem, mi kerül bele"), kicsi=True) self.megnez.clicked.connect(self._megnez) self.diag.elrendezes.addWidget(self.megnez, 0, Qt.AlignmentFlag.AlignLeft) doboz.addWidget(self.diag) doboz.addWidget( cimke( - "A jegyhez mindig csatoljuk a RaveOS-verziót, a kernelt, az asztali környezetet és a videokártya nevét.", + tr("A jegyhez mindig csatoljuk a RaveOS-verziót, a kernelt, az asztali környezetet és a videokártya nevét."), "halvany", True, ) @@ -163,9 +168,9 @@ class Urlap(QWidget): doboz.addWidget(self.hiba) gombok = QHBoxLayout() gombok.addStretch(1) - self.megse = gomb("Mégse") + self.megse = gomb(tr("Mégse")) self.megse.clicked.connect(self.oldal.urlap_bezar) - self.kuld = gomb("Beküldés", fo=True) + self.kuld = gomb(tr("Beküldés"), fo=True) self.kuld.clicked.connect(self._kuld) gombok.addWidget(self.megse) gombok.addWidget(self.kuld) @@ -180,29 +185,29 @@ class Urlap(QWidget): self.hiba.hide() self.kuld.setEnabled(True) if tipus == "hiba": - self.cim.setText("ÚJ HIBAJEGY") - self.leiras.setText("Írd le, mi történt, és mit csináltál előtte. Ha válaszolunk, itt fogod látni.") - self.cim_mezo.setPlaceholderText("Például: Nem indul a Steam a frissítés után") - self.szoveg_mezo.setPlaceholderText("Mi a hiba, mikor jelentkezik, mit próbáltál már?") + self.cim.setText(tr("ÚJ HIBAJEGY")) + self.leiras.setText(tr("Írd le, mi történt, és mit csináltál előtte. Ha válaszolunk, itt fogod látni.")) + self.cim_mezo.setPlaceholderText(tr("Például: Nem indul a Steam a frissítés után")) + self.szoveg_mezo.setPlaceholderText(tr("Mi a hiba, mikor jelentkezik, mit próbáltál már?")) self.diag.show() else: - self.cim.setText("ÚJ ÖTLET") + self.cim.setText(tr("ÚJ ÖTLET")) self.leiras.setText( - "Mi hiányzik a RaveOS-ből? Az ötleted a jóváhagyásunk után jelenik meg a közös listában, " - "ahol mások is támogathatják." + tr("Mi hiányzik a RaveOS-ből? Az ötleted a jóváhagyásunk után jelenik meg a közös listában, " + "ahol mások is támogathatják.") ) - self.cim_mezo.setPlaceholderText("Például: Sötét és világos téma váltó") - self.szoveg_mezo.setPlaceholderText("Mit szeretnél, és miért lenne hasznos?") + self.cim_mezo.setPlaceholderText(tr("Például: Sötét és világos téma váltó")) + self.szoveg_mezo.setPlaceholderText(tr("Mit szeretnél, és miért lenne hasznos?")) self.diag.hide() self.cim_mezo.setFocus() def _megnez(self): self.megnez.setEnabled(False) - self.megnez.setText("Összeállítás...") + self.megnez.setText(tr("Összeállítás...")) def kesz(szoveg): self.megnez.setEnabled(True) - self.megnez.setText("Megnézem, mi kerül bele") + self.megnez.setText(tr("Megnézem, mi kerül bele")) JelentesAblak(self, szoveg).exec() hatterben(diagnosztika.jelentes, kesz=kesz) @@ -211,12 +216,12 @@ class Urlap(QWidget): cim = self.cim_mezo.text().strip() szoveg = self.szoveg_mezo.toPlainText().strip() if len(cim) < 3 or len(szoveg) < 10: - self.hiba.setText("Adj meg egy legalább 3 karakteres címet és egy legalább 10 karakteres leírást.") + self.hiba.setText(tr("Adj meg egy legalább 3 karakteres címet és egy legalább 10 karakteres leírást.")) self.hiba.show() return self.hiba.hide() self.kuld.setEnabled(False) - self.kuld.setText("Küldés...") + self.kuld.setText(tr("Küldés...")) csatol = self.tipus == "hiba" and self.diag_jelolo.isChecked() tipus = self.tipus @@ -227,13 +232,13 @@ class Urlap(QWidget): hatterben(munka, kesz=self._kuldve, hiba=self._kuldes_hiba) def _kuldve(self, jegy): - self.kuld.setText("Beküldés") + self.kuld.setText(tr("Beküldés")) self.oldal.bekuldve(jegy) def _kuldes_hiba(self, uzenet): self.kuld.setEnabled(True) - self.kuld.setText("Beküldés") - self.hiba.setText(jegyek_api.HIBAUZENETEK.get(uzenet, f"A beküldés nem sikerült: {uzenet}")) + self.kuld.setText(tr("Beküldés")) + self.hiba.setText(jegyek_api.HIBAUZENETEK.get(uzenet, tr("A beküldés nem sikerült: {0}", uzenet))) self.hiba.show() @@ -266,14 +271,14 @@ class Reszletek(QWidget): vd.setContentsMargins(0, 0, 0, 0) vd.setSpacing(8) self.valasz_mezo = QPlainTextEdit() - self.valasz_mezo.setPlaceholderText("Válasz a RaveOS csapatnak") + self.valasz_mezo.setPlaceholderText(tr("Válasz a RaveOS csapatnak")) self.valasz_mezo.setFixedHeight(96) vd.addWidget(self.valasz_mezo) self.hiba = uzenetsav("") vd.addWidget(self.hiba) sor = QHBoxLayout() sor.addStretch(1) - self.kuld = gomb("Válasz küldése", fo=True) + self.kuld = gomb(tr("Válasz küldése"), fo=True) self.kuld.clicked.connect(self._kuld) sor.addWidget(self.kuld) vd.addLayout(sor) @@ -286,16 +291,19 @@ class Reszletek(QWidget): w = self.meta.takeAt(0).widget() if w: w.deleteLater() - self.meta.addWidget(cimke("HIBAJEGY" if jegy["tipus"] == "hiba" else "ÖTLET", "monozold")) + self.meta.addWidget(cimke(tr("HIBAJEGY") if jegy["tipus"] == "hiba" else tr("ÖTLET"), "monozold")) self.meta.addWidget(allapotcimke(jegy["allapot"])) self.meta.addWidget(cimke(f"#{jegy['id']} · {ido(jegy['letrehozva'])}", "halvany")) if jegy["tipus"] == "otlet": - self.meta.addWidget(cimke("nyilvános" if jegy["nyilvanos"] else "jóváhagyásra vár", "halvany")) + self.meta.addWidget(cimke(tr("nyilvános") if jegy["nyilvanos"] else tr("jóváhagyásra vár"), "halvany")) self.meta.addStretch(1) if jegy.get("torles"): self.lezart.setText( - f"Ez a jegy le van zárva, és {ido(jegy['torles'])} után automatikusan törlődik. " - "Ha a hiba újra jelentkezik, nyiss új jegyet." + tr( + "Ez a jegy le van zárva, és {0} után automatikusan törlődik. Ha a hiba újra jelentkezik, nyiss " + "új jegyet.", + ido(jegy['torles']), + ) ) self.lezart.show() self.valasz_doboz.hide() @@ -333,14 +341,14 @@ class Reszletek(QWidget): if uzenet == "nincs_jegy": self.oldal.jegy_eltunt() return - self.hiba.setText(jegyek_api.HIBAUZENETEK.get(uzenet, f"A küldés nem sikerült: {uzenet}")) + self.hiba.setText(jegyek_api.HIBAUZENETEK.get(uzenet, tr("A küldés nem sikerült: {0}", uzenet))) self.hiba.show() hatterben(munka, kesz=kesz, hiba=hiba) class ErtekelesLap(QWidget): - SZINTEK = {1: "Nagyon rossz", 2: "Rossz", 3: "Elmegy", 4: "Jó", 5: "Kiváló"} + SZINTEK = {1: tr("Nagyon rossz"), 2: tr("Rossz"), 3: tr("Elmegy"), 4: tr("Jó"), 5: tr("Kiváló")} MAX = 500 def __init__(self, oldal): @@ -353,7 +361,7 @@ class ErtekelesLap(QWidget): doboz.setContentsMargins(0, 0, 12, 0) doboz.setSpacing(16) - osszesito = Kartya("A RaveOS értékelése", terkoz=8, margo=20) + osszesito = Kartya(tr("A RaveOS értékelése"), terkoz=8, margo=20) sor = QHBoxLayout() sor.setSpacing(16) self.atlag = cimke("-", "nagyszam") @@ -369,18 +377,18 @@ class ErtekelesLap(QWidget): osszesito.elrendezes.addLayout(sor) doboz.addWidget(osszesito) - sajat = Kartya("A te értékelésed", terkoz=10, margo=20) + sajat = Kartya(tr("A te értékelésed"), terkoz=10, margo=20) valaszto = QHBoxLayout() valaszto.setSpacing(14) self.csillagok = Csillagok(34, valaszthato=True) self.csillagok.valasztva.connect(self._valasztva) valaszto.addWidget(self.csillagok) - self.szint = cimke("Kattints a csillagokra", "masodlagos") + self.szint = cimke(tr("Kattints a csillagokra"), "masodlagos") valaszto.addWidget(self.szint) valaszto.addStretch(1) sajat.elrendezes.addLayout(valaszto) self.szoveg = QPlainTextEdit() - self.szoveg.setPlaceholderText("Röviden: mi tetszik, mi nem? (nem kötelező)") + self.szoveg.setPlaceholderText(tr("Röviden: mi tetszik, mi nem? (nem kötelező)")) self.szoveg.setFixedHeight(96) self.szoveg.textChanged.connect(self._szoveg_valtozott) sajat.elrendezes.addWidget(self.szoveg) @@ -388,8 +396,8 @@ class ErtekelesLap(QWidget): sajat.elrendezes.addWidget(self.szamlalo, 0, Qt.AlignmentFlag.AlignRight) sajat.elrendezes.addWidget( cimke( - "A szöveges véleményt csak a RaveOS fejlesztői látják, nyilvánosan csak a csillagok átlaga jelenik meg. " - "Gépenként egy értékelés számít, bármikor módosíthatod.", + tr("A szöveges véleményt csak a RaveOS fejlesztői látják, nyilvánosan csak a csillagok átlaga jelenik meg. " + "Gépenként egy értékelés számít, bármikor módosíthatod."), "halvany", True, ) @@ -400,7 +408,7 @@ class ErtekelesLap(QWidget): self.allapot = cimke("", "monozold") gombok.addWidget(self.allapot) gombok.addStretch(1) - self.kuld = gomb("Értékelés küldése", fo=True) + self.kuld = gomb(tr("Értékelés küldése"), fo=True) self.kuld.setEnabled(False) self.kuld.clicked.connect(self._kuld) gombok.addWidget(self.kuld) @@ -409,19 +417,20 @@ class ErtekelesLap(QWidget): doboz.addStretch(1) def betolt(self, adat): - self.atlag.setText(f"{adat['atlag']:.1f}".replace(".", ",") if adat["darab"] else "-") + atlag = f"{adat['atlag']:.1f}" + self.atlag.setText((atlag if NYELV == "en" else atlag.replace(".", ",")) if adat["darab"] else "-") self.atlag_csillag.beallit(adat["atlag"]) self.darab.setText( - f"{adat['darab']} értékelés alapján" if adat["darab"] else "Még nincs értékelés. Legyél te az első!" + tr("{0} értékelés alapján", adat['darab']) if adat["darab"] else tr("Még nincs értékelés. Legyél te az első!") ) sajat = adat.get("sajat") if sajat == self.mentett: return self.mentett = sajat - self.allapot.setText(f"ELKÜLDVE: {ido(sajat['ido'])}" if sajat else "") + self.allapot.setText(tr("ELKÜLDVE: {0}", ido(sajat['ido'])) if sajat else "") if not self.szerkesztve: self.csillagok.beallit(sajat["csillag"] if sajat else 0) - self.szint.setText(self.SZINTEK[sajat["csillag"]] if sajat else "Kattints a csillagokra") + self.szint.setText(self.SZINTEK[sajat["csillag"]] if sajat else tr("Kattints a csillagokra")) self.szoveg.blockSignals(True) self.szoveg.setPlainText(sajat["szoveg"] if sajat else "") self.szoveg.blockSignals(False) @@ -453,7 +462,7 @@ class ErtekelesLap(QWidget): ) def _gomb_frissit(self): - self.kuld.setText("Értékelés módosítása" if self.mentett else "Értékelés küldése") + self.kuld.setText(tr("Értékelés módosítása") if self.mentett else tr("Értékelés küldése")) szabad = self.oldal.szabad() and not self.kuldes self.csillagok.setEnabled(szabad) self.szoveg.setEnabled(szabad) @@ -465,18 +474,18 @@ class ErtekelesLap(QWidget): self.hiba.hide() self.kuldes = True self._gomb_frissit() - self.kuld.setText("Küldés...") + self.kuld.setText(tr("Küldés...")) def kesz(adat): self.kuldes = False self.szerkesztve = False self.mentett = None self.betolt(adat) - self.allapot.setText("KÖSZÖNJÜK, ELMENTETTÜK") + self.allapot.setText(tr("KÖSZÖNJÜK, ELMENTETTÜK")) def hiba(uzenet): self.kuldes = False - self.hiba.setText(jegyek_api.HIBAUZENETEK.get(uzenet, f"A küldés nem sikerült: {uzenet}")) + self.hiba.setText(jegyek_api.HIBAUZENETEK.get(uzenet, tr("A küldés nem sikerült: {0}", uzenet))) self.hiba.show() self._gomb_frissit() @@ -486,53 +495,53 @@ class ErtekelesLap(QWidget): ELFOGADAS_VERZIO = 3 ISMERTETO = [ - ("Mire jó?", "", [ - "Itt közvetlenül a RaveOS fejlesztőinek jelezhetsz hibát, és küldhetsz ötletet. " - "Minden jegyet elolvasunk, és itt, a Centerben válaszolunk.", + (tr("Mire jó?"), "", [ + tr("Itt közvetlenül a RaveOS fejlesztőinek jelezhetsz hibát, és küldhetsz ötletet. " + "Minden jegyet elolvasunk, és itt, a Centerben válaszolunk."), ]), - ("Hogyan működik?", "szam", [ - "Hibajegy: írd le, mi történt. Ha bejelölöd, a géped diagnosztikáját is csatoljuk, ami sokat segít; " - "előtte megnézheted, mi kerül bele.", - "Válasz: ha válaszolunk, a Visszajelzés menüpont mellett szám jelenik meg, és a jegyben vissza is írhatsz.", - "Ötlet: a jóváhagyott ötletek felkerülnek a közös listára, ahol mások is támogathatják. " - "A legtöbbet támogatottakkal foglalkozunk először.", - "Értékelés: 1-5 csillaggal értékelheted a RaveOS-t, és röviden leírhatod a véleményed. A szöveget csak " - "a fejlesztők látják, a többiek csak a csillagok átlagát. Gépenként egy értékelés számít, bármikor " - "módosíthatod.", + (tr("Hogyan működik?"), "szam", [ + tr("Hibajegy: írd le, mi történt. Ha bejelölöd, a géped diagnosztikáját is csatoljuk, ami sokat segít; " + "előtte megnézheted, mi kerül bele."), + tr("Válasz: ha válaszolunk, a Visszajelzés menüpont mellett szám jelenik meg, és a jegyben vissza is írhatsz."), + tr("Ötlet: a jóváhagyott ötletek felkerülnek a közös listára, ahol mások is támogathatják. " + "A legtöbbet támogatottakkal foglalkozunk először."), + tr("Értékelés: 1-5 csillaggal értékelheted a RaveOS-t, és röviden leírhatod a véleményed. A szöveget csak " + "a fejlesztők látják, a többiek csak a csillagok átlagát. Gépenként egy értékelés számít, bármikor " + "módosíthatod."), ]), - ("Miért így?", "szam", [ - "Nem kell fiók: a géped egy névtelen azonosítót kap, ezzel látod a saját jegyeidet. " - "Újratelepítés után a régi jegyeid nem látszanak.", - "Csak azt küldjük el, amit beírsz, vagy amihez hozzájárulsz. A diagnosztikából kitakarjuk a személyes " - "adatokat, és 30 nap után törlődik.", - "A lezárt jegyek 7 nap után maguktól törlődnek.", + (tr("Miért így?"), "szam", [ + tr("Nem kell fiók: a géped egy névtelen azonosítót kap, ezzel látod a saját jegyeidet. " + "Újratelepítés után a régi jegyeid nem látszanak."), + tr("Csak azt küldjük el, amit beírsz, vagy amihez hozzájárulsz. A diagnosztikából kitakarjuk a személyes " + "adatokat, és 30 nap után törlődik."), + tr("A lezárt jegyek 7 nap után maguktól törlődnek."), ]), - ("Szabályok", "szam", [ - "A Visszajelzés csak hibák jelzésére és ötletek beküldésére való.", - "Egy hibáról egy jegyet nyiss. Ha már van róla jegyed, abba írj, ne nyiss újat.", - "Ötlet beküldése előtt nézd meg az Ötletek listát. Ha van hasonló, támogasd azt, ne küldj újat.", - "Ne írj a jegybe vagy az értékelésbe személyes vagy titkos adatot: jelszót, e-mail-címet, telefonszámot vagy más emberek " - "adatait. A diagnosztikát kitakarjuk, a beírt szöveget nem.", - "Kulturált hangnemet kérünk. Sértő, fenyegető vagy trágár üzenet tiltással jár.", - "Reklámot és nem ide illő linkeket ne küldj.", - "A jegyekre nem azonnal válaszolunk, ezért kérünk, légy türelmes, és ne küldd el többször ugyanazt.", - "Visszaélés, spam, sértő vagy nem ide illő tartalom esetén a géped kitiltható a Visszajelzésből, " - "ideiglenesen vagy véglegesen. A Center minden más része ettől ugyanúgy működik.", - "Két óránként legfeljebb 4 jegyet küldhetsz. Ennél több beküldés automatikusan 24 órás tiltással jár.", + (tr("Szabályok"), "szam", [ + tr("A Visszajelzés csak hibák jelzésére és ötletek beküldésére való."), + tr("Egy hibáról egy jegyet nyiss. Ha már van róla jegyed, abba írj, ne nyiss újat."), + tr("Ötlet beküldése előtt nézd meg az Ötletek listát. Ha van hasonló, támogasd azt, ne küldj újat."), + tr("Ne írj a jegybe vagy az értékelésbe személyes vagy titkos adatot: jelszót, e-mail-címet, telefonszámot vagy más emberek " + "adatait. A diagnosztikát kitakarjuk, a beírt szöveget nem."), + tr("Kulturált hangnemet kérünk. Sértő, fenyegető vagy trágár üzenet tiltással jár."), + tr("Reklámot és nem ide illő linkeket ne küldj."), + tr("A jegyekre nem azonnal válaszolunk, ezért kérünk, légy türelmes, és ne küldd el többször ugyanazt."), + tr("Visszaélés, spam, sértő vagy nem ide illő tartalom esetén a géped kitiltható a Visszajelzésből, " + "ideiglenesen vagy véglegesen. A Center minden más része ettől ugyanúgy működik."), + tr("Két óránként legfeljebb 4 jegyet küldhetsz. Ennél több beküldés automatikusan 24 órás tiltással jár."), ]), ] HOZZAJARULAS = ( - "Az Elfogadom gombbal elfogadod a fenti szabályokat, és hozzájárulsz, hogy a beírt szöveget, a géped " - "alapadatait (RaveOS-verzió, kernel, asztali környezet, videokártya) és, ha bejelölöd, a diagnosztikát " - "elküldjük a RaveOS fejlesztőinek." + tr("Az Elfogadom gombbal elfogadod a fenti szabályokat, és hozzájárulsz, hogy a beírt szöveget, a géped " + "alapadatait (RaveOS-verzió, kernel, asztali környezet, videokártya) és, ha bejelölöd, a diagnosztikát " + "elküldjük a RaveOS fejlesztőinek.") ) class IsmertetoAblak(QDialog): def __init__(self, szulo, elfogadva): super().__init__(szulo) - self.setWindowTitle("Visszajelzés") + self.setWindowTitle(tr("Visszajelzés")) kepernyo = szulo.screen().availableGeometry() if szulo and szulo.screen() else None magassag = min(860, kepernyo.height() - 80) if kepernyo else 760 self.resize(700, magassag) @@ -547,8 +556,8 @@ class IsmertetoAblak(QDialog): doboz = QVBoxLayout(tartalom) doboz.setContentsMargins(32, 28, 32, 8) doboz.setSpacing(12) - doboz.addWidget(cimke("ISMERTETŐ ÉS SZABÁLYOK", "eyebrow")) - doboz.addWidget(cimke("HOGYAN MŰKÖDIK A VISSZAJELZÉS?", "h2", True)) + doboz.addWidget(cimke(tr("ISMERTETŐ ÉS SZABÁLYOK"), "eyebrow")) + doboz.addWidget(cimke(tr("HOGYAN MŰKÖDIK A VISSZAJELZÉS?"), "h2", True)) sorszam = 0 for cim, jeloles, pontok in ISMERTETO: doboz.addSpacing(4) @@ -575,15 +584,15 @@ class IsmertetoAblak(QDialog): gombok = QHBoxLayout() gombok.addStretch(1) if elfogadva: - also.addWidget(cimke("A szabályokat már elfogadtad.", "halvany")) - ok = gomb("Bezárás", fo=True) + also.addWidget(cimke(tr("A szabályokat már elfogadtad."), "halvany")) + ok = gomb(tr("Bezárás"), fo=True) ok.clicked.connect(self.accept) gombok.addWidget(ok) else: also.addWidget(cimke(HOZZAJARULAS, "figyelem", True)) - nem = gomb("Most nem") + nem = gomb(tr("Most nem")) nem.clicked.connect(self.reject) - igen = gomb("Elfogadom", fo=True) + igen = gomb(tr("Elfogadom"), fo=True) igen.clicked.connect(self.accept) gombok.addWidget(nem) gombok.addWidget(igen) @@ -601,12 +610,12 @@ class OtletKartya(Kartya): self.elrendezes.addLayout(felso) self.elrendezes.addWidget(cimke(otlet.get("leiras") or "", "masodlagos", True)) also = QHBoxLayout() - also.addWidget(cimke(f"{otlet['szavazat']} támogató", "monohalvany")) + also.addWidget(cimke(tr("{0} támogató", otlet['szavazat']), "monohalvany")) if otlet.get("sajat"): - also.addWidget(cimke("· a te ötleted", "monohalvany")) + also.addWidget(cimke(tr("· a te ötleted"), "monohalvany")) also.addStretch(1) tamogatva = otlet["sajat_szavazat"] - g = gomb("Támogatva" if tamogatva else "Támogatom", fo=not tamogatva, kicsi=True) + g = gomb(tr("Támogatva") if tamogatva else tr("Támogatom"), fo=not tamogatva, kicsi=True) g.clicked.connect(lambda: szavaz(otlet["id"], not tamogatva, g)) also.addWidget(g) self.elrendezes.addLayout(also) @@ -614,20 +623,20 @@ class OtletKartya(Kartya): class Visszajelzes(Oldal): def __init__(self, kozpont): - super().__init__(kozpont, "HIBÁK ÉS ÖTLETEK", "Visszajelzés", kitolt=True) - self.uj_hiba = self.fejlec_gomb(gomb("Új hibajegy", fo=True)) + super().__init__(kozpont, tr("HIBÁK ÉS ÖTLETEK"), tr("Visszajelzés"), kitolt=True) + self.uj_hiba = self.fejlec_gomb(gomb(tr("Új hibajegy"), fo=True)) self.uj_hiba.clicked.connect(lambda: self.urlap_nyit("hiba")) - self.uj_otlet = self.fejlec_gomb(gomb("Új ötlet")) + self.uj_otlet = self.fejlec_gomb(gomb(tr("Új ötlet"))) self.uj_otlet.clicked.connect(lambda: self.urlap_nyit("otlet")) - sugo = self.fejlec_gomb(gomb("Hogyan működik?")) + sugo = self.fejlec_gomb(gomb(tr("Hogyan működik?"))) sugo.clicked.connect(self.ismerteto) self.elfogadas_sav = QWidget() es = QHBoxLayout(self.elfogadas_sav) es.setContentsMargins(0, 0, 0, 0) es.setSpacing(12) - es.addWidget(cimke("A Visszajelzés használatához el kell fogadnod a szabályokat.", "figyelem", True), 1) - elolvas = gomb("Szabályok elolvasása", fo=True) + es.addWidget(cimke(tr("A Visszajelzés használatához el kell fogadnod a szabályokat."), "figyelem", True), 1) + elolvas = gomb(tr("Szabályok elolvasása"), fo=True) elolvas.clicked.connect(self.ismerteto) es.addWidget(elolvas) self.elfogadas_sav.hide() @@ -636,7 +645,7 @@ class Visszajelzes(Oldal): self.tiltas_sav.hide() self.torzs.addWidget(self.tiltas_sav) self.kitiltva = False - self.fulsor = Fulsor([("jegyeim", "Jegyeim"), ("otletek", "Ötletek"), ("ertekeles", "Értékelés")], self.ful) + self.fulsor = Fulsor([("jegyeim", tr("Jegyeim")), ("otletek", tr("Ötletek")), ("ertekeles", tr("Értékelés"))], self.ful) self.torzs.addWidget(self.fulsor) self.hiba = uzenetsav("") self.torzs.addWidget(self.hiba) @@ -686,7 +695,7 @@ class Visszajelzes(Oldal): od.setSpacing(12) od.addWidget( cimke( - "Mások ötletei, amelyeket jóváhagytunk. Támogasd, amit te is szeretnél, így látjuk, mi a legfontosabb.", + tr("Mások ötletei, amelyeket jóváhagytunk. Támogasd, amit te is szeretnél, így látjuk, mi a legfontosabb."), "masodlagos", True, ) @@ -735,10 +744,14 @@ class Visszajelzes(Oldal): def _tiltas_kesz(self, adat): self.kitiltva = bool(adat.get("kitiltva")) if self.kitiltva: - meddig = f"eddig: {ido(adat['lejar'])}" if adat.get("lejar") else "véglegesen" + meddig = tr("eddig: {0}", ido(adat['lejar'])) if adat.get("lejar") else tr("véglegesen") self.tiltas_sav.setText( - f"Ez a gép {meddig} ki van tiltva a Visszajelzés használatából a szabályok megsértése miatt. " - f"Ok: {adat.get('ok') or '-'}\n\nA RaveOS Center minden más része ugyanúgy működik." + tr( + "Ez a gép {0} ki van tiltva a Visszajelzés használatából a szabályok megsértése miatt. Ok: " + "{1}\n\nA RaveOS Center minden más része ugyanúgy működik.", + meddig, + adat.get('ok') or '-', + ) ) self._allapot_frissit() if not self.kitiltva: @@ -782,7 +795,7 @@ class Visszajelzes(Oldal): self._hibat_mutat(uzenet) def _hibat_mutat(self, uzenet): - self.hiba.setText(jegyek_api.HIBAUZENETEK.get(uzenet, f"Hiba történt: {uzenet}")) + self.hiba.setText(jegyek_api.HIBAUZENETEK.get(uzenet, tr("Hiba történt: {0}", uzenet))) self.hiba.show() def _jelveny_frissit(self, jegyek): @@ -811,9 +824,9 @@ class Visszajelzes(Oldal): self.lista.blockSignals(False) if self.jobb.currentWidget() is not self.urlap_gorgeto and not self.lista.currentItem(): self.ures_szoveg.setText( - "Még nincs jegyed. Ha hibát találtál, vagy ötleted van, írj nekünk a fenti gombokkal." + tr("Még nincs jegyed. Ha hibát találtál, vagy ötleted van, írj nekünk a fenti gombokkal.") if not jegyek - else "Válassz egy jegyet a listából." + else tr("Válassz egy jegyet a listából.") ) self.jobb.setCurrentWidget(self.ures) @@ -870,7 +883,7 @@ class Visszajelzes(Oldal): if w: w.deleteLater() if not otletek: - self.otlet_doboz.addWidget(cimke("Még nincs közzétett ötlet.", "halvany")) + self.otlet_doboz.addWidget(cimke(tr("Még nincs közzétett ötlet."), "halvany")) for o in otletek: kartya = OtletKartya(o, self._szavaz) for g in kartya.findChildren(QPushButton): |