R-516: the formal forms the gate did not count are in the te-form; the gate's stems widened
49 Hungarian values on the debug (RESET prompt), storage, network-storage, security, system, deploy, restore and remote-backup copy moved from the formal („ön") to the product's te-form („írd be", „add meg", „hozz létre", „biztosan eltávolítod", „engedélyezd", „próbáld", ...). i18n_missing_gate.py's stem list widened by 33 stems (+ one listed third-person exception, „sora adja meg"); it counted 61 on the previous bundle and counts 0 now, ceiling stays 0. Decoys: a widened-stem form convicts, its te-form twin and the third-person phrase pass. 38 parity fixtures changed by exactly those bytes. Seven Go-side keys listed as REWORDED in the go-parity map. Pinned by TestR516_WidenedFormalFormsAreGone; two tests that quoted the old words follow them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -26,9 +26,9 @@
|
||||
"api.backup.tier2_started": "2. mentés elindítva",
|
||||
"api.config.applied": "Konfiguráció alkalmazva — a vezérlő újraindul.",
|
||||
"api.config.unchanged": "A konfiguráció változatlan — nincs szükség újraindításra.",
|
||||
"api.deploy.netstorage_unreachable": "A kiválasztott hálózati tárhely jelenleg nem érhető el az alkalmazások környezetéből — a telepítés nem indítható. Próbálja újra pár perc múlva, vagy jelezze az üzemeltetőnek.",
|
||||
"api.deploy.netstorage_unreachable": "A kiválasztott hálózati tárhely jelenleg nem érhető el az alkalmazások környezetéből — a telepítés nem indítható. Próbáld újra pár perc múlva, vagy jelezd az üzemeltetőnek.",
|
||||
"api.deploy.hdd_path_inside_drive": "Az alkalmazás adatainak helye egy meghajtó lehet, nem egy mappa a meghajtón belül. Válaszd ezt: %s.",
|
||||
"api.deploy.no_space": "Nincs elég szabad tárhely a telepítéshez: csak %.0f GB szabad, és a rendszer %.0f GB tartalékot tart fenn az alapszolgáltatások (vezérlő, proxy) védelmében. Szabadítson fel helyet, vagy bővítse a tárhelyet.",
|
||||
"api.deploy.no_space": "Nincs elég szabad tárhely a telepítéshez: csak %.0f GB szabad, és a rendszer %.0f GB tartalékot tart fenn az alapszolgáltatások (vezérlő, proxy) védelmében. Szabadíts fel helyet, vagy bővítsd a tárhelyet.",
|
||||
"api.deploy.not_installable": "Ez az alkalmazás jelenleg nem telepíthető.",
|
||||
"api.deploy.started": "Telepítés elindítva – az állapot a kártyán követhető",
|
||||
"api.geo.app_removed": "Alkalmazás geo-korlátozás eltávolítva",
|
||||
@@ -305,8 +305,8 @@
|
||||
"backups_apps.utolso_adatbazis_mentes": "Utolsó adatbázis mentés:",
|
||||
"backups_apps.utolso_sikeres": "Utolsó sikeres: {{timeAgoStr .Tier2LastSuccess}}",
|
||||
"backups_apps.visszaallitas_a_mentesbol": "Visszaállítás a mentésből",
|
||||
"backups_apps.visszaallitja_a_hianyzo_fajlokat_a": "Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: {{fmtTimeStr .Tier2LastRun}}",
|
||||
"backups_apps.visszaallitja_legutobbi_sikeres_masolat": "Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: {{fmtTimeStr .Tier2LastSuccess}}.",
|
||||
"backups_apps.visszaallitja_a_hianyzo_fajlokat_a": "Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: {{fmtTimeStr .Tier2LastRun}}",
|
||||
"backups_apps.visszaallitja_legutobbi_sikeres_masolat": "Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: {{fmtTimeStr .Tier2LastSuccess}}.",
|
||||
"backups_escrow.1_elofeltetelek_ellenorzese": "1. Előfeltételek ellenőrzése",
|
||||
"backups_escrow.2_fontos_tudnivalok": "2. Fontos tudnivalók",
|
||||
"backups_escrow.3_megerosites": "3. Megerősítés",
|
||||
@@ -318,7 +318,7 @@
|
||||
"backups_escrow.a_folyamat_a_piros_feltetelek": "A folyamat a piros feltételek teljesüléséig nem indítható.",
|
||||
"backups_escrow.a_folyamat_inditasa_nem_sikerult": "A folyamat indítása nem sikerült.",
|
||||
"backups_escrow.a_folytatashoz_adja_meg_a": "A folytatáshoz add meg a bejelentkezési jelszavadat",
|
||||
"backups_escrow.a_funkciohoz_az_ugynok_frissitese": "A funkcióhoz az ügynök frissítése szükséges — a frissítés automatikusan megérkezik. Próbálja újra később.",
|
||||
"backups_escrow.a_funkciohoz_az_ugynok_frissitese": "A funkcióhoz az ügynök frissítése szükséges — a frissítés automatikusan megérkezik. Próbáld újra később.",
|
||||
"backups_escrow.a_funkciohoz_az_ugynok_frissitese_2": "A funkcióhoz az ügynök frissítése szükséges — a frissítés automatikusan megérkezik.",
|
||||
"backups_escrow.a_helyreallitasi_kod_a_mentesei": "A helyreállítási kód a mentéseid utolsó kulcsa. Pontosan egyszer jelenik meg — a rendszer\n sehol nem tárolja, és a Felhom sem ismeri. Ha a szerver megsemmisül, a távoli mentések CSAK\n ezzel a kóddal állíthatók vissza. Írd fel papírra, vagy mentsd jelszókezelőbe — de NE ezen a\n szerveren tárold.",
|
||||
"backups_escrow.a_kod_lekerese_nem_sikerult": "A kód lekérése nem sikerült.",
|
||||
@@ -375,13 +375,13 @@
|
||||
"backups_remote.a_korabbi_mentesek_torlese_folyamatban": "A korábbi mentések törlése folyamatban",
|
||||
"backups_remote.a_korabbi_tavoli_menteseid_torlese": "A korábbi távoli mentéseid törlése megtörtént. A hozzájuk tartozó lezárt helyreállítási csomag eltávolítása még folyamatban van.",
|
||||
"backups_remote.a_kulcsot_0600_as_fajlba": "A kulcsot 0600-as fájlba írjuk; sosem naplózzuk és nem tároljuk a beállításokban.",
|
||||
"backups_remote.a_letetben_levo_helyreallitasi_csomag": "A letétben lévő helyreállítási csomag nem fedi a jelenlegi távoli mentési jelszót. Hozzon létre új helyreállítási kódot.",
|
||||
"backups_remote.a_letetben_levo_helyreallitasi_csomag": "A letétben lévő helyreállítási csomag nem fedi a jelenlegi távoli mentési jelszót. Hozz létre új helyreállítási kódot.",
|
||||
"backups_remote.a_megerosites_nem_erkezett_meg": "A megerősítés nem érkezett meg a várt időn belül. Ellenőrizd az internetkapcsolatot, majd készíts új helyreállítási kódot.",
|
||||
"backups_remote.a_mentendo_adatok_felmerese": "— a mentendő adatok felmérése…",
|
||||
"backups_remote.a_pillanatkepek_szama_meg_ismeretlen": "a pillanatképek száma még ismeretlen",
|
||||
"backups_remote.a_regi_elozmeny_felreteve_marad": "A régi előzmény <strong>félretéve marad a tárhelyen — nem töröljük</strong>. Új, üres tárolót hozunk létre, és a következő mentés oda készül.",
|
||||
"backups_remote.a_tavoli_mentes_ki_van": "A távoli mentés ki van kapcsolva",
|
||||
"backups_remote.a_tavoli_mentesek_csak_akkor": "A távoli mentések csak akkor állíthatók vissza egy teljes meghibásodás után, ha létrehozza a helyreállítási kódot.",
|
||||
"backups_remote.a_tavoli_mentesek_csak_akkor": "A távoli mentések csak akkor állíthatók vissza egy teljes meghibásodás után, ha létrehozod a helyreállítási kódot.",
|
||||
"backups_remote.a_tavoli_tarhelyen_levo_mentesek": "A távoli tárhelyen lévő mentések egy korábbi, már nem elérhető kulccsal készültek (jellemzően újratelepítés után). Emiatt új mentés jelenleg nem írható a tárolóba. A meglévő mentések nem sérültek. Azt viszont ez a gép nem tudja megállapítani, hogy később megnyithatók-e — ez attól függ, megvan-e még a hozzájuk tartozó kulcs. Ha szükséged van rájuk, írj nekünk.",
|
||||
"backups_remote.a_tavoli_tarolo_masik_kulccsal": "A távoli tároló másik kulccsal készült mentéseket tartalmaz",
|
||||
"backups_remote.a_teljes_mentes_tullepne_a": "A teljes mentés túllépné a tárhelykeretet — csak a konfiguráció és az adatbázis kerül mentésre.",
|
||||
@@ -510,8 +510,8 @@
|
||||
"backups_restore.teljes_visszaallitas_adatbazis_konfigura": "Teljes visszaállítás: adatbázis + konfiguráció + felhasználói adatok a kiválasztott pillanatképből.",
|
||||
"backups_restore.uresen_hagyva_a_csomag_titkositas": "Üresen hagyva a csomag titkosítás nélkül készül.",
|
||||
"backups_restore.utolso_megerosites_a_masolat_veglegesen": "UTOLSÓ MEGERŐSÍTÉS: a másolat véglegesen törlődik.",
|
||||
"backups_restore.valasszon": "— Válasszon —",
|
||||
"backups_restore.valasszon_alkalmazast": "— Válasszon alkalmazást —",
|
||||
"backups_restore.valasszon": "— Válassz —",
|
||||
"backups_restore.valasszon_alkalmazast": "— Válassz alkalmazást —",
|
||||
"backups_restore.valaszd_ki_az_alkalmazast_es": "Válaszd ki az alkalmazást, és a következő oldalon döntsd el, mit szeretnél: ellenőrzést külön mappába, csak a hiányzó fájlok visszahozását, vagy teljes visszaállítást. Egyik sem indul el kérdés nélkül.",
|
||||
"backups_restore.vasarnap": "vasárnap",
|
||||
"backups_restore.visszaallitas": "Visszaállítás",
|
||||
@@ -873,7 +873,7 @@
|
||||
"dashboard.adatbazisok": "Adatbázisok:",
|
||||
"dashboard.az_alkalmazas_adattaroloja_nem_elerheto": "Az alkalmazás adattárolója nem elérhető. Csatlakoztasd újra a meghajtót, vagy helyezd át az adatokat egy másik tárhelyre.",
|
||||
"dashboard.az_alkalmazas_egyik_folyamatat_a": "Az alkalmazás egyik folyamatát a rendszer leállította, mert elfogyott a memóriája. Lehet, hogy egy feladat nem fejeződött be. Indítsd újra az alkalmazást; ha ismétlődik, jelezd az üzemeltetőnek.",
|
||||
"dashboard.az_alkalmazas_kornyezeteben_a_halozati": "Az alkalmazás környezetében a hálózati tárhely helyén üres helyi könyvtár van — az adatok nem a NAS-ra kerülnek. Jelezze az üzemeltetőnek.",
|
||||
"dashboard.az_alkalmazas_kornyezeteben_a_halozati": "Az alkalmazás környezetében a hálózati tárhely helyén üres helyi könyvtár van — az adatok nem a NAS-ra kerülnek. Jelezd az üzemeltetőnek.",
|
||||
"dashboard.biztonsagi_mentes": "Biztonsági mentés",
|
||||
"dashboard.fogyoban_a_hely": "Fogyóban a hely",
|
||||
"dashboard.futo_alkalmazas": "Futó alkalmazás",
|
||||
@@ -942,7 +942,7 @@
|
||||
"debug.esemeny_tipus": "Esemény típus:",
|
||||
"debug.export_konyvtarak": "Export könyvtárak",
|
||||
"debug.ez_torli_az_ugyfel_azonositot": "Ez törli az ügyfél azonosítót és újraindítja a controllert setup módba. A konfigurációs fájlok megmaradnak a meghajtókon.",
|
||||
"debug.figyelem_ez_ujrainditja_a_controllert": "FIGYELEM! Ez újraindítja a controllert setup módba. Biztosan folytatja?",
|
||||
"debug.figyelem_ez_ujrainditja_a_controllert": "FIGYELEM! Ez újraindítja a controllert setup módba. Biztosan folytatod?",
|
||||
"debug.figyelmeztetesek": "Figyelmeztetések",
|
||||
"debug.folyamatban": "Folyamatban...",
|
||||
"debug.frissites": "Frissítés",
|
||||
@@ -966,8 +966,8 @@
|
||||
"debug.igen": "Igen",
|
||||
"debug.igen_2": "igen",
|
||||
"debug.inaktiv": "Inaktív",
|
||||
"debug.irja_be_reset": "Írja be: RESET",
|
||||
"debug.irja_be_reset_a_megerositeshez": "Írja be \"RESET\" a megerősítéshez:",
|
||||
"debug.irja_be_reset": "Írd be: RESET",
|
||||
"debug.irja_be_reset_a_megerositeshez": "Írd be \"RESET\" a megerősítéshez:",
|
||||
"debug.jelenlegi": "Jelenlegi:",
|
||||
"debug.katalogus_limit": "Katalógus limit",
|
||||
"debug.kattintson_a_gombra_a_telemetria": "Kattints a gombra a telemetria futtatásához.",
|
||||
@@ -1057,7 +1057,7 @@
|
||||
"debug.api.gitea_reachable": "Gitea elérhető (HTTP %d, %dms)",
|
||||
"debug.api.telemetry_collected": "Telemetria összegyűjtve: %d app, %d hiba, %d figyelmeztetés (%dms)",
|
||||
"debug.api.selfupdate_unconfigured": "Self-update nincs konfigurálva",
|
||||
"debug.api.reset_confirm_invalid": "Érvénytelen megerősítés — írja be: RESET",
|
||||
"debug.api.reset_confirm_invalid": "Érvénytelen megerősítés — írd be: RESET",
|
||||
"debug.api.marker_write_failed": "Marker fájl írási hiba: %v",
|
||||
"debug.api.restarting_to_setup": "Controller újraindítása setup módba...",
|
||||
"debug.api.agent_unconfigured": "Az ügynök nincs konfigurálva ezen a rendszeren.",
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"deploy.ez_az_alkalmazas_mar_telepitve": "Ez az alkalmazás már telepítve van. Az alábbi beállítások csak olvashatók.",
|
||||
"deploy.ez_az_alkalmazas_tud_emailt": "Ez az alkalmazás tud emailt küldeni (pl. jelszó-visszaállítás, meghívók) a Felhom-on keresztül,\n külön szolgáltató beállítása nélkül. A feladó címe: <strong>{{.AppEmailFromAddress}}</strong>.",
|
||||
"deploy.ez_normalis_az_elso_percekben": "Ez normális az első percekben — az alkalmazás már elérhető lehet.",
|
||||
"deploy.ezek_az_ertekek_a_telepitessel": "Ezek az értékek a telepítéssel együtt mentésre kerülnek. Jegyezze fel a szükséges jelszavakat!",
|
||||
"deploy.ezek_az_ertekek_a_telepitessel": "Ezek az értékek a telepítéssel együtt mentésre kerülnek. Jegyezd fel a szükséges jelszavakat!",
|
||||
"deploy.ezek_az_ertekek_automatikusan_jottek": "Ezek az értékek automatikusan jöttek létre a telepítéskor.",
|
||||
"deploy.figyelem_a_muvelet_visszavonhatatlan_elo": "— FIGYELEM: a művelet visszavonhatatlan! Előtte győződj meg róla, hogy az alkalmazás az új tárolóról megfelelően működik.",
|
||||
"deploy.foldrajzi_korlatozas": "Földrajzi korlátozás",
|
||||
@@ -1162,12 +1162,12 @@
|
||||
"deploy.n_nnehany_hiba_tortent_n": "\\n\\nNéhány hiba történt:\\n",
|
||||
"deploy.naplok_megtekintese": "Naplók megtekintése",
|
||||
"deploy.nem_elerheto": "{{$.CurrentHDDPath}} (nem elérhető)",
|
||||
"deploy.nhasznalja_a_generalas_gombot_vagy": "\\nHasználja a Generálás gombot vagy írjon be egy jelszót.",
|
||||
"deploy.nhasznalja_a_generalas_gombot_vagy": "\\nHasználd a Generálás gombot vagy írj be egy jelszót.",
|
||||
"deploy.nincs_eleg_memoria": "Nincs elég memória",
|
||||
"deploy.nincs_eleg_memoria_foglalas_telepites": "Nincs elég memória! Foglalás telepítés után: {{.AfterMB}} MB / {{.UsableMB}} MB",
|
||||
"deploy.nincs_eleg_szabad_tarhely": "Nincs elég szabad tárhely",
|
||||
"deploy.nincs_eleg_szabad_tarhely_a": "Nincs elég szabad tárhely a telepítéshez. Jelenleg {{.DockerFreeHuman}} szabad, és a rendszer\n {{.DockerReserveHuman}} tartalékot tart fenn az alapszolgáltatások (vezérlő, proxy) védelmében.\n A telepítés ezért átmenetileg le van tiltva — szabadítson fel helyet, vagy bővítse a tárhelyet.",
|
||||
"deploy.nincs_regisztralt_adattarolo_adja_meg": "Nincs regisztrált adattároló — adja meg kézzel az útvonalat",
|
||||
"deploy.nincs_eleg_szabad_tarhely_a": "Nincs elég szabad tárhely a telepítéshez. Jelenleg {{.DockerFreeHuman}} szabad, és a rendszer\n {{.DockerReserveHuman}} tartalékot tart fenn az alapszolgáltatások (vezérlő, proxy) védelmében.\n A telepítés ezért átmenetileg le van tiltva — szabadíts fel helyet, vagy bővítsd a tárhelyet.",
|
||||
"deploy.nincs_regisztralt_adattarolo_adja_meg": "Nincs regisztrált adattároló — add meg kézzel az útvonalat",
|
||||
"deploy.nincs_talalat": "Nincs találat",
|
||||
"deploy.nincs_telepitve": "Nincs telepítve",
|
||||
"deploy.opcionalis_beallitasok": "Opcionális beállítások",
|
||||
@@ -1307,7 +1307,7 @@
|
||||
"err.selfupdate.docker_pull_hianyos_registry_hitelesito_adatok": "docker pull: hiányos registry hitelesítő adatok (felhasználónév és token együtt szükséges)",
|
||||
"err.selfupdate.frissites_mar_folyamatban": "Frissítés már folyamatban",
|
||||
"err.selfupdate.hianyos_registry_hitelesito_adatok_felhasznalonev_es": "hiányos registry hitelesítő adatok (felhasználónév és token együtt szükséges)",
|
||||
"err.selfupdate.mentes_fut_probalja_kesobb": "Mentés fut, próbálja később",
|
||||
"err.selfupdate.mentes_fut_probalja_kesobb": "Mentés fut, próbáld később",
|
||||
"err.selfupdate.nincs_elerheto_frissites": "Nincs elérhető frissítés",
|
||||
"err.settings.a_halozati_tarhely_nem_lehet_a": "a hálózati tárhely nem lehet a rendszermentés célja: %s",
|
||||
"err.settings.a_kiszolgalo_neve_csak_betut_szamot": "a kiszolgáló neve csak betűt, számot, kötőjelet és aláhúzást tartalmazhat",
|
||||
@@ -1345,7 +1345,7 @@
|
||||
"err.stacks.ellenorzes_sikertelen_appdata": "ellenőrzés sikertelen (%s appdata): %s",
|
||||
"err.stacks.ellenorzes_sikertelen_mentes": "ellenőrzés sikertelen (%s mentés): %s",
|
||||
"err.stacks.field_required": "a(z) %q (%s) mező kitöltése kötelező",
|
||||
"err.stacks.field_required_password": "a(z) %q mező kitöltése kötelező — használja a Generálás gombot vagy írjon be egy jelszót",
|
||||
"err.stacks.field_required_password": "a(z) %q mező kitöltése kötelező — használd a Generálás gombot vagy írj be egy jelszót",
|
||||
"err.stacks.forras_nevter_olvasasa_sikertelen": "forrás névtér olvasása sikertelen: %s",
|
||||
"err.stacks.forras_torlese_sikertelen": "forrás törlése sikertelen (%s): %s",
|
||||
"err.stacks.forras_torlese_sikertelen_appdata": "forrás törlése sikertelen (%s appdata): %s",
|
||||
@@ -1379,7 +1379,7 @@
|
||||
"err.web.ervenytelen_csatlakoztatasi_nev_csak_betuk_szamok": "érvénytelen csatlakoztatási név (csak betűk, számok, _ és - engedélyezett)",
|
||||
"err.web.ez_a_mappa_nem_oszthato_meg": "Ez a mappa nem osztható meg.",
|
||||
"err.web.ez_az_egyetlen_hasznalhato_tarhely_a": "ez az egyetlen használható tárhely — a leszerelés megtagadva (előbb adj hozzá vagy állíts be másik alapértelmezett meghajtót)",
|
||||
"err.web.formazas_kesz_de_az_uj_fajlrendszer": "formázás kész, de az új fájlrendszer-azonosító nem feloldható — frissítsen és használja a Csatolás funkciót",
|
||||
"err.web.formazas_kesz_de_az_uj_fajlrendszer": "formázás kész, de az új fájlrendszer-azonosító nem feloldható — frissítsd az oldalt, és használd a Csatolás funkciót",
|
||||
"err.web.formazas_sikertelen": "formázás sikertelen: %s",
|
||||
"err.web.formazas_sikertelen_2": "formázás sikertelen: %s",
|
||||
"err.web.leszereles_visszavonasa_sikertelen": "leszerelés visszavonása sikertelen: %s",
|
||||
@@ -1444,7 +1444,7 @@
|
||||
"event.storage_disconnected": "Meghajtó váratlanul leválasztva: %s",
|
||||
"event.storage_reconnected": "Meghajtó újra csatlakoztatva: %s",
|
||||
"flash.backup.not_configured": "Mentés nincs beállítva",
|
||||
"flash.backup.window_invalid_time": "Érvénytelen időpont. Használja a ÓÓ:PP formátumot (például 02:30).",
|
||||
"flash.backup.window_invalid_time": "Érvénytelen időpont. Használd az ÓÓ:PP formátumot (például 02:30).",
|
||||
"flash.backup.window_save_failed": "A mentési időablak mentése nem sikerült.",
|
||||
"flash.backup.window_updated": "Mentési időablak frissítve.",
|
||||
"flash.login.password_changed": "Jelszó sikeresen módosítva. Jelentkezz be az új jelszóval.",
|
||||
@@ -1948,7 +1948,7 @@
|
||||
"settings_security.a_helyi_halozati_hozzaferes_mindig": "A helyi hálózati hozzáférés mindig engedélyezett (nem halad át a Cloudflare-en).",
|
||||
"settings_security.a_jelszavas_vedelem_nincs_beallitva": "A jelszavas védelem nincs beállítva. Kérd az üzemeltetőt a beállításhoz.",
|
||||
"settings_security.a_visszaallitasi_jelszo_lekerese_nem": "A visszaállítási jelszó lekérése nem sikerült.",
|
||||
"settings_security.adja_meg_a_jelenlegi_jelszavat": "Adja meg a jelenlegi jelszavát",
|
||||
"settings_security.adja_meg_a_jelenlegi_jelszavat": "Add meg a jelenlegi jelszavad",
|
||||
"settings_security.alkalmazas_kivalasztasa": "— Alkalmazás kiválasztása —",
|
||||
"settings_security.alkalmazas_specifikus_felulirasok": "Alkalmazás-specifikus felülírások",
|
||||
"settings_security.beallitasok_biztonsag_es_hozzaferes": "Beállítások — Biztonság és hozzáférés",
|
||||
@@ -1956,10 +1956,10 @@
|
||||
"settings_security.elrejt": "Elrejt",
|
||||
"settings_security.engedelyezett_orszagok": "Engedélyezett országok:",
|
||||
"settings_security.engedelyezett_orszagok_globalis": "Engedélyezett országok (globális)",
|
||||
"settings_security.ezeket_az_adatokat_mentse_el": "Ezeket az adatokat mentse el biztos helyre. Újratelepítés esetén szükség lesz rájuk a rendszer visszaállításához.",
|
||||
"settings_security.ezeket_az_adatokat_mentse_el": "Ezeket az adatokat mentsd el biztos helyre. Újratelepítés esetén szükség lesz rájuk a rendszer visszaállításához.",
|
||||
"settings_security.felhom_eu_kapcsolat": "<a href=\"mailto:{{.SupportEmail}}\" style=\"color: var(--blue);\">{{.SupportEmail}}</a>\n | \n <a href=\"{{.SupportURL}}\" target=\"_blank\" style=\"color: var(--blue);\">felhom.eu/kapcsolat</a>",
|
||||
"settings_security.figyelem": "Figyelem",
|
||||
"settings_security.figyelem_magyarorszag_eltavolitasa_azt_j": "Figyelem: Magyarország eltávolítása azt jelenti, hogy magyar IP-ről sem lesz elérhető a rendszer távolról. Biztosan folytatja?",
|
||||
"settings_security.figyelem_magyarorszag_eltavolitasa_azt_j": "Figyelem: Magyarország eltávolítása azt jelenti, hogy magyar IP-ről sem lesz elérhető a rendszer távolról. Biztosan folytatod?",
|
||||
"settings_security.foldrajzi_korlatozas": "Földrajzi korlátozás",
|
||||
"settings_security.geo_korlatozas_aktiv": "Geo-korlátozás aktív",
|
||||
"settings_security.halozati_hiba": "Hálózati hiba",
|
||||
@@ -1971,7 +1971,7 @@
|
||||
"settings_security.kesz": "Kész",
|
||||
"settings_security.kezi_szinkronizalas": "Kézi szinkronizálás",
|
||||
"settings_security.legalabb_8_karakter": "Legalább 8 karakter",
|
||||
"settings_security.magyarorszag_eltavolitasa_nem_ajanlott_f": "Magyarország eltávolítása nem ajánlott. Folytatja?",
|
||||
"settings_security.magyarorszag_eltavolitasa_nem_ajanlott_f": "Magyarország eltávolítása nem ajánlott. Folytatod?",
|
||||
"settings_security.megerosites": "Megerősítés",
|
||||
"settings_security.megjelenit": "Megjelenít",
|
||||
"settings_security.mentes": "Mentés...",
|
||||
@@ -2002,14 +2002,14 @@
|
||||
"settings_system.atmeretezes": "Átméretezés",
|
||||
"settings_system.atmeretezes_2": "Átméretezés...",
|
||||
"settings_system.automatikus_frissites": "Automatikus frissítés",
|
||||
"settings_system.az_egesz_kiszolgalo_szerver_ujrainditasa": "Az egész kiszolgáló (szerver) újraindítása. Minden alkalmazás rövid időre leáll, és a vezérlőpult kb. 30 másodpercig nem elérhető. Akkor használja, ha a teljes rendszer újraindítására van szükség — egyébként a fenti „Vezérlő újraindítása” elegendő.",
|
||||
"settings_system.az_ujrainditas_a_vartnal_tovabb": "Az újraindítás a vártnál tovább tart. Töltse újra az oldalt kézzel.",
|
||||
"settings_system.az_egesz_kiszolgalo_szerver_ujrainditasa": "Az egész kiszolgáló (szerver) újraindítása. Minden alkalmazás rövid időre leáll, és a vezérlőpult kb. 30 másodpercig nem elérhető. Akkor használd, ha a teljes rendszer újraindítására van szükség — egyébként a fenti „Vezérlő újraindítása” elegendő.",
|
||||
"settings_system.az_ujrainditas_a_vartnal_tovabb": "Az újraindítás a vártnál tovább tart. Töltsd újra az oldalt kézzel.",
|
||||
"settings_system.az_uzemelteto_altal_beallitott_ertekek": "Az üzemeltető által beállított értékek. Módosításhoz kérd az üzemeltetőt.",
|
||||
"settings_system.beallitasok_rendszer": "Beállítások — Rendszer",
|
||||
"settings_system.biztonsagi_mentes": "Biztonsági mentés",
|
||||
"settings_system.biztosan_frissiti_a_controllert_n": "Biztosan frissíti a controllert?\\n\\nA folyamat alatt a vezérlőpult rövid időre elérhetetlenné válik.",
|
||||
"settings_system.biztosan_ujrainditja_a_kiszolgalot_az": "Biztosan újraindítja a kiszolgálót? Az alkalmazások és a vezérlőpult kb. 30 másodpercre elérhetetlenné válnak.",
|
||||
"settings_system.biztosan_ujrainditja_a_vezerlot_a": "Biztosan újraindítja a vezérlőt? A művelet néhány másodpercig tart, és a felület rövid időre elérhetetlen lesz.",
|
||||
"settings_system.biztosan_ujrainditja_a_kiszolgalot_az": "Biztosan újraindítod a kiszolgálót? Az alkalmazások és a vezérlőpult kb. 30 másodpercre elérhetetlenné válnak.",
|
||||
"settings_system.biztosan_ujrainditja_a_vezerlot_a": "Biztosan újraindítod a vezérlőt? A művelet néhány másodpercig tart, és a felület rövid időre elérhetetlen lesz.",
|
||||
"settings_system.csokkentes": "Csökkentés",
|
||||
"settings_system.ellenorzes": "Ellenőrzés...",
|
||||
"settings_system.ervenytelen_memoria_ertek": "Érvénytelen memória érték",
|
||||
@@ -2023,7 +2023,7 @@
|
||||
"settings_system.frissites_folyamatban_a_vezerlo_hamarosa": "Frissítés folyamatban — a vezérlő hamarosan újraindul…",
|
||||
"settings_system.frissites_keresese": "Frissítés keresése",
|
||||
"settings_system.frissites_telepitese": "Frissítés telepítése",
|
||||
"settings_system.ha_a_vezerlo_hibasan_mukodik": "Ha a vezérlő hibásan működik, itt biztonságosan újraindíthatja — nem kell az egész szervert újraindítani.\n Az alkalmazásai futnak tovább; csak a vezérlő indul újra (néhány másodperc).",
|
||||
"settings_system.ha_a_vezerlo_hibasan_mukodik": "Ha a vezérlő hibásan működik, itt biztonságosan újraindíthatod — nem kell az egész szervert újraindítani.\n Az alkalmazásaid futnak tovább; csak a vezérlő indul újra (néhány másodperc).",
|
||||
"settings_system.halozat": "Hálózat",
|
||||
"settings_system.halozati_nev": "Hálózati név",
|
||||
"settings_system.helyi_cim_lan": "Helyi cím (LAN)",
|
||||
@@ -2137,7 +2137,7 @@
|
||||
"stacks.alkalmazas_visszaallitasa_exportalt_csom": "Alkalmazás visszaállítása exportált csomagból",
|
||||
"stacks.alkalmazasok": "Alkalmazások",
|
||||
"stacks.az_alkalmazas_adattaroloja_nem_elerheto": "Az alkalmazás adattárolója nem elérhető. Csatlakoztasd újra a meghajtót, vagy helyezd át az adatokat.",
|
||||
"stacks.az_alkalmazas_kornyezeteben_a_halozati": "Az alkalmazás környezetében a hálózati tárhely helyén üres helyi könyvtár van — az adatok nem a NAS-ra kerülnek. Jelezze az üzemeltetőnek.",
|
||||
"stacks.az_alkalmazas_kornyezeteben_a_halozati": "Az alkalmazás környezetében a hálózati tárhely helyén üres helyi könyvtár van — az adatok nem a NAS-ra kerülnek. Jelezd az üzemeltetőnek.",
|
||||
"stacks.frissites": "Frissítés",
|
||||
"stacks.futo": "Futó",
|
||||
"stacks.halozati_tarhely_hibas_az_alkalmazas": "Hálózati tárhely hibás — az alkalmazás nem a NAS-t látja",
|
||||
@@ -2163,7 +2163,7 @@
|
||||
"storage.a_masolatok_redundansak_az_eredetik": "(A másolatok redundánsak — az eredetik a forrás-meghajtón maradnak.)",
|
||||
"storage.a_meghajto_biztonsagosan_eltavolithato": "A meghajtó biztonságosan eltávolítható.",
|
||||
"storage.a_meghajto_kimarad_az_uj": "A meghajtó kimarad az új alkalmazás-telepítésekből. A rajta lévő alkalmazások változatlanul futnak.",
|
||||
"storage.a_meghajto_levalasztasra_kerul_az": "A meghajtó leválasztásra kerül. Az adatok megmaradnak, de az ott tárolt alkalmazások elvesztik a tárhelyüket, amíg újra nem csatolja.",
|
||||
"storage.a_meghajto_levalasztasra_kerul_az": "A meghajtó leválasztásra kerül. Az adatok megmaradnak, de az ott tárolt alkalmazások elvesztik a tárhelyüket, amíg újra nem csatolod.",
|
||||
"storage.a_meghajto_ujra_valaszthato_az": "A meghajtó újra választható az új alkalmazás-telepítéseknél.",
|
||||
"storage.a_meghajto_vegleges_kivonasa_a": "A meghajtó végleges kivonása a rendszerből. Ha céltárolót választ, előbb minden adat átkerül oda; áthelyezés nélkül az adatok a meghajtón maradnak.",
|
||||
"storage.a_muvelet_utan_a_kovetkezo": "A művelet után a következő alkalmazások <strong>nem fognak működni</strong>:",
|
||||
@@ -2193,9 +2193,9 @@
|
||||
"storage.belso_ssd_a_szerver_rendszere": "Belső SSD — a szerver rendszere, a Docker és a telepített alkalmazások adatbázisai itt találhatók.",
|
||||
"storage.biztonsagi_mentes_vedett": "Biztonsági mentés — védett",
|
||||
"storage.biztonsagos_levalasztas": "Biztonságos leválasztás",
|
||||
"storage.biztos_levalasztja_a_meghajtot": "Biztos leválasztja a meghajtót:",
|
||||
"storage.biztosan_eltavolitja_adattarolot": "Biztosan eltávolítja a(z) {{.Path}} adattárolót?",
|
||||
"storage.biztosan_eltavolitja_meghajtot": "Biztosan eltávolítja a(z) {{.Label}} ({{.Path}}) meghajtót a rendszerből?\\n\\nA meghajtó adatai NEM törlődnek.",
|
||||
"storage.biztos_levalasztja_a_meghajtot": "Biztosan leválasztod a meghajtót:",
|
||||
"storage.biztosan_eltavolitja_adattarolot": "Biztosan eltávolítod a(z) {{.Path}} adattárolót?",
|
||||
"storage.biztosan_eltavolitja_meghajtot": "Biztosan eltávolítod a(z) {{.Label}} ({{.Path}}) meghajtót a rendszerből?\\n\\nA meghajtó adatai NEM törlődnek.",
|
||||
"storage.csak_a_nyilvantartasbol_torli_a": "Csak a nyilvántartásból törli a meghajtót — az adatok és a fájlrendszer érintetlenül maradnak.",
|
||||
"storage.csatlakoztatas": "Csatlakoztatás",
|
||||
"storage.csatlakoztatas_2": "Csatlakoztatás...",
|
||||
@@ -2246,7 +2246,7 @@
|
||||
"storage.leszereles_athelyezessel_minden_adat_atm": "Leszerelés áthelyezéssel: minden adat átmásolása ide:",
|
||||
"storage.leszereles_elinditva": "Leszerelés elindítva.",
|
||||
"storage.leszerelese_n_naz_adatok_nem": "leszerelése?\\n\\nAz adatok NEM törlődnek.",
|
||||
"storage.leszerelesehez_athelyezes_nelkul_irja_be": "leszereléséhez (áthelyezés nélkül) írja be a meghajtó nevét megerősítésként.",
|
||||
"storage.leszerelesehez_athelyezes_nelkul_irja_be": "leszereléséhez (áthelyezés nélkül) írd be a meghajtó nevét megerősítésként.",
|
||||
"storage.levalasztas": "Leválasztás",
|
||||
"storage.levalasztas_folyamatban": "Leválasztás folyamatban…",
|
||||
"storage.levalasztva": "Leválasztva",
|
||||
@@ -2254,8 +2254,8 @@
|
||||
"storage.majd_a_z": "majd a(z)",
|
||||
"storage.mar_csatlakoztatott_tarhely_hozzaadasa_k": "Már csatlakoztatott tárhely hozzáadása kézzel",
|
||||
"storage.megerosites": "Megerősítés",
|
||||
"storage.megerositeshez_irja_be": "Megerősítéshez írja be:",
|
||||
"storage.megerositeshez_irja_be_a_csatlakoztatasi": "Megerősítéshez írja be a csatlakoztatási nevet:",
|
||||
"storage.megerositeshez_irja_be": "Megerősítéshez írd be:",
|
||||
"storage.megerositeshez_irja_be_a_csatlakoztatasi": "Megerősítéshez írd be a csatlakoztatási nevet:",
|
||||
"storage.meghajto_eltavolitasa": "Meghajtó eltávolítása",
|
||||
"storage.meghajto_leszerelese": "Meghajtó leszerelése",
|
||||
"storage.meghajto_levalasztasa": "Meghajtó leválasztása",
|
||||
@@ -2302,7 +2302,7 @@
|
||||
"storage.vedett_csak_operatori_alairassal_modosit": "védett — csak operátori aláírással módosíthatók",
|
||||
"storage.vegleges_leszereles": "Végleges leszerelés",
|
||||
"storage.visszacsatlakoztatas": "Visszacsatlakoztatás",
|
||||
"storage.visszacsatlakoztatja_a_z": "Visszacsatlakoztatja a(z)",
|
||||
"storage.visszacsatlakoztatja_a_z": "Visszacsatlakoztatod a(z)",
|
||||
"storage_attach.1_meghajto_kivalasztasa": "1. Meghajtó kiválasztása",
|
||||
"storage_attach.2_konfiguracio": "2. Konfiguráció",
|
||||
"storage_attach.a_meghajto_a_mnt_nev": "A meghajtó a /mnt/<név> útvonalra kerül.",
|
||||
@@ -2324,14 +2324,14 @@
|
||||
"storage_attach.meglevo_meghajto_csatolasa": "Meglévő meghajtó csatolása",
|
||||
"storage_attach.megnevezes": "Megnevezés",
|
||||
"storage_attach.megsem": "Mégsem",
|
||||
"storage_attach.nincs_csatolhato_meghajto_a_csatolashoz": "Nincs csatolható meghajtó — a csatoláshoz olyan (még nem használt) meghajtó kell, amelyen már van fájlrendszer. Új, üres meghajtóhoz használja az „Inicializálás” lehetőséget.",
|
||||
"storage_attach.nincs_csatolhato_meghajto_a_csatolashoz": "Nincs csatolható meghajtó — a csatoláshoz olyan (még nem használt) meghajtó kell, amelyen már van fájlrendszer. Új, üres meghajtóhoz használd az „Inicializálás” lehetőséget.",
|
||||
"storage_attach.nyilvantartasba_veve": "nyilvántartásba véve",
|
||||
"storage_attach.valassza_ki_a_mar_fajlrendszerrel": "Válaszd ki a már fájlrendszerrel rendelkező meghajtót.\n <strong>A meghajtón lévő adatok nem törlődnek</strong> — a csatolás csak elérhetővé teszi azokat.",
|
||||
"storage_attach.vissza": "← Vissza",
|
||||
"storage_attach.vissza_a_beallitasokhoz": ". <a href=\"/settings\">Vissza a Beállításokhoz →</a>",
|
||||
"storage_init.1_meghajto_kivalasztasa": "1. Meghajtó kiválasztása",
|
||||
"storage_init.2_konfiguracio": "2. Konfiguráció",
|
||||
"storage_init.a_kivalasztott_meghajto_adatot_tartalmaz": "A kiválasztott meghajtó <strong>adatot tartalmaz</strong>. Az inicializálás (formázás) törli a rajta lévő\n összes adatot — a folytatáshoz meg kell erősítenie.",
|
||||
"storage_init.a_kivalasztott_meghajto_adatot_tartalmaz": "A kiválasztott meghajtó <strong>adatot tartalmaz</strong>. Az inicializálás (formázás) törli a rajta lévő\n összes adatot — a folytatáshoz meg kell erősítened.",
|
||||
"storage_init.a_meghajto_a_mnt_nev": "A meghajtó a /mnt/<név> útvonalra kerül.",
|
||||
"storage_init.a_meghajto_adatot_tartalmaz_a": "A meghajtó adatot tartalmaz. A formázás <strong>véglegesen törli</strong> a rajta lévő összes adatot.",
|
||||
"storage_init.a_meghajto_sikeresen_inicializalva_es": "A meghajtó sikeresen inicializálva és regisztrálva:",
|
||||
@@ -2352,7 +2352,7 @@
|
||||
"storage_init.kivalasztott_eszkoz": "Kiválasztott eszköz",
|
||||
"storage_init.kulso_hdd_1tb": "Külső HDD 1TB",
|
||||
"storage_init.mar_folyamatban_van_egy_inicializalas": "Már folyamatban van egy inicializálás.",
|
||||
"storage_init.megerositeshez_irja_be_a_csatlakoztatasi": "Megerősítéshez írja be a csatlakoztatási nevet:",
|
||||
"storage_init.megerositeshez_irja_be_a_csatlakoztatasi": "Megerősítéshez írd be a csatlakoztatási nevet:",
|
||||
"storage_init.meghajtok_betoltese_sikertelen": "Meghajtók betöltése sikertelen:",
|
||||
"storage_init.megnevezes": "Megnevezés",
|
||||
"storage_init.megsem": "Mégsem",
|
||||
@@ -2374,7 +2374,7 @@
|
||||
"storage_network.a_legtobb_mediaalkalmazas_1000_es": "A legtöbb médiaalkalmazás 1000-es azonosítóval fut.",
|
||||
"storage_network.a_megosztas_a_gazdagepen_elerheto": "A megosztás a gazdagépen elérhető, de az alkalmazások környezetében üres helyi könyvtár látszik — az adatok NEM a NAS-ra kerülnének",
|
||||
"storage_network.a_megosztas_a_mnt_felhom": "A megosztás a /mnt/felhom-drives/<név> útvonalon lesz elérhető.",
|
||||
"storage_network.a_megosztas_be_van_allitva": "A megosztás be van állítva a gazdagépen, de nincs regisztrálva — egy megszakadt csatlakoztatás maradványa. Távolítsa el, vagy adja hozzá újra ugyanezzel a névvel.",
|
||||
"storage_network.a_megosztas_be_van_allitva": "A megosztás be van állítva a gazdagépen, de nincs regisztrálva — egy megszakadt csatlakoztatás maradványa. Távolítsd el, vagy add hozzá újra ugyanezzel a névvel.",
|
||||
"storage_network.a_megosztas_elerheto_es_csatlakoztatva": "A megosztás elérhető és csatlakoztatva van",
|
||||
"storage_network.a_nas_jelenleg_nem_erheto": "A NAS jelenleg nem érhető el — az érintett alkalmazások átmenetileg nem olvasnak róla",
|
||||
"storage_network.a_qnap_feluletere_szabott_lepesrol": "A QNAP felületére szabott lépésről lépésre útmutató készül.",
|
||||
@@ -2383,21 +2383,21 @@
|
||||
"storage_network.arva": "Árva",
|
||||
"storage_network.az_allapot_jelenleg_nem_lekerdezheto": "Az állapot jelenleg nem lekérdezhető",
|
||||
"storage_network.beallitva_a_gazdagepen_de_nincs": "Beállítva a gazdagépen, de nincs regisztrálva",
|
||||
"storage_network.biztosan_eltavolitja_a_z": "Biztosan eltávolítja a(z)",
|
||||
"storage_network.biztosan_eltavolitja_a_z": "Biztosan eltávolítod a(z)",
|
||||
"storage_network.csatlakoztatas": "Csatlakoztatás",
|
||||
"storage_network.csatolasi_teszt": "Csatolási teszt…",
|
||||
"storage_network.egy_nas_megosztas_nfs_vagy": "Egy NAS-megosztás (NFS vagy SMB) csatlakoztatása nagy méretű médiatartalomhoz (film, fotó, zene).\n A megosztás kiválasztható médiaalkalmazás adatkönyvtáraként. A hálózati tárhely nem fizikai\n meghajtó — nincs leszerelés/áthelyezés, csak eltávolítás.",
|
||||
"storage_network.egyszeru_mas_nas_okhoz_kapcsolja": "Egyszerű (más NAS-okhoz): kapcsolja be az exporton a „minden felhasználó leképezése” (map all\n users / all squash) opciót írás-olvasás móddal — bármelyik helyi felhasználóra. A fájlok\n tulajdonosa a rendszerben „nobody”-ként látszik; az alkalmazások túlnyomó többségének ez megfelelő.",
|
||||
"storage_network.egyszeru_mas_nas_okhoz_kapcsolja": "Egyszerű (más NAS-okhoz): kapcsold be az exporton a „minden felhasználó leképezése” (map all\n users / all squash) opciót írás-olvasás móddal — bármelyik helyi felhasználóra. A fájlok\n tulajdonosa a rendszerben „nobody”-ként látszik; az alkalmazások túlnyomó többségének ez megfelelő.",
|
||||
"storage_network.elerheto": "Elérhető",
|
||||
"storage_network.elerheto_jelenleg_keszenletben_igeny_sze": "Elérhető, jelenleg készenlétben (igény szerint csatlakozik)",
|
||||
"storage_network.eltavolitas": "Eltávolítás",
|
||||
"storage_network.engedelyezze_a_felhom_gep_ip": "Engedélyezze a Felhom gép IP-címét a megosztáson. Proxmox-fürt esetén minden csomópont IP-címét.",
|
||||
"storage_network.engedelyezze_a_felhom_gep_ip": "Engedélyezd a Felhom gép IP-címét a megosztáson. Proxmox-fürt esetén minden csomópont IP-címét.",
|
||||
"storage_network.halozati_tarhely_eltavolitasa": "Hálózati tárhely eltávolítása",
|
||||
"storage_network.halozati_tarhely_hozzaadasa": "Hálózati tárhely hozzáadása",
|
||||
"storage_network.halozati_tarhelyet_n_na_megosztas": "hálózati tárhelyet?\\n\\nA megosztás leválasztásra kerül; a NAS-on lévő adatok érintetlenek maradnak.",
|
||||
"storage_network.hiba": "Hiba:",
|
||||
"storage_network.hibas_az_alkalmazasok_nem_a": "Hibás — az alkalmazások nem a NAS-t látják",
|
||||
"storage_network.hozzon_letre_vagy_jeloljon_ki": "Hozzon létre (vagy jelöljön ki) egy felhasználót a NAS-on, és adjon neki írás-olvasás jogot a\n megosztásra. Más beállítás nem szükséges — a fájlok a NAS-on ennek a felhasználónak a nevében\n jönnek létre.",
|
||||
"storage_network.hozzon_letre_vagy_jeloljon_ki": "Hozz létre (vagy jelölj ki) egy felhasználót a NAS-on, és adj neki írás-olvasás jogot a\n megosztásra. Más beállítás nem szükséges — a fájlok a NAS-on ennek a felhasználónak a nevében\n jönnek létre.",
|
||||
"storage_network.igy_a_tulajdonos_informaciok_is": "— így a tulajdonos-információk is hibátlanok.",
|
||||
"storage_network.ip_cim_vagy_dns_nev": "IP-cím vagy DNS-név. A Windows-hálózati név (pl. FELHOM) itt általában nem oldható fel — a Megosztás oldal »közvetlen cím« sora adja meg a másik eszköz IP-címét.",
|
||||
"storage_network.irasteszt": "Írásteszt…",
|
||||
@@ -2423,7 +2423,7 @@
|
||||
"storage_network.smb_felhasznalonev": "SMB felhasználónév",
|
||||
"storage_network.smb_jelszo": "SMB jelszó",
|
||||
"storage_network.smb_synology_qnap_a_legtobb": "SMB (Synology, QNAP — a legtöbb NAS)",
|
||||
"storage_network.synology_dsm_ellenorzott_lepesek_eloszor": "Synology (DSM, ellenőrzött lépések): először kapcsolja be az NFS-t — Vezérlőpult → File\n Services → NFS fül → „Enable NFS service”, és állítsa a „Maximum NFS protocol” értékét\n NFSv4.1-re (az alapértelmezett NFSv3 nem elegendő a csatlakoztatáshoz). Ezután a megosztott\n mappa szerkesztésében az „NFS Permissions” fülön hozzon létre szabályt a Felhom gép\n IP-címére, Read/Write jogosultsággal, a Squash mezőben a „Map all users to admin” opcióval.\n A megosztás elérési útja ugyanezen a fülön látható (pl. /volume1/<mappa>) — ez kerül a\n fenti „Megosztás” mezőbe.",
|
||||
"storage_network.synology_dsm_ellenorzott_lepesek_eloszor": "Synology (DSM, ellenőrzött lépések): először kapcsold be az NFS-t — Vezérlőpult → File\n Services → NFS fül → „Enable NFS service”, és állítsd a „Maximum NFS protocol” értékét\n NFSv4.1-re (az alapértelmezett NFSv3 nem elegendő a csatlakoztatáshoz). Ezután a megosztott\n mappa szerkesztésében az „NFS Permissions” fülön hozz létre szabályt a Felhom gép\n IP-címére, Read/Write jogosultsággal, a Squash mezőben a „Map all users to admin” opcióval.\n A megosztás elérési útja ugyanezen a fülön látható (pl. /volume1/<mappa>) — ez kerül a\n fenti „Megosztás” mezőbe.",
|
||||
"storage_network.szerver_ip_vagy_hosztnev": "Szerver (IP vagy hosztnév)",
|
||||
"storage_network.tarhely_halozati_tarhely_nas": "Tárhely — Hálózati tárhely (NAS)",
|
||||
"storage_network.technikai_reszletek": "Technikai részletek",
|
||||
|
||||
@@ -71,7 +71,7 @@ func TestR553_DeployProducersCarryKindAndKeepTheirWords(t *testing.T) {
|
||||
yml: "display_name: R553\ndeploy_fields:\n - env_var: ADMIN_PW\n label: Jelszó\n type: password\n",
|
||||
values: map[string]string{},
|
||||
kind: ErrRequiredField,
|
||||
wantMsg: `a(z) "Jelszó" mező kitöltése kötelező — használja a Generálás gombot vagy írjon be egy jelszót`,
|
||||
wantMsg: `a(z) "Jelszó" mező kitöltése kötelező — használd a Generálás gombot vagy írj be egy jelszót`,
|
||||
},
|
||||
{
|
||||
name: "path field naming something that is not there",
|
||||
|
||||
@@ -106,7 +106,7 @@ func TestR103_ConfirmStatesTheOverwrite(t *testing.T) {
|
||||
html := renderBackupPage(t, "backups_apps", baseBackupData([]AppBackupRow{
|
||||
r103Row(t, true, "2026-08-25T03:30:00Z", true),
|
||||
}))
|
||||
fileConfirmStart := strings.Index(html, "Visszaállítja a hiányzó fájlokat")
|
||||
fileConfirmStart := strings.Index(html, "Visszaállítod a hiányzó fájlokat")
|
||||
if fileConfirmStart < 0 {
|
||||
t.Fatal("the additive confirm is gone — the negative control has nothing to check")
|
||||
}
|
||||
|
||||
@@ -153,3 +153,45 @@ func TestR516_FormalFormsAreGone(t *testing.T) {
|
||||
t.Fatal("the ASCII fold does not work — the negative control proves nothing")
|
||||
}
|
||||
}
|
||||
|
||||
// R-516 (2026-10-06) — the formal („ön") forms the gate's first stem list did not see: the debug RESET
|
||||
// prompt, the storage and network-storage confirms and guides, the security and system pages, the
|
||||
// deploy and restore copy. They are in the te-form now; the i18n gate's widened stems keep new ones out.
|
||||
func TestR516_WidenedFormalFormsAreGone(t *testing.T) {
|
||||
b, err := i18n.Shared()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
want := map[string]string{
|
||||
"debug.irja_be_reset": "Írd be: RESET",
|
||||
"debug.api.reset_confirm_invalid": "Érvénytelen megerősítés — írd be: RESET",
|
||||
"settings_security.adja_meg_a_jelenlegi_jelszavat": "Add meg a jelenlegi jelszavad",
|
||||
"storage.biztosan_eltavolitja_adattarolot": "Biztosan eltávolítod a(z) {{.Path}} adattárolót?",
|
||||
"storage_network.engedelyezze_a_felhom_gep_ip": "Engedélyezd a Felhom gép IP-címét a megosztáson. Proxmox-fürt esetén minden csomópont IP-címét.",
|
||||
"backups_remote.a_letetben_levo_helyreallitasi_csomag": "A letétben lévő helyreállítási csomag nem fedi a jelenlegi távoli mentési jelszót. Hozz létre új helyreállítási kódot.",
|
||||
"err.selfupdate.mentes_fut_probalja_kesobb": "Mentés fut, próbáld később",
|
||||
"flash.backup.window_invalid_time": "Érvénytelen időpont. Használd az ÓÓ:PP formátumot (például 02:30).",
|
||||
}
|
||||
for key, w := range want {
|
||||
got, fellBack, ok := b.Text("hu", key)
|
||||
if !ok || fellBack || got != w {
|
||||
t.Errorf("%s: %q, want %q", key, got, w)
|
||||
}
|
||||
}
|
||||
fold := strings.NewReplacer("á", "a", "é", "e", "í", "i", "ó", "o", "ö", "o", "ő", "o", "ú", "u", "ü", "u", "ű", "u")
|
||||
stems := []string{"irja be", "hozzon letre", "biztosan eltavolitja", "engedelyezze", "probalja", "valasszon",
|
||||
"jelezze", "biztosan ujrainditja", "folytatja?", "szabaditson", "mentse el", "tavolitsa el"}
|
||||
for _, key := range b.Keys("hu") {
|
||||
v, _, _ := b.Text("hu", key)
|
||||
lv := fold.Replace(strings.ToLower(v))
|
||||
for _, st := range stems {
|
||||
if strings.Contains(lv, st) {
|
||||
t.Errorf("%s still carries the formal %q: %q", key, st, v)
|
||||
}
|
||||
}
|
||||
}
|
||||
// Positive control: the fold must turn a formal sentence into a matching stem, or the loop judged nothing.
|
||||
if lv := fold.Replace(strings.ToLower("Írja be a nevet")); !strings.Contains(lv, "irja be") {
|
||||
t.Fatal("the ASCII fold does not work — the negative control proves nothing")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -820,7 +820,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="okrun">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -903,7 +903,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="oksucc">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -851,7 +851,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="okrun">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -934,7 +934,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="oksucc">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -855,7 +855,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="okrun">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -938,7 +938,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="oksucc">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
@@ -849,7 +849,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="okrun">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -932,7 +932,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="oksucc">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
@@ -763,7 +763,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="okrun">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -846,7 +846,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="oksucc">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
@@ -763,7 +763,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="okrun">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -846,7 +846,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="oksucc">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12.">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
@@ -849,7 +849,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="okrun">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi másolat: 2026-09-14 05:12">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -932,7 +932,7 @@
|
||||
|
||||
<form method="POST" action="/backup/tier2/restore" style="display:inline">
|
||||
<input type="hidden" name="stack_name" value="oksucc">
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítja a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12. Figyelem: a legutóbbi mentési kísérlet nem sikerült, ezért a visszaállított fájlok ennél régebbiek lehetnek.">Fájlok visszaállítása</button>
|
||||
<button type="submit" class="btn btn-xs btn-outline" data-confirm="Visszaállítod a hiányzó fájlokat a másodlagos másolatból? A meglévő fájlok NEM módosulnak és NEM törlődnek. Az alkalmazás a művelet idejére leáll. Legutóbbi sikeres másolat: 2026-09-14 05:12. Figyelem: a legutóbbi mentési kísérlet nem sikerült, ezért a visszaállított fájlok ennél régebbiek lehetnek.">Fájlok visszaállítása</button>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -224,7 +224,7 @@
|
||||
|
||||
<div class="card" style="border-left:3px solid var(--warn);margin:.75rem 0;padding:.75rem 1rem">
|
||||
<p style="margin:0 0 .35rem"><strong>Helyreállítási kód szükséges</strong></p>
|
||||
<p class="form-hint" style="margin:0 0 .5rem">A távoli mentések csak akkor állíthatók vissza egy teljes meghibásodás után, ha létrehozza a helyreállítási kódot.</p>
|
||||
<p class="form-hint" style="margin:0 0 .5rem">A távoli mentések csak akkor állíthatók vissza egy teljes meghibásodás után, ha létrehozod a helyreállítási kódot.</p>
|
||||
|
||||
|
||||
<a href="/backup/escrow" class="btn btn-sm btn-primary">Helyreállítási kód létrehozása</a>
|
||||
|
||||
+1
-1
@@ -224,7 +224,7 @@
|
||||
|
||||
<div class="card" style="border-left:3px solid var(--warn);margin:.75rem 0;padding:.75rem 1rem">
|
||||
<p style="margin:0 0 .35rem"><strong>Helyreállítási kód szükséges</strong></p>
|
||||
<p class="form-hint" style="margin:0 0 .5rem">A távoli mentések csak akkor állíthatók vissza egy teljes meghibásodás után, ha létrehozza a helyreállítási kódot.</p>
|
||||
<p class="form-hint" style="margin:0 0 .5rem">A távoli mentések csak akkor állíthatók vissza egy teljes meghibásodás után, ha létrehozod a helyreállítási kódot.</p>
|
||||
|
||||
|
||||
<p class="form-hint" style="margin:0">A funkcióhoz az ügynök frissítése szükséges — a frissítés automatikusan megérkezik.</p>
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
|
||||
<div class="card" style="border-left:3px solid var(--warn);margin:.75rem 0;padding:.75rem 1rem">
|
||||
<p style="margin:0 0 .35rem"><strong>Helyreállítási kód szükséges</strong></p>
|
||||
<p class="form-hint" style="margin:0 0 .5rem">A távoli mentések csak akkor állíthatók vissza egy teljes meghibásodás után, ha létrehozza a helyreállítási kódot.</p>
|
||||
<p class="form-hint" style="margin:0 0 .5rem">A távoli mentések csak akkor állíthatók vissza egy teljes meghibásodás után, ha létrehozod a helyreállítási kódot.</p>
|
||||
|
||||
|
||||
<p class="form-hint" style="margin:0">
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
|
||||
|
||||
<div class="card" style="border-left:3px solid var(--warn);margin:.75rem 0;padding:.75rem 1rem">
|
||||
<p class="form-hint" style="color:var(--warn);margin:0 0 .5rem">A letétben lévő helyreállítási csomag nem fedi a jelenlegi távoli mentési jelszót. Hozzon létre új helyreállítási kódot.</p>
|
||||
<p class="form-hint" style="color:var(--warn);margin:0 0 .5rem">A letétben lévő helyreállítási csomag nem fedi a jelenlegi távoli mentési jelszót. Hozz létre új helyreállítási kódot.</p>
|
||||
|
||||
<a href="/backup/escrow" class="btn btn-sm btn-primary">Új helyreállítási kód készítése</a>
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
|
||||
|
||||
<div class="card" style="border-left:3px solid var(--warn);margin:.75rem 0;padding:.75rem 1rem">
|
||||
<p class="form-hint" style="color:var(--warn);margin:0 0 .5rem">A letétben lévő helyreállítási csomag nem fedi a jelenlegi távoli mentési jelszót. Hozzon létre új helyreállítási kódot.</p>
|
||||
<p class="form-hint" style="color:var(--warn);margin:0 0 .5rem">A letétben lévő helyreállítási csomag nem fedi a jelenlegi távoli mentési jelszót. Hozz létre új helyreállítási kódot.</p>
|
||||
|
||||
<p class="form-hint" style="margin:0">A funkcióhoz az ügynök frissítése szükséges — a frissítés automatikusan megérkezik.</p>
|
||||
|
||||
|
||||
@@ -336,7 +336,7 @@ function onRestoreAppChange() {
|
||||
typeInfo.style.display = 'none';
|
||||
|
||||
if (!appName) {
|
||||
snapSel.innerHTML = '<option value="">— Válasszon alkalmazást —</option>';
|
||||
snapSel.innerHTML = '<option value="">— Válassz alkalmazást —</option>';
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -363,7 +363,7 @@ function onRestoreAppChange() {
|
||||
fetch('/api/backup/snapshots?stack=' + encodeURIComponent(appName))
|
||||
.then(function(r) { return r.json(); })
|
||||
.then(function(data) {
|
||||
snapSel.innerHTML = '<option value="">— Válasszon —</option>';
|
||||
snapSel.innerHTML = '<option value="">— Válassz —</option>';
|
||||
if (data.ok && data.data && data.data.length > 0) {
|
||||
|
||||
var tier1 = data.data.filter(function(s) { return s.tier !== 2; });
|
||||
|
||||
@@ -202,7 +202,7 @@
|
||||
<div class="restore-form-row">
|
||||
<label class="restore-label">Alkalmazás:</label>
|
||||
<select id="restore-app" class="restore-select" onchange="onRestoreAppChange()">
|
||||
<option value="">— Válasszon —</option>
|
||||
<option value="">— Válassz —</option>
|
||||
|
||||
<option value="immich" data-has-hdd="true" data-has-db="true" data-has-volumes="true">Immich Photos</option>
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
<div class="restore-form-row">
|
||||
<label class="restore-label">Pillanatkép:</label>
|
||||
<select id="restore-snapshot" class="restore-select" onchange="onRestoreConfirmChange()">
|
||||
<option value="">— Válasszon alkalmazást —</option>
|
||||
<option value="">— Válassz alkalmazást —</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="restore-type-info" class="restore-info" style="display:none;margin-bottom:0.5rem">
|
||||
@@ -565,7 +565,7 @@ function onRestoreAppChange() {
|
||||
typeInfo.style.display = 'none';
|
||||
|
||||
if (!appName) {
|
||||
snapSel.innerHTML = '<option value="">— Válasszon alkalmazást —</option>';
|
||||
snapSel.innerHTML = '<option value="">— Válassz alkalmazást —</option>';
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -592,7 +592,7 @@ function onRestoreAppChange() {
|
||||
fetch('/api/backup/snapshots?stack=' + encodeURIComponent(appName))
|
||||
.then(function(r) { return r.json(); })
|
||||
.then(function(data) {
|
||||
snapSel.innerHTML = '<option value="">— Válasszon —</option>';
|
||||
snapSel.innerHTML = '<option value="">— Válassz —</option>';
|
||||
if (data.ok && data.data && data.data.length > 0) {
|
||||
|
||||
var tier1 = data.data.filter(function(s) { return s.tier !== 2; });
|
||||
|
||||
+4
-4
@@ -193,7 +193,7 @@
|
||||
<div class="restore-form-row">
|
||||
<label class="restore-label">Alkalmazás:</label>
|
||||
<select id="restore-app" class="restore-select" onchange="onRestoreAppChange()">
|
||||
<option value="">— Válasszon —</option>
|
||||
<option value="">— Válassz —</option>
|
||||
|
||||
<option value="privatebin" data-has-hdd="" data-has-db="" data-has-volumes=""></option>
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
<div class="restore-form-row">
|
||||
<label class="restore-label">Pillanatkép:</label>
|
||||
<select id="restore-snapshot" class="restore-select" onchange="onRestoreConfirmChange()">
|
||||
<option value="">— Válasszon alkalmazást —</option>
|
||||
<option value="">— Válassz alkalmazást —</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="restore-type-info" class="restore-info" style="display:none;margin-bottom:0.5rem">
|
||||
@@ -424,7 +424,7 @@ function onRestoreAppChange() {
|
||||
typeInfo.style.display = 'none';
|
||||
|
||||
if (!appName) {
|
||||
snapSel.innerHTML = '<option value="">— Válasszon alkalmazást —</option>';
|
||||
snapSel.innerHTML = '<option value="">— Válassz alkalmazást —</option>';
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -451,7 +451,7 @@ function onRestoreAppChange() {
|
||||
fetch('/api/backup/snapshots?stack=' + encodeURIComponent(appName))
|
||||
.then(function(r) { return r.json(); })
|
||||
.then(function(data) {
|
||||
snapSel.innerHTML = '<option value="">— Válasszon —</option>';
|
||||
snapSel.innerHTML = '<option value="">— Válassz —</option>';
|
||||
if (data.ok && data.data && data.data.length > 0) {
|
||||
|
||||
var tier1 = data.data.filter(function(s) { return s.tier !== 2; });
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
<div class="restore-form-row">
|
||||
<label class="restore-label">Alkalmazás:</label>
|
||||
<select id="restore-app" class="restore-select" onchange="onRestoreAppChange()">
|
||||
<option value="">— Válasszon —</option>
|
||||
<option value="">— Válassz —</option>
|
||||
|
||||
<option value="privatebin" data-has-hdd="" data-has-db="" data-has-volumes=""></option>
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
<div class="restore-form-row">
|
||||
<label class="restore-label">Pillanatkép:</label>
|
||||
<select id="restore-snapshot" class="restore-select" onchange="onRestoreConfirmChange()">
|
||||
<option value="">— Válasszon alkalmazást —</option>
|
||||
<option value="">— Válassz alkalmazást —</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="restore-type-info" class="restore-info" style="display:none;margin-bottom:0.5rem">
|
||||
@@ -412,7 +412,7 @@ function onRestoreAppChange() {
|
||||
typeInfo.style.display = 'none';
|
||||
|
||||
if (!appName) {
|
||||
snapSel.innerHTML = '<option value="">— Válasszon alkalmazást —</option>';
|
||||
snapSel.innerHTML = '<option value="">— Válassz alkalmazást —</option>';
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -439,7 +439,7 @@ function onRestoreAppChange() {
|
||||
fetch('/api/backup/snapshots?stack=' + encodeURIComponent(appName))
|
||||
.then(function(r) { return r.json(); })
|
||||
.then(function(data) {
|
||||
snapSel.innerHTML = '<option value="">— Válasszon —</option>';
|
||||
snapSel.innerHTML = '<option value="">— Válassz —</option>';
|
||||
if (data.ok && data.data && data.data.length > 0) {
|
||||
|
||||
var tier1 = data.data.filter(function(s) { return s.tier !== 2; });
|
||||
|
||||
@@ -379,7 +379,7 @@
|
||||
|
||||
<span class="tag tag-warn" title="Az alkalmazás adattárolója nem elérhető. Csatlakoztasd újra a meghajtót, vagy helyezd át az adatokat egy másik tárhelyre."><svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg>Hiányzó tárhely: HDD egy</span>
|
||||
<span class="tag tag-warn" title="Az alkalmazás egyik folyamatát a rendszer leállította, mert elfogyott a memóriája. Lehet, hogy egy feladat nem fejeződött be. Indítsd újra az alkalmazást; ha ismétlődik, jelezd az üzemeltetőnek."><svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg>Memória elfogyott</span>
|
||||
<span class="tag tag-warn" title="Az alkalmazás környezetében a hálózati tárhely helyén üres helyi könyvtár van — az adatok nem a NAS-ra kerülnek. Jelezze az üzemeltetőnek."><svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg>Hálózati tárhely hibás — az alkalmazás nem a NAS-t látja</span>
|
||||
<span class="tag tag-warn" title="Az alkalmazás környezetében a hálózati tárhely helyén üres helyi könyvtár van — az adatok nem a NAS-ra kerülnek. Jelezd az üzemeltetőnek."><svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg>Hálózati tárhely hibás — az alkalmazás nem a NAS-t látja</span>
|
||||
<span class="tag tag-warn" title="A hálózati tárhely (NAS) jelenleg nem érhető el. Az alkalmazás fut; az adatok elérése a NAS visszatértével helyreáll."><svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg>Hálózati tárhely nem elérhető: NAS egy</span>
|
||||
<span class="tag tag-warn" title="A proxy (Traefik) csak egészséges konténerhez publikál nyilvános útvonalat. Amíg az alkalmazás nem egészséges, az URL 404-et ad, pedig a konténer fut."><svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg>URL nem elérhető</span>
|
||||
|
||||
|
||||
+3
-3
@@ -327,7 +327,7 @@
|
||||
<p style="color:var(--crit);font-weight:600">Vészhelyzet szimuláció</p>
|
||||
<p class="text-muted" style="font-size:.85rem;margin-bottom:.5rem">Ez törli az ügyfél azonosítót és újraindítja a controllert setup módba. A konfigurációs fájlok megmaradnak a meghajtókon.</p>
|
||||
<div class="debug-form-row">
|
||||
<label>Írja be "RESET" a megerősítéshez:</label>
|
||||
<label>Írd be "RESET" a megerősítéshez:</label>
|
||||
<input type="text" id="dr-confirm-input" class="form-control debug-confirm-input" placeholder="RESET" autocomplete="off">
|
||||
<button class="btn btn-danger btn-sm" id="btn-dr-trigger" data-label="Újraindítás setup módban" onclick="triggerDR()">Újraindítás setup módban</button>
|
||||
<span class="debug-result" id="btn-dr-trigger-result"></span>
|
||||
@@ -624,11 +624,11 @@ function triggerDR() {
|
||||
if (input.value !== 'RESET') {
|
||||
var result = document.getElementById('btn-dr-trigger-result');
|
||||
result.className = 'debug-result debug-result-error';
|
||||
result.textContent = 'Írja be: RESET';
|
||||
result.textContent = 'Írd be: RESET';
|
||||
return;
|
||||
}
|
||||
var btn = document.getElementById('btn-dr-trigger');
|
||||
felhomConfirm(btn, 'FIGYELEM! Ez újraindítja a controllert setup módba. Biztosan folytatja?', function () {
|
||||
felhomConfirm(btn, 'FIGYELEM! Ez újraindítja a controllert setup módba. Biztosan folytatod?', function () {
|
||||
var result = document.getElementById('btn-dr-trigger-result');
|
||||
btn.disabled = true;
|
||||
btn.textContent = 'Folyamatban...';
|
||||
|
||||
+1
-1
@@ -1207,7 +1207,7 @@ document.getElementById('deploy-form').addEventListener('submit', async function
|
||||
for (const pf of passwordFields) {
|
||||
if (!pf.disabled && pf.value.trim() === '') {
|
||||
const label = pf.closest('.form-group').querySelector('label').textContent.trim();
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználja a Generálás gombot vagy írjon be egy jelszót.');
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználd a Generálás gombot vagy írj be egy jelszót.');
|
||||
pf.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1210,7 +1210,7 @@ document.getElementById('deploy-form').addEventListener('submit', async function
|
||||
for (const pf of passwordFields) {
|
||||
if (!pf.disabled && pf.value.trim() === '') {
|
||||
const label = pf.closest('.form-group').querySelector('label').textContent.trim();
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználja a Generálás gombot vagy írjon be egy jelszót.');
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználd a Generálás gombot vagy írj be egy jelszót.');
|
||||
pf.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -623,7 +623,7 @@
|
||||
<div class="alert alert-warning" style="margin-bottom:1rem">
|
||||
<svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg> Nincs elég szabad tárhely a telepítéshez. Jelenleg 1 GB szabad, és a rendszer
|
||||
5 GB tartalékot tart fenn az alapszolgáltatások (vezérlő, proxy) védelmében.
|
||||
A telepítés ezért átmenetileg le van tiltva — szabadítson fel helyet, vagy bővítse a tárhelyet.
|
||||
A telepítés ezért átmenetileg le van tiltva — szabadíts fel helyet, vagy bővítsd a tárhelyet.
|
||||
</div>
|
||||
|
||||
|
||||
@@ -778,7 +778,7 @@
|
||||
placeholder="/mnt/valahol"
|
||||
required
|
||||
disabled>
|
||||
<span class="form-hint" style="color:var(--warn)">Nincs regisztrált adattároló — adja meg kézzel az útvonalat</span>
|
||||
<span class="form-hint" style="color:var(--warn)">Nincs regisztrált adattároló — add meg kézzel az útvonalat</span>
|
||||
|
||||
|
||||
|
||||
@@ -1137,7 +1137,7 @@ document.getElementById('deploy-form').addEventListener('submit', async function
|
||||
for (const pf of passwordFields) {
|
||||
if (!pf.disabled && pf.value.trim() === '') {
|
||||
const label = pf.closest('.form-group').querySelector('label').textContent.trim();
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználja a Generálás gombot vagy írjon be egy jelszót.');
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználd a Generálás gombot vagy írj be egy jelszót.');
|
||||
pf.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -636,7 +636,7 @@
|
||||
<div class="form-section">
|
||||
<h4>Automatikusan generált értékek</h4>
|
||||
|
||||
<p class="form-section-desc">Ezek az értékek a telepítéssel együtt mentésre kerülnek. Jegyezze fel a szükséges jelszavakat!</p>
|
||||
<p class="form-section-desc">Ezek az értékek a telepítéssel együtt mentésre kerülnek. Jegyezd fel a szükséges jelszavakat!</p>
|
||||
|
||||
|
||||
|
||||
@@ -1189,7 +1189,7 @@ document.getElementById('deploy-form').addEventListener('submit', async function
|
||||
for (const pf of passwordFields) {
|
||||
if (!pf.disabled && pf.value.trim() === '') {
|
||||
const label = pf.closest('.form-group').querySelector('label').textContent.trim();
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználja a Generálás gombot vagy írjon be egy jelszót.');
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználd a Generálás gombot vagy írj be egy jelszót.');
|
||||
pf.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -606,14 +606,14 @@
|
||||
<div class="alert alert-warning" style="margin-bottom:1rem">
|
||||
<svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg> Nincs elég szabad tárhely a telepítéshez. Jelenleg 1 GB szabad, és a rendszer
|
||||
5 GB tartalékot tart fenn az alapszolgáltatások (vezérlő, proxy) védelmében.
|
||||
A telepítés ezért átmenetileg le van tiltva — szabadítson fel helyet, vagy bővítse a tárhelyet.
|
||||
A telepítés ezért átmenetileg le van tiltva — szabadíts fel helyet, vagy bővítsd a tárhelyet.
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-section">
|
||||
<h4>Automatikusan generált értékek</h4>
|
||||
|
||||
<p class="form-section-desc">Ezek az értékek a telepítéssel együtt mentésre kerülnek. Jegyezze fel a szükséges jelszavakat!</p>
|
||||
<p class="form-section-desc">Ezek az értékek a telepítéssel együtt mentésre kerülnek. Jegyezd fel a szükséges jelszavakat!</p>
|
||||
|
||||
|
||||
|
||||
@@ -774,7 +774,7 @@
|
||||
placeholder="/mnt/valahol"
|
||||
required
|
||||
>
|
||||
<span class="form-hint" style="color:var(--warn)">Nincs regisztrált adattároló — adja meg kézzel az útvonalat</span>
|
||||
<span class="form-hint" style="color:var(--warn)">Nincs regisztrált adattároló — add meg kézzel az útvonalat</span>
|
||||
|
||||
|
||||
|
||||
@@ -1138,7 +1138,7 @@ document.getElementById('deploy-form').addEventListener('submit', async function
|
||||
for (const pf of passwordFields) {
|
||||
if (!pf.disabled && pf.value.trim() === '') {
|
||||
const label = pf.closest('.form-group').querySelector('label').textContent.trim();
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználja a Generálás gombot vagy írjon be egy jelszót.');
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználd a Generálás gombot vagy írj be egy jelszót.');
|
||||
pf.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
+2
-2
@@ -613,7 +613,7 @@
|
||||
<div class="form-section">
|
||||
<h4>Automatikusan generált értékek</h4>
|
||||
|
||||
<p class="form-section-desc">Ezek az értékek a telepítéssel együtt mentésre kerülnek. Jegyezze fel a szükséges jelszavakat!</p>
|
||||
<p class="form-section-desc">Ezek az értékek a telepítéssel együtt mentésre kerülnek. Jegyezd fel a szükséges jelszavakat!</p>
|
||||
|
||||
|
||||
|
||||
@@ -1168,7 +1168,7 @@ document.getElementById('deploy-form').addEventListener('submit', async function
|
||||
for (const pf of passwordFields) {
|
||||
if (!pf.disabled && pf.value.trim() === '') {
|
||||
const label = pf.closest('.form-group').querySelector('label').textContent.trim();
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználja a Generálás gombot vagy írjon be egy jelszót.');
|
||||
showAlert('Kötelező mező: ' + label + '\nHasználd a Generálás gombot vagy írj be egy jelszót.');
|
||||
pf.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
</div>
|
||||
|
||||
|
||||
<div class="alert alert-info">A funkcióhoz az ügynök frissítése szükséges — a frissítés automatikusan megérkezik. Próbálja újra később.</div>
|
||||
<div class="alert alert-info">A funkcióhoz az ügynök frissítése szükséges — a frissítés automatikusan megérkezik. Próbáld újra később.</div>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
<div class="form-group">
|
||||
<label for="current_password">Jelenlegi jelszó</label>
|
||||
<input type="password" id="current_password" name="current_password" required
|
||||
placeholder="Adja meg a jelenlegi jelszavát" class="form-control">
|
||||
placeholder="Add meg a jelenlegi jelszavad" class="form-control">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="new_password">Új jelszó</label>
|
||||
@@ -346,7 +346,7 @@ function openDialog(opts){
|
||||
window.removeCountry = function(code) {
|
||||
if (code === 'HU') {
|
||||
openDialog({title:'Figyelem', confirmLabel:'Eltávolítás',
|
||||
message:'Figyelem: Magyarország eltávolítása azt jelenti, hogy magyar IP-ről sem lesz elérhető a rendszer távolról. Biztosan folytatja?',
|
||||
message:'Figyelem: Magyarország eltávolítása azt jelenti, hogy magyar IP-ről sem lesz elérhető a rendszer távolról. Biztosan folytatod?',
|
||||
onConfirm:function(){ doRemoveCountry(code); }});
|
||||
return;
|
||||
}
|
||||
@@ -405,7 +405,7 @@ function openDialog(opts){
|
||||
if (idx >= 0) {
|
||||
if (code === 'HU') {
|
||||
openDialog({title:'Figyelem', confirmLabel:'Eltávolítás',
|
||||
message:'Magyarország eltávolítása nem ajánlott. Folytatja?',
|
||||
message:'Magyarország eltávolítása nem ajánlott. Folytatod?',
|
||||
onConfirm:function(){ ov.allowed_countries.splice(ov.allowed_countries.indexOf(code), 1); },
|
||||
onCancel:function(){ el.checked = true; }});
|
||||
return;
|
||||
@@ -624,7 +624,7 @@ function openDialog(opts){
|
||||
<div class="settings-card">
|
||||
<h3>Vészhelyzeti információk</h3>
|
||||
<p class="settings-card-desc">
|
||||
Ezeket az adatokat mentse el biztos helyre. Újratelepítés esetén szükség lesz rájuk a rendszer visszaállításához.
|
||||
Ezeket az adatokat mentsd el biztos helyre. Újratelepítés esetén szükség lesz rájuk a rendszer visszaállításához.
|
||||
</p>
|
||||
<div class="settings-grid">
|
||||
<div class="settings-row">
|
||||
|
||||
@@ -277,7 +277,7 @@ function openDialog(opts){
|
||||
window.removeCountry = function(code) {
|
||||
if (code === 'HU') {
|
||||
openDialog({title:'Figyelem', confirmLabel:'Eltávolítás',
|
||||
message:'Figyelem: Magyarország eltávolítása azt jelenti, hogy magyar IP-ről sem lesz elérhető a rendszer távolról. Biztosan folytatja?',
|
||||
message:'Figyelem: Magyarország eltávolítása azt jelenti, hogy magyar IP-ről sem lesz elérhető a rendszer távolról. Biztosan folytatod?',
|
||||
onConfirm:function(){ doRemoveCountry(code); }});
|
||||
return;
|
||||
}
|
||||
@@ -336,7 +336,7 @@ function openDialog(opts){
|
||||
if (idx >= 0) {
|
||||
if (code === 'HU') {
|
||||
openDialog({title:'Figyelem', confirmLabel:'Eltávolítás',
|
||||
message:'Magyarország eltávolítása nem ajánlott. Folytatja?',
|
||||
message:'Magyarország eltávolítása nem ajánlott. Folytatod?',
|
||||
onConfirm:function(){ ov.allowed_countries.splice(ov.allowed_countries.indexOf(code), 1); },
|
||||
onCancel:function(){ el.checked = true; }});
|
||||
return;
|
||||
|
||||
@@ -465,8 +465,8 @@ function pollUntilBack() {
|
||||
<div class="settings-card">
|
||||
<h3>Vezérlő újraindítása</h3>
|
||||
<p class="settings-card-desc">
|
||||
Ha a vezérlő hibásan működik, itt biztonságosan újraindíthatja — nem kell az egész szervert újraindítani.
|
||||
Az alkalmazásai futnak tovább; csak a vezérlő indul újra (néhány másodperc).
|
||||
Ha a vezérlő hibásan működik, itt biztonságosan újraindíthatod — nem kell az egész szervert újraindítani.
|
||||
Az alkalmazásaid futnak tovább; csak a vezérlő indul újra (néhány másodperc).
|
||||
</p>
|
||||
<div id="restart-status"></div>
|
||||
<button type="button" class="btn btn-outline" id="btn-restart-controller" onclick="restartController()">Vezérlő újraindítása</button>
|
||||
@@ -476,7 +476,7 @@ function pollUntilBack() {
|
||||
<div class="settings-card">
|
||||
<h3>Kiszolgáló újraindítása</h3>
|
||||
<p class="settings-card-desc">
|
||||
Az egész kiszolgáló (szerver) újraindítása. Minden alkalmazás rövid időre leáll, és a vezérlőpult kb. 30 másodpercig nem elérhető. Akkor használja, ha a teljes rendszer újraindítására van szükség — egyébként a fenti „Vezérlő újraindítása” elegendő.
|
||||
Az egész kiszolgáló (szerver) újraindítása. Minden alkalmazás rövid időre leáll, és a vezérlőpult kb. 30 másodpercig nem elérhető. Akkor használd, ha a teljes rendszer újraindítására van szükség — egyébként a fenti „Vezérlő újraindítása” elegendő.
|
||||
</p>
|
||||
<div id="server-restart-status"></div>
|
||||
<button type="button" class="btn btn-outline" id="btn-restart-server" onclick="restartServer()">Kiszolgáló újraindítása</button>
|
||||
@@ -485,7 +485,7 @@ function pollUntilBack() {
|
||||
<script>
|
||||
function restartController() {
|
||||
openDialog({title:'Vezérlő újraindítása', confirmLabel:'Újraindítás',
|
||||
message:'Biztosan újraindítja a vezérlőt? A művelet néhány másodpercig tart, és a felület rövid időre elérhetetlen lesz.',
|
||||
message:'Biztosan újraindítod a vezérlőt? A művelet néhány másodpercig tart, és a felület rövid időre elérhetetlen lesz.',
|
||||
onConfirm:doRestartController});
|
||||
}
|
||||
function doRestartController() {
|
||||
@@ -499,7 +499,7 @@ function doRestartController() {
|
||||
}
|
||||
function restartServer() {
|
||||
openDialog({title:'Kiszolgáló újraindítása', confirmLabel:'Újraindítás',
|
||||
message:'Biztosan újraindítja a kiszolgálót? Az alkalmazások és a vezérlőpult kb. 30 másodpercre elérhetetlenné válnak.',
|
||||
message:'Biztosan újraindítod a kiszolgálót? Az alkalmazások és a vezérlőpult kb. 30 másodpercre elérhetetlenné válnak.',
|
||||
onConfirm:doRestartServer});
|
||||
}
|
||||
function doRestartServer() {
|
||||
@@ -514,7 +514,7 @@ function doRestartServer() {
|
||||
function pollRestart(attempt) {
|
||||
if (attempt > 60) {
|
||||
document.getElementById('restart-status').innerHTML =
|
||||
'<div class="alert alert-error">Az újraindítás a vártnál tovább tart. Töltse újra az oldalt kézzel.</div>';
|
||||
'<div class="alert alert-error">Az újraindítás a vártnál tovább tart. Töltsd újra az oldalt kézzel.</div>';
|
||||
return;
|
||||
}
|
||||
setTimeout(function(){
|
||||
|
||||
@@ -529,8 +529,8 @@ pollUntilBack();
|
||||
<div class="settings-card">
|
||||
<h3>Vezérlő újraindítása</h3>
|
||||
<p class="settings-card-desc">
|
||||
Ha a vezérlő hibásan működik, itt biztonságosan újraindíthatja — nem kell az egész szervert újraindítani.
|
||||
Az alkalmazásai futnak tovább; csak a vezérlő indul újra (néhány másodperc).
|
||||
Ha a vezérlő hibásan működik, itt biztonságosan újraindíthatod — nem kell az egész szervert újraindítani.
|
||||
Az alkalmazásaid futnak tovább; csak a vezérlő indul újra (néhány másodperc).
|
||||
</p>
|
||||
<div id="restart-status"></div>
|
||||
<button type="button" class="btn btn-outline" id="btn-restart-controller" onclick="restartController()">Vezérlő újraindítása</button>
|
||||
@@ -540,7 +540,7 @@ pollUntilBack();
|
||||
<div class="settings-card">
|
||||
<h3>Kiszolgáló újraindítása</h3>
|
||||
<p class="settings-card-desc">
|
||||
Az egész kiszolgáló (szerver) újraindítása. Minden alkalmazás rövid időre leáll, és a vezérlőpult kb. 30 másodpercig nem elérhető. Akkor használja, ha a teljes rendszer újraindítására van szükség — egyébként a fenti „Vezérlő újraindítása” elegendő.
|
||||
Az egész kiszolgáló (szerver) újraindítása. Minden alkalmazás rövid időre leáll, és a vezérlőpult kb. 30 másodpercig nem elérhető. Akkor használd, ha a teljes rendszer újraindítására van szükség — egyébként a fenti „Vezérlő újraindítása” elegendő.
|
||||
</p>
|
||||
<div id="server-restart-status"></div>
|
||||
<button type="button" class="btn btn-outline" id="btn-restart-server" onclick="restartServer()">Kiszolgáló újraindítása</button>
|
||||
@@ -549,7 +549,7 @@ pollUntilBack();
|
||||
<script>
|
||||
function restartController() {
|
||||
openDialog({title:'Vezérlő újraindítása', confirmLabel:'Újraindítás',
|
||||
message:'Biztosan újraindítja a vezérlőt? A művelet néhány másodpercig tart, és a felület rövid időre elérhetetlen lesz.',
|
||||
message:'Biztosan újraindítod a vezérlőt? A művelet néhány másodpercig tart, és a felület rövid időre elérhetetlen lesz.',
|
||||
onConfirm:doRestartController});
|
||||
}
|
||||
function doRestartController() {
|
||||
@@ -563,7 +563,7 @@ function doRestartController() {
|
||||
}
|
||||
function restartServer() {
|
||||
openDialog({title:'Kiszolgáló újraindítása', confirmLabel:'Újraindítás',
|
||||
message:'Biztosan újraindítja a kiszolgálót? Az alkalmazások és a vezérlőpult kb. 30 másodpercre elérhetetlenné válnak.',
|
||||
message:'Biztosan újraindítod a kiszolgálót? Az alkalmazások és a vezérlőpult kb. 30 másodpercre elérhetetlenné válnak.',
|
||||
onConfirm:doRestartServer});
|
||||
}
|
||||
function doRestartServer() {
|
||||
@@ -578,7 +578,7 @@ function doRestartServer() {
|
||||
function pollRestart(attempt) {
|
||||
if (attempt > 60) {
|
||||
document.getElementById('restart-status').innerHTML =
|
||||
'<div class="alert alert-error">Az újraindítás a vártnál tovább tart. Töltse újra az oldalt kézzel.</div>';
|
||||
'<div class="alert alert-error">Az újraindítás a vártnál tovább tart. Töltsd újra az oldalt kézzel.</div>';
|
||||
return;
|
||||
}
|
||||
setTimeout(function(){
|
||||
|
||||
@@ -414,8 +414,8 @@ function pollUntilBack() {
|
||||
<div class="settings-card">
|
||||
<h3>Vezérlő újraindítása</h3>
|
||||
<p class="settings-card-desc">
|
||||
Ha a vezérlő hibásan működik, itt biztonságosan újraindíthatja — nem kell az egész szervert újraindítani.
|
||||
Az alkalmazásai futnak tovább; csak a vezérlő indul újra (néhány másodperc).
|
||||
Ha a vezérlő hibásan működik, itt biztonságosan újraindíthatod — nem kell az egész szervert újraindítani.
|
||||
Az alkalmazásaid futnak tovább; csak a vezérlő indul újra (néhány másodperc).
|
||||
</p>
|
||||
<div id="restart-status"></div>
|
||||
<button type="button" class="btn btn-outline" id="btn-restart-controller" onclick="restartController()">Vezérlő újraindítása</button>
|
||||
@@ -425,7 +425,7 @@ function pollUntilBack() {
|
||||
<div class="settings-card">
|
||||
<h3>Kiszolgáló újraindítása</h3>
|
||||
<p class="settings-card-desc">
|
||||
Az egész kiszolgáló (szerver) újraindítása. Minden alkalmazás rövid időre leáll, és a vezérlőpult kb. 30 másodpercig nem elérhető. Akkor használja, ha a teljes rendszer újraindítására van szükség — egyébként a fenti „Vezérlő újraindítása” elegendő.
|
||||
Az egész kiszolgáló (szerver) újraindítása. Minden alkalmazás rövid időre leáll, és a vezérlőpult kb. 30 másodpercig nem elérhető. Akkor használd, ha a teljes rendszer újraindítására van szükség — egyébként a fenti „Vezérlő újraindítása” elegendő.
|
||||
</p>
|
||||
<div id="server-restart-status"></div>
|
||||
<button type="button" class="btn btn-outline" id="btn-restart-server" onclick="restartServer()">Kiszolgáló újraindítása</button>
|
||||
@@ -434,7 +434,7 @@ function pollUntilBack() {
|
||||
<script>
|
||||
function restartController() {
|
||||
openDialog({title:'Vezérlő újraindítása', confirmLabel:'Újraindítás',
|
||||
message:'Biztosan újraindítja a vezérlőt? A művelet néhány másodpercig tart, és a felület rövid időre elérhetetlen lesz.',
|
||||
message:'Biztosan újraindítod a vezérlőt? A művelet néhány másodpercig tart, és a felület rövid időre elérhetetlen lesz.',
|
||||
onConfirm:doRestartController});
|
||||
}
|
||||
function doRestartController() {
|
||||
@@ -448,7 +448,7 @@ function doRestartController() {
|
||||
}
|
||||
function restartServer() {
|
||||
openDialog({title:'Kiszolgáló újraindítása', confirmLabel:'Újraindítás',
|
||||
message:'Biztosan újraindítja a kiszolgálót? Az alkalmazások és a vezérlőpult kb. 30 másodpercre elérhetetlenné válnak.',
|
||||
message:'Biztosan újraindítod a kiszolgálót? Az alkalmazások és a vezérlőpult kb. 30 másodpercre elérhetetlenné válnak.',
|
||||
onConfirm:doRestartServer});
|
||||
}
|
||||
function doRestartServer() {
|
||||
@@ -463,7 +463,7 @@ function doRestartServer() {
|
||||
function pollRestart(attempt) {
|
||||
if (attempt > 60) {
|
||||
document.getElementById('restart-status').innerHTML =
|
||||
'<div class="alert alert-error">Az újraindítás a vártnál tovább tart. Töltse újra az oldalt kézzel.</div>';
|
||||
'<div class="alert alert-error">Az újraindítás a vártnál tovább tart. Töltsd újra az oldalt kézzel.</div>';
|
||||
return;
|
||||
}
|
||||
setTimeout(function(){
|
||||
|
||||
@@ -455,8 +455,8 @@ function pollUntilBack() {
|
||||
<div class="settings-card">
|
||||
<h3>Vezérlő újraindítása</h3>
|
||||
<p class="settings-card-desc">
|
||||
Ha a vezérlő hibásan működik, itt biztonságosan újraindíthatja — nem kell az egész szervert újraindítani.
|
||||
Az alkalmazásai futnak tovább; csak a vezérlő indul újra (néhány másodperc).
|
||||
Ha a vezérlő hibásan működik, itt biztonságosan újraindíthatod — nem kell az egész szervert újraindítani.
|
||||
Az alkalmazásaid futnak tovább; csak a vezérlő indul újra (néhány másodperc).
|
||||
</p>
|
||||
<div id="restart-status"></div>
|
||||
<button type="button" class="btn btn-outline" id="btn-restart-controller" onclick="restartController()">Vezérlő újraindítása</button>
|
||||
@@ -466,7 +466,7 @@ function pollUntilBack() {
|
||||
<div class="settings-card">
|
||||
<h3>Kiszolgáló újraindítása</h3>
|
||||
<p class="settings-card-desc">
|
||||
Az egész kiszolgáló (szerver) újraindítása. Minden alkalmazás rövid időre leáll, és a vezérlőpult kb. 30 másodpercig nem elérhető. Akkor használja, ha a teljes rendszer újraindítására van szükség — egyébként a fenti „Vezérlő újraindítása” elegendő.
|
||||
Az egész kiszolgáló (szerver) újraindítása. Minden alkalmazás rövid időre leáll, és a vezérlőpult kb. 30 másodpercig nem elérhető. Akkor használd, ha a teljes rendszer újraindítására van szükség — egyébként a fenti „Vezérlő újraindítása” elegendő.
|
||||
</p>
|
||||
<div id="server-restart-status"></div>
|
||||
<button type="button" class="btn btn-outline" id="btn-restart-server" onclick="restartServer()">Kiszolgáló újraindítása</button>
|
||||
@@ -475,7 +475,7 @@ function pollUntilBack() {
|
||||
<script>
|
||||
function restartController() {
|
||||
openDialog({title:'Vezérlő újraindítása', confirmLabel:'Újraindítás',
|
||||
message:'Biztosan újraindítja a vezérlőt? A művelet néhány másodpercig tart, és a felület rövid időre elérhetetlen lesz.',
|
||||
message:'Biztosan újraindítod a vezérlőt? A művelet néhány másodpercig tart, és a felület rövid időre elérhetetlen lesz.',
|
||||
onConfirm:doRestartController});
|
||||
}
|
||||
function doRestartController() {
|
||||
@@ -489,7 +489,7 @@ function doRestartController() {
|
||||
}
|
||||
function restartServer() {
|
||||
openDialog({title:'Kiszolgáló újraindítása', confirmLabel:'Újraindítás',
|
||||
message:'Biztosan újraindítja a kiszolgálót? Az alkalmazások és a vezérlőpult kb. 30 másodpercre elérhetetlenné válnak.',
|
||||
message:'Biztosan újraindítod a kiszolgálót? Az alkalmazások és a vezérlőpult kb. 30 másodpercre elérhetetlenné válnak.',
|
||||
onConfirm:doRestartServer});
|
||||
}
|
||||
function doRestartServer() {
|
||||
@@ -504,7 +504,7 @@ function doRestartServer() {
|
||||
function pollRestart(attempt) {
|
||||
if (attempt > 60) {
|
||||
document.getElementById('restart-status').innerHTML =
|
||||
'<div class="alert alert-error">Az újraindítás a vártnál tovább tart. Töltse újra az oldalt kézzel.</div>';
|
||||
'<div class="alert alert-error">Az újraindítás a vártnál tovább tart. Töltsd újra az oldalt kézzel.</div>';
|
||||
return;
|
||||
}
|
||||
setTimeout(function(){
|
||||
|
||||
@@ -518,7 +518,7 @@
|
||||
|
||||
|
||||
<span class="tag tag-warn" title="Az alkalmazás adattárolója nem elérhető. Csatlakoztasd újra a meghajtót, vagy helyezd át az adatokat."><svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg>Hiányzó tárhely: HDD egy</span>
|
||||
<span class="tag tag-warn" title="Az alkalmazás környezetében a hálózati tárhely helyén üres helyi könyvtár van — az adatok nem a NAS-ra kerülnek. Jelezze az üzemeltetőnek."><svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg>Hálózati tárhely hibás — az alkalmazás nem a NAS-t látja</span>
|
||||
<span class="tag tag-warn" title="Az alkalmazás környezetében a hálózati tárhely helyén üres helyi könyvtár van — az adatok nem a NAS-ra kerülnek. Jelezd az üzemeltetőnek."><svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg>Hálózati tárhely hibás — az alkalmazás nem a NAS-t látja</span>
|
||||
<span class="tag tag-warn" title="A hálózati tárhely (NAS) jelenleg nem érhető el. Az alkalmazás fut; az adatok elérése a NAS visszatértével helyreáll."><svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg>Hálózati tárhely nem elérhető: NAS egy</span>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -236,7 +236,7 @@ async function loadDisks(){
|
||||
var r = await fetch('/api/disks/candidates'); var j = await r.json();
|
||||
if(!j.ok){ throw new Error(j.error||'Hiba'); }
|
||||
var cands = (j.data&&j.data.attach)||[];
|
||||
if(cands.length===0){ document.getElementById('disk-list').innerHTML='<p class="form-hint">Nincs csatolható meghajtó — a csatoláshoz olyan (még nem használt) meghajtó kell, amelyen már van fájlrendszer. Új, üres meghajtóhoz használja az „Inicializálás” lehetőséget.</p>'; return; }
|
||||
if(cands.length===0){ document.getElementById('disk-list').innerHTML='<p class="form-hint">Nincs csatolható meghajtó — a csatoláshoz olyan (még nem használt) meghajtó kell, amelyen már van fájlrendszer. Új, üres meghajtóhoz használd az „Inicializálás” lehetőséget.</p>'; return; }
|
||||
var html='<div class="drive-list">';
|
||||
cands.forEach(function(d,i){
|
||||
var title = d.model ? esc(d.model) : esc(d.device);
|
||||
|
||||
@@ -412,7 +412,7 @@ window.__registeredPaths=[];
|
||||
+'<div class="alert alert-warning">'+esc(opts.danger)+'</div>'
|
||||
+appsHtml
|
||||
+copiesHtml
|
||||
+'<div class="confirm-input"><label>Megerősítéshez írja be a csatlakoztatási nevet: <strong class="mono">'+esc(opts.mountName)+'</strong></label>'
|
||||
+'<div class="confirm-input"><label>Megerősítéshez írd be a csatlakoztatási nevet: <strong class="mono">'+esc(opts.mountName)+'</strong></label>'
|
||||
+'<input type="text" id="confirm-type" class="form-control" autocomplete="off" placeholder="'+esc(opts.mountName)+'" oninput="document.getElementById(\'confirm-go\').disabled=(this.value!==\''+esc(opts.mountName)+'\')"></div>'
|
||||
+'<div class="form-actions"><button id="confirm-go" class="btn btn-danger-outline" disabled>Megerősítés</button>'
|
||||
+'<button class="btn btn-outline" onclick="__closeConfirm()">Mégsem</button></div>'
|
||||
@@ -434,7 +434,7 @@ window.__registeredPaths=[];
|
||||
|
||||
var name=where.split('/').filter(Boolean).pop()||where;
|
||||
openConfirm({title:'Meghajtó leválasztása', mount:where, mountName:name,
|
||||
danger:'A meghajtó leválasztásra kerül. Az adatok megmaradnak, de az ott tárolt alkalmazások elvesztik a tárhelyüket, amíg újra nem csatolja.',
|
||||
danger:'A meghajtó leválasztásra kerül. Az adatok megmaradnak, de az ott tárolt alkalmazások elvesztik a tárhelyüket, amíg újra nem csatolod.',
|
||||
onConfirm:async function(){
|
||||
var out=document.getElementById('confirm-result'); out.innerHTML='<p class="form-hint">Leválasztás folyamatban…</p>';
|
||||
try{
|
||||
@@ -500,7 +500,7 @@ function openDialog(opts){
|
||||
+'<h3>'+escText(opts.title||'Megerősítés')+'</h3>'
|
||||
+'<p style="white-space:pre-line">'+escText(opts.message||'')+'</p>';
|
||||
if(typeGate){
|
||||
html+='<div class="confirm-input"><label>Megerősítéshez írja be: <strong class="mono">'+escText(typeGate)+'</strong></label>'
|
||||
html+='<div class="confirm-input"><label>Megerősítéshez írd be: <strong class="mono">'+escText(typeGate)+'</strong></label>'
|
||||
+'<input type="text" id="dialog-type" class="form-control" autocomplete="off" placeholder="'+escText(typeGate)+'"></div>';
|
||||
}
|
||||
html+='<div class="form-actions"><button id="dialog-go" class="btn '+(typeGate?'btn-danger-outline':'btn-primary')+'"'+(typeGate?' disabled':'')+'>'+escText(opts.confirmLabel||'Megerősítés')+'</button>'
|
||||
@@ -535,7 +535,7 @@ function editStorageLabel(path, currentLabel) {
|
||||
wrap.querySelector('input[name=storage_label]').focus();
|
||||
}
|
||||
function storageDisconnect(path, label, appCount) {
|
||||
var msg = 'Biztos leválasztja a meghajtót: ' + label + '?';
|
||||
var msg = 'Biztosan leválasztod a meghajtót: ' + label + '?';
|
||||
if (appCount > 0) msg += '\n\nA rajta futó ' + appCount + ' alkalmazás le fog állni.';
|
||||
msg += '\n\nA meghajtó ezután biztonságosan eltávolítható.';
|
||||
openDialog({title:'Meghajtó leválasztása', message:msg, confirmLabel:'Leválasztás', onConfirm:function(){ doStorageDisconnect(path); }});
|
||||
@@ -600,7 +600,7 @@ function storageDecommission(path, label, appCount) {
|
||||
} else {
|
||||
var name = path.split('/').pop();
|
||||
openDialog({title:'Meghajtó leszerelése', confirmLabel:'Leszerelés', typeToConfirm:name,
|
||||
message:'A(z) ' + label + ' leszereléséhez (áthelyezés nélkül) írja be a meghajtó nevét megerősítésként.' +
|
||||
message:'A(z) ' + label + ' leszereléséhez (áthelyezés nélkül) írd be a meghajtó nevét megerősítésként.' +
|
||||
(appCount > 0 ? '\n\nFIGYELEM: ' + appCount + ' alkalmazás leáll (az adatok megmaradnak).' : ''),
|
||||
onConfirm:function(){ doStorageDecommission({where: path, mode: 'anyway', mount_name: name}); }});
|
||||
}
|
||||
@@ -619,7 +619,7 @@ function doStorageDecommission(body) {
|
||||
|
||||
function storageReEnroll(path, label) {
|
||||
openDialog({title:'Visszacsatlakoztatás', confirmLabel:'Visszacsatlakoztatás',
|
||||
message:'Visszacsatlakoztatja a(z) ' + label + ' meghajtót?\n\nAz adatok érintetlenek; a leállított alkalmazások újraindulnak.',
|
||||
message:'Visszacsatlakoztatod a(z) ' + label + ' meghajtót?\n\nAz adatok érintetlenek; a leállított alkalmazások újraindulnak.',
|
||||
onConfirm:function(){ doStorageReEnroll(path); }});
|
||||
}
|
||||
function doStorageReEnroll(path) {
|
||||
|
||||
@@ -238,7 +238,7 @@
|
||||
<div class="storage-path-actions">
|
||||
<button class="btn btn-xs btn-primary" onclick="storageReEnroll('\/mnt\/old','Régi lemez kettő')">Visszacsatlakoztatás</button>
|
||||
<form method="POST" action="/settings/storage/remove" style="display:inline"
|
||||
onsubmit="return storageRemoveDialog(event, this, 'Biztosan eltávolítja a(z) Régi lemez kettő (\/mnt\/old) meghajtót a rendszerből?\n\nA meghajtó adatai NEM törlődnek.')">
|
||||
onsubmit="return storageRemoveDialog(event, this, 'Biztosan eltávolítod a(z) Régi lemez kettő (\/mnt\/old) meghajtót a rendszerből?\n\nA meghajtó adatai NEM törlődnek.')">
|
||||
|
||||
<input type="hidden" name="storage_path" value="/mnt/old">
|
||||
<button type="submit" class="btn btn-xs btn-outline">Eltávolítás a rendszerből</button>
|
||||
@@ -405,7 +405,7 @@
|
||||
|
||||
|
||||
<form method="POST" action="/settings/storage/remove" style="display:inline"
|
||||
onsubmit="return storageRemoveDialog(event, this, 'Biztosan eltávolítja a(z) \/mnt\/hdd2 adattárolót?')">
|
||||
onsubmit="return storageRemoveDialog(event, this, 'Biztosan eltávolítod a(z) \/mnt\/hdd2 adattárolót?')">
|
||||
|
||||
<input type="hidden" name="storage_path" value="/mnt/hdd2">
|
||||
<button type="submit" class="btn btn-xs btn-danger-outline" title="Csak a nyilvántartásból törli a meghajtót — az adatok és a fájlrendszer érintetlenül maradnak.">Eltávolítás a listából</button>
|
||||
@@ -712,7 +712,7 @@ window.__registeredPaths=["\/mnt\/usb1","\/mnt\/old","\/mnt\/hdd1","\/mnt\/hdd2"
|
||||
+'<div class="alert alert-warning">'+esc(opts.danger)+'</div>'
|
||||
+appsHtml
|
||||
+copiesHtml
|
||||
+'<div class="confirm-input"><label>Megerősítéshez írja be a csatlakoztatási nevet: <strong class="mono">'+esc(opts.mountName)+'</strong></label>'
|
||||
+'<div class="confirm-input"><label>Megerősítéshez írd be a csatlakoztatási nevet: <strong class="mono">'+esc(opts.mountName)+'</strong></label>'
|
||||
+'<input type="text" id="confirm-type" class="form-control" autocomplete="off" placeholder="'+esc(opts.mountName)+'" oninput="document.getElementById(\'confirm-go\').disabled=(this.value!==\''+esc(opts.mountName)+'\')"></div>'
|
||||
+'<div class="form-actions"><button id="confirm-go" class="btn btn-danger-outline" disabled>Megerősítés</button>'
|
||||
+'<button class="btn btn-outline" onclick="__closeConfirm()">Mégsem</button></div>'
|
||||
@@ -734,7 +734,7 @@ window.__registeredPaths=["\/mnt\/usb1","\/mnt\/old","\/mnt\/hdd1","\/mnt\/hdd2"
|
||||
|
||||
var name=where.split('/').filter(Boolean).pop()||where;
|
||||
openConfirm({title:'Meghajtó leválasztása', mount:where, mountName:name,
|
||||
danger:'A meghajtó leválasztásra kerül. Az adatok megmaradnak, de az ott tárolt alkalmazások elvesztik a tárhelyüket, amíg újra nem csatolja.',
|
||||
danger:'A meghajtó leválasztásra kerül. Az adatok megmaradnak, de az ott tárolt alkalmazások elvesztik a tárhelyüket, amíg újra nem csatolod.',
|
||||
onConfirm:async function(){
|
||||
var out=document.getElementById('confirm-result'); out.innerHTML='<p class="form-hint">Leválasztás folyamatban…</p>';
|
||||
try{
|
||||
@@ -800,7 +800,7 @@ function openDialog(opts){
|
||||
+'<h3>'+escText(opts.title||'Megerősítés')+'</h3>'
|
||||
+'<p style="white-space:pre-line">'+escText(opts.message||'')+'</p>';
|
||||
if(typeGate){
|
||||
html+='<div class="confirm-input"><label>Megerősítéshez írja be: <strong class="mono">'+escText(typeGate)+'</strong></label>'
|
||||
html+='<div class="confirm-input"><label>Megerősítéshez írd be: <strong class="mono">'+escText(typeGate)+'</strong></label>'
|
||||
+'<input type="text" id="dialog-type" class="form-control" autocomplete="off" placeholder="'+escText(typeGate)+'"></div>';
|
||||
}
|
||||
html+='<div class="form-actions"><button id="dialog-go" class="btn '+(typeGate?'btn-danger-outline':'btn-primary')+'"'+(typeGate?' disabled':'')+'>'+escText(opts.confirmLabel||'Megerősítés')+'</button>'
|
||||
@@ -835,7 +835,7 @@ function editStorageLabel(path, currentLabel) {
|
||||
wrap.querySelector('input[name=storage_label]').focus();
|
||||
}
|
||||
function storageDisconnect(path, label, appCount) {
|
||||
var msg = 'Biztos leválasztja a meghajtót: ' + label + '?';
|
||||
var msg = 'Biztosan leválasztod a meghajtót: ' + label + '?';
|
||||
if (appCount > 0) msg += '\n\nA rajta futó ' + appCount + ' alkalmazás le fog állni.';
|
||||
msg += '\n\nA meghajtó ezután biztonságosan eltávolítható.';
|
||||
openDialog({title:'Meghajtó leválasztása', message:msg, confirmLabel:'Leválasztás', onConfirm:function(){ doStorageDisconnect(path); }});
|
||||
@@ -900,7 +900,7 @@ function storageDecommission(path, label, appCount) {
|
||||
} else {
|
||||
var name = path.split('/').pop();
|
||||
openDialog({title:'Meghajtó leszerelése', confirmLabel:'Leszerelés', typeToConfirm:name,
|
||||
message:'A(z) ' + label + ' leszereléséhez (áthelyezés nélkül) írja be a meghajtó nevét megerősítésként.' +
|
||||
message:'A(z) ' + label + ' leszereléséhez (áthelyezés nélkül) írd be a meghajtó nevét megerősítésként.' +
|
||||
(appCount > 0 ? '\n\nFIGYELEM: ' + appCount + ' alkalmazás leáll (az adatok megmaradnak).' : ''),
|
||||
onConfirm:function(){ doStorageDecommission({where: path, mode: 'anyway', mount_name: name}); }});
|
||||
}
|
||||
@@ -919,7 +919,7 @@ function doStorageDecommission(body) {
|
||||
|
||||
function storageReEnroll(path, label) {
|
||||
openDialog({title:'Visszacsatlakoztatás', confirmLabel:'Visszacsatlakoztatás',
|
||||
message:'Visszacsatlakoztatja a(z) ' + label + ' meghajtót?\n\nAz adatok érintetlenek; a leállított alkalmazások újraindulnak.',
|
||||
message:'Visszacsatlakoztatod a(z) ' + label + ' meghajtót?\n\nAz adatok érintetlenek; a leállított alkalmazások újraindulnak.',
|
||||
onConfirm:function(){ doStorageReEnroll(path); }});
|
||||
}
|
||||
function doStorageReEnroll(path) {
|
||||
|
||||
@@ -216,7 +216,7 @@
|
||||
</label>
|
||||
<div class="alert alert-warning" id="warn-databearing" style="display:none;margin-bottom:1rem">
|
||||
<svg class="ico ico-sm"><use href="#i-triangle-alert"/></svg> A kiválasztott meghajtó <strong>adatot tartalmaz</strong>. Az inicializálás (formázás) törli a rajta lévő
|
||||
összes adatot — a folytatáshoz meg kell erősítenie.
|
||||
összes adatot — a folytatáshoz meg kell erősítened.
|
||||
</div>
|
||||
<div class="form-actions" style="gap:.75rem">
|
||||
<button type="submit" class="btn btn-danger-outline" id="init-btn">Inicializálás indítása</button>
|
||||
@@ -341,7 +341,7 @@ async function submitInit(ev){
|
||||
function renderConfirm(durableId, out, btn){
|
||||
var name=document.getElementById('mount-name').value;
|
||||
out.innerHTML='<div class="alert alert-warning">A meghajtó adatot tartalmaz. A formázás <strong>véglegesen törli</strong> a rajta lévő összes adatot.</div>'
|
||||
+'<div class="confirm-input"><label>Megerősítéshez írja be a csatlakoztatási nevet: <strong class="mono">'+esc(name)+'</strong></label>'
|
||||
+'<div class="confirm-input"><label>Megerősítéshez írd be a csatlakoztatási nevet: <strong class="mono">'+esc(name)+'</strong></label>'
|
||||
+'<input type="text" id="init-confirm-type" class="form-control" autocomplete="off" oninput="document.getElementById(\'init-confirm-go\').disabled=(this.value!==\''+esc(name)+'\')"></div>'
|
||||
+'<div class="form-actions" style="gap:.6rem;margin-top:.75rem"><button id="init-confirm-go" class="btn btn-danger-outline" disabled>Törlés és inicializálás megerősítése</button></div>'
|
||||
+'<div id="init-confirm-result" style="margin-top:.6rem"></div>';
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<div class="storage-path-info">
|
||||
<span class="storage-path-label">NAS a</span>
|
||||
<span class="storage-path-path mono">nfs · nas.example:/export/a → /mnt/net/a</span>
|
||||
<span class="form-hint">A megosztás be van állítva a gazdagépen, de nincs regisztrálva — egy megszakadt csatlakoztatás maradványa. Távolítsa el, vagy adja hozzá újra ugyanezzel a névvel.</span>
|
||||
<span class="form-hint">A megosztás be van állítva a gazdagépen, de nincs regisztrálva — egy megszakadt csatlakoztatás maradványa. Távolítsd el, vagy add hozzá újra ugyanezzel a névvel.</span>
|
||||
</div>
|
||||
<div class="storage-path-badges">
|
||||
<span class="badge badge-warn" title="Beállítva a gazdagépen, de nincs regisztrálva">Árva</span>
|
||||
@@ -346,20 +346,20 @@
|
||||
<h3>Mit kell beállítani a NAS-on?</h3>
|
||||
<details>
|
||||
<summary>Útmutató megjelenítése</summary>
|
||||
<p>Engedélyezze a Felhom gép IP-címét a megosztáson. Proxmox-fürt esetén minden csomópont IP-címét.</p>
|
||||
<p>Engedélyezd a Felhom gép IP-címét a megosztáson. Proxmox-fürt esetén minden csomópont IP-címét.</p>
|
||||
<h4>SMB (Synology, QNAP — a legtöbb NAS)</h4>
|
||||
<p>Hozzon létre (vagy jelöljön ki) egy felhasználót a NAS-on, és adjon neki írás-olvasás jogot a
|
||||
<p>Hozz létre (vagy jelölj ki) egy felhasználót a NAS-on, és adj neki írás-olvasás jogot a
|
||||
megosztásra. Más beállítás nem szükséges — a fájlok a NAS-on ennek a felhasználónak a nevében
|
||||
jönnek létre.</p>
|
||||
<h4>NFS</h4>
|
||||
<p>Synology (DSM, ellenőrzött lépések): először kapcsolja be az NFS-t — Vezérlőpult → File
|
||||
Services → NFS fül → „Enable NFS service”, és állítsa a „Maximum NFS protocol” értékét
|
||||
<p>Synology (DSM, ellenőrzött lépések): először kapcsold be az NFS-t — Vezérlőpult → File
|
||||
Services → NFS fül → „Enable NFS service”, és állítsd a „Maximum NFS protocol” értékét
|
||||
NFSv4.1-re (az alapértelmezett NFSv3 nem elegendő a csatlakoztatáshoz). Ezután a megosztott
|
||||
mappa szerkesztésében az „NFS Permissions” fülön hozzon létre szabályt a Felhom gép
|
||||
mappa szerkesztésében az „NFS Permissions” fülön hozz létre szabályt a Felhom gép
|
||||
IP-címére, Read/Write jogosultsággal, a Squash mezőben a „Map all users to admin” opcióval.
|
||||
A megosztás elérési útja ugyanezen a fülön látható (pl. /volume1/<mappa>) — ez kerül a
|
||||
fenti „Megosztás” mezőbe.</p>
|
||||
<p>Egyszerű (más NAS-okhoz): kapcsolja be az exporton a „minden felhasználó leképezése” (map all
|
||||
<p>Egyszerű (más NAS-okhoz): kapcsold be az exporton a „minden felhasználó leképezése” (map all
|
||||
users / all squash) opciót írás-olvasás móddal — bármelyik helyi felhasználóra. A fájlok
|
||||
tulajdonosa a rendszerben „nobody”-ként látszik; az alkalmazások túlnyomó többségének ez megfelelő.</p>
|
||||
<p>Teljes értékű (TrueNAS / Linux szerver): export a következő opciókkal:
|
||||
@@ -452,7 +452,7 @@ function nsShowError(message, detail){
|
||||
|
||||
function netStorageRemove(name,label){
|
||||
openDialog({title:'Hálózati tárhely eltávolítása', confirmLabel:'Eltávolítás',
|
||||
message:'Biztosan eltávolítja a(z) '+label+' hálózati tárhelyet?\n\nA megosztás leválasztásra kerül; a NAS-on lévő adatok érintetlenek maradnak.',
|
||||
message:'Biztosan eltávolítod a(z) '+label+' hálózati tárhelyet?\n\nA megosztás leválasztásra kerül; a NAS-on lévő adatok érintetlenek maradnak.',
|
||||
onConfirm:function(){
|
||||
fetch('/api/storage/netstorage/remove',{method:'POST',headers:Object.assign({'Content-Type':'application/json'},csrfHeaders()),body:JSON.stringify({name:name})})
|
||||
.then(function(r){return r.json();}).then(function(d){
|
||||
|
||||
+7
-7
@@ -201,20 +201,20 @@
|
||||
<h3>Mit kell beállítani a NAS-on?</h3>
|
||||
<details>
|
||||
<summary>Útmutató megjelenítése</summary>
|
||||
<p>Engedélyezze a Felhom gép IP-címét a megosztáson. Proxmox-fürt esetén minden csomópont IP-címét.</p>
|
||||
<p>Engedélyezd a Felhom gép IP-címét a megosztáson. Proxmox-fürt esetén minden csomópont IP-címét.</p>
|
||||
<h4>SMB (Synology, QNAP — a legtöbb NAS)</h4>
|
||||
<p>Hozzon létre (vagy jelöljön ki) egy felhasználót a NAS-on, és adjon neki írás-olvasás jogot a
|
||||
<p>Hozz létre (vagy jelölj ki) egy felhasználót a NAS-on, és adj neki írás-olvasás jogot a
|
||||
megosztásra. Más beállítás nem szükséges — a fájlok a NAS-on ennek a felhasználónak a nevében
|
||||
jönnek létre.</p>
|
||||
<h4>NFS</h4>
|
||||
<p>Synology (DSM, ellenőrzött lépések): először kapcsolja be az NFS-t — Vezérlőpult → File
|
||||
Services → NFS fül → „Enable NFS service”, és állítsa a „Maximum NFS protocol” értékét
|
||||
<p>Synology (DSM, ellenőrzött lépések): először kapcsold be az NFS-t — Vezérlőpult → File
|
||||
Services → NFS fül → „Enable NFS service”, és állítsd a „Maximum NFS protocol” értékét
|
||||
NFSv4.1-re (az alapértelmezett NFSv3 nem elegendő a csatlakoztatáshoz). Ezután a megosztott
|
||||
mappa szerkesztésében az „NFS Permissions” fülön hozzon létre szabályt a Felhom gép
|
||||
mappa szerkesztésében az „NFS Permissions” fülön hozz létre szabályt a Felhom gép
|
||||
IP-címére, Read/Write jogosultsággal, a Squash mezőben a „Map all users to admin” opcióval.
|
||||
A megosztás elérési útja ugyanezen a fülön látható (pl. /volume1/<mappa>) — ez kerül a
|
||||
fenti „Megosztás” mezőbe.</p>
|
||||
<p>Egyszerű (más NAS-okhoz): kapcsolja be az exporton a „minden felhasználó leképezése” (map all
|
||||
<p>Egyszerű (más NAS-okhoz): kapcsold be az exporton a „minden felhasználó leképezése” (map all
|
||||
users / all squash) opciót írás-olvasás móddal — bármelyik helyi felhasználóra. A fájlok
|
||||
tulajdonosa a rendszerben „nobody”-ként látszik; az alkalmazások túlnyomó többségének ez megfelelő.</p>
|
||||
<p>Teljes értékű (TrueNAS / Linux szerver): export a következő opciókkal:
|
||||
@@ -307,7 +307,7 @@ function nsShowError(message, detail){
|
||||
|
||||
function netStorageRemove(name,label){
|
||||
openDialog({title:'Hálózati tárhely eltávolítása', confirmLabel:'Eltávolítás',
|
||||
message:'Biztosan eltávolítja a(z) '+label+' hálózati tárhelyet?\n\nA megosztás leválasztásra kerül; a NAS-on lévő adatok érintetlenek maradnak.',
|
||||
message:'Biztosan eltávolítod a(z) '+label+' hálózati tárhelyet?\n\nA megosztás leválasztásra kerül; a NAS-on lévő adatok érintetlenek maradnak.',
|
||||
onConfirm:function(){
|
||||
fetch('/api/storage/netstorage/remove',{method:'POST',headers:Object.assign({'Content-Type':'application/json'},csrfHeaders()),body:JSON.stringify({name:name})})
|
||||
.then(function(r){return r.json();}).then(function(d){
|
||||
|
||||
Reference in New Issue
Block a user