From 6fe5c8e25cf331d81710c65b10cc6118d0f977b1 Mon Sep 17 00:00:00 2001 From: VAIO73 <50487331+Vaso73@users.noreply.github.com> Date: Sun, 1 Nov 2026 14:45:22 +0000 Subject: [PATCH] i18n: clarify Slovak multi-container application documentation --- web/messages/sk/docs/oci-manager/stacks.json | 116 +++++++++---------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/web/messages/sk/docs/oci-manager/stacks.json b/web/messages/sk/docs/oci-manager/stacks.json index ce4a6bbb..cebd227a 100644 --- a/web/messages/sk/docs/oci-manager/stacks.json +++ b/web/messages/sk/docs/oci-manager/stacks.json @@ -1,7 +1,7 @@ { "meta": { "title": "Aplikácie s viacerými kontajnermi | ProxMenux", - "description": "Ako OCI manager Apps mení aplikáciu s databázou a vyrovnávacou pamäťou na koordinované natívne LXC: plán, súkromná sieť, hook závislostí, overenie a transakčné aktualizácie." + "description": "Ako OCI manager Apps inštaluje aplikáciu s databázou a vyrovnávacou pamäťou do samostatných natívnych LXC: plán, súkromná sieť, riadiaci skript závislostí, overenie a aktualizácia s obnovou pri zlyhaní." }, "header": { "title": "Aplikácie s viacerými kontajnermi", @@ -22,7 +22,7 @@ "mermaid": { "chartCode": "flowchart LR\n C[\"Docker Compose\"] --> O[\"{{plan}}\"]\n O --> A[\"{{app}}
{{appNet}}\"]\n O --> D[\"{{db}}
{{private}}\"]\n O --> R[\"{{cache}}
{{private}}\"]\n V1[(\"config\")] --> A\n V2[(\"database\")] --> D\n V3[(\"cache\")] --> R\n D --> A\n R --> A", "labels": { - "plan": "Stack plán", + "plan": "Plán inštalácie", "app": "Aplikácia LXC", "appNet": "LAN + súkromné", "db": "PostgreSQL LXC", @@ -38,7 +38,7 @@ "title": "1. Plán ešte pred vytvorením kontajnerov", "blocks": [ { - "p": "Počas spracovania definície Compose sa nevytvára žiadny LXC. Najprv vznikne úplný plán so všetkými členmi, obrazmi, VMID, sieťami, cestami, tajnými údajmi, poradím a kontrolami stavu. Ak plán nie je konzistentný, inštalácia sa nezačne." + "p": "Počas spracovania definície Compose sa nevytvára žiadny LXC. Najprv vznikne úplný plán so všetkými kontajnermi, obrazmi, VMID, sieťami, cestami, citlivými údajmi, poradím spúšťania a kontrolami stavu služieb. Ak plán nie je konzistentný, inštalácia sa nezačne." }, { "table": { @@ -49,9 +49,9 @@ ], "rows": [ [ - "Členovia", + "Kontajnery aplikácie", "Hlavná aplikácia, databáza, vyrovnávacia pamäť, strojové učenie a iné závislosti", - "Jedinečné VMID, známe úlohy a presne jeden hlavný člen" + "Jedinečné VMID, známe úlohy kontajnerov a presne jeden hlavný kontajner" ], [ "Obrazy", @@ -60,7 +60,7 @@ ], [ "Sieť", - "Súkromný most, podsieť, pevná adresa pre každú službu a prístup LAN pre hlavného člena", + "Súkromný most, podsieť, pevná adresa pre každú službu a prístup LAN pre hlavný kontajner", "Žiadna zrážka s existujúcimi mostmi alebo podsietami a žiadna opakovaná adresa" ], [ @@ -69,13 +69,13 @@ "Žiadne prekrývanie ciest, dostupné úložisko a deklarované oprávnenia" ], [ - "Tajomstvá", + "Citlivé údaje", "Heslo databázy, aplikačné kľúče a počiatočné prihlasovacie údaje", - "Generované raz a podané iba členom, ktorí ich používajú" + "Vygenerujú sa iba raz a odovzdajú sa len kontajnerom, ktoré ich používajú" ], [ "Životný cyklus", - "Poradie spúšťania, poradie zastavovania a kontrola stavu každého člena", + "Poradie spúšťania, poradie zastavovania a kontrola stavu služby v každom kontajneri", "Hlavná aplikácia sa spúšťa posledná a zastavuje prvá" ] ] @@ -85,14 +85,14 @@ }, { "id": "create", - "title": "2. Vytváranie jednotlivých členov", + "title": "2. Vytváranie jednotlivých kontajnerov", "blocks": [ { "steps": { "items": [ { "title": "Rezervujte každý VMID", - "body": "Súpis Proxmox VE a inštančný register sú kontrolované. Existujúce CT nie je prijaté a zmluva, ktorá stále patrí do inej inštancie, sa opätovne nepoužíva." + "body": "Skontroluje sa zoznam VM a kontajnerov Proxmox VE aj evidencia inštalácií. Inštalátor neprevezme existujúci kontajner a nepoužije konfiguráciu, ktorá stále patrí inej inštancii aplikácie." }, { "title": "Pripravte každý obraz", @@ -100,11 +100,11 @@ }, { "title": "Vytvoriť každý rootfs", - "body": "Importujú sa oficiálne metadáta OCI a pridá sa identita inštancie ProxMenux a rola člena." + "body": "Importujú sa oficiálne metadáta OCI a pridá sa identita inštancie ProxMenux aj úloha kontajnera v aplikácii." }, { "title": "Súkromná sieť", - "body": "Vytvorí sa most a podsieť a každý člen dostane pevnú adresu; iba hlavný člen navyše dostane rozhranie LAN." + "body": "Vytvorí sa sieťový most a podsieť. Každý kontajner dostane pevnú adresu; iba hlavný kontajner navyše dostane rozhranie LAN." }, { "title": "Perzistencia", @@ -112,11 +112,11 @@ }, { "title": "Prostredie", - "body": "Zapíšu sa interné koncové body, zdieľané tajné údaje a premenné služieb. Aplikácia pristupuje k svojim závislostiam cez ich vyhradené súkromné adresy." + "body": "Zapíšu sa interné adresy služieb, zdieľané citlivé údaje a premenné služieb. Aplikácia pristupuje k svojim závislostiam cez ich vyhradené súkromné adresy." }, { "title": "Záznam", - "body": "Každý člen zaznamenáva svoju natívnu konfiguráciu, rootfs zmeny, ktoré aktualizácie musia reprodukovať a jeho vzťah k stohu." + "body": "Pre každý kontajner sa uloží jeho natívna konfigurácia, úpravy rootfs, ktoré treba zachovať pri aktualizáciách, a príslušnosť k aplikácii." } ] } @@ -164,7 +164,7 @@ [ "Hlavná aplikácia", "Koncový bod jeho šablóny, napríklad /api/server/ping v Immich", - "Celý zásobník pracuje prostredníctvom aplikácie, ktorá používa závislosti" + "Hlavná aplikácia funguje spolu so službami, od ktorých závisí" ] ] } @@ -172,17 +172,17 @@ { "calloutWarning": { "title": "Spustený neznamená funkčný", - "body": "Stav spustené len hovorí, že proces LXC existuje. Tam, kde služba ponúka lepšiu kontrolu, sa používa exec alebo HTTP kontrola s časovým limitom. Ak člen zastaví alebo zlyhá jeho kontrola, zásobník nie je deklarovaný ako nainštalovaný." + "body": "Stav spustené znamená iba to, že proces LXC existuje. Ak služba umožňuje presnejšie overenie, použije sa kontrola príkazom exec alebo cez HTTP s časovým limitom. Ak sa niektorý kontajner zastaví alebo neprejde kontrolou, aplikácia sa neoznačí ako nainštalovaná." } } ] }, { "id": "hook", - "title": "4. Hook závislostí", + "title": "4. Riadiaci skript závislostí (hook)", "blocks": [ { - "p": "Hook sa nastaví iba na hlavnom kontajneri zostavy so závislosťami. Proxmox VE uchováva skript ako snippet a spúšťa ho ako hookscript daného CT. Recept zostavy nie je zapísaný v skripte: nachádza sa v samostatnom súkromnom kontrakte." + "p": "Riadiaci skript závislostí (hook) sa nastaví iba na hlavnom kontajneri aplikácie so závislými službami. Proxmox VE ho uchováva ako snippet a spúšťa ho ako hookscript daného CT. Postup spúšťania aplikácie nie je zapísaný v skripte: je súčasťou samostatnej súkromnej konfigurácie inštalácie." }, { "codeGrid": { @@ -192,7 +192,7 @@ "code": "hookscript: local:snippets/proxmenux-stack-dependencies.sh" }, { - "title": "Súkromná zmluva (príklad)", + "title": "Súkromná konfigurácia inštalácie (príklad)", "code": "/etc/pve/priv/proxmenux-stack-VMID.json\n{\n \"schema\": 1,\n \"stack\": \"immich\",\n \"dependencies\": [\n {\"vmid\": 107, \"label\": \"PostgreSQL\", \"healthcheck\": {...}},\n {\"vmid\": 108, \"label\": \"Valkey\", \"healthcheck\": {...}},\n {\"vmid\": 106, \"label\": \"Machine Learning\", \"healthcheck\": {...}}\n ]\n}" } ] @@ -206,21 +206,21 @@ } }, { - "p": "Skript je rovnaký pre každý zásobník. VMID, názvy, kontrolné typy a timeouty pochádzajú zo súkromného kontraktu /etc/pve/priv/proxmenux-stack-VMID.json každého zásobníka." + "p": "Skript je rovnaký pre všetky aplikácie s viacerými kontajnermi. VMID, názvy, typy kontrol a časové limity načíta zo súkromnej konfigurácie príslušnej aplikácie v /etc/pve/priv/proxmenux-stack-VMID.json." }, { "steps": { "items": [ { "title": "Proxmox VE zavolá pre-start", - "body": "Pred spustením hlavného CT sa hook spustí s jeho VMID a fázou životného cyklu." + "body": "Pred spustením hlavného CT sa riadiacemu skriptu odovzdá jeho VMID a fáza životného cyklu." }, { - "title": "Zámok na zásobník", + "title": "Zámok pre celú aplikáciu", "body": "flock na /run/lock/proxmenux-stack-VMID.lock zabraňuje dvom štartovým sekvenciám súčasne." }, { - "title": "Zmluva je prečítaná a overená", + "title": "Načítanie a overenie uloženej konfigurácie", "body": "Požaduje sa známa schéma, numerické závislosti, etikety, exec, http alebo kontrola chodu a pozitívny timeout." }, { @@ -240,8 +240,8 @@ }, { "calloutInfo": { - "title": "Háčik nezastaví závislosť", - "body": "Fázy post-start, pre-stop a post-stop nič nevykonávajú. Zastavenie hlavného CT ponechá PostgreSQL, Redis, Valkey alebo strojové učenie spustené. Hook určuje poradie spúšťania; nemení viaceré LXC na jeden proces." + "title": "Riadiaci skript nezastavuje závislé služby", + "body": "Fázy post-start, pre-stop a post-stop nič nevykonávajú. Po zastavení hlavného CT zostanú PostgreSQL, Redis, Valkey alebo služba strojového učenia spustené. Riadiaci skript určuje poradie spúšťania; nemení viaceré LXC na jeden proces." } }, { @@ -253,14 +253,14 @@ ], "rows": [ [ - "Závislý zásobník", + "Aplikácia so závislými službami", "Immich, Nextcloud, aplikácia s PostgreSQL", - "Hook hlavného CT spustí závislosti a čaká na ich pripravenosť." + "Riadiaci skript hlavného CT spustí závislé služby a čaká na ich pripravenosť." ], [ "Súprava aplikácií", "Súprava Arr", - "Žiadny hlavný člen: každý LXC sleduje svoje vlastné onboot" + "Bez hlavného kontajnera: každý LXC používa vlastné nastavenie onboot" ], [ "Samostatná aplikácia", @@ -274,19 +274,19 @@ }, { "id": "stack-checks", - "title": "5. Kontrola stohu ako celku", + "title": "5. Kontrola celej aplikácie", "blocks": [ { "list": { "items": [ "Každý VMID existuje, je jedinečný a udržiava očakávanú inštančnú identitu.", - "Každý kontrakt patrí do rovnakej zostavy, zachováva svoju rolu a zaznamenanú natívnu konfiguráciu.", - "Hlavný člen je posledný v start_order a prvý v stop_order.", - "Nechýba žiadny člen, zväzok ani úprava rootfs.", - "Hook odkazuje na oficiálny snippet, jeho obsah sa nezmenil a jeho kontrakt zodpovedá receptu zostavy.", + "Každá uložená konfigurácia patrí tej istej aplikácii a zachováva úlohu kontajnera aj jeho zaznamenanú natívnu konfiguráciu.", + "Hlavný kontajner je posledný v start_order a prvý v stop_order.", + "Nechýba žiadny kontajner, zväzok ani úprava rootfs.", + "Riadiaci skript odkazuje na oficiálny snippet, jeho obsah sa nezmenil a jeho konfigurácia zodpovedá postupu spúšťania aplikácie.", "Zistené obrazy a hodnoty digest zodpovedajú pripraveným archívom OCI.", - "Zariadenia, profily GPU, pripojenia, tajomstvá a koncové body stále zodpovedajú zmluvám.", - "Keď všetky závislosti prejdú kontrolou, koncový bod hlavnej aplikácie overí integráciu medzi členmi." + "Zariadenia, profily GPU, pripojenia, citlivé údaje a adresy služieb stále zodpovedajú uloženým konfiguráciám.", + "Keď všetky závislé služby prejdú kontrolou, kontrola na adrese hlavnej aplikácie overí spoluprácu jej kontajnerov." ] } } @@ -294,35 +294,35 @@ }, { "id": "manage", - "title": "Správa nainštalovaného zásobníka", - "intro": "V časti Spravovať nainštalované aplikácie OCI vedie každý člen k celej zostave. Ponuka obsahuje Aktualizovať všetky kontajnery aplikácie, Upraviť dodatočné cesty a zariadenia, Znova vytvoriť všetky kontajnery s uloženou konfiguráciou a Odstrániť: vymazať aplikáciu a jej kontajnery. Opätovné vytvorenie zostaví každý kontajner z pôvodného obrazu podľa uloženého digestu bez hľadania novšieho obrazu. Používa rovnaké kroky ako aktualizácia a ponúka sa pre aktualizovateľné zostavy.", + "title": "Správa nainštalovanej aplikácie", + "intro": "V časti Spravovať nainštalované aplikácie OCI sa z ktoréhokoľvek kontajnera aplikácie otvorí správa celej aplikácie. Ponuka obsahuje Aktualizovať všetky kontajnery aplikácie, Upraviť dodatočné cesty a zariadenia, Znova vytvoriť všetky kontajnery s uloženou konfiguráciou a Odstrániť: vymazať aplikáciu a jej kontajnery. Opätovné vytvorenie zostaví každý kontajner z pôvodného obrazu podľa uloženého digestu bez hľadania novšieho obrazu. Používa rovnaké kroky ako aktualizácia a ponúka sa pre aplikácie s viacerými kontajnermi, ktoré podporujú aktualizáciu.", "blocks": [ { "steps": { "items": [ { - "title": "Každý člen", - "body": "Zmluva člena menuje hlavné VMID a kompletný zoznam členov." + "title": "Ktorýkoľvek kontajner aplikácie", + "body": "Uložená konfigurácia kontajnera obsahuje VMID hlavného kontajnera a úplný zoznam kontajnerov aplikácie." }, { - "title": "Stack je reprodukovateľný", - "body": "Overia sa identity, kontrakty, hook, úpravy a koordinované opätovné vykonanie daného receptu." + "title": "Aplikáciu možno znova vytvoriť", + "body": "Overia sa identity kontajnerov, uložené konfigurácie, riadiaci skript, úpravy a možnosť zopakovať celý postup vytvorenia aplikácie." }, { "title": "Prvé obrazy", "body": "Aplikácia sa nezastaví, kým sa každý digest neurčí, nestiahne a neoverí." }, { - "title": "Zastaviť súčasti a zálohovať celú zostavu", - "body": "Overené natívne zálohy sa vytvoria pri zastavenej zostave, aby aplikácia a databázy zodpovedali rovnakému okamihu." + "title": "Zastaviť kontajnery a zálohovať celú aplikáciu", + "body": "Natívne zálohy sa vytvoria a overia pri zastavených kontajneroch, aby aplikácia a databázy zodpovedali rovnakému okamihu." }, { - "title": "Aktualizovať a skontrolovať každého člena", - "body": "Adaptácia, sieť, pripojenia, tajomstvá a zariadenia sa používajú opäť pred kontrolou stavu každého člena." + "title": "Aktualizovať a skontrolovať každý kontajner", + "body": "Pred kontrolou stavu služby v každom kontajneri sa znova použijú potrebné úpravy, sieť, pripojenia, citlivé údaje a zariadenia." }, { - "title": "Publikovať alebo obnoviť všetko", - "body": "Nové zmluvy sa uverejňujú iba vtedy, keď každý člen prejde. Ak jeden zlyhá, každý člen je obnovený." + "title": "Potvrdiť výsledok alebo všetko obnoviť", + "body": "Nové konfigurácie sa uložia ako platné až po úspešnej kontrole všetkých kontajnerov. Ak niektorý zlyhá, obnovia sa všetky kontajnery aplikácie." } ] } @@ -350,8 +350,8 @@ }, { "calloutWarning": { - "title": "Zostava bez koordinovaného opätovného vykonania sa neaktualizuje", - "body": "Ak sa príprava zásobníka nedá reprodukovať, aktualizácia sa zamietne pred zastavením zásobníka. Aplikácia funguje tak, ako je." + "title": "Aktualizácia vyžaduje možnosť znova vytvoriť celú aplikáciu", + "body": "Ak sa postup prípravy aplikácie nedá zopakovať, aktualizácia sa odmietne ešte pred zastavením jej kontajnerov. Aplikácia zostane bežať bez zmeny." } } ] @@ -361,24 +361,24 @@ "title": "6. Keď niečo zlyhá", "blocks": [ { - "p": "Ak počas inštalácie nastane chyba, zastavia a odstránia sa neúplné kontajnery vytvorené touto operáciou aj súkromný most, ak ho operácia vytvorila. Zostava sa nezverejní ako platná, kým neskončí celý postup." + "p": "Ak počas inštalácie nastane chyba, zastavia a odstránia sa neúplné kontajnery vytvorené touto operáciou aj súkromný most, ak ho operácia vytvorila. Inštalácia aplikácie sa označí ako platná až po dokončení celého postupu." }, { - "p": "Aktualizácia je transakčná: všetky obrazy sú pripravené ako prvé, potom stack zastaví, každý člen je zálohovaný a záloha overená, a len potom je každý rootfs nahradený. Členovia začínajú jeden po druhom so zdravotnou kontrolou; ak jeden zlyhá, každý člen je obnovený z rovnakého súboru záloh, takže databáza a aplikácia nikdy nepatria do rôznych momentov." + "p": "Aktualizácia sa vykonáva ako jeden celok: najprv sa pripravia všetky obrazy, potom sa zastavia kontajnery aplikácie. Každý kontajner sa zálohuje a jeho záloha sa overí. Až potom sa nahradia systémové disky rootfs. Kontajnery sa spúšťajú postupne a každý prejde kontrolou stavu služby. Ak niektorý zlyhá, všetky kontajnery sa obnovia z jednej sady záloh, aby databáza aj aplikácia zodpovedali rovnakému okamihu." }, { "mermaid": { "chartCode": "flowchart TB\n P[\"{{prepare}}\"] --> S[\"{{stop}}\"]\n S --> B[\"{{backup}}\"]\n B --> R[\"{{replace}}\"]\n R --> H{\"{{healthy}}\"}\n H -- \"{{yes}}\" --> C[\"{{commit}}\"]\n H -- \"{{no}}\" --> X[\"{{rollback}}\"]", "labels": { "prepare": "Pripravte každý obraz", - "stop": "Stop, hlavný člen prvý", + "stop": "Zastaviť, hlavný kontajner ako prvý", "backup": "Overená záloha každého CT", "replace": "Nahradiť rootfs", "healthy": "Sú všetky funkčné?", "yes": "Áno", "no": "Nie", - "commit": "Zverejniť kontrakty", - "rollback": "Obnoviť každého člena" + "commit": "Uložiť platné konfigurácie", + "rollback": "Obnoviť všetky kontajnery" } } } @@ -386,14 +386,14 @@ }, { "id": "not-assumed", - "title": "Čo zásobník nezahŕňa", + "title": "Čo správa aplikácie nezahŕňa", "blocks": [ { "list": { "items": [ - "Súprava nainštalovaná v jednom postupe, napríklad súprava Arr, nie je zostavou so závislosťami: jej kontajnery nemajú určené vzájomné poradie spúšťania.", + "Súprava nainštalovaná v jednom postupe, napríklad súprava Arr, sa líši od aplikácie so závislými službami: jej kontajnery nemajú určené vzájomné poradie spúšťania.", "Súkromná sieť nenahrádza autentifikáciu, TLS ani konfiguráciu každej aplikácie.", - "Zálohovanie jedného LXC neobsahuje most, hák ani zmluvy zvyšku zásobníka.", + "Záloha jedného LXC neobsahuje sieťový most, riadiaci skript ani uložené konfigurácie ostatných kontajnerov aplikácie.", "Prowlarr, Sonarr alebo Radarr neprijímajú žiadne indexátory, profily alebo poskytovateľov z ProxMenux." ] }