v0.253.0 — errors carry the key of the sentence they are (R-557 slice 2 release B)
gates / gates (push) Successful in 24s
gates / gates (push) Successful in 24s
179 Hungarian sentences were built deep inside a package with fmt.Errorf and printed by whoever caught them: too late to translate where they are shown, too early where they are made. Every one now carries its key across that gap. ZERO Hungarian error literals remain. util.MsgError does three things at once, each earned: - Error() is the Hungarian, byte for byte, so every un-converted printer is unchanged; - errors.Is answers for the kind AND for a wrapped cause (KindErrorf dropped the cause); - an error ARGUMENT renders recursively, so "formázás sikertelen: %w" translates whole. A foreign error — restic, docker, ssh, the stdlib — prints verbatim. It is not ours. 76 display sites go through errText, and TestNoErrErrorInPageOutput convicts any that do not. memoryVerdict returns an error rather than a sentence, so the deploy's 409 and the household's language come from one value; UpdateRefusal gained a Cause to carry it. Plurals, one rule, stated once: a key with .one/.other takes its COUNT first. Not a per-call-site flag — the producer somebody forgot would read "3 app is not running". The guard caught a real key collision (alert.deadapp.one) the day the rule landed. TWO DEFECTS FOUND IN MY OWN TOOLING, recorded rather than quietly fixed. The bulk converter silently dropped multi-line concatenations, damaging 7 producers — and the parity gate could not see it, because every surviving fragment WAS a real base literal while the CALL had lost text; two behaviour tests caught it. And the counting script was case-sensitive, so it said "0 left" while five remained. MinAgent: 0.131.0 (unchanged). No hub release needed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -140,7 +140,43 @@ func (b *Bundle) Msg(lang, key string) string {
|
||||
// compares the verbs with the indexes stripped, so a reordered English still has to use the same
|
||||
// verbs on the same values.
|
||||
func (b *Bundle) Msgf(lang, key string, a ...interface{}) string {
|
||||
return fmt.Sprintf(b.Msg(lang, key), a...)
|
||||
return fmt.Sprintf(b.form(lang, key, a), a...)
|
||||
}
|
||||
|
||||
// form picks the message a Msgf call should use, applying ONE plural rule, stated here and nowhere
|
||||
// else (v0.253.0, slice 2 release B):
|
||||
//
|
||||
// A KEY THAT CARRIES `.one`/`.other` FORMS IN A LANGUAGE IS A PLURAL KEY, AND ITS FIRST PARAMETER
|
||||
// IS THE COUNT.
|
||||
//
|
||||
// Hungarian never carries those forms — it does not inflect a noun after a numeral — so a Hungarian
|
||||
// render is `Msg(key)` exactly as before, byte for byte, whatever the count. English carries them
|
||||
// where the noun changes ("1 app is", "3 apps are"), and gets them with no change at any call site:
|
||||
// a handler, an alert and an error all go through Msgf.
|
||||
//
|
||||
// Deliberately not a per-call-site flag. A flag would have to be set at every producer of every
|
||||
// count message, in three packages, and the one that was forgotten would read "3 app is not running"
|
||||
// with nothing to catch it. The bundle is where a translator works, so the bundle is where the fact
|
||||
// that English needs two forms belongs. TestPluralFirstArgIsNumeric pins the other half of the rule:
|
||||
// every `.one`/`.other` value's first verb is a numeric one, so "first parameter is the count" is
|
||||
// true of the values as written and not only of the ones anybody happened to check.
|
||||
func (b *Bundle) form(lang, key string, a []interface{}) string {
|
||||
lang = Normalize(lang)
|
||||
if len(a) == 0 {
|
||||
return b.Msg(lang, key)
|
||||
}
|
||||
n, ok := a[0].(int)
|
||||
if !ok {
|
||||
return b.Msg(lang, key)
|
||||
}
|
||||
suffix := ".other"
|
||||
if n == 1 {
|
||||
suffix = ".one"
|
||||
}
|
||||
if v, found := b.msgs[lang][key+suffix]; found {
|
||||
return v
|
||||
}
|
||||
return b.Msg(lang, key)
|
||||
}
|
||||
|
||||
// Plural picks a count-dependent form and formats n into it (%d). Hungarian does not inflect a noun
|
||||
|
||||
@@ -170,3 +170,75 @@ func TestBundleParametersMatchAcrossLanguages(t *testing.T) {
|
||||
}
|
||||
|
||||
func stripActions(s string) string { return regexp.MustCompile(`\{\{.*?\}\}`).ReplaceAllString(s, "") }
|
||||
|
||||
// TestPluralFirstArgIsNumeric — the other half of the plural rule Bundle.form states.
|
||||
//
|
||||
// The rule is "a key with .one/.other forms takes its count first". That is only safe if the VALUES
|
||||
// are written that way, so this reads every plural form in every language and requires its first
|
||||
// printf verb to be a numeric one. A translator who writes "%s apps are running" would otherwise
|
||||
// produce `%!d(string=…)` at run time, on a page, in front of a household.
|
||||
func TestPluralFirstArgIsNumeric(t *testing.T) {
|
||||
b, err := Load()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
firstVerb := regexp.MustCompile(`%(?:\[\d+\])?[-+#0-9.]*[a-zA-Z]`)
|
||||
seen := 0
|
||||
for _, lang := range Supported {
|
||||
for _, k := range b.Keys(lang) {
|
||||
if !strings.HasSuffix(k, ".one") && !strings.HasSuffix(k, ".other") {
|
||||
continue
|
||||
}
|
||||
seen++
|
||||
v := b.msgs[lang][k]
|
||||
m := firstVerb.FindString(stripActions(v))
|
||||
if m == "" {
|
||||
t.Errorf("%s %q is a plural form with no parameter at all: %q", lang, k, v)
|
||||
continue
|
||||
}
|
||||
if !strings.HasSuffix(m, "d") && !strings.HasSuffix(m, "f") {
|
||||
t.Errorf("%s %q takes %q first, but a plural form's first parameter is the COUNT: %q",
|
||||
lang, k, m, v)
|
||||
}
|
||||
// And the base key must exist in Hungarian: the fallback for every language without the
|
||||
// split, and the sentence a Hungarian household reads.
|
||||
base := strings.TrimSuffix(strings.TrimSuffix(k, ".one"), ".other")
|
||||
if _, ok := b.msgs[Default][base]; !ok {
|
||||
t.Errorf("%s %q has no Hungarian base key %q", lang, k, base)
|
||||
}
|
||||
}
|
||||
}
|
||||
if seen == 0 {
|
||||
t.Fatal("no plural forms were examined — the suffix test no longer matches the bundle")
|
||||
}
|
||||
t.Logf("examined %d plural forms", seen)
|
||||
}
|
||||
|
||||
// TestNoOrdinaryKeyEndsInAPluralSuffix — `.one` and `.other` are RESERVED by the plural rule
|
||||
// (Bundle.form). A key that merely ends in one of them would be read as the singular or plural form
|
||||
// of a key that does not exist, and the sentence would silently change with a count.
|
||||
//
|
||||
// It was not a hypothetical: `alert.deadapp.one` (the ONE dead app, as against the grouped banner)
|
||||
// was exactly that collision, caught by TestPluralFirstArgIsNumeric on the day the rule landed and
|
||||
// renamed to `alert.deadapp.single`. This is the guard that keeps the next one from shipping.
|
||||
func TestNoOrdinaryKeyEndsInAPluralSuffix(t *testing.T) {
|
||||
b, err := Load()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, lang := range Supported {
|
||||
for _, k := range b.Keys(lang) {
|
||||
for _, suffix := range []string{".one", ".other"} {
|
||||
if !strings.HasSuffix(k, suffix) {
|
||||
continue
|
||||
}
|
||||
base := strings.TrimSuffix(k, suffix)
|
||||
// A REAL plural form's base is a Hungarian key. A collision's base is nothing.
|
||||
if _, ok := b.msgs[Default][base]; !ok {
|
||||
t.Errorf("%s %q ends in %q but %q is no key — `.one`/`.other` are reserved for "+
|
||||
"plural forms; rename it (for example to %q)", lang, k, suffix, base, base+".single")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1998,8 +1998,8 @@
|
||||
"alert.link.monitoring": "System monitor",
|
||||
"alert.link.update": "Update",
|
||||
"alert.deadapp.group": "%d installed apps are not running — look at the system monitor",
|
||||
"alert.deadapp.one": "An installed app is not running: %s",
|
||||
"alert.deadapp.one_state": "An installed app is not running: %s (%s)",
|
||||
"alert.deadapp.single": "An installed app is not running: %s",
|
||||
"alert.deadapp.single_state": "An installed app is not running: %s (%s)",
|
||||
"alert.storage.disconnected": "A drive is disconnected: %s (%s)",
|
||||
"alert.hub.disabled": "The hub connection is off — central monitoring is not running",
|
||||
"alert.hub.unreachable": "The hub cannot be reached — last error: %s",
|
||||
@@ -2015,5 +2015,186 @@
|
||||
"disk.err.init_in_progress": "a drive is already being initialised",
|
||||
"disk.err.protected": "this drive is protected (system / backup) — erasing it needs an operator signature",
|
||||
"disk.err.wipe_failed": "the erase failed: %s",
|
||||
"disk.err.attach_unavailable": "This drive cannot be attached right now — it may already be registered, or it may have been unplugged. Reload the page and look at Storage → Drives."
|
||||
"disk.err.attach_unavailable": "This drive cannot be attached right now — it may already be registered, or it may have been unplugged. Reload the page and look at Storage → Drives.",
|
||||
"err.stacks.migracio_mar_folyamatban": "a migration is already running",
|
||||
"err.stacks.alkalmazas_nem_talalhato": "app not found: %s",
|
||||
"err.stacks.ismeretlen_migracios_hatokor": "unknown migration scope: %s",
|
||||
"err.stacks.migracios_naplo_irasa": "writing the migration log: %s",
|
||||
"err.stacks.biztonsagi_mentes_folyamatban_probald_ujra": "a backup is running, try again",
|
||||
"err.stacks.az_rsync_nem_erheto_el_a": "rsync is not available on this system",
|
||||
"err.stacks.a_cel_es_a_forras_tarolo": "the source and the target storage are the same",
|
||||
"err.stacks.a_celtarolo_nem_elerheto_vagy_nem": "the target storage is unreachable or cannot be picked",
|
||||
"err.stacks.utkozes_a_celtarolon_mar_letezik_ezeknek": "clash on the target storage — these apps already have data there: %s",
|
||||
"err.stacks.nincs_eleg_hely_a_celtarolon_kb": "not enough space on the target storage (about %d GB needed, %.1f GB free)",
|
||||
"err.stacks.ismeretlen_migracios_fazis": "unknown migration phase: %q",
|
||||
"err.stacks.alkalmazas_leallitasa_sikertelen": "the app could not be stopped (%s): %s",
|
||||
"err.stacks.masolas_sikertelen_appdata": "the copy failed (%s app data): %s",
|
||||
"err.stacks.masolas_sikertelen_mentes": "the copy failed (%s backup): %s",
|
||||
"err.stacks.ugyfel_adatok_osszefesulese_sikertelen": "merging your own files failed: %s",
|
||||
"err.stacks.ellenorzes_sikertelen_appdata": "the check failed (%s app data): %s",
|
||||
"err.stacks.ellenorzes_sikertelen_mentes": "the check failed (%s backup): %s",
|
||||
"err.stacks.ugyfel_adatok_ellenorzese_sikertelen": "checking your own files failed: %s",
|
||||
"err.stacks.ujratelepites_sikertelen": "the reinstall failed (%s): %s",
|
||||
"err.stacks.forras_torlese_sikertelen_appdata": "removing the source failed (%s app data): %s",
|
||||
"err.stacks.forras_torlese_sikertelen_mentes": "removing the source failed (%s backup): %s",
|
||||
"err.stacks.forras_nevter_olvasasa_sikertelen": "reading the source folder failed: %s",
|
||||
"err.stacks.forras_torlese_sikertelen": "removing the source failed (%s): %s",
|
||||
"err.stacks.cleanup_gate_a_z_egyseg_nincs": "cleanup gate: unit %q is not verified (state=%s)",
|
||||
"err.stacks.cleanup_gate_a_z_alkalmazas_nincs": "cleanup gate: app %q is not reinstalled (state=%s)",
|
||||
"err.stacks.az_alkalmazas_nem_indult_el_az": "the app did not start on the new storage",
|
||||
"err.stacks.fuggoben_levo_atvitel_maradt_pl": "%d transfers are still pending, for example %q",
|
||||
"err.stacks.a_forrasfajlnak_nincs_azonos_masolata_a": "the source file has no identical copy on the target: %s",
|
||||
"err.stacks.az_aldomain_nem_lehet_ures": "the subdomain cannot be empty",
|
||||
"err.stacks.az_aldomain_csak_kisbetuket_szamokat_es": "the subdomain may hold only lower-case letters, digits and hyphens, and cannot start or end with a hyphen",
|
||||
"err.stacks.a_z_aldomain_foglalt_rendszer_szamara": "the subdomain %q is reserved for the system",
|
||||
"err.stacks.a_z_aldomain_mar_hasznalatban_van": "the subdomain %q is already used by another app",
|
||||
"err.stacks.a_beallitasok_nem_erhetok_el": "the settings are not reachable",
|
||||
"err.stacks.a_halozati_megosztas_nincs_bekapcsolva": "network sharing is not turned on",
|
||||
"err.stacks.a_megosztas_szolgaltatas_inditasa_sikertelen": "the sharing service could not be started: %s",
|
||||
"err.stacks.a_megosztas_leallitasa_sikertelen": "the sharing service could not be stopped: %s",
|
||||
"err.stacks.a_z_alkalmazas_nem_tamogatja_az": "the app %q cannot send email",
|
||||
"err.stacks.a_z_alkalmazas_nincs_telepitve": "the app %q is not installed",
|
||||
"err.backup.a_biztonsagi_mentes_elott_nem_sikerult": "the databases could not be found before the backup: %s",
|
||||
"err.backup.a_biztonsagi_mentes_konyvtara_nem_hozhato": "the backup folder could not be created: %s",
|
||||
"err.backup.a_jelenlegi_adatbazis_biztonsagi_mentese_sikertelen": "backing up the current database failed (%s): %s — the restore did not start",
|
||||
"err.backup.a_visszavonas_elott_nem_sikerult_felderiteni": "the databases could not be found before the undo: %s",
|
||||
"err.backup.a_visszavonashoz_szukseges_mentes_nem_talalhato": "the backup the undo needs is missing (%s): %s",
|
||||
"err.backup.a_z_adatbazis_taroloja_nem_talalhato": "the database container for %s is missing, so the undo cannot run",
|
||||
"err.backup.a_korabbi_allapot_visszaallitasa_sikertelen": "putting the earlier state back failed (%s): %s",
|
||||
"err.backup.egy_masik_mentesi_visszaallitasi_muvelet_mar": "another backup or restore is already running",
|
||||
"err.backup.nincs_elokeszitett_teljes_visszaallitas_futtass_elobb": "no full restore is prepared — run a full restore first",
|
||||
"err.backup.a_teljes_visszaallitas_hianyos_nincs_meg": "the full restore is incomplete (%s is missing) — run a full restore first",
|
||||
"err.backup.a_pillanatkepben_nincs_mentesi_egyseg_a": "the snapshot holds no backup unit — the restore cannot start",
|
||||
"err.backup.a_biztonsagi_mentes_nem_talalhato_a": "the backup is not on the disk — the restore did not start, for safety",
|
||||
"err.backup.az_adatbazis_szolgaltatas_nem_azonosithato_a": "The database service cannot be identified in %s — the restore did not start, for safety.",
|
||||
"err.backup.a_z_leallitasa_elotti_jelolo_nem": "the marker written before stopping %s could not be saved: %s",
|
||||
"err.backup.a_z_fajljainak_visszaallitasa_sikertelen": "putting back the files of %s failed: %s",
|
||||
"err.backup.a_z_adatkotetenek_visszaallitasa_sikertelen": "putting back the data volume of %s failed: %s",
|
||||
"err.backup.a_z_adatbazis_szolgaltatasanak_inditasa_sikertelen": "starting the database service of %s failed: %s",
|
||||
"err.backup.a_z_ujrainditasa_sikertelen_a_fajlok": "%s could not be restarted after its files were put back: %s",
|
||||
"err.backup.offbox_nincs_pillanatkep_a_z_alkalmazashoz": "off-site: there is no snapshot for %s",
|
||||
"err.backup.offbox_a_z_pillanatkep_merete_ismeretlen": "off-site: the size of snapshot %s is unknown",
|
||||
"err.backup.a_z_pillanatkepeben_nincs_mentesi_egyseg": "the snapshot of %s holds no backup unit — the restore cannot start",
|
||||
"err.backup.a_pillanatkepben_nincs_mentesi_egyseg_backups": "the snapshot holds no backup unit (backups/primary/%s)",
|
||||
"err.backup.a_pillanatkep_egy_utvonala_a_nevteren": "a path in the snapshot points outside its own folder: %s",
|
||||
"err.backup.a_pillanatkep_egy_utvonala_ervenytelen": "a path in the snapshot is not valid (..): %s",
|
||||
"err.backup.nem_egyseg_utvonal_a_fenntartott_backups": "a non-unit path inside the reserved backups area: %s",
|
||||
"err.backup.a_z_nincs_telepitve_elobb_allitsd": "%s is not installed — put the app back first, then its data",
|
||||
"err.backup.a_z_helyreallitasa_sikertelen": "recovering %s failed: %s",
|
||||
"err.backup.nincs_elerheto_adatmeghajto_a_visszaallitashoz": "no data drive is available for the restore",
|
||||
"err.backup.a_tavoli_mentes_nincs_beallitva": "the remote backup is not set up",
|
||||
"err.backup.nincs_eleg_szabad_hely_a_visszaallitashoz": "There is not enough free space for the restore (%s needed, %s free).",
|
||||
"err.backup.nincs_visszaallithato_megosztas_mentes": "there is no share backup to restore: %s",
|
||||
"err.backup.a_megosztasok_visszaallitasa_sikertelen": "restoring the shares failed: %s: %s",
|
||||
"err.backup.a_mentesben_nincs_megosztas_leiro": "the backup holds no share description: %s",
|
||||
"err.backup.a_megosztas_leiro_olvashatatlan": "the share description cannot be read: %s",
|
||||
"err.backup.nincs_elokeszitett_visszaallitas_futtass_elobb_egy": "no restore is prepared — run a share restore first",
|
||||
"err.backup.a_z_megosztas_fajljainak_visszaallitasa_sikertelen": "putting back the files of share “%s” failed: %s",
|
||||
"err.backup.a_frissites_elotti_mentes_lefutott_de": "the pre-update backup ran, but no restorable copy was made",
|
||||
"err.backup.adatathelyezes_folyamatban_a_mentes_most_nem": "data is being moved — the backup cannot start right now",
|
||||
"err.backup.az_alkalmazas_meghajtoja_nem_hatarozhato_meg": "the app’s drive cannot be determined",
|
||||
"err.backup.az_alkalmazas_meghajtoja_nem_elerheto": "the app’s drive cannot be reached (%s)",
|
||||
"err.backup.nincs_eleg_szabad_hely_a_menteshez": "not enough free space for the backup on drive %s",
|
||||
"err.backup.adatbazis_felderites_sikertelen": "finding the databases failed: %s",
|
||||
"err.backup.adatbazis_mentes_sikertelen": "the database backup failed (%s): %s",
|
||||
"err.backup.kotetmentes_sikertelen": "the volume backup failed: %s",
|
||||
"err.backup.a_mentesi_egyseg_rogzitese_sikertelen": "recording the backup unit failed: %s",
|
||||
"err.backup.az_alkalmazas_mentesi_helye_nem_hatarozhato": "the app’s backup location cannot be determined",
|
||||
"err.backup.nincs_masodlagos_fajlmasolat_ehhez_az_alkalmazashoz": "there is no second file copy for this app",
|
||||
"err.backup.a_masodlagos_meghajto_nincs_csatlakoztatva": "the second drive is not connected",
|
||||
"err.backup.az_alkalmazas_meghajtoja_nincs_csatlakoztatva": "the app’s drive is not connected",
|
||||
"err.backup.az_alkalmazas_meghajtoja_le_van_szerelve": "the app’s drive is decommissioned",
|
||||
"err.backup.a_2_mentes_regi_formatumu_futtass": "The second backup is in the old format — run a new second backup first.",
|
||||
"err.backup.ennek_az_alkalmazasnak_az_adatai_nem": "this app’s data cannot be restored from this copy",
|
||||
"err.backup.a_masodlagos_masolatban_nincs_megnyithato_mentesi": "the second copy holds no openable backup unit for this app",
|
||||
"err.backup.fajlmasolas_sikertelen": "copying the files failed: %s",
|
||||
"err.backup.fajl_visszaallitva_de_az_alkalmazas_ujrainditasa": "%d files were put back, but the app could not be restarted: %s",
|
||||
"err.backup.ervenytelen_alkalmazasnev": "that app name is not valid",
|
||||
"err.backup.a_torles_utvonala_kivul_esik_az": "the path to delete is outside the check folder",
|
||||
"err.backup.a_masolat_torlese_nem_sikerult": "the copy could not be deleted: %s",
|
||||
"err.backup.nincs_ilyen_ellenorzo_masolat": "there is no such check copy",
|
||||
"err.backup.az_offsite_tarolo_nincs_elarvult_allapotban": "the off-site store is not orphaned",
|
||||
"err.backup.halozati_tarolo_nem_lehet_a_2": "Network storage cannot be the target of the second backup — file ownership cannot be guaranteed there.",
|
||||
"err.web.ervenytelen_csatlakoztatasi_nev_csak_betuk_szamok": "that mount name is not valid (only letters, digits, _ and - are allowed)",
|
||||
"err.web.nem_tamogatott_fajlrendszer_ext4_vagy_xfs": "unsupported file system: %q (use ext4 or xfs)",
|
||||
"err.web.formazas_sikertelen": "formatting failed: %s",
|
||||
"err.web.formazas_kesz_de_az_uj_fajlrendszer": "the format finished, but the new file-system id cannot be resolved — reload the page and use Attach",
|
||||
"err.web.csatlakoztatas_sikertelen": "mounting failed: %s",
|
||||
"err.web.a_kivalasztott_meghajtohoz_nem_talalhato_fajlrendszer": "no file-system id was found for the drive you picked (only a drive that already has a file system can be attached)",
|
||||
"err.web.a_formazas_allapota_nem_kerdezheto_le": "the format status cannot be read: %s",
|
||||
"err.web.formazas_sikertelen_2": "formatting failed: %s",
|
||||
"err.web.a_formazas_nem_indult_el_az": "the format did not start on the device (%s)",
|
||||
"err.web.leszereles_visszavonasa_sikertelen": "undoing the decommission failed: %s",
|
||||
"err.web.utemezhetoseg_visszaallitasa_sikertelen": "restoring the schedulable flag failed: %s",
|
||||
"err.web.regisztracio_sikertelen": "registering it failed: %s",
|
||||
"err.web.ez_az_egyetlen_hasznalhato_tarhely_a": "this is the only usable storage — the decommission is refused (add another drive, or set a different default, first)",
|
||||
"err.web.nyilvantartas_frissitese_sikertelen": "updating the register failed: %s",
|
||||
"err.web.a_meghajto_leszerelese_sikertelen": "decommissioning the drive failed: %s",
|
||||
"err.settings.a_kiszolgalo_neve_nem_lehet_ures": "the server name cannot be empty",
|
||||
"err.settings.a_kiszolgalo_neve_legfeljebb_15_karakter": "the server name can be at most 15 characters",
|
||||
"err.settings.a_kiszolgalo_neve_csak_betut_szamot": "the server name may hold only letters, digits, hyphens and underscores",
|
||||
"err.settings.a_megosztas_neve_nem_lehet_ures": "the share name cannot be empty",
|
||||
"err.settings.a_megosztas_neve_legfeljebb_15_karakter": "the share name can be at most 15 characters",
|
||||
"err.settings.a_megosztas_neve_nem_tartalmazhat_perjelet": "the share name cannot hold a slash or a dot",
|
||||
"err.settings.a_megosztas_neve_nem_kezdodhet_alahuzassal": "the share name cannot start with an underscore — those names are reserved for the system",
|
||||
"err.settings.a_megosztas_neve_csak_betut_szamot": "the share name may hold only letters, digits, hyphens and underscores",
|
||||
"err.settings.mar_letezik_nevu_megosztas": "a share named “%s” already exists",
|
||||
"err.settings.a_z_megosztas_a_rendszer_resze": "the share “%s” is part of the system and cannot be deleted",
|
||||
"err.settings.nincs_nevu_megosztas": "there is no share named “%s”",
|
||||
"err.settings.a_halozati_tarhely_nem_lehet_a": "network storage cannot be the target of the system backup: %s",
|
||||
"err.integrations.nincs_kezelo_a_z_integraciohoz": "there is no handler for the %s integration",
|
||||
"err.integrations.a_szolgaltato_alkalmazas_nincs_telepitve": "the provider app (%s) is not installed",
|
||||
"err.integrations.a_szolgaltato_alkalmazas_nem_fut": "the provider app (%s) is not running",
|
||||
"err.integrations.a_celalkalmazas_nincs_telepitve": "the target app (%s) is not installed",
|
||||
"err.integrations.a_celalkalmazas_nem_fut": "the target app (%s) is not running",
|
||||
"err.integrations.integracio_alkalmazasa_sikertelen": "applying the integration failed: %s",
|
||||
"err.integrations.integracio_allapotanak_mentese_sikertelen": "saving the integration state failed: %s",
|
||||
"err.integrations.szolgaltato_stack_nem_talalhato": "provider stack %q not found",
|
||||
"err.integrations.onlyoffice_jwt_secret_nincs_beallitva_telepitsd": "the OnlyOffice JWT_SECRET is not set — reinstall the app",
|
||||
"err.integrations.filebrowser_config_olvasasi_hiba": "the File manager config could not be read: %s",
|
||||
"err.integrations.config_irasi_hiba": "the config could not be written: %s",
|
||||
"err.integrations.config_atnevezesi_hiba": "the config could not be renamed: %s",
|
||||
"err.integrations.config_olvasasi_hiba": "the config could not be read: %s",
|
||||
"err.integrations.onlyoffice_jwt_secret_nincs_beallitva": "the OnlyOffice JWT_SECRET is not set",
|
||||
"err.selfupdate.hianyos_registry_hitelesito_adatok_felhasznalonev_es": "incomplete registry credentials (the user name and the token are needed together)",
|
||||
"err.selfupdate.frissites_mar_folyamatban": "An update is already running",
|
||||
"err.selfupdate.dev_verzio_nem_frissitheto": "A dev build cannot be updated",
|
||||
"err.selfupdate.mentes_fut_probalja_kesobb": "A backup is running, try again later",
|
||||
"err.selfupdate.a_frissites_nem_erheto_el_nincs": "The update is not available (there is no host agent)",
|
||||
"err.selfupdate.nincs_elerheto_frissites": "No update is available",
|
||||
"err.selfupdate.docker_pull_hianyos_registry_hitelesito_adatok": "docker pull: incomplete registry credentials (the user name and the token are needed together)",
|
||||
"err.appexport.visszafejtes_sikertelen": "decryption failed: %s",
|
||||
"err.appexport.a_z_kotet_adata_hianyzik_a": "the data of volume %q is missing from the package",
|
||||
"err.appexport.a_z_adatkonyvtar_tartalma_hianyzik_a": "the contents of data folder %q are missing from the package",
|
||||
"err.appexport.ket_adatkonyvtar_azonos_nevvel_vegzodik_es": "two data folders end in the same name (%q: %s and %s) — the package could not tell them apart",
|
||||
"err.appexport.a_mentes_nem_tartalmaz_alkalmazasadatot_0": "the backup holds no app data (0 data folders, 0 volumes for an app that stores data)",
|
||||
"err.appexport.jelszo_hibas_vagy_a_fajl_serult": "wrong password, or the file is damaged",
|
||||
"err.web.a_meghajtok_listaja_nem_olvashato": "the list of drives cannot be read",
|
||||
"err.web.a_meghajto_nem_talalhato": "the drive was not found",
|
||||
"err.web.ez_a_mappa_nem_oszthato_meg": "This folder cannot be shared.",
|
||||
"err.notify.hub_nem_konfiguralt": "the hub is not configured",
|
||||
"err.notify.hub_elerhetetlen": "the hub cannot be reached: %s",
|
||||
"err.stacks.field_required_password": "the %q field has to be filled in — use the Generate button, or type a password",
|
||||
"err.stacks.field_required": "the %q (%s) field has to be filled in",
|
||||
"err.backup.offsite_over_quota": "The remote backup went over its storage limit (%d/%d GB) — delete old backups, or ask for a bigger limit.",
|
||||
"err.stacks.not_enough_memory": "There is not enough memory to install this app. Needs %d MB, %d MB is free (%d MB in total, %d MB of it used, %d MB reserved for the system)",
|
||||
"err.stacks.memory_overcommit_warning": "At peak, the apps together may need more memory than there is. In normal use this causes no trouble.",
|
||||
"err.backup.not_installed_known_drive": "%s is not installed, so there is nowhere to put its data back. The backup says its data was here: %s. Install the app again (Apps) in the same place, and this restore will work",
|
||||
"err.backup.not_installed": "%s is not installed, so there is nowhere to put its data back — install the app again (Apps), and this restore will work",
|
||||
"err.backup.no_data_root": "%s is installed, but the controller cannot tell where its data belongs (no system data area is set). Check the storage settings (Storage), then start the restore again",
|
||||
"err.backup.no_registered_drive": "no data drive is registered, so there is nowhere to restore to — the drives are still there, they only need attaching again on the Storage → Drives page, and this restore will work",
|
||||
"err.backup.db_restore_and_rollback_failed": "putting back the database of %s failed, and the earlier state could not be restored either. We have left the app STOPPED, for safety, so your data cannot be damaged further. Get in touch with us — %s",
|
||||
"err.backup.db_restore_failed_rolled_back": "putting back the database of %s failed — your data is back as it was before the restore, and the app is still running. If you want to try again, get in touch with us first",
|
||||
"alert.deadapp.group.one": "%d installed app is not running — look at the system monitor",
|
||||
"alert.deadapp.group.other": "%d installed apps are not running — look at the system monitor",
|
||||
"alert.overflow.one": "+ %d more warning",
|
||||
"alert.overflow.other": "+ %d more warnings",
|
||||
"err.stacks.fuggoben_levo_atvitel_maradt_pl.one": "%d transfer is still pending, for example %q",
|
||||
"err.stacks.fuggoben_levo_atvitel_maradt_pl.other": "%d transfers are still pending, for example %q",
|
||||
"err.backup.fajl_visszaallitva_de_az_alkalmazas_ujrainditasa.one": "%d file was put back, but the app could not be restarted: %s",
|
||||
"err.backup.fajl_visszaallitva_de_az_alkalmazas_ujrainditasa.other": "%d files were put back, but the app could not be restarted: %s",
|
||||
"err.integrations.onlyoffice_no_subdomain": "the OnlyOffice subdomain is not known",
|
||||
"err.integrations.occ_failed": "the occ command failed (%s): %s (output: %s)",
|
||||
"err.integrations.occ_disable_failed": "occ app:disable failed: %s (output: %s)",
|
||||
"err.notify.hub_error": "hub error (%d): %s"
|
||||
}
|
||||
|
||||
@@ -1995,8 +1995,8 @@
|
||||
"alert.link.monitoring": "Rendszermonitor",
|
||||
"alert.link.update": "Frissítés",
|
||||
"alert.deadapp.group": "%d telepített alkalmazás nem fut — nézze meg a rendszermonitort",
|
||||
"alert.deadapp.one": "Telepített alkalmazás nem fut: %s",
|
||||
"alert.deadapp.one_state": "Telepített alkalmazás nem fut: %s (%s)",
|
||||
"alert.deadapp.single": "Telepített alkalmazás nem fut: %s",
|
||||
"alert.deadapp.single_state": "Telepített alkalmazás nem fut: %s (%s)",
|
||||
"alert.storage.disconnected": "Meghajtó leválasztva: %s (%s)",
|
||||
"alert.hub.disabled": "Hub kapcsolat kikapcsolva — a központi monitoring nem aktív",
|
||||
"alert.hub.unreachable": "Hub nem elérhető — utolsó hiba: %s",
|
||||
@@ -2012,5 +2012,178 @@
|
||||
"disk.err.init_in_progress": "már folyamatban van egy meghajtó-inicializálás",
|
||||
"disk.err.protected": "a meghajtó védett (rendszer/biztonsági mentés) — törlés csak operátori aláírással",
|
||||
"disk.err.wipe_failed": "törlés sikertelen: %s",
|
||||
"disk.err.attach_unavailable": "Ez a meghajtó most nem csatolható — lehet, hogy már regisztrálva van, vagy időközben lecsatolódott. Frissítsd az oldalt, és nézd meg a Tárhely → Meghajtók listát."
|
||||
"disk.err.attach_unavailable": "Ez a meghajtó most nem csatolható — lehet, hogy már regisztrálva van, vagy időközben lecsatolódott. Frissítsd az oldalt, és nézd meg a Tárhely → Meghajtók listát.",
|
||||
"err.stacks.migracio_mar_folyamatban": "migráció már folyamatban",
|
||||
"err.stacks.alkalmazas_nem_talalhato": "alkalmazás nem található: %s",
|
||||
"err.stacks.ismeretlen_migracios_hatokor": "ismeretlen migrációs hatókör: %s",
|
||||
"err.stacks.migracios_naplo_irasa": "migrációs napló írása: %s",
|
||||
"err.stacks.biztonsagi_mentes_folyamatban_probald_ujra": "biztonsági mentés folyamatban, próbáld újra",
|
||||
"err.stacks.az_rsync_nem_erheto_el_a": "az rsync nem érhető el a rendszeren",
|
||||
"err.stacks.a_cel_es_a_forras_tarolo": "a cél és a forrás tároló megegyezik",
|
||||
"err.stacks.a_celtarolo_nem_elerheto_vagy_nem": "a céltároló nem elérhető vagy nem választható",
|
||||
"err.stacks.utkozes_a_celtarolon_mar_letezik_ezeknek": "ütközés a céltárolón — már létezik ezeknek az alkalmazásoknak az adata: %s",
|
||||
"err.stacks.nincs_eleg_hely_a_celtarolon_kb": "nincs elég hely a céltárolón (kb. %d GB szükséges, %.1f GB szabad)",
|
||||
"err.stacks.ismeretlen_migracios_fazis": "ismeretlen migrációs fázis: %q",
|
||||
"err.stacks.alkalmazas_leallitasa_sikertelen": "alkalmazás leállítása sikertelen (%s): %s",
|
||||
"err.stacks.masolas_sikertelen_appdata": "másolás sikertelen (%s appdata): %s",
|
||||
"err.stacks.masolas_sikertelen_mentes": "másolás sikertelen (%s mentés): %s",
|
||||
"err.stacks.ugyfel_adatok_osszefesulese_sikertelen": "ügyfél-adatok összefésülése sikertelen: %s",
|
||||
"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.ugyfel_adatok_ellenorzese_sikertelen": "ügyfél-adatok ellenőrzése sikertelen: %s",
|
||||
"err.stacks.ujratelepites_sikertelen": "újratelepítés sikertelen (%s): %s",
|
||||
"err.stacks.forras_torlese_sikertelen_appdata": "forrás törlése sikertelen (%s appdata): %s",
|
||||
"err.stacks.forras_torlese_sikertelen_mentes": "forrás törlése sikertelen (%s mentés): %s",
|
||||
"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.cleanup_gate_a_z_egyseg_nincs": "cleanup gate: a(z) %q egység nincs ellenőrizve (állapot=%s)",
|
||||
"err.stacks.cleanup_gate_a_z_alkalmazas_nincs": "cleanup gate: a(z) %q alkalmazás nincs újratelepítve (állapot=%s)",
|
||||
"err.stacks.az_alkalmazas_nem_indult_el_az": "az alkalmazás nem indult el az új tárhelyen",
|
||||
"err.stacks.fuggoben_levo_atvitel_maradt_pl": "%d függőben lévő átvitel maradt, pl. %q",
|
||||
"err.stacks.a_forrasfajlnak_nincs_azonos_masolata_a": "a forrásfájlnak nincs azonos másolata a célon: %s",
|
||||
"err.stacks.az_aldomain_nem_lehet_ures": "az aldomain nem lehet üres",
|
||||
"err.stacks.az_aldomain_csak_kisbetuket_szamokat_es": "az aldomain csak kisbetűket, számokat és kötőjelet tartalmazhat, és nem kezdődhet/végződhet kötőjellel",
|
||||
"err.stacks.a_z_aldomain_foglalt_rendszer_szamara": "a(z) %q aldomain foglalt rendszer számára",
|
||||
"err.stacks.a_z_aldomain_mar_hasznalatban_van": "a(z) %q aldomain már használatban van egy másik alkalmazásban",
|
||||
"err.stacks.a_beallitasok_nem_erhetok_el": "a beállítások nem érhetők el",
|
||||
"err.stacks.a_halozati_megosztas_nincs_bekapcsolva": "a hálózati megosztás nincs bekapcsolva",
|
||||
"err.stacks.a_megosztas_szolgaltatas_inditasa_sikertelen": "a megosztás szolgáltatás indítása sikertelen: %s",
|
||||
"err.stacks.a_megosztas_leallitasa_sikertelen": "a megosztás leállítása sikertelen: %s",
|
||||
"err.stacks.a_z_alkalmazas_nem_tamogatja_az": "a(z) %q alkalmazás nem támogatja az email-küldést",
|
||||
"err.stacks.a_z_alkalmazas_nincs_telepitve": "a(z) %q alkalmazás nincs telepítve",
|
||||
"err.backup.a_biztonsagi_mentes_elott_nem_sikerult": "a biztonsági mentés előtt nem sikerült felderíteni az adatbázisokat: %s",
|
||||
"err.backup.a_biztonsagi_mentes_konyvtara_nem_hozhato": "a biztonsági mentés könyvtára nem hozható létre: %s",
|
||||
"err.backup.a_jelenlegi_adatbazis_biztonsagi_mentese_sikertelen": "a jelenlegi adatbázis biztonsági mentése sikertelen (%s): %s — a visszaállítás nem indult el",
|
||||
"err.backup.a_visszavonas_elott_nem_sikerult_felderiteni": "a visszavonás előtt nem sikerült felderíteni az adatbázisokat: %s",
|
||||
"err.backup.a_visszavonashoz_szukseges_mentes_nem_talalhato": "a visszavonáshoz szükséges mentés nem található (%s): %s",
|
||||
"err.backup.a_z_adatbazis_taroloja_nem_talalhato": "a(z) %s adatbázis-tárolója nem található a visszavonáshoz",
|
||||
"err.backup.a_korabbi_allapot_visszaallitasa_sikertelen": "a korábbi állapot visszaállítása sikertelen (%s): %s",
|
||||
"err.backup.egy_masik_mentesi_visszaallitasi_muvelet_mar": "egy másik mentési/visszaállítási művelet már fut",
|
||||
"err.backup.nincs_elokeszitett_teljes_visszaallitas_futtass_elobb": "nincs előkészített teljes visszaállítás — futtass előbb egy teljes visszaállítást",
|
||||
"err.backup.a_teljes_visszaallitas_hianyos_nincs_meg": "a teljes visszaállítás hiányos (%s nincs meg) — futtass előbb egy teljes visszaállítást",
|
||||
"err.backup.a_pillanatkepben_nincs_mentesi_egyseg_a": "a pillanatképben nincs mentési egység — a visszaállítás nem indítható",
|
||||
"err.backup.a_biztonsagi_mentes_nem_talalhato_a": "a biztonsági mentés nem található a lemezen — a visszaállítás biztonsági okból nem indult el",
|
||||
"err.backup.az_adatbazis_szolgaltatas_nem_azonosithato_a": "Az adatbázis-szolgáltatás nem azonosítható a(z) %s alkalmazásban — a visszaállítás biztonsági okból nem indult el.",
|
||||
"err.backup.a_z_leallitasa_elotti_jelolo_nem": "a(z) %s leállítása előtti jelölő nem menthető: %s",
|
||||
"err.backup.a_z_fajljainak_visszaallitasa_sikertelen": "a(z) %s fájljainak visszaállítása sikertelen: %s",
|
||||
"err.backup.a_z_adatkotetenek_visszaallitasa_sikertelen": "a(z) %s adatkötetének visszaállítása sikertelen: %s",
|
||||
"err.backup.a_z_adatbazis_szolgaltatasanak_inditasa_sikertelen": "a(z) %s adatbázis-szolgáltatásának indítása sikertelen: %s",
|
||||
"err.backup.a_z_ujrainditasa_sikertelen_a_fajlok": "a(z) %s újraindítása sikertelen a fájlok visszaállítása után: %s",
|
||||
"err.backup.offbox_nincs_pillanatkep_a_z_alkalmazashoz": "offbox: nincs pillanatkép a(z) %s alkalmazáshoz",
|
||||
"err.backup.offbox_a_z_pillanatkep_merete_ismeretlen": "offbox: a(z) %s pillanatkép mérete ismeretlen",
|
||||
"err.backup.a_z_pillanatkepeben_nincs_mentesi_egyseg": "a(z) %s pillanatképében nincs mentési egység — a visszaállítás nem indítható",
|
||||
"err.backup.a_pillanatkepben_nincs_mentesi_egyseg_backups": "a pillanatképben nincs mentési egység (backups/primary/%s)",
|
||||
"err.backup.a_pillanatkep_egy_utvonala_a_nevteren": "a pillanatkép egy útvonala a névtéren kívülre mutat: %s",
|
||||
"err.backup.a_pillanatkep_egy_utvonala_ervenytelen": "a pillanatkép egy útvonala érvénytelen (..): %s",
|
||||
"err.backup.nem_egyseg_utvonal_a_fenntartott_backups": "nem-egység útvonal a fenntartott backups zónában: %s",
|
||||
"err.backup.a_z_nincs_telepitve_elobb_allitsd": "a(z) %s nincs telepítve — előbb állítsd helyre az alkalmazást, utána az adatokat",
|
||||
"err.backup.a_z_helyreallitasa_sikertelen": "a(z) %s helyreállítása sikertelen: %s",
|
||||
"err.backup.nincs_elerheto_adatmeghajto_a_visszaallitashoz": "nincs elérhető adatmeghajtó a visszaállításhoz",
|
||||
"err.backup.a_tavoli_mentes_nincs_beallitva": "a távoli mentés nincs beállítva",
|
||||
"err.backup.nincs_eleg_szabad_hely_a_visszaallitashoz": "Nincs elég szabad hely a visszaállításhoz (%s szükséges, %s szabad).",
|
||||
"err.backup.nincs_visszaallithato_megosztas_mentes": "nincs visszaállítható megosztás-mentés: %s",
|
||||
"err.backup.a_megosztasok_visszaallitasa_sikertelen": "a megosztások visszaállítása sikertelen: %s: %s",
|
||||
"err.backup.a_mentesben_nincs_megosztas_leiro": "a mentésben nincs megosztás-leíró: %s",
|
||||
"err.backup.a_megosztas_leiro_olvashatatlan": "a megosztás-leíró olvashatatlan: %s",
|
||||
"err.backup.nincs_elokeszitett_visszaallitas_futtass_elobb_egy": "nincs előkészített visszaállítás — futtass előbb egy megosztás-visszaállítást",
|
||||
"err.backup.a_z_megosztas_fajljainak_visszaallitasa_sikertelen": "a(z) „%s” megosztás fájljainak visszaállítása sikertelen: %s",
|
||||
"err.backup.a_frissites_elotti_mentes_lefutott_de": "a frissítés előtti mentés lefutott, de nem jött létre visszaállítható másolat",
|
||||
"err.backup.adatathelyezes_folyamatban_a_mentes_most_nem": "adatáthelyezés folyamatban — a mentés most nem indítható",
|
||||
"err.backup.az_alkalmazas_meghajtoja_nem_hatarozhato_meg": "az alkalmazás meghajtója nem határozható meg",
|
||||
"err.backup.az_alkalmazas_meghajtoja_nem_elerheto": "az alkalmazás meghajtója nem elérhető (%s)",
|
||||
"err.backup.nincs_eleg_szabad_hely_a_menteshez": "nincs elég szabad hely a mentéshez a(z) %s meghajtón",
|
||||
"err.backup.adatbazis_felderites_sikertelen": "adatbázis-felderítés sikertelen: %s",
|
||||
"err.backup.adatbazis_mentes_sikertelen": "adatbázis-mentés sikertelen (%s): %s",
|
||||
"err.backup.kotetmentes_sikertelen": "kötetmentés sikertelen: %s",
|
||||
"err.backup.a_mentesi_egyseg_rogzitese_sikertelen": "a mentési egység rögzítése sikertelen: %s",
|
||||
"err.backup.az_alkalmazas_mentesi_helye_nem_hatarozhato": "az alkalmazás mentési helye nem határozható meg",
|
||||
"err.backup.nincs_masodlagos_fajlmasolat_ehhez_az_alkalmazashoz": "nincs másodlagos fájlmásolat ehhez az alkalmazáshoz",
|
||||
"err.backup.a_masodlagos_meghajto_nincs_csatlakoztatva": "a másodlagos meghajtó nincs csatlakoztatva",
|
||||
"err.backup.az_alkalmazas_meghajtoja_nincs_csatlakoztatva": "az alkalmazás meghajtója nincs csatlakoztatva",
|
||||
"err.backup.az_alkalmazas_meghajtoja_le_van_szerelve": "az alkalmazás meghajtója le van szerelve",
|
||||
"err.backup.a_2_mentes_regi_formatumu_futtass": "A 2. mentés régi formátumú — futtass előbb egy új másodlagos mentést.",
|
||||
"err.backup.ennek_az_alkalmazasnak_az_adatai_nem": "ennek az alkalmazásnak az adatai nem ebből a másolatból állíthatók vissza",
|
||||
"err.backup.a_masodlagos_masolatban_nincs_megnyithato_mentesi": "a másodlagos másolatban nincs megnyitható mentési egység ehhez az alkalmazáshoz",
|
||||
"err.backup.fajlmasolas_sikertelen": "fájlmásolás sikertelen: %s",
|
||||
"err.backup.fajl_visszaallitva_de_az_alkalmazas_ujrainditasa": "%d fájl visszaállítva, de az alkalmazás újraindítása sikertelen: %s",
|
||||
"err.backup.ervenytelen_alkalmazasnev": "érvénytelen alkalmazásnév",
|
||||
"err.backup.a_torles_utvonala_kivul_esik_az": "a törlés útvonala kívül esik az ellenőrző mappán",
|
||||
"err.backup.a_masolat_torlese_nem_sikerult": "a másolat törlése nem sikerült: %s",
|
||||
"err.backup.nincs_ilyen_ellenorzo_masolat": "nincs ilyen ellenőrző másolat",
|
||||
"err.backup.az_offsite_tarolo_nincs_elarvult_allapotban": "az offsite tároló nincs elárvult állapotban",
|
||||
"err.backup.halozati_tarolo_nem_lehet_a_2": "Hálózati tároló nem lehet a 2. mentés célja — a fájltulajdonos-adatok megőrzése ott nem garantálható.",
|
||||
"err.web.ervenytelen_csatlakoztatasi_nev_csak_betuk_szamok": "érvénytelen csatlakoztatási név (csak betűk, számok, _ és - engedélyezett)",
|
||||
"err.web.nem_tamogatott_fajlrendszer_ext4_vagy_xfs": "nem támogatott fájlrendszer: %q (ext4 vagy xfs)",
|
||||
"err.web.formazas_sikertelen": "formázás sikertelen: %s",
|
||||
"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.csatlakoztatas_sikertelen": "csatlakoztatás sikertelen: %s",
|
||||
"err.web.a_kivalasztott_meghajtohoz_nem_talalhato_fajlrendszer": "a kiválasztott meghajtóhoz nem található fájlrendszer-azonosító (csak fájlrendszerrel rendelkező meghajtó csatolható)",
|
||||
"err.web.a_formazas_allapota_nem_kerdezheto_le": "a formázás állapota nem kérdezhető le: %s",
|
||||
"err.web.formazas_sikertelen_2": "formázás sikertelen: %s",
|
||||
"err.web.a_formazas_nem_indult_el_az": "a formázás nem indult el az eszközön (%s)",
|
||||
"err.web.leszereles_visszavonasa_sikertelen": "leszerelés visszavonása sikertelen: %s",
|
||||
"err.web.utemezhetoseg_visszaallitasa_sikertelen": "ütemezhetőség visszaállítása sikertelen: %s",
|
||||
"err.web.regisztracio_sikertelen": "regisztráció sikertelen: %s",
|
||||
"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.nyilvantartas_frissitese_sikertelen": "nyilvántartás frissítése sikertelen: %s",
|
||||
"err.web.a_meghajto_leszerelese_sikertelen": "a meghajtó leszerelése sikertelen: %s",
|
||||
"err.settings.a_kiszolgalo_neve_nem_lehet_ures": "a kiszolgáló neve nem lehet üres",
|
||||
"err.settings.a_kiszolgalo_neve_legfeljebb_15_karakter": "a kiszolgáló neve legfeljebb 15 karakter lehet",
|
||||
"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",
|
||||
"err.settings.a_megosztas_neve_nem_lehet_ures": "a megosztás neve nem lehet üres",
|
||||
"err.settings.a_megosztas_neve_legfeljebb_15_karakter": "a megosztás neve legfeljebb 15 karakter lehet",
|
||||
"err.settings.a_megosztas_neve_nem_tartalmazhat_perjelet": "a megosztás neve nem tartalmazhat perjelet vagy pontot",
|
||||
"err.settings.a_megosztas_neve_nem_kezdodhet_alahuzassal": "a megosztás neve nem kezdődhet aláhúzással — ezek a nevek a rendszernek vannak fenntartva",
|
||||
"err.settings.a_megosztas_neve_csak_betut_szamot": "a megosztás neve csak betűt, számot, kötőjelet és aláhúzást tartalmazhat",
|
||||
"err.settings.mar_letezik_nevu_megosztas": "már létezik „%s” nevű megosztás",
|
||||
"err.settings.a_z_megosztas_a_rendszer_resze": "a(z) „%s” megosztás a rendszer része, nem törölhető",
|
||||
"err.settings.nincs_nevu_megosztas": "nincs „%s” nevű megosztás",
|
||||
"err.settings.a_halozati_tarhely_nem_lehet_a": "a hálózati tárhely nem lehet a rendszermentés célja: %s",
|
||||
"err.integrations.nincs_kezelo_a_z_integraciohoz": "nincs kezelő a(z) %s integrációhoz",
|
||||
"err.integrations.a_szolgaltato_alkalmazas_nincs_telepitve": "a szolgáltató alkalmazás (%s) nincs telepítve",
|
||||
"err.integrations.a_szolgaltato_alkalmazas_nem_fut": "a szolgáltató alkalmazás (%s) nem fut",
|
||||
"err.integrations.a_celalkalmazas_nincs_telepitve": "a célalkalmazás (%s) nincs telepítve",
|
||||
"err.integrations.a_celalkalmazas_nem_fut": "a célalkalmazás (%s) nem fut",
|
||||
"err.integrations.integracio_alkalmazasa_sikertelen": "integráció alkalmazása sikertelen: %s",
|
||||
"err.integrations.integracio_allapotanak_mentese_sikertelen": "integráció állapotának mentése sikertelen: %s",
|
||||
"err.integrations.szolgaltato_stack_nem_talalhato": "szolgáltató stack %q nem található",
|
||||
"err.integrations.onlyoffice_jwt_secret_nincs_beallitva_telepitsd": "OnlyOffice JWT_SECRET nincs beállítva — telepítsd újra az alkalmazást",
|
||||
"err.integrations.filebrowser_config_olvasasi_hiba": "FileBrowser config olvasási hiba: %s",
|
||||
"err.integrations.config_irasi_hiba": "config írási hiba: %s",
|
||||
"err.integrations.config_atnevezesi_hiba": "config átnevezési hiba: %s",
|
||||
"err.integrations.config_olvasasi_hiba": "config olvasási hiba: %s",
|
||||
"err.integrations.onlyoffice_jwt_secret_nincs_beallitva": "OnlyOffice JWT_SECRET nincs beállítva",
|
||||
"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.frissites_mar_folyamatban": "Frissítés már folyamatban",
|
||||
"err.selfupdate.dev_verzio_nem_frissitheto": "Dev verzió nem frissíthető",
|
||||
"err.selfupdate.mentes_fut_probalja_kesobb": "Mentés fut, próbálja később",
|
||||
"err.selfupdate.a_frissites_nem_erheto_el_nincs": "A frissítés nem érhető el (nincs gazda-ügynök)",
|
||||
"err.selfupdate.nincs_elerheto_frissites": "Nincs elérhető frissítés",
|
||||
"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.appexport.visszafejtes_sikertelen": "visszafejtés sikertelen: %s",
|
||||
"err.appexport.a_z_kotet_adata_hianyzik_a": "a(z) %q kötet adata hiányzik a csomagból",
|
||||
"err.appexport.a_z_adatkonyvtar_tartalma_hianyzik_a": "a(z) %q adatkönyvtár tartalma hiányzik a csomagból",
|
||||
"err.appexport.ket_adatkonyvtar_azonos_nevvel_vegzodik_es": "két adatkönyvtár azonos névvel végződik (%q: %s és %s) — a csomag nem tudná megkülönböztetni őket",
|
||||
"err.appexport.a_mentes_nem_tartalmaz_alkalmazasadatot_0": "a mentés nem tartalmaz alkalmazásadatot (0 adatkönyvtár, 0 kötet egy adattárolós alkalmazásnál)",
|
||||
"err.appexport.jelszo_hibas_vagy_a_fajl_serult": "jelszó hibás vagy a fájl sérült",
|
||||
"err.web.a_meghajtok_listaja_nem_olvashato": "a meghajtók listája nem olvasható",
|
||||
"err.web.a_meghajto_nem_talalhato": "a meghajtó nem található",
|
||||
"err.web.ez_a_mappa_nem_oszthato_meg": "Ez a mappa nem osztható meg.",
|
||||
"err.notify.hub_nem_konfiguralt": "hub nem konfigurált",
|
||||
"err.notify.hub_elerhetetlen": "hub elérhetetlen: %s",
|
||||
"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": "a(z) %q (%s) mező kitöltése kötelező",
|
||||
"err.backup.offsite_over_quota": "A távoli mentés túllépte a tárhelykeretet (%d/%d GB) — törölj régi mentéseket vagy kérj nagyobb keretet.",
|
||||
"err.stacks.not_enough_memory": "Nincs elég memória az alkalmazás telepítéséhez. Szükséges: %d MB, Elérhető: %d MB (összesen: %d MB, ebből %d MB használt, %d MB rendszer számára fenntartva)",
|
||||
"err.stacks.memory_overcommit_warning": "Az alkalmazások csúcsterhelése meghaladhatja a rendelkezésre álló memóriát. Normál használat mellett ez nem okoz problémát.",
|
||||
"err.backup.not_installed_known_drive": "a(z) %s nincs telepítve, ezért nincs hová visszaállítani az adatait. A mentése szerint az adatai itt voltak: %s. Telepítsd újra az alkalmazást (Alkalmazások) ugyanerre a helyre, utána ez a visszaállítás működni fog",
|
||||
"err.backup.not_installed": "a(z) %s nincs telepítve, ezért nincs hová visszaállítani az adatait — telepítsd újra az alkalmazást (Alkalmazások), utána ez a visszaállítás működni fog",
|
||||
"err.backup.no_data_root": "a(z) %s telepítve van, de a vezérlő nem tudja megállapítani, hová tartoznak az adatai (nincs beállítva rendszer-adatterület). Ellenőrizd a tárhely beállításait (Tárhely), utána indítsd újra a visszaállítást",
|
||||
"err.backup.no_registered_drive": "nincs regisztrált adatmeghajtó, ezért nincs hová visszaállítani — a meghajtók megvannak, csak újra kell csatolni őket a Tárhely → Meghajtók oldalon, utána ez a visszaállítás működni fog",
|
||||
"err.backup.db_restore_and_rollback_failed": "a(z) %s adatbázisának visszaállítása sikertelen, és a korábbi állapot visszatöltése sem sikerült. Az alkalmazást biztonsági okból LEÁLLÍTVA hagytuk, hogy az adatai ne sérüljenek tovább. Vedd fel velünk a kapcsolatot — %s",
|
||||
"err.backup.db_restore_failed_rolled_back": "a(z) %s adatbázisának visszaállítása sikertelen — az adataid visszakerültek a visszaállítás előtti állapotba, az alkalmazás fut tovább. Ha újra megpróbálnád, előbb vedd fel velünk a kapcsolatot",
|
||||
"err.integrations.onlyoffice_no_subdomain": "OnlyOffice aldomain nem ismert",
|
||||
"err.integrations.occ_failed": "occ parancs sikertelen (%s): %s (kimenet: %s)",
|
||||
"err.integrations.occ_disable_failed": "occ app:disable sikertelen: %s (kimenet: %s)",
|
||||
"err.notify.hub_error": "hub hiba (%d): %s"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user