diff --git a/REPORT-app-guides-2026-10-15.md b/REPORT-app-guides-2026-10-15.md new file mode 100644 index 00000000..19f65c4c --- /dev/null +++ b/REPORT-app-guides-2026-10-15.md @@ -0,0 +1,12 @@ +# REPORT — app user guides, night of 2026-10-15 (felhom.eu side) + +The full report is `app-catalog-felhom.eu/REPORT.md`. This file is the felhom.eu half only (a second session writes +`REPORT-.md`, never the shared `REPORT.md`). + +- **Spec saved:** `documentation/audits/app-guides-2026-10-15/TASK.md` (it existed only in the operator's message). +- **Evidence:** `documentation/audits/app-guides-2026-10-15/` — `A/` pilot (label checks, Plex box check, the controller + loader on the five), `B/` every other app (label check + draft per app, the loader over all 62 shown guides), `tools/` + (labelcheck, apply_guide, validate_draft, apply_batch), `part0-redproofs.txt`, `credential-guard-redproof.txt`. +- **Rows opened:** R-1085, R-1086, R-1089, R-1090, R-1091, R-1092. R-1088 (another session's row) extended. None closed. +- **Code:** `scripts/read_credential.py` + its test — the same-file guard (R-1088), red-proved. +- **STATUS:** one „works" line, D11 and D12, and the „read the Plex and Sonarr guide" line. diff --git a/STATUS.md b/STATUS.md index e695ae66..f0ffd791 100644 --- a/STATUS.md +++ b/STATUS.md @@ -6,6 +6,7 @@ `documentation/backlog/STATUS-HISTORY.md`. Reports: `REPORT-night-2026-10-14.md`, `REPORT-immich-rollout-2026-10-14.md`, `REPORT-seo-felho-tarhely-2026-10-14.md`, `REPORT-immich-repair-2026-10-14.md`, `REPORT-power-cut-fixes-2026-10-14.md`, `REPORT-night-power-2026-10-13.md`, `REPORT-poweroff.md`. ## What works +- **Every app but three has a user guide and an FAQ, in Hungarian and English** (catalog, 2026-10-15 night): the „Útmutató” tab shows it on boxes with controller 0.315.0 or newer. Every button name in a guide was checked in the app's own files at the version we ship; a guide that could not be checked stays hidden (plant-it, home-assistant), and Emby has none (R-1092). - **The N100 is the lived-in box** (since 2026-10-15): used like a household's box, changed only through the product. qBittorrent, Prowlarr, Sonarr and Radarr are installed and linked by the box; films never go off-site (checked before any download). Its diary: `documentation/lived-in/n100.md`. - A restored app comes back exactly as safe as it was at the backup: closed to strangers until its first account is made (0.314.0, proven on the scratch box). A box on a test build now moves with the floor (Tester 1 did, by itself). The box claims Plex again (demo-hp's Plex claimed through the dashboard, 2026-10-15). A brand-new box from the public installer updated itself to the floor 3 minutes after it was linked (test box, since removed). - Scripts use the hub with a scoped token, not your password (hub 0.153.0): CC sets the floor with its own token; no token can see a secret, delete anything, or send, make or show a household's password or link. Your new hub password is yours alone (changed 2026-10-15). @@ -47,8 +48,11 @@ | D8 | R-206 | Install DooPlex's Docker settings from git (restarts Docker), and prune the build cache weekly: yes or no? | **Yes, in a quiet window** | — | a rebuild of DooPlex still has the settings in git | — | | D9 | R-1062 | The N100's USB drive is also its whole-box backup drive. Split it in two anyway? | **No — keep one drive**; the lived-in box keeps its nightly whole-box backup | Split: the box loses its local whole-box backup (or add a second drive first) | it stays one drive; multi-drive tests stay on Tester 1 | — | | D10 | R-1079 | Build B space check (`audits/storage-identity-buildB-2026-10-15/SPACE-CHECK.md` §4): data volume 50 / 100 / 130 GiB, reserve max(16 GiB, 10 %) capped at 48 GiB → the household's own data area ≈ 42 GB (256 GB disk), 182 (512), 590 (1 TB), 1,510 (2 TB) | **ok** | The design's numbers: 22 / 152 / 438 / 1,266 GB | the installer part of build B waits | build B | +| D11 | R-1086 | qBittorrent's first steps say „set your own password”, but then the box can no longer link it to Sonarr and Radarr. Stop advising the change, or let the box ask for the new password? | **Stop advising it** — the generated password is long and shown on the dashboard | The box asks: a new card and controller work | a household that follows the advice loses its automatic downloads without being told | — | +| D12 | R-1091 (1), (2) | Cal.com promises Google/Outlook calendar sync that is not set up, and BentoPDF says files are processed „on the server” (they are processed in the browser). Reword both to what is true? | **Yes, reword** | Keep: two promises that are not true | the app pages keep saying it | — | ## Waiting on you — do +- **Olvasd el a Plex és a Sonarr útmutatót a demo-hp-n** (az alkalmazás oldalán az „Útmutató” fül). Ha más formát szeretnél, egy menetben átírom mind a 62-t. Ha nem nézed meg: a szöveg ellenőrzött, de ember még nem olvasta a képernyőn — a robot a DooPlexen nem tud bejelentkezni, mert a jelszófájl üres (R-1088). - **Rotate CC's hub token and restore CC's credentials file (R-1088).** A session overwrote the file with the token at 22:03; all other keys are gone, and the token was printed once into a transcript. If not: CC cannot log in to any box dashboard, and a printed token stays valid. - **Vouch agent 0.157.0 and its config bundle** (hub → Configuration → Artifacts). Then CC raises the global floor to controller 0.317.0 with MinAgent 0.157.0 and clears the three per-box floors. If not: households stay on 0.314.0 and keep counting a same-disk copy as a second copy; the three test boxes keep their own floor. - **Rule on R-1082:** the drives page still offers `/mnt/sys_drive` to attach, but the design you accepted says household data must not go there. Pick: **hide it** (my pick — films there would ride in every whole-box backup) or keep it until build B gives one-disk boxes their own place. If not: a household can still put films into the whole-box backup. diff --git a/documentation/audits/app-guides-2026-10-15/A/loader-check.txt b/documentation/audits/app-guides-2026-10-15/A/loader-check.txt new file mode 100644 index 00000000..8855925e --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/A/loader-check.txt @@ -0,0 +1,11 @@ +# The real catalog templates through felhom-controller's own loader (LoadMetadata, For("en"), GuideOverlayExtras) +# controller source: 123d2d5 (v0.317.0, the version demo-hp 9201 runs); catalog: 2b8d805 +# run in a throwaway copy (git archive); the test file is tools/loader_check_test.go.txt; nothing committed to the controller +=== RUN TestScratch_RealCatalogGuides + zz_catalog_guide_scratch_test.go:21: plex: rendered=true checked="1.41.4.9463-630c9f557" sections=4 faq=6 | en: sections=4 faq=6 first="Watch on a TV or a phone" extras=0/0 + zz_catalog_guide_scratch_test.go:21: sonarr: rendered=true checked="4.0.20" sections=4 faq=6 | en: sections=4 faq=6 first="Add your first series" extras=0/0 + zz_catalog_guide_scratch_test.go:21: radarr: rendered=true checked="6.4.4" sections=4 faq=6 | en: sections=4 faq=6 first="Add your first film" extras=0/0 + zz_catalog_guide_scratch_test.go:21: prowlarr: rendered=true checked="version-2.6.5.5623" sections=4 faq=5 | en: sections=4 faq=5 first="Add your first source" extras=0/0 + zz_catalog_guide_scratch_test.go:21: qbittorrent: rendered=true checked="5.2.4-1" sections=4 faq=5 | en: sections=4 faq=5 first="Add a torrent" extras=0/0 +--- PASS: TestScratch_RealCatalogGuides (0.01s) +ok gitea.dooplex.hu/admin/felhom-controller/internal/stacks 0.013s diff --git a/documentation/audits/app-guides-2026-10-15/B/actualbudget-draft.json b/documentation/audits/app-guides-2026-10-15/B/actualbudget-draft.json new file mode 100644 index 00000000..addb28ee --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/actualbudget-draft.json @@ -0,0 +1,107 @@ +{ + "app": "actualbudget", + "checked_version": "26.9.0", + "corpus_note": "actualbudget/actual@v26.9.0 (59fe126): packages/desktop-client/src, packages/component-library/src, packages/docs/docs for facts; default UI language: English (the app follows the browser language, but the image drops every translation under 50 % complete; Hungarian had 40 of 2698 strings near the release, so a Hungarian browser sees English)", + "hu": { + "sections": [ + {"title": "Banki kivonat betöltése", + "intro": "Nem kell minden tételt kézzel beírnod: a netbankból letöltött fájlt az Actual be tudja olvasni.", + "steps": [ + "A netbankodban töltsd le a számla tételeit CSV, OFX, QFX, QIF vagy CAMT fájlként.", + "Az ActualBudget bal oldali sávjában kattints a számla nevére.", + "Kattints az „Import” (Importálás) gombra, és válaszd ki a letöltött fájlt.", + "CSV fájlnál párosítsd az oszlopokat (dátum, partner, összeg), és nézd meg, jól olvassa-e a dátumot.", + "Indítsd az importálást az ablak alján lévő gombbal. A már meglévő tételeket az Actual nem veszi fel újra." + ]}, + {"title": "A havi keret beosztása", + "intro": "Minden forintnak adj feladatot: a bevételt szétosztod a kategóriák között.", + "steps": [ + "A bal oldali sávban nyisd meg a „Budget” (Költségvetés) oldalt.", + "Egy kategória sorában kattints a „Budgeted” (Betervezett) oszlopba, és írd be, mennyit szánsz rá ebben a hónapban.", + "Folytasd a többi kategóriával, amíg a „To Budget” (Beosztandó) összeg nulla nem lesz.", + "A „Spent” (Elköltött) oszlop mutatja, mennyit költöttél, a „Balance” (Egyenleg) pedig, mennyi maradt." + ]}, + {"title": "Rendszeres számlák felvétele", + "intro": "A havonta visszatérő tételeket, például a lakbért vagy a villanyszámlát, előre beállíthatod.", + "steps": [ + "A bal oldali sávban nyisd meg a „Schedules” (Ütemezések) oldalt.", + "Kattints az „Add new schedule” (Új ütemezés) gombra.", + "Töltsd ki a „Payee” (Partner), az „Account” (Számla), az „Amount” (Összeg) és a „Date” (Dátum) mezőt.", + "Jelöld be a „Repeats” (Ismétlődik) jelölőt, és válaszd ki, milyen gyakran jön a tétel.", + "Kattints az „Add” (Hozzáadás) gombra. A közelgő tételeket a számla listájában is látod." + ]}, + {"title": "Telefonon és a családdal", + "intro": "A háztartás minden tagja ugyanazt a költségvetést látja, bármelyik eszközről.", + "steps": [ + "A telefonon nyisd meg a budget.DOMAIN címet a böngészőben.", + "Írd be a szerver jelszavát, és kattints a „Sign in” (Bejelentkezés) gombra.", + "Válaszd ki a költségvetési fájlt. Amit bárki módosít, az a többi eszközre is átkerül.", + "A böngésző menüjében add hozzá az oldalt a kezdőképernyőhöz, így appként indul.", + "A jelszót jobb felül, a szerver állapotára kattintva, a „Change password” (Jelszó módosítása) ponttal cserélheted le." + ]} + ], + "faq": [ + {"q": "Hol látom, mire ment el a pénz?", + "a": "A bal oldali sávban a „Reports” (Kimutatások) oldalon. Itt van a „Cash Flow” (Pénzmozgás) és a „Net Worth” (Nettó vagyon) grafikon is."}, + {"q": "Össze tudom kötni a bankommal?", + "a": "Az Actual néhány külső banki szolgáltatással tud kapcsolódni, ehhez saját fiók kell náluk; a doboz ezt nem állítja be. A legegyszerűbb a netbankból letöltött fájl betöltése."}, + {"q": "Kaphat mindenki saját belépést?", + "a": "Alapból nem: az egész háztartás ugyanazzal a szerverjelszóval lép be, és ugyanazt a fájlt látja. Külön felhasználókhoz az Actual külső bejelentkező szolgáltatást kér, ezt a doboz nem állítja be."}, + {"q": "Működik internet nélkül is?", + "a": "Igen. Az Actual a te eszközödön is tárolja az adatokat, és amikor a doboz újra elérhető, szinkronizál."}, + {"q": "Hogyan mentek ki egy példányt a költségvetésről?", + "a": "A „Settings” (Beállítások) oldalon az „Export data” (Adatok exportálása) gomb egy zip fájlba menti. A doboz saját mentéseit a vezérlőpulton, az „Adatok és mentés” fülön látod."} + ] + }, + "en": { + "sections": [ + {"title": "Load a bank statement", + "intro": "You do not have to type in every item by hand: Actual can read the file you download from your online bank.", + "steps": [ + "In your online bank, download the account items as a CSV, OFX, QFX, QIF or CAMT file.", + "In the ActualBudget sidebar on the left, select the name of the account.", + "Select „Import” and choose the file you downloaded.", + "For a CSV file, match the columns (date, payee, amount) and check that the date reads correctly.", + "Start the import with the button at the bottom of the window. Actual does not add items it already has." + ]}, + {"title": "Plan the month", + "intro": "Give every unit of money a job: you share your income out between the categories.", + "steps": [ + "In the sidebar on the left, open the „Budget” page.", + "In the row of a category, select the „Budgeted” column and type how much you set aside for it this month.", + "Go on with the other categories until the „To Budget” amount is zero.", + "The „Spent” column shows what you spent, and „Balance” shows what is left." + ]}, + {"title": "Add regular bills", + "intro": "You can set up items that come back every month, such as the rent or the electricity bill, in advance.", + "steps": [ + "In the sidebar on the left, open the „Schedules” page.", + "Select „Add new schedule”.", + "Fill in the „Payee”, „Account”, „Amount” and „Date” fields.", + "Tick „Repeats” and choose how often the item comes.", + "Select „Add”. You also see the upcoming items in the account's list." + ]}, + {"title": "On a phone and with the family", + "intro": "Everyone in the household sees the same budget, from any device.", + "steps": [ + "On the phone, open budget.DOMAIN in the browser.", + "Type the server password and select „Sign in”.", + "Choose the budget file. What anyone changes reaches the other devices too.", + "In the browser's menu, add the page to the home screen so it starts like an app.", + "To change the password, select the server status at the top right and choose „Change password”." + ]} + ], + "faq": [ + {"q": "Where do I see what the money went on?", + "a": "On the „Reports” page in the sidebar on the left. The „Cash Flow” and „Net Worth” graphs are there too."}, + {"q": "Can I connect it to my bank?", + "a": "Actual can connect through a few outside bank services, and you need your own account with them; the box does not set this up. The simplest way is to load the file from your online bank."}, + {"q": "Can everyone have their own login?", + "a": "Not by default: the whole household signs in with the same server password and sees the same file. For separate users Actual needs an outside sign-in service, and the box does not set that up."}, + {"q": "Does it work without the internet?", + "a": "Yes. Actual also keeps the data on your own device, and it syncs when the box can be reached again."}, + {"q": "How do I save a copy of the budget?", + "a": "On the „Settings” page, „Export data” saves it into a zip file. You see the box's own backups on the dashboard, on the „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/actualbudget-labels.txt b/documentation/audits/app-guides-2026-10-15/B/actualbudget-labels.txt new file mode 100644 index 00000000..272d2f83 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/actualbudget-labels.txt @@ -0,0 +1,50 @@ +corpus_note: actualbudget/actual@v26.9.0 (59fe126): packages/desktop-client/src, packages/component-library/src, packages/docs/docs for facts; default UI language: English (the app follows the browser language, but the image drops every translation under 50 % complete; Hungarian had 40 of 2698 strings near the release, so a Hungarian browser sees English) +guide on the box: shown +app: actualbudget checked against: 26.9.0 +corpora: actualbudget/actual@v26.9.0:packages/desktop-client/src actualbudget/actual@v26.9.0:packages/component-library/src felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 44 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Import” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/reports/Overview.tsx:729 +OK [hu] „Budget” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/FinancesApp.tsx:265 +OK [hu] „Budgeted” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/tour/steps.tsx:145 +OK [hu] „To Budget” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/tour/steps.tsx:124 +OK [hu] „Spent” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/reports/spreadsheets/budget-analysis-export.ts:21 +OK [hu] „Balance” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/transactions/TransactionsTable.tsx:323 +OK [hu] „Schedules” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/FinancesApp.tsx:277 +OK [hu] „Add new schedule” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/schedules/index.tsx:148 +OK [hu] „Payee” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/transactions/SimpleTransactionsTable.tsx:243 +OK [hu] „Account” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/FinancesApp.tsx:401 +OK [hu] „Amount” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/transactions/SimpleTransactionsTable.tsx:267 +OK [hu] „Date” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/transactions/SimpleTransactionsTable.tsx:231 +OK [hu] „Repeats” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/schedules/ScheduleEditForm.tsx:317 +OK [hu] „Add” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/transactions/TransactionsTable.tsx:2571 +OK [hu] „Sign in” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/manager/subscribe/Login.tsx:85 +OK [hu] „Change password” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/LoggedInUser.tsx:198 +OK [hu] „Reports” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/CommandBar.tsx:109 +OK [hu] „Cash Flow” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/reports/reports/CashFlowCard.tsx:158 +OK [hu] „Net Worth” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/reports/reports/NetWorthCard.tsx:117 +OK [hu] „Settings” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/CommandBar.tsx:122 +OK [hu] „Export data” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/settings/Export.tsx:53 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Import” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/reports/Overview.tsx:729 +OK [en] „Budget” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/FinancesApp.tsx:265 +OK [en] „Budgeted” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/tour/steps.tsx:145 +OK [en] „To Budget” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/tour/steps.tsx:124 +OK [en] „Spent” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/reports/spreadsheets/budget-analysis-export.ts:21 +OK [en] „Balance” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/transactions/TransactionsTable.tsx:323 +OK [en] „Schedules” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/FinancesApp.tsx:277 +OK [en] „Add new schedule” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/schedules/index.tsx:148 +OK [en] „Payee” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/transactions/SimpleTransactionsTable.tsx:243 +OK [en] „Account” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/FinancesApp.tsx:401 +OK [en] „Amount” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/transactions/SimpleTransactionsTable.tsx:267 +OK [en] „Date” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/transactions/SimpleTransactionsTable.tsx:231 +OK [en] „Repeats” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/schedules/ScheduleEditForm.tsx:317 +OK [en] „Add” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/transactions/TransactionsTable.tsx:2571 +OK [en] „Sign in” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/manager/subscribe/Login.tsx:85 +OK [en] „Change password” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/LoggedInUser.tsx:198 +OK [en] „Reports” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/CommandBar.tsx:109 +OK [en] „Cash Flow” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/reports/reports/CashFlowCard.tsx:158 +OK [en] „Net Worth” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/reports/reports/NetWorthCard.tsx:117 +OK [en] „Settings” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/CommandBar.tsx:122 +OK [en] „Export data” actualbudget/actual@v26.9.0:packages/desktop-client/src/components/settings/Export.tsx:53 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 44 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/adventurelog-draft.json b/documentation/audits/app-guides-2026-10-15/B/adventurelog-draft.json new file mode 100644 index 00000000..34c8e24a --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/adventurelog-draft.json @@ -0,0 +1,103 @@ +{ + "app": "adventurelog", + "checked_version": "v0.13.0", + "corpus_note": "seanmorley15/AdventureLog@v0.13.0 (fe6f858): frontend/src (Svelte UI) with frontend/src/locales/en.json and hu.json; documentation/docs for facts; default UI language: browser language, Hungarian available (hu.json has every key of en.json), so HU text uses the Hungarian labels and EN text the English ones", + "hu": { + "sections": [ + {"title": "Egy utazás megtervezése", + "intro": "Egy dátumos gyűjtemény teljes útitervvé válik: helyek, szállás és közlekedés egy helyen.", + "steps": [ + "A felső sávban nyisd meg a „Gyűjtemények” oldalt.", + "Kattints a jobb alsó sarokban a plusz gombra, és válaszd a „Gyűjtemény” pontot.", + "Add meg a „Név”, a „Kezdés dátuma” és a „Befejezés dátuma” mezőt, majd kattints a „Mentés” gombra.", + "Nyisd meg a gyűjteményt, és az „Új hozzáadása...” menüben vegyél fel helyet, „Szállás”, „Közlekedés” vagy „Ellenőrzőlista” tételt, például egy csomaglistát.", + "A gyűjtemény kártyájának menüjében a „PDF letöltése” ponttal nyomtatható, napokra bontott útitervet kapsz." + ]}, + {"title": "Fotók és látogatás egy helyhez", + "intro": "Egy helyhez képeket és látogatásokat adhatsz, így lesz belőle emlék.", + "steps": [ + "A hely kártyájának menüjében válaszd a „Hely szerkesztése” pontot.", + "A „Média” lépésben kattints a „Feltöltés eszközről” lehetőségre, és válaszd ki a fotókat.", + "A „Látogatások” lépésben add meg, mikor jártál ott, és írj hozzá jegyzetet.", + "Kattints a „Látogatás hozzáadása” gombra, majd a „Kész” gombra." + ]}, + {"title": "Meglátogatott országok és régiók", + "intro": "A világtérképen látod, hol jártál már, és mennyi van még hátra.", + "steps": [ + "A felső sávban nyisd meg a „Világutazás” oldalt.", + "Keresd meg az országot, és kattints a kártyájára.", + "A régiók listájában kattints a pipára („Megjelölés látogatottként”) mindenhol, ahol jártál.", + "Az ország kártyája mutatja, hány régióját láttad már." + ]}, + {"title": "Utazás megosztása a családdal", + "intro": "Egy gyűjteményt megoszthatsz a család egy másik tagjával, így közösen tervezhettek.", + "steps": [ + "A családtag a saját fiókjában nyissa meg a „Beállítások” oldalt, kapcsolja be a „Nyilvános profil” kapcsolót, és kattintson a „Frissítés” gombra.", + "Te a gyűjtemény kártyájának menüjében válaszd a „Megosztás” pontot.", + "Az „Elérhető felhasználók” listában kattints a családtag mellett a „Meghívás küldése” gombra.", + "A családtag a „Gyűjtemények” oldal „Meghívók” lapján kattint az „Elfogadás” gombra." + ]} + ], + "faq": [ + {"q": "Hogyan kap fiókot a családtagom?", + "a": "Idegen nem regisztrálhat: a doboz ezt lezárta. A vezérlőpulton nyisd meg a regisztrációt 15 percre, és a családtagod a saját címével regisztrál."}, + {"q": "Látják mások a helyeimet?", + "a": "Nem: egy új hely vagy gyűjtemény privát. Ha a gyűjteménynél bekapcsolod a „Nyilvános gyűjtemény” kapcsolót, a link birtokában bárki megnézheti."}, + {"q": "Mi a különbség a tervezett és a látogatott hely között?", + "a": "Ha egy helynek nincs látogatása, vagy csak jövőbeli, akkor tervezett. Amint van múltbeli dátumú látogatása, látogatottnak számít."}, + {"q": "Át tudom állítani a nyelvet?", + "a": "Igen. Az AdventureLog a böngésződ nyelvét követi, de a felső sáv menüjében a „Nyelv” pontnál másikat is választhatsz."}, + {"q": "Hová kerülnek a feltöltött fotók?", + "a": "A dobozra, az AdventureLog saját tárhelyére. A doboz mentéseit a vezérlőpulton, az „Adatok és mentés” fülön látod."} + ] + }, + "en": { + "sections": [ + {"title": "Plan a trip", + "intro": "A collection with dates becomes a full itinerary: places, lodging and transport in one place.", + "steps": [ + "In the top bar, open the „Collections” page.", + "Select the plus button in the bottom right corner and choose „Collection”.", + "Fill in „Name”, „Start Date” and „End Date”, then select „Save”.", + "Open the collection, and in the „Add New...” menu add a place, „Lodging”, „Transportation” or a „Checklist”, for example a packing list.", + "In the menu of the collection's card, „Download PDF” gives you a printable itinerary, day by day." + ]}, + {"title": "Photos and a visit for a place", + "intro": "You can add pictures and visits to a place, so it becomes a memory.", + "steps": [ + "In the menu of the place's card, choose „Edit Location”.", + "In the „Media” step, select „Upload From Device” and choose the photos.", + "In the „Visits” step, give the dates you were there and add a note.", + "Select „Add Visit”, then „Done”." + ]}, + {"title": "Countries and regions you visited", + "intro": "The world map shows where you have been and how much is still left.", + "steps": [ + "In the top bar, open the „World Travel” page.", + "Find the country and select its card.", + "In the list of regions, select the tick („Mark Visited”) everywhere you have been.", + "The country's card shows how many of its regions you have seen." + ]}, + {"title": "Share a trip with the family", + "intro": "You can share a collection with another family member, so you plan it together.", + "steps": [ + "In their own account, the family member opens the „Settings” page, turns on „Public Profile” and selects „Update”.", + "In the menu of the collection's card, you choose „Share”.", + "In the „Available Users” list, select „Send Invite” next to the family member.", + "The family member selects „Accept” on the „Invites” tab of the „Collections” page." + ]} + ], + "faq": [ + {"q": "How does a family member get an account?", + "a": "Strangers cannot sign up: the box closed that. On the dashboard, open sign-up for 15 minutes, and your family member signs up with their own address."}, + {"q": "Can others see my places?", + "a": "No: a new place or collection is private. If you turn on „Public Collection” for a collection, anyone with the link can view it."}, + {"q": "What is the difference between a planned and a visited place?", + "a": "A place with no visit, or only a future one, is planned. As soon as it has a visit with a past date, it counts as visited."}, + {"q": "Can I change the language?", + "a": "Yes. AdventureLog follows your browser's language, but you can choose another one under „Language” in the menu of the top bar."}, + {"q": "Where do the uploaded photos go?", + "a": "Onto the box, into AdventureLog's own storage. You see the box's backups on the dashboard, on the „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/adventurelog-labels.txt b/documentation/audits/app-guides-2026-10-15/B/adventurelog-labels.txt new file mode 100644 index 00000000..cb02cc6b --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/adventurelog-labels.txt @@ -0,0 +1,66 @@ +corpus_note: seanmorley15/AdventureLog@v0.13.0 (fe6f858): frontend/src (Svelte UI) with frontend/src/locales/en.json and hu.json; documentation/docs for facts; default UI language: browser language, Hungarian available (hu.json has every key of en.json), so HU text uses the Hungarian labels and EN text the English ones +guide on the box: shown +app: adventurelog checked against: v0.13.0 +corpora: seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 60 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Gyűjtemények” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:3 +OK [hu] „Gyűjtemény” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:95 +OK [hu] „Név” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:112 +OK [hu] „Kezdés dátuma” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:129 +OK [hu] „Befejezés dátuma” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:128 +OK [hu] „Mentés” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:867 +OK [hu] „Új hozzáadása...” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:198 +OK [hu] „Szállás” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:185 +OK [hu] „Közlekedés” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:199 +OK [hu] „Ellenőrzőlista” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:201 +OK [hu] „PDF letöltése” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:499 +OK [hu] „Hely szerkesztése” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:88 +OK [hu] „Média” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:758 +OK [hu] „Feltöltés eszközről” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:276 +OK [hu] „Látogatások” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:104 +OK [hu] „Látogatás hozzáadása” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:367 +OK [hu] „Kész” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:163 +OK [hu] „Világutazás” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:31 +OK [hu] „Megjelölés látogatottként” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:192 +OK [hu] „Beállítások” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:10 +OK [hu] „Nyilvános profil” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:598 +OK [hu] „Frissítés” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:632 +OK [hu] „Megosztás” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:153 +OK [hu] „Elérhető felhasználók” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:1104 +OK [hu] „Meghívás küldése” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:1101 +OK [hu] „Meghívók” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:1305 +OK [hu] „Elfogadás” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:1309 +OK [hu] „Nyilvános gyűjtemény” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:831 +OK [hu] „Nyelv” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/hu.json:14 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Collections” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:3 +OK [en] „Collection” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:131 +OK [en] „Name” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:148 +OK [en] „Start Date” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:167 +OK [en] „End Date” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:166 +OK [en] „Save” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:868 +OK [en] „Add New...” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:255 +OK [en] „Lodging” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:242 +OK [en] „Transportation” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:256 +OK [en] „Checklist” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:258 +OK [en] „Download PDF” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:510 +OK [en] „Edit Location” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:88 +OK [en] „Media” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:802 +OK [en] „Upload From Device” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:350 +OK [en] „Visits” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:140 +OK [en] „Add Visit” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:452 +OK [en] „Done” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:210 +OK [en] „World Travel” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:19 +OK [en] „Mark Visited” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:249 +OK [en] „Settings” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:10 +OK [en] „Public Profile” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:600 +OK [en] „Update” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:633 +OK [en] „Share” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:200 +OK [en] „Available Users” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:1105 +OK [en] „Send Invite” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:1102 +OK [en] „Accept” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:1338 +OK [en] „Invites” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:1334 +OK [en] „Public Collection” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:832 +OK [en] „Language” seanmorley15/AdventureLog@v0.13.0:frontend/src/locales/en.json:14 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 60 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/audiobookshelf-draft.json b/documentation/audits/app-guides-2026-10-15/B/audiobookshelf-draft.json new file mode 100644 index 00000000..ad264328 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/audiobookshelf-draft.json @@ -0,0 +1,99 @@ +{ + "app": "audiobookshelf", + "checked_version": "2.37.1", + "corpus_note": "advplyr/audiobookshelf@v2.37.1 (3563d49): client/strings/en-us.json, client/pages, client/components, client/plugins; default UI language: English (client/plugins/i18n.js defaults to en-us; Hungarian exists but only when a user or the admin picks it), so HU text gives the English label with the Hungarian meaning", + "hu": { + "sections": [ + {"title": "Hangoskönyv feltöltése", + "intro": "A könyveket a böngészőből is feltöltheted, nem kell a meghajtóhoz nyúlnod.", + "steps": [ + "A felső sávban kattints az „Upload” (Feltöltés) ikonra.", + "Válaszd ki a „Library” (Könyvtár) és a „Folder” (Mappa) mezőben, hová kerüljön a könyv.", + "Kattints a „Choose a folder” (Mappa kiválasztása) gombra, és válaszd ki a könyv mappáját. Egy könyv egy mappa legyen.", + "Nézd át a címet és a szerzőt, majd kattints az „Upload” (Feltöltés) gombra." + ]}, + {"title": "Családtag hozzáadása", + "intro": "Mindenki a saját fiókjával hallgat, így mindenkinek megvan, hol tart.", + "steps": [ + "A felső sávban kattints a fogaskerékre („Settings”, Beállítások).", + "A bal oldali menüben nyisd meg a „Users” (Felhasználók) oldalt, és kattints az „Add User” (Felhasználó hozzáadása) gombra.", + "Add meg a „Username” (Felhasználónév) és a „Password” (Jelszó) mezőt. Az „Account Type” (Fióktípus) maradjon „User” (Felhasználó).", + "Kattints a „Submit” (Küldés) gombra, és add át a családtagnak a nevet és a jelszót." + ]}, + {"title": "Feliratkozás egy podcastra", + "intro": "A podcast könyvtár magától letölti az új epizódokat.", + "steps": [ + "Nyisd meg a podcast könyvtárat, és a bal oldali sávban kattints az „Add” (Hozzáadás) pontra.", + "Írd be a podcast nevét, és kattints a „Submit” (Küldés) gombra.", + "Válaszd ki a podcastot a találatok közül.", + "Kapcsold be az „Auto Download Episodes” (Epizódok automatikus letöltése) kapcsolót, és kattints a „Submit” gombra." + ]}, + {"title": "Rossz borító vagy cím javítása", + "intro": "Ha egy könyv adatai hibásak, az Audiobookshelf megkeresi a helyeseket.", + "steps": [ + "Nyisd meg a könyvet, és kattints a ceruza ikonra („Edit”, Szerkesztés).", + "Válaszd a „Match” (Egyeztetés) lapot, és kattints a „Search” (Keresés) gombra.", + "Válaszd ki a helyes találatot, jelöld be, mit vegyen át, és kattints a „Submit” gombra." + ]} + ], + "faq": [ + {"q": "Hol folytatom, ahol abbahagytam?", + "a": "A „Home” (Kezdőlap) oldalon a „Continue Listening” (Hallgatás folytatása) sorban. A helyed a böngésző és a telefonos app között is szinkronban marad."}, + {"q": "Hogyan kötöm be a telefonos appot?", + "a": "Nyisd meg az Audiobookshelf appot, szerver címnek add meg az audiobooks.DOMAIN címet, majd a saját felhasználóneved és jelszavad."}, + {"q": "Be tudom állítani, hogy elalvás előtt leálljon?", + "a": "Igen: a lejátszó sávjában az ébresztőóra ikonra („Sleep timer”, Alvásidőzítő) kattintva megadhatod, mikor álljon le."}, + {"q": "Átállíthatom magyarra?", + "a": "Igen. A saját fiókod oldalán a „Language” (Nyelv) mezőben válaszd a „Magyar” nyelvet. Ez az útmutató az angol feliratokat mutatja."}, + {"q": "Hová kerülnek a könyvek?", + "a": "A meghajtód media/audiobooks, a podcastok a media/podcasts mappájába. A doboz mentéseit a vezérlőpulton, az „Adatok és mentés” fülön látod."} + ] + }, + "en": { + "sections": [ + {"title": "Upload an audiobook", + "intro": "You can upload books from the browser too, without touching the drive.", + "steps": [ + "In the top bar, select the „Upload” icon.", + "In „Library” and „Folder”, choose where the book goes.", + "Select „Choose a folder” and choose the book's folder. Keep one book in one folder.", + "Check the title and the author, then select „Upload”." + ]}, + {"title": "Add a family member", + "intro": "Everyone listens with their own account, so everyone keeps their own place.", + "steps": [ + "In the top bar, select the gear („Settings”).", + "In the menu on the left, open the „Users” page and select „Add User”.", + "Fill in „Username” and „Password”. Leave „Account Type” on „User”.", + "Select „Submit”, and give the family member the name and the password." + ]}, + {"title": "Subscribe to a podcast", + "intro": "The podcast library downloads new episodes by itself.", + "steps": [ + "Open the podcast library, and in the bar on the left select „Add”.", + "Type the name of the podcast and select „Submit”.", + "Choose the podcast from the results.", + "Turn on „Auto Download Episodes” and select „Submit”." + ]}, + {"title": "Fix a wrong cover or title", + "intro": "If the details of a book are wrong, Audiobookshelf finds the right ones.", + "steps": [ + "Open the book and select the pencil icon („Edit”).", + "Choose the „Match” tab and select „Search”.", + "Choose the right result, tick what it takes over, and select „Submit”." + ]} + ], + "faq": [ + {"q": "Where do I carry on where I stopped?", + "a": "On the „Home” page, in the „Continue Listening” row. Your place stays in sync between the browser and the phone app."}, + {"q": "How do I connect the phone app?", + "a": "Open the Audiobookshelf app, give audiobooks.DOMAIN as the server address, then your own username and password."}, + {"q": "Can I make it stop before I fall asleep?", + "a": "Yes: in the player bar, select the alarm clock icon („Sleep timer”) and set when it stops."}, + {"q": "Can I switch it to Hungarian?", + "a": "Yes. On your own account page, choose Hungarian in the „Language” field. This guide shows the English labels."}, + {"q": "Where do the books go?", + "a": "Into the media/audiobooks folder of your drive, and the podcasts into media/podcasts. You see the box's backups on the dashboard, on the „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/audiobookshelf-labels.txt b/documentation/audits/app-guides-2026-10-15/B/audiobookshelf-labels.txt new file mode 100644 index 00000000..3585c18b --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/audiobookshelf-labels.txt @@ -0,0 +1,51 @@ +corpus_note: advplyr/audiobookshelf@v2.37.1 (3563d49): client/strings/en-us.json, client/pages, client/components, client/plugins; default UI language: English (client/plugins/i18n.js defaults to en-us; Hungarian exists but only when a user or the admin picks it), so HU text gives the English label with the Hungarian meaning +guide on the box: shown +app: audiobookshelf checked against: 2.37.1 +corpora: advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json advplyr/audiobookshelf@v2.37.1:client/plugins advplyr/audiobookshelf@v2.37.1:client/pages advplyr/audiobookshelf@v2.37.1:client/components felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 45 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Upload” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:111 +OK [hu] „Library” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:47 +OK [hu] „Folder” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:384 +OK [hu] „Choose a folder” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:21 +OK [hu] „Settings” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:200 +OK [hu] „Users” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:221 +OK [hu] „Add User” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:8 +OK [hu] „Username” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:721 +OK [hu] „Password” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:509 +OK [hu] „Account Type” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:228 +OK [hu] „User” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:231 +OK [hu] „Submit” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:108 +OK [hu] „Add” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:2 +OK [hu] „Auto Download Episodes” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:260 +OK [hu] „Edit” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:33 +OK [hu] „Match” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:166 +OK [hu] „Search” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:98 +OK [hu] „Home” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:42 +OK [hu] „Continue Listening” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:297 +OK [hu] „Sleep timer” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:635 +OK [hu] „Language” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:424 +OK [hu] „Magyar” advplyr/audiobookshelf@v2.37.1:client/plugins/i18n.js:26 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Upload” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:111 +OK [en] „Library” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:47 +OK [en] „Folder” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:384 +OK [en] „Choose a folder” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:21 +OK [en] „Settings” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:200 +OK [en] „Users” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:221 +OK [en] „Add User” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:8 +OK [en] „Username” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:721 +OK [en] „Password” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:509 +OK [en] „Account Type” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:228 +OK [en] „User” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:231 +OK [en] „Submit” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:108 +OK [en] „Add” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:2 +OK [en] „Auto Download Episodes” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:260 +OK [en] „Edit” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:33 +OK [en] „Match” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:166 +OK [en] „Search” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:98 +OK [en] „Home” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:42 +OK [en] „Continue Listening” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:297 +OK [en] „Sleep timer” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:635 +OK [en] „Language” advplyr/audiobookshelf@v2.37.1:client/strings/en-us.json:424 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 45 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/bentopdf-draft.json b/documentation/audits/app-guides-2026-10-15/B/bentopdf-draft.json new file mode 100644 index 00000000..d646be34 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/bentopdf-draft.json @@ -0,0 +1,99 @@ +{ + "app": "bentopdf", + "checked_version": "v2.8.6", + "corpus_note": "alam00000/bentopdf@v2.8.6 (53bcf09): src/pages/*.html, the root *.html, public/locales/en (common.json, tools.json); docs/ and README for facts; default UI language: English (follows the URL, a stored choice or the browser, but there is no Hungarian translation, so a Hungarian browser sees English)", + "hu": { + "sections": [ + {"title": "Több PDF összefűzése egybe", + "intro": "Több dokumentumból egyetlen PDF lesz, a sorrendet te adod meg.", + "steps": [ + "A kezdőoldal keresőjébe írd be: merge, és nyisd meg a „Merge PDF” (PDF összefűzése) eszközt.", + "Kattints a feltöltő mezőre, és válaszd ki a fájlokat. Továbbiakat az „Add More Files” (további fájlok) gombbal adhatsz hozzá.", + "A „File Mode” (fájl mód) listájában húzd a fájlokat a kívánt sorrendbe.", + "Kattints a „Merge PDFs” (PDF-ek összefűzése) gombra. A kész fájl magától letöltődik." + ]}, + {"title": "Fotókból egy PDF", + "intro": "A telefonnal lefotózott számlákból vagy papírokból egyetlen PDF-et készíthetsz.", + "steps": [ + "Nyisd meg az „Images to PDF” (képekből PDF) eszközt.", + "Válaszd ki a fotókat abban a sorrendben, ahogy az oldalakon szeretnéd.", + "A „PDF Quality” (PDF minőség) mezőben e-mailhez a kisebb fájlt válaszd.", + "Kattints a „Convert to PDF” (átalakítás PDF-be) gombra." + ]}, + {"title": "PDF kisebbre e-mailhez", + "intro": "Ha egy PDF túl nagy a levélhez, összenyomhatod.", + "steps": [ + "Nyisd meg a „Compress PDF” (PDF tömörítése) eszközt, és válaszd ki a fájlt.", + "A „Compression Level” (tömörítés mértéke) mezőben válaszd az „Aggressive (Smaller Files)” (erős, kisebb fájl) értéket.", + "Kattints a „Compress PDF” gombra, és töltsd le a kisebb fájlt." + ]}, + {"title": "Jelszó egy PDF-re", + "intro": "Bizalmas papírt jelszóval védve küldhetsz el.", + "steps": [ + "Nyisd meg az „Encrypt PDF” (PDF titkosítása) eszközt, és válaszd ki a fájlt.", + "Írd be a jelszót a „User Password (Required)” (megnyitási jelszó, kötelező) mezőbe.", + "Kattints az „Encrypt PDF” gombra, és töltsd le a védett fájlt.", + "A jelszót ne a fájllal együtt küldd el, hanem például telefonon mondd meg." + ]} + ], + "faq": [ + {"q": "Felkerülnek a fájljaim a dobozra?", + "a": "Nem. A BentoPDF a böngésződben dolgozza fel a fájlt, az el sem hagyja az eszközödet. A doboz csak az oldalt adja."}, + {"q": "Hol találom a kész fájlt?", + "a": "A böngésződ letöltések mappájában. A BentoPDF semmit nem tárol, ezért a dobozon sincs róla másolat."}, + {"q": "Kell hozzá fiók?", + "a": "Nem, a BentoPDF-ben nincs fiók. Aki ismeri a címet, használhatja, de a fájlok mindig nála maradnak."}, + {"q": "Működik telefonon is?", + "a": "Igen, nyisd meg a pdf.DOMAIN címet a telefon böngészőjében. Nagy fájloknál a számítógép gyorsabb, mert a munka az eszközödön fut."}, + {"q": "Miért lassú egy eszköz az első alkalommal?", + "a": "Néhány eszköz az első használatkor letölt egy feldolgozó részt az internetről. Utána gyorsabban indul."} + ] + }, + "en": { + "sections": [ + {"title": "Merge several PDFs into one", + "intro": "Several documents become a single PDF, in the order you choose.", + "steps": [ + "In the search box of the home page, type merge and open the „Merge PDF” tool.", + "Select the upload area and choose the files. Add more with the „Add More Files” button.", + "In the „File Mode” list, drag the files into the order you want.", + "Select „Merge PDFs”. The finished file downloads by itself." + ]}, + {"title": "One PDF from photos", + "intro": "You can make a single PDF from receipts or papers you took photos of with your phone.", + "steps": [ + "Open the „Images to PDF” tool.", + "Choose the photos in the order you want the pages in.", + "In „PDF Quality”, choose the smaller file for e-mail.", + "Select „Convert to PDF”." + ]}, + {"title": "Make a PDF smaller for e-mail", + "intro": "If a PDF is too big for a mail, you can compress it.", + "steps": [ + "Open the „Compress PDF” tool and choose the file.", + "In „Compression Level”, choose „Aggressive (Smaller Files)”.", + "Select „Compress PDF” and download the smaller file." + ]}, + {"title": "Put a password on a PDF", + "intro": "You can send a private paper protected with a password.", + "steps": [ + "Open the „Encrypt PDF” tool and choose the file.", + "Type the password into the „User Password (Required)” field.", + "Select „Encrypt PDF” and download the protected file.", + "Do not send the password together with the file; tell it by phone, for example." + ]} + ], + "faq": [ + {"q": "Do my files go onto the box?", + "a": "No. BentoPDF works on the file in your browser, and the file never leaves your device. The box only serves the page."}, + {"q": "Where do I find the finished file?", + "a": "In your browser's downloads folder. BentoPDF keeps nothing, so there is no copy of it on the box either."}, + {"q": "Do I need an account?", + "a": "No, BentoPDF has no accounts. Anyone who knows the address can use it, but the files always stay with them."}, + {"q": "Does it work on a phone?", + "a": "Yes, open pdf.DOMAIN in the phone's browser. With big files a computer is faster, because the work runs on your device."}, + {"q": "Why is a tool slow the first time?", + "a": "Some tools download a processing part from the internet the first time you use them. After that they start faster."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/bentopdf-labels.txt b/documentation/audits/app-guides-2026-10-15/B/bentopdf-labels.txt new file mode 100644 index 00000000..103d7920 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/bentopdf-labels.txt @@ -0,0 +1,30 @@ +corpus_note: alam00000/bentopdf@v2.8.6 (53bcf09): src/pages/*.html, the root *.html, public/locales/en (common.json, tools.json); docs/ and README for facts; default UI language: English (follows the URL, a stored choice or the browser, but there is no Hungarian translation, so a Hungarian browser sees English) +guide on the box: shown +app: bentopdf checked against: v2.8.6 +corpora: alam00000/bentopdf@v2.8.6:src/pages alam00000/bentopdf@v2.8.6:public/locales/en alam00000/bentopdf@v2.8.6:index.html felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 24 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Merge PDF” alam00000/bentopdf@v2.8.6:src/pages/merge-pdf.html:68 +OK [hu] „Add More Files” alam00000/bentopdf@v2.8.6:src/pages/xps-to-pdf.html:168 +OK [hu] „File Mode” alam00000/bentopdf@v2.8.6:src/pages/merge-pdf.html:186 +OK [hu] „Merge PDFs” alam00000/bentopdf@v2.8.6:src/pages/merge-pdf.html:533 +OK [hu] „Images to PDF” alam00000/bentopdf@v2.8.6:src/pages/image-to-pdf.html:122 +OK [hu] „PDF Quality” alam00000/bentopdf@v2.8.6:src/pages/webp-to-pdf.html:190 +OK [hu] „Convert to PDF” alam00000/bentopdf@v2.8.6:src/pages/xps-to-pdf.html:185 +OK [hu] „Compress PDF” alam00000/bentopdf@v2.8.6:src/pages/scanner-effect.html:524 +OK [hu] „Compression Level” alam00000/bentopdf@v2.8.6:src/pages/compress-pdf.html:216 +OK [hu] „Aggressive (Smaller Files)” alam00000/bentopdf@v2.8.6:src/pages/compress-pdf.html:224 +OK [hu] „Encrypt PDF” alam00000/bentopdf@v2.8.6:src/pages/validate-signature-pdf.html:323 +OK [hu] „User Password (Required)” alam00000/bentopdf@v2.8.6:src/pages/encrypt-pdf.html:165 +OK [en] „Merge PDF” alam00000/bentopdf@v2.8.6:src/pages/merge-pdf.html:68 +OK [en] „Add More Files” alam00000/bentopdf@v2.8.6:src/pages/xps-to-pdf.html:168 +OK [en] „File Mode” alam00000/bentopdf@v2.8.6:src/pages/merge-pdf.html:186 +OK [en] „Merge PDFs” alam00000/bentopdf@v2.8.6:src/pages/merge-pdf.html:533 +OK [en] „Images to PDF” alam00000/bentopdf@v2.8.6:src/pages/image-to-pdf.html:122 +OK [en] „PDF Quality” alam00000/bentopdf@v2.8.6:src/pages/webp-to-pdf.html:190 +OK [en] „Convert to PDF” alam00000/bentopdf@v2.8.6:src/pages/xps-to-pdf.html:185 +OK [en] „Compress PDF” alam00000/bentopdf@v2.8.6:src/pages/scanner-effect.html:524 +OK [en] „Compression Level” alam00000/bentopdf@v2.8.6:src/pages/compress-pdf.html:216 +OK [en] „Aggressive (Smaller Files)” alam00000/bentopdf@v2.8.6:src/pages/compress-pdf.html:224 +OK [en] „Encrypt PDF” alam00000/bentopdf@v2.8.6:src/pages/validate-signature-pdf.html:323 +OK [en] „User Password (Required)” alam00000/bentopdf@v2.8.6:src/pages/encrypt-pdf.html:165 +RESULT: ALL FOUND — 24 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/bookstack-draft.json b/documentation/audits/app-guides-2026-10-15/B/bookstack-draft.json new file mode 100644 index 00000000..4a2708ff --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/bookstack-draft.json @@ -0,0 +1,103 @@ +{ + "app": "bookstack", + "checked_version": "26.09.1", + "corpus_note": "BookStackApp/BookStack@v26.09.1 (31d94dd; the linuxserver image 26.09.1 packages this release): lang/en/*.php, resources/views, database/migrations (seeded role names); default UI language: English for a signed-in user (app.default_locale = APP_LANG, unset = en; only the sign-in page follows the browser), Hungarian available per user under Preferred Language", + "hu": { + "sections": [ + {"title": "Családtag felvétele", + "intro": "Mindenki a saját fiókjával lép be, így látszik, ki mit írt.", + "steps": [ + "A felső sávban kattints a „Settings” (Beállítások), majd a „Users” (Felhasználók) pontra.", + "Kattints az „Add New User” (Új felhasználó) gombra, és add meg a „Name” (Név) és az „Email” mezőt.", + "A „User Roles” (Szerepkörök) résznél jelöld be az „Editor” (Szerkesztő) szerepet, vagy a „Viewer” (Olvasó) szerepet, ha csak olvasna.", + "Kapcsold ki a „Send user invite email” (meghívó e-mail) kapcsolót, és adj meg neki jelszót.", + "Kattints a „Save” (Mentés) gombra, és add át a családtagnak az e-mail címet és a jelszót." + ]}, + {"title": "Oldal írása képpel", + "intro": "Egy receptet vagy egy használati útmutatót képpel együtt is leírhatsz.", + "steps": [ + "Nyisd meg a könyvet, és kattints a „New Page” (Új oldal) pontra.", + "Írd be a címet és a szöveget.", + "A szerkesztő eszköztárán kattints az „Insert image” (Kép beszúrása) gombra, majd az „Upload Image” (Kép feltöltése) gombra.", + "Válaszd ki a képet, és kattints a „Select Image” (Kép kiválasztása) gombra.", + "Kattints a „Save Page” (Oldal mentése) gombra." + ]}, + {"title": "Címkék és keresés", + "intro": "A címkékkel a különböző könyvekben lévő oldalakat is egyben megtalálod.", + "steps": [ + "Szerkesztés közben a jobb oldali sávban nyisd meg a „Page Tags” (Oldal címkéi) részt.", + "A „Tag Name” (Címke neve) mezőbe írj egy szót, például: recept.", + "Kattints a „Save Page” gombra.", + "Később a felső kereső mezőbe írt szóval vagy egy címkére kattintva megtalálod az oldalt." + ]}, + {"title": "Oldal nyomtatása vagy mentése", + "intro": "Egy oldalt vagy egy egész könyvet PDF fájlként is letölthetsz.", + "steps": [ + "Nyisd meg az oldalt vagy a könyvet.", + "A jobb oldali sávban kattints az „Export” (Exportálás) pontra.", + "Válaszd a „PDF File” (PDF fájl) lehetőséget, és mentsd el vagy nyomtasd ki." + ]} + ], + "faq": [ + {"q": "Átállíthatom magyarra?", + "a": "Igen. Jobb felül a neved alatt nyisd meg a „My Account” (Fiókom) oldalt, a „Preferred Language” (Nyelv) mezőben válaszd a „Magyar” nyelvet, és mentsd. Ez az útmutató az angol feliratokat mutatja."}, + {"q": "Mi a polc, a könyv, a fejezet és az oldal?", + "a": "Az oldal a tényleges szöveg, a fejezet oldalakat fog össze, a könyv fejezeteket és oldalakat. A polc több könyvet tart együtt, például Konyha vagy Ház."}, + {"q": "Megnézhetem egy oldal régebbi változatát?", + "a": "Igen. Az oldal jobb oldali sávjában a „Revisions” (Változatok) pont mutatja, ki mikor mit módosított."}, + {"q": "Egy családtag elfelejtette a jelszavát. Mit tegyek?", + "a": "Rendszergazdaként a „Users” oldalon nyisd meg a családtagot, adj meg neki új jelszót, és kattints a „Save” gombra."}, + {"q": "Hol vannak a feltöltött képek?", + "a": "A dobozon, a BookStack saját tárhelyén. A doboz mentéseit a vezérlőpulton, az „Adatok és mentés” fülön látod."} + ] + }, + "en": { + "sections": [ + {"title": "Add a family member", + "intro": "Everyone signs in with their own account, so you can see who wrote what.", + "steps": [ + "In the top bar, select „Settings”, then „Users”.", + "Select „Add New User”, and fill in „Name” and „Email”.", + "Under „User Roles”, tick „Editor”, or „Viewer” if they only read.", + "Turn off „Send user invite email” and give them a password.", + "Select „Save”, and give the family member the e-mail address and the password." + ]}, + {"title": "Write a page with a picture", + "intro": "You can write down a recipe or a manual together with a picture.", + "steps": [ + "Open the book and select „New Page”.", + "Type the title and the text.", + "In the editor's toolbar, select „Insert image”, then „Upload Image”.", + "Choose the picture and select „Select Image”.", + "Select „Save Page”." + ]}, + {"title": "Tags and search", + "intro": "With tags you find pages from different books in one place.", + "steps": [ + "While editing, open „Page Tags” in the bar on the right.", + "In „Tag Name”, type a word, for example: recipe.", + "Select „Save Page”.", + "Later you find the page with that word in the search box at the top, or by selecting a tag." + ]}, + {"title": "Print or save a page", + "intro": "You can download a page, or a whole book, as a PDF file.", + "steps": [ + "Open the page or the book.", + "In the bar on the right, select „Export”.", + "Choose „PDF File”, and save it or print it." + ]} + ], + "faq": [ + {"q": "Can I switch it to Hungarian?", + "a": "Yes. Under your name at the top right, open „My Account”, choose Hungarian in the „Preferred Language” field, and save. This guide shows the English labels."}, + {"q": "What are a shelf, a book, a chapter and a page?", + "a": "The page is the actual text, a chapter holds pages, and a book holds chapters and pages. A shelf keeps several books together, for example Kitchen or House."}, + {"q": "Can I see an older version of a page?", + "a": "Yes. In the bar on the right of the page, „Revisions” shows who changed what and when."}, + {"q": "A family member forgot their password. What do I do?", + "a": "As an administrator, open the family member on the „Users” page, give them a new password, and select „Save”."}, + {"q": "Where are the uploaded pictures?", + "a": "On the box, in BookStack's own storage. You see the box's backups on the dashboard, on the „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/bookstack-labels.txt b/documentation/audits/app-guides-2026-10-15/B/bookstack-labels.txt new file mode 100644 index 00000000..c506a698 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/bookstack-labels.txt @@ -0,0 +1,53 @@ +corpus_note: BookStackApp/BookStack@v26.09.1 (31d94dd; the linuxserver image 26.09.1 packages this release): lang/en/*.php, resources/views, database/migrations (seeded role names); default UI language: English for a signed-in user (app.default_locale = APP_LANG, unset = en; only the sign-in page follows the browser), Hungarian available per user under Preferred Language +guide on the box: shown +app: bookstack checked against: 26.09.1 +corpora: BookStackApp/BookStack@v26.09.1:lang/en BookStackApp/BookStack@v26.09.1:resources/views BookStackApp/BookStack@v26.09.1:database/migrations felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 47 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Settings” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:10 +OK [hu] „Users” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:217 +OK [hu] „Add New User” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:220 +OK [hu] „Name” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:274 +OK [hu] „Email” BookStackApp/BookStack@v26.09.1:lang/en/auth.php:22 +OK [hu] „User Roles” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:170 +OK [hu] „Editor” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:269 +OK [hu] „Viewer” BookStackApp/BookStack@v26.09.1:database/migrations/2015_08_29_105422_add_roles_and_permissions.php:87 +OK [hu] „Send user invite email” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:231 +OK [hu] „Save” BookStackApp/BookStack@v26.09.1:lang/en/editor.php:14 +OK [hu] „New Page” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:229 +OK [hu] „Insert image” BookStackApp/BookStack@v26.09.1:lang/en/editor.php:65 +OK [hu] „Upload Image” BookStackApp/BookStack@v26.09.1:lang/en/components.php:13 +OK [hu] „Select Image” BookStackApp/BookStack@v26.09.1:lang/en/components.php:27 +OK [hu] „Save Page” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:266 +OK [hu] „Page Tags” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:337 +OK [hu] „Tag Name” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:344 +OK [hu] „Export” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:37 +OK [hu] „PDF File” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:39 +OK [hu] „My Account” BookStackApp/BookStack@v26.09.1:lang/en/preferences.php:8 +OK [hu] „Preferred Language” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:247 +OK [hu] „Magyar” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:352 +OK [hu] „Revisions” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:19 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Settings” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:10 +OK [en] „Users” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:217 +OK [en] „Add New User” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:220 +OK [en] „Name” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:274 +OK [en] „Email” BookStackApp/BookStack@v26.09.1:lang/en/auth.php:22 +OK [en] „User Roles” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:170 +OK [en] „Editor” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:269 +OK [en] „Viewer” BookStackApp/BookStack@v26.09.1:database/migrations/2015_08_29_105422_add_roles_and_permissions.php:87 +OK [en] „Send user invite email” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:231 +OK [en] „Save” BookStackApp/BookStack@v26.09.1:lang/en/editor.php:14 +OK [en] „New Page” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:229 +OK [en] „Insert image” BookStackApp/BookStack@v26.09.1:lang/en/editor.php:65 +OK [en] „Upload Image” BookStackApp/BookStack@v26.09.1:lang/en/components.php:13 +OK [en] „Select Image” BookStackApp/BookStack@v26.09.1:lang/en/components.php:27 +OK [en] „Save Page” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:266 +OK [en] „Page Tags” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:337 +OK [en] „Tag Name” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:344 +OK [en] „Export” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:37 +OK [en] „PDF File” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:39 +OK [en] „My Account” BookStackApp/BookStack@v26.09.1:lang/en/preferences.php:8 +OK [en] „Preferred Language” BookStackApp/BookStack@v26.09.1:lang/en/settings.php:247 +OK [en] „Revisions” BookStackApp/BookStack@v26.09.1:lang/en/entities.php:19 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 47 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/calcom-draft.json b/documentation/audits/app-guides-2026-10-15/B/calcom-draft.json new file mode 100644 index 00000000..a6579f5d --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/calcom-draft.json @@ -0,0 +1,101 @@ +{ + "app": "calcom", + "checked_version": "v6.2.0", + "corpus_note": "calcom/cal.com@v6.2.0 (1c193cc): packages/i18n/locales/en/common.json, apps/web/modules (shell, event-types, bookings, settings/my-account), apps/web/components/booking, packages/features/eventtypes/components, packages/features/schedules/components, packages/platform/atoms (availability, event-types/hooks), packages/app-store/applecalendar and caldavcalendar; scripts/seed-app-store.ts and scripts/start.sh for facts; default UI language: English (the setup page creates the first user with locale en; Hungarian exists and can be chosen under Settings, General, Language)", + "hu": { + "sections": [ + {"title": "Mikor lehet nálad foglalni", + "intro": "A Cal.com csak azokat az időpontokat kínálja fel, amikor szabad vagy.", + "steps": [ + "A bal oldali menüben nyisd meg az „Availability” (Elérhetőség) oldalt, és kattints az ütemezésedre.", + "Kapcsold be azokat a napokat, amikor lehet foglalni, és állítsd be a kezdő és a záró időt.", + "Ha egy napon két külön sáv kell, például délelőtt és délután, add hozzá a napnál a pluszjellel.", + "Kattints a „Save” (Mentés) gombra." + ]}, + {"title": "Szabadnap vagy szabadság", + "intro": "Egy-egy napot kivehetsz, a heti beosztásod ettől nem változik.", + "steps": [ + "Nyisd meg az ütemezésedet az „Availability” oldalon.", + "A „Date overrides” (Dátum felülbírálások) résznél kattints az „Add an override” (Felülírás hozzáadása) gombra.", + "Jelöld ki a napokat a naptárban, és kapcsold be a „Mark unavailable (All day)” (egész nap nem elérhető) kapcsolót.", + "Kattints a „Save override” (felülírás mentése), majd a „Save” gombra." + ]}, + {"title": "Foglalás jóváhagyása", + "intro": "Beállíthatod, hogy egy foglalás csak akkor legyen érvényes, ha te is rábólintasz.", + "steps": [ + "Az „Event types” (Eseménytípusok) oldalon nyisd meg az eseménytípust.", + "Az „Advanced” (Haladó) lapon kapcsold be a „Requires confirmation” (Megerősítést igényel) kapcsolót, és kattints a „Save” gombra.", + "Az új kéréseket a „Bookings” (Foglalások) oldal „Unconfirmed” (Nem megerősített) lapján látod.", + "Egy kérésnél kattints a „Confirm” (Elfogadás) vagy a „Reject” (Elutasítás) gombra." + ]}, + {"title": "Szünet a foglalások között", + "intro": "Hagyhatsz időt két megbeszélés között, és megszabhatod, milyen hamar lehet foglalni.", + "steps": [ + "Nyisd meg az eseménytípust, és válaszd a „Limits” (Korlátok) lapot.", + "A „Before event” (Esemény előtt) és az „After event” (Esemény után) mezőben add meg, mennyi szabad idő kell.", + "A „Minimum notice” (legkorábbi foglalás) mezőben add meg, legalább mennyivel előre foglaljanak.", + "Kattints a „Save” gombra." + ]} + ], + "faq": [ + {"q": "Kell a foglalónak fiók?", + "a": "Nem. Megnyitja a linket, amit tőled kapott, kiválaszt egy szabad időpontot, és megadja a nevét és az e-mail címét."}, + {"q": "Hol látom és hogyan mondom le a foglalásokat?", + "a": "A „Bookings” oldal „Upcoming” (Közelgő) lapján. Egy foglalás menüjében a „Cancel event” (Időpont lemondása) ponttal mondhatod le."}, + {"q": "Melyik naptáramat köthetem be?", + "a": "Az „Apps” (Alkalmazások) oldalon az „Apple Calendar” vagy a „CalDav (Beta)” kapcsolható be, a naptár felhasználónevével és jelszavával. A Google és az Outlook naptárhoz külön kulcsok kellenek, ezeket a doboz nem állítja be."}, + {"q": "Átállíthatom magyarra?", + "a": "Igen. A „Settings” (Beállítások) oldal „General” (Általános) részén a „Language” (Nyelv) mezőben választhatsz. Ez az útmutató az angol feliratokat mutatja."}, + {"q": "Rossz időben látszanak a szabad időpontok. Mit nézzek meg?", + "a": "Az időzónát: a „Settings” oldal „General” részén és az ütemezésedben is a „Timezone” (Időzóna) mezőben Budapest legyen."} + ] + }, + "en": { + "sections": [ + {"title": "When people can book you", + "intro": "Cal.com only offers the times when you are free.", + "steps": [ + "In the menu on the left, open the „Availability” page and select your schedule.", + "Turn on the days when people can book, and set the start and the end time.", + "If a day needs two separate slots, for example morning and afternoon, add one with the plus sign next to the day.", + "Select „Save”." + ]}, + {"title": "A day off or a holiday", + "intro": "You can take out single days, and your weekly plan stays as it is.", + "steps": [ + "Open your schedule on the „Availability” page.", + "Under „Date overrides”, select „Add an override”.", + "Pick the days in the calendar and turn on „Mark unavailable (All day)”.", + "Select „Save override”, then „Save”." + ]}, + {"title": "Approve a booking", + "intro": "You can make a booking count only once you say yes to it too.", + "steps": [ + "On the „Event types” page, open the event type.", + "On the „Advanced” tab, turn on „Requires confirmation” and select „Save”.", + "You see new requests on the „Unconfirmed” tab of the „Bookings” page.", + "For a request, select „Confirm” or „Reject”." + ]}, + {"title": "A break between bookings", + "intro": "You can leave time between two meetings, and set how soon people can book.", + "steps": [ + "Open the event type and choose the „Limits” tab.", + "In „Before event” and „After event”, give how much free time you need.", + "In „Minimum notice”, give how far ahead people must book at least.", + "Select „Save”." + ]} + ], + "faq": [ + {"q": "Does the person booking need an account?", + "a": "No. They open the link you gave them, choose a free time, and give their name and e-mail address."}, + {"q": "Where do I see bookings, and how do I cancel one?", + "a": "On the „Upcoming” tab of the „Bookings” page. In a booking's menu, „Cancel event” cancels it."}, + {"q": "Which of my calendars can I connect?", + "a": "On the „Apps” page you can turn on „Apple Calendar” or „CalDav (Beta)”, with the calendar's username and password. Google and Outlook calendars need separate keys, and the box does not set those up."}, + {"q": "Can I switch it to Hungarian?", + "a": "Yes. On the „Settings” page, under „General”, you choose in the „Language” field. This guide shows the English labels."}, + {"q": "The free times show at the wrong hours. What do I check?", + "a": "The time zone: under „General” on the „Settings” page, and in your schedule too, the „Timezone” field should be Budapest."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/calcom-labels.txt b/documentation/audits/app-guides-2026-10-15/B/calcom-labels.txt new file mode 100644 index 00000000..8c2a6196 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/calcom-labels.txt @@ -0,0 +1,58 @@ +corpus_note: calcom/cal.com@v6.2.0 (1c193cc): packages/i18n/locales/en/common.json, apps/web/modules (shell, event-types, bookings, settings/my-account), apps/web/components/booking, packages/features/eventtypes/components, packages/features/schedules/components, packages/platform/atoms (availability, event-types/hooks), packages/app-store/applecalendar and caldavcalendar; scripts/seed-app-store.ts and scripts/start.sh for facts; default UI language: English (the setup page creates the first user with locale en; Hungarian exists and can be chosen under Settings, General, Language) +guide on the box: shown +app: calcom checked against: v6.2.0 +corpora: calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json calcom/cal.com@v6.2.0:apps/web/modules calcom/cal.com@v6.2.0:apps/web/components/booking calcom/cal.com@v6.2.0:packages/features/eventtypes/components calcom/cal.com@v6.2.0:packages/features/schedules/components calcom/cal.com@v6.2.0:packages/platform/atoms calcom/cal.com@v6.2.0:packages/app-store/applecalendar calcom/cal.com@v6.2.0:packages/app-store/caldavcalendar felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 52 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Availability” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1204 +OK [hu] „Save” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:893 +OK [hu] „Date overrides” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:2390 +OK [hu] „Add an override” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:2769 +OK [hu] „Mark unavailable (All day)” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:2398 +OK [hu] „Save override” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:2402 +OK [hu] „Event types” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1037 +OK [hu] „Advanced” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1890 +OK [hu] „Requires confirmation” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1761 +OK [hu] „Bookings” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:546 +OK [hu] „Unconfirmed” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:326 +OK [hu] „Confirm” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:869 +OK [hu] „Reject” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:791 +OK [hu] „Limits” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1887 +OK [hu] „Before event” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:565 +OK [hu] „After event” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:566 +OK [hu] „Minimum notice” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1293 +OK [hu] „Upcoming” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:293 +OK [hu] „Cancel event” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:848 +OK [hu] „Apps” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1310 +OK [hu] „Apple Calendar” calcom/cal.com@v6.2.0:packages/app-store/applecalendar/_metadata.ts:4 +OK [hu] „CalDav (Beta)” calcom/cal.com@v6.2.0:packages/app-store/caldavcalendar/index.ts:4 +OK [hu] „Settings” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1317 +OK [hu] „General” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1958 +OK [hu] „Language” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1057 +OK [hu] „Timezone” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1058 +OK [en] „Availability” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1204 +OK [en] „Save” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:893 +OK [en] „Date overrides” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:2390 +OK [en] „Add an override” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:2769 +OK [en] „Mark unavailable (All day)” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:2398 +OK [en] „Save override” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:2402 +OK [en] „Event types” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1037 +OK [en] „Advanced” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1890 +OK [en] „Requires confirmation” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1761 +OK [en] „Unconfirmed” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:326 +OK [en] „Bookings” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:546 +OK [en] „Confirm” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:869 +OK [en] „Reject” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:791 +OK [en] „Limits” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1887 +OK [en] „Before event” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:565 +OK [en] „After event” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:566 +OK [en] „Minimum notice” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1293 +OK [en] „Upcoming” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:293 +OK [en] „Cancel event” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:848 +OK [en] „Apps” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1310 +OK [en] „Apple Calendar” calcom/cal.com@v6.2.0:packages/app-store/applecalendar/_metadata.ts:4 +OK [en] „CalDav (Beta)” calcom/cal.com@v6.2.0:packages/app-store/caldavcalendar/index.ts:4 +OK [en] „Settings” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1317 +OK [en] „General” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1958 +OK [en] „Language” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1057 +OK [en] „Timezone” calcom/cal.com@v6.2.0:packages/i18n/locales/en/common.json:1058 +RESULT: ALL FOUND — 52 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/calibre-web-draft.json b/documentation/audits/app-guides-2026-10-15/B/calibre-web-draft.json new file mode 100644 index 00000000..a678375e --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/calibre-web-draft.json @@ -0,0 +1,99 @@ +{ + "app": "calibre-web", + "checked_version": "v4.0.8", + "corpus_note": "Calibre-Web-Automated@v4.0.8 (3ce7bf8): cps/templates (English labels are the msgids); default UI language: English (a signed-in user's own setting, \"en\" by default; a Hungarian translation exists and each user can switch to it)", + "hu": { + "sections": [ + {"title": "Könyv feltöltése a böngészőből", + "intro": "Nem kell hozzá a Fájlkezelő: a könyvet a Calibre-Web Automated oldalán is feltöltheted.", + "steps": [ + "A felső sávban kattints az „Upload” (Feltöltés) gombra.", + "Válaszd ki a könyvfájlt a gépedről, például egy EPUB fájlt.", + "A Calibre-Web Automated feldolgozza, és utána megjelenik a könyvtárban. Ha még nem látod, frissítsd az oldalt egy kicsit később." + ]}, + {"title": "Olvasás a böngészőben", + "intro": "A könyveket letöltés nélkül, a böngészőben is olvashatod.", + "steps": [ + "Kattints a könyv borítójára, hogy megnyíljon az adatlapja.", + "Kattints a könyv ikonra: ez a „Read in Browser” (olvasás a böngészőben) gomb.", + "Az olvasóban a fogaskerék ikon nyitja a „Settings” (Beállítások) ablakot: itt állíthatod a betűméretet és a hátteret.", + "Ha végeztél, az adatlapon a szem ikonnal jelölheted meg olvasottként („Mark As Read”)." + ]}, + {"title": "Saját polc a kedvenceknek", + "intro": "A polccal csoportosíthatod a könyveket, például a gyerekeknek valókat.", + "steps": [ + "A bal oldali menüben kattints a „Create Shelf” (Polc létrehozása) pontra.", + "Írd be a polc nevét a „Title” (Cím) mezőbe, és kattints a „Save” (Mentés) gombra.", + "Nyiss meg egy könyvet, és az „Add to shelf” (Polcra tesz) gombbal tedd a polcra." + ]}, + {"title": "Családtag hozzáadása", + "intro": "Mindenki a saját fiókjával lép be, így külön látja, mit olvasott.", + "steps": [ + "A felső sávban kattints az „Admin” pontra.", + "Kattints az „Add New User” (Új felhasználó) gombra.", + "Töltsd ki a „Username” (felhasználónév), az „Email” és a „Password” (jelszó) mezőt. A jelszóban legyen legalább 8 karakter, kis- és nagybetű, szám és különleges karakter.", + "Az „Interface Language” (felület nyelve) mezőben a magyart is választhatod neki.", + "Kattints a „Save” gombra, és add át neki a felhasználónevet és a jelszót." + ]} + ], + "faq": [ + {"q": "Átállíthatom magyarra a felületet?", + "a": "Igen. Kattints a felső sávban a felhasználónevedre, az „Interface Language” mezőben válaszd a magyart, és kattints a „Save” gombra."}, + {"q": "Hová kerülnek a könyvek?", + "a": "A meghajtód media/books mappájába, a könyvtáradba. Az import/calibre mappából a feldolgozás után eltűnik a fájl, ez rendben van."}, + {"q": "Olvashatok e-olvasón vagy telefonon?", + "a": "Igen, olyan olvasó appal, amely ismeri az OPDS katalógust, például a KOReaderrel. Az appban add meg a books.DOMAIN/opds címet, a saját felhasználóneveddel és jelszavaddal."}, + {"q": "Látják a családtagok az én polcaimat?", + "a": "Nem, a polc alapból csak a tiéd. Ha a polc létrehozásakor bejelölöd a „Share with Everyone” (megosztás mindenkivel) jelölőt, mindenki látja."}, + {"q": "Mentődnek a könyveim?", + "a": "A könyvtár a meghajtód media/books mappájában van. A mentés állapotát a vezérlőpulton, az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "Upload a book from the browser", + "intro": "You do not need the File manager for this: you can also upload a book on the Calibre-Web Automated page.", + "steps": [ + "In the top bar, select „Upload”.", + "Choose the book file on your computer, for example an EPUB file.", + "Calibre-Web Automated processes it, and then it shows up in the library. If you do not see it yet, reload the page a little later." + ]}, + {"title": "Read in the browser", + "intro": "You can read the books in your browser, without downloading them.", + "steps": [ + "Select the cover of the book to open its details page.", + "Select the book icon: this is the „Read in Browser” button.", + "In the reader, the cog icon opens the „Settings” window: there you set the font size and the background.", + "When you are done, mark the book as read with the eye icon on the details page („Mark As Read”)." + ]}, + {"title": "A shelf for your favourites", + "intro": "A shelf groups books together, for example the ones for the children.", + "steps": [ + "In the menu on the left, select „Create Shelf”.", + "Type the name of the shelf in „Title” and select „Save”.", + "Open a book and put it on the shelf with „Add to shelf”." + ]}, + {"title": "Add a family member", + "intro": "Everyone signs in with their own account, so each sees what they have read.", + "steps": [ + "In the top bar, select „Admin”.", + "Select „Add New User”.", + "Fill in „Username”, „Email” and „Password”. The password needs at least 8 characters, a lower and an upper case letter, a digit and a special character.", + "In „Interface Language” you can also choose Hungarian for them.", + "Select „Save”, and give them the user name and the password." + ]} + ], + "faq": [ + {"q": "Can I switch the interface to Hungarian?", + "a": "Yes. Select your user name in the top bar, choose Hungarian in „Interface Language”, and select „Save”."}, + {"q": "Where do the books go?", + "a": "Into the media/books folder of your drive, your library. The file disappears from the import/calibre folder after processing, and that is fine."}, + {"q": "Can I read on an e-reader or a phone?", + "a": "Yes, with a reading app that knows OPDS catalogues, for example KOReader. In the app, enter the address books.DOMAIN/opds with your own user name and password."}, + {"q": "Can my family see my shelves?", + "a": "No, a shelf is yours alone by default. If you tick „Share with Everyone” when you create the shelf, everyone sees it."}, + {"q": "Are my books backed up?", + "a": "The library is in the media/books folder of your drive. You see the backup status on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/calibre-web-labels.txt b/documentation/audits/app-guides-2026-10-15/B/calibre-web-labels.txt new file mode 100644 index 00000000..e7b087b2 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/calibre-web-labels.txt @@ -0,0 +1,38 @@ +corpus_note: Calibre-Web-Automated@v4.0.8 (3ce7bf8): cps/templates (English labels are the msgids); default UI language: English (a signed-in user's own setting, "en" by default; a Hungarian translation exists and each user can switch to it) +guide on the box: shown +app: calibre-web checked against: v4.0.8 +corpora: Calibre-Web-Automated@v4.0.8:cps/templates felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 32 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Upload” Calibre-Web-Automated@v4.0.8:cps/templates/user_table.html:146 +OK [hu] „Read in Browser” Calibre-Web-Automated@v4.0.8:cps/templates/detail.html:530 +OK [hu] „Settings” Calibre-Web-Automated@v4.0.8:cps/templates/readcbr.html:70 +OK [hu] „Mark As Read” Calibre-Web-Automated@v4.0.8:cps/templates/listenmp3.html:158 +OK [hu] „Create Shelf” Calibre-Web-Automated@v4.0.8:cps/templates/layout.html:318 +OK [hu] „Title” Calibre-Web-Automated@v4.0.8:cps/templates/tasks.html:41 +OK [hu] „Save” Calibre-Web-Automated@v4.0.8:cps/templates/user_edit.html:553 +OK [hu] „Add to shelf” Calibre-Web-Automated@v4.0.8:cps/templates/search.html:16 +OK [hu] „Admin” Calibre-Web-Automated@v4.0.8:cps/templates/user_table.html:144 +OK [hu] „Add New User” Calibre-Web-Automated@v4.0.8:cps/templates/admin.html:57 +OK [hu] „Username” Calibre-Web-Automated@v4.0.8:cps/templates/user_table.html:134 +OK [hu] „Email” Calibre-Web-Automated@v4.0.8:cps/templates/user_table.html:135 +OK [hu] „Password” Calibre-Web-Automated@v4.0.8:cps/templates/user_edit.html:204 +OK [hu] „Interface Language” Calibre-Web-Automated@v4.0.8:cps/templates/user_edit.html:252 +OK [hu] „Share with Everyone” Calibre-Web-Automated@v4.0.8:cps/templates/shelf_edit.html:14 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Upload” Calibre-Web-Automated@v4.0.8:cps/templates/user_table.html:146 +OK [en] „Read in Browser” Calibre-Web-Automated@v4.0.8:cps/templates/detail.html:530 +OK [en] „Settings” Calibre-Web-Automated@v4.0.8:cps/templates/readcbr.html:70 +OK [en] „Mark As Read” Calibre-Web-Automated@v4.0.8:cps/templates/listenmp3.html:158 +OK [en] „Create Shelf” Calibre-Web-Automated@v4.0.8:cps/templates/layout.html:318 +OK [en] „Title” Calibre-Web-Automated@v4.0.8:cps/templates/tasks.html:41 +OK [en] „Save” Calibre-Web-Automated@v4.0.8:cps/templates/user_edit.html:553 +OK [en] „Add to shelf” Calibre-Web-Automated@v4.0.8:cps/templates/search.html:16 +OK [en] „Admin” Calibre-Web-Automated@v4.0.8:cps/templates/user_table.html:144 +OK [en] „Add New User” Calibre-Web-Automated@v4.0.8:cps/templates/admin.html:57 +OK [en] „Username” Calibre-Web-Automated@v4.0.8:cps/templates/user_table.html:134 +OK [en] „Email” Calibre-Web-Automated@v4.0.8:cps/templates/user_table.html:135 +OK [en] „Password” Calibre-Web-Automated@v4.0.8:cps/templates/user_edit.html:204 +OK [en] „Interface Language” Calibre-Web-Automated@v4.0.8:cps/templates/user_edit.html:252 +OK [en] „Share with Everyone” Calibre-Web-Automated@v4.0.8:cps/templates/shelf_edit.html:14 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 32 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/claper-draft.json b/documentation/audits/app-guides-2026-10-15/B/claper-draft.json new file mode 100644 index 00000000..b8d65e17 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/claper-draft.json @@ -0,0 +1,97 @@ +{ + "app": "claper", + "checked_version": "2.5", + "corpus_note": "Claper@v2.5.1 (3e80ce2): lib/claper_web (English msgids), priv/gettext/hu/LC_MESSAGES/default.po; default UI language: browser language, Hungarian available (the seeded admin has no own language set)", + "hu": { + "sections": [ + {"title": "Szavazás a prezentációban", + "intro": "A szavazás a közönség telefonján jelenik meg, az eredményt pedig a kivetítőn is mutathatod.", + "steps": [ + "Az eseményed kártyáján kattints a „Csatlakozás” gombra, majd az „Eseménykezelő” pontra.", + "Lépj arra a diára, amelyikhez a szavazást szeretnéd.", + "Kattints az „Interakció hozzáadása” gombra, és válaszd a „Szavazás” lehetőséget.", + "Írd be a kérdést „A szavazás címe” mezőbe, add meg a válaszokat, és kattints a „Létrehozás” gombra." + ]}, + {"title": "Kivetítés tévére vagy projektorra", + "intro": "A prezentáció külön ablakban fut, ezt teszed a nagy képernyőre.", + "steps": [ + "Az „Eseménykezelő” oldalon kattints a „Prezentáció megnyitása” gombra: új ablak nyílik.", + "Húzd az új ablakot a tévére vagy a projektorra, és nyomd meg az F billentyűt a teljes képernyőhöz.", + "Az „Eseménykezelő” oldalon kattints a következő diára: a kivetített ablak is odalép." + ]}, + {"title": "Kérdések a közönségtől", + "intro": "A közönség a telefonjáról írhat neked üzenetet és kérdést.", + "steps": [ + "Az „Eseménykezelő” oldal „Üzenetek” lapján látod, mit írtak.", + "A „Kérdések” lapon a kérdéseket külön is megtalálod.", + "Egy fontos üzenetet kitűzhetsz: ezek a „Kitűzött üzenetek” lapon gyűlnek.", + "Ha nem kérsz névtelen üzenetet, a beállításoknál válaszd a „Névtelen üzenetek tiltása” lehetőséget." + ]}, + {"title": "Eredmények az esemény után", + "intro": "Az esemény végén egy jelentés összegzi, mi történt.", + "steps": [ + "Az eseményed kártyáján kattints a „Befejezés” gombra.", + "A befejezett esemény kártyáján kattints a „Jelentés megtekintése” gombra.", + "Itt látod a résztvevők számát, a szavazások eredményét és az üzeneteket. Az „Exportálás” gombokkal táblázatként (CSV) is letöltheted őket." + ]} + ], + "faq": [ + {"q": "Kell a közönségnek fiók vagy külön app?", + "a": "Nem. Elég, ha a telefonján megnyitja a present.DOMAIN címet, és beírja a kódot, vagy beolvassa a QR kódot."}, + {"q": "Milyen fájlt tölthetek fel?", + "a": "PDF, PPT vagy PPTX fájlt, legfeljebb 15 MB méretig. A PowerPoint animációit a Claper nem jeleníti meg, ezért jobb, ha PDF-be mented a prezentációt."}, + {"q": "Újra használhatok egy korábbi eseményt?", + "a": "Igen. Az esemény kártyáján nyisd meg a „További lehetőségek” menüt, és válaszd a „Másolat” pontot."}, + {"q": "Segíthet valaki a lebonyolításban?", + "a": "Igen. Az esemény szerkesztésekor a „Facilitátor hozzáadása” résznél add meg az e-mail címét. Ha ezzel a címmel fiókot hoz létre, ő is kezelheti az eseményt, de nem törölheti."}, + {"q": "Mentődnek az eseményeim?", + "a": "Az események és a feltöltött prezentációk a dobozon vannak. A mentés állapotát a vezérlőpulton, az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "A poll in your presentation", + "intro": "The poll shows up on the phones in the room, and you can also show the result on the big screen.", + "steps": [ + "On the card of your event, select „Join”, then „Event manager”.", + "Go to the slide you want the poll on.", + "Select „Add interaction” and choose „Poll”.", + "Type the question in „Title of your poll”, add the answers, and select „Create”." + ]}, + {"title": "Show it on a TV or a projector", + "intro": "The presentation runs in a separate window, and that is the one you put on the big screen.", + "steps": [ + "On the „Event manager” page, select „Open presentation”: a new window opens.", + "Drag the new window to the TV or the projector, and press the F key for full screen.", + "On the „Event manager” page, select the next slide: the window on the big screen follows." + ]}, + {"title": "Questions from the room", + "intro": "The people in the room can send you messages and questions from their phones.", + "steps": [ + "The „Messages” tab of the „Event manager” page shows what they wrote.", + "On the „Questions” tab you find the questions on their own.", + "You can pin an important message: pinned ones collect on the „Pinned messages” tab.", + "If you do not want anonymous messages, choose „Deny anonymous messages” in the settings." + ]}, + {"title": "Results after the event", + "intro": "At the end of the event, a report sums up what happened.", + "steps": [ + "On the card of your event, select „End”.", + "On the card of the finished event, select „View report”.", + "Here you see how many people took part, the poll results and the messages. With the „Export” buttons you can also download them as a table (CSV)." + ]} + ], + "faq": [ + {"q": "Do the people in the room need an account or an app?", + "a": "No. They open present.DOMAIN on their phone and type the code, or scan the QR code."}, + {"q": "What file can I upload?", + "a": "A PDF, PPT or PPTX file of up to 15 MB. Claper does not show PowerPoint animations, so it is better to save the presentation as a PDF."}, + {"q": "Can I use an earlier event again?", + "a": "Yes. On the card of the event, open the „More options” menu and choose „Duplicate”."}, + {"q": "Can someone help me run the event?", + "a": "Yes. When you edit the event, enter their e-mail address under „Add facilitator”. Once they create an account with that address, they can manage the event too, but they cannot delete it."}, + {"q": "Are my events backed up?", + "a": "The events and the uploaded presentations are on the box. You see the backup status on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/claper-labels.txt b/documentation/audits/app-guides-2026-10-15/B/claper-labels.txt new file mode 100644 index 00000000..c16deaa7 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/claper-labels.txt @@ -0,0 +1,42 @@ +corpus_note: Claper@v2.5.1 (3e80ce2): lib/claper_web (English msgids), priv/gettext/hu/LC_MESSAGES/default.po; default UI language: browser language, Hungarian available (the seeded admin has no own language set) +guide on the box: shown +app: claper checked against: 2.5 +corpora: Claper@v2.5.1:lib Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 36 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Csatlakozás” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:110 +OK [hu] „Eseménykezelő” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:1274 +OK [hu] „Interakció hozzáadása” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:471 +OK [hu] „Szavazás” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:375 +OK [hu] „A szavazás címe” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:359 +OK [hu] „Létrehozás” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:208 +OK [hu] „Prezentáció megnyitása” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:1012 +OK [hu] „Üzenetek” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:436 +OK [hu] „Kérdések” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:1254 +OK [hu] „Kitűzött üzenetek” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:931 +OK [hu] „Névtelen üzenetek tiltása” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:1669 +OK [hu] „Befejezés” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:1059 +OK [hu] „Jelentés megtekintése” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:1017 +OK [hu] „Exportálás” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:1803 +OK [hu] „További lehetőségek” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:1568 +OK [hu] „Másolat” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:1511 +OK [hu] „Facilitátor hozzáadása” Claper@v2.5.1:priv/gettext/hu/LC_MESSAGES/default.po:441 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Join” Claper@v2.5.1:lib/claper_web/live/event_live/show.html.heex:286 +OK [en] „Event manager” Claper@v2.5.1:lib/claper_web/live/event_live/event_card_component.ex:152 +OK [en] „Add interaction” Claper@v2.5.1:lib/claper_web/live/event_live/manage.html.heex:750 +OK [en] „Poll” Claper@v2.5.1:lib/claper_web/live/event_live/manage.html.heex:194 +OK [en] „Title of your poll” Claper@v2.5.1:lib/claper_web/live/poll_live/form_component.html.heex:14 +OK [en] „Create” Claper@v2.5.1:lib/claper_web/live/quiz_live/quiz_component.html.heex:187 +OK [en] „Open presentation” Claper@v2.5.1:lib/claper_web/live/event_live/manage.html.heex:565 +OK [en] „Messages” Claper@v2.5.1:lib/claper_web/live/stat_live/index.html.heex:102 +OK [en] „Questions” Claper@v2.5.1:lib/claper_web/live/event_live/manage.html.heex:1167 +OK [en] „Pinned messages” Claper@v2.5.1:lib/claper_web/live/event_live/manage.html.heex:1175 +OK [en] „Deny anonymous messages” Claper@v2.5.1:lib/claper_web/live/event_live/manager_settings_component.ex:541 +OK [en] „End” Claper@v2.5.1:lib/claper_web/live/event_live/event_card_component.ex:201 +OK [en] „View report” Claper@v2.5.1:lib/claper_web/live/event_live/event_card_component.ex:370 +OK [en] „Export” Claper@v2.5.1:lib/claper_web/live/stat_live/index.html.heex:236 +OK [en] „More options” Claper@v2.5.1:lib/claper_web/live/event_live/event_card_component.ex:212 +OK [en] „Duplicate” Claper@v2.5.1:lib/claper_web/live/event_live/event_card_component.ex:268 +OK [en] „Add facilitator” Claper@v2.5.1:lib/claper_web/live/event_live/event_form_component.html.heex:363 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 36 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/code-server-draft.json b/documentation/audits/app-guides-2026-10-15/B/code-server-draft.json new file mode 100644 index 00000000..77e29ecc --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/code-server-draft.json @@ -0,0 +1,99 @@ +{ + "app": "code-server", + "checked_version": "4.129.0", + "corpus_note": "code-server@v4.129.0 (77baee7): docs/FAQ.md, patches/; its VS Code submodule microsoft/vscode@125df46: src/vs/workbench/contrib/files, src/vs/workbench/contrib/themes, extensions/git/package.json + package.nls.json; linuxserver/docker-code-server@4.129.0-ls352: Dockerfile, README.md (git installed, no sudo without SUDO_PASSWORD); default UI language: English (VS Code has no official Hungarian language pack)", + "hu": { + "sections": [ + {"title": "Fájlok feltöltése és letöltése", + "intro": "A gépeden lévő fájlokat egyszerűen átteheted a code-serverbe, és vissza.", + "steps": [ + "Nyisd meg a bal oldali „Explorer” (Fájlkezelő) nézetet.", + "Kattints jobb gombbal egy mappára, és válaszd az „Upload...” (Feltöltés) pontot.", + "Fájlt úgy is feltölthetsz, hogy a gépedről behúzod az „Explorer” egyik mappájába.", + "Letöltéshez kattints jobb gombbal a fájlra vagy mappára, és válaszd a „Download...” (Letöltés) pontot." + ]}, + {"title": "Git tároló letöltése", + "intro": "Egy meglévő projektet a Git címéből egy lépésben letölthetsz.", + "steps": [ + "Nyomd meg az F1 billentyűt, írd be: Git: Clone, és válaszd a „Clone” (Klónozás) parancsot.", + "Illeszd be a tároló címét, és nyomd meg az Entert.", + "Válaszd ki a mappát, ahová a projekt kerüljön, például a workspace mappát.", + "Ha kész, a code-server megkérdezi, megnyissa-e a projektet." + ]}, + {"title": "Használat alkalmazásként", + "intro": "A böngésző sok gyorsbillentyűt elfog, alkalmazásként telepítve viszont a code-server kapja meg őket.", + "steps": [ + "Nyisd meg a code.DOMAIN címet Chrome-ban.", + "Kattints a címsorban a telepítés ikonra, és erősítsd meg.", + "Ezután a code-server saját ablakban indul, és a gyorsbillentyűk benne működnek.", + "iPaden a Safari megosztás menüjében add hozzá a kezdőképernyőhöz." + ]}, + {"title": "Kinézet beállítása", + "intro": "A színeket a saját ízlésedre állíthatod.", + "steps": [ + "Nyomd meg az F1 billentyűt, és írd be: Color Theme.", + "Válaszd a „Color Theme” (Színtéma) parancsot.", + "A nyilakkal lapozva azonnal látod a témát; az Enterrel választod ki." + ]} + ], + "faq": [ + {"q": "Hol vannak a fájljaim?", + "a": "A code-server a workspace mappát nyitja meg, ezt a doboz állította be. Ami itt van, a dobozon marad, az újraindítás után is."}, + {"q": "Miért nem működik a sudo?", + "a": "A code-server itt rendszergazdai (sudo) jog nélkül fut, így rendszercsomagot nem tudsz telepíteni. Ez a doboz alapbeállítása."}, + {"q": "Miért hiányzik egy bővítmény?", + "a": "A code-server nem a Microsoft bővítményboltját használja, hanem az Open VSX-et. Néhány zárt bővítmény, például a Live Share, itt nem érhető el."}, + {"q": "Hogyan változtatom meg a jelszót?", + "a": "A vezérlőpulton, a code-server „Beállítások” fülén módosíthatod a hozzáférési jelszót."}, + {"q": "Többször elrontottam a jelszót, és nem enged be. Mi történt?", + "a": "A code-server percenként két, óránként további tizenkét próbát enged. Várj egy kicsit, és próbáld újra a helyes jelszóval."} + ] + }, + "en": { + "sections": [ + {"title": "Upload and download files", + "intro": "You can easily move files from your computer into code-server, and back.", + "steps": [ + "Open the „Explorer” view on the left.", + "Right-click a folder and choose „Upload...”.", + "You can also upload a file by dragging it from your computer into a folder in the „Explorer”.", + "To download, right-click the file or folder and choose „Download...”." + ]}, + {"title": "Get a Git repository", + "intro": "You can get an existing project from its Git address in one step.", + "steps": [ + "Press F1, type Git: Clone, and choose the „Clone” command.", + "Paste the address of the repository and press Enter.", + "Choose the folder the project goes into, for example the workspace folder.", + "When it is done, code-server asks whether to open the project." + ]}, + {"title": "Use it as an app", + "intro": "The browser catches many keyboard shortcuts, but installed as an app, code-server gets them.", + "steps": [ + "Open code.DOMAIN in Chrome.", + "Select the install icon in the address bar and confirm.", + "From then on code-server starts in its own window, and the keyboard shortcuts work in it.", + "On an iPad, add it to the home screen from the share menu in Safari." + ]}, + {"title": "Set the look", + "intro": "You can set the colours to your own taste.", + "steps": [ + "Press F1 and type Color Theme.", + "Choose the „Color Theme” command.", + "As you move with the arrow keys you see each theme at once; Enter picks it." + ]} + ], + "faq": [ + {"q": "Where are my files?", + "a": "code-server opens the workspace folder; the box set this up. What is in it stays on the box, after a restart too."}, + {"q": "Why does sudo not work?", + "a": "Here code-server runs without administrator (sudo) rights, so you cannot install system packages. This is how the box sets it up."}, + {"q": "Why is an extension missing?", + "a": "code-server does not use Microsoft's extension store but Open VSX. Some closed extensions, for example Live Share, are not available here."}, + {"q": "How do I change the password?", + "a": "On the dashboard, on code-server's „Settings” tab, you can change the access password."}, + {"q": "I typed the password wrong a few times and it does not let me in. What happened?", + "a": "code-server allows two tries a minute, plus twelve more an hour. Wait a little and try again with the right password."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/code-server-labels.txt b/documentation/audits/app-guides-2026-10-15/B/code-server-labels.txt new file mode 100644 index 00000000..e23fc5ac --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/code-server-labels.txt @@ -0,0 +1,18 @@ +corpus_note: code-server@v4.129.0 (77baee7): docs/FAQ.md, patches/; its VS Code submodule microsoft/vscode@125df46: src/vs/workbench/contrib/files, src/vs/workbench/contrib/themes, extensions/git/package.json + package.nls.json; linuxserver/docker-code-server@4.129.0-ls352: Dockerfile, README.md (git installed, no sudo without SUDO_PASSWORD); default UI language: English (VS Code has no official Hungarian language pack) +guide on the box: shown +app: code-server checked against: 4.129.0 +corpora: code-server@v4.129.0:vscode/repo/src code-server@v4.129.0:vscode/repo/extensions/git code-server@v4.129.0:patches felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 12 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Explorer” code-server@v4.129.0:vscode/repo/src/vs/workbench/contrib/preferences/browser/settingsLayout.ts:302 +OK [hu] „Upload...” code-server@v4.129.0:vscode/repo/src/vs/workbench/contrib/files/browser/fileActions.ts:77 +OK [hu] „Download...” code-server@v4.129.0:vscode/repo/src/vs/workbench/contrib/files/browser/fileActions.ts:75 +OK [hu] „Clone” code-server@v4.129.0:vscode/repo/extensions/git/package.nls.json:6 +OK [hu] „Color Theme” code-server@v4.129.0:vscode/repo/src/vs/workbench/contrib/themes/browser/themes.contribution.ts:412 +OK [hu] „Beállítások” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:18 +OK [en] „Explorer” code-server@v4.129.0:vscode/repo/src/vs/workbench/contrib/preferences/browser/settingsLayout.ts:302 +OK [en] „Upload...” code-server@v4.129.0:vscode/repo/src/vs/workbench/contrib/files/browser/fileActions.ts:77 +OK [en] „Download...” code-server@v4.129.0:vscode/repo/src/vs/workbench/contrib/files/browser/fileActions.ts:75 +OK [en] „Clone” code-server@v4.129.0:vscode/repo/extensions/git/package.nls.json:6 +OK [en] „Color Theme” code-server@v4.129.0:vscode/repo/src/vs/workbench/contrib/themes/browser/themes.contribution.ts:412 +OK [en] „Settings” code-server@v4.129.0:vscode/repo/src/vs/workbench/contrib/preferences/browser/settingsTree.ts:2663 +RESULT: ALL FOUND — 12 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/crafty-controller-draft.json b/documentation/audits/app-guides-2026-10-15/B/crafty-controller-draft.json new file mode 100644 index 00000000..78ca20b9 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/crafty-controller-draft.json @@ -0,0 +1,99 @@ +{ + "app": "crafty-controller", + "checked_version": "4.11.0", + "corpus_note": "crafty-4@v4.11.0 (fe65b37): app/frontend/templates, app/translations/en_EN.json; default UI language: English (each user's own setting, en_EN by default; the Hungarian file is about a quarter translated, so no Hungarian labels are used)", + "hu": { + "sections": [ + {"title": "A szerver indítása és leállítása", + "intro": "A Minecraft szerver csak akkor fogad játékosokat, ha fut.", + "steps": [ + "A „Dashboard” (Irányítópult) oldalon kattints a szerver nevére.", + "A „Terminal” (Terminál) lapon kattints a „Start” (Indítás) gombra.", + "Ha a szerver elindult, a „Dashboard” oldalon „Online” állapotot látsz.", + "Leállításhoz a „Stop” (Leállítás), újraindításhoz a „Restart” (Újraindítás) gombot használd." + ]}, + {"title": "Parancsok a szerverkonzolon", + "intro": "A konzolon úgy adhatsz parancsot a szervernek, mintha játékon belül rendszergazda lennél.", + "steps": [ + "Nyisd meg a szerver „Terminal” lapját.", + "Írd be a parancsot perjel nélkül az „Enter your command” (parancs) mezőbe, például: say Sziasztok.", + "Kattints a „Send command” (Parancs küldése) gombra, és a válasz megjelenik a konzolon.", + "Java szerveren a whitelist on paranccsal csak a listán szereplők léphetnek be; egy barátot a whitelist add parancs után a játékosnevével adsz hozzá." + ]}, + {"title": "Ütemezett újraindítás", + "intro": "Egy napi újraindítás frissen tartja a szervert, és ezt a Crafty magától elvégzi.", + "steps": [ + "A szerver oldalán nyisd meg a „Schedule” (Ütemezés) lapot, és kattints a „Create New Schedule” (Új ütemezés) gombra.", + "Adj nevet az ütemezésnek, és az „Action” (Művelet) mezőben válaszd a „Restart Server” (szerver újraindítása) lehetőséget.", + "Az „Interval” (Gyakoriság) mezőbe írj 1-et, mellette válaszd a „Days” (nap) értéket, a „Time” (Idő) mezőben pedig egy éjszakai időpontot.", + "Kattints a „Save” (Mentés) gombra." + ]}, + {"title": "Saját jelszó beállítása", + "intro": "A kezdeti jelszót érdemes egy saját, megjegyezhető jelszóra cserélni.", + "steps": [ + "Kattints jobb fent a felhasználói menüre, és válaszd az „Account Settings” (Fiókbeállítások) pontot.", + "Írd be az új jelszót a „New Password” (Új jelszó) és a „Confirm Password” (Jelszó megerősítése) mezőbe.", + "Kattints a „Save” gombra. A Felhom vezérlőpultja ezután is a kezdeti jelszót mutatja, az már nem érvényes." + ]} + ], + "faq": [ + {"q": "Miért lassú vagy áll le a szerver?", + "a": "A Crafty és a Minecraft szerverek együtt legfeljebb 2 GB memóriát kapnak a dobozon. Egyszerre egy kisebb szervert futtass, és a szerver létrehozásakor a „Maximum Memory” (legtöbb memória) értéket hagyd ez alatt."}, + {"q": "Hol szerkeszthetem a szerver beállításait?", + "a": "A szerver „Files” (Fájlok) lapján látod és szerkesztheted a fájlokat, például a server.properties fájlt. A módosítás a szerver újraindítása után él."}, + {"q": "Hogyan teszek fel saját fájlt, például egy világot vagy egy modot?", + "a": "A szerver „Files” lapján nyisd meg a célmappát, és használd az „Upload” (Feltöltés) gombot."}, + {"q": "Hány szervert futtathatok?", + "a": "A portok miatt legfeljebb tizenegyet, a 25565–25575 tartományban. A memória miatt egyszerre inkább csak egyet-kettőt."}, + {"q": "Mentődik a világom?", + "a": "A szerverek fájljai a dobozon vannak. A mentés állapotát a vezérlőpulton, az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "Start and stop the server", + "intro": "The Minecraft server only lets players in while it is running.", + "steps": [ + "On the „Dashboard” page, select the name of the server.", + "On the „Terminal” tab, select „Start”.", + "Once the server is up, the „Dashboard” page shows it as „Online”.", + "To stop it use „Stop”, to restart it use „Restart”." + ]}, + {"title": "Commands on the server console", + "intro": "On the console you can give the server commands, as if you were an operator in the game.", + "steps": [ + "Open the „Terminal” tab of the server.", + "Type the command without a slash in „Enter your command”, for example: say Hello.", + "Select „Send command”, and the answer shows on the console.", + "On a Java server, the whitelist on command lets in only the players on the list; you add a friend with whitelist add followed by their player name." + ]}, + {"title": "A scheduled restart", + "intro": "A daily restart keeps the server fresh, and Crafty does it by itself.", + "steps": [ + "On the server's page, open the „Schedule” tab and select „Create New Schedule”.", + "Give the schedule a name, and in „Action” choose „Restart Server”.", + "In „Interval” type 1, choose „Days” next to it, and in „Time” pick a night-time hour.", + "Select „Save”." + ]}, + {"title": "Set your own password", + "intro": "It is worth swapping the first password for one of your own that you can remember.", + "steps": [ + "Select the user menu at the top right and choose „Account Settings”.", + "Type the new password in „New Password” and in „Confirm Password”.", + "Select „Save”. The Felhom dashboard still shows the first password after this, and that one no longer works." + ]} + ], + "faq": [ + {"q": "Why is the server slow, or why does it stop?", + "a": "Crafty and the Minecraft servers share at most 2 GB of memory on the box. Run one smaller server at a time, and when you create a server, keep „Maximum Memory” below that."}, + {"q": "Where can I edit the server settings?", + "a": "On the server's „Files” tab you see its files and can edit them, for example server.properties. A change takes effect after the server restarts."}, + {"q": "How do I add a file of my own, for example a world or a mod?", + "a": "On the server's „Files” tab, open the target folder and use the „Upload” button."}, + {"q": "How many servers can I run?", + "a": "Because of the ports, at most eleven, in the 25565–25575 range. Because of the memory, rather only one or two at a time."}, + {"q": "Is my world backed up?", + "a": "The server files are on the box. You see the backup status on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/crafty-controller-labels.txt b/documentation/audits/app-guides-2026-10-15/B/crafty-controller-labels.txt new file mode 100644 index 00000000..009e2ed7 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/crafty-controller-labels.txt @@ -0,0 +1,52 @@ +corpus_note: crafty-4@v4.11.0 (fe65b37): app/frontend/templates, app/translations/en_EN.json; default UI language: English (each user's own setting, en_EN by default; the Hungarian file is about a quarter translated, so no Hungarian labels are used) +guide on the box: shown +app: crafty-controller checked against: 4.11.0 +corpora: crafty-4@v4.11.0:app/translations/en_EN.json crafty-4@v4.11.0:app/frontend/templates felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 46 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Dashboard” crafty-4@v4.11.0:app/translations/en_EN.json:158 +OK [hu] „Terminal” crafty-4@v4.11.0:app/translations/en_EN.json:596 +OK [hu] „Start” crafty-4@v4.11.0:app/translations/en_EN.json:181 +OK [hu] „Online” crafty-4@v4.11.0:app/translations/en_EN.json:172 +OK [hu] „Stop” crafty-4@v4.11.0:app/translations/en_EN.json:184 +OK [hu] „Restart” crafty-4@v4.11.0:app/translations/en_EN.json:175 +OK [hu] „Enter your command” crafty-4@v4.11.0:app/translations/en_EN.json:742 +OK [hu] „Send command” crafty-4@v4.11.0:app/translations/en_EN.json:747 +OK [hu] „Schedule” crafty-4@v4.11.0:app/translations/en_EN.json:594 +OK [hu] „Create New Schedule” crafty-4@v4.11.0:app/translations/en_EN.json:702 +OK [hu] „Action” crafty-4@v4.11.0:app/translations/en_EN.json:690 +OK [hu] „Restart Server” crafty-4@v4.11.0:app/translations/en_EN.json:682 +OK [hu] „Interval” crafty-4@v4.11.0:app/translations/en_EN.json:673 +OK [hu] „Days” crafty-4@v4.11.0:app/translations/en_EN.json:670 +OK [hu] „Time” crafty-4@v4.11.0:app/translations/en_EN.json:686 +OK [hu] „Save” crafty-4@v4.11.0:app/translations/en_EN.json:425 +OK [hu] „Account Settings” crafty-4@v4.11.0:app/translations/en_EN.json:318 +OK [hu] „New Password” crafty-4@v4.11.0:app/translations/en_EN.json:862 +OK [hu] „Confirm Password” crafty-4@v4.11.0:app/translations/en_EN.json:864 +OK [hu] „Maximum Memory” crafty-4@v4.11.0:app/translations/en_EN.json:781 +OK [hu] „Files” crafty-4@v4.11.0:app/translations/en_EN.json:586 +OK [hu] „Upload” crafty-4@v4.11.0:app/translations/en_EN.json:640 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Dashboard” crafty-4@v4.11.0:app/translations/en_EN.json:158 +OK [en] „Terminal” crafty-4@v4.11.0:app/translations/en_EN.json:596 +OK [en] „Start” crafty-4@v4.11.0:app/translations/en_EN.json:181 +OK [en] „Online” crafty-4@v4.11.0:app/translations/en_EN.json:172 +OK [en] „Stop” crafty-4@v4.11.0:app/translations/en_EN.json:184 +OK [en] „Restart” crafty-4@v4.11.0:app/translations/en_EN.json:175 +OK [en] „Enter your command” crafty-4@v4.11.0:app/translations/en_EN.json:742 +OK [en] „Send command” crafty-4@v4.11.0:app/translations/en_EN.json:747 +OK [en] „Schedule” crafty-4@v4.11.0:app/translations/en_EN.json:594 +OK [en] „Create New Schedule” crafty-4@v4.11.0:app/translations/en_EN.json:702 +OK [en] „Action” crafty-4@v4.11.0:app/translations/en_EN.json:690 +OK [en] „Restart Server” crafty-4@v4.11.0:app/translations/en_EN.json:682 +OK [en] „Interval” crafty-4@v4.11.0:app/translations/en_EN.json:673 +OK [en] „Days” crafty-4@v4.11.0:app/translations/en_EN.json:670 +OK [en] „Time” crafty-4@v4.11.0:app/translations/en_EN.json:686 +OK [en] „Save” crafty-4@v4.11.0:app/translations/en_EN.json:425 +OK [en] „Account Settings” crafty-4@v4.11.0:app/translations/en_EN.json:318 +OK [en] „New Password” crafty-4@v4.11.0:app/translations/en_EN.json:862 +OK [en] „Confirm Password” crafty-4@v4.11.0:app/translations/en_EN.json:864 +OK [en] „Maximum Memory” crafty-4@v4.11.0:app/translations/en_EN.json:781 +OK [en] „Files” crafty-4@v4.11.0:app/translations/en_EN.json:586 +OK [en] „Upload” crafty-4@v4.11.0:app/translations/en_EN.json:640 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 46 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/dawarich-draft.json b/documentation/audits/app-guides-2026-10-15/B/dawarich-draft.json new file mode 100644 index 00000000..3c581fa3 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/dawarich-draft.json @@ -0,0 +1,99 @@ +{ + "app": "dawarich", + "checked_version": "1.15.3", + "corpus_note": "dawarich@1.15.3 (e32b707): config/locales/en.yml, app/views; default UI language: English (no Hungarian translation; the browser language is only suggested, never applied)", + "hu": { + "sections": [ + {"title": "Régi helyelőzmények betöltése", + "intro": "A korábbi helyadataidat, például a Google-től letöltött idővonalat, egy fájlból töltheted be.", + "steps": [ + "A felső menüben nyisd meg a „My data” (Saját adatok) menüt, és válaszd az „Imports” (Importálás) pontot.", + "Kattints a „New import” (Új importálás) gombra.", + "Válaszd ki a fájlt, például egy Google JSON, GPX vagy ZIP fájlt, és indítsd a feltöltést. A formátumot a Dawarich magától felismeri.", + "Az „Imports” oldalon követheted a feldolgozást; utána a pontok megjelennek a térképen." + ]}, + {"title": "Utazás rögzítése", + "intro": "Egy utazás egy időszakot fog össze, és térképen mutatja, merre jártál.", + "steps": [ + "A felső menüben kattints a „Trips” (Utazások) pontra.", + "Kattints a „New trip” (Új utazás) gombra.", + "Add meg az utazás nevét, a kezdő és a záró időpontot, és mentsd el.", + "Az utazás oldalán a Dawarich az időszak pontjaiból rajzolja meg az útvonalat." + ]}, + {"title": "Statisztika", + "intro": "A Dawarich összesíti, mennyit utaztál.", + "steps": [ + "A felső menüben kattints a „Stats” (Statisztika) pontra.", + "Itt évenként látod a megtett távolságot („Total distance”) és a rögzített pontok számát.", + "A statisztika többi része naponta frissül. Ha egy friss importot most látnál, kattints az „Update stats” (Statisztika frissítése) gombra." + ]}, + {"title": "Családtag hozzáadása", + "intro": "Mindenki saját fiókot kap, és a saját telefonjáról küldi a helyét.", + "steps": [ + "Kattints jobb fent a fiókod menüjére, és válaszd a „Settings” (Beállítások) pontot.", + "Nyisd meg a „Users” (Felhasználók) lapot, és kattints az „Add new user” (Új felhasználó) gombra.", + "Add meg az „Email” és a „Password” (jelszó) mezőt, majd kattints a „Create” (Létrehozás) gombra.", + "A családtag belép, és a saját API-kulcsával beállítja a telefonos appot. A kulcsot a fiókmenü „Account” (Fiók) oldalán találja." + ]} + ], + "faq": [ + {"q": "Túl nagy a Google-től letöltött fájl. Mit tegyek?", + "a": "A 200 MB-nál nagyobb fájlt tömörítsd ZIP fájlba a feltöltés előtt. Így gyorsabb, és nem szakad meg a feltöltés."}, + {"q": "Ki látja, merre jártam?", + "a": "A helyadataid a dobozon maradnak, és minden fiók csak a saját pontjait látja a térképen. A térkép háttérképeit a böngésződ a Dawarich térképszerveréről tölti le."}, + {"q": "Kimenthetem az adataimat fájlba?", + "a": "Igen. A „My data” menü „Points” (Pontok) oldalán az „Export” gombbal GeoJSON vagy GPX fájlt készítesz. A kész fájlt az „Exports” oldalon találod."}, + {"q": "Miért nem látszik a mai utam?", + "a": "A pontokat a telefonos app küldi. Nézd meg, hogy az appban jó-e a timeline.DOMAIN cím és az API-kulcs, és hogy az app küldhet-e a háttérben."}, + {"q": "Mentődnek a helyadataim?", + "a": "A helyadataid a dobozon vannak. A mentés állapotát a vezérlőpulton, az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "Load your old location history", + "intro": "You can load your earlier location data, for example the timeline you downloaded from Google, from a file.", + "steps": [ + "In the top menu, open „My data” and choose „Imports”.", + "Select „New import”.", + "Choose the file, for example a Google JSON, GPX or ZIP file, and start the upload. Dawarich works out the format by itself.", + "On the „Imports” page you can follow the processing; then the points show up on the map." + ]}, + {"title": "Record a trip", + "intro": "A trip ties a stretch of time together and shows on a map where you went.", + "steps": [ + "In the top menu, select „Trips”.", + "Select „New trip”.", + "Enter the name of the trip, its start and its end, and save it.", + "On the trip's page, Dawarich draws the route from the points of that time." + ]}, + {"title": "Statistics", + "intro": "Dawarich adds up how much you have travelled.", + "steps": [ + "In the top menu, select „Stats”.", + "Here you see the distance for each year („Total distance”) and the number of points recorded.", + "The rest of the statistics is updated daily. To see a fresh import now, select „Update stats”." + ]}, + {"title": "Add a family member", + "intro": "Everyone gets their own account and sends their location from their own phone.", + "steps": [ + "Select your account menu at the top right and choose „Settings”.", + "Open the „Users” tab and select „Add new user”.", + "Fill in „Email” and „Password”, then select „Create”.", + "The family member signs in and sets up the phone app with their own API key. They find the key on the „Account” page of the account menu." + ]} + ], + "faq": [ + {"q": "The file I downloaded from Google is too large. What do I do?", + "a": "Compress a file larger than 200 MB into a ZIP file before uploading. It is faster that way, and the upload does not break off."}, + {"q": "Who sees where I have been?", + "a": "Your location data stays on the box, and each account sees only its own points on the map. Your browser loads the map background from the Dawarich map server."}, + {"q": "Can I save my data to a file?", + "a": "Yes. On the „Points” page of the „My data” menu, the „Export” button makes a GeoJSON or GPX file. You find the finished file on the „Exports” page."}, + {"q": "Why is today's route not showing?", + "a": "The phone app sends the points. Check that the app has the right timeline.DOMAIN address and API key, and that it may send in the background."}, + {"q": "Is my location data backed up?", + "a": "Your location data is on the box. You see the backup status on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/dawarich-labels.txt b/documentation/audits/app-guides-2026-10-15/B/dawarich-labels.txt new file mode 100644 index 00000000..f617ab0f --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/dawarich-labels.txt @@ -0,0 +1,44 @@ +corpus_note: dawarich@1.15.3 (e32b707): config/locales/en.yml, app/views; default UI language: English (no Hungarian translation; the browser language is only suggested, never applied) +guide on the box: shown +app: dawarich checked against: 1.15.3 +corpora: dawarich@1.15.3:config/locales/en.yml dawarich@1.15.3:app/views felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 38 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „My data” dawarich@1.15.3:config/locales/en.yml:1850 +OK [hu] „Imports” dawarich@1.15.3:config/locales/en.yml:657 +OK [hu] „New import” dawarich@1.15.3:config/locales/en.yml:649 +OK [hu] „Trips” dawarich@1.15.3:config/locales/en.yml:1877 +OK [hu] „New trip” dawarich@1.15.3:config/locales/en.yml:2305 +OK [hu] „Stats” dawarich@1.15.3:config/locales/en.yml:1878 +OK [hu] „Total distance” dawarich@1.15.3:config/locales/en.yml:2130 +OK [hu] „Update stats” dawarich@1.15.3:config/locales/en.yml:2145 +OK [hu] „Settings” dawarich@1.15.3:config/locales/en.yml:933 +OK [hu] „Users” dawarich@1.15.3:config/locales/en.yml:1491 +OK [hu] „Add new user” dawarich@1.15.3:config/locales/en.yml:1709 +OK [hu] „Email” dawarich@1.15.3:config/locales/en.yml:100 +OK [hu] „Password” dawarich@1.15.3:config/locales/en.yml:219 +OK [hu] „Create” dawarich@1.15.3:config/locales/en.yml:954 +OK [hu] „Account” dawarich@1.15.3:config/locales/en.yml:200 +OK [hu] „Points” dawarich@1.15.3:config/locales/en.yml:39 +OK [hu] „Export” dawarich@1.15.3:config/locales/en.yml:1355 +OK [hu] „Exports” dawarich@1.15.3:config/locales/en.yml:273 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „My data” dawarich@1.15.3:config/locales/en.yml:1850 +OK [en] „Imports” dawarich@1.15.3:config/locales/en.yml:657 +OK [en] „New import” dawarich@1.15.3:config/locales/en.yml:649 +OK [en] „Trips” dawarich@1.15.3:config/locales/en.yml:1877 +OK [en] „New trip” dawarich@1.15.3:config/locales/en.yml:2305 +OK [en] „Stats” dawarich@1.15.3:config/locales/en.yml:1878 +OK [en] „Total distance” dawarich@1.15.3:config/locales/en.yml:2130 +OK [en] „Update stats” dawarich@1.15.3:config/locales/en.yml:2145 +OK [en] „Settings” dawarich@1.15.3:config/locales/en.yml:933 +OK [en] „Users” dawarich@1.15.3:config/locales/en.yml:1491 +OK [en] „Add new user” dawarich@1.15.3:config/locales/en.yml:1709 +OK [en] „Email” dawarich@1.15.3:config/locales/en.yml:100 +OK [en] „Password” dawarich@1.15.3:config/locales/en.yml:219 +OK [en] „Create” dawarich@1.15.3:config/locales/en.yml:954 +OK [en] „Account” dawarich@1.15.3:config/locales/en.yml:200 +OK [en] „Points” dawarich@1.15.3:config/locales/en.yml:39 +OK [en] „Export” dawarich@1.15.3:config/locales/en.yml:1355 +OK [en] „Exports” dawarich@1.15.3:config/locales/en.yml:273 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 38 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/docmost-draft.json b/documentation/audits/app-guides-2026-10-15/B/docmost-draft.json new file mode 100644 index 00000000..6a3ac93c --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/docmost-draft.json @@ -0,0 +1,97 @@ +{ + "app": "docmost", + "checked_version": "0.96.0", + "corpus_note": "docmost@v0.96.0 (9b3e5dd): apps/client/src, apps/client/public/locales/en-US/translation.json; default UI language: English (no Hungarian translation exists at this tag)", + "hu": { + "sections": [ + {"title": "Családtag meghívása", + "intro": "Mindenki saját fiókkal ír és olvas, így látszik, ki mit módosított.", + "steps": [ + "Kattints jobb fent a profilképedre, és válaszd a „Workspace settings” (Munkaterület beállításai) pontot.", + "Nyisd meg a „Members” (Tagok) oldalt, és kattints az „Invite members” (Tagok meghívása) gombra.", + "Az „Invite by email” mezőbe írd be az e-mail-címét, a „Select role” mezőben válassz szerepet, és kattints a „Send invitation” (Meghívó küldése) gombra.", + "A Docmost itt nem küld e-mailt: a „Pending” (Függőben) lapon a meghívó menüjében válaszd a „Copy link” (Link másolása) pontot, és küldd el neki a linket." + ]}, + {"title": "Oldal megosztása fiók nélkül", + "intro": "Egy oldalt olyannak is megmutathatsz, akinek nincs fiókja, például a nagyszülőknek.", + "steps": [ + "Nyisd meg az oldalt, és kattints jobb fent a „Share” (Megosztás) gombra.", + "Kapcsold be a „Share to web” (Megosztás a weben) kapcsolót.", + "Másold ki a megjelenő linket, és küldd el. Aki megkapja, olvashatja az oldalt, de nem szerkesztheti.", + "Ha már nem kell, ugyanitt kapcsold ki a megosztást." + ]}, + {"title": "Meglévő jegyzetek behozása", + "intro": "A máshol megírt jegyzeteidet nem kell újragépelned.", + "steps": [ + "A bal oldali sávban nyisd meg a tér menüjét („Space menu”), és válaszd az „Import pages” (Oldalak importálása) pontot.", + "Válaszd a formátumot: Markdown, HTML vagy a Notionból exportált ZIP fájl.", + "Válaszd ki a fájlt, és ne zárd be a lapot, amíg a Docmost jelzi, hogy kész." + ]}, + {"title": "Oldal mentése a gépedre", + "intro": "Egy oldalt fájlba is kimenthetsz vagy kinyomtathatsz.", + "steps": [ + "Az oldal jobb felső sarkában nyisd meg az oldal menüjét („Page actions”).", + "Válaszd az „Export” pontot, a „Format” (Formátum) mezőben a Markdown vagy a HTML formátumot, majd kattints az „Export” gombra.", + "Nyomtatáshoz vagy PDF-hez ugyanebben a menüben válaszd a „Print PDF” pontot." + ]} + ], + "faq": [ + {"q": "Miért nem kapott e-mailt a meghívott?", + "a": "A Docmost ezen a dobozon nem küld e-mailt, ezért a meghívó linkjét neked kell elküldened. Ugyanezért az elfelejtett jelszóhoz sem érkezik levél."}, + {"q": "Mekkora fájlt csatolhatok egy oldalhoz?", + "a": "Legfeljebb 50 MB-osat. Ezt a határt a doboz állította be."}, + {"q": "Hogyan találok meg egy régi oldalt?", + "a": "A bal oldali sávban kattints a „Search” (Keresés) pontra, és írd be, amit keresel. A Docmost az oldalak szövegében is keres."}, + {"q": "Ki látja az oldalaimat?", + "a": "A munkaterület tagjai, akiknek hozzáférésük van az adott térhez. Fiók nélkül csak az látja az oldalt, akinek elküldöd a „Share to web” linkjét."}, + {"q": "Mentődnek az oldalaim?", + "a": "Az oldalak és a csatolt fájlok a dobozon vannak. A mentés állapotát a vezérlőpulton, az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "Invite a family member", + "intro": "Everyone writes and reads with their own account, so you can see who changed what.", + "steps": [ + "Select your profile picture at the top right and choose „Workspace settings”.", + "Open the „Members” page and select „Invite members”.", + "Type their e-mail address in „Invite by email”, choose a role in „Select role”, and select „Send invitation”.", + "Docmost sends no e-mail here: on the „Pending” tab, choose „Copy link” in the invitation's menu, and send them the link." + ]}, + {"title": "Share a page without an account", + "intro": "You can show a page to someone who has no account, for example the grandparents.", + "steps": [ + "Open the page and select „Share” at the top right.", + "Turn on the „Share to web” switch.", + "Copy the link that appears and send it. Whoever gets it can read the page, but cannot edit it.", + "When it is no longer needed, turn sharing off in the same place." + ]}, + {"title": "Bring in your existing notes", + "intro": "You do not have to retype the notes you wrote elsewhere.", + "steps": [ + "In the left sidebar, open the space's menu („Space menu”) and choose „Import pages”.", + "Choose the format: Markdown, HTML, or a ZIP file exported from Notion.", + "Choose the file, and keep the tab open until Docmost says it is done." + ]}, + {"title": "Save a page to your computer", + "intro": "You can also save a page to a file or print it.", + "steps": [ + "At the top right of the page, open the page menu („Page actions”).", + "Choose „Export”, pick Markdown or HTML in „Format”, then select „Export”.", + "To print or to make a PDF, choose „Print PDF” in the same menu." + ]} + ], + "faq": [ + {"q": "Why did the invited person get no e-mail?", + "a": "Docmost sends no e-mail on this box, so you send the invitation link yourself. For the same reason, no mail arrives for a forgotten password either."}, + {"q": "How large a file can I attach to a page?", + "a": "Up to 50 MB. The box set this limit."}, + {"q": "How do I find an old page?", + "a": "In the left sidebar, select „Search” and type what you are looking for. Docmost also searches the text of the pages."}, + {"q": "Who sees my pages?", + "a": "The members of the workspace who have access to that space. Without an account, only the people you send the „Share to web” link to see the page."}, + {"q": "Are my pages backed up?", + "a": "The pages and the attached files are on the box. You see the backup status on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/docmost-labels.txt b/documentation/audits/app-guides-2026-10-15/B/docmost-labels.txt new file mode 100644 index 00000000..45e494af --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/docmost-labels.txt @@ -0,0 +1,42 @@ +corpus_note: docmost@v0.96.0 (9b3e5dd): apps/client/src, apps/client/public/locales/en-US/translation.json; default UI language: English (no Hungarian translation exists at this tag) +guide on the box: shown +app: docmost checked against: 0.96.0 +corpora: docmost@v0.96.0:apps/client/public/locales/en-US/translation.json docmost@v0.96.0:apps/client/src felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 36 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Workspace settings” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:216 +OK [hu] „Members” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:134 +OK [hu] „Invite members” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:118 +OK [hu] „Invite by email” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:117 +OK [hu] „Select role” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:180 +OK [hu] „Send invitation” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:183 +OK [hu] „Pending” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:161 +OK [hu] „Copy link” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:34 +OK [hu] „Share” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:486 +OK [hu] „Share to web” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:491 +OK [hu] „Space menu” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:192 +OK [hu] „Import pages” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:112 +OK [hu] „Page actions” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:985 +OK [hu] „Export” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:73 +OK [hu] „Format” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:286 +OK [hu] „Print PDF” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:164 +OK [hu] „Search” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:174 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Workspace settings” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:216 +OK [en] „Members” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:134 +OK [en] „Invite members” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:118 +OK [en] „Invite by email” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:117 +OK [en] „Select role” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:180 +OK [en] „Send invitation” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:183 +OK [en] „Pending” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:161 +OK [en] „Copy link” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:34 +OK [en] „Share” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:486 +OK [en] „Share to web” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:491 +OK [en] „Space menu” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:192 +OK [en] „Import pages” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:112 +OK [en] „Page actions” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:985 +OK [en] „Export” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:73 +OK [en] „Format” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:286 +OK [en] „Print PDF” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:164 +OK [en] „Search” docmost@v0.96.0:apps/client/public/locales/en-US/translation.json:174 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 36 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/ghost-draft.json b/documentation/audits/app-guides-2026-10-15/B/ghost-draft.json new file mode 100644 index 00000000..1c59fd88 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/ghost-draft.json @@ -0,0 +1,105 @@ +{ + "app": "ghost", + "checked_version": "6.67.0-alpine", + "corpus_note": "TryGhost/Ghost@v6.67.0 (4cb7e79): apps/admin/src (React admin and settings), apps/ember-admin/app (post list and editor publish flow, the default while the editorReact flag is off), koenig/koenig-lexical/src (editor cards); default UI language: English (the admin has no translations; Publication language sets the site language only)", + "hu": { + "sections": [ + {"title": "Bejegyzés képekkel", + "intro": "Egy bejegyzésbe képet is tehetsz, és megadhatod, mikor jelenjen meg.", + "steps": [ + "A bal oldali menüben kattints a „Posts” (Bejegyzések) pontra, majd a „New post” (Új bejegyzés) gombra.", + "Írd be a címet és a szöveget. Egy üres sor elején kattints a + jelre, és válaszd az „Image” (Kép) kártyát.", + "A „Preview” (Előnézet) gombbal megnézed, hogyan látják majd az olvasók.", + "Kattints a „Publish” (Közzététel) gombra. Ha később jelenjen meg, válaszd a „Schedule for later” (Időzítés későbbre) lehetőséget, és add meg a napot és az órát.", + "Kövesd a lépéseket a végső jóváhagyásig: a bejegyzés megjelenik, vagy a megadott időben jelenik meg." + ]}, + {"title": "Rólunk oldal és menü", + "intro": "Az oldal olyan írás, amely nem kerül a bejegyzések közé, például egy bemutatkozás.", + "steps": [ + "A bal oldali menüben kattints a „Pages” (Oldalak) pontra, majd a „New page” (Új oldal) gombra.", + "Írd meg az oldalt, és tedd közzé úgy, mint egy bejegyzést.", + "Nyisd meg a „Settings” (Beállítások) oldalt, és a „Navigation” (Navigáció) résznél kattints a „Customize” (Testreszabás) gombra.", + "Az üres sorba írd a menüpont nevét és az oldal címét a böngésző címsorából, majd kattints a „Save” (Mentés) gombra." + ]}, + {"title": "A blog neve és kinézete", + "intro": "A blog nevét, logóját és színét te választod.", + "steps": [ + "A „Settings” oldalon a „Title & description” (Cím és leírás) résznél kattints az „Edit” (Szerkesztés) gombra.", + "Írd be a blog nevét a „Site title” (A blog neve) mezőbe, majd kattints a „Save” gombra.", + "A „Design & branding” (Dizájn és arculat) résznél kattints a „Customize” gombra.", + "A „Brand” (Arculat) lapon töltsd fel a „Publication logo” (logó) képet, és válaszd ki az „Accent color” (kiemelő szín) értékét.", + "Kattints a „Save” gombra: a változás azonnal látszik a blogon." + ]}, + {"title": "Csak a családnak", + "intro": "Ha a blogot csak a család olvassa, kóddal zárhatod le.", + "steps": [ + "A „Settings” oldalon nyisd meg az „Access” (Hozzáférés) részt.", + "A „Who should be able to browse your site?” (Ki böngészheti a blogot?) mezőben válaszd a „Private” (Privát) értéket.", + "Írj be egy hozzáférési kódot, és kattints a „Save” gombra.", + "Add meg a kódot a családtagjaidnak: a blog.DOMAIN címen ezt kéri tőlük a blog." + ]} + ], + "faq": [ + {"q": "Mi a különbség a blog.DOMAIN és a blog.DOMAIN/ghost cím között?", + "a": "A blog.DOMAIN maga a blog, ezt látják az olvasók. A blog.DOMAIN/ghost a szerkesztőfelület, ide csak bejelentkezve jutsz be."}, + {"q": "Hogyan javítok egy már megjelent bejegyzést?", + "a": "Nyisd meg a bejegyzést a „Posts” listában, írd át, majd kattints az „Update” (Frissítés) gombra."}, + {"q": "Küldhetek hírlevelet a Ghostból?", + "a": "A hírlevélhez a Ghost egy külön levelezőszolgáltatást kér (Mailgun). A doboz ezt nem állítja be. A bejegyzések nélküle is megjelennek a blogon."}, + {"q": "Lehet magyar nyelvű a blog?", + "a": "Igen. A „Settings” oldal „Publication language” (a blog nyelve) részén a „Site language” mezőben válaszd a Hungarian nyelvet. A szerkesztőfelület angol marad."}, + {"q": "Hol vannak a bejegyzéseim és a képeim?", + "a": "A Ghost saját adattárában, a dobozon. A mentésüket az „Adatok és mentés” fülön látod."} + ] + }, + "en": { + "sections": [ + {"title": "A post with pictures", + "intro": "You can put pictures into a post and choose when it comes out.", + "steps": [ + "In the menu on the left, select „Posts”, then the „New post” button.", + "Type the title and the text. At the start of an empty line, select the + sign and choose the „Image” card.", + "„Preview” shows you how readers will see it.", + "Select „Publish”. If it should come out later, choose „Schedule for later” and set the day and the hour.", + "Follow the steps to the final confirmation: the post comes out now, or at the time you set." + ]}, + {"title": "An About page and the menu", + "intro": "A page is writing that does not go among the posts, for example an introduction.", + "steps": [ + "In the menu on the left, select „Pages”, then the „New page” button.", + "Write the page and publish it the same way as a post.", + "Open the „Settings” page, and at „Navigation” select „Customize”.", + "In the empty row, type the name of the menu item and the page's address from the browser's address bar, then select „Save”." + ]}, + {"title": "The blog's name and look", + "intro": "You choose the blog's name, logo and colour.", + "steps": [ + "On the „Settings” page, at „Title & description”, select „Edit”.", + "Type the blog's name in „Site title”, then select „Save”.", + "At „Design & branding”, select „Customize”.", + "On the „Brand” tab, upload a „Publication logo” and choose the „Accent color”.", + "Select „Save”: the change shows on the blog at once." + ]}, + {"title": "For the family only", + "intro": "If only the family reads the blog, you can lock it with a code.", + "steps": [ + "On the „Settings” page, open „Access”.", + "In „Who should be able to browse your site?”, choose „Private”.", + "Type an access code and select „Save”.", + "Give the code to your family: the blog asks them for it at blog.DOMAIN." + ]} + ], + "faq": [ + {"q": "What is the difference between blog.DOMAIN and blog.DOMAIN/ghost?", + "a": "blog.DOMAIN is the blog itself, the part readers see. blog.DOMAIN/ghost is the editing side, and only a signed-in person gets in there."}, + {"q": "How do I correct a post that is already out?", + "a": "Open the post in the „Posts” list, change it, then select „Update”."}, + {"q": "Can I send a newsletter from Ghost?", + "a": "For a newsletter, Ghost asks for a separate mail service (Mailgun). The box does not set it up. Posts still come out on the blog without it."}, + {"q": "Can the blog be in Hungarian?", + "a": "Yes. On the „Settings” page, at „Publication language”, choose Hungarian in „Site language”. The editing side stays in English."}, + {"q": "Where are my posts and pictures?", + "a": "In Ghost's own data store, on the box. You see their backup on the „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/ghost-labels.txt b/documentation/audits/app-guides-2026-10-15/B/ghost-labels.txt new file mode 100644 index 00000000..9a6c4047 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/ghost-labels.txt @@ -0,0 +1,58 @@ +corpus_note: TryGhost/Ghost@v6.67.0 (4cb7e79): apps/admin/src (React admin and settings), apps/ember-admin/app (post list and editor publish flow, the default while the editorReact flag is off), koenig/koenig-lexical/src (editor cards); default UI language: English (the admin has no translations; Publication language sets the site language only) +guide on the box: shown +app: ghost checked against: 6.67.0-alpine +corpora: TryGhost/Ghost@v6.67.0:apps/admin/src TryGhost/Ghost@v6.67.0:apps/ember-admin/app TryGhost/Ghost@v6.67.0:koenig/koenig-lexical/src felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 52 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Posts” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/advanced/history-modal.tsx:229 +OK [hu] „New post” TryGhost/Ghost@v6.67.0:apps/admin/src/posts/list/posts-list.screen.ts:46 +OK [hu] „Image” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/membership/member-welcome-emails.acceptance.test.tsx:445 +OK [hu] „Preview” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/membership/gift-subscriptions.tsx:58 +OK [hu] „Publish” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/growth/offers/add-offer-modal.tsx:804 +OK [hu] „Schedule for later” TryGhost/Ghost@v6.67.0:apps/admin/src/editor/editor-header.acceptance.test.tsx:268 +OK [hu] „Pages” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/advanced/history-modal.tsx:235 +OK [hu] „New page” TryGhost/Ghost@v6.67.0:apps/admin/src/posts/list/posts-list.acceptance.test.tsx:40 +OK [hu] „Settings” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/navigation-history.acceptance.test.tsx:93 +OK [hu] „Navigation” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/site/navigation.tsx:30 +OK [hu] „Customize” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/routing.acceptance.test.tsx:20 +OK [hu] „Save” TryGhost/Ghost@v6.67.0:apps/admin/src/tags/detail/tag-detail.tsx:347 +OK [hu] „Title & description” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/layout/sidebar.tsx:316 +OK [hu] „Edit” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/settings.screen.ts:161 +OK [hu] „Site title” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/general/title-and-description.tsx:85 +OK [hu] „Design & branding” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/search.acceptance.test.tsx:53 +OK [hu] „Brand” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/site/design.acceptance.test.tsx:244 +OK [hu] „Publication logo” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/site/design-and-branding/global-settings.tsx:284 +OK [hu] „Accent color” TryGhost/Ghost@v6.67.0:apps/admin/src/accent-color.acceptance.test.tsx:8 +OK [hu] „Access” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/membership/access.tsx:489 +OK [hu] „Who should be able to browse your site?” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/membership/access.tsx:284 +OK [hu] „Private” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/membership/access.tsx:48 +OK [hu] „Update” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/advanced/integrations.acceptance.test.tsx:231 +OK [hu] „Publication language” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/layout/sidebar.tsx:330 +OK [hu] „Site language” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/general/publication-language.tsx:177 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Posts” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/advanced/history-modal.tsx:229 +OK [en] „New post” TryGhost/Ghost@v6.67.0:apps/admin/src/posts/list/posts-list.screen.ts:46 +OK [en] „Image” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/membership/member-welcome-emails.acceptance.test.tsx:445 +OK [en] „Preview” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/membership/gift-subscriptions.tsx:58 +OK [en] „Publish” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/growth/offers/add-offer-modal.tsx:804 +OK [en] „Schedule for later” TryGhost/Ghost@v6.67.0:apps/admin/src/editor/editor-header.acceptance.test.tsx:268 +OK [en] „Pages” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/advanced/history-modal.tsx:235 +OK [en] „New page” TryGhost/Ghost@v6.67.0:apps/admin/src/posts/list/posts-list.acceptance.test.tsx:40 +OK [en] „Settings” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/navigation-history.acceptance.test.tsx:93 +OK [en] „Navigation” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/site/navigation.tsx:30 +OK [en] „Customize” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/routing.acceptance.test.tsx:20 +OK [en] „Save” TryGhost/Ghost@v6.67.0:apps/admin/src/tags/detail/tag-detail.tsx:347 +OK [en] „Title & description” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/layout/sidebar.tsx:316 +OK [en] „Edit” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/settings.screen.ts:161 +OK [en] „Site title” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/general/title-and-description.tsx:85 +OK [en] „Design & branding” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/search.acceptance.test.tsx:53 +OK [en] „Brand” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/site/design.acceptance.test.tsx:244 +OK [en] „Publication logo” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/site/design-and-branding/global-settings.tsx:284 +OK [en] „Accent color” TryGhost/Ghost@v6.67.0:apps/admin/src/accent-color.acceptance.test.tsx:8 +OK [en] „Access” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/membership/access.tsx:489 +OK [en] „Who should be able to browse your site?” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/membership/access.tsx:284 +OK [en] „Private” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/membership/access.tsx:48 +OK [en] „Update” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/advanced/integrations.acceptance.test.tsx:231 +OK [en] „Publication language” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/layout/sidebar.tsx:330 +OK [en] „Site language” TryGhost/Ghost@v6.67.0:apps/admin/src/settings/general/publication-language.tsx:177 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 52 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/gitea-draft.json b/documentation/audits/app-guides-2026-10-15/B/gitea-draft.json new file mode 100644 index 00000000..35c880bc --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/gitea-draft.json @@ -0,0 +1,107 @@ +{ + "app": "gitea", + "checked_version": "1.27.3", + "corpus_note": "go-gitea/gitea@v1.27.3 (146cc3e): options/locale/locale_hu-HU.json, options/locale/locale_en-US.json, templates/; default UI language: browser language, Hungarian available (partial: a key with no Hungarian text shows the English one, so the HU guide quotes the English label exactly where locale_hu-HU.json has no entry)", + "hu": { + "sections": [ + {"title": "Meglévő projekt áthozása", + "intro": "Egy máshol tárolt projektet a teljes előzményével együtt áthozhatsz.", + "steps": [ + "Kattints a jobb felső sarokban a + jelre, és válaszd az „Új migráció” pontot.", + "Válaszd ki, honnan hozod a projektet, például GitHub vagy Git.", + "A „Migráció / Másolás URL-ről” mezőbe másold be a projekt klónozási címét.", + "Ha csak te láthatod, jelöld be a „Make repository private” (a tároló legyen privát) jelölőt.", + "Kattints a „Tároló migrációja” gombra, és várd meg, amíg végez." + ]}, + {"title": "Közös munka egy tárolón", + "intro": "Egy tárolón többen is dolgozhattok, ha mindenkinek van saját fiókja.", + "steps": [ + "Nyisd meg a tárolót, és kattints a „Beállítások” lapra.", + "A bal oldalon válaszd a „Collaborators” (közreműködők) pontot.", + "Írd be a családtag felhasználónevét, és kattints az „Add Collaborator” (közreműködő hozzáadása) gombra.", + "A neve mellett állítsd be a jogát: „Írás” vagy „Olvasott” (csak olvasás)." + ]}, + {"title": "Teendők követése", + "intro": "A hibajegy egy teendő vagy egy hiba, amelyet a tároló mellett követtek.", + "steps": [ + "Nyisd meg a tárolót, és kattints a „Hibajegyek” lapra.", + "Kattints az „Új hibajegy” gombra, és írj címet és leírást.", + "A „Megbízottak” résznél kiválaszthatod, ki foglalkozzon vele.", + "Kattints a „Hibajegy létrehozása” gombra.", + "Ha kész, a hibajegy alján kattints a „Close Issue” (hibajegy lezárása) gombra." + ]}, + {"title": "Kétlépcsős belépés", + "intro": "A jelszó mellé a telefonod is kell a belépéshez, így a fiókod biztonságosabb.", + "steps": [ + "Kattints jobb felül a profilképedre, és válaszd a „Beállítások” pontot.", + "A „Biztonság” lapon kattints az „Enroll in Two-Factor Authentication” (kétlépcsős hitelesítés bekapcsolása) gombra.", + "Olvasd be a képet a telefonod hitelesítő alkalmazásával, írd be a kódot a „Jelkód” mezőbe, és kattints az „Ellenőrzés” gombra.", + "A git ezután jelszó helyett tokent kér. Az „Alkalmazások” lapon írj nevet a „Token neve” mezőbe, a repository sorban válaszd a „Read and Write” (olvasás és írás) értéket, és kattints a „Token generálása” gombra.", + "Másold le a tokent azonnal: többször nem jelenik meg." + ]} + ], + "faq": [ + {"q": "Miért nem működik a klónozás SSH-val?", + "a": "A doboz a Gitea-t csak a webes címén (git.DOMAIN) teszi elérhetővé, SSH-n nem. Klónozáshoz a HTTPS címet használd."}, + {"q": "Hogyan kap fiókot egy családtag?", + "a": "Idegen nem regisztrálhat: a doboz az első fiók után lezárta a regisztrációt. Új fiókot az admin hoz létre a „Rendszergazdai felület” oldalon, a „Felhasználói fiókok” résznél, a „Felhasználó létrehozása” gombbal."}, + {"q": "Ki látja a tárolóimat?", + "a": "A nyilvános tárolót alapból bejelentkezés nélkül is bárki láthatja, aki megnyitja a git.DOMAIN címet. A privátot csak te és a közreműködők. Később a tároló „Beállítások” lapján, a „Danger Zone” (veszélyes zóna) résznél a „Make Private” (privát legyen) gombbal váltasz."}, + {"q": "Miért nem fogadja el a git a jelszavamat?", + "a": "Ha bekapcsoltad a kétlépcsős belépést, a git jelszó helyett tokent kér. A tokent az „Alkalmazások” lapon hozod létre, és a jelszó helyére írod."}, + {"q": "Hol vannak a tárolóim?", + "a": "A Gitea saját adattárában, a dobozon. A mentésüket az „Adatok és mentés” fülön látod."} + ] + }, + "en": { + "sections": [ + {"title": "Bring over an existing project", + "intro": "You can bring over a project kept elsewhere, with its whole history.", + "steps": [ + "Select the + sign at the top right and choose „New Migration”.", + "Choose where the project comes from, for example GitHub or Git.", + "Paste the project's clone address into „Migrate / Clone From URL”.", + "If only you should see it, tick „Make repository private”.", + "Select „Migrate Repository” and wait until it finishes." + ]}, + {"title": "Work together on a repository", + "intro": "Several people can work on one repository if each has their own account.", + "steps": [ + "Open the repository and select the „Settings” tab.", + "On the left, choose „Collaborators”.", + "Type the family member's user name and select „Add Collaborator”.", + "Next to their name, set what they may do: „Write” or „Read”." + ]}, + {"title": "Keep track of tasks", + "intro": "An issue is a task or a fault that you track next to the repository.", + "steps": [ + "Open the repository and select the „Issues” tab.", + "Select „New Issue”, and write a title and a description.", + "At „Assignees” you can choose who deals with it.", + "Select „Create Issue”.", + "When it is done, select „Close Issue” at the bottom of the issue." + ]}, + {"title": "Two-step sign-in", + "intro": "Signing in then needs your phone as well as the password, so your account is safer.", + "steps": [ + "Select your profile picture at the top right and choose „Settings”.", + "On the „Security” tab, select „Enroll in Two-Factor Authentication”.", + "Scan the picture with the authenticator app on your phone, type the code into „Passcode” and select „Verify”.", + "Git then asks for a token instead of the password. On the „Applications” tab, type a name into „Token Name”, choose „Read and Write” in the repository row, and select „Generate Token”.", + "Copy the token at once: it is not shown again." + ]} + ], + "faq": [ + {"q": "Why does cloning over SSH not work?", + "a": "The box makes Gitea reachable only at its web address (git.DOMAIN), not over SSH. Use the HTTPS address to clone."}, + {"q": "How does a family member get an account?", + "a": "A stranger cannot sign up: the box closed sign-up after the first account. The admin creates a new account on the „Site Administration” page, at „User Accounts”, with „Create User Account”."}, + {"q": "Who can see my repositories?", + "a": "By default, anyone who opens git.DOMAIN can see a public repository, even without signing in. A private one only you and the collaborators. To change it later, use „Make Private” in the „Danger Zone” part of the repository's „Settings” tab."}, + {"q": "Why does git not accept my password?", + "a": "If you turned on two-step sign-in, git asks for a token instead of the password. You make the token on the „Applications” tab and type it where the password goes."}, + {"q": "Where are my repositories?", + "a": "In Gitea's own data store, on the box. You see their backup on the „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/gitea-labels.txt b/documentation/audits/app-guides-2026-10-15/B/gitea-labels.txt new file mode 100644 index 00000000..0fdc9118 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/gitea-labels.txt @@ -0,0 +1,62 @@ +corpus_note: go-gitea/gitea@v1.27.3 (146cc3e): options/locale/locale_hu-HU.json, options/locale/locale_en-US.json, templates/; default UI language: browser language, Hungarian available (partial: a key with no Hungarian text shows the English one, so the HU guide quotes the English label exactly where locale_hu-HU.json has no entry) +guide on the box: shown +app: gitea checked against: 1.27.3 +corpora: go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 56 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Új migráció” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:35 +OK [hu] „Migráció / Másolás URL-ről” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:505 +OK [hu] „Make repository private” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:971 +OK [hu] „Tároló migrációja” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:504 +OK [hu] „Beállítások” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:43 +OK [hu] „Collaborators” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:2074 +OK [hu] „Add Collaborator” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:2227 +OK [hu] „Írás” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:65 +OK [hu] „Olvasott” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:406 +OK [hu] „Hibajegyek” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:54 +OK [hu] „Új hibajegy” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:599 +OK [hu] „Megbízottak” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:608 +OK [hu] „Hibajegy létrehozása” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:612 +OK [hu] „Close Issue” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:1540 +OK [hu] „Biztonság” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:295 +OK [hu] „Enroll in Two-Factor Authentication” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:909 +OK [hu] „Jelkód” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:30 +OK [hu] „Ellenőrzés” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:196 +OK [hu] „Alkalmazások” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:299 +OK [hu] „Token neve” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:397 +OK [hu] „Read and Write” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:865 +OK [hu] „Token generálása” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:398 +OK [hu] „Rendszergazdai felület” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:41 +OK [hu] „Felhasználói fiókok” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:1042 +OK [hu] „Felhasználó létrehozása” go-gitea/gitea@v1.27.3:options/locale/locale_hu-HU.json:1094 +OK [hu] „Danger Zone” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:2169 +OK [hu] „Make Private” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:2494 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „New Migration” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:57 +OK [en] „Migrate / Clone From URL” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:1110 +OK [en] „Make repository private” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:971 +OK [en] „Migrate Repository” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:1109 +OK [en] „Settings” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:66 +OK [en] „Collaborators” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:2074 +OK [en] „Add Collaborator” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:2227 +OK [en] „Write” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:109 +OK [en] „Read” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:832 +OK [en] „Issues” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:77 +OK [en] „New Issue” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:1405 +OK [en] „Assignees” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:1420 +OK [en] „Create Issue” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:1435 +OK [en] „Close Issue” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:1540 +OK [en] „Security” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:657 +OK [en] „Enroll in Two-Factor Authentication” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:909 +OK [en] „Passcode” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:38 +OK [en] „Verify” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:415 +OK [en] „Applications” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:661 +OK [en] „Token Name” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:849 +OK [en] „Read and Write” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:865 +OK [en] „Generate Token” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:850 +OK [en] „Site Administration” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:64 +OK [en] „User Accounts” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:2896 +OK [en] „Create User Account” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:3024 +OK [en] „Make Private” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:2494 +OK [en] „Danger Zone” go-gitea/gitea@v1.27.3:options/locale/locale_en-US.json:2169 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 56 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/glance-draft.json b/documentation/audits/app-guides-2026-10-15/B/glance-draft.json new file mode 100644 index 00000000..8811e4a3 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/glance-draft.json @@ -0,0 +1,113 @@ +{ + "app": "glance", + "checked_version": "v0.8.5", + "corpus_note": "glanceapp/glance@v0.8.5 (91324e8): internal/glance/templates, docs/configuration.md, internal/glance/glance.go and widget-rss.go read for behaviour; the seeded start page read from the catalog template's docker-compose.yml; default UI language: English (no translations)", + "hu": { + "sections": [ + { + "title": "Az időjárás leolvasása", + "intro": "Az időjárás kártya oszlopokban mutatja az előrejelzést.", + "steps": [ + "Minden oszlop két órát jelent.", + "A sárga háttér a napkeltét és a napnyugtát jelöli.", + "A kék pöttyök azokat az órákat jelölik, amikor nagy eséllyel esik.", + "Ha az egeret egy oszlop fölé viszed, látod a pontos hőmérsékletet." + ] + }, + { + "title": "Világos vagy sötét téma", + "intro": "A Glance sötét és világos színben is mutatja az oldalt.", + "steps": [ + "Számítógépen kattints jobb felül a kis színes négyzetre, és válaszd ki a témát.", + "Telefonon nyisd meg az alsó sáv menüjét, és kattints a „Change theme” (téma váltása) pontra.", + "A választás csak abban a böngészőben marad meg, ahol beállítottad." + ] + }, + { + "title": "Telefonon és kezdőlapként", + "intro": "A Glance akkor a leghasznosabb, ha mindig kéznél van.", + "steps": [ + "Telefonon az alsó sáv pöttyeivel váltasz az oszlopok között.", + "A böngésző menüjében válaszd a kezdőképernyőhöz adást: a Glance ezután saját ikonról, appként nyílik.", + "Számítógépen állítsd be a dashboard.DOMAIN címet a böngésző kezdőlapjának." + ] + } + ], + "faq": [ + { + "q": "Átírhatom a várost, a híreket vagy a könyvjelzőket?", + "a": "A Glance-nak nincs szerkesztőfelülete: a város, a hírforrások és a könyvjelzők a Glance beállítófájljában vannak, a felületen nem tudod átírni őket." + }, + { + "q": "Miért nem a legfrissebb hírt látom?", + "a": "A Glance a híreket kétóránként frissíti, az időjárást és a naptárt minden egész órában, nem minden megnyitáskor." + }, + { + "q": "Ki látja a Glance-ot?", + "a": "Csak a családtagok. A Glance-nak nincs saját belépése, ezért a doboz a családi kapu mögé tette: mindenki a saját nevével és jelszavával lép be." + }, + { + "q": "Mindenki ugyanazt az oldalt látja?", + "a": "Igen, az oldal mindenkinek ugyanaz. Csak a téma más böngészőnként." + }, + { + "q": "Mi van a kezdőlapon?", + "a": "A doboz egy alap kezdőlapot írt be: budapesti óra, naptár, Budapest időjárása, egy könyvjelző a doboz vezérlőpultjához, valamint a Telex és a HVG hírei." + } + ] + }, + "en": { + "sections": [ + { + "title": "Read the weather", + "intro": "The weather card shows the forecast in bars.", + "steps": [ + "Each bar stands for two hours.", + "The yellow background marks sunrise and sunset.", + "The blue dots mark the hours with a high chance of rain.", + "Move the mouse over a bar to see the exact temperature." + ] + }, + { + "title": "Light or dark theme", + "intro": "Glance can show the page in dark or in light colours.", + "steps": [ + "On a computer, select the small coloured square at the top right and choose a theme.", + "On a phone, open the menu in the bottom bar and select „Change theme”.", + "The choice stays only in the browser where you made it." + ] + }, + { + "title": "On your phone and as a start page", + "intro": "Glance is most useful when it is always at hand.", + "steps": [ + "On a phone, the dots in the bottom bar switch between the columns.", + "In the browser's menu, choose to add it to the home screen: Glance then opens from its own icon, like an app.", + "On a computer, set dashboard.DOMAIN as the browser's start page." + ] + } + ], + "faq": [ + { + "q": "Can I change the city, the news or the bookmarks?", + "a": "Glance has no editing screen: the city, the news sources and the bookmarks are in Glance's settings file, and you cannot change them on the page." + }, + { + "q": "Why do I not see the latest news?", + "a": "Glance refreshes the news every two hours, and the weather and the calendar on every full hour, not each time you open it." + }, + { + "q": "Who can see Glance?", + "a": "Only your family. Glance has no sign-in of its own, so the box put it behind the family gate: everyone signs in with their own name and password." + }, + { + "q": "Does everyone see the same page?", + "a": "Yes, the page is the same for everyone. Only the theme differs from browser to browser." + }, + { + "q": "What is on the start page?", + "a": "The box wrote a basic start page: a Budapest clock, a calendar, the weather for Budapest, a bookmark to the box's dashboard, and news from Telex and HVG." + } + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/glance-labels.txt b/documentation/audits/app-guides-2026-10-15/B/glance-labels.txt new file mode 100644 index 00000000..c4e8e4e4 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/glance-labels.txt @@ -0,0 +1,8 @@ +corpus_note: glanceapp/glance@v0.8.5 (91324e8): internal/glance/templates, docs/configuration.md, internal/glance/glance.go and widget-rss.go read for behaviour; the seeded start page read from the catalog template's docker-compose.yml; default UI language: English (no translations) +guide on the box: shown +app: glance checked against: v0.8.5 +corpora: glanceapp/glance@v0.8.5:internal/glance/templates felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 2 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Change theme” glanceapp/glance@v0.8.5:internal/glance/templates/page.html:82 +OK [en] „Change theme” glanceapp/glance@v0.8.5:internal/glance/templates/page.html:82 +RESULT: ALL FOUND — 2 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/gokapi-draft.json b/documentation/audits/app-guides-2026-10-15/B/gokapi-draft.json new file mode 100644 index 00000000..70be5302 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/gokapi-draft.json @@ -0,0 +1,93 @@ +{ + "app": "gokapi", + "checked_version": "v1.9.6", + "corpus_note": "Forceu/Gokapi@v1.9.6 (34873b5): internal/webserver/web/templates, internal/webserver/web/static/js (upload defaults), docs/usage.rst; default UI language: English (no translations)", + "hu": { + "sections": [ + {"title": "Jelszóval védett megosztás", + "intro": "Egy bizalmas fájlt csak az tölthet le, aki a jelszót is tudja.", + "steps": [ + "Az „Upload” (Feltöltés) részen pipáld be a „Password” (Jelszó) jelölőt, és írj be egy jelszót.", + "Ezután húzd a fájlt a feltöltő mezőbe.", + "Másold ki a linket az „URL” gombbal, és küldd el.", + "A jelszót külön úton add meg, például telefonon." + ]}, + {"title": "Egy link módosítása", + "intro": "Egy már megosztott fájl lejáratát és letöltési számát utólag is átírhatod.", + "steps": [ + "A fájl sorában kattints a ceruza ikonra („Edit”, Szerkesztés).", + "Írd át a „Limit Downloads” (letöltések száma) vagy az „Expiry” (lejárat) értékét, vagy adj meg jelszót.", + "Kattints a „Save changes” (Változások mentése) gombra. A link ugyanaz marad." + ]}, + {"title": "Megosztás telefonra", + "intro": "Egy fájlt a telefonodra is gyorsan átküldhetsz.", + "steps": [ + "A fájl sorában kattints a QR-kód ikonra („QR Code”).", + "Olvasd be a kódot a telefon kamerájával, és nyisd meg a linket.", + "Egy képnél a „Hotlink” gomb közvetlen linket ad, amely magát a képet mutatja. Ez nem működik jelszóval védett fájlnál." + ]}, + {"title": "Fájl törlése", + "intro": "Egy megosztást nem kell megvárnod, hogy lejárjon.", + "steps": [ + "A „Downloads remaining” (hátralévő letöltések) oszlopban látod, hányszor tölthetik még le.", + "A fájl sorában kattints a kuka ikonra („Delete”, Törlés): a fájl azonnal törlődik, a link megszűnik." + ]} + ], + "faq": [ + {"q": "Miért nem tudta letölteni a második ember?", + "a": "Az első feltöltésnél egy letöltés és 14 nap az alapérték. Ha többen töltik le, feltöltés előtt írj nagyobb számot, vagy vedd ki a pipát a „Limit Downloads” elől. A Gokapi az utolsó beállításodat ebben a böngészőben megjegyzi."}, + {"q": "Mi lesz a fájllal, ha lejár?", + "a": "A Gokapi óránként törli a lejárt fájlokat a dobozról, a link megszűnik."}, + {"q": "Kell fiók a letöltéshez?", + "a": "Nem. A címzettnek csak a link kell, és a jelszó, ha megadtál. Feltölteni a Gokapi admin belépésével lehet."}, + {"q": "Mekkora fájlt oszthatok meg?", + "a": "A doboz fájlonként 100 GB-os felső határt állított be. Ha ugyanazt a fájlt kétszer töltöd fel, a Gokapi csak egyszer tárolja."}, + {"q": "Hol vannak a feltöltött fájlok?", + "a": "A Gokapi saját adattárában, a dobozon. A mentésüket az „Adatok és mentés” fülön látod."} + ] + }, + "en": { + "sections": [ + {"title": "Share with a password", + "intro": "Only someone who also knows the password can download a private file.", + "steps": [ + "In the „Upload” part, tick „Password” and type a password.", + "Then drag the file into the upload area.", + "Copy the link with the „URL” button and send it.", + "Give the password another way, for example by phone." + ]}, + {"title": "Change a link", + "intro": "You can change the expiry and the download count of a file you already shared.", + "steps": [ + "In the file's row, select the pencil icon („Edit”).", + "Change „Limit Downloads” or „Expiry”, or set a password.", + "Select „Save changes”. The link stays the same." + ]}, + {"title": "Send to your phone", + "intro": "You can quickly send a file to your phone too.", + "steps": [ + "In the file's row, select the QR code icon („QR Code”).", + "Scan the code with the phone's camera and open the link.", + "For a picture, the „Hotlink” button gives a direct link that shows the picture itself. It does not work for a file with a password." + ]}, + {"title": "Delete a file", + "intro": "You do not have to wait for a share to run out.", + "steps": [ + "The „Downloads remaining” column shows how many more times it can be downloaded.", + "In the file's row, select the bin icon („Delete”): the file is deleted at once and the link stops working." + ]} + ], + "faq": [ + {"q": "Why could the second person not download it?", + "a": "On your first upload, the default is one download and 14 days. If several people will download it, type a bigger number before you upload, or untick „Limit Downloads”. Gokapi remembers your last setting in this browser."}, + {"q": "What happens to the file when it runs out?", + "a": "Every hour, Gokapi deletes the files that ran out from the box, and the link stops working."}, + {"q": "Does someone need an account to download?", + "a": "No. They only need the link, and the password if you set one. Uploading needs Gokapi's admin sign-in."}, + {"q": "How big a file can I share?", + "a": "The box set an upper limit of 100 GB per file. If you upload the same file twice, Gokapi stores it only once."}, + {"q": "Where are the uploaded files?", + "a": "In Gokapi's own data store, on the box. You see their backup on the „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/gokapi-labels.txt b/documentation/audits/app-guides-2026-10-15/B/gokapi-labels.txt new file mode 100644 index 00000000..529b9a8b --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/gokapi-labels.txt @@ -0,0 +1,30 @@ +corpus_note: Forceu/Gokapi@v1.9.6 (34873b5): internal/webserver/web/templates, internal/webserver/web/static/js (upload defaults), docs/usage.rst; default UI language: English (no translations) +guide on the box: shown +app: gokapi checked against: v1.9.6 +corpora: Forceu/Gokapi@v1.9.6:internal/webserver/web/templates Forceu/Gokapi@v1.9.6:internal/webserver/web/static/js/admin_ui_upload.js felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 24 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Upload” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_header.tmpl:73 +OK [hu] „Password” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_login.tmpl:14 +OK [hu] „URL” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:82 +OK [hu] „Edit” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:89 +OK [hu] „Limit Downloads” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:23 +OK [hu] „Expiry” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:123 +OK [hu] „Save changes” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:144 +OK [hu] „QR Code” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:88 +OK [hu] „Hotlink” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:84 +OK [hu] „Downloads remaining” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:56 +OK [hu] „Delete” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_api.tmpl:40 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Upload” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_header.tmpl:73 +OK [en] „Password” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_login.tmpl:14 +OK [en] „URL” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:82 +OK [en] „Edit” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:89 +OK [en] „Limit Downloads” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:23 +OK [en] „Expiry” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:123 +OK [en] „Save changes” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:144 +OK [en] „QR Code” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:88 +OK [en] „Hotlink” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:84 +OK [en] „Downloads remaining” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_admin.tmpl:56 +OK [en] „Delete” Forceu/Gokapi@v1.9.6:internal/webserver/web/templates/html_api.tmpl:40 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 24 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/grafana-draft.json b/documentation/audits/app-guides-2026-10-15/B/grafana-draft.json new file mode 100644 index 00000000..663414f9 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/grafana-draft.json @@ -0,0 +1,97 @@ +{ + "app": "grafana", + "checked_version": "13.2.3", + "corpus_note": "grafana/grafana@v13.2.3 (6193dc0): public/locales/en-US/grafana.json, packages/grafana-i18n/src/languages.ts, public/app/core/components/AppChrome, public/app/features/admin and profile; conf/defaults.ini and pkg/services/navtree read for behaviour; default UI language: English (default_language = en-US; each user can switch to Magyar in their profile)", + "hu": { + "sections": [ + {"title": "Saját jelszó beállítása", + "intro": "A telepítéskor generált jelszót érdemes a sajátodra cserélni.", + "steps": [ + "Kattints jobb felül a profilképedre, és válaszd a „Change password” (Jelszó módosítása) pontot.", + "Az „Old password” (régi jelszó) mezőbe írd a generált jelszót: a vezérlőpulton, a Grafana „Beállítások” fülén látod.", + "Írd be az új jelszót a „New password” (új jelszó) és a „Confirm password” (jelszó megerősítése) mezőbe.", + "Kattints a „Change Password” gombra." + ]}, + {"title": "Családtag felvétele", + "intro": "Mindenki a saját fiókjával nézheti az irányítópultokat.", + "steps": [ + "A bal oldali menüben nyisd meg az „Administration” (Adminisztráció) részt, azon belül a „Users and access” (felhasználók és hozzáférés) pontot.", + "Válaszd a „Users” (Felhasználók) pontot, és kattints a „New user” (új felhasználó) gombra.", + "Töltsd ki a „Name” (név), a „Username” (felhasználónév) és a „Password” (jelszó) mezőt.", + "Kattints a „Create user” (felhasználó létrehozása) gombra, és add meg a családtagnak a nevet és a jelszót." + ]}, + {"title": "Magyar nyelv és téma", + "intro": "A nyelvet és a színeket mindenki a saját fiókjában választja meg.", + "steps": [ + "Kattints jobb felül a profilképedre, és válaszd a „Profile” (Profil) pontot.", + "A „Language” (Nyelv) mezőben válaszd a „Magyar” nyelvet, majd kattints a „Save preferences” (beállítások mentése) gombra.", + "Világos vagy sötét színekhez a profilkép menüjében válaszd a „Change theme” (téma módosítása) pontot." + ]}, + {"title": "Irányítópult a tévén", + "intro": "Egy irányítópult egész képernyőn, menük nélkül is futhat, például egy tévén.", + "steps": [ + "A tévé böngészőjében lépj be egy családtag fiókjával, és nyisd meg az irányítópultot.", + "A profilkép menüjében válaszd az „Enable kiosk mode” (kioszk mód) pontot: a menük eltűnnek.", + "A kioszk módból az ESC gombbal lépsz ki." + ]} + ], + "faq": [ + {"q": "Megváltoztattam a jelszót. Melyik az érvényes?", + "a": "Amit a Grafanában beállítottál. A generált jelszó csak az első belépéshez kellett."}, + {"q": "A családtag csak nézni tud. Miért?", + "a": "Az új felhasználó a Grafanában néző szerepkört kap. Szerkesztéshez nyisd meg őt a „Users” listában, és a „Change role” (szerepkör módosítása) gombbal adj neki szerkesztő szerepkört."}, + {"q": "Honnan jönnek az adatok?", + "a": "A Grafana csak megjelenít: az adatokat egy adatforrás adja, amelyet a „Connections” (Kapcsolatok) menüben adsz hozzá. A doboz adatforrást nem telepít."}, + {"q": "Kapok e-mailt egy riasztásról?", + "a": "Nem: a doboz nem állít be levélküldést a Grafanának, ezért e-mailes riasztás nem megy ki."}, + {"q": "Hol vannak az irányítópultjaim?", + "a": "A Grafana saját adattárában, a dobozon. A mentésüket az „Adatok és mentés” fülön látod."} + ] + }, + "en": { + "sections": [ + {"title": "Set your own password", + "intro": "It is worth replacing the password made at install time with your own.", + "steps": [ + "Select your profile picture at the top right and choose „Change password”.", + "In „Old password”, type the generated password: you see it on the dashboard, on Grafana's „Settings” tab.", + "Type the new password into „New password” and „Confirm password”.", + "Select „Change Password”." + ]}, + {"title": "Add a family member", + "intro": "Everyone can look at the dashboards with their own account.", + "steps": [ + "In the menu on the left, open „Administration”, and in it „Users and access”.", + "Choose „Users”, and select „New user”.", + "Fill in „Name”, „Username” and „Password”.", + "Select „Create user”, and give the family member the name and the password." + ]}, + {"title": "Hungarian and the theme", + "intro": "Everyone chooses the language and the colours in their own account.", + "steps": [ + "Select your profile picture at the top right and choose „Profile”.", + "In „Language”, choose Hungarian (the list shows it under its own name), then select „Save preferences”.", + "For light or dark colours, choose „Change theme” in the profile picture's menu." + ]}, + {"title": "A dashboard on the TV", + "intro": "A dashboard can run on the whole screen with no menus, for example on a TV.", + "steps": [ + "In the TV's browser, sign in with a family member's account and open the dashboard.", + "In the profile picture's menu, choose „Enable kiosk mode”: the menus go away.", + "Press ESC to leave kiosk mode." + ]} + ], + "faq": [ + {"q": "I changed the password. Which one is valid?", + "a": "The one you set in Grafana. The generated password was only for the first sign-in."}, + {"q": "A family member can only look. Why?", + "a": "A new user gets the viewer role in Grafana. To let them edit, open them in the „Users” list and give them the editor role with „Change role”."}, + {"q": "Where does the data come from?", + "a": "Grafana only shows data: a data source provides it, and you add that in the „Connections” menu. The box installs no data source."}, + {"q": "Do I get an e-mail about an alert?", + "a": "No: the box does not set up mail sending for Grafana, so no alert goes out by e-mail."}, + {"q": "Where are my dashboards?", + "a": "In Grafana's own data store, on the box. You see their backup on the „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/grafana-labels.txt b/documentation/audits/app-guides-2026-10-15/B/grafana-labels.txt new file mode 100644 index 00000000..61ba2839 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/grafana-labels.txt @@ -0,0 +1,51 @@ +corpus_note: grafana/grafana@v13.2.3 (6193dc0): public/locales/en-US/grafana.json, packages/grafana-i18n/src/languages.ts, public/app/core/components/AppChrome, public/app/features/admin and profile; conf/defaults.ini and pkg/services/navtree read for behaviour; default UI language: English (default_language = en-US; each user can switch to Magyar in their profile) +guide on the box: shown +app: grafana checked against: 13.2.3 +corpora: grafana/grafana@v13.2.3:public/locales/en-US/grafana.json grafana/grafana@v13.2.3:packages/grafana-i18n/src/languages.ts felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 45 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Change password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:12520 +OK [hu] „Old password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:13497 +OK [hu] „Beállítások” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:18 +OK [hu] „New password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:9221 +OK [hu] „Confirm password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:13491 +OK [hu] „Change Password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:13490 +OK [hu] „Administration” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:12353 +OK [hu] „Users and access” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:12357 +OK [hu] „Users” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:277 +OK [hu] „New user” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:334 +OK [hu] „Name” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:60 +OK [hu] „Username” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:156 +OK [hu] „Password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:253 +OK [hu] „Create user” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:331 +OK [hu] „Profile” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:12523 +OK [hu] „Language” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:15557 +OK [hu] „Magyar” grafana/grafana@v13.2.3:packages/grafana-i18n/src/languages.ts:49 +OK [hu] „Save preferences” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:15563 +OK [hu] „Change theme” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:5069 +OK [hu] „Enable kiosk mode” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:13503 +OK [hu] „Change role” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:281 +OK [hu] „Connections” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:12372 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Change password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:12520 +OK [en] „Old password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:13497 +OK [en] „Settings” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:6533 +OK [en] „New password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:9221 +OK [en] „Confirm password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:13491 +OK [en] „Change Password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:13490 +OK [en] „Administration” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:12353 +OK [en] „Users and access” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:12357 +OK [en] „Users” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:277 +OK [en] „New user” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:334 +OK [en] „Name” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:60 +OK [en] „Username” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:156 +OK [en] „Password” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:253 +OK [en] „Create user” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:331 +OK [en] „Profile” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:12523 +OK [en] „Language” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:15557 +OK [en] „Save preferences” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:15563 +OK [en] „Change theme” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:5069 +OK [en] „Enable kiosk mode” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:13503 +OK [en] „Change role” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:281 +OK [en] „Connections” grafana/grafana@v13.2.3:public/locales/en-US/grafana.json:12372 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 45 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/gramps-web-draft.json b/documentation/audits/app-guides-2026-10-15/B/gramps-web-draft.json new file mode 100644 index 00000000..cbfb0ad4 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/gramps-web-draft.json @@ -0,0 +1,105 @@ +{ + "app": "gramps-web", + "checked_version": "v25.6.0", + "corpus_note": "gramps-web@v25.6.0 (7e398ff): src/, lang/en.json, lang/hu.json; the image's backend is gramps-web-api v3.2.0 on Gramps 6.0.1 (pyproject gramps>=6.0.1,<6.1), whose po/hu.po at v6.0.1 (e8a2084) translates every string in src/strings.js grampsStrings; default UI language: browser language, Hungarian available but partial: grampsStrings come out of Gramps' hu.po, the other frontend strings from lang/hu.json (11 entries), so a Hungarian browser shows e.g. „Manage users”, „Export”, the role names and „Search” in English. HU text quotes exactly that mix.", + "hu": { + "sections": [ + {"title": "Családtag meghívása", + "intro": "Minden családtag a saját nevével és jelszavával lép be, és te döntöd el, mit tehet.", + "steps": [ + "Kattints jobb felül a profil ikonra, és válaszd a „Manage users” (felhasználók kezelése) pontot.", + "Kattints az „Add a new user” (új felhasználó) gombra.", + "Írd be a családtag nevét, e-mail címét és egy jelszót.", + "A „Szerep” mezőben válassz: a „Member” (tag) csak nézi a családfát, az „Editor” (szerkesztő) bővítheti és javíthatja is.", + "Mentsd el, és küldd el neki a family.DOMAIN címet és a jelszót." + ]}, + {"title": "Személy és család felvétele", + "intro": "A családfa személyekből és az őket összekötő családokból áll.", + "steps": [ + "Kattints a felső sávban a + gombra („Hozzáad”), és válaszd a „Személy” pontot.", + "Írd be az „Utónév” és a vezetéknév mezőt, válaszd ki a „Nem” értékét, és ha tudod, a „Születési dátum” mezőt.", + "Kattints lent a „Hozzáad” gombra.", + "A szülők és a gyerekek összekötéséhez a + gombnál válaszd a „Család” pontot.", + "Válaszd ki az „Apa” és az „Anya” személyt, a „Gyermekek” részben add hozzá a gyerekeket, majd kattints a „Hozzáad” gombra." + ]}, + {"title": "Fénykép csatolása", + "intro": "Egy régi fotó vagy irat a személy adatlapjára kerülhet.", + "steps": [ + "Nyisd meg a személy adatlapját, és kattints a ceruza gombra.", + "Válaszd a „Galéria” fület, és kattints az „Új média objektum hozzáadása” gombra.", + "Kattints az „Egy fájl kiválasztása” gombra, és válaszd ki a képet a gépedről vagy a telefonodról.", + "Mentsd el a képet." + ]}, + {"title": "A családfa megnézése", + "intro": "A rajzolt családfa egy kiinduló személytől indul.", + "steps": [ + "A bal oldali menüben nyisd meg a „Honlap” oldalt, és a „Kiinduló személy” résznél kattints a beállító gombra.", + "Válaszd ki magadat vagy azt, akitől a családfát nézni szeretnéd.", + "A bal oldali menüben kattints a „Családfa” pontra.", + "A fülek között válthatsz: „Származásfa” (az ősök), „Leszármazási fa” (az utódok) és „Legyező diagram”." + ]} + ], + "faq": [ + {"q": "Átállíthatom a nyelvet?", + "a": "A Gramps Web a böngésző nyelvén indul. A profil ikon alatt a „Felhasználói beállítások” oldalon a „Nyelv” résznél másikat választhatsz. A magyar fordítás nem teljes, ezért néhány felirat angolul marad."}, + {"q": "Mit lát, aki csak „Guest” (vendég) szerepet kapott?", + "a": "Nézheti a családfát, de a „Bizalmas” jelölésű adatokat nem látja, és semmit nem módosíthat. Ha a bizalmas adatokat is látnia kell, adj neki „Member” szerepet."}, + {"q": "Hogyan viszem át a családfát másik programba?", + "a": "A bal oldali menüben nyisd meg az „Export” oldalt, válaszd ki a formátumot, például a GEDCOM-ot, és kattints alatta a létrehozó gombra. A kész fájlt a böngésződ tölti le."}, + {"q": "Regisztrálhat magától valaki?", + "a": "Nem. Az első fiókod után a doboz lezárta a regisztrációt, új családtagot csak te veszel fel."}, + {"q": "Hol vannak a fotók és a családfa?", + "a": "A dobozon, a Gramps Web saját tárhelyén. Hogy mi kerül mentésbe, azt a vezérlőpulton az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "Invite a family member", + "intro": "Every family member signs in with their own name and password, and you decide what they may do.", + "steps": [ + "Select the profile icon at the top right, and choose „Manage users”.", + "Select „Add a new user”.", + "Type the family member's name, e-mail address and a password.", + "In „Role”, choose: a „Member” only looks at the tree, an „Editor” can add to it and correct it too.", + "Save it, and send them the family.DOMAIN address and the password." + ]}, + {"title": "Add a person and a family", + "intro": "The family tree is made of people and of the families that connect them.", + "steps": [ + "Select the + button in the top bar („Add”), and choose „Person”.", + "Fill in „Given name” and the surname, choose the „Gender”, and the „Birth Date” if you know it.", + "Select „Add” at the bottom.", + "To connect parents and children, choose „Family” at the + button.", + "Choose the „Father” and the „Mother”, add the children under „Children”, then select „Add”." + ]}, + {"title": "Attach a photo", + "intro": "An old photo or document can go on the person's page.", + "steps": [ + "Open the person's page and select the pencil button.", + "Choose the „Gallery” tab, and select „Add a new media object”.", + "Select „Select a file”, and choose the picture from your computer or your phone.", + "Save the picture." + ]}, + {"title": "Look at the family tree", + "intro": "The drawn tree starts from a home person.", + "steps": [ + "In the menu on the left, open the „Home Page”, and under „Home Person” select the button that sets it.", + "Choose yourself, or the person you want to see the tree from.", + "In the menu on the left, select „Family Tree”.", + "Switch between the tabs: „Ancestor Tree” (the ancestors), „Descendant Tree” (the descendants) and „Fan Chart”." + ]} + ], + "faq": [ + {"q": "Can I change the language?", + "a": "Gramps Web starts in your browser's language. Under the profile icon, on the „User settings” page, choose another one under „Language”. The Hungarian translation is not complete, so some labels stay in English."}, + {"q": "What does someone with the „Guest” role see?", + "a": "They can look at the tree, but they do not see data marked „Private”, and they cannot change anything. If they need to see private data too, give them the „Member” role."}, + {"q": "How do I take the tree to another program?", + "a": "In the menu on the left, open the „Export” page, choose the format, for example GEDCOM, and select the button below it that generates the file. Your browser downloads the finished file."}, + {"q": "Can someone sign up on their own?", + "a": "No. After your first account the box closed sign-up, so only you add new family members."}, + {"q": "Where are the photos and the tree?", + "a": "On the box, in Gramps Web's own storage. What goes into the backup is shown on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/gramps-web-labels.txt b/documentation/audits/app-guides-2026-10-15/B/gramps-web-labels.txt new file mode 100644 index 00000000..0b807e50 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/gramps-web-labels.txt @@ -0,0 +1,64 @@ +corpus_note: gramps-web@v25.6.0 (7e398ff): src/, lang/en.json, lang/hu.json; the image's backend is gramps-web-api v3.2.0 on Gramps 6.0.1 (pyproject gramps>=6.0.1,<6.1), whose po/hu.po at v6.0.1 (e8a2084) translates every string in src/strings.js grampsStrings; default UI language: browser language, Hungarian available but partial: grampsStrings come out of Gramps' hu.po, the other frontend strings from lang/hu.json (11 entries), so a Hungarian browser shows e.g. „Manage users”, „Export”, the role names and „Search” in English. HU text quotes exactly that mix. +guide on the box: shown +app: gramps-web checked against: v25.6.0 +corpora: gramps-web@v25.6.0:src gramps-web@v25.6.0:lang/en.json gramps-web@v25.6.0:lang/hu.json ./gramps-core/repo/po/hu.po felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 58 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Manage users” gramps-web@v25.6.0:src/components/GrampsjsTabBar.js:23 +OK [hu] „Add a new user” gramps-web@v25.6.0:src/components/GrampsjsUsers.js:90 +OK [hu] „Szerep” ./gramps-core/repo/po/hu.po:14062 +OK [hu] „Member” gramps-web@v25.6.0:src/components/GrampsjsFormUser.js:18 +OK [hu] „Editor” gramps-web@v25.6.0:src/components/GrampsjsFormUser.js:20 +OK [hu] „Hozzáad” ./gramps-core/repo/po/hu.po:13923 +OK [hu] „Személy” ./gramps-core/repo/po/hu.po:360 +OK [hu] „Utónév” ./gramps-core/repo/po/hu.po:8606 +OK [hu] „Nem” ./gramps-core/repo/po/hu.po:8948 +OK [hu] „Születési dátum” ./gramps-core/repo/po/hu.po:14804 +OK [hu] „Család” ./gramps-core/repo/po/hu.po:7690 +OK [hu] „Apa” ./gramps-core/repo/po/hu.po:7720 +OK [hu] „Anya” ./gramps-core/repo/po/hu.po:7742 +OK [hu] „Gyermekek” ./gramps-core/repo/po/hu.po:8311 +OK [hu] „Galéria” ./gramps-core/repo/po/hu.po:24086 +OK [hu] „Új média objektum hozzáadása” ./gramps-core/repo/po/hu.po:15930 +OK [hu] „Egy fájl kiválasztása” ./gramps-core/repo/po/hu.po:17131 +OK [hu] „Honlap” ./gramps-core/repo/po/hu.po:25017 +OK [hu] „Kiinduló személy” ./gramps-core/repo/po/hu.po:5759 +OK [hu] „Családfa” ./gramps-core/repo/po/hu.po:294 +OK [hu] „Származásfa” ./gramps-core/repo/po/hu.po:21671 +OK [hu] „Leszármazási fa” ./gramps-core/repo/po/hu.po:22577 +OK [hu] „Legyező diagram” ./gramps-core/repo/po/hu.po:22605 +OK [hu] „Felhasználói beállítások” gramps-web@v25.6.0:lang/hu.json:8 +OK [hu] „Nyelv” ./gramps-core/repo/po/hu.po:9085 +OK [hu] „Guest” gramps-web@v25.6.0:src/components/GrampsjsFormUser.js:17 +OK [hu] „Bizalmas” ./gramps-core/repo/po/hu.po:6819 +OK [hu] „Export” gramps-web@v25.6.0:src/GrampsJs.js:327 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Manage users” gramps-web@v25.6.0:src/components/GrampsjsTabBar.js:23 +OK [en] „Add a new user” gramps-web@v25.6.0:src/components/GrampsjsUsers.js:90 +OK [en] „Role” gramps-web@v25.6.0:src/strings.js:515 +OK [en] „Member” gramps-web@v25.6.0:src/components/GrampsjsFormUser.js:18 +OK [en] „Editor” gramps-web@v25.6.0:src/components/GrampsjsFormUser.js:20 +OK [en] „Add” gramps-web@v25.6.0:src/strings.js:89 +OK [en] „Person” gramps-web@v25.6.0:src/strings.js:443 +OK [en] „Given name” gramps-web@v25.6.0:src/strings.js:283 +OK [en] „Gender” gramps-web@v25.6.0:src/strings.js:279 +OK [en] „Birth Date” gramps-web@v25.6.0:src/strings.js:124 +OK [en] „Family” gramps-web@v25.6.0:src/util.js:317 +OK [en] „Father” gramps-web@v25.6.0:src/strings.js:264 +OK [en] „Mother” gramps-web@v25.6.0:src/strings.js:347 +OK [en] „Children” gramps-web@v25.6.0:src/strings.js:158 +OK [en] „Gallery” gramps-web@v25.6.0:src/strings.js:278 +OK [en] „Add a new media object” gramps-web@v25.6.0:src/strings.js:85 +OK [en] „Select a file” gramps-web@v25.6.0:src/strings.js:519 +OK [en] „Home Page” gramps-web@v25.6.0:src/strings.js:292 +OK [en] „Home Person” gramps-web@v25.6.0:src/strings.js:293 +OK [en] „Family Tree” gramps-web@v25.6.0:src/strings.js:260 +OK [en] „Ancestor Tree” gramps-web@v25.6.0:src/strings.js:106 +OK [en] „Descendant Tree” gramps-web@v25.6.0:src/strings.js:201 +OK [en] „Fan Chart” gramps-web@v25.6.0:src/strings.js:262 +OK [en] „User settings” gramps-web@v25.6.0:src/components/GrampsjsTabBar.js:21 +OK [en] „Language” gramps-web@v25.6.0:src/strings.js:307 +OK [en] „Guest” gramps-web@v25.6.0:src/components/GrampsjsFormUser.js:17 +OK [en] „Private” gramps-web@v25.6.0:src/strings.js:459 +OK [en] „Export” gramps-web@v25.6.0:src/GrampsJs.js:327 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 58 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/grimmory-draft.json b/documentation/audits/app-guides-2026-10-15/B/grimmory-draft.json new file mode 100644 index 00000000..37381b9b --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/grimmory-draft.json @@ -0,0 +1,99 @@ +{ + "app": "grimmory", + "checked_version": "v3.5.0", + "corpus_note": "grimmory@v3.5.0 (402e89b): frontend/src/i18n/en.json, frontend/src/app; plus the template's own .felhom.yml for the Felhom folder label it shows; default UI language: English (app-locale.service.ts DEFAULT_LOCALE 'en', no browser detection; a Hungarian translation can be chosen in Settings, View, Language, and is partial).", + "hu": { + "sections": [ + {"title": "Könyvek a beolvasandó mappából", + "intro": "Amit a „Beolvasandó e-könyvek (Grimmory)” mappába másolsz, azt előbb átnézed, és csak utána kerül a könyvtáradba.", + "steps": [ + "A bal oldali menüben a „Tools” (eszközök) alatt kattints a „Bookdrop” (gyűjtőláda) pontra.", + "Nézd meg minden könyvnél a címet és a szerzőt, és a „Library” (könyvtár) mezőben válaszd ki a könyvtáradat.", + "Jelöld ki a könyveket, vagy kattints a „Select All” (összes kijelölése) gombra.", + "Kattints a „Finalize” (véglegesítés) gombra, és erősítsd meg. A könyvek átkerülnek a könyvtáradba." + ]}, + {"title": "Olvasás a böngészőben", + "intro": "Az e-könyvet a gépen vagy a telefonon is olvashatod, külön program nélkül.", + "steps": [ + "A bal oldali menüben kattints az „All Books” (minden könyv) pontra, és válassz egy könyvet.", + "Kattints a „Read” (olvasás) gombra.", + "Ha bezárod, a Grimmory megjegyzi, hol tartasz, és legközelebb onnan folytatod." + ]}, + {"title": "Polcok a családnak", + "intro": "Egy polc a saját válogatásod, például a gyerekek könyvei vagy a következő olvasnivaló.", + "steps": [ + "A bal oldali menü alján kattints a „Create” (létrehozás) gombra, és válaszd a „Create New Shelf” (új polc) pontot.", + "Írd be a polc nevét a „Shelf Name” (polc neve) mezőbe.", + "Ha a család többi tagja is lássa, jelöld be a „Make this shelf public (read-only for others)” (nyilvános polc) jelölőt, majd kattints a „Create Shelf” gombra.", + "Egy könyv menüjében válaszd az „Assign Shelf” (polcra tesz) pontot, jelöld be a polcot, és kattints a „Save Changes” (mentés) gombra." + ]}, + {"title": "Szinkron KOReaderrel", + "intro": "Ha KOReaderrel olvasol, a haladásod a Grimmoryval együtt mozog.", + "steps": [ + "Nyisd meg a „Settings” (Beállítások) oldal „Devices” (eszközök) fülét.", + "Kapcsold be az „Enable KOReader Sync” (KOReader szinkron) kapcsolót.", + "Adj meg egy „KOReader Username” (felhasználónév) és egy „KOReader Password” (jelszó) értéket, és kattints a „Save” (mentés) gombra.", + "A KOReaderben a haladás-szinkron beállításánál add meg a „KOReader API Path” címet, ezt a nevet és ezt a jelszót." + ]} + ], + "faq": [ + {"q": "Át tudom állítani magyarra?", + "a": "Igen: a „Settings” oldal „View” (nézet) fülén a „Language” (nyelv) mezőben. A fordítás nem teljes, ezért néhány felirat angolul marad."}, + {"q": "Mi a különbség a polc és a „Magic Shelves” (varázspolcok) között?", + "a": "A polcra te teszed a könyveket. A varázspolc szabályok alapján magától gyűjti őket, például egy szerző összes könyvét."}, + {"q": "Milyen fájlokat tölthetek fel?", + "a": "E-könyvet (EPUB, PDF, MOBI, AZW3, FB2), képregényt (CBZ, CBR, CB7) és hangoskönyvet (M4B, M4A, MP3, OPUS)."}, + {"q": "Miért nem jelenik meg a könyv, amit a mappába másoltam?", + "a": "A beolvasandó mappából a könyv nem kerül be magától: előbb a „Bookdrop” oldalon kell véglegesítened. Ha ott sincs, kattints ott a „Rescan” (újraolvasás) gombra."}, + {"q": "Hol vannak a könyveim?", + "a": "A meghajtódon, az „E-könyvtár (Grimmory)” mappában. Hogy mi kerül mentésbe, azt a vezérlőpulton az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "Books from the folder to read in", + "intro": "What you copy into the „E-books to read in (Grimmory)” folder you look over first, and only then does it go into your library.", + "steps": [ + "In the menu on the left, under „Tools”, select „Bookdrop”.", + "Check the title and the author of each book, and choose your library in „Library”.", + "Select the books, or select „Select All”.", + "Select „Finalize” and confirm. The books move into your library." + ]}, + {"title": "Read in the browser", + "intro": "You can read an e-book on the computer or on the phone, with no other program.", + "steps": [ + "In the menu on the left, select „All Books”, and choose a book.", + "Select „Read”.", + "When you close it, Grimmory remembers where you are, and next time you go on from there." + ]}, + {"title": "Shelves for the family", + "intro": "A shelf is your own selection, for example the children's books or what to read next.", + "steps": [ + "At the bottom of the menu on the left, select „Create”, and choose „Create New Shelf”.", + "Type the shelf's name in „Shelf Name”.", + "If the rest of the family should see it too, tick „Make this shelf public (read-only for others)”, then select „Create Shelf”.", + "In a book's menu, choose „Assign Shelf”, tick the shelf, and select „Save Changes”." + ]}, + {"title": "Sync with KOReader", + "intro": "If you read with KOReader, your progress moves together with Grimmory.", + "steps": [ + "Open the „Devices” tab of the „Settings” page.", + "Switch on „Enable KOReader Sync”.", + "Enter a „KOReader Username” and a „KOReader Password”, and select „Save”.", + "In KOReader, in the progress sync settings, enter the „KOReader API Path” address, this name and this password." + ]} + ], + "faq": [ + {"q": "Can I switch it to Hungarian?", + "a": "Yes: on the „View” tab of the „Settings” page, in „Language”. The translation is not complete, so some labels stay in English."}, + {"q": "What is the difference between a shelf and „Magic Shelves”?", + "a": "You put the books on a shelf yourself. A magic shelf collects them by itself, by rules, for example every book by one author."}, + {"q": "Which files can I upload?", + "a": "E-books (EPUB, PDF, MOBI, AZW3, FB2), comics (CBZ, CBR, CB7) and audiobooks (M4B, M4A, MP3, OPUS)."}, + {"q": "Why does a book I copied into the folder not show up?", + "a": "A book in the folder to read in does not go in by itself: you first finalize it on the „Bookdrop” page. If it is not there either, select „Rescan” on that page."}, + {"q": "Where are my books?", + "a": "On your drive, in the „E-book library (Grimmory)” folder. What goes into the backup is shown on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/grimmory-labels.txt b/documentation/audits/app-guides-2026-10-15/B/grimmory-labels.txt new file mode 100644 index 00000000..03b80dd5 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/grimmory-labels.txt @@ -0,0 +1,62 @@ +corpus_note: grimmory@v3.5.0 (402e89b): frontend/src/i18n/en.json, frontend/src/app; plus the template's own .felhom.yml for the Felhom folder label it shows; default UI language: English (app-locale.service.ts DEFAULT_LOCALE 'en', no browser detection; a Hungarian translation can be chosen in Settings, View, Language, and is partial). +guide on the box: shown +app: grimmory checked against: v3.5.0 +corpora: grimmory@v3.5.0:frontend/src/i18n/en.json grimmory@v3.5.0:frontend/src/app /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/grimmory/.felhom.yml felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 56 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Beolvasandó e-könyvek (Grimmory)” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/grimmory/.felhom.yml:46 +OK [hu] „Tools” grimmory@v3.5.0:frontend/src/i18n/en.json:1875 +OK [hu] „Bookdrop” grimmory@v3.5.0:frontend/src/i18n/en.json:1661 +OK [hu] „Library” grimmory@v3.5.0:frontend/src/i18n/en.json:577 +OK [hu] „Select All” grimmory@v3.5.0:frontend/src/i18n/en.json:1700 +OK [hu] „Finalize” grimmory@v3.5.0:frontend/src/i18n/en.json:2083 +OK [hu] „All Books” grimmory@v3.5.0:frontend/src/i18n/en.json:1863 +OK [hu] „Read” grimmory@v3.5.0:frontend/src/i18n/en.json:2426 +OK [hu] „Create” grimmory@v3.5.0:frontend/src/i18n/en.json:1190 +OK [hu] „Create New Shelf” grimmory@v3.5.0:frontend/src/i18n/en.json:3460 +OK [hu] „Shelf Name” grimmory@v3.5.0:frontend/src/i18n/en.json:3463 +OK [hu] „Make this shelf public (read-only for others)” grimmory@v3.5.0:frontend/src/i18n/en.json:3472 +OK [hu] „Create Shelf” grimmory@v3.5.0:frontend/src/i18n/en.json:3448 +OK [hu] „Assign Shelf” grimmory@v3.5.0:frontend/src/i18n/en.json:2909 +OK [hu] „Save Changes” grimmory@v3.5.0:frontend/src/i18n/en.json:1597 +OK [hu] „Settings” grimmory@v3.5.0:frontend/src/i18n/en.json:80 +OK [hu] „Devices” grimmory@v3.5.0:frontend/src/i18n/en.json:115 +OK [hu] „Enable KOReader Sync” grimmory@v3.5.0:frontend/src/i18n/en.json:1466 +OK [hu] „KOReader Username” grimmory@v3.5.0:frontend/src/i18n/en.json:1472 +OK [hu] „KOReader Password” grimmory@v3.5.0:frontend/src/i18n/en.json:1475 +OK [hu] „Save” grimmory@v3.5.0:frontend/src/i18n/en.json:3 +OK [hu] „KOReader API Path” grimmory@v3.5.0:frontend/src/i18n/en.json:1470 +OK [hu] „View” grimmory@v3.5.0:frontend/src/i18n/en.json:104 +OK [hu] „Language” grimmory@v3.5.0:frontend/src/i18n/en.json:440 +OK [hu] „Magic Shelves” grimmory@v3.5.0:frontend/src/i18n/en.json:1855 +OK [hu] „Rescan” grimmory@v3.5.0:frontend/src/i18n/en.json:2048 +OK [hu] „E-könyvtár (Grimmory)” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/grimmory/.felhom.yml:50 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „E-books to read in (Grimmory)” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/grimmory/.felhom.yml:154 +OK [en] „Tools” grimmory@v3.5.0:frontend/src/i18n/en.json:1875 +OK [en] „Bookdrop” grimmory@v3.5.0:frontend/src/i18n/en.json:1661 +OK [en] „Library” grimmory@v3.5.0:frontend/src/i18n/en.json:577 +OK [en] „Select All” grimmory@v3.5.0:frontend/src/i18n/en.json:1700 +OK [en] „Finalize” grimmory@v3.5.0:frontend/src/i18n/en.json:2083 +OK [en] „All Books” grimmory@v3.5.0:frontend/src/i18n/en.json:1863 +OK [en] „Read” grimmory@v3.5.0:frontend/src/i18n/en.json:2426 +OK [en] „Create” grimmory@v3.5.0:frontend/src/i18n/en.json:1190 +OK [en] „Create New Shelf” grimmory@v3.5.0:frontend/src/i18n/en.json:3460 +OK [en] „Shelf Name” grimmory@v3.5.0:frontend/src/i18n/en.json:3463 +OK [en] „Make this shelf public (read-only for others)” grimmory@v3.5.0:frontend/src/i18n/en.json:3472 +OK [en] „Create Shelf” grimmory@v3.5.0:frontend/src/i18n/en.json:3448 +OK [en] „Assign Shelf” grimmory@v3.5.0:frontend/src/i18n/en.json:2909 +OK [en] „Save Changes” grimmory@v3.5.0:frontend/src/i18n/en.json:1597 +OK [en] „Devices” grimmory@v3.5.0:frontend/src/i18n/en.json:115 +OK [en] „Settings” grimmory@v3.5.0:frontend/src/i18n/en.json:80 +OK [en] „Enable KOReader Sync” grimmory@v3.5.0:frontend/src/i18n/en.json:1466 +OK [en] „KOReader Username” grimmory@v3.5.0:frontend/src/i18n/en.json:1472 +OK [en] „KOReader Password” grimmory@v3.5.0:frontend/src/i18n/en.json:1475 +OK [en] „Save” grimmory@v3.5.0:frontend/src/i18n/en.json:3 +OK [en] „KOReader API Path” grimmory@v3.5.0:frontend/src/i18n/en.json:1470 +OK [en] „View” grimmory@v3.5.0:frontend/src/i18n/en.json:104 +OK [en] „Language” grimmory@v3.5.0:frontend/src/i18n/en.json:440 +OK [en] „Magic Shelves” grimmory@v3.5.0:frontend/src/i18n/en.json:1855 +OK [en] „Rescan” grimmory@v3.5.0:frontend/src/i18n/en.json:2048 +OK [en] „E-book library (Grimmory)” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/grimmory/.felhom.yml:156 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 56 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/grocy-draft.json b/documentation/audits/app-guides-2026-10-15/B/grocy-draft.json new file mode 100644 index 00000000..48260f92 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/grocy-draft.json @@ -0,0 +1,101 @@ +{ + "app": "grocy", + "checked_version": "4.7.1", + "corpus_note": "grocy@v4.7.1 (7d15c46): views/, public/viewjs/, localization/en/*.po, localization/hu/*.po; default UI language: browser language, Hungarian available (middleware/LocaleMiddleware.php: user setting, then Accept-Language, then GROCY_DEFAULT_LOCALE=hu). HU text quotes the hu/*.po msgstr; where that msgstr is empty the app shows the English msgid, quoted as such („Stock actions”).", + "hu": { + "sections": [ + {"title": "Vásárlás után", + "intro": "Amit hazahoztál, egy perc alatt felkerül a készletbe, a lejárati idővel együtt.", + "steps": [ + "A bal oldali menüben kattints a „Vásárlás” pontra.", + "A „Termék” mezőbe írd be a termék nevét, vagy olvasd be a vonalkódját a kamera gombbal.", + "Add meg a „Mennyiség” és a „Lejárati idő” mezőt, és ha szeretnéd, az „Ár” mezőt is.", + "Kattints az „OK” gombra. A következő terméknél kezdd újra a „Termék” mezőnél." + ]}, + {"title": "Ha valami elfogyott", + "intro": "Ha jelzed, mit használtál el, a Grocy tudja, mi maradt otthon.", + "steps": [ + "A bal oldali menüben kattints a „Felhasználás” pontra.", + "Válaszd ki a terméket, és add meg, mennyit használtál el.", + "Ha a termék megromlott, jelöld be a „Megromlott” jelölőt.", + "Kattints az „OK” gombra." + ]}, + {"title": "Bevásárlólista", + "intro": "A lista magától megtelik azzal, ami a minimum alá fogyott.", + "steps": [ + "A bal oldali menüben nyisd meg a „Bevásárlólista” oldalt.", + "A „Stock actions” (készletműveletek) menüben válaszd „A megadott min. készlet alatti termékek hozzáadása” pontot.", + "Mást a „Hozzáadás” gombbal írhatsz fel.", + "Bolt után a „Stock actions” menüben válaszd az „Összes tétel készletre vétele” pontot, így a lista tételei a készletbe kerülnek." + ]}, + {"title": "Házimunkák beosztása", + "intro": "A visszatérő feladatokból látszik, mi esedékes és kinek a dolga.", + "steps": [ + "Nyisd meg a „Törzsadatkezelés” menüben a „Házimunkák” oldalt, és kattints a „Hozzáadás” gombra.", + "Add meg a „Név” mezőt, és a „Ciklus típusa” mezőben válaszd például a „hetente” értéket.", + "A „Hozzárendelés típusa” mezőben döntsd el, hogyan forogjon a feladat a családtagok között, majd kattints a „Mentés” gombra.", + "A „Házimunkák áttekintése” oldalon a sor elején lévő zöld gombbal (lejátszás ikon) jelzed, hogy a feladat kész." + ]} + ], + "faq": [ + {"q": "Hogyan kap saját fiókot a családtag?", + "a": "A jobb felső csavarkulcs menüben válaszd a „Felhasználók kezelése” pontot, kattints a „Hozzáadás” gombra, és adj meg nevet és jelszót. Magától senki nem tud regisztrálni."}, + {"q": "Mit jelentenek a színek a „Készlet áttekintése” oldalon?", + "a": "Sárga: hamarosan esedékes. Szürke: lejárt a minőségmegőrzési ideje. Piros: lejárt, már nem fogyasztható. Kék: a minimum alá fogyott, ezeket a „Min. készlet mennyiség alatt” szűrővel külön is megnézheted."}, + {"q": "Átállíthatom a nyelvet?", + "a": "A Grocy a böngésző nyelvén indul. Másik nyelvet a csavarkulcs menü „Felhasználói beállítások” oldalán, a „Nyelv” mezőben választhatsz."}, + {"q": "Kimegy valami az internetre?", + "a": "A kamerás vonalkód-olvasás a böngésződben fut, nem küld ki semmit. Ha egy ismeretlen vonalkódnál az „External barcode lookup” (külső keresés) lehetőséget választod, a Grocy az Open Food Facts adatbázisban keresi a terméket."}, + {"q": "Hol vannak az adataim?", + "a": "A dobozon, a Grocy saját tárhelyén. Hogy mi kerül mentésbe, azt a vezérlőpulton az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "After shopping", + "intro": "What you brought home goes into the stock in a minute, with its due date.", + "steps": [ + "In the menu on the left, select „Purchase”.", + "In „Product”, type the product's name, or read its barcode with the camera button.", + "Fill in „Amount” and „Due date”, and „Price” too if you like.", + "Select „OK”. For the next product, start again at „Product”." + ]}, + {"title": "When something is used up", + "intro": "When you note what you used, Grocy knows what is left at home.", + "steps": [ + "In the menu on the left, select „Consume”.", + "Choose the product, and enter how much you used.", + "If the product went off, tick „Spoiled”.", + "Select „OK”." + ]}, + {"title": "Shopping list", + "intro": "The list fills itself with what has dropped below its minimum.", + "steps": [ + "In the menu on the left, open the „Shopping list” page.", + "In the „Stock actions” menu, choose „Add products that are below defined min. stock amount”.", + "Write anything else on it with „Add item”.", + "After the shop, choose „Add all list items to stock” in the „Stock actions” menu, so the items on the list go into the stock." + ]}, + {"title": "Share out the chores", + "intro": "Recurring jobs show what is due and whose turn it is.", + "steps": [ + "In the „Manage master data” menu, open the „Chores” page, and select „Add”.", + "Fill in „Name”, and in „Period type” choose, for example, „Weekly”.", + "In „Assignment type”, decide how the job goes round the family, then select „Save”.", + "On the „Chores overview” page, the green button at the start of the row (a play icon) marks a job as done." + ]} + ], + "faq": [ + {"q": "How does a family member get their own account?", + "a": "In the wrench menu at the top right, choose „Manage users”, select „Add”, and enter a name and a password. Nobody can register on their own."}, + {"q": "What do the colours mean on the „Stock overview” page?", + "a": "Yellow: due soon. Grey: past its best-before date. Red: expired, no longer safe to eat. Blue: dropped below its minimum; the „Below min. stock amount” filter shows only these."}, + {"q": "Can I change the language?", + "a": "Grocy starts in your browser's language. Choose another on the „User settings” page of the wrench menu, in „Language”."}, + {"q": "Does anything go out to the internet?", + "a": "Camera barcode reading runs in your browser and sends nothing out. If you choose „External barcode lookup” for an unknown barcode, Grocy looks the product up in the Open Food Facts database."}, + {"q": "Where is my data?", + "a": "On the box, in Grocy's own storage. What goes into the backup is shown on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/grocy-labels.txt b/documentation/audits/app-guides-2026-10-15/B/grocy-labels.txt new file mode 100644 index 00000000..ea062706 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/grocy-labels.txt @@ -0,0 +1,63 @@ +corpus_note: grocy@v4.7.1 (7d15c46): views/, public/viewjs/, localization/en/*.po, localization/hu/*.po; default UI language: browser language, Hungarian available (middleware/LocaleMiddleware.php: user setting, then Accept-Language, then GROCY_DEFAULT_LOCALE=hu). HU text quotes the hu/*.po msgstr; where that msgstr is empty the app shows the English msgid, quoted as such („Stock actions”). +guide on the box: shown +app: grocy checked against: 4.7.1 +corpora: grocy@v4.7.1:localization/hu grocy@v4.7.1:localization/en grocy@v4.7.1:views grocy@v4.7.1:public/viewjs felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 57 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Vásárlás” grocy@v4.7.1:localization/hu/strings.po:82 +OK [hu] „Termék” grocy@v4.7.1:localization/hu/strings.po:62 +OK [hu] „Mennyiség” grocy@v4.7.1:localization/hu/strings.po:70 +OK [hu] „Lejárati idő” grocy@v4.7.1:localization/hu/strings.po:2057 +OK [hu] „Ár” grocy@v4.7.1:localization/hu/strings.po:572 +OK [hu] „OK” grocy@v4.7.1:localization/hu/strings.po:135 +OK [hu] „Felhasználás” grocy@v4.7.1:localization/hu/strings.po:85 +OK [hu] „Megromlott” grocy@v4.7.1:localization/hu/strings.po:154 +OK [hu] „Bevásárlólista” grocy@v4.7.1:localization/hu/strings.po:91 +OK [hu] „Stock actions” grocy@v4.7.1:localization/hu/strings.po:2792 +OK [hu] „A megadott min. készlet alatti termékek hozzáadása” grocy@v4.7.1:localization/hu/strings.po:280 +OK [hu] „Hozzáadás” grocy@v4.7.1:localization/hu/strings.po:196 +OK [hu] „Összes tétel készletre vétele” grocy@v4.7.1:localization/hu/strings.po:839 +OK [hu] „Törzsadatkezelés” grocy@v4.7.1:localization/hu/strings.po:271 +OK [hu] „Házimunkák” grocy@v4.7.1:localization/hu/strings.po:109 +OK [hu] „Név” grocy@v4.7.1:localization/hu/strings.po:199 +OK [hu] „Ciklus típusa” grocy@v4.7.1:localization/hu/strings.po:238 +OK [hu] „hetente” grocy@v4.7.1:localization/hu/chore_period_types.po:27 +OK [hu] „Hozzárendelés típusa” grocy@v4.7.1:localization/hu/strings.po:1306 +OK [hu] „Mentés” grocy@v4.7.1:localization/hu/strings.po:193 +OK [hu] „Házimunkák áttekintése” grocy@v4.7.1:localization/hu/strings.po:76 +OK [hu] „Felhasználók kezelése” grocy@v4.7.1:localization/hu/strings.po:507 +OK [hu] „Készlet áttekintése” grocy@v4.7.1:localization/hu/strings.po:34 +OK [hu] „Min. készlet mennyiség alatt” grocy@v4.7.1:localization/hu/strings.po:712 +OK [hu] „Felhasználói beállítások” grocy@v4.7.1:localization/hu/strings.po:1831 +OK [hu] „Nyelv” grocy@v4.7.1:localization/hu/strings.po:1828 +OK [hu] „External barcode lookup” grocy@v4.7.1:localization/hu/strings.po:2739 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Purchase” grocy@v4.7.1:localization/hu/strings.po:81 +OK [en] „Product” grocy@v4.7.1:localization/hu/strings.po:61 +OK [en] „Amount” grocy@v4.7.1:localization/hu/strings.po:69 +OK [en] „Due date” grocy@v4.7.1:localization/hu/strings.po:2056 +OK [en] „Price” grocy@v4.7.1:localization/hu/strings.po:571 +OK [en] „OK” grocy@v4.7.1:localization/hu/strings.po:135 +OK [en] „Consume” grocy@v4.7.1:localization/hu/strings.po:84 +OK [en] „Spoiled” grocy@v4.7.1:localization/hu/strings.po:153 +OK [en] „Shopping list” grocy@v4.7.1:localization/hu/strings.po:90 +OK [en] „Stock actions” grocy@v4.7.1:localization/hu/strings.po:2792 +OK [en] „Add products that are below defined min. stock amount” grocy@v4.7.1:localization/hu/strings.po:279 +OK [en] „Add item” grocy@v4.7.1:localization/hu/strings.po:1020 +OK [en] „Add all list items to stock” grocy@v4.7.1:localization/hu/strings.po:838 +OK [en] „Manage master data” grocy@v4.7.1:localization/hu/strings.po:270 +OK [en] „Chores” grocy@v4.7.1:localization/hu/strings.po:108 +OK [en] „Add” grocy@v4.7.1:localization/hu/strings.po:195 +OK [en] „Name” grocy@v4.7.1:localization/hu/strings.po:198 +OK [en] „Period type” grocy@v4.7.1:localization/hu/strings.po:237 +OK [en] „Weekly” grocy@v4.7.1:localization/en/chore_period_types.po:23 +OK [en] „Assignment type” grocy@v4.7.1:localization/hu/strings.po:1305 +OK [en] „Save” grocy@v4.7.1:localization/hu/strings.po:192 +OK [en] „Chores overview” grocy@v4.7.1:localization/hu/strings.po:75 +OK [en] „Manage users” grocy@v4.7.1:localization/hu/strings.po:506 +OK [en] „Stock overview” grocy@v4.7.1:localization/hu/strings.po:33 +OK [en] „Below min. stock amount” grocy@v4.7.1:localization/hu/strings.po:711 +OK [en] „User settings” grocy@v4.7.1:localization/hu/strings.po:1830 +OK [en] „Language” grocy@v4.7.1:localization/hu/strings.po:1827 +OK [en] „External barcode lookup” grocy@v4.7.1:localization/hu/strings.po:2739 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 57 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/home-assistant-draft.json b/documentation/audits/app-guides-2026-10-15/B/home-assistant-draft.json new file mode 100644 index 00000000..64124b68 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/home-assistant-draft.json @@ -0,0 +1,97 @@ +{ + "app": "home-assistant", + "checked_version": "2026.9.4", + "corpus_note": "home-assistant/core@2026.9.4 (9212531): components/frontend/manifest.json pins home-assistant-frontend==20260826.7; home-assistant/frontend@20260826.7 (380e9b5): src/translations/en.json, src/panels/config/{person,users,areas}, src/util/common-translation.ts; default UI language: browser language, Hungarian available, BUT the Hungarian translation is NOT in git (downloaded from Lokalise at build time, only en.json is committed), so the Hungarian labels a Hungarian browser shows cannot be checked; this draft quotes the English labels in both languages; HIDDEN until the Hungarian labels are checked against the shipped frontend", + "hu": { + "sections": [ + {"title": "Családtag hozzáadása", + "intro": "Minden családtag saját felhasználóval lép be, így mindenki a saját telefonjáról vezérelheti az otthont.", + "steps": [ + "A bal oldali menüben kattints a „Settings” (Beállítások) pontra, majd a „People” (Személyek) részre.", + "Kattints az „Add person” (személy hozzáadása) gombra, és töltsd ki a „Name” (név) mezőt.", + "Kapcsold be az „Allow login” (belépés engedélyezése) kapcsolót: a megnyíló ablakban add meg a „Username” (felhasználónév) és a „Password” (jelszó) mezőt, majd kattints a „Create” (létrehozás) gombra.", + "A személy ablakában kattints az „Add” (hozzáadás) gombra." + ]}, + {"title": "Okoseszköz hozzáadása", + "intro": "A Home Assistant gyártónként egy integrációval kapcsolódik az eszközeidhez.", + "steps": [ + "A „Settings” menüben nyisd meg a „Devices & services” (eszközök és szolgáltatások) részt.", + "Kattints az „Add integration” (integráció hozzáadása) gombra.", + "A „Search for a brand name” (márkanév keresése) mezőbe írd be az eszköz gyártóját, és válaszd ki.", + "Kövesd az ablak lépéseit. Ha az eszköz IP-címét kéri, a routered eszközlistájában találod." + ]}, + {"title": "Szobák létrehozása", + "intro": "Ha az eszközöket szobákba sorolod, könnyebb megtalálni és vezérelni őket.", + "steps": [ + "A „Settings” menüben nyisd meg az „Areas, labels & zones” (területek, címkék és zónák) részt.", + "Kattints a „Create area” (terület létrehozása) gombra, és add meg a szoba nevét.", + "Kattints a „Create” gombra, majd az eszköz oldalán válaszd ki, melyik szobában van." + ]}, + {"title": "Telefonos app beállítása", + "intro": "A Home Assistant telefonos appjával otthonon kívül is látod és vezérelheted az otthonodat.", + "steps": [ + "Telepítsd a Home Assistant appot a telefonodra, és nyisd meg.", + "Ha az app nem találja a szervert, add meg kézzel a címet: ha.DOMAIN.", + "Jelentkezz be a saját felhasználóddal." + ]} + ], + "faq": [ + {"q": "Használhatok Zigbee vagy Z-Wave USB pálcát?", + "a": "Nem: ebben a telepítésben a Home Assistant nem fér hozzá a doboz USB eszközeihez."}, + {"q": "Mi a különbség a személy és a felhasználó között?", + "a": "A személy az otthon lakója. Ha az „Allow login” kapcsoló be van kapcsolva, a személy felhasználónévvel és jelszóval be is léphet."}, + {"q": "Elérem otthonon kívül?", + "a": "Igen, a ha.DOMAIN címen, a saját felhasználóddal. Ehhez nem kell előfizetés."}, + {"q": "Honnan tudom, hogy a Home Assistant ismeri-e az eszközömet?", + "a": "Az „Add integration” ablakban keress rá a gyártó nevére. Ha megtalálod, a Home Assistant tud hozzá kapcsolódni."}, + {"q": "Van mentés a beállításaimról?", + "a": "A mentésről a Home Assistant „Adatok és mentés” fülén tájékozódhatsz."} + ] + }, + "en": { + "sections": [ + {"title": "Add a family member", + "intro": "Each family member signs in with their own user, so everyone can run the home from their own phone.", + "steps": [ + "In the menu on the left, select „Settings”, then „People”.", + "Select „Add person” and fill in the „Name” field.", + "Turn on „Allow login”: in the window that opens, fill in „Username” and „Password”, then select „Create”.", + "In the person's window, select „Add”." + ]}, + {"title": "Add a smart device", + "intro": "Home Assistant connects to your devices with one integration per maker.", + "steps": [ + "In the „Settings” menu, open „Devices & services”.", + "Select „Add integration”.", + "In „Search for a brand name”, type the maker of the device and pick it.", + "Follow the steps in the window. If it asks for the device's IP address, you find it in your router's list of devices." + ]}, + {"title": "Create rooms", + "intro": "When you sort your devices into rooms, they are easier to find and to control.", + "steps": [ + "In the „Settings” menu, open „Areas, labels & zones”.", + "Select „Create area” and type the name of the room.", + "Select „Create”, then on the device's page choose which room it is in." + ]}, + {"title": "Set up the phone app", + "intro": "With the Home Assistant phone app, you see and control your home away from home too.", + "steps": [ + "Install the Home Assistant app on your phone and open it.", + "If the app does not find the server, enter the address by hand: ha.DOMAIN.", + "Sign in with your own user." + ]} + ], + "faq": [ + {"q": "Can I use a Zigbee or Z-Wave USB stick?", + "a": "No: in this install, Home Assistant has no access to the box's USB devices."}, + {"q": "What is the difference between a person and a user?", + "a": "A person is someone who lives in the home. When „Allow login” is on, the person can also sign in with a user name and a password."}, + {"q": "Can I reach it away from home?", + "a": "Yes, on ha.DOMAIN, with your own user. No subscription is needed for this."}, + {"q": "How do I know whether Home Assistant knows my device?", + "a": "Search for the maker's name in the „Add integration” window. If you find it there, Home Assistant can connect to it."}, + {"q": "Are my settings backed up?", + "a": "For the backup, look at the „Data and backup” tab of Home Assistant."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/home-assistant-labels.txt b/documentation/audits/app-guides-2026-10-15/B/home-assistant-labels.txt new file mode 100644 index 00000000..22cfab36 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/home-assistant-labels.txt @@ -0,0 +1,36 @@ +corpus_note: home-assistant/core@2026.9.4 (9212531): components/frontend/manifest.json pins home-assistant-frontend==20260826.7; home-assistant/frontend@20260826.7 (380e9b5): src/translations/en.json, src/panels/config/{person,users,areas}, src/util/common-translation.ts; default UI language: browser language, Hungarian available, BUT the Hungarian translation is NOT in git (downloaded from Lokalise at build time, only en.json is committed), so the Hungarian labels a Hungarian browser shows cannot be checked; this draft quotes the English labels in both languages; HIDDEN until the Hungarian labels are checked against the shipped frontend +guide on the box: hidden +app: home-assistant checked against: 2026.9.4 +corpora: home-assistant/core@2026.9.4:frontend/src/translations/en.json home-assistant/core@2026.9.4:frontend/src/panels/config felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 30 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Settings” home-assistant/core@2026.9.4:frontend/src/translations/en.json:7 +OK [hu] „People” home-assistant/core@2026.9.4:frontend/src/translations/en.json:2738 +OK [hu] „Add person” home-assistant/core@2026.9.4:frontend/src/translations/en.json:7066 +OK [hu] „Name” home-assistant/core@2026.9.4:frontend/src/translations/en.json:507 +OK [hu] „Allow login” home-assistant/core@2026.9.4:frontend/src/translations/en.json:7086 +OK [hu] „Username” home-assistant/core@2026.9.4:frontend/src/translations/en.json:2963 +OK [hu] „Password” home-assistant/core@2026.9.4:frontend/src/translations/en.json:2197 +OK [hu] „Create” home-assistant/core@2026.9.4:frontend/src/translations/en.json:486 +OK [hu] „Add” home-assistant/core@2026.9.4:frontend/src/translations/en.json:484 +OK [hu] „Devices & services” home-assistant/core@2026.9.4:frontend/src/translations/en.json:2702 +OK [hu] „Add integration” home-assistant/core@2026.9.4:frontend/src/translations/en.json:7142 +OK [hu] „Search for a brand name” home-assistant/core@2026.9.4:frontend/src/translations/en.json:7159 +OK [hu] „Areas, labels & zones” home-assistant/core@2026.9.4:frontend/src/translations/en.json:2742 +OK [hu] „Create area” home-assistant/core@2026.9.4:frontend/src/translations/en.json:3257 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Settings” home-assistant/core@2026.9.4:frontend/src/translations/en.json:7 +OK [en] „People” home-assistant/core@2026.9.4:frontend/src/translations/en.json:2738 +OK [en] „Add person” home-assistant/core@2026.9.4:frontend/src/translations/en.json:7066 +OK [en] „Name” home-assistant/core@2026.9.4:frontend/src/translations/en.json:507 +OK [en] „Allow login” home-assistant/core@2026.9.4:frontend/src/translations/en.json:7086 +OK [en] „Username” home-assistant/core@2026.9.4:frontend/src/translations/en.json:2963 +OK [en] „Password” home-assistant/core@2026.9.4:frontend/src/translations/en.json:2197 +OK [en] „Create” home-assistant/core@2026.9.4:frontend/src/translations/en.json:486 +OK [en] „Add” home-assistant/core@2026.9.4:frontend/src/translations/en.json:484 +OK [en] „Devices & services” home-assistant/core@2026.9.4:frontend/src/translations/en.json:2702 +OK [en] „Add integration” home-assistant/core@2026.9.4:frontend/src/translations/en.json:7142 +OK [en] „Search for a brand name” home-assistant/core@2026.9.4:frontend/src/translations/en.json:7159 +OK [en] „Areas, labels & zones” home-assistant/core@2026.9.4:frontend/src/translations/en.json:2742 +OK [en] „Create area” home-assistant/core@2026.9.4:frontend/src/translations/en.json:3257 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 30 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/homebox-draft.json b/documentation/audits/app-guides-2026-10-15/B/homebox-draft.json new file mode 100644 index 00000000..4884ef2a --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/homebox-draft.json @@ -0,0 +1,99 @@ +{ + "app": "homebox", + "checked_version": "0.26.2", + "corpus_note": "homebox@v0.26.2 (e01dd73): frontend/locales/en.json, frontend/locales/hu.json, frontend/pages, frontend/components, frontend/layouts; default UI language: browser language, Hungarian available (plugins/i18n.ts: profile setting, then navigator.languages, fallback en; hu.json has 579 of 816 keys, the rest show in English, e.g. „Collection”). Felhom labels from the controller locales.", + "hu": { + "sections": [ + {"title": "Családtag meghívása", + "intro": "A családtag a meghívó linkkel ugyanabba a leltárba regisztrál, amelyikbe te.", + "steps": [ + "A bal oldali menüben nyisd meg a „Collection” (gyűjtemény) pontot, majd a „Meghívások” fület.", + "Kattints a „Meghívás” gombra, add meg, meddig legyen érvényes, és másold ki a linket a „Meghívólink másolása” gombbal.", + "A vezérlőpulton nyisd meg a Homebox „Beállítások” fülét, és kattints a „Regisztráció megnyitása 15 percre” gombra.", + "Küldd el a linket a családtagodnak: a 15 percen belül regisztráljon vele." + ]}, + {"title": "Garancia és számla", + "intro": "Ha valami elromlik, egy helyen látod, mikor és mennyiért vetted, és meddig él a garancia.", + "steps": [ + "Nyisd meg a tárgyat, és válaszd a „Szerkesztés” fület.", + "Kapcsold be fent a „Haladó” kapcsolót.", + "Töltsd ki a „Beszerzési ár”, a „Vásárlás dátuma” és a „Garancia vége” mezőt.", + "A garanciajegy fényképét húzd a „Mellékletek” részre, és ott engedd el a „Garancia” mezőn. Végül kattints a „Mentés” gombra." + ]}, + {"title": "Karbantartás nyilvántartása", + "intro": "A kazán szervize vagy az autó olajcseréje a tárgy mellett marad.", + "steps": [ + "Nyisd meg a tárgyat, és válaszd a „Karbantartás” fület.", + "Kattints az „Új” gombra.", + "Add meg a „Bejegyzés neve” mezőt, a „Teljesítés dátuma” vagy az „Ütemezett dátum” mezőt, és ha van, a „Költség” mezőt.", + "Kattints a „Létrehozás” gombra." + ]}, + {"title": "Keresés és címkék", + "intro": "Sok tárgy között a keresés és a címkék segítenek.", + "steps": [ + "A bal oldali menüben a „Keresés” oldalon név szerint keresel.", + "Új címkét a „Létrehozás” gombbal, a „Tag” (címke) pontnál adsz hozzá, például: Elektronika.", + "A tárgy „Szerkesztés” fülén a „Tags” (címkék) mezőben adod hozzá a címkét." + ]} + ], + "faq": [ + {"q": "Átállíthatom a nyelvet?", + "a": "A Homebox a böngésző nyelvén indul. Másikat a „Profil” oldalon, a „Nyelv” mezőben választhatsz. A magyar fordítás nem teljes, ezért néhány felirat angolul marad."}, + {"q": "Mekkora fájlt tölthetek fel?", + "a": "Egy fénykép vagy melléklet legfeljebb 50 MB lehet. Ezt a doboz állította be."}, + {"q": "Hogyan olvasok be vonalkódot?", + "a": "Nyisd meg a telefonodon a „Szkenner” oldalt, és engedd meg a kamerát a böngészőnek."}, + {"q": "Kivihetem a leltárt táblázatba?", + "a": "Igen, CSV-fájlba: a „Collection” menü „Eszközök” fülén kattints a „Készlet exportálása” gombra."}, + {"q": "Hol vannak a fotók és az adatok?", + "a": "A dobozon, a Homebox saját tárhelyén. Hogy mi kerül mentésbe, azt a vezérlőpulton az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "Invite a family member", + "intro": "With the invite link, the family member signs up to the same inventory as you.", + "steps": [ + "In the menu on the left, open „Collection”, then the „Invites” tab.", + "Select „Create Invite”, set how long it stays valid, and copy the link with „Copy Invite Link”.", + "On the dashboard, open Homebox's „Settings” tab, and select „Open sign-up for 15 minutes”.", + "Send the link to your family member: they sign up with it within those 15 minutes." + ]}, + {"title": "Warranty and receipt", + "intro": "When something breaks, you see in one place when you bought it, for how much, and how long the warranty lasts.", + "steps": [ + "Open the item, and choose the „Edit” tab.", + "Switch on „Advanced” at the top.", + "Fill in „Purchase Price”, „Purchase Date” and „Warranty Expires”.", + "Drag a photo of the warranty card onto „Attachments”, and drop it on the „Warranty” field there. Finally, select „Save”." + ]}, + {"title": "Keep a maintenance record", + "intro": "The boiler service or the car's oil change stays next to the item.", + "steps": [ + "Open the item, and choose the „Maintenance” tab.", + "Select „New”.", + "Fill in „Entry Name”, the „Completed Date” or the „Scheduled Date”, and „Cost” if there is one.", + "Select „Create”." + ]}, + {"title": "Search and tags", + "intro": "Among many items, search and tags help.", + "steps": [ + "In the menu on the left, on the „Search” page, you search by name.", + "You add a new tag with the „Create” button, at „Tag”, for example: Electronics.", + "On the item's „Edit” tab, you add the tag in the „Tags” field." + ]} + ], + "faq": [ + {"q": "Can I change the language?", + "a": "Homebox starts in your browser's language. Choose another on the „Profile” page, in „Language”. The Hungarian translation is not complete, so some labels stay in English."}, + {"q": "How big a file can I upload?", + "a": "A photo or an attachment can be at most 50 MB. The box set this."}, + {"q": "How do I read a barcode?", + "a": "On your phone, open the „Scanner” page, and let the browser use the camera."}, + {"q": "Can I take the inventory out to a spreadsheet?", + "a": "Yes, to a CSV file: on the „Tools” tab of the „Collection” menu, select „Export Inventory”."}, + {"q": "Where are the photos and the data?", + "a": "On the box, in Homebox's own storage. What goes into the backup is shown on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/homebox-labels.txt b/documentation/audits/app-guides-2026-10-15/B/homebox-labels.txt new file mode 100644 index 00000000..d8d0167c --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/homebox-labels.txt @@ -0,0 +1,66 @@ +corpus_note: homebox@v0.26.2 (e01dd73): frontend/locales/en.json, frontend/locales/hu.json, frontend/pages, frontend/components, frontend/layouts; default UI language: browser language, Hungarian available (plugins/i18n.ts: profile setting, then navigator.languages, fallback en; hu.json has 579 of 816 keys, the rest show in English, e.g. „Collection”). Felhom labels from the controller locales. +guide on the box: shown +app: homebox checked against: 0.26.2 +corpora: homebox@v0.26.2:frontend/locales/hu.json homebox@v0.26.2:frontend/locales/en.json homebox@v0.26.2:frontend/pages homebox@v0.26.2:frontend/components homebox@v0.26.2:frontend/layouts felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 60 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Collection” homebox@v0.26.2:frontend/locales/en.json:768 +OK [hu] „Meghívások” homebox@v0.26.2:frontend/locales/hu.json:37 +OK [hu] „Meghívás” homebox@v0.26.2:frontend/locales/hu.json:4 +OK [hu] „Meghívólink másolása” homebox@v0.26.2:frontend/locales/hu.json:3 +OK [hu] „Beállítások” homebox@v0.26.2:frontend/locales/hu.json:40 +OK [hu] „Regisztráció megnyitása 15 percre” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:2625 +OK [hu] „Szerkesztés” homebox@v0.26.2:frontend/locales/hu.json:320 +OK [hu] „Haladó” homebox@v0.26.2:frontend/locales/hu.json:385 +OK [hu] „Beszerzési ár” homebox@v0.26.2:frontend/locales/hu.json:447 +OK [hu] „Vásárlás dátuma” homebox@v0.26.2:frontend/locales/hu.json:445 +OK [hu] „Garancia vége” homebox@v0.26.2:frontend/locales/hu.json:497 +OK [hu] „Mellékletek” homebox@v0.26.2:frontend/locales/hu.json:390 +OK [hu] „Garancia” homebox@v0.26.2:frontend/locales/hu.json:495 +OK [hu] „Mentés” homebox@v0.26.2:frontend/locales/hu.json:342 +OK [hu] „Karbantartás” homebox@v0.26.2:frontend/locales/hu.json:333 +OK [hu] „Új” homebox@v0.26.2:frontend/locales/hu.json:563 +OK [hu] „Bejegyzés neve” homebox@v0.26.2:frontend/locales/hu.json:571 +OK [hu] „Teljesítés dátuma” homebox@v0.26.2:frontend/locales/hu.json:566 +OK [hu] „Ütemezett dátum” homebox@v0.26.2:frontend/locales/hu.json:575 +OK [hu] „Költség” homebox@v0.26.2:frontend/locales/hu.json:567 +OK [hu] „Létrehozás” homebox@v0.26.2:frontend/locales/hu.json:311 +OK [hu] „Keresés” homebox@v0.26.2:frontend/locales/hu.json:343 +OK [hu] „Tag” homebox@v0.26.2:frontend/locales/hu.json:22 +OK [hu] „Tags” homebox@v0.26.2:frontend/locales/en.json:484 +OK [hu] „Profil” homebox@v0.26.2:frontend/locales/hu.json:592 +OK [hu] „Nyelv” homebox@v0.26.2:frontend/locales/hu.json:617 +OK [hu] „Szkenner” homebox@v0.26.2:frontend/locales/hu.json:593 +OK [hu] „Eszközök” homebox@v0.26.2:frontend/locales/hu.json:41 +OK [hu] „Készlet exportálása” homebox@v0.26.2:frontend/locales/hu.json:721 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Collection” homebox@v0.26.2:frontend/locales/en.json:768 +OK [en] „Invites” homebox@v0.26.2:frontend/locales/en.json:12 +OK [en] „Create Invite” homebox@v0.26.2:frontend/locales/en.json:4 +OK [en] „Copy Invite Link” homebox@v0.26.2:frontend/locales/en.json:3 +OK [en] „Settings” homebox@v0.26.2:frontend/locales/en.json:42 +OK [en] „Open sign-up for 15 minutes” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:2637 +OK [en] „Edit” homebox@v0.26.2:frontend/locales/en.json:414 +OK [en] „Advanced” homebox@v0.26.2:frontend/locales/en.json:551 +OK [en] „Purchase Price” homebox@v0.26.2:frontend/locales/en.json:621 +OK [en] „Purchase Date” homebox@v0.26.2:frontend/locales/en.json:619 +OK [en] „Warranty Expires” homebox@v0.26.2:frontend/locales/en.json:673 +OK [en] „Attachments” homebox@v0.26.2:frontend/locales/en.json:556 +OK [en] „Warranty” homebox@v0.26.2:frontend/locales/en.json:671 +OK [en] „Save” homebox@v0.26.2:frontend/locales/en.json:477 +OK [en] „Maintenance” homebox@v0.26.2:frontend/locales/en.json:468 +OK [en] „New” homebox@v0.26.2:frontend/locales/en.json:744 +OK [en] „Entry Name” homebox@v0.26.2:frontend/locales/en.json:752 +OK [en] „Completed Date” homebox@v0.26.2:frontend/locales/en.json:747 +OK [en] „Scheduled Date” homebox@v0.26.2:frontend/locales/en.json:756 +OK [en] „Cost” homebox@v0.26.2:frontend/locales/en.json:748 +OK [en] „Create” homebox@v0.26.2:frontend/locales/en.json:396 +OK [en] „Search” homebox@v0.26.2:frontend/locales/en.json:478 +OK [en] „Tag” homebox@v0.26.2:frontend/locales/hu.json:22 +OK [en] „Tags” homebox@v0.26.2:frontend/locales/en.json:484 +OK [en] „Profile” homebox@v0.26.2:frontend/locales/en.json:775 +OK [en] „Language” homebox@v0.26.2:frontend/locales/en.json:817 +OK [en] „Scanner” homebox@v0.26.2:frontend/locales/en.json:776 +OK [en] „Tools” homebox@v0.26.2:frontend/locales/en.json:43 +OK [en] „Export Inventory” homebox@v0.26.2:frontend/locales/en.json:996 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 60 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/homepage-draft.json b/documentation/audits/app-guides-2026-10-15/B/homepage-draft.json new file mode 100644 index 00000000..030e1d50 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/homepage-draft.json @@ -0,0 +1,89 @@ +{ + "app": "homepage", + "checked_version": "v1.13.2", + "corpus_note": "homepage@v1.13.2 (5d9ad06): public/locales/en/common.json, src/components, src/pages, src/skeleton; default UI language: English (src/pages/index.jsx normalizeLanguage: settings.yaml language, else en; the skeleton settings.yaml sets none). Only the UI that works without editing a config file is covered.", + "hu": { + "sections": [ + {"title": "Keresés a kezdőlapról", + "intro": "A kezdőlap tetején lévő mezőből rögtön kereshetsz a weben.", + "steps": [ + "Kattints a „Search…” (keresés) mezőbe, és írd be, amit keresel.", + "Nyomj Entert: a találatok új lapon nyílnak meg a DuckDuckGo keresőben." + ]}, + {"title": "Gyorsindító", + "intro": "Billentyűzetről egy szó beírásával megnyitod, amit keresel.", + "steps": [ + "Kezdj el gépelni bárhol az oldalon, a keresőmezőn kívül: megnyílik a gyorsindító.", + "A listában az oldalon lévő szolgáltatások és könyvjelzők közül a beírtakhoz illők látszanak.", + "A nyilakkal választasz, az Enter megnyitja, az Esc bezárja." + ]}, + {"title": "Világos vagy sötét téma", + "intro": "A kezdőlap kinézetét a saját böngésződre szabhatod.", + "steps": [ + "Az oldal alján a nap és a hold ikon közötti kapcsolóval váltasz világos és sötét téma között.", + "A paletta ikonra kattintva másik színt választhatsz.", + "A böngésződ megjegyzi a választást, a többi családtag oldalát nem változtatja meg." + ]}, + {"title": "Kezdőlap a böngészőben", + "intro": "Ha a böngésző a Homepage-dzsel indul, minden innen egy kattintás.", + "steps": [ + "A böngésződ beállításaiban add meg kezdőlapnak a home.DOMAIN címet.", + "Telefonon nyisd meg a home.DOMAIN címet, és a böngésző menüjéből tedd ki a kezdőképernyőre." + ]} + ], + "faq": [ + {"q": "Miért minta-szolgáltatások és minta-könyvjelzők látszanak?", + "a": "A Homepage ezekkel a mintákkal indul. A csoportokat, a linkeket és a widgeteket a Homepage beállítófájljai írják le, a felületén nem szerkeszthetők."}, + {"q": "Mit mutat a sáv az oldal tetején?", + "a": "A processzor kihasználtságát („CPU”), mellette a szabad memóriát és a szabad tárhelyet („Free”, szabad)."}, + {"q": "Kell hozzá bejelentkezés?", + "a": "Nem: a Homepage-nek nincs saját belépése, és aki ismeri a home.DOMAIN címet, látja az oldalt. Ezért ne tegyél rá olyat, amit idegennek nem mutatnál."}, + {"q": "Megváltozik az oldal, ha új alkalmazást telepítek?", + "a": "Magától nem: a doboz nem írja át a Homepage listáját."}, + {"q": "Hol vannak a beállításai?", + "a": "A dobozon, a Homepage saját tárhelyén. Hogy mi kerül mentésbe, azt a vezérlőpulton az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "Search from the start page", + "intro": "From the box at the top of the start page you can search the web straight away.", + "steps": [ + "Select the „Search…” box, and type what you are looking for.", + "Press Enter: the results open in a new tab, in the DuckDuckGo search engine." + ]}, + {"title": "Quick launch", + "intro": "From the keyboard, you open what you are looking for by typing one word.", + "steps": [ + "Start typing anywhere on the page, outside the search box: quick launch opens.", + "The list shows the services and bookmarks on the page that match what you typed.", + "Choose with the arrow keys; Enter opens it, Esc closes it." + ]}, + {"title": "Light or dark theme", + "intro": "You can fit the look of the start page to your own browser.", + "steps": [ + "At the bottom of the page, the switch between the sun and the moon icon changes between the light and the dark theme.", + "Select the palette icon to choose another colour.", + "Your browser remembers the choice; it does not change the page for the rest of the family." + ]}, + {"title": "Start page in the browser", + "intro": "If the browser starts with Homepage, everything is one click from here.", + "steps": [ + "In your browser's settings, set the home.DOMAIN address as the start page.", + "On a phone, open home.DOMAIN, and add it to the home screen from the browser menu." + ]} + ], + "faq": [ + {"q": "Why do example services and example bookmarks show?", + "a": "Homepage starts with these examples. The groups, the links and the widgets are written in Homepage's settings files; they cannot be edited on the page."}, + {"q": "What does the bar at the top of the page show?", + "a": "How busy the processor is („CPU”), and next to it the free memory and the free storage („Free”)."}, + {"q": "Does it need a sign-in?", + "a": "No: Homepage has no sign-in of its own, and anyone who knows the home.DOMAIN address sees the page. So do not put anything on it that you would not show a stranger."}, + {"q": "Does the page change when I install a new app?", + "a": "Not by itself: the box does not rewrite Homepage's list."}, + {"q": "Where are its settings?", + "a": "On the box, in Homepage's own storage. What goes into the backup is shown on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/homepage-labels.txt b/documentation/audits/app-guides-2026-10-15/B/homepage-labels.txt new file mode 100644 index 00000000..b52a18c8 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/homepage-labels.txt @@ -0,0 +1,14 @@ +corpus_note: homepage@v1.13.2 (5d9ad06): public/locales/en/common.json, src/components, src/pages, src/skeleton; default UI language: English (src/pages/index.jsx normalizeLanguage: settings.yaml language, else en; the skeleton settings.yaml sets none). Only the UI that works without editing a config file is covered. +guide on the box: shown +app: homepage checked against: v1.13.2 +corpora: homepage@v1.13.2:public/locales/en/common.json homepage@v1.13.2:src/components homepage@v1.13.2:src/pages homepage@v1.13.2:src/skeleton felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 8 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Search…” homepage@v1.13.2:public/locales/en/common.json:39 +OK [hu] „CPU” homepage@v1.13.2:public/locales/en/common.json:42 +OK [hu] „Free” homepage@v1.13.2:public/locales/en/common.json:45 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Search…” homepage@v1.13.2:public/locales/en/common.json:39 +OK [en] „CPU” homepage@v1.13.2:public/locales/en/common.json:42 +OK [en] „Free” homepage@v1.13.2:public/locales/en/common.json:45 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 8 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/immich-draft.json b/documentation/audits/app-guides-2026-10-15/B/immich-draft.json new file mode 100644 index 00000000..6fe61da3 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/immich-draft.json @@ -0,0 +1,103 @@ +{ + "app": "immich", + "checked_version": "v3.2.4", + "corpus_note": "immich-app/immich@v3.2.4 (db355f7): i18n/hu.json, i18n/en.json, web/src, docs/docs (FAQ, config-file defaults); default UI language: browser language, Hungarian available", + "hu": { + "sections": [ + {"title": "Első album létrehozása", + "intro": "Az album egy válogatás: a képek a helyükön maradnak, csak egy csoportba kerülnek.", + "steps": [ + "A bal oldali menüben kattints az „Albumok” pontra.", + "Kattints az „Album létrehozása” gombra, és írd be az album nevét.", + "Kattints a „Fotók hozzáadása” gombra, és jelöld ki a képeket.", + "Kattints az „Elemek hozzáadása” gombra." + ]}, + {"title": "Album megosztása a családdal", + "intro": "A megosztott albumot a családtagok a saját fiókjukban látják.", + "steps": [ + "Nyisd meg az albumot, és kattints a „Megosztás” gombra.", + "A „Személyek” résznél kattints a „Személyek meghívása” gombra.", + "Jelöld ki a családtagot, és kattints a „Hozzáadás” gombra." + ]}, + {"title": "Minden képed megosztása a pároddal", + "intro": "Partnerként a párod az összes képedet látja, nem csak egy albumot.", + "steps": [ + "Kattints a jobb felső sarokban a profilképedre, majd a „Fiókbeállítások” pontra.", + "Nyisd meg a „Megosztás” részt, és kattints a „Partner hozzáadása” gombra.", + "Válaszd ki a párodat. Az archivált és a törölt képeidet nem látja.", + "A párod a saját „Megosztás” részében bekapcsolhatja a „Mutatás az idővonalon” kapcsolót: így a képeid az ő idővonalán is megjelennek." + ]}, + {"title": "Keresés képre és arcra", + "intro": "Az Immich a háttérben felismeri, mi van a képeken és ki szerepel rajtuk.", + "steps": [ + "Kattints felül a keresőmezőbe, és írd be, mit keresel, például dog beach.", + "A „Személyek” oldalon kattints egy arc alatt a „Név megadása” mezőbe, és írd be a nevet.", + "Ezután a keresőbe írt névre az ő képeit kapod.", + "A „Térkép” megmutatja, hol készültek a képeid." + ]} + ], + "faq": [ + {"q": "Miért nem talál a kereső magyar szóra?", + "a": "A kereső alapból angol szavakat ért. Írd angolul, például dog vagy birthday cake."}, + {"q": "Mi lesz a törölt képpel?", + "a": "A „Lomtár” oldalra kerül, és 30 nap múlva végleg törlődik. Addig ott még megtalálod."}, + {"q": "Hogyan tüntetek el egy képet az idővonalról törlés nélkül?", + "a": "Jelöld ki, és válaszd az „Archiválás” pontot. Az „Archívum” oldalon megtalálod, és a kereső is mutatja."}, + {"q": "Megváltoztatja az Immich az eredeti fájlt?", + "a": "Nem. Az Immich az eredeti fájlokat nem módosítja, a változtatásaidat külön tárolja."}, + {"q": "Miért nincsenek még arcok a „Személyek” oldalon?", + "a": "A felismerés a feltöltés után a háttérben fut. Sok kép után eltart egy ideig, amíg minden arc megjelenik."}, + {"q": "Hol vannak a képeim, és van róluk mentés?", + "a": "A meghajtódon, amelyet telepítéskor választottál. A mentésükről az Immich „Adatok és mentés” fülén tájékozódhatsz."} + ] + }, + "en": { + "sections": [ + {"title": "Make your first album", + "intro": "An album is a selection: the photos stay where they are and are only grouped.", + "steps": [ + "In the menu on the left, select „Albums”.", + "Select „Create album” and type the name of the album.", + "Select „Add photos” and pick the photos.", + "Select „Add assets”." + ]}, + {"title": "Share an album with the family", + "intro": "Family members see a shared album in their own account.", + "steps": [ + "Open the album and select „Share”.", + "Under „People”, select „Invite People”.", + "Pick the family member and select „Add”." + ]}, + {"title": "Share all your photos with your partner", + "intro": "As a partner, your partner sees all your photos, not only one album.", + "steps": [ + "Select your profile picture in the top right corner, then „Account Settings”.", + "Open „Sharing” and select „Add partner”.", + "Choose your partner. They do not see your archived and deleted photos.", + "In their own „Sharing” part, your partner can turn on „Show in timeline”: then your photos appear in their timeline too." + ]}, + {"title": "Search for a picture or a face", + "intro": "In the background, Immich recognises what is in your photos and who is in them.", + "steps": [ + "Select the search field at the top and type what you look for, for example dog beach.", + "On the „People” page, select the „Add a name” field under a face and type the name.", + "After that, searching for the name brings up their photos.", + "The „Map” shows where your photos were taken." + ]} + ], + "faq": [ + {"q": "Why does search not find a Hungarian word?", + "a": "Search understands English words by default. Type in English, for example dog or birthday cake."}, + {"q": "What happens to a deleted photo?", + "a": "It goes to the „Trash” page and is deleted for good after 30 days. Until then you still find it there."}, + {"q": "How do I take a photo off the timeline without deleting it?", + "a": "Select it and choose „Archive”. You find it on the „Archive” page, and search still shows it."}, + {"q": "Does Immich change the original file?", + "a": "No. Immich does not change the original files; it keeps your changes separately."}, + {"q": "Why are there no faces on the „People” page yet?", + "a": "Recognition runs in the background after an upload. After many photos it takes a while until every face shows up."}, + {"q": "Where are my photos, and are they backed up?", + "a": "On the drive you chose at install time. For their backup, look at the „Data and backup” tab of Immich."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/immich-labels.txt b/documentation/audits/app-guides-2026-10-15/B/immich-labels.txt new file mode 100644 index 00000000..cccf8d89 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/immich-labels.txt @@ -0,0 +1,40 @@ +corpus_note: immich-app/immich@v3.2.4 (db355f7): i18n/hu.json, i18n/en.json, web/src, docs/docs (FAQ, config-file defaults); default UI language: browser language, Hungarian available +guide on the box: shown +app: immich checked against: v3.2.4 +corpora: immich-app/immich@v3.2.4:i18n/en.json immich-app/immich@v3.2.4:i18n/hu.json immich-app/immich@v3.2.4:web/src felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 34 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Albumok” immich-app/immich@v3.2.4:i18n/hu.json:539 +OK [hu] „Album létrehozása” immich-app/immich@v3.2.4:i18n/hu.json:792 +OK [hu] „Fotók hozzáadása” immich-app/immich@v3.2.4:i18n/hu.json:26 +OK [hu] „Elemek hozzáadása” immich-app/immich@v3.2.4:i18n/hu.json:20 +OK [hu] „Megosztás” immich-app/immich@v3.2.4:i18n/hu.json:1977 +OK [hu] „Személyek” immich-app/immich@v3.2.4:i18n/hu.json:1639 +OK [hu] „Személyek meghívása” immich-app/immich@v3.2.4:i18n/hu.json:1249 +OK [hu] „Hozzáadás” immich-app/immich@v3.2.4:i18n/hu.json:14 +OK [hu] „Fiókbeállítások” immich-app/immich@v3.2.4:i18n/hu.json:5 +OK [hu] „Partner hozzáadása” immich-app/immich@v3.2.4:i18n/hu.json:25 +OK [hu] „Mutatás az idővonalon” immich-app/immich@v3.2.4:i18n/hu.json:2042 +OK [hu] „Név megadása” immich-app/immich@v3.2.4:i18n/hu.json:17 +OK [hu] „Térkép” immich-app/immich@v3.2.4:i18n/hu.json:248 +OK [hu] „Lomtár” immich-app/immich@v3.2.4:i18n/hu.json:2179 +OK [hu] „Archiválás” immich-app/immich@v3.2.4:i18n/hu.json:2167 +OK [hu] „Archívum” immich-app/immich@v3.2.4:i18n/hu.json:571 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Albums” immich-app/immich@v3.2.4:i18n/en.json:539 +OK [en] „Create album” immich-app/immich@v3.2.4:i18n/en.json:794 +OK [en] „Add photos” immich-app/immich@v3.2.4:i18n/en.json:26 +OK [en] „Add assets” immich-app/immich@v3.2.4:i18n/en.json:20 +OK [en] „Share” immich-app/immich@v3.2.4:i18n/en.json:1981 +OK [en] „People” immich-app/immich@v3.2.4:i18n/en.json:1642 +OK [en] „Invite People” immich-app/immich@v3.2.4:i18n/en.json:1252 +OK [en] „Add” immich-app/immich@v3.2.4:i18n/en.json:14 +OK [en] „Account Settings” immich-app/immich@v3.2.4:i18n/en.json:5 +OK [en] „Sharing” immich-app/immich@v3.2.4:i18n/en.json:2036 +OK [en] „Add partner” immich-app/immich@v3.2.4:i18n/en.json:25 +OK [en] „Show in timeline” immich-app/immich@v3.2.4:i18n/en.json:2047 +OK [en] „Add a name” immich-app/immich@v3.2.4:i18n/en.json:17 +OK [en] „Map” immich-app/immich@v3.2.4:i18n/en.json:248 +OK [en] „Trash” immich-app/immich@v3.2.4:i18n/en.json:2180 +OK [en] „Archive” immich-app/immich@v3.2.4:i18n/en.json:571 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 34 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/jellyfin-draft.json b/documentation/audits/app-guides-2026-10-15/B/jellyfin-draft.json new file mode 100644 index 00000000..9f121579 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/jellyfin-draft.json @@ -0,0 +1,97 @@ +{ + "app": "jellyfin", + "checked_version": "10.11.11", + "corpus_note": "jellyfin/jellyfin-web@v10.11.11 (35c0793): src/strings/en-us.json, src/strings/hu.json, src (dashboard routes users/keys/libraries, itemContextMenu.js); Felhom labels from controller locales (media.wire_now) and mediawire.go (API key named felhom); the Jellyfin phone and TV app labels are not pinned by the image and are not quoted; default UI language: browser language, Hungarian available", + "hu": { + "sections": [ + {"title": "Családtag hozzáadása", + "intro": "Minden családtag saját felhasználóval néz, így mindenki ott folytatja, ahol abbahagyta.", + "steps": [ + "Kattints a jobb felső sarokban a profilképedre, majd a „Vezérlőpult” pontra.", + "Nyisd meg a „Felhasználók” oldalt, és kattints a felirat melletti plusz gombra.", + "Töltsd ki a „Név” és a „Jelszó” mezőt.", + "Jelöld be a „Hozzáférés engedélyezése minden könyvtárhoz” jelölőt, vagy válaszd ki a médiatárakat, majd kattints a „Mentés” gombra." + ]}, + {"title": "Korhatár a gyerekeknek", + "intro": "A gyerek felhasználójának beállíthatod, milyen korhatárú filmeket lásson.", + "steps": [ + "A „Vezérlőpult” „Felhasználók” oldalán nyisd meg a gyerek felhasználójának menüjét.", + "Válaszd a „Szülői felügyelet” pontot.", + "A „Maximálisan megengedett szülői minősítés” listában válaszd ki a korhatárt, és kattints a „Mentés” gombra." + ]}, + {"title": "Nézés telefonon vagy tévén", + "intro": "A Jellyfin appok a dobozod címével kapcsolódnak, Jellyfin fiók nem kell hozzájuk.", + "steps": [ + "Nyisd meg a Jellyfin appot, és adj hozzá egy új szervert.", + "Szervercímnek írd be: media.DOMAIN.", + "Jelentkezz be a saját Jellyfin felhasználóddal." + ]}, + {"title": "Kulcs a dobozodnak az új meghajtókhoz", + "intro": "Ha új meghajtót teszel a dobozba, a doboz hozzáadja a filmes és sorozatos mappáit a meglévő médiatáraidhoz, ehhez egyszer egy kulcsot kér.", + "steps": [ + "A „Vezérlőpult” bal oldali menüjében, a „Speciális” résznél nyisd meg az „API-kulcsok” oldalt.", + "Kattints az „Új API kulcs” gombra.", + "Az „Alkalmazás neve” mezőbe írd be: felhom, és kattints a „Létrehozás” gombra.", + "Ha a Felhom vezérlőpultján megjelenik a „Bekötés most” gomb, nyomd meg." + ]} + ], + "faq": [ + {"q": "Miért nem látom az új filmet?", + "a": "Nézd meg, hogy a fájl a media/movies mappában van-e, és hogy a mappa neve a film címe és éve, például Nosferatu (1922). Ha sietsz, a „Vezérlőpult” oldalon kattints az „Összes médiatár beolvasása” gombra."}, + {"q": "Rossz filmet ismert fel. Hogyan javítom?", + "a": "Nyisd meg a filmet, a menüjében válaszd az „Azonosítás” pontot, és keresd meg a helyes címet."}, + {"q": "Törölhetek filmet a Jellyfinből?", + "a": "Nem: a Jellyfin csak olvassa a meghajtót. Törölni a fájlböngészőben, a Radarrban vagy a Sonarrban tudsz."}, + {"q": "Kell előfizetés, és elérem otthonon kívül?", + "a": "A Jellyfin ingyenes, előfizetés nem kell. Otthonon kívül is a media.DOMAIN címen nézheted, a saját felhasználóddal."}, + {"q": "Mire jó a felhom nevű kulcs?", + "a": "Ezzel a doboz hozzáadja egy új meghajtó mappáit a Jellyfinhez, és újraindítás előtt megnézi, néz-e éppen valaki. Kulcs nélkül az új mappákat neked kell hozzáadnod."} + ] + }, + "en": { + "sections": [ + {"title": "Add a family member", + "intro": "Each family member watches with their own user, so everyone picks up where they left off.", + "steps": [ + "Select your profile picture in the top right corner, then „Dashboard”.", + "Open the „Users” page and select the plus button next to the heading.", + "Fill in the „Name” and „Password” fields.", + "Tick „Enable access to all libraries” or pick the libraries, then select „Save”." + ]}, + {"title": "An age limit for the children", + "intro": "For a child's user, you can set which age ratings they see.", + "steps": [ + "On the „Users” page of the „Dashboard”, open the menu of the child's user.", + "Choose „Parental control”.", + "In the „Maximum allowed parental rating” list, choose the rating and select „Save”." + ]}, + {"title": "Watch on a phone or a TV", + "intro": "The Jellyfin apps connect with your box's address; they need no Jellyfin account.", + "steps": [ + "Open the Jellyfin app and add a new server.", + "As the server address, type media.DOMAIN.", + "Sign in with your own Jellyfin user." + ]}, + {"title": "A key for your box, for new drives", + "intro": "When you put a new drive into the box, the box adds its film and series folders to your existing libraries; for this it asks for a key once.", + "steps": [ + "In the menu on the left of the „Dashboard”, under „Advanced”, open the „API Keys” page.", + "Select „New API Key”.", + "In the „App name” field, type felhom and select „Create”.", + "If the „Connect now” button shows up on the Felhom dashboard, press it." + ]} + ], + "faq": [ + {"q": "Why can I not see the new film?", + "a": "Check that the file is in the media/movies folder and that the folder is named after the film's title and year, for example Nosferatu (1922). If you are in a hurry, select „Scan All Libraries” on the „Dashboard” page."}, + {"q": "It recognised the wrong film. How do I fix it?", + "a": "Open the film, choose „Identify” in its menu, and search for the right title."}, + {"q": "Can I delete a film from Jellyfin?", + "a": "No: Jellyfin only reads the drive. You delete in the file browser, in Radarr or in Sonarr."}, + {"q": "Do I need a subscription, and can I reach it away from home?", + "a": "Jellyfin is free; no subscription is needed. Away from home you watch on media.DOMAIN too, with your own user."}, + {"q": "What is the key named felhom for?", + "a": "With it, the box adds a new drive's folders to Jellyfin and, before a restart, checks whether someone is watching. Without the key, you add the new folders yourself."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/jellyfin-labels.txt b/documentation/audits/app-guides-2026-10-15/B/jellyfin-labels.txt new file mode 100644 index 00000000..9671443a --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/jellyfin-labels.txt @@ -0,0 +1,38 @@ +corpus_note: jellyfin/jellyfin-web@v10.11.11 (35c0793): src/strings/en-us.json, src/strings/hu.json, src (dashboard routes users/keys/libraries, itemContextMenu.js); Felhom labels from controller locales (media.wire_now) and mediawire.go (API key named felhom); the Jellyfin phone and TV app labels are not pinned by the image and are not quoted; default UI language: browser language, Hungarian available +guide on the box: shown +app: jellyfin checked against: 10.11.11 +corpora: jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json jellyfin/jellyfin-web@v10.11.11:src/apps jellyfin/jellyfin-web@v10.11.11:src/components felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 32 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Vezérlőpult” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:397 +OK [hu] „Felhasználók” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:154 +OK [hu] „Név” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:212 +OK [hu] „Jelszó” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:128 +OK [hu] „Hozzáférés engedélyezése minden könyvtárhoz” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:320 +OK [hu] „Mentés” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:367 +OK [hu] „Szülői felügyelet” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:31 +OK [hu] „Maximálisan megengedett szülői minősítés” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:763 +OK [hu] „Speciális” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:393 +OK [hu] „API-kulcsok” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:570 +OK [hu] „Új API kulcs” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:611 +OK [hu] „Alkalmazás neve” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:686 +OK [hu] „Létrehozás” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:2040 +OK [hu] „Bekötés most” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:2721 +OK [hu] „Összes médiatár beolvasása” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:39 +OK [hu] „Azonosítás” jellyfin/jellyfin-web@v10.11.11:src/strings/hu.json:161 +OK [en] „Dashboard” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:1608 +OK [en] „Users” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:558 +OK [en] „Name” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:832 +OK [en] „Password” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:490 +OK [en] „Enable access to all libraries” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:1307 +OK [en] „Save” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:1502 +OK [en] „Parental control” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:122 +OK [en] „Maximum allowed parental rating” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:807 +OK [en] „Advanced” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:1606 +OK [en] „API Keys” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:390 +OK [en] „New API Key” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:477 +OK [en] „App name” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:611 +OK [en] „Create” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:199 +OK [en] „Connect now” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:2733 +OK [en] „Scan All Libraries” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:132 +OK [en] „Identify” jellyfin/jellyfin-web@v10.11.11:src/strings/en-us.json:572 +RESULT: ALL FOUND — 32 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/karakeep-draft.json b/documentation/audits/app-guides-2026-10-15/B/karakeep-draft.json new file mode 100644 index 00000000..298dae6d --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/karakeep-draft.json @@ -0,0 +1,97 @@ +{ + "app": "karakeep", + "checked_version": "0.33.2", + "corpus_note": "karakeep@v0.33.2 (98c0c78): apps/web/lib/i18n/locales/en/translation.json, apps/web/components, apps/web/app; default UI language: English (userLocalSettings types.ts lang default 'en', kept in a cookie; Hungarian can be chosen in User Settings, Interface Language).", + "hu": { + "sections": [ + {"title": "Fiók a családtagnak", + "intro": "Minden családtagnak saját fiókja és saját könyvjelzői lesznek.", + "steps": [ + "Kattints jobb felül a profilképedre, és válaszd az „Admin Settings” (admin beállítások) pontot.", + "Nyisd meg a „Users List” (felhasználók) oldalt, és kattints a „Create User” (új felhasználó) gombra.", + "Töltsd ki a „Name”, „Email”, „Password” és „Confirm Password” mezőt (név, e-mail, jelszó kétszer).", + "Kattints a „Create” (létrehozás) gombra, és add át a családtagnak az e-mail címet és a jelszót." + ]}, + {"title": "Listák", + "intro": "A listákba témánként gyűjtheted a könyvjelzőket, például receptek vagy nyaralás.", + "steps": [ + "A bal oldali menüben a listák mellett kattints a + jelre.", + "Írd be a lista nevét, és kattints a „Create” gombra.", + "Egy könyvjelző menüjében válaszd a „Manage Lists” (listák kezelése) pontot, és válaszd ki a listát." + ]}, + {"title": "Közös lista a családdal", + "intro": "Egy listát megoszthatsz egy családtaggal, és mindketten látjátok, ami rajta van.", + "steps": [ + "A lista menüjében válaszd a „Manage Collaborators” (közreműködők kezelése) pontot.", + "Az „Add Collaborator” (közreműködő hozzáadása) résznél írd be a családtag e-mail címét.", + "Válaszd ki, mit tehet: „Viewer” (csak nézi) vagy „Editor” (hozzá is ad), és kattints a hozzáadás gombra.", + "A családtag az „All Lists” (összes lista) oldalon, a „Pending Invitations” (függő meghívások) résznél fogadja el az „Accept” gombbal." + ]}, + {"title": "Hírforrás követése", + "intro": "Egy kedvenc oldal új cikkei maguktól bekerülnek a Karakeepbe.", + "steps": [ + "A profilképed alatt nyisd meg a „User Settings” (felhasználói beállítások) oldalt.", + "Válaszd az „RSS Subscriptions” (RSS-feliratkozások) pontot, és kattints az „Add a Subscription” gombra.", + "Add meg a forrás nevét és RSS-címét, majd mentsd el." + ]} + ], + "faq": [ + {"q": "Átállíthatom magyarra?", + "a": "Igen: a „User Settings” oldalon az „Interface Language” (felület nyelve) mezőben. A választást a böngésződ jegyzi meg."}, + {"q": "Miért nem kapnak a könyvjelzőim automatikus címkét?", + "a": "Az AI-címkézéshez OpenAI-kulcs kell, amelyet telepítéskor adhattál meg. Kulcs nélkül ki van kapcsolva, és a könyvjelzőid szövege nem megy az OpenAI-hoz. Címkét kézzel is adhatsz a könyvjelzőnek."}, + {"q": "Mi a különbség a „Favorite” és az „Archive” között?", + "a": "A kedvencnek jelölt könyvjelző a „Favourites” listában is megjelenik. Az archivált eltűnik a kezdőoldalról, de az „Archive” oldalon megmarad."}, + {"q": "Mi az az okos lista?", + "a": "A „Smart List” (okos lista) egy keresés alapján magától gyűjti a könyvjelzőket. Új listánál a „List Type” (lista típusa) mezőben választhatod."}, + {"q": "Hol vannak a mentett oldalak?", + "a": "A dobozon, a Karakeep saját tárhelyén. Hogy mi kerül mentésbe, azt a vezérlőpulton az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "An account for a family member", + "intro": "Every family member gets an account and bookmarks of their own.", + "steps": [ + "Select your profile picture at the top right, and choose „Admin Settings”.", + "Open the „Users List” page, and select the „Create User” button.", + "Fill in „Name”, „Email”, „Password” and „Confirm Password”.", + "Select „Create”, and give the family member the e-mail address and the password." + ]}, + {"title": "Lists", + "intro": "Lists gather bookmarks by topic, for example recipes or a holiday.", + "steps": [ + "In the menu on the left, select the + next to the lists.", + "Type the list's name, and select „Create”.", + "In a bookmark's menu, choose „Manage Lists”, and pick the list." + ]}, + {"title": "A list shared with the family", + "intro": "You can share a list with a family member, and you both see what is on it.", + "steps": [ + "In the list's menu, choose „Manage Collaborators”.", + "Under „Add Collaborator”, type the family member's e-mail address.", + "Choose what they may do: „Viewer” (only looks) or „Editor” (adds too), and select the add button.", + "The family member accepts it on the „All Lists” page, under „Pending Invitations”, with „Accept”." + ]}, + {"title": "Follow a news source", + "intro": "New articles from a favourite site come into Karakeep by themselves.", + "steps": [ + "Under your profile picture, open the „User Settings” page.", + "Choose „RSS Subscriptions”, and select „Add a Subscription”.", + "Enter the source's name and its RSS address, then save it." + ]} + ], + "faq": [ + {"q": "Can I switch it to Hungarian?", + "a": "Yes: on the „User Settings” page, in „Interface Language”. Your browser remembers the choice."}, + {"q": "Why do my bookmarks get no automatic tags?", + "a": "AI tagging needs an OpenAI key, which you could give at install. Without a key it is off, and the text of your bookmarks does not go to OpenAI. You can also tag a bookmark by hand."}, + {"q": "What is the difference between „Favorite” and „Archive”?", + "a": "A bookmark marked as a favourite also shows in the „Favourites” list. An archived one leaves the home page, but stays on the „Archive” page."}, + {"q": "What is a smart list?", + "a": "A „Smart List” gathers bookmarks by itself, from a search. For a new list, choose it in „List Type”."}, + {"q": "Where are the saved pages?", + "a": "On the box, in Karakeep's own storage. What goes into the backup is shown on the dashboard, on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/karakeep-labels.txt b/documentation/audits/app-guides-2026-10-15/B/karakeep-labels.txt new file mode 100644 index 00000000..855213ba --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/karakeep-labels.txt @@ -0,0 +1,58 @@ +corpus_note: karakeep@v0.33.2 (98c0c78): apps/web/lib/i18n/locales/en/translation.json, apps/web/components, apps/web/app; default UI language: English (userLocalSettings types.ts lang default 'en', kept in a cookie; Hungarian can be chosen in User Settings, Interface Language). +guide on the box: shown +app: karakeep checked against: 0.33.2 +corpora: karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json karakeep@v0.33.2:apps/web/components karakeep@v0.33.2:apps/web/app felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 52 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Admin Settings” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:634 +OK [hu] „Users List” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:733 +OK [hu] „Create User” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:734 +OK [hu] „Name” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:6 +OK [hu] „Email” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:7 +OK [hu] „Password” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:8 +OK [hu] „Confirm Password” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:742 +OK [hu] „Create” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:98 +OK [hu] „Manage Lists” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:89 +OK [hu] „Manage Collaborators” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:835 +OK [hu] „Add Collaborator” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:838 +OK [hu] „Viewer” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:851 +OK [hu] „Editor” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:852 +OK [hu] „All Lists” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:793 +OK [hu] „Pending Invitations” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:865 +OK [hu] „Accept” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:868 +OK [hu] „User Settings” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:126 +OK [hu] „RSS Subscriptions” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:280 +OK [hu] „Add a Subscription” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:281 +OK [hu] „Interface Language” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:135 +OK [hu] „Favorite” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:70 +OK [hu] „Archive” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:33 +OK [hu] „Favourites” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:794 +OK [hu] „Smart List” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:814 +OK [hu] „List Type” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:812 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Admin Settings” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:634 +OK [en] „Users List” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:733 +OK [en] „Create User” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:734 +OK [en] „Name” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:6 +OK [en] „Email” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:7 +OK [en] „Password” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:8 +OK [en] „Confirm Password” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:742 +OK [en] „Create” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:98 +OK [en] „Manage Lists” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:89 +OK [en] „Manage Collaborators” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:835 +OK [en] „Add Collaborator” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:838 +OK [en] „Viewer” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:851 +OK [en] „Editor” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:852 +OK [en] „All Lists” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:793 +OK [en] „Pending Invitations” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:865 +OK [en] „Accept” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:868 +OK [en] „User Settings” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:126 +OK [en] „RSS Subscriptions” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:280 +OK [en] „Add a Subscription” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:281 +OK [en] „Interface Language” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:135 +OK [en] „Favorite” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:70 +OK [en] „Archive” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:33 +OK [en] „Favourites” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:794 +OK [en] „Smart List” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:814 +OK [en] „List Type” karakeep@v0.33.2:apps/web/lib/i18n/locales/en/translation.json:812 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 52 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/kimai-draft.json b/documentation/audits/app-guides-2026-10-15/B/kimai-draft.json new file mode 100644 index 00000000..a1f8a1c3 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/kimai-draft.json @@ -0,0 +1,137 @@ +{ + "app": "kimai", + "checked_version": "2.67.0", + "corpus_note": "kimai/kimai@2.67.0 (397bcb7): translations/{messages,wizard,reporting}.{en,hu}.xlf, templates/, src/ (menus, forms, page actions); default UI language: browser language, Hungarian available (RedirectToLocaleSubscriber, then the user's own language setting)", + "hu": { + "sections": [ + { + "title": "Első tevékenység felvétele", + "intro": "A Kimaiban minden rögzített időhöz projekt és tevékenység is kell, ezért először hozz létre legalább egy tevékenységet.", + "steps": [ + "A menüben nyisd meg a „Tevékenységek” oldalt, és kattints a „Létrehozás” gombra.", + "A „Név” mezőbe írd be a tevékenység nevét, például Tervezés vagy Ügyintézés.", + "Ha a „Projekt” mezőt üresen hagyod, a tevékenység minden projektnél használható. Ezt később nem lehet megváltoztatni.", + "Kattints a „Mentés” gombra." + ] + }, + { + "title": "Munkaidő beírása utólag", + "intro": "Ha elfelejtetted elindítani az órát, a munkát utólag is beírhatod.", + "steps": [ + "Az „Időrögzítés” menüben nyisd meg a „Munkaóráim” oldalt.", + "Kattints a „Létrehozás” gombra.", + "Add meg a „Dátum”, a „Kezdés” és a „Befejezés” mezőt.", + "Válaszd ki a „Projekt” és a „Tevékenység” mezőt, majd kattints a „Mentés” gombra." + ] + }, + { + "title": "Havi összesítés és exportálás", + "intro": "A ledolgozott órákat összesítheted, és fájlba is mentheted.", + "steps": [ + "A „Jelentések” menüben válaszd az „Egy felhasználó havi nézete” jelentést.", + "Fájlhoz nyisd meg az „Exportálás” oldalt, és az „Időtartam” mezőben állítsd be a hónapot.", + "Kattints a „PDF”, az „Excel” vagy a „CSV” gombra.", + "Ha jelölöd a „Megjelőlés exportáltként” pontot, a Kimai megjegyzi, mely órákat adtad már le." + ] + }, + { + "title": "Családtag vagy munkatárs hozzáadása", + "intro": "Mindenki a saját nevével lép be, és a saját óráit rögzíti.", + "steps": [ + "Nyisd meg a „Felhasználók” oldalt, és kattints a „Létrehozás” gombra.", + "Töltsd ki a „Felhasználónév”, az „E-mail” és a „Jelszó” mezőt.", + "Kattints a „Mentés” gombra, és add át neki a nevet és a jelszót.", + "Az első belépésnél a Kimai neki is felkínálja a nyelv és az időzóna beállítását." + ] + } + ], + "faq": [ + { + "q": "Mi ez az „Üdvözöllek a Kimai-ban” oldal belépés után?", + "a": "Első belépéskor a Kimai végigvezet néhány alapbeállításon, például a nyelven és az időzónán. Ezeket később is módosíthatod." + }, + { + "q": "Hogyan váltok nyelvet?", + "a": "A felső sávban kattints a nevedre, és nyisd meg a „Beállítások” pontot. A „Nyelv” mezőben válaszd ki a nyelvet, majd kattints a „Mentés” gombra." + }, + { + "q": "Elfelejtettem leállítani az órát. Mit tegyek?", + "a": "A felső sávban kattints a piros stop gombra. Utána a „Munkaóráim” oldalon a bejegyzés „Szerkesztés” pontjával javítsd ki a „Befejezés” idejét." + }, + { + "q": "Hogyan változtatom meg a jelszavamat?", + "a": "A felső sávban kattints a nevedre, és válaszd a „Jelszó” pontot. A vezérlőpult ezután is az első jelszót mutatja: a belépéshez az újat használd." + }, + { + "q": "Hol látom, hogy készül-e mentés?", + "a": "A vezérlőpulton, a Kimai „Adatok és mentés” fülén." + } + ] + }, + "en": { + "sections": [ + { + "title": "Add your first activity", + "intro": "In Kimai every recorded time needs a project and an activity, so first create at least one activity.", + "steps": [ + "In the menu, open the „Activities” page and select „Create”.", + "In „Name”, type the name of the activity, for example Planning or Paperwork.", + "If you leave „Project” empty, the activity can be used with every project. You cannot change this later.", + "Select „Save”." + ] + }, + { + "title": "Enter work time afterwards", + "intro": "If you forgot to start the timer, you can enter the work afterwards.", + "steps": [ + "In the „Time Tracking” menu, open the „My times” page.", + "Select „Create”.", + "Fill in „Date”, „Begin” and „End”.", + "Choose the „Project” and the „Activity”, then select „Save”." + ] + }, + { + "title": "Monthly summary and export", + "intro": "You can add up the hours worked and save them to a file as well.", + "steps": [ + "In the „Reporting” menu, choose the „Monthly view for one user” report.", + "For a file, open the „Export” page and set the month in „Time range”.", + "Select „PDF”, „Excel” or „CSV”.", + "If you tick „Mark as exported”, Kimai remembers which hours you have already handed in." + ] + }, + { + "title": "Add a family member or a co-worker", + "intro": "Everyone signs in with their own name and records their own hours.", + "steps": [ + "Open the „Users” page and select „Create”.", + "Fill in „User”, „E-mail” and „Password”.", + "Select „Save”, and give them the name and the password.", + "At their first sign-in, Kimai offers them the language and time zone settings too." + ] + } + ], + "faq": [ + { + "q": "What is the „Welcome to Kimai” page after signing in?", + "a": "At the first sign-in, Kimai walks you through a few basic settings, such as the language and the time zone. You can change them later as well." + }, + { + "q": "How do I change the language?", + "a": "In the top bar, select your name and open „Preferences”. Choose the language in „Language”, then select „Save”." + }, + { + "q": "I forgot to stop the timer. What do I do?", + "a": "In the top bar, select the red stop button. Then, on the „My times” page, use „Edit” on the entry to correct the „End” time." + }, + { + "q": "How do I change my password?", + "a": "In the top bar, select your name and choose „Password”. The dashboard still shows the first password afterwards: sign in with the new one." + }, + { + "q": "Where do I see whether backups are made?", + "a": "On the dashboard, on Kimai's „Data and backup” tab." + } + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/kimai-labels.txt b/documentation/audits/app-guides-2026-10-15/B/kimai-labels.txt new file mode 100644 index 00000000..16ade758 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/kimai-labels.txt @@ -0,0 +1,62 @@ +corpus_note: kimai/kimai@2.67.0 (397bcb7): translations/{messages,wizard,reporting}.{en,hu}.xlf, templates/, src/ (menus, forms, page actions); default UI language: browser language, Hungarian available (RedirectToLocaleSubscriber, then the user's own language setting) +guide on the box: shown +app: kimai checked against: 2.67.0 +corpora: kimai/kimai@2.67.0:translations/messages.en.xlf kimai/kimai@2.67.0:translations/messages.hu.xlf kimai/kimai@2.67.0:translations/wizard.en.xlf kimai/kimai@2.67.0:translations/wizard.hu.xlf kimai/kimai@2.67.0:translations/reporting.en.xlf kimai/kimai@2.67.0:translations/reporting.hu.xlf kimai/kimai@2.67.0:templates felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 56 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Tevékenységek” kimai/kimai@2.67.0:translations/messages.hu.xlf:107 +OK [hu] „Létrehozás” kimai/kimai@2.67.0:translations/messages.hu.xlf:27 +OK [hu] „Név” kimai/kimai@2.67.0:translations/messages.hu.xlf:159 +OK [hu] „Projekt” kimai/kimai@2.67.0:translations/messages.hu.xlf:187 +OK [hu] „Mentés” kimai/kimai@2.67.0:translations/messages.hu.xlf:919 +OK [hu] „Időrögzítés” kimai/kimai@2.67.0:translations/messages.hu.xlf:7 +OK [hu] „Munkaóráim” kimai/kimai@2.67.0:translations/messages.hu.xlf:91 +OK [hu] „Dátum” kimai/kimai@2.67.0:translations/messages.hu.xlf:131 +OK [hu] „Kezdés” kimai/kimai@2.67.0:translations/messages.hu.xlf:135 +OK [hu] „Befejezés” kimai/kimai@2.67.0:translations/messages.hu.xlf:139 +OK [hu] „Tevékenység” kimai/kimai@2.67.0:translations/messages.hu.xlf:183 +OK [hu] „Jelentések” kimai/kimai@2.67.0:translations/messages.hu.xlf:791 +OK [hu] „Egy felhasználó havi nézete” kimai/kimai@2.67.0:translations/reporting.hu.xlf:11 +OK [hu] „Exportálás” kimai/kimai@2.67.0:translations/messages.hu.xlf:623 +OK [hu] „Időtartam” kimai/kimai@2.67.0:translations/messages.hu.xlf:143 +OK [hu] „PDF” kimai/kimai@2.67.0:translations/messages.en.xlf:1119 +OK [hu] „Excel” kimai/kimai@2.67.0:translations/messages.en.xlf:1115 +OK [hu] „CSV” kimai/kimai@2.67.0:translations/messages.en.xlf:1111 +OK [hu] „Megjelőlés exportáltként” kimai/kimai@2.67.0:translations/messages.hu.xlf:831 +OK [hu] „Felhasználók” kimai/kimai@2.67.0:translations/messages.hu.xlf:111 +OK [hu] „Felhasználónév” kimai/kimai@2.67.0:translations/messages.hu.xlf:151 +OK [hu] „E-mail” kimai/kimai@2.67.0:translations/messages.en.xlf:414 +OK [hu] „Jelszó” kimai/kimai@2.67.0:translations/messages.hu.xlf:51 +OK [hu] „Üdvözöllek a Kimai-ban” kimai/kimai@2.67.0:translations/wizard.hu.xlf:23 +OK [hu] „Beállítások” kimai/kimai@2.67.0:translations/messages.hu.xlf:307 +OK [hu] „Nyelv” kimai/kimai@2.67.0:translations/messages.hu.xlf:207 +OK [hu] „Szerkesztés” kimai/kimai@2.67.0:translations/messages.hu.xlf:223 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Activities” kimai/kimai@2.67.0:translations/messages.en.xlf:215 +OK [en] „Create” kimai/kimai@2.67.0:translations/messages.en.xlf:31 +OK [en] „Name” kimai/kimai@2.67.0:translations/messages.en.xlf:327 +OK [en] „Project” kimai/kimai@2.67.0:translations/messages.en.xlf:362 +OK [en] „Save” kimai/kimai@2.67.0:translations/messages.en.xlf:119 +OK [en] „Time Tracking” kimai/kimai@2.67.0:translations/messages.en.xlf:6 +OK [en] „My times” kimai/kimai@2.67.0:translations/messages.en.xlf:195 +OK [en] „Date” kimai/kimai@2.67.0:translations/messages.en.xlf:283 +OK [en] „Begin” kimai/kimai@2.67.0:translations/messages.en.xlf:287 +OK [en] „End” kimai/kimai@2.67.0:translations/messages.en.xlf:291 +OK [en] „Activity” kimai/kimai@2.67.0:translations/messages.en.xlf:359 +OK [en] „Reporting” kimai/kimai@2.67.0:translations/messages.en.xlf:199 +OK [en] „Monthly view for one user” kimai/kimai@2.67.0:translations/reporting.en.xlf:11 +OK [en] „Export” kimai/kimai@2.67.0:translations/messages.en.xlf:1315 +OK [en] „Time range” kimai/kimai@2.67.0:translations/messages.en.xlf:507 +OK [en] „PDF” kimai/kimai@2.67.0:translations/messages.en.xlf:1119 +OK [en] „Excel” kimai/kimai@2.67.0:translations/messages.en.xlf:1115 +OK [en] „CSV” kimai/kimai@2.67.0:translations/messages.en.xlf:1111 +OK [en] „Mark as exported” kimai/kimai@2.67.0:translations/messages.en.xlf:1131 +OK [en] „Users” kimai/kimai@2.67.0:translations/messages.en.xlf:219 +OK [en] „User” kimai/kimai@2.67.0:translations/messages.en.xlf:298 +OK [en] „E-mail” kimai/kimai@2.67.0:translations/messages.en.xlf:414 +OK [en] „Password” kimai/kimai@2.67.0:translations/messages.en.xlf:126 +OK [en] „Welcome to Kimai” kimai/kimai@2.67.0:translations/wizard.en.xlf:7 +OK [en] „Preferences” kimai/kimai@2.67.0:translations/messages.en.xlf:687 +OK [en] „Language” kimai/kimai@2.67.0:translations/messages.en.xlf:407 +OK [en] „Edit” kimai/kimai@2.67.0:translations/messages.en.xlf:443 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 56 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/komga-draft.json b/documentation/audits/app-guides-2026-10-15/B/komga-draft.json new file mode 100644 index 00000000..674cf00a --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/komga-draft.json @@ -0,0 +1,103 @@ +{ + "app": "komga", + "checked_version": "1.28.0", + "corpus_note": "gotson/komga@1.28.0 (4f4099c): komga-webui/src (locales/en.json, locales/hu.json for the Hungarian meanings, views, components), komga/src/main/kotlin/.../domain/service/FileSystemScanner.kt (one folder = one series); default UI language: English (.env VUE_APP_I18N_LOCALE=en, no browser detection; Hungarian selectable in the menu)", + "hu": { + "sections": [ + {"title": "Új képregények feltöltése", + "intro": "A Komga a meghajtód media/comics mappájából olvas, ide kerülnek a fájlok.", + "steps": [ + "Másold a fájlokat (CBZ, CBR, PDF vagy EPUB) a meghajtó media/comics mappájába, például a fájlböngészővel.", + "Minden sorozatnak legyen saját mappája: a Komga egy mappát egy sorozatnak vesz.", + "A Komgában a bal oldali menüben a könyvtár neve melletti három pontra kattints, és válaszd a „Scan library files” (Könyvtári fájlok beolvasása) pontot.", + "Az új kötetek a „Home” (Főoldal) oldalon, a „Recently Added Books” (Nemrég hozzáadott könyvek) sorban jelennek meg." + ]}, + {"title": "Olvasás a böngészőben", + "intro": "A Komga megjegyzi, hol tartasz, így bármelyik eszközön folytathatod.", + "steps": [ + "A bal oldali menüben nyisd meg a „Libraries” (Könyvtárak) pontot, és válassz egy sorozatot.", + "Kattints egy kötetre, majd a „Read” (Olvasás) gombra.", + "Később a „Home” oldal „Keep Reading” (Olvasd tovább) sorában ott folytatod, ahol abbahagytad.", + "Egy kötetet kézzel is jelölhetsz: a menüjében válaszd a „Mark as read” (Olvasottnak jelölés) pontot." + ]}, + {"title": "Családtag hozzáadása", + "intro": "Mindenki a saját fiókjával olvas, így mindenkinek a saját olvasási állapota marad meg.", + "steps": [ + "A bal oldali menüben a „Server” (Szerver) csoportban nyisd meg a „Users” (Felhasználók) oldalt.", + "Kattints a plusz jelre, és töltsd ki az „Email” (E-mail-cím) és a „Password” (Jelszó) mezőt.", + "A „Roles” (Szerepek) alatt hagyd úgy a jelölőket, ahogy vannak; az „Administrator” (Adminisztrátor) pontot csak felnőttnek jelöld be.", + "Kattints az „Add” (Hozzáadás) gombra, és add át neki az e-mail-címet és a jelszót." + ]}, + {"title": "Sorozatok gyűjteménybe rendezése", + "intro": "Gyűjteménybe teheted az összetartozó sorozatokat, például egy szerző összes művét.", + "steps": [ + "Nyisd meg egy sorozat menüjét, és válaszd a „Add to collection” (Hozzáadás a gyűjteményhez) pontot.", + "A „Search or create collection” (Gyűjtemény keresése vagy létrehozása) mezőbe írj be egy nevet, majd kattints a „Create” (Létrehozás) gombra.", + "A gyűjteményeidet a könyvtár „Collections” (Gyűjtemények) lapján találod." + ]} + ], + "faq": [ + {"q": "Magyarul is tudja?", + "a": "Igen. A bal oldali menü alján, a nyelvválasztóban válaszd a magyar nyelvet. A Komga ezt böngészőnként jegyzi meg."}, + {"q": "Feltöltöttem egy fájlt, de nem látom. Miért?", + "a": "Nézd meg, hogy a fájl a media/comics mappán belül, egy sorozat mappájában van-e, és CBZ, CBR, PDF vagy EPUB-e. Utána futtasd a „Scan library files” pontot."}, + {"q": "Korlátozhatom, mit lát a gyerek?", + "a": "Igen. A „Users” oldalon a gyerek sorában válaszd az „Edit restrictions” (Korlátozások szerkesztése) pontot. Itt megadhatod, mely könyvtárakat látja, és korhatárt is állíthatsz."}, + {"q": "Mi történik, ha törlök egy kötetet a Komgában?", + "a": "A „Delete” (Törlés) a fájlt a meghajtóról is törli, és ez nem vonható vissza. Ha csak elrejtenéd, használd inkább a korlátozásokat."}, + {"q": "Olvashatok telefonon?", + "a": "Igen, a böngészőben a comics.DOMAIN címen, vagy egy OPDS-képes olvasó appal a Komga fiókoddal. Az app beállításához a pontos OPDS-címet a Komga súgója írja le."}, + {"q": "Hol látom, mi kerül mentésbe?", + "a": "A vezérlőpulton, a Komga „Adatok és mentés” fülén."} + ] + }, + "en": { + "sections": [ + {"title": "Upload new comics", + "intro": "Komga reads from the media/comics folder of your drive, so that is where the files go.", + "steps": [ + "Copy the files (CBZ, CBR, PDF or EPUB) into the drive's media/comics folder, for example with the file browser.", + "Give every series its own folder: Komga treats one folder as one series.", + "In Komga, in the menu on the left, select the three dots next to the library name and choose „Scan library files”.", + "New books show up on the „Home” page, in the „Recently Added Books” row." + ]}, + {"title": "Read in the browser", + "intro": "Komga remembers where you are, so you can go on on any device.", + "steps": [ + "In the menu on the left, open „Libraries” and choose a series.", + "Select a book, then select „Read”.", + "Later, the „Keep Reading” row on the „Home” page takes you back to where you stopped.", + "You can also mark a book by hand: in its menu, choose „Mark as read”." + ]}, + {"title": "Add a family member", + "intro": "Everyone reads with their own account, so everyone keeps their own reading progress.", + "steps": [ + "In the menu on the left, in the „Server” group, open the „Users” page.", + "Select the plus sign and fill in „Email” and „Password”.", + "Under „Roles”, leave the boxes as they are; tick „Administrator” only for an adult.", + "Select „Add”, and give them the e-mail address and the password." + ]}, + {"title": "Group series into a collection", + "intro": "You can put series that belong together into a collection, for example all the works of one author.", + "steps": [ + "Open the menu of a series and choose „Add to collection”.", + "Type a name into „Search or create collection”, then select „Create”.", + "You find your collections on the library's „Collections” tab." + ]} + ], + "faq": [ + {"q": "Does it speak Hungarian?", + "a": "Yes. At the bottom of the menu on the left, choose Hungarian in the language picker. Komga remembers it separately in each browser."}, + {"q": "I uploaded a file, but I do not see it. Why?", + "a": "Check that the file is inside the media/comics folder, in a series folder, and that it is CBZ, CBR, PDF or EPUB. Then run „Scan library files”."}, + {"q": "Can I limit what a child sees?", + "a": "Yes. On the „Users” page, in the child's row, choose „Edit restrictions”. There you set which libraries they see, and you can set an age limit too."}, + {"q": "What happens if I delete a book in Komga?", + "a": "„Delete” removes the file from the drive as well, and this cannot be undone. If you only want to hide it, use the restrictions instead."}, + {"q": "Can I read on my phone?", + "a": "Yes, in the browser at comics.DOMAIN, or in an OPDS-capable reader app with your Komga account. For setting up the app, the Komga help gives the exact OPDS address."}, + {"q": "Where do I see what is backed up?", + "a": "On the dashboard, on Komga's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/komga-labels.txt b/documentation/audits/app-guides-2026-10-15/B/komga-labels.txt new file mode 100644 index 00000000..afb17187 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/komga-labels.txt @@ -0,0 +1,48 @@ +corpus_note: gotson/komga@1.28.0 (4f4099c): komga-webui/src (locales/en.json, locales/hu.json for the Hungarian meanings, views, components), komga/src/main/kotlin/.../domain/service/FileSystemScanner.kt (one folder = one series); default UI language: English (.env VUE_APP_I18N_LOCALE=en, no browser detection; Hungarian selectable in the menu) +guide on the box: shown +app: komga checked against: 1.28.0 +corpora: gotson/komga@1.28.0:komga-webui/src/locales/en.json gotson/komga@1.28.0:komga-webui/src/views gotson/komga@1.28.0:komga-webui/src/components felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 42 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Scan library files” gotson/komga@1.28.0:komga-webui/src/locales/en.json:913 +OK [hu] „Home” gotson/komga@1.28.0:komga-webui/src/locales/en.json:931 +OK [hu] „Recently Added Books” gotson/komga@1.28.0:komga-webui/src/locales/en.json:291 +OK [hu] „Libraries” gotson/komga@1.28.0:komga-webui/src/locales/en.json:932 +OK [hu] „Read” gotson/komga@1.28.0:komga-webui/src/locales/en.json:267 +OK [hu] „Keep Reading” gotson/komga@1.28.0:komga-webui/src/locales/en.json:289 +OK [hu] „Mark as read” gotson/komga@1.28.0:komga-webui/src/locales/en.json:34 +OK [hu] „Server” gotson/komga@1.28.0:komga-webui/src/locales/en.json:981 +OK [hu] „Users” gotson/komga@1.28.0:komga-webui/src/locales/en.json:1080 +OK [hu] „Email” gotson/komga@1.28.0:komga-webui/src/locales/en.json:40 +OK [hu] „Password” gotson/komga@1.28.0:komga-webui/src/locales/en.json:262 +OK [hu] „Roles” gotson/komga@1.28.0:komga-webui/src/locales/en.json:275 +OK [hu] „Administrator” gotson/komga@1.28.0:komga-webui/src/locales/en.json:1013 +OK [hu] „Add” gotson/komga@1.28.0:komga-webui/src/locales/en.json:347 +OK [hu] „Add to collection” gotson/komga@1.28.0:komga-webui/src/locales/en.json:332 +OK [hu] „Search or create collection” gotson/komga@1.28.0:komga-webui/src/locales/en.json:333 +OK [hu] „Create” gotson/komga@1.28.0:komga-webui/src/locales/en.json:226 +OK [hu] „Collections” gotson/komga@1.28.0:komga-webui/src/locales/en.json:224 +OK [hu] „Edit restrictions” gotson/komga@1.28.0:komga-webui/src/locales/en.json:1009 +OK [hu] „Delete” gotson/komga@1.28.0:komga-webui/src/locales/en.json:227 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Scan library files” gotson/komga@1.28.0:komga-webui/src/locales/en.json:913 +OK [en] „Home” gotson/komga@1.28.0:komga-webui/src/locales/en.json:931 +OK [en] „Recently Added Books” gotson/komga@1.28.0:komga-webui/src/locales/en.json:291 +OK [en] „Libraries” gotson/komga@1.28.0:komga-webui/src/locales/en.json:932 +OK [en] „Read” gotson/komga@1.28.0:komga-webui/src/locales/en.json:267 +OK [en] „Keep Reading” gotson/komga@1.28.0:komga-webui/src/locales/en.json:289 +OK [en] „Mark as read” gotson/komga@1.28.0:komga-webui/src/locales/en.json:34 +OK [en] „Server” gotson/komga@1.28.0:komga-webui/src/locales/en.json:981 +OK [en] „Users” gotson/komga@1.28.0:komga-webui/src/locales/en.json:1080 +OK [en] „Email” gotson/komga@1.28.0:komga-webui/src/locales/en.json:40 +OK [en] „Password” gotson/komga@1.28.0:komga-webui/src/locales/en.json:262 +OK [en] „Roles” gotson/komga@1.28.0:komga-webui/src/locales/en.json:275 +OK [en] „Administrator” gotson/komga@1.28.0:komga-webui/src/locales/en.json:1013 +OK [en] „Add” gotson/komga@1.28.0:komga-webui/src/locales/en.json:347 +OK [en] „Add to collection” gotson/komga@1.28.0:komga-webui/src/locales/en.json:332 +OK [en] „Search or create collection” gotson/komga@1.28.0:komga-webui/src/locales/en.json:333 +OK [en] „Create” gotson/komga@1.28.0:komga-webui/src/locales/en.json:226 +OK [en] „Collections” gotson/komga@1.28.0:komga-webui/src/locales/en.json:224 +OK [en] „Edit restrictions” gotson/komga@1.28.0:komga-webui/src/locales/en.json:1009 +OK [en] „Delete” gotson/komga@1.28.0:komga-webui/src/locales/en.json:227 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 42 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/loader-check-all.txt b/documentation/audits/app-guides-2026-10-15/B/loader-check-all.txt new file mode 100644 index 00000000..4da23ece --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/loader-check-all.txt @@ -0,0 +1,65 @@ +# All SHOWN catalog guides through felhom-controller's own loader (v0.317.0 source 123d2d5); catalog cb98c44 +actualbudget: rendered=true checked="26.9.0" sections=4 faq=5 | en: sections=4 faq=5 first="Load a bank statement" extras=0/0 +adventurelog: rendered=true checked="v0.13.0" sections=4 faq=5 | en: sections=4 faq=5 first="Plan a trip" extras=0/0 +audiobookshelf: rendered=true checked="2.37.1" sections=4 faq=5 | en: sections=4 faq=5 first="Upload an audiobook" extras=0/0 +bentopdf: rendered=true checked="v2.8.6" sections=4 faq=5 | en: sections=4 faq=5 first="Merge several PDFs into one" extras=0/0 +bookstack: rendered=true checked="26.09.1" sections=4 faq=5 | en: sections=4 faq=5 first="Add a family member" extras=0/0 +calcom: rendered=true checked="v6.2.0" sections=4 faq=5 | en: sections=4 faq=5 first="When people can book you" extras=0/0 +calibre-web: rendered=true checked="v4.0.8" sections=4 faq=5 | en: sections=4 faq=5 first="Upload a book from the browser" extras=0/0 +claper: rendered=true checked="2.5" sections=4 faq=5 | en: sections=4 faq=5 first="A poll in your presentation" extras=0/0 +code-server: rendered=true checked="4.129.0" sections=4 faq=5 | en: sections=4 faq=5 first="Upload and download files" extras=0/0 +crafty-controller: rendered=true checked="4.11.0" sections=4 faq=5 | en: sections=4 faq=5 first="Start and stop the server" extras=0/0 +dawarich: rendered=true checked="1.15.3" sections=4 faq=5 | en: sections=4 faq=5 first="Load your old location history" extras=0/0 +docmost: rendered=true checked="0.96.0" sections=4 faq=5 | en: sections=4 faq=5 first="Invite a family member" extras=0/0 +ghost: rendered=true checked="6.67.0-alpine" sections=4 faq=5 | en: sections=4 faq=5 first="A post with pictures" extras=0/0 +gitea: rendered=true checked="1.27.3" sections=4 faq=5 | en: sections=4 faq=5 first="Bring over an existing project" extras=0/0 +glance: rendered=true checked="v0.8.5" sections=3 faq=5 | en: sections=3 faq=5 first="Read the weather" extras=0/0 +gokapi: rendered=true checked="v1.9.6" sections=4 faq=5 | en: sections=4 faq=5 first="Share with a password" extras=0/0 +grafana: rendered=true checked="13.2.3" sections=4 faq=5 | en: sections=4 faq=5 first="Set your own password" extras=0/0 +gramps-web: rendered=true checked="v25.6.0" sections=4 faq=5 | en: sections=4 faq=5 first="Invite a family member" extras=0/0 +grimmory: rendered=true checked="v3.5.0" sections=4 faq=5 | en: sections=4 faq=5 first="Books from the folder to read in" extras=0/0 +grocy: rendered=true checked="4.7.1" sections=4 faq=5 | en: sections=4 faq=5 first="After shopping" extras=0/0 +homebox: rendered=true checked="0.26.2" sections=4 faq=5 | en: sections=4 faq=5 first="Invite a family member" extras=0/0 +homepage: rendered=true checked="v1.13.2" sections=4 faq=5 | en: sections=4 faq=5 first="Search from the start page" extras=0/0 +immich: rendered=true checked="v3.2.4" sections=4 faq=6 | en: sections=4 faq=6 first="Make your first album" extras=0/0 +jellyfin: rendered=true checked="10.11.11" sections=4 faq=5 | en: sections=4 faq=5 first="Add a family member" extras=0/0 +karakeep: rendered=true checked="0.33.2" sections=4 faq=5 | en: sections=4 faq=5 first="An account for a family member" extras=0/0 +kimai: rendered=true checked="2.67.0" sections=4 faq=5 | en: sections=4 faq=5 first="Add your first activity" extras=0/0 +komga: rendered=true checked="1.28.0" sections=4 faq=6 | en: sections=4 faq=6 first="Upload new comics" extras=0/0 +lubelogger: rendered=true checked="v1.7.3" sections=4 faq=5 | en: sections=4 faq=5 first="Set up the tabs and the units" extras=0/0 +mealie: rendered=true checked="v3.28.0" sections=4 faq=5 | en: sections=4 faq=5 first="Type in a recipe by hand" extras=0/0 +metube: rendered=true checked="2026.09.29" sections=4 faq=5 | en: sections=4 faq=5 first="Download only the audio" extras=0/0 +n8n: rendered=true checked="2.42.1" sections=3 faq=5 | en: sections=3 faq=5 first="Your first scheduled workflow" extras=0/0 +navidrome: rendered=true checked="0.64.2" sections=4 faq=5 | en: sections=4 faq=5 first="Add your music" extras=0/0 +nextcloud: rendered=true checked="34.0.4-apache" sections=4 faq=5 | en: sections=4 faq=5 first="Upload files from the browser" extras=0/0 +nzbget: rendered=true checked="v26.3" sections=4 faq=5 | en: sections=4 faq=5 first="Add an NZB file" extras=0/0 +onlyoffice: rendered=true checked="9.4.0" sections=3 faq=6 | en: sections=3 faq=6 first="Edit in the File manager" extras=0/0 +opengist: rendered=true checked="1.15" sections=4 faq=5 | en: sections=4 faq=5 first="Save a private note" extras=0/0 +outline: rendered=true checked="1.10.1" sections=4 faq=5 | en: sections=4 faq=5 first="Add a passkey for signing in later" extras=0/0 +paperless-ngx: rendered=true checked="2.20.15" sections=4 faq=5 | en: sections=4 faq=5 first="Find a document" extras=0/0 +papra: rendered=true checked="26.6.2-rootless" sections=4 faq=5 | en: sections=4 faq=5 first="Tag a document" extras=0/0 +plex: rendered=true checked="1.41.4.9463-630c9f557" sections=4 faq=6 | en: sections=4 faq=6 first="Watch on a TV or a phone" extras=0/0 +privatebin: rendered=true checked="2.0.6" sections=4 faq=5 | en: sections=4 faq=5 first="A message that can be read once" extras=0/0 +prowlarr: rendered=true checked="version-2.6.5.5623" sections=4 faq=5 | en: sections=4 faq=5 first="Add your first source" extras=0/0 +qbittorrent: rendered=true checked="5.2.4-1" sections=4 faq=5 | en: sections=4 faq=5 first="Add a torrent" extras=0/0 +radarr: rendered=true checked="6.4.4" sections=4 faq=6 | en: sections=4 faq=6 first="Add your first film" extras=0/0 +radicale: rendered=true checked="3.8.1" sections=4 faq=5 | en: sections=4 faq=5 first="A calendar for every family member" extras=0/0 +rallly: rendered=true checked="4.15.3" sections=4 faq=5 | en: sections=4 faq=5 first="Choose the final date" extras=0/0 +recipe-importer: rendered=true checked="v0.9.11" sections=4 faq=5 | en: sections=4 faq=5 first="Many recipes at once" extras=0/0 +romm: rendered=true checked="5.3.1" sections=4 faq=5 | en: sections=4 faq=5 first="Play in the browser" extras=0/0 +sabnzbd: rendered=true checked="version-5.1.3" sections=4 faq=5 | en: sections=4 faq=5 first="Add an NZB file" extras=0/0 +seerr: rendered=true checked="2.7.3" sections=4 faq=5 | en: sections=4 faq=5 first="Ask for a film or a series" extras=0/0 +sonarr: rendered=true checked="4.0.20" sections=4 faq=6 | en: sections=4 faq=6 first="Add your first series" extras=0/0 +sparkyfitness: rendered=true checked="v0.17.3" sections=4 faq=5 | en: sections=4 faq=5 first="Log a food" extras=0/0 +tandoor: rendered=true checked="2.6.15" sections=4 faq=5 | en: sections=4 faq=5 first="A shopping list from a recipe" extras=0/0 +termix: rendered=true checked="2.8.0" sections=4 faq=5 | en: sections=4 faq=5 first="Save a server" extras=0/0 +transmission: rendered=true checked="version-4.1.3-r0" sections=4 faq=5 | en: sections=4 faq=5 first="Add a torrent" extras=0/0 +uptime-kuma: rendered=true checked="2.5.5" sections=4 faq=5 | en: sections=4 faq=5 first="Announce maintenance" extras=0/0 +vaultwarden: rendered=true checked="1.37.4-alpine" sections=4 faq=5 | en: sections=4 faq=5 first="Connect the Bitwarden extension and app to your box" extras=0/0 +vikunja: rendered=true checked="2.6.0" sections=4 faq=5 | en: sections=4 faq=5 first="Add a task quickly" extras=0/0 +wanderer: rendered=true checked="v0.20.0" sections=4 faq=5 | en: sections=4 faq=5 first="Record a finished hike" extras=0/0 +wger: rendered=true checked="2.7" sections=4 faq=5 | en: sections=4 faq=5 first="Log your body weight" extras=0/0 +wishlist: rendered=true checked="v0.67.1" sections=4 faq=5 | en: sections=4 faq=5 first="Add a wish from a web shop link" extras=0/0 +zipline: rendered=true checked="4.8.0" sections=4 faq=5 | en: sections=4 faq=5 first="Send a file with a link" extras=0/0 +--- PASS: TestScratch_RealCatalogGuides (0.08s) +ok gitea.dooplex.hu/admin/felhom-controller/internal/stacks 0.089s diff --git a/documentation/audits/app-guides-2026-10-15/B/lubelogger-draft.json b/documentation/audits/app-guides-2026-10-15/B/lubelogger-draft.json new file mode 100644 index 00000000..0bde92ce --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/lubelogger-draft.json @@ -0,0 +1,141 @@ +{ + "app": "lubelogger", + "checked_version": "v1.7.3", + "corpus_note": "hargata/lubelog@v1.7.3 (dd69e59): Views/**/*.cshtml (each given to labelcheck as a file, since .cshtml is not in its extension list), appsettings.json, Models/Settings/UserConfig.cs, Helper/ConfigHelper.cs; default UI language: English (UserLanguage en_US; the hu_HU pack is downloaded from outside the repo, so its labels are not checkable here)", + "hu": { + "sections": [ + { + "title": "Fülek és mértékegységek beállítása", + "intro": "Frissen telepítve az autó oldalán csak a „Dashboard” (Áttekintés) fül látszik, és a LubeLogger mérföldben és gallonban számol.", + "steps": [ + "Nyisd meg a „Settings” (Beállítások) fület.", + "A „Visible Tabs” (látható fülek) alatt jelöld be, amire szükséged van, például a „Service Records” (szervizek), a „Fuel” (tankolás) és a „Reminder” (emlékeztető) pontot.", + "Kapcsold ki a „Use Imperial Calculation for Fuel Economy Calculations(MPG)” kapcsolót: így kilométerben és literben számol.", + "A változást a LubeLogger azonnal menti, nincs külön mentés gomb." + ] + }, + { + "title": "Szerviz rögzítése számlával", + "intro": "Minden szerviz egy sor a listában, a számla fotója pedig mellette marad.", + "steps": [ + "A „Garage” (Garázs) fülön kattints az autóra, majd nyisd meg a „Service Records” fület.", + "Kattints az „Add Service Record” (szerviz hozzáadása) gombra.", + "Töltsd ki a „Date” (dátum), az „Odometer” (km-óra), a „Description” (leírás) és a „Cost” (költség) mezőt.", + "A számlát az „Upload documents(optional)” (dokumentum feltöltése) résznél csatolhatod.", + "Kattints az „Add New Service Record” gombra." + ] + }, + { + "title": "Tankolás rögzítése", + "intro": "A tankolásokból a LubeLogger kiszámolja a valódi fogyasztást.", + "steps": [ + "Az autó „Fuel” fülén kattints az „Add Gas Record” (tankolás hozzáadása) gombra.", + "Add meg a „Date”, az „Odometer Reading” (km-óra állás), a „Fuel Consumption” (tankolt mennyiség) és a „Cost” mezőt.", + "Ha tele tankoltál, hagyd bekapcsolva az „Is Filled To Full” (tele tank) kapcsolót. Ha egy tankolást kihagytál a rögzítésből, kapcsold be a „Missed Fuel Up(Skip MPG Calculation)” kapcsolót.", + "Kattints az „Add New Gas Record” gombra. Az átlagfogyasztást a fülön az „Average Fuel Economy” (átlagfogyasztás) mutatja." + ] + }, + { + "title": "Emlékeztető az olajcseréhez vagy a műszakihoz", + "intro": "Az emlékeztető dátumra, kilométerre vagy arra figyel, amelyik előbb jön.", + "steps": [ + "Az autó „Reminders” (emlékeztetők) fülén kattints az „Add Reminder” gombra.", + "A „Reminder Description” (leírás) mezőbe írd be, mire emlékeztessen, például olajcsere.", + "A „Remind me on” (mikor) résznél válaszd a „Date”, az „Odometer” vagy a „Whichever comes first” (amelyik előbb jön) lehetőséget, és add meg az értéket.", + "Ismétlődő teendőhöz kapcsold be az „Is Recurring” (ismétlődő) kapcsolót.", + "Kattints az „Add New Reminder” gombra." + ] + } + ], + "faq": [ + { + "q": "A családtagom nem látja az autót. Miért?", + "a": "Az autót csak az látja, akit hozzáadsz. Az autó „Dashboard” fülén, a „Collaborators” (közreműködők) résznél az ember ikonnal add meg a felhasználónevét." + }, + { + "q": "Hol látom, mi jár le hamarosan?", + "a": "Az autó „Reminders” fülén, ahol minden emlékeztető sürgősség szerint látszik: „Not Urgent”, „Urgent”, „Very Urgent” vagy „Past Due”." + }, + { + "q": "Mekkora fájlt csatolhatok?", + "a": "Egy fájl legfeljebb 28,6 MB lehet. Egy telefonnal fotózott számla bőven belefér." + }, + { + "q": "Mennyibe kerül az autó?", + "a": "Az autó „Dashboard” fülén a „Total Cost” (összes költség) mutatja, az „Expenses by Type” (költségek típus szerint) pedig típus szerint bontja." + }, + { + "q": "Hol látom, hogy készül-e mentés?", + "a": "A vezérlőpulton, a LubeLogger „Adatok és mentés” fülén." + } + ] + }, + "en": { + "sections": [ + { + "title": "Set up the tabs and the units", + "intro": "On a fresh install the car's page shows only the „Dashboard” tab, and LubeLogger counts in miles and gallons.", + "steps": [ + "Open the „Settings” tab.", + "Under „Visible Tabs”, tick what you need, for example „Service Records”, „Fuel” and „Reminder”.", + "Switch off „Use Imperial Calculation for Fuel Economy Calculations(MPG)”: it then counts in kilometres and litres.", + "LubeLogger saves the change at once; there is no separate save button." + ] + }, + { + "title": "Record a service with its invoice", + "intro": "Every service is one line in the list, and the photo of the invoice stays next to it.", + "steps": [ + "On the „Garage” tab, select the car, then open the „Service Records” tab.", + "Select „Add Service Record”.", + "Fill in „Date”, „Odometer”, „Description” and „Cost”.", + "Attach the invoice under „Upload documents(optional)”.", + "Select „Add New Service Record”." + ] + }, + { + "title": "Record a fuel-up", + "intro": "From the fuel-ups, LubeLogger works out the real consumption.", + "steps": [ + "On the car's „Fuel” tab, select „Add Gas Record”.", + "Fill in „Date”, „Odometer Reading”, „Fuel Consumption” and „Cost”.", + "If you filled the tank, leave „Is Filled To Full” switched on. If you left a fuel-up out of the records, switch on „Missed Fuel Up(Skip MPG Calculation)”.", + "Select „Add New Gas Record”. The tab shows the average consumption as „Average Fuel Economy”." + ] + }, + { + "title": "A reminder for the oil change or the inspection", + "intro": "A reminder watches a date, a distance, or whichever comes first.", + "steps": [ + "On the car's „Reminders” tab, select „Add Reminder”.", + "In „Reminder Description”, type what it should remind you of, for example oil change.", + "Under „Remind me on”, choose „Date”, „Odometer” or „Whichever comes first”, and enter the value.", + "For a task that comes back, switch on „Is Recurring”.", + "Select „Add New Reminder”." + ] + } + ], + "faq": [ + { + "q": "My family member does not see the car. Why?", + "a": "Only the people you add see the car. On the car's „Dashboard” tab, in the „Collaborators” part, use the person icon and enter their user name." + }, + { + "q": "Where do I see what is due soon?", + "a": "On the car's „Reminders” tab, where every reminder shows its urgency: „Not Urgent”, „Urgent”, „Very Urgent” or „Past Due”." + }, + { + "q": "How large a file can I attach?", + "a": "One file can be at most 28.6 MB. An invoice photographed with a phone fits easily." + }, + { + "q": "What does the car cost?", + "a": "On the car's „Dashboard” tab, „Total Cost” shows it, and „Expenses by Type” splits it by type." + }, + { + "q": "Where do I see whether backups are made?", + "a": "On the dashboard, on LubeLogger's „Data and backup” tab." + } + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/lubelogger-labels.txt b/documentation/audits/app-guides-2026-10-15/B/lubelogger-labels.txt new file mode 100644 index 00000000..a8efb400 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/lubelogger-labels.txt @@ -0,0 +1,80 @@ +corpus_note: hargata/lubelog@v1.7.3 (dd69e59): Views/**/*.cshtml (each given to labelcheck as a file, since .cshtml is not in its extension list), appsettings.json, Models/Settings/UserConfig.cs, Helper/ConfigHelper.cs; default UI language: English (UserLanguage en_US; the hu_HU pack is downloaded from outside the repo, so its labels are not checkable here) +guide on the box: shown +app: lubelogger checked against: v1.7.3 +corpora: hargata/lubelog@v1.7.3:Views/API/Index.cshtml hargata/lubelog@v1.7.3:Views/Admin/Index.cshtml hargata/lubelog@v1.7.3:Views/Admin/_AdminUserHouseholdModal.cshtml hargata/lubelog@v1.7.3:Views/Admin/_Tokens.cshtml hargata/lubelog@v1.7.3:Views/Admin/_Users.cshtml hargata/lubelog@v1.7.3:Views/Error/401.cshtml hargata/lubelog@v1.7.3:Views/Error/403.cshtml hargata/lubelog@v1.7.3:Views/Error/404.cshtml hargata/lubelog@v1.7.3:Views/Error/500.cshtml hargata/lubelog@v1.7.3:Views/Files/_AttachmentPreview.cshtml hargata/lubelog@v1.7.3:Views/Home/Index.cshtml hargata/lubelog@v1.7.3:Views/Home/Setup.cshtml hargata/lubelog@v1.7.3:Views/Home/_AccountModal.cshtml hargata/lubelog@v1.7.3:Views/Home/_Calendar.cshtml hargata/lubelog@v1.7.3:Views/Home/_CreateApiKeyModal.cshtml hargata/lubelog@v1.7.3:Views/Home/_ExtraFields.cshtml hargata/lubelog@v1.7.3:Views/Home/_GarageDisplay.cshtml hargata/lubelog@v1.7.3:Views/Home/_LocaleSample.cshtml hargata/lubelog@v1.7.3:Views/Home/_NotificationServiceConfig.cshtml hargata/lubelog@v1.7.3:Views/Home/_ReminderRecordCalendarModal.cshtml hargata/lubelog@v1.7.3:Views/Home/_RootAccountModal.cshtml hargata/lubelog@v1.7.3:Views/Home/_Settings.cshtml hargata/lubelog@v1.7.3:Views/Home/_Sponsors.cshtml hargata/lubelog@v1.7.3:Views/Home/_TranslationEditor.cshtml hargata/lubelog@v1.7.3:Views/Home/_Translations.cshtml hargata/lubelog@v1.7.3:Views/Home/_UserApiKeysModal.cshtml hargata/lubelog@v1.7.3:Views/Home/_UserHouseholdModal.cshtml hargata/lubelog@v1.7.3:Views/Home/_VehicleExtraFields.cshtml hargata/lubelog@v1.7.3:Views/Home/_VehicleSelector.cshtml hargata/lubelog@v1.7.3:Views/Home/_VehicleSelectorOdometer.cshtml hargata/lubelog@v1.7.3:Views/Home/_WidgetEditor.cshtml hargata/lubelog@v1.7.3:Views/Kiosk/Index.cshtml hargata/lubelog@v1.7.3:Views/Kiosk/_Kiosk.cshtml hargata/lubelog@v1.7.3:Views/Kiosk/_KioskPlan.cshtml hargata/lubelog@v1.7.3:Views/Kiosk/_KioskPlanRecordItem.cshtml hargata/lubelog@v1.7.3:Views/Kiosk/_KioskReminder.cshtml hargata/lubelog@v1.7.3:Views/Kiosk/_KioskVehicleInfo.cshtml hargata/lubelog@v1.7.3:Views/Login/ForgotPassword.cshtml hargata/lubelog@v1.7.3:Views/Login/Index.cshtml hargata/lubelog@v1.7.3:Views/Login/OpenIDRegistration.cshtml hargata/lubelog@v1.7.3:Views/Login/Registration.cshtml hargata/lubelog@v1.7.3:Views/Login/RemoteAuthDebug.cshtml hargata/lubelog@v1.7.3:Views/Login/ResetPassword.cshtml hargata/lubelog@v1.7.3:Views/Migration/Index.cshtml hargata/lubelog@v1.7.3:Views/Shared/Error.cshtml hargata/lubelog@v1.7.3:Views/Shared/_Layout.cshtml hargata/lubelog@v1.7.3:Views/Shared/_UserColumnPreferences.cshtml hargata/lubelog@v1.7.3:Views/Shared/_ValidationScriptsPartial.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Collision/_CollisionRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Collision/_CollisionRecords.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Equipment/_EquipmentRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Equipment/_EquipmentRecords.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Equipment/_EquipmentSelector.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_Gas.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasRecordsModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Index.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Inspection/_InspectionRecordField.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Inspection/_InspectionRecordFieldOption.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Inspection/_InspectionRecordFieldOptions.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Inspection/_InspectionRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Inspection/_InspectionRecordTemplateEditModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Inspection/_InspectionRecordTemplateSelector.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Inspection/_InspectionRecordViewModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Inspection/_InspectionRecords.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Note/_NoteModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Note/_Notes.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Odometer/_OdometerHistory.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Odometer/_OdometerRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Odometer/_OdometerRecords.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Odometer/_OdometerRecordsModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Plan/_PlanOrderSupplies.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Plan/_PlanRecordItem.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Plan/_PlanRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Plan/_PlanRecordTemplateEditModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Plan/_PlanRecordTemplateModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Plan/_PlanRecords.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecords.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_Collaborators.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_CostDistanceTableReport.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_CostMakeUpReport.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_CostTableReport.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_GasCostByMonthReport.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_ImportModeSelector.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_MPGByMonthReport.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_MapSearchResult.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_ReminderMakeUpReport.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_Report.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_ReportHeader.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_ReportParameters.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_ReportWidgets.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_VehicleHistory.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Report/_VehicleImageMap.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Service/_ServiceRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Service/_ServiceRecords.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Supply/_SupplyRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Supply/_SupplyRecords.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Supply/_SupplyRequisitionHistory.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Supply/_SupplyStore.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Supply/_SupplyUsage.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Tax/_TaxRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Tax/_TaxRecords.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Upgrade/_UpgradeRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/Upgrade/_UpgradeRecords.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_AttachmentColumn.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_BulkDataImporter.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_CSVExportParameters.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_ExtraField.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_ExtraFieldMultiple.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_FileUploader.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_FilesToUpload.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_GenericRecordModal.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_GlobalSearchResult.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_RecurringReminderSelector.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_Stickers.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_UploadedFiles.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_UserCollaborators.cshtml hargata/lubelog@v1.7.3:Views/Vehicle/_VehicleModal.cshtml hargata/lubelog@v1.7.3:Views/_ViewImports.cshtml hargata/lubelog@v1.7.3:Views/_ViewStart.cshtml felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 74 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Dashboard” hargata/lubelog@v1.7.3:Views/Home/_GarageDisplay.cshtml:120 +OK [hu] „Settings” hargata/lubelog@v1.7.3:Views/Home/Index.cshtml:62 +OK [hu] „Visible Tabs” hargata/lubelog@v1.7.3:Views/Home/_Settings.cshtml:222 +OK [hu] „Service Records” hargata/lubelog@v1.7.3:Views/Home/_GarageDisplay.cshtml:129 +OK [hu] „Fuel” hargata/lubelog@v1.7.3:Views/Home/_ExtraFields.cshtml:25 +OK [hu] „Reminder” hargata/lubelog@v1.7.3:Views/Home/_Settings.cshtml:273 +OK [hu] „Use Imperial Calculation for Fuel Economy Calculations(MPG)” hargata/lubelog@v1.7.3:Views/Home/_Settings.cshtml:101 +OK [hu] „Garage” hargata/lubelog@v1.7.3:Views/Home/Index.cshtml:9 +OK [hu] „Add Service Record” hargata/lubelog@v1.7.3:Views/Vehicle/Service/_ServiceRecords.cshtml:39 +OK [hu] „Date” hargata/lubelog@v1.7.3:Views/Home/_ExtraFields.cshtml:63 +OK [hu] „Odometer” hargata/lubelog@v1.7.3:Views/Home/_ExtraFields.cshtml:29 +OK [hu] „Description” hargata/lubelog@v1.7.3:Views/Home/_ReminderRecordCalendarModal.cshtml:21 +OK [hu] „Cost” hargata/lubelog@v1.7.3:Views/Kiosk/_KioskVehicleInfo.cshtml:60 +OK [hu] „Upload documents(optional)” hargata/lubelog@v1.7.3:Views/Vehicle/_FileUploader.cshtml:10 +OK [hu] „Add New Service Record” hargata/lubelog@v1.7.3:Views/Vehicle/Service/_ServiceRecordModal.cshtml:11 +OK [hu] „Add Gas Record” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_Gas.cshtml:90 +OK [hu] „Odometer Reading” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml:57 +OK [hu] „Fuel Consumption” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml:67 +OK [hu] „Is Filled To Full” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml:71 +OK [hu] „Missed Fuel Up(Skip MPG Calculation)” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml:87 +OK [hu] „Add New Gas Record” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml:43 +OK [hu] „Average Fuel Economy” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_Gas.cshtml:62 +OK [hu] „Reminders” hargata/lubelog@v1.7.3:Views/Home/_GarageDisplay.cshtml:156 +OK [hu] „Add Reminder” hargata/lubelog@v1.7.3:Views/Vehicle/Collision/_CollisionRecordModal.cshtml:65 +OK [hu] „Reminder Description” hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml:34 +OK [hu] „Remind me on” hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml:35 +OK [hu] „Whichever comes first” hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml:59 +OK [hu] „Is Recurring” hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml:76 +OK [hu] „Add New Reminder” hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml:24 +OK [hu] „Collaborators” hargata/lubelog@v1.7.3:Views/Vehicle/Report/_Collaborators.cshtml:10 +OK [hu] „Not Urgent” hargata/lubelog@v1.7.3:Views/Home/Setup.cshtml:349 +OK [hu] „Urgent” hargata/lubelog@v1.7.3:Views/Home/Setup.cshtml:352 +OK [hu] „Very Urgent” hargata/lubelog@v1.7.3:Views/Home/Setup.cshtml:357 +OK [hu] „Past Due” hargata/lubelog@v1.7.3:Views/Home/Setup.cshtml:361 +OK [hu] „Total Cost” hargata/lubelog@v1.7.3:Views/Kiosk/_KioskVehicleInfo.cshtml:22 +OK [hu] „Expenses by Type” hargata/lubelog@v1.7.3:Views/Vehicle/Report/_CostMakeUpReport.cshtml:55 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Dashboard” hargata/lubelog@v1.7.3:Views/Home/_GarageDisplay.cshtml:120 +OK [en] „Settings” hargata/lubelog@v1.7.3:Views/Home/Index.cshtml:62 +OK [en] „Visible Tabs” hargata/lubelog@v1.7.3:Views/Home/_Settings.cshtml:222 +OK [en] „Service Records” hargata/lubelog@v1.7.3:Views/Home/_GarageDisplay.cshtml:129 +OK [en] „Fuel” hargata/lubelog@v1.7.3:Views/Home/_ExtraFields.cshtml:25 +OK [en] „Reminder” hargata/lubelog@v1.7.3:Views/Home/_Settings.cshtml:273 +OK [en] „Use Imperial Calculation for Fuel Economy Calculations(MPG)” hargata/lubelog@v1.7.3:Views/Home/_Settings.cshtml:101 +OK [en] „Garage” hargata/lubelog@v1.7.3:Views/Home/Index.cshtml:9 +OK [en] „Add Service Record” hargata/lubelog@v1.7.3:Views/Vehicle/Service/_ServiceRecords.cshtml:39 +OK [en] „Date” hargata/lubelog@v1.7.3:Views/Home/_ExtraFields.cshtml:63 +OK [en] „Odometer” hargata/lubelog@v1.7.3:Views/Home/_ExtraFields.cshtml:29 +OK [en] „Description” hargata/lubelog@v1.7.3:Views/Home/_ReminderRecordCalendarModal.cshtml:21 +OK [en] „Cost” hargata/lubelog@v1.7.3:Views/Kiosk/_KioskVehicleInfo.cshtml:60 +OK [en] „Upload documents(optional)” hargata/lubelog@v1.7.3:Views/Vehicle/_FileUploader.cshtml:10 +OK [en] „Add New Service Record” hargata/lubelog@v1.7.3:Views/Vehicle/Service/_ServiceRecordModal.cshtml:11 +OK [en] „Add Gas Record” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_Gas.cshtml:90 +OK [en] „Odometer Reading” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml:57 +OK [en] „Fuel Consumption” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml:67 +OK [en] „Is Filled To Full” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml:71 +OK [en] „Missed Fuel Up(Skip MPG Calculation)” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml:87 +OK [en] „Add New Gas Record” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_GasModal.cshtml:43 +OK [en] „Average Fuel Economy” hargata/lubelog@v1.7.3:Views/Vehicle/Gas/_Gas.cshtml:62 +OK [en] „Reminders” hargata/lubelog@v1.7.3:Views/Home/_GarageDisplay.cshtml:156 +OK [en] „Add Reminder” hargata/lubelog@v1.7.3:Views/Vehicle/Collision/_CollisionRecordModal.cshtml:65 +OK [en] „Reminder Description” hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml:34 +OK [en] „Remind me on” hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml:35 +OK [en] „Whichever comes first” hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml:59 +OK [en] „Is Recurring” hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml:76 +OK [en] „Add New Reminder” hargata/lubelog@v1.7.3:Views/Vehicle/Reminder/_ReminderRecordModal.cshtml:24 +OK [en] „Collaborators” hargata/lubelog@v1.7.3:Views/Vehicle/Report/_Collaborators.cshtml:10 +OK [en] „Not Urgent” hargata/lubelog@v1.7.3:Views/Home/Setup.cshtml:349 +OK [en] „Urgent” hargata/lubelog@v1.7.3:Views/Home/Setup.cshtml:352 +OK [en] „Very Urgent” hargata/lubelog@v1.7.3:Views/Home/Setup.cshtml:357 +OK [en] „Past Due” hargata/lubelog@v1.7.3:Views/Home/Setup.cshtml:361 +OK [en] „Total Cost” hargata/lubelog@v1.7.3:Views/Kiosk/_KioskVehicleInfo.cshtml:22 +OK [en] „Expenses by Type” hargata/lubelog@v1.7.3:Views/Vehicle/Report/_CostMakeUpReport.cshtml:55 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 74 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/mealie-draft.json b/documentation/audits/app-guides-2026-10-15/B/mealie-draft.json new file mode 100644 index 00000000..07e20634 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/mealie-draft.json @@ -0,0 +1,99 @@ +{ + "app": "mealie", + "checked_version": "v3.28.0", + "corpus_note": "mealie-recipes/mealie@v3.28.0 (0552eaa): frontend/app/lang/messages/en-US.json and hu-HU.json, frontend/app/{pages,components,layouts}, mealie/routes/users/registration.py (invite token works with ALLOW_SIGNUP=false); default UI language: browser language, Hungarian available (nuxt i18n detectBrowserLanguage, fallback en-US)", + "hu": { + "sections": [ + {"title": "Recept beírása kézzel", + "intro": "Ha egy recept nincs fent a neten, például a nagymamáé, kézzel is felviheted.", + "steps": [ + "Kattints a „Létrehozás” gombra, és válaszd a „Recept kézi létrehozása” lehetőséget.", + "Írd be a „Recept neve” mezőt, és kattints a „Létrehozás” gombra.", + "Töltsd ki a „Hozzávalók” és az „Elkészítés” részt.", + "Kattints a „Mentés” gombra." + ]}, + {"title": "Bevásárlólista egy receptből", + "intro": "A recept hozzávalóit egy kattintással a bevásárlólistára teheted.", + "steps": [ + "Nyisd meg a „Bevásárlólisták” oldalt, kattints a „Létrehozás” gombra, és az „Új lista” mezőben adj nevet a listának.", + "Nyisd meg a receptet, és a menüjében válaszd a „Hozzáadás listához” pontot.", + "Válaszd ki a listát, majd kattints a „Hozzáadás listához” gombra.", + "A boltban a telefonon nyisd meg a listát, és pipáld ki, ami már a kosárban van." + ]}, + {"title": "A heti menü bevásárlólistája", + "intro": "Ha már megtervezted a hetet, a teljes bevásárlást egyszerre összeállíthatod.", + "steps": [ + "Nyisd meg a „Menütervező” oldalt.", + "A menüben válaszd az „Összes hozzáadása a listához” pontot, és válaszd ki a listát.", + "Csak egy napot is hozzáadhatsz: a nap menüjében válaszd a „Nap hozzáadása a listához” pontot." + ]}, + {"title": "Családtag meghívása", + "intro": "A családtag meghívó linkkel regisztrál, és utána ugyanazokat a recepteket és listákat látja.", + "steps": [ + "A bal oldali menü alján, a „Beállítások” alatt nyisd meg a „Felhasználói beállítások” oldalt.", + "Kattints a „Meghívó link beszerzése” gombra.", + "A „Meghívó link” mező mellett kattints a „Másolás” gombra, és küldd el a linket a családtagnak.", + "A linken saját névvel és jelszóval regisztrál. Meghívó nélkül senki nem tud regisztrálni, ezt a doboz így állította be." + ]} + ], + "faq": [ + {"q": "Miért angol a felület?", + "a": "A Mealie a böngésződ nyelvét követi. Másik nyelvhez a bal oldali menü alján, a „Beállítások” alatt kattints a „Nyelv” pontra."}, + {"q": "Egy weboldalról nem jött át a recept. Mit tegyek?", + "a": "Nem minden weboldalt tud beolvasni a Mealie. Ilyenkor írd be a receptet kézzel, ahogy fent leírtuk."}, + {"q": "Egy családtag elfelejtette a jelszavát. Mit tegyek?", + "a": "Az „Admin beállítások” oldalon nyisd meg a „Felhasználók” részt, majd a családtagot. Kattints a „Jelszó visszaállítási link létrehozása” gombra, és add át neki a linket."}, + {"q": "Van telefonos app?", + "a": "Külön app nem kell: a Mealie a telefon böngészőjében is jól használható, és kiteheted a kezdőképernyőre, mint egy appot."}, + {"q": "Hol látom, hogy készül-e mentés?", + "a": "A vezérlőpulton, a Mealie „Adatok és mentés” fülén."} + ] + }, + "en": { + "sections": [ + {"title": "Type in a recipe by hand", + "intro": "If a recipe is not on the web, for example your grandmother's, you can enter it by hand.", + "steps": [ + "Select „Create”, and choose „Create a recipe manually”.", + "Fill in „Recipe Name” and select „Create”.", + "Fill in the „Ingredients” and „Instructions” parts.", + "Select „Save”." + ]}, + {"title": "A shopping list from a recipe", + "intro": "You can put a recipe's ingredients on the shopping list in one go.", + "steps": [ + "Open the „Shopping Lists” page, select „Create”, and name the list in „New List”.", + "Open the recipe, and in its menu choose „Add to List”.", + "Choose the list, then select „Add to List”.", + "In the shop, open the list on your phone and tick what is already in the basket." + ]}, + {"title": "The shopping list for the week's menu", + "intro": "Once you have planned the week, you can put the whole shopping together in one go.", + "steps": [ + "Open the „Meal Planner” page.", + "In the menu, choose „Add All to List”, and choose the list.", + "You can add a single day too: in the day's menu, choose „Add Day to List”." + ]}, + {"title": "Invite a family member", + "intro": "A family member registers with an invite link, and then sees the same recipes and lists.", + "steps": [ + "At the bottom of the menu on the left, under „Settings”, open the „User Settings” page.", + "Select „Get Invite Link”.", + "Next to the „Invite Link” field, select „Copy”, and send the link to the family member.", + "They register through the link with their own name and password. Nobody can register without an invite; the box set it up that way." + ]} + ], + "faq": [ + {"q": "Why is the interface in English?", + "a": "Mealie follows your browser's language. For another language, at the bottom of the menu on the left, under „Settings”, select „Language”."}, + {"q": "A recipe did not come over from a web page. What do I do?", + "a": "Mealie cannot read every web page. In that case, type the recipe in by hand, as described above."}, + {"q": "A family member forgot their password. What do I do?", + "a": "On the „Admin Settings” page, open the „Users” part, then the family member. Select „Generate Password Reset Link”, and give them the link."}, + {"q": "Is there a phone app?", + "a": "You do not need a separate app: Mealie works well in the phone's browser, and you can put it on the home screen like an app."}, + {"q": "Where do I see whether backups are made?", + "a": "On the dashboard, on Mealie's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/mealie-labels.txt b/documentation/audits/app-guides-2026-10-15/B/mealie-labels.txt new file mode 100644 index 00000000..b52e037c --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/mealie-labels.txt @@ -0,0 +1,50 @@ +corpus_note: mealie-recipes/mealie@v3.28.0 (0552eaa): frontend/app/lang/messages/en-US.json and hu-HU.json, frontend/app/{pages,components,layouts}, mealie/routes/users/registration.py (invite token works with ALLOW_SIGNUP=false); default UI language: browser language, Hungarian available (nuxt i18n detectBrowserLanguage, fallback en-US) +guide on the box: shown +app: mealie checked against: v3.28.0 +corpora: mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json mealie-recipes/mealie@v3.28.0:frontend/app/pages mealie-recipes/mealie@v3.28.0:frontend/app/components mealie-recipes/mealie@v3.28.0:frontend/app/layouts felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 44 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Létrehozás” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:74 +OK [hu] „Recept kézi létrehozása” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:403 +OK [hu] „Recept neve” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:453 +OK [hu] „Hozzávalók” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:434 +OK [hu] „Elkészítés” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:437 +OK [hu] „Mentés” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:110 +OK [hu] „Bevásárlólisták” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:765 +OK [hu] „Új lista” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:763 +OK [hu] „Hozzáadás listához” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:472 +OK [hu] „Menütervező” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:287 +OK [hu] „Összes hozzáadása a listához” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:327 +OK [hu] „Nap hozzáadása a listához” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:328 +OK [hu] „Beállítások” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:111 +OK [hu] „Felhasználói beállítások” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:1142 +OK [hu] „Meghívó link beszerzése” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:1135 +OK [hu] „Meghívó link” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:1134 +OK [hu] „Másolás” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:154 +OK [hu] „Nyelv” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:798 +OK [hu] „Admin beállítások” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:676 +OK [hu] „Felhasználók” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:849 +OK [hu] „Jelszó visszaállítási link létrehozása” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/hu-HU.json:826 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Create” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:74 +OK [en] „Create a recipe manually” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:403 +OK [en] „Recipe Name” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:453 +OK [en] „Ingredients” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:434 +OK [en] „Instructions” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:437 +OK [en] „Save” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:110 +OK [en] „Shopping Lists” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:765 +OK [en] „New List” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:763 +OK [en] „Add to List” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:472 +OK [en] „Meal Planner” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:287 +OK [en] „Add All to List” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:327 +OK [en] „Add Day to List” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:328 +OK [en] „Settings” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:111 +OK [en] „User Settings” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:1142 +OK [en] „Get Invite Link” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:1135 +OK [en] „Invite Link” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:1134 +OK [en] „Copy” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:154 +OK [en] „Language” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:798 +OK [en] „Admin Settings” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:676 +OK [en] „Users” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:849 +OK [en] „Generate Password Reset Link” mealie-recipes/mealie@v3.28.0:frontend/app/lang/messages/en-US.json:826 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 44 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/metube-draft.json b/documentation/audits/app-guides-2026-10-15/B/metube-draft.json new file mode 100644 index 00000000..9bcc080a --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/metube-draft.json @@ -0,0 +1,97 @@ +{ + "app": "metube", + "checked_version": "2026.09.29", + "corpus_note": "alexta69/metube@2026.09.29 (a389660): ui/src/app (app.html, interfaces/formats.ts), app/main.py and app/ytdl.py for defaults (CUSTOM_DIRS on, DELETE_FILE_ON_TRASHCAN false, playlist item limit 0); default UI language: English (the UI has no translations)", + "hu": { + "sections": [ + {"title": "Csak a hang letöltése", + "intro": "Egy előadásból vagy a saját fellépésed felvételéből sokszor elég a hang.", + "steps": [ + "Illeszd be a linket, mint egy videónál.", + "A „Type” (típus) mezőben válaszd az „Audio” (hang) lehetőséget.", + "A „Format” (formátum) mezőben válaszd az „MP3” lehetőséget, a „Quality” (minőség) mezőben például a „192 kbps” értéket.", + "Kattints a „Download” (letöltés) gombra." + ]}, + {"title": "Hol vannak a kész fájlok?", + "intro": "Minden letöltés a meghajtód media/metube mappájába kerül.", + "steps": [ + "A „Downloading” (folyamatban) részben látod, mi töltődik éppen.", + "A kész letöltések a „Completed” (kész) részbe kerülnek. A sor végén lévő letöltés ikonnal a saját gépedre is lementheted a fájlt.", + "A fájlokat a fájlböngészőben is megtalálod, a meghajtó media/metube mappájában.", + "Ha a „Completed” részből törölsz egy sort, a fájl a meghajtón marad." + ]}, + {"title": "Saját mappába rendezés", + "intro": "Az összetartozó letöltéseket külön mappába teheted, például egy nyaralás videóit.", + "steps": [ + "Kattints az „Advanced Options” (további beállítások) gombra.", + "A „Download Folder” (letöltési mappa) mezőben válassz egy meglévő mappát, vagy írj be egy új nevet, például nyaralas-2026.", + "Indítsd el a letöltést: a fájl a media/metube mappán belül ebbe a mappába kerül." + ]}, + {"title": "Lejátszási lista letöltése", + "intro": "Egy teljes lejátszási listát is letölthetsz, például a saját csatornád felvételeit.", + "steps": [ + "Illeszd be a lejátszási lista linkjét.", + "Az „Advanced Options” alatt az „Items Limit” (elemek száma) mezőben megadhatod, legfeljebb hány elemet töltsön le. A 0 azt jelenti: mindet.", + "Kattints a „Download” gombra. Az elemek egymás után töltődnek le." + ]} + ], + "faq": [ + {"q": "Miért áll egy letöltés „Queued” (sorban áll) állapotban?", + "a": "A doboz úgy állította be, hogy egyszerre két letöltés fusson. A többi sorban vár, és magától elindul."}, + {"q": "Ki látja a letöltéseimet?", + "a": "Minden belépett családtag ugyanazt a listát és ugyanazt a mappát látja. A MeTube-ban nincsenek külön fiókok."}, + {"q": "Hibára futott egy letöltés. Mit tegyek?", + "a": "Próbáld újra később. A videószolgáltató időnként korlátozza a sok letöltést egy internetcímről."}, + {"q": "Mit tölthetek le?", + "a": "Csak olyat, amihez jogod van: például a saját felvételeidet vagy szabad felhasználású tartalmat."}, + {"q": "Hol látom, mi kerül mentésbe?", + "a": "A vezérlőpulton, a MeTube „Adatok és mentés” fülén."} + ] + }, + "en": { + "sections": [ + {"title": "Download only the audio", + "intro": "From a talk or a recording of your own performance, the audio is often enough.", + "steps": [ + "Paste the link, as for a video.", + "In „Type”, choose „Audio”.", + "In „Format”, choose „MP3”, and in „Quality”, for example „192 kbps”.", + "Select „Download”." + ]}, + {"title": "Where are the finished files?", + "intro": "Every download goes into the media/metube folder of your drive.", + "steps": [ + "The „Downloading” part shows what is downloading now.", + "Finished downloads move to the „Completed” part. With the download icon at the end of the row, you can also save the file to your own computer.", + "You also find the files in the file browser, in the drive's media/metube folder.", + "If you remove a row from the „Completed” part, the file stays on the drive." + ]}, + {"title": "Sort into your own folder", + "intro": "You can put downloads that belong together into their own folder, for example the videos of a holiday.", + "steps": [ + "Select „Advanced Options”.", + "In „Download Folder”, choose an existing folder, or type a new name, for example holiday-2026.", + "Start the download: the file goes into this folder inside the media/metube folder." + ]}, + {"title": "Download a playlist", + "intro": "You can download a whole playlist too, for example the recordings on your own channel.", + "steps": [ + "Paste the link of the playlist.", + "Under „Advanced Options”, in „Items Limit”, you can set how many items it downloads at most. 0 means all of them.", + "Select „Download”. The items download one after the other." + ]} + ], + "faq": [ + {"q": "Why is a download „Queued”?", + "a": "The box set it up so that two downloads run at a time. The others wait in line and start by themselves."}, + {"q": "Who sees my downloads?", + "a": "Every family member who signs in sees the same list and the same folder. MeTube has no separate accounts."}, + {"q": "A download failed. What do I do?", + "a": "Try again later. A video service now and then limits many downloads from one internet address."}, + {"q": "What may I download?", + "a": "Only what you have the right to: for example your own recordings or freely licensed content."}, + {"q": "Where do I see what is backed up?", + "a": "On the dashboard, on MeTube's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/metube-labels.txt b/documentation/audits/app-guides-2026-10-15/B/metube-labels.txt new file mode 100644 index 00000000..e3d92822 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/metube-labels.txt @@ -0,0 +1,34 @@ +corpus_note: alexta69/metube@2026.09.29 (a389660): ui/src/app (app.html, interfaces/formats.ts), app/main.py and app/ytdl.py for defaults (CUSTOM_DIRS on, DELETE_FILE_ON_TRASHCAN false, playlist item limit 0); default UI language: English (the UI has no translations) +guide on the box: shown +app: metube checked against: 2026.09.29 +corpora: alexta69/metube@2026.09.29:ui/src/app felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 28 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Type” alexta69/metube@2026.09.29:ui/src/app/app.html:169 +OK [hu] „Audio” alexta69/metube@2026.09.29:ui/src/app/interfaces/formats.ts:14 +OK [hu] „Format” alexta69/metube@2026.09.29:ui/src/app/app.html:197 +OK [hu] „MP3” alexta69/metube@2026.09.29:ui/src/app/interfaces/formats.ts:58 +OK [hu] „Quality” alexta69/metube@2026.09.29:ui/src/app/app.html:211 +OK [hu] „192 kbps” alexta69/metube@2026.09.29:ui/src/app/interfaces/formats.ts:52 +OK [hu] „Download” alexta69/metube@2026.09.29:ui/src/app/app.html:111 +OK [hu] „Downloading” alexta69/metube@2026.09.29:ui/src/app/app.html:722 +OK [hu] „Completed” alexta69/metube@2026.09.29:ui/src/app/app.html:801 +OK [hu] „Advanced Options” alexta69/metube@2026.09.29:ui/src/app/app.html:371 +OK [hu] „Download Folder” alexta69/metube@2026.09.29:ui/src/app/app.html:390 +OK [hu] „Items Limit” alexta69/metube@2026.09.29:ui/src/app/app.html:492 +OK [hu] „Queued” alexta69/metube@2026.09.29:ui/src/app/app.spec.ts:651 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Type” alexta69/metube@2026.09.29:ui/src/app/app.html:169 +OK [en] „Audio” alexta69/metube@2026.09.29:ui/src/app/interfaces/formats.ts:14 +OK [en] „Format” alexta69/metube@2026.09.29:ui/src/app/app.html:197 +OK [en] „MP3” alexta69/metube@2026.09.29:ui/src/app/interfaces/formats.ts:58 +OK [en] „Quality” alexta69/metube@2026.09.29:ui/src/app/app.html:211 +OK [en] „192 kbps” alexta69/metube@2026.09.29:ui/src/app/interfaces/formats.ts:52 +OK [en] „Download” alexta69/metube@2026.09.29:ui/src/app/app.html:111 +OK [en] „Downloading” alexta69/metube@2026.09.29:ui/src/app/app.html:722 +OK [en] „Completed” alexta69/metube@2026.09.29:ui/src/app/app.html:801 +OK [en] „Advanced Options” alexta69/metube@2026.09.29:ui/src/app/app.html:371 +OK [en] „Download Folder” alexta69/metube@2026.09.29:ui/src/app/app.html:390 +OK [en] „Items Limit” alexta69/metube@2026.09.29:ui/src/app/app.html:492 +OK [en] „Queued” alexta69/metube@2026.09.29:ui/src/app/app.spec.ts:651 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 28 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/n8n-draft.json b/documentation/audits/app-guides-2026-10-15/B/n8n-draft.json new file mode 100644 index 00000000..dd411bf8 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/n8n-draft.json @@ -0,0 +1,117 @@ +{ + "app": "n8n", + "checked_version": "2.42.1", + "corpus_note": "n8n-io/n8n@n8n@2.42.1 (e1d1780): packages/frontend/@n8n/i18n/src/locales/en.json (the only UI locale), editor-ui MainHeader/WorkflowHeaderDraftPublishActions.vue and features/workflows/components (Publish flow), nodes-base/nodes/Schedule/ScheduleTrigger.node.ts, cli security-settings.service.ts (personal-space publishing defaults to on); default UI language: English", + "hu": { + "sections": [ + { + "title": "Első időzített munkafolyamat", + "intro": "Egy munkafolyamat egy indítóval kezdődik, utána jönnek a lépések, amelyeket elvégez.", + "steps": [ + "Kattints a „Create workflow” (új munkafolyamat) gombra.", + "Kattints az „Add first step…” (első lépés) mezőre, és válaszd az „On a schedule” (időzítve) lehetőséget.", + "A „Trigger Interval” (gyakoriság) mezőben állítsd be, milyen gyakran fusson.", + "Add hozzá a következő lépést a plusz jellel, majd próbáld ki az „Execute workflow” (futtatás) gombbal.", + "Ha jól működik, kattints a „Publish” (közzététel) gombra. Az időzítés csak ezután fut magától." + ] + }, + { + "title": "Futások ellenőrzése", + "intro": "Az n8n minden futást megjegyez, így utólag is látod, mi történt.", + "steps": [ + "A bal oldali menüben nyisd meg az „Executions” (futások) oldalt.", + "Minden futás mellett látod az állapotát: „Success” (sikeres) vagy „Error” (hiba).", + "Kattints egy hibás futásra: megnyílik a munkafolyamat, és látod, melyik lépés akadt el." + ] + }, + { + "title": "Családtag meghívása", + "intro": "Mindenki a saját fiókjával dolgozik, és a saját munkafolyamatait látja.", + "steps": [ + "A bal oldali menüben nyisd meg a „Settings” (beállítások), majd a „Users” (felhasználók) oldalt.", + "Kattints az „Invite” (meghívás) gombra, és írd be a családtag e-mail-címét.", + "Kattints a „Create invite link” (meghívó link) gombra: a link a vágólapra kerül.", + "Küldd el neki a linket. Ezen állít be magának nevet és jelszót." + ] + } + ], + "faq": [ + { + "q": "Miért nem fut magától a munkafolyamat?", + "a": "Magától csak a közzétett munkafolyamat fut. Nézd meg, hogy a fejlécben „Published” (közzétéve) áll-e; ha nem, kattints a „Publish” gombra." + }, + { + "q": "Hogyan kapcsolok ki egy munkafolyamatot?", + "a": "Nyisd meg, és a „Publish” gomb melletti menüben válaszd az „Unpublish” (visszavonás) pontot. A munkafolyamat megmarad, csak nem indul el magától." + }, + { + "q": "Milyen címet adjak meg egy webhooknak?", + "a": "A webhook lépésben a „Production URL” (éles cím) a közzétett munkafolyamathoz tartozik, és az auto.DOMAIN címen érhető el. A „Test URL” (tesztcím) a szerkesztőben való kipróbáláshoz kell." + }, + { + "q": "Egy családtag elfelejtette a jelszavát. Mit tegyek?", + "a": "A „Users” oldalon a neve melletti menüben válaszd a „Copy Password Reset Link” (jelszó-visszaállító link) pontot, és küldd el neki a linket." + }, + { + "q": "Biztonságban vannak a mentett belépési adatok?", + "a": "Az n8n a szolgáltatásokhoz mentett belépési adatokat titkosítva tárolja, a kulcsot a doboz telepítéskor készítette. Azt, hogy mi kerül mentésbe, a vezérlőpulton, az n8n „Adatok és mentés” fülén látod." + } + ] + }, + "en": { + "sections": [ + { + "title": "Your first scheduled workflow", + "intro": "A workflow starts with a trigger, followed by the steps it carries out.", + "steps": [ + "Select „Create workflow”.", + "Select „Add first step…” and choose „On a schedule”.", + "In „Trigger Interval”, set how often it runs.", + "Add the next step with the plus sign, then try it with „Execute workflow”.", + "When it works, select „Publish”. The schedule only runs by itself after that." + ] + }, + { + "title": "Check the runs", + "intro": "n8n remembers every run, so you can see afterwards what happened.", + "steps": [ + "In the menu on the left, open the „Executions” page.", + "Next to every run you see its status: „Success” or „Error”.", + "Select a failed run: the workflow opens, and you see which step got stuck." + ] + }, + { + "title": "Invite a family member", + "intro": "Everyone works with their own account and sees their own workflows.", + "steps": [ + "In the menu on the left, open „Settings”, then the „Users” page.", + "Select „Invite” and type the family member's e-mail address.", + "Select „Create invite link”: the link goes to the clipboard.", + "Send them the link. Through it they set their own name and password." + ] + } + ], + "faq": [ + { + "q": "Why does the workflow not run by itself?", + "a": "Only a published workflow runs by itself. Check that the header says „Published”; if not, select „Publish”." + }, + { + "q": "How do I switch a workflow off?", + "a": "Open it, and in the menu next to the „Publish” button choose „Unpublish”. The workflow stays, it just does not start by itself." + }, + { + "q": "Which address do I give a webhook?", + "a": "In the webhook step, the „Production URL” belongs to the published workflow and is reached on auto.DOMAIN. The „Test URL” is for trying it out in the editor." + }, + { + "q": "A family member forgot their password. What do I do?", + "a": "On the „Users” page, in the menu next to their name, choose „Copy Password Reset Link”, and send them the link." + }, + { + "q": "Are the saved sign-in details safe?", + "a": "n8n stores the sign-in details you save for services encrypted, with a key the box made at install time. What is backed up, you see on the dashboard, on n8n's „Data and backup” tab." + } + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/n8n-labels.txt b/documentation/audits/app-guides-2026-10-15/B/n8n-labels.txt new file mode 100644 index 00000000..3ef7811b --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/n8n-labels.txt @@ -0,0 +1,44 @@ +corpus_note: n8n-io/n8n@n8n@2.42.1 (e1d1780): packages/frontend/@n8n/i18n/src/locales/en.json (the only UI locale), editor-ui MainHeader/WorkflowHeaderDraftPublishActions.vue and features/workflows/components (Publish flow), nodes-base/nodes/Schedule/ScheduleTrigger.node.ts, cli security-settings.service.ts (personal-space publishing defaults to on); default UI language: English +guide on the box: shown +app: n8n checked against: 2.42.1 +corpora: n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json n8n-io/n8n@n8n@2.42.1:packages/frontend/editor-ui/src/app/components/MainHeader n8n-io/n8n@n8n@2.42.1:packages/frontend/editor-ui/src/features/workflows/components n8n-io/n8n@n8n@2.42.1:packages/frontend/editor-ui/src/features/settings/users n8n-io/n8n@n8n@2.42.1:packages/nodes-base/nodes/Schedule/ScheduleTrigger.node.ts felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 38 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Create workflow” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:61 +OK [hu] „Add first step…” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:2504 +OK [hu] „On a schedule” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:2250 +OK [hu] „Trigger Interval” n8n-io/n8n@n8n@2.42.1:packages/nodes-base/nodes/Schedule/ScheduleTrigger.node.ts:67 +OK [hu] „Execute workflow” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:2536 +OK [hu] „Publish” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:2928 +OK [hu] „Executions” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:86 +OK [hu] „Success” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:1551 +OK [hu] „Error” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:1400 +OK [hu] „Settings” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:106 +OK [hu] „Users” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:3095 +OK [hu] „Invite” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:3981 +OK [hu] „Create invite link” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:3987 +OK [hu] „Published” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:164 +OK [hu] „Unpublish” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:1984 +OK [hu] „Production URL” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:2649 +OK [hu] „Test URL” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:1144 +OK [hu] „Copy Password Reset Link” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:3971 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Create workflow” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:61 +OK [en] „Add first step…” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:2504 +OK [en] „On a schedule” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:2250 +OK [en] „Trigger Interval” n8n-io/n8n@n8n@2.42.1:packages/nodes-base/nodes/Schedule/ScheduleTrigger.node.ts:67 +OK [en] „Execute workflow” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:2536 +OK [en] „Publish” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:2928 +OK [en] „Executions” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:86 +OK [en] „Success” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:1551 +OK [en] „Error” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:1400 +OK [en] „Settings” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:106 +OK [en] „Users” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:3095 +OK [en] „Invite” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:3981 +OK [en] „Create invite link” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:3987 +OK [en] „Published” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:164 +OK [en] „Unpublish” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:1984 +OK [en] „Production URL” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:2649 +OK [en] „Test URL” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:1144 +OK [en] „Copy Password Reset Link” n8n-io/n8n@n8n@2.42.1:packages/frontend/@n8n/i18n/src/locales/en.json:3971 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 38 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/navidrome-draft.json b/documentation/audits/app-guides-2026-10-15/B/navidrome-draft.json new file mode 100644 index 00000000..efe0cb52 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/navidrome-draft.json @@ -0,0 +1,101 @@ +{ + "app": "navidrome", + "checked_version": "0.64.2", + "corpus_note": "navidrome/navidrome@v0.64.2 (1011457): ui/src (i18n/en.json, layout, album, user, dialogs, personal), conf/configuration.go for defaults; default UI language: English (each user can switch to Hungarian on the Personal page; the guide quotes the English labels)", + "hu": { + "sections": [ + {"title": "Zene feltöltése", + "intro": "A Navidrome annak a meghajtónak a media/music mappájából olvassa a zenét, amelyet telepítéskor választottál.", + "steps": [ + "Nyisd meg a Fájlkezelőt, és lépj ennek a meghajtónak a media/music mappájába.", + "Tölts fel ide albumonként egy mappát, például Előadó/Album szerkezetben.", + "Várj egy kicsit: a Navidrome legkésőbb egy órán belül magától beolvassa az új fájlokat.", + "Az új albumok a bal oldali „Albums” (Albumok) menü „Recently Added” (Nemrég hozzáadott) listájában jelennek meg." + ]}, + {"title": "Lejátszási lista készítése", + "intro": "A kedvenc számaidat saját listába gyűjtheted, és a telefonos app is látja ezeket.", + "steps": [ + "Nyiss meg egy albumot, és kattints az „Add to Playlist” (Hozzáadás listához) gombra.", + "Írd be az új lista nevét, és nyomd meg az Enter billentyűt.", + "Kattints az „Add” (Hozzáadás) gombra.", + "A listáidat a bal oldali menüben, a „Playlists” (Lejátszási listák) alatt találod." + ]}, + {"title": "Családtag hozzáadása", + "intro": "Mindenki saját fiókot kap, így a kedvencek és a listák külön maradnak.", + "steps": [ + "Kattints jobb felül a profil ikonra, és nyisd meg a felhasználók listáját.", + "Kattints a „Create” (Létrehozás) gombra.", + "Töltsd ki a „Username” (felhasználónév), a „Name” (név) és a „Password” (jelszó) mezőt.", + "Az „Is Admin” (adminisztrátor) kapcsolót hagyd kikapcsolva, és kattints a „Save” (Mentés) gombra." + ]}, + {"title": "Album megosztása linkkel", + "intro": "Egy albumot olyannal is megoszthatsz, akinek nincs fiókja.", + "steps": [ + "Nyisd meg az albumot, és kattints a „Share” (Megosztás) gombra.", + "A „Description” (leírás) mezőbe írhatsz egy rövid megjegyzést.", + "Kattints a „Share” gombra: a link a vágólapra kerül.", + "Küldd el a linket annak, akivel meg akarod osztani." + ]} + ], + "faq": [ + {"q": "Átállíthatom magyarra a Navidrome-ot?", + "a": "Igen: jobb felül a profil ikon alatt nyisd meg a „Personal” (Személyes) oldalt, és a „Language” (Nyelv) mezőben válaszd a magyart. Ez az útmutató az angol menüneveket használja."}, + {"q": "Működik a telefonos app otthonon kívül is?", + "a": "Igen: a music.DOMAIN cím otthonon kívül is működik. Ugyanazzal a felhasználónévvel és jelszóval lépj be, mint a böngészőben."}, + {"q": "Feltöltöttem egy albumot, de nem látom. Mit tegyek?", + "a": "Nézd meg, hogy a fájlok a telepítéskor választott meghajtó media/music mappájában vannak-e. A Navidrome óránként beolvassa a mappát, és a fájlokba írt adatokból veszi az előadót és a címet."}, + {"q": "Törölhetek zenét a Navidrome-ból?", + "a": "Nem: a Navidrome csak olvassa a zenemappát. Törölni a Fájlkezelőben tudsz."}, + {"q": "Készül mentés a zenémről?", + "a": "A media/music mappáról a doboz nem készít mentést, ezért az eredeti fájlokat őrizd meg máshol is. A Navidrome saját adatainak mentését az „Adatok és mentés” fül mutatja."} + ] + }, + "en": { + "sections": [ + {"title": "Add your music", + "intro": "Navidrome reads music from the media/music folder of the drive you chose at install.", + "steps": [ + "Open the File manager and go to the media/music folder of that drive.", + "Upload one folder per album there, for example as Artist/Album.", + "Wait a little: Navidrome reads the new files by itself within an hour at most.", + "New albums show up in the „Recently Added” list of the „Albums” menu on the left." + ]}, + {"title": "Make a playlist", + "intro": "You can collect your favourite songs into your own list, and the phone app sees it too.", + "steps": [ + "Open an album and select „Add to Playlist”.", + "Type a name for the new list and press Enter.", + "Select „Add”.", + "Your lists are under „Playlists” in the menu on the left." + ]}, + {"title": "Add a family member", + "intro": "Everyone gets their own account, so favourites and lists stay separate.", + "steps": [ + "Select the profile icon at the top right and open the list of users.", + "Select „Create”.", + "Fill in the „Username”, „Name” and „Password” fields.", + "Leave „Is Admin” switched off and select „Save”." + ]}, + {"title": "Share an album with a link", + "intro": "You can share an album even with someone who has no account.", + "steps": [ + "Open the album and select „Share”.", + "You can write a short note in the „Description” field.", + "Select „Share”: the link goes to your clipboard.", + "Send the link to the person you want to share with." + ]} + ], + "faq": [ + {"q": "Can I switch Navidrome to Hungarian?", + "a": "Yes: under the profile icon at the top right, open the „Personal” page and choose Hungarian in the „Language” field. This guide uses the English menu names."}, + {"q": "Does the phone app work away from home?", + "a": "Yes: the music.DOMAIN address works away from home too. Sign in with the same username and password as in the browser."}, + {"q": "I uploaded an album but I cannot see it. What do I do?", + "a": "Check that the files are in the media/music folder of the drive you chose at install. Navidrome reads the folder every hour and takes the artist and title from the details written into the files."}, + {"q": "Can I delete music from Navidrome?", + "a": "No: Navidrome only reads the music folder. You delete in the File manager."}, + {"q": "Is my music backed up?", + "a": "The box makes no backup of the media/music folder, so keep the original files somewhere else too. The „Data and backup” tab shows the backup of Navidrome's own data."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/navidrome-labels.txt b/documentation/audits/app-guides-2026-10-15/B/navidrome-labels.txt new file mode 100644 index 00000000..1df0b0ea --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/navidrome-labels.txt @@ -0,0 +1,38 @@ +corpus_note: navidrome/navidrome@v0.64.2 (1011457): ui/src (i18n/en.json, layout, album, user, dialogs, personal), conf/configuration.go for defaults; default UI language: English (each user can switch to Hungarian on the Personal page; the guide quotes the English labels) +guide on the box: shown +app: navidrome checked against: 0.64.2 +corpora: navidrome/navidrome@v0.64.2:ui/src/i18n/en.json navidrome/navidrome@v0.64.2:ui/src felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 32 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Albums” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:298 +OK [hu] „Recently Added” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:102 +OK [hu] „Add to Playlist” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:48 +OK [hu] „Add” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:457 +OK [hu] „Playlists” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:658 +OK [hu] „Create” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:465 +OK [hu] „Username” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:147 +OK [hu] „Name” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:66 +OK [hu] „Password” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:153 +OK [hu] „Is Admin” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:148 +OK [hu] „Save” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:473 +OK [hu] „Share” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:92 +OK [hu] „Description” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:259 +OK [hu] „Personal” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:639 +OK [hu] „Language” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:642 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Recently Added” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:102 +OK [en] „Albums” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:298 +OK [en] „Add to Playlist” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:48 +OK [en] „Add” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:457 +OK [en] „Playlists” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:658 +OK [en] „Create” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:465 +OK [en] „Username” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:147 +OK [en] „Name” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:66 +OK [en] „Password” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:153 +OK [en] „Is Admin” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:148 +OK [en] „Save” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:473 +OK [en] „Share” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:92 +OK [en] „Description” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:259 +OK [en] „Personal” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:639 +OK [en] „Language” navidrome/navidrome@v0.64.2:ui/src/i18n/en.json:642 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 32 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/nextcloud-draft.json b/documentation/audits/app-guides-2026-10-15/B/nextcloud-draft.json new file mode 100644 index 00000000..144e9d14 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/nextcloud-draft.json @@ -0,0 +1,99 @@ +{ + "app": "nextcloud", + "checked_version": "34.0.4-apache", + "corpus_note": "nextcloud/server@v34.0.4 (77c7284): apps/{files,files_sharing,files_trashbin,files_versions,settings}/src and l10n/hu.json, core/l10n/hu.json, lib/private/NavigationManager.php, config/config.sample.php; default UI language: browser language, Hungarian available", + "hu": { + "sections": [ + {"title": "Fájlok feltöltése a böngészőből", + "intro": "A fájljaid a „Fájlok” alkalmazásban vannak, mappákba rendezve.", + "steps": [ + "A felső sávban kattints a „Fájlok” pontra.", + "Nyisd meg azt a mappát, ahová a fájlt szánod.", + "Húzd a fájlokat a számítógépedről a fájllistára: ebbe a mappába töltődnek fel.", + "Amit sokszor használsz, azt a fájl menüjében a „Hozzáadás a kedvencekhez” ponttal a „Kedvencek” közé teheted." + ]}, + {"title": "Megosztás egy családtaggal", + "intro": "A megosztott fájl vagy mappa a családtag saját fiókjában is megjelenik.", + "steps": [ + "Kattints a fájl vagy a mappa sorában a megosztás ikonjára.", + "A „Belső megosztások” résznél írd be a családtag nevét, és válaszd ki.", + "Válaszd a „Csak megtekintés” vagy a „Szerkesztés engedélyezése” lehetőséget.", + "Kattints a „Megosztás mentése” gombra." + ]}, + {"title": "Hivatkozás küldése fiók nélküli ismerősnek", + "intro": "A hivatkozással olyan is megnyithatja a fájlt, akinek nincs fiókja a dobozodon.", + "steps": [ + "Kattints a fájl sorában a megosztás ikonjára.", + "A „Külső megosztások” résznél kattints az „Új megosztási hivatkozás létrehozása” gombra.", + "A Nextcloud a hivatkozást a vágólapra másolja: illeszd be egy levélbe vagy üzenetbe." + ]}, + {"title": "Törölt fájl és régebbi változat", + "intro": "A törölt fájl nem tűnik el azonnal, és a módosított fájl korábbi változatai is megmaradnak egy ideig.", + "steps": [ + "A bal oldali menüben nyisd meg a „Törölt fájlok” részt.", + "Keresd meg a fájlt, és a menüjében kattints a „Visszaállítás” pontra.", + "Egy fájl régebbi változatához a fájl menüjében válaszd a „Részletek” pontot, majd a „Verziók” lapot.", + "A kívánt változatnál kattints a „Verzió helyreállítása” pontra." + ]} + ], + "faq": [ + {"q": "Meddig maradnak meg a törölt fájlok?", + "a": "Legalább 30 napig a „Törölt fájlok” között. Utána a Nextcloud magától törli őket, ha helyre van szüksége."}, + {"q": "Miért magáz a Nextcloud?", + "a": "A Nextcloud magyar fordítása magázó formát használ. A feliratok jelentése ugyanaz."}, + {"q": "Hogyan változtatom meg a jelszavam?", + "a": "Kattints a jobb felső sarokban a profilképedre, majd a „Személyes beállítások” pontra (családtagnál: „Beállítások”). A „Biztonság” oldalon add meg a régi és az új jelszót, és kattints a „Jelszó módosítása” gombra."}, + {"q": "Van naptár és névjegyzék?", + "a": "Alapból nincs telepítve. Az admin fiókkal a profilkép menüjében az „Alkalmazások” oldalon telepítheted őket."}, + {"q": "Hol vannak a fájljaim, és van róluk mentés?", + "a": "A meghajtódon, amelyet telepítéskor választottál. A mentésükről a Nextcloud „Adatok és mentés” fülén tájékozódhatsz."} + ] + }, + "en": { + "sections": [ + {"title": "Upload files from the browser", + "intro": "Your files are in the „Files” app, sorted into folders.", + "steps": [ + "In the top bar, select „Files”.", + "Open the folder you want the file in.", + "Drag the files from your computer onto the file list: they upload into this folder.", + "For things you use often, choose „Add to favorites” in the file's menu to put them under „Favorites”." + ]}, + {"title": "Share with a family member", + "intro": "A shared file or folder also shows up in the family member's own account.", + "steps": [ + "Select the share icon in the row of the file or folder.", + "Under „Internal shares”, type the family member's name and pick it.", + "Choose „View only” or „Allow editing”.", + "Select „Save share”." + ]}, + {"title": "Send a link to someone without an account", + "intro": "A link lets someone who has no account on your box open the file too.", + "steps": [ + "Select the share icon in the row of the file.", + "Under „External shares”, select „Create a new share link”.", + "Nextcloud copies the link to the clipboard: paste it into an e-mail or a message." + ]}, + {"title": "A deleted file and an older version", + "intro": "A deleted file does not vanish at once, and earlier versions of a changed file are kept for a while too.", + "steps": [ + "In the menu on the left, open „Deleted files”.", + "Find the file and select „Restore” in its menu.", + "For an older version of a file, choose „Details” in the file's menu, then the „Versions” tab.", + "At the version you want, select „Restore version”." + ]} + ], + "faq": [ + {"q": "How long are deleted files kept?", + "a": "At least 30 days, under „Deleted files”. After that, Nextcloud deletes them by itself when it needs the space."}, + {"q": "Why is the Hungarian Nextcloud so formal?", + "a": "Nextcloud's Hungarian translation uses the formal form of address. The labels mean the same."}, + {"q": "How do I change my password?", + "a": "Select your profile picture in the top right corner, then „Personal settings” (for a family member: „Settings”). On the „Security” page, enter the old and the new password and select „Change password”."}, + {"q": "Is there a calendar and an address book?", + "a": "They are not installed by default. With the admin account, you can install them on the „Apps” page in the profile picture menu."}, + {"q": "Where are my files, and are they backed up?", + "a": "On the drive you chose at install time. For their backup, look at the „Data and backup” tab of Nextcloud."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/nextcloud-labels.txt b/documentation/audits/app-guides-2026-10-15/B/nextcloud-labels.txt new file mode 100644 index 00000000..ce33bc57 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/nextcloud-labels.txt @@ -0,0 +1,46 @@ +corpus_note: nextcloud/server@v34.0.4 (77c7284): apps/{files,files_sharing,files_trashbin,files_versions,settings}/src and l10n/hu.json, core/l10n/hu.json, lib/private/NavigationManager.php, config/config.sample.php; default UI language: browser language, Hungarian available +guide on the box: shown +app: nextcloud checked against: 34.0.4-apache +corpora: nextcloud/server@v34.0.4:apps/files/src nextcloud/server@v34.0.4:apps/files_sharing/src nextcloud/server@v34.0.4:apps/files_trashbin/src nextcloud/server@v34.0.4:apps/files_versions/src nextcloud/server@v34.0.4:apps/settings/src nextcloud/server@v34.0.4:apps/settings/lib nextcloud/server@v34.0.4:lib/private/NavigationManager.php nextcloud/server@v34.0.4:lib/l10n/hu.json nextcloud/server@v34.0.4:apps/files/l10n/hu.json nextcloud/server@v34.0.4:apps/files_sharing/l10n/hu.json nextcloud/server@v34.0.4:apps/files_trashbin/l10n/hu.json nextcloud/server@v34.0.4:apps/files_versions/l10n/hu.json nextcloud/server@v34.0.4:apps/settings/l10n/hu.json nextcloud/server@v34.0.4:core/l10n/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 40 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Fájlok” nextcloud/server@v34.0.4:lib/l10n/hu.json:59 +OK [hu] „Hozzáadás a kedvencekhez” nextcloud/server@v34.0.4:apps/files/l10n/hu.json:313 +OK [hu] „Kedvencek” nextcloud/server@v34.0.4:apps/files/l10n/hu.json:6 +OK [hu] „Belső megosztások” nextcloud/server@v34.0.4:apps/files_sharing/l10n/hu.json:229 +OK [hu] „Csak megtekintés” nextcloud/server@v34.0.4:apps/files_sharing/l10n/hu.json:175 +OK [hu] „Szerkesztés engedélyezése” nextcloud/server@v34.0.4:apps/files_sharing/l10n/hu.json:203 +OK [hu] „Megosztás mentése” nextcloud/server@v34.0.4:apps/files_sharing/l10n/hu.json:197 +OK [hu] „Külső megosztások” nextcloud/server@v34.0.4:apps/files_sharing/l10n/hu.json:230 +OK [hu] „Új megosztási hivatkozás létrehozása” nextcloud/server@v34.0.4:apps/files_sharing/l10n/hu.json:174 +OK [hu] „Törölt fájlok” nextcloud/server@v34.0.4:apps/files_trashbin/l10n/hu.json:3 +OK [hu] „Visszaállítás” nextcloud/server@v34.0.4:apps/files_sharing/l10n/hu.json:137 +OK [hu] „Részletek” nextcloud/server@v34.0.4:apps/files/l10n/hu.json:342 +OK [hu] „Verziók” nextcloud/server@v34.0.4:apps/files_versions/l10n/hu.json:6 +OK [hu] „Verzió helyreállítása” nextcloud/server@v34.0.4:apps/files_versions/l10n/hu.json:16 +OK [hu] „Személyes beállítások” nextcloud/server@v34.0.4:lib/l10n/hu.json:455 +OK [hu] „Beállítások” nextcloud/server@v34.0.4:lib/l10n/hu.json:457 +OK [hu] „Biztonság” nextcloud/server@v34.0.4:apps/settings/l10n/hu.json:26 +OK [hu] „Jelszó módosítása” nextcloud/server@v34.0.4:apps/settings/l10n/hu.json:340 +OK [hu] „Alkalmazások” nextcloud/server@v34.0.4:lib/l10n/hu.json:454 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Files” nextcloud/server@v34.0.4:apps/files/src/views/FilesNavigation.vue:9 +OK [en] „Add to favorites” nextcloud/server@v34.0.4:apps/files/src/actions/favoriteAction.ts:29 +OK [en] „Favorites” nextcloud/server@v34.0.4:apps/files/src/views/favorites.ts:61 +OK [en] „Internal shares” nextcloud/server@v34.0.4:apps/files_sharing/src/views/SharingTab.vue:32 +OK [en] „View only” nextcloud/server@v34.0.4:apps/files_sharing/src/views/SharingDetailsTab.vue:35 +OK [en] „Allow editing” nextcloud/server@v34.0.4:apps/files_sharing/src/views/SharingDetailsTab.vue:53 +OK [en] „Save share” nextcloud/server@v34.0.4:apps/files_sharing/src/views/SharingDetailsTab.vue:635 +OK [en] „External shares” nextcloud/server@v34.0.4:apps/files_sharing/src/views/SharingTab.vue:77 +OK [en] „Create a new share link” nextcloud/server@v34.0.4:apps/files_sharing/src/components/SharingEntryLink.vue:219 +OK [en] „Deleted files” nextcloud/server@v34.0.4:apps/files_trashbin/src/files_views/trashbinView.ts:16 +OK [en] „Restore” nextcloud/server@v34.0.4:apps/files_trashbin/src/files_actions/restoreAction.ts:24 +OK [en] „Details” nextcloud/server@v34.0.4:apps/files/src/actions/sidebarAction.ts:18 +OK [en] „Versions” nextcloud/server@v34.0.4:apps/files_versions/src/sidebar_tab.ts:18 +OK [en] „Restore version” nextcloud/server@v34.0.4:apps/files_versions/src/components/VersionEntry.vue:107 +OK [en] „Personal settings” nextcloud/server@v34.0.4:lib/private/NavigationManager.php:259 +OK [en] „Settings” nextcloud/server@v34.0.4:apps/settings/lib/Search/SectionSearch.php:45 +OK [en] „Security” nextcloud/server@v34.0.4:apps/settings/lib/Sections/Personal/Security.php:35 +OK [en] „Change password” nextcloud/server@v34.0.4:apps/settings/src/components/PasswordSection.vue:73 +OK [en] „Apps” nextcloud/server@v34.0.4:lib/private/NavigationManager.php:250 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 40 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/nzbget-draft.json b/documentation/audits/app-guides-2026-10-15/B/nzbget-draft.json new file mode 100644 index 00000000..3c8081a4 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/nzbget-draft.json @@ -0,0 +1,97 @@ +{ + "app": "nzbget", + "checked_version": "v26.3", + "corpus_note": "nzbgetcom/nzbget@v26.3 (6747878): webui/index.html, webui/locales.source.json (English), webui/_locales/hu/messages.json (Hungarian), webui/i18n.js for the language choice; default UI language: browser language, Hungarian available (HU text uses the Hungarian labels, EN text the English ones)", + "hu": { + "sections": [ + {"title": "NZB fájl hozzáadása", + "intro": "Az NZB fájl mondja meg az NZBGet-nek, mit töltsön le a Usenet szolgáltatódtól.", + "steps": [ + "A „Letöltések” fülön kattints a „Hozzáadás” gombra.", + "Kattints a „Fájlok kiválasztása” gombra, és válaszd ki az NZB fájlt a gépedről. Az ablakba be is húzhatod.", + "Kattints a „Küldés” gombra.", + "A letöltés megjelenik a „Letöltések” fül listájában." + ]}, + {"title": "Kész letöltések megtalálása", + "intro": "Letöltés után az NZBGet magától ellenőrzi, javítja és kicsomagolja a fájlokat.", + "steps": [ + "A befejezett letöltéseket az „Előzmények” fülön látod.", + "Ha egy letöltés nem sikerült, az „Előzmények” fülön a „Sikertelen” szűrő mutatja.", + "A Felhom vezérlőpulton, az NZBGet „Adatok és mentés” fülén a „Hova tegyem a fájlokat?” rész a Fájlkezelőben nyitja meg a letöltések mappáját." + ]}, + {"title": "Lassítás és szünet", + "intro": "Ha az otthoni internet lelassul, korlátozhatod vagy megállíthatod a letöltést.", + "steps": [ + "Kattints fent a sebesség kijelzőjére: megnyílik a „Sebességkorlát” ablak.", + "Írd be a korlátot KB/s-ban, és kattints a „Korlát beállítása” gombra.", + "Szünethez kattints a fejlécben a lejátszás gombra.", + "A gomb melletti nyíl menüjében, a „Szünet ennyi időre...” alatt egy megadott időre is szüneteltethetsz." + ]}, + {"title": "Ha nem indul a letöltés", + "intro": "Az NZBGet maga leírja, mi a baj.", + "steps": [ + "Nyisd meg az „Üzenetek” fület, és kattints a „Hiba” szűrőre.", + "Ha azt írja, hogy nincs Usenet szerver, add meg a szolgáltatódat a „Beállítások” fül „Usenet szerverek” részén.", + "Ha a szolgáltató elutasítja a belépést, ott ellenőrizd a felhasználónevet és a jelszót." + ]} + ], + "faq": [ + {"q": "Honnan szerezzek NZB fájlt?", + "a": "Ezt te döntöd el: a doboz nem ad és nem ajánl forrást. Csak olyat tölts le, amihez jogod van, például Linux telepítőt."}, + {"q": "Összeköti a doboz a Sonarrral és a Radarrral?", + "a": "Nem: a doboz a Sonarrt és a Radarrt csak a torrent letöltőkkel köti össze. Az NZBGet a hozzáadott NZB fájlokkal önállóan dolgozik."}, + {"q": "Hol látom a belépési jelszót?", + "a": "A Felhom vezérlőpulton, az NZBGet „Beállítások” fülén. A felhasználónév admin."}, + {"q": "Más nyelven szeretném látni a felületet. Átállíthatom?", + "a": "Az NZBGet a böngésződ nyelvét követi. Jobb felül a beállítások gomb menüjében a „Nyelv” résznél másik nyelvet is választhatsz."}, + {"q": "Leáll a letöltés, ha bezárom az oldalt?", + "a": "Nem: a letöltés a dobozon fut, az oldalt nyugodtan bezárhatod."} + ] + }, + "en": { + "sections": [ + {"title": "Add an NZB file", + "intro": "The NZB file tells NZBGet what to download from your Usenet provider.", + "steps": [ + "On the „Downloads” tab, select „Add”.", + "Select „Select files” and choose the NZB file on your computer. You can also drag it into the window.", + "Select „Submit”.", + "The download appears in the list on the „Downloads” tab." + ]}, + {"title": "Find finished downloads", + "intro": "After a download, NZBGet checks, repairs and unpacks the files by itself.", + "steps": [ + "You see finished downloads on the „History” tab.", + "If a download failed, the „Failure” filter on the „History” tab shows it.", + "On the Felhom dashboard, the „Where do I put my files?” part of NZBGet's „Data and backup” tab opens the downloads folder in the File manager." + ]}, + {"title": "Slow down or pause", + "intro": "If your home internet gets slow, you can limit or stop the download.", + "steps": [ + "Select the speed display at the top: the „Speed Limit” window opens.", + "Type the limit in KB/s and select „Set limit”.", + "To pause, select the play button in the header.", + "In the menu of the arrow next to that button, under „Pause for...”, you can also pause for a set time." + ]}, + {"title": "When nothing downloads", + "intro": "NZBGet itself writes down what is wrong.", + "steps": [ + "Open the „Messages” tab and select the „Error” filter.", + "If it says there is no news server, enter your provider in the „News-Servers” part of the „Settings” tab.", + "If the provider refuses the sign-in, check the username and password there." + ]} + ], + "faq": [ + {"q": "Where do I get NZB files?", + "a": "That is your choice: the box neither provides nor suggests a source. Download only what you have the right to, for example a Linux installer."}, + {"q": "Does the box connect it to Sonarr and Radarr?", + "a": "No: the box connects Sonarr and Radarr to the torrent download clients only. NZBGet works on its own with the NZB files you add."}, + {"q": "Where do I see the sign-in password?", + "a": "On the Felhom dashboard, on NZBGet's „Settings” tab. The username is admin."}, + {"q": "I want the interface in another language. Can I change it?", + "a": "NZBGet follows your browser's language. In the menu of the settings button at the top right, you can choose another language under „Language”."}, + {"q": "Does the download stop if I close the page?", + "a": "No: the download runs on the box, so you can close the page."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/nzbget-labels.txt b/documentation/audits/app-guides-2026-10-15/B/nzbget-labels.txt new file mode 100644 index 00000000..57c202d9 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/nzbget-labels.txt @@ -0,0 +1,38 @@ +corpus_note: nzbgetcom/nzbget@v26.3 (6747878): webui/index.html, webui/locales.source.json (English), webui/_locales/hu/messages.json (Hungarian), webui/i18n.js for the language choice; default UI language: browser language, Hungarian available (HU text uses the Hungarian labels, EN text the English ones) +guide on the box: shown +app: nzbget checked against: v26.3 +corpora: nzbgetcom/nzbget@v26.3:webui/locales.source.json nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json nzbgetcom/nzbget@v26.3:webui/index.html felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 32 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Letöltések” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:454 +OK [hu] „Hozzáadás” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:32 +OK [hu] „Fájlok kiválasztása” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:19 +OK [hu] „Küldés” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:178 +OK [hu] „Előzmények” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:629 +OK [hu] „Sikertelen” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:80 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [hu] „Hova tegyem a fájlokat?” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:157 +OK [hu] „Sebességkorlát” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:718 +OK [hu] „Korlát beállítása” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:717 +OK [hu] „Szünet ennyi időre...” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:731 +OK [hu] „Üzenetek” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:742 +OK [hu] „Hiba” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:107 +OK [hu] „Beállítások” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:15 +OK [hu] „Usenet szerverek” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:397 +OK [hu] „Nyelv” nzbgetcom/nzbget@v26.3:webui/_locales/hu/messages.json:729 +OK [en] „Downloads” nzbgetcom/nzbget@v26.3:webui/locales.source.json:166 +OK [en] „Add” nzbgetcom/nzbget@v26.3:webui/locales.source.json:346 +OK [en] „Select files” nzbgetcom/nzbget@v26.3:webui/locales.source.json:2502 +OK [en] „Submit” nzbgetcom/nzbget@v26.3:webui/locales.source.json:1054 +OK [en] „History” nzbgetcom/nzbget@v26.3:webui/locales.source.json:174 +OK [en] „Failure” nzbgetcom/nzbget@v26.3:webui/locales.source.json:510 +OK [en] „Where do I put my files?” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:161 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +OK [en] „Speed Limit” nzbgetcom/nzbget@v26.3:webui/locales.source.json:1170 +OK [en] „Set limit” nzbgetcom/nzbget@v26.3:webui/locales.source.json:1182 +OK [en] „Pause for...” nzbgetcom/nzbget@v26.3:webui/locales.source.json:1150 +OK [en] „Messages” nzbgetcom/nzbget@v26.3:webui/locales.source.json:190 +OK [en] „Error” nzbgetcom/nzbget@v26.3:webui/locales.source.json:590 +OK [en] „News-Servers” nzbgetcom/nzbget@v26.3:webui/locales.source.json:1454 +OK [en] „Settings” nzbgetcom/nzbget@v26.3:webui/locales.source.json:198 +OK [en] „Language” nzbgetcom/nzbget@v26.3:webui/locales.source.json:90 +RESULT: ALL FOUND — 32 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/onlyoffice-draft.json b/documentation/audits/app-guides-2026-10-15/B/onlyoffice-draft.json new file mode 100644 index 00000000..b4d174e5 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/onlyoffice-draft.json @@ -0,0 +1,85 @@ +{ + "app": "onlyoffice", + "checked_version": "9.4.0", + "corpus_note": "ONLYOFFICE/DocumentServer@v9.4.0 (fb73d33): Readme.md (editions table: 20 connections, no mobile web editors in Community); gtsteffaniak/filebrowser@v1.5.6-stable (5d9b4df): frontend/src (store/getters.js opens a supported file in OnlyOfficeEditor); Felhom side: felhom-controller internal/integrations + app_settings.html, catalog templates/onlyoffice/.felhom.yml (integration labels); every quoted label is a Felhom label (the OnlyOffice editor itself is not quoted); default UI language: n/a (no UI of its own beyond a start page)", + "hu": { + "sections": [ + {"title": "Szerkesztés a Fájlkezelőben", + "intro": "Az OnlyOffice-t nem külön nyitod meg: a Fájlkezelőben dolgozol vele.", + "steps": [ + "A Felhom vezérlőpulton nyisd meg az OnlyOffice „Beállítások” fülét.", + "Az „Integrációk” részben kapcsold be a „FileBrowser integráció” kapcsolót.", + "Várd meg, amíg mellette megjelenik az „Aktív” jelzés.", + "Nyisd meg a Fájlkezelőt, és kattints egy docx, xlsx vagy pptx fájlra: az OnlyOffice szerkesztőben nyílik meg." + ]}, + {"title": "Szerkesztés a Nextcloudban", + "intro": "Ha a Nextcloud is telepítve van, a dokumentumokat ott is szerkesztheted.", + "steps": [ + "Az OnlyOffice „Beállítások” fülén, az „Integrációk” részben kapcsold be a „Nextcloud integráció” kapcsolót.", + "Ha mellette „Nincs telepítve” áll, előbb telepítsd a Nextcloudot.", + "A Nextcloudban kattints egy dokumentumra: az OnlyOffice szerkesztőben nyílik meg." + ]}, + {"title": "Közös szerkesztés", + "intro": "Többen is dolgozhattok egyszerre ugyanazon a fájlon.", + "steps": [ + "Oszd meg a fájlt a Nextcloudban a családtagoddal.", + "Nyissátok meg egyszerre ugyanazt a dokumentumot.", + "Egymás módosításait a szerkesztőben látjátok." + ]} + ], + "faq": [ + {"q": "Mit látok az office.DOMAIN címen?", + "a": "Csak egy kezdőoldalt. Az OnlyOffice dokumentumszerver: a Fájlkezelőn vagy a Nextcloudon keresztül dolgozik, a fájljaidat ott nyisd meg."}, + {"q": "Be kell állítanom a kulcsot vagy a címet?", + "a": "Nem. A kulcsot a doboz a telepítéskor készítette, és az integráció bekapcsolásakor ő adja át a címmel együtt a Nextcloudnak vagy a Fájlkezelőnek."}, + {"q": "Nem nyílnak meg a dokumentumok. Mi történt?", + "a": "Ha az OnlyOffice vagy a másik alkalmazás leáll, az integráció magától szünetel, és indításkor újra bekapcsol. Nézd meg a vezérlőpulton, hogy mindkettő fut-e."}, + {"q": "Hol vannak a dokumentumaim?", + "a": "Ott, ahol eddig: a Fájlkezelőben vagy a Nextcloudban. Az OnlyOffice csak megnyitja és visszamenti őket."}, + {"q": "Hányan szerkeszthetnek egyszerre?", + "a": "A díjmentes kiadás legfeljebb 20 egyidejű kapcsolatot enged. Egy családnak ez bőven elég."}, + {"q": "Telefonon is szerkeszthetek?", + "a": "Az OnlyOffice leírása szerint a díjmentes kiadásban nincs telefonra szabott webes szerkesztő. Szerkesztéshez használj számítógépet."} + ] + }, + "en": { + "sections": [ + {"title": "Edit in the File manager", + "intro": "You do not open OnlyOffice on its own: you work with it in the File manager.", + "steps": [ + "On the Felhom dashboard, open OnlyOffice's „Settings” tab.", + "In the „Integrations” part, switch on „FileBrowser integration”.", + "Wait until „Active” appears next to it.", + "Open the File manager and select a docx, xlsx or pptx file: it opens in the OnlyOffice editor." + ]}, + {"title": "Edit in Nextcloud", + "intro": "If Nextcloud is installed too, you can edit your documents there as well.", + "steps": [ + "On OnlyOffice's „Settings” tab, in the „Integrations” part, switch on „Nextcloud integration”.", + "If it says „Not installed” next to it, install Nextcloud first.", + "In Nextcloud, select a document: it opens in the OnlyOffice editor." + ]}, + {"title": "Edit together", + "intro": "Several people can work on the same file at the same time.", + "steps": [ + "Share the file with your family member in Nextcloud.", + "Open the same document at the same time.", + "You see each other's changes in the editor." + ]} + ], + "faq": [ + {"q": "What do I see at office.DOMAIN?", + "a": "Only a start page. OnlyOffice is a document server: it works through the File manager or Nextcloud, so open your files there."}, + {"q": "Do I have to set the key or the address?", + "a": "No. The box made the key at install, and when you switch an integration on, it hands the key and the address to Nextcloud or the File manager."}, + {"q": "Documents do not open. What happened?", + "a": "If OnlyOffice or the other app stops, the integration pauses by itself and turns on again when it starts. Check on the dashboard that both are running."}, + {"q": "Where are my documents?", + "a": "Where they were before: in the File manager or in Nextcloud. OnlyOffice only opens them and saves them back."}, + {"q": "How many people can edit at the same time?", + "a": "The free edition allows up to 20 connections at the same time. That is plenty for a family."}, + {"q": "Can I edit on my phone?", + "a": "According to OnlyOffice, the free edition has no web editor made for phones. Use a computer for editing."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/onlyoffice-labels.txt b/documentation/audits/app-guides-2026-10-15/B/onlyoffice-labels.txt new file mode 100644 index 00000000..bdf317d3 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/onlyoffice-labels.txt @@ -0,0 +1,18 @@ +corpus_note: ONLYOFFICE/DocumentServer@v9.4.0 (fb73d33): Readme.md (editions table: 20 connections, no mobile web editors in Community); gtsteffaniak/filebrowser@v1.5.6-stable (5d9b4df): frontend/src (store/getters.js opens a supported file in OnlyOfficeEditor); Felhom side: felhom-controller internal/integrations + app_settings.html, catalog templates/onlyoffice/.felhom.yml (integration labels); every quoted label is a Felhom label (the OnlyOffice editor itself is not quoted); default UI language: n/a (no UI of its own beyond a start page) +guide on the box: shown +app: onlyoffice checked against: 9.4.0 +corpora: ONLYOFFICE/DocumentServer@v9.4.0:Readme.md ./filebrowser/repo/frontend/src/i18n/en.json /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/onlyoffice/.felhom.yml felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 12 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Beállítások” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:18 +OK [hu] „Integrációk” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:1138 +OK [hu] „FileBrowser integráció” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/onlyoffice/.felhom.yml:71 +OK [hu] „Aktív” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:929 +OK [hu] „Nextcloud integráció” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/onlyoffice/.felhom.yml:74 +OK [hu] „Nincs telepítve” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:1177 +OK [en] „Settings” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:20 +OK [en] „Integrations” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:1143 +OK [en] „FileBrowser integration” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/onlyoffice/.felhom.yml:121 +OK [en] „Active” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:934 +OK [en] „Nextcloud integration” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/onlyoffice/.felhom.yml:124 +OK [en] „Not installed” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:1182 +RESULT: ALL FOUND — 12 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/opengist-draft.json b/documentation/audits/app-guides-2026-10-15/B/opengist-draft.json new file mode 100644 index 00000000..4514051e --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/opengist-draft.json @@ -0,0 +1,99 @@ +{ + "app": "opengist", + "checked_version": "1.15", + "corpus_note": "thomiceli/opengist@v1.15.2 (5afef9a; the compose pins the floating 1.15 tag, v1.15.2 is the newest 1.15.x and predates the 2026-09-23 ladder test): templates/ (layouts, pages, partials), internal/i18n/locales/en-US.yml and hu-HU.yml, internal/web/server/middlewares.go for the language choice; default UI language: browser language, Hungarian available but partial (missing keys fall back to English); HU text quotes only labels hu-HU.yml translates", + "hu": { + "sections": [ + {"title": "Privát jegyzet mentése", + "intro": "Egy gistbe kódot vagy bármilyen szöveget menthetsz, akár csak magadnak.", + "steps": [ + "Kattints az „Új” gombra.", + "Írj egy címet a „Cím” mezőbe, és adj a fájlnak nevet kiterjesztéssel, például jegyzet.md.", + "Írd vagy másold be a szöveget.", + "A létrehozó gomb melletti nyílra kattintva válaszd a „Privát” lehetőséget.", + "Kattints a „Privát gist létrehozása” gombra." + ]}, + {"title": "Megosztás linkkel", + "intro": "A nem listázott gistet csak az látja, akinek elküldöd a címét.", + "steps": [ + "Létrehozáskor a gomb melletti nyílra kattintva válaszd a „Nem listázott” lehetőséget.", + "Kattints a „Nem listázott gist létrehozása” gombra.", + "Másold ki a gist címét a böngésző címsorából, és küldd el." + ]}, + {"title": "Korábbi változat megnézése", + "intro": "Minden mentés új változatot készít, a régiek megmaradnak.", + "steps": [ + "Nyisd meg a gistet.", + "Az oldalsávban kattints a „Revíziók” pontra.", + "Itt látod, mikor és mi változott." + ]}, + {"title": "Családtag hozzáadása", + "intro": "A regisztráció zárva van, a doboz csak rövid időre nyitja meg.", + "steps": [ + "A Felhom vezérlőpulton, az OpenGist „Beállítások” fülén kattints a „Regisztráció megnyitása 15 percre” gombra.", + "A családtagod nyissa meg a gist.DOMAIN címet, és kattintson a „Regisztráció” gombra.", + "Töltse ki a „Felhasználónév” és a „Jelszó” mezőt, és regisztráljon.", + "A 15 perc végén a regisztráció magától bezárul." + ]} + ], + "faq": [ + {"q": "Ki látja a gistjeimet?", + "a": "A „Privát” gistet csak te. A „Nem listázott” gistet az, akinek elküldöd a címét. A „Nyilvános” gistet bárki láthatja, aki megnyitja a gist.DOMAIN címet."}, + {"q": "Hogyan törlök egy gistet?", + "a": "Nyisd meg a gistet, az oldalsávban kattints a „Beállítások” pontra, majd a „Törlés” gombra."}, + {"q": "Le tudom tölteni a gistet?", + "a": "Igen: a gist oldalán a „Kód” menüben válaszd a „ZIP archívum letöltése” pontot."}, + {"q": "Lehet egy gistben több fájl?", + "a": "Igen: létrehozáskor a „Fájl hozzáadása” gombbal újabb fájlt adhatsz hozzá."}, + {"q": "Miért vegyes nyelvű a felület?", + "a": "Az OpenGist a böngésződ nyelvét követi, de a magyar fordítása nem teljes, ezért néhány felirat angolul marad."} + ] + }, + "en": { + "sections": [ + {"title": "Save a private note", + "intro": "A gist holds code or any text, even just for yourself.", + "steps": [ + "Select „New”.", + "Write a title in the „Title” field and give the file a name with an extension, for example note.md.", + "Type or paste the text.", + "Select the arrow next to the create button and choose „Private”.", + "Select „Create private gist”." + ]}, + {"title": "Share with a link", + "intro": "An unlisted gist is seen only by the people you send its address to.", + "steps": [ + "When you create it, select the arrow next to the button and choose „Unlisted”.", + "Select „Create unlisted gist”.", + "Copy the gist's address from the browser's address bar and send it." + ]}, + {"title": "See an earlier version", + "intro": "Every save makes a new version, and the old ones are kept.", + "steps": [ + "Open the gist.", + "In the sidebar, select „Revisions”.", + "Here you see when and what changed." + ]}, + {"title": "Add a family member", + "intro": "Sign-up is closed, and the box opens it only for a short time.", + "steps": [ + "On the Felhom dashboard, on OpenGist's „Settings” tab, select „Open sign-up for 15 minutes”.", + "Your family member opens gist.DOMAIN and selects „Register”.", + "They fill in the „Username” and „Password” fields and sign up.", + "When the 15 minutes end, sign-up closes by itself." + ]} + ], + "faq": [ + {"q": "Who sees my gists?", + "a": "A „Private” gist only you. An „Unlisted” gist the people you send its address to. A „Public” gist anyone who opens gist.DOMAIN."}, + {"q": "How do I delete a gist?", + "a": "Open the gist, select „Settings” in the sidebar, then „Delete”."}, + {"q": "Can I download a gist?", + "a": "Yes: on the gist's page, choose „Download ZIP” in the „Code” menu."}, + {"q": "Can one gist have several files?", + "a": "Yes: when you create it, „Add file” adds another file."}, + {"q": "Why is the interface in mixed languages?", + "a": "OpenGist follows your browser's language, but its Hungarian translation is not complete, so some labels stay in English."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/opengist-labels.txt b/documentation/audits/app-guides-2026-10-15/B/opengist-labels.txt new file mode 100644 index 00000000..331297a1 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/opengist-labels.txt @@ -0,0 +1,40 @@ +corpus_note: thomiceli/opengist@v1.15.2 (5afef9a; the compose pins the floating 1.15 tag, v1.15.2 is the newest 1.15.x and predates the 2026-09-23 ladder test): templates/ (layouts, pages, partials), internal/i18n/locales/en-US.yml and hu-HU.yml, internal/web/server/middlewares.go for the language choice; default UI language: browser language, Hungarian available but partial (missing keys fall back to English); HU text quotes only labels hu-HU.yml translates +guide on the box: shown +app: opengist checked against: 1.15 +corpora: thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml thomiceli/opengist@v1.15.2:templates felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 34 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Új” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:140 +OK [hu] „Cím” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:31 +OK [hu] „Privát” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:3 +OK [hu] „Privát gist létrehozása” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:45 +OK [hu] „Nem listázott” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:2 +OK [hu] „Nem listázott gist létrehozása” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:44 +OK [hu] „Revíziók” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:14 +OK [hu] „Beállítások” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:97 +OK [hu] „Regisztráció megnyitása 15 percre” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:2625 +OK [hu] „Regisztráció” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:129 +OK [hu] „Felhasználónév” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:131 +OK [hu] „Jelszó” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:125 +OK [hu] „Nyilvános” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:1 +OK [hu] „Törlés” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:9 +OK [hu] „Kód” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:13 +OK [hu] „ZIP archívum letöltése” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:22 +OK [hu] „Fájl hozzáadása” thomiceli/opengist@v1.15.2:internal/i18n/locales/hu-HU.yml:42 +OK [en] „New” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:315 +OK [en] „Title” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:43 +OK [en] „Private” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:3 +OK [en] „Create private gist” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:57 +OK [en] „Unlisted” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:2 +OK [en] „Create unlisted gist” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:56 +OK [en] „Revisions” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:21 +OK [en] „Settings” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:167 +OK [en] „Open sign-up for 15 minutes” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:2637 +OK [en] „Register” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:249 +OK [en] „Username” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:251 +OK [en] „Password” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:199 +OK [en] „Public” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:1 +OK [en] „Delete” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:10 +OK [en] „Download ZIP” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:29 +OK [en] „Code” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:19 +OK [en] „Add file” thomiceli/opengist@v1.15.2:internal/i18n/locales/en-US.yml:54 +RESULT: ALL FOUND — 34 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/outline-draft.json b/documentation/audits/app-guides-2026-10-15/B/outline-draft.json new file mode 100644 index 00000000..2e3b6db7 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/outline-draft.json @@ -0,0 +1,97 @@ +{ + "app": "outline", + "checked_version": "1.10.1", + "corpus_note": "outline/outline@v1.10.1 (4a5a616): shared/i18n/locales/en_US/translation.json, shared/i18n/index.ts (language names), app/ (menus, actions, Sidebar, Sharing, scenes/Settings, scenes/Login), plugins/passkeys and plugins/email (email sign-in is off without SMTP; passkeys on by default), server/utils/authentication.ts (3-month session), server/models/Team.ts, server/routes/api/installation; default UI language: English after sign-in (the first user is created with DEFAULT_LANGUAGE en_US; Hungarian selectable in Preferences), so HU text quotes the English labels", + "hu": { + "sections": [ + {"title": "Passkey hozzáadása a későbbi belépéshez", + "intro": "Ezen a dobozon az Outline-ba nem e-maillel, hanem passkeyjel lépsz be újra.", + "steps": [ + "Nyisd meg a fiókod menüjét a nevednél, és válaszd a „Preferences” (Beállítások) pontot.", + "A bal oldali listában nyisd meg a „Passkeys” oldalt.", + "Kattints az „Add Passkey” (passkey hozzáadása) gombra, és kövesd a böngésző vagy a telefon utasítását.", + "Legközelebb a belépő oldalon a „Continue with Passkey” (folytatás passkeyjel) gombbal lépsz be." + ]}, + {"title": "Dokumentumok rendezése", + "intro": "A dokumentumokat egymás alá rendezheted, így a bal oldali sáv fává áll össze.", + "steps": [ + "A bal oldali sávban húzd az egyik dokumentumot egy másikra: alá kerül.", + "Új aldokumentumhoz vidd az egeret egy dokumentum fölé a sávban, és kattints a + jelre.", + "Ugyanígy húzással rendezheted a sorrendet is." + ]}, + {"title": "Keresés a dokumentumokban", + "intro": "Az Outline minden dokumentum teljes szövegében keres.", + "steps": [ + "Kattints a bal oldali sávban a „Search” (Keresés) pontra.", + "Írd be, amit keresel, és nyomd meg az Enter billentyűt.", + "Kattints a találatra, hogy megnyisd." + ]}, + {"title": "Megosztás linkkel", + "intro": "Egy dokumentumot fiók nélkül is megmutathatsz bárkinek.", + "steps": [ + "Nyisd meg a dokumentumot, és kattints a „Share” (Megosztás) gombra.", + "Kapcsold be a „Publish to web” (közzététel a weben) sor kapcsolóját.", + "Kattints a „Copy public link” (nyilvános link másolása) gombra, és küldd el a linket.", + "A megosztás leállításához kapcsold ki ugyanezt a kapcsolót." + ]} + ], + "faq": [ + {"q": "Meddig maradok bejelentkezve?", + "a": "Egy böngészőben három hónapig. Utána, vagy ha kijelentkezel, csak passkeyjel tudsz belépni, ezért adj hozzá egyet minél előbb."}, + {"q": "Átállíthatom magyarra?", + "a": "Igen: a „Preferences” oldalon a „Language” (Nyelv) mezőben válaszd a „Magyar (Hungarian)” lehetőséget. Ez az útmutató az angol menüneveket használja."}, + {"q": "Hová kerül a törölt dokumentum?", + "a": "A bal oldali sávban látható „Trash” (Lomtár) oldalra."}, + {"q": "Kimenthetek egy dokumentumot fájlba?", + "a": "Igen: a dokumentum menüjében az „Export” (Exportálás) alatt válaszd a „Markdown” vagy a „HTML” formátumot."}, + {"q": "Ki látja a dokumentumaimat?", + "a": "Az Outline fiókkal rendelkező tagjai, és az, akinek a „Publish to web” kapcsolóval nyilvános linket adsz."} + ] + }, + "en": { + "sections": [ + {"title": "Add a passkey for signing in later", + "intro": "On this box you sign back in to Outline with a passkey, not by email.", + "steps": [ + "Open your account menu at your name and choose „Preferences”.", + "In the list on the left, open the „Passkeys” page.", + "Select „Add Passkey” and follow what your browser or phone asks.", + "Next time, sign in on the sign-in page with „Continue with Passkey”." + ]}, + {"title": "Arrange your documents", + "intro": "You can put documents under each other, so the sidebar on the left grows into a tree.", + "steps": [ + "In the sidebar on the left, drag one document onto another: it goes under it.", + "For a new sub-document, move the mouse over a document in the sidebar and select the + sign.", + "You change the order by dragging in the same way." + ]}, + {"title": "Search your documents", + "intro": "Outline searches the full text of every document.", + "steps": [ + "Select „Search” in the sidebar on the left.", + "Type what you are looking for and press Enter.", + "Select a result to open it." + ]}, + {"title": "Share with a link", + "intro": "You can show a document to anyone, even without an account.", + "steps": [ + "Open the document and select „Share”.", + "Switch on the „Publish to web” row.", + "Select „Copy public link” and send the link.", + "To stop sharing, switch the same row off." + ]} + ], + "faq": [ + {"q": "How long do I stay signed in?", + "a": "Three months in one browser. After that, or if you sign out, you can sign in only with a passkey, so add one soon."}, + {"q": "Can I switch it to Hungarian?", + "a": "Yes: on the „Preferences” page, choose Hungarian in the „Language” field. This guide uses the English menu names."}, + {"q": "Where does a deleted document go?", + "a": "To the „Trash” page, which you see in the sidebar on the left."}, + {"q": "Can I save a document to a file?", + "a": "Yes: in the document's menu, under „Export”, choose „Markdown” or „HTML”."}, + {"q": "Who sees my documents?", + "a": "The members with an Outline account, and anyone you give a public link with the „Publish to web” switch."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/outline-labels.txt b/documentation/audits/app-guides-2026-10-15/B/outline-labels.txt new file mode 100644 index 00000000..ac6a100f --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/outline-labels.txt @@ -0,0 +1,33 @@ +corpus_note: outline/outline@v1.10.1 (4a5a616): shared/i18n/locales/en_US/translation.json, shared/i18n/index.ts (language names), app/ (menus, actions, Sidebar, Sharing, scenes/Settings, scenes/Login), plugins/passkeys and plugins/email (email sign-in is off without SMTP; passkeys on by default), server/utils/authentication.ts (3-month session), server/models/Team.ts, server/routes/api/installation; default UI language: English after sign-in (the first user is created with DEFAULT_LANGUAGE en_US; Hungarian selectable in Preferences), so HU text quotes the English labels +guide on the box: shown +app: outline checked against: 1.10.1 +corpora: outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json outline/outline@v1.10.1:shared/i18n/index.ts outline/outline@v1.10.1:app outline/outline@v1.10.1:plugins/passkeys felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 27 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Preferences” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:188 +OK [hu] „Passkeys” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:1240 +OK [hu] „Add Passkey” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:1681 +OK [hu] „Continue with Passkey” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:1110 +OK [hu] „Search” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:180 +OK [hu] „Share” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:292 +OK [hu] „Publish to web” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:541 +OK [hu] „Copy public link” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:92 +OK [hu] „Language” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:1459 +OK [hu] „Magyar (Hungarian)” outline/outline@v1.10.1:shared/i18n/index.ts:56 +OK [hu] „Trash” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:181 +OK [hu] „Export” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:40 +OK [hu] „Markdown” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:80 +OK [hu] „HTML” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:82 +OK [en] „Preferences” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:188 +OK [en] „Passkeys” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:1240 +OK [en] „Add Passkey” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:1681 +OK [en] „Continue with Passkey” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:1110 +OK [en] „Search” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:180 +OK [en] „Share” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:292 +OK [en] „Publish to web” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:541 +OK [en] „Copy public link” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:92 +OK [en] „Language” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:1459 +OK [en] „Trash” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:181 +OK [en] „Export” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:40 +OK [en] „Markdown” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:80 +OK [en] „HTML” outline/outline@v1.10.1:shared/i18n/locales/en_US/translation.json:82 +RESULT: ALL FOUND — 27 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/paperless-ngx-draft.json b/documentation/audits/app-guides-2026-10-15/B/paperless-ngx-draft.json new file mode 100644 index 00000000..665fad7f --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/paperless-ngx-draft.json @@ -0,0 +1,99 @@ +{ + "app": "paperless-ngx", + "checked_version": "2.20.15", + "corpus_note": "paperless-ngx/paperless-ngx@v2.20.15 (05e48b2): src-ui/src/app (English source), src-ui/src/locale/messages.hu_HU.xlf (only units in state translated used), src/paperless/settings.py (hu-hu in LANGUAGES), docs/faq.md, docs/configuration.md, docs/advanced_usage.md; Felhom field label from templates/paperless-ngx/.felhom.yml; no service is named paperless-ngx, so checked_version is the paperless-webserver tag; default UI language: browser language, Hungarian available", + "hu": { + "sections": [ + {"title": "Dokumentum keresése", + "intro": "A Paperless a beolvasott szövegben is keres, nem csak a címben.", + "steps": [ + "Írd be a keresett szót a felső „Keresés” mezőbe.", + "A találatok közül kattints a dokumentumra, és megnyílik.", + "A megnyitott dokumentum „Tevékenységek” menüjében a „Még több ilyen” pont a hasonló dokumentumokat mutatja." + ]}, + {"title": "Egy dokumentum adatainak javítása", + "intro": "Minél több dokumentumot sorolsz be kézzel, annál jobban címkéz a Paperless magától.", + "steps": [ + "Nyisd meg a dokumentumot a „Dokumentumok” oldalon.", + "A „Részletek” lapon javítsd a „Cím”, a „Levelező”, a „Dokumentum típusa” és a „Címkék” mezőt.", + "Kattints a „Mentés” gombra.", + "Az új címkéket és levelezőket a Paperless alapból magától tanulja, így a hasonló iratokat később maga sorolja be." + ]}, + {"title": "Gyakori szűrés a kezdőlapra", + "intro": "Amit sokszor keresel, például a számláidat, azt egy mentett nézet egy kattintásra mutatja.", + "steps": [ + "A „Dokumentumok” oldalon szűrj, például egy címkére.", + "Kattints a „Nézet” menüre, majd a „Mentés másként...” pontra.", + "Adj nevet a nézetnek, és jelöld be a „Megjelenítés a irányítópulton” jelölőt.", + "Kattints a „Mentés” gombra: a nézet megjelenik az „Irányítópult” oldalon." + ]}, + {"title": "Dokumentum megosztása hivatkozással", + "intro": "A hivatkozással olyannak is elküldheted az iratot, akinek nincs fiókja.", + "steps": [ + "Nyisd meg a dokumentumot, és kattints a „Küldés” gombra.", + "Válaszd a „Linkek megosztása” pontot.", + "A „Lejárati idő” listában válaszd ki, meddig éljen a hivatkozás, és kattints a „Létrehoz” gombra.", + "A „Másolás” gombbal másold ki a hivatkozást, és küldd el." + ]} + ], + "faq": [ + {"q": "Milyen fájlokat tölthetek fel?", + "a": "PDF-et, PNG, JPEG, TIFF, GIF és WebP képet, valamint sima szöveges fájlt. Office-fájlokat (például docx) ez a telepítés nem dolgoz fel."}, + {"q": "Rosszul olvassa a szöveget. Mit tehetek?", + "a": "Nézd meg az OCR nyelvét a vezérlőpulton, a Paperless-ngx „Beállítások” fülén, az „OCR nyelv” mezőben. Magyar iratokhoz a „Magyar + Angol” a jó választás."}, + {"q": "Mi lesz a törölt dokumentummal?", + "a": "A „Lomtár” oldalra kerül, és 30 nap múlva végleg törlődik. Addig ott még megtalálod."}, + {"q": "Megváltoztatja a Paperless-ngx az eredeti fájlt?", + "a": "Nem. Az eredeti fájlt változatlanul megőrzi, és rendszeresen ellenőrzi, hogy ép maradt-e."}, + {"q": "Hol vannak a dokumentumaim, és van róluk mentés?", + "a": "A meghajtódon, amelyet telepítéskor választottál. A mentésükről a Paperless-ngx „Adatok és mentés” fülén tájékozódhatsz."} + ] + }, + "en": { + "sections": [ + {"title": "Find a document", + "intro": "Paperless searches the scanned text as well, not only the title.", + "steps": [ + "Type the word you look for into the „Search” field at the top.", + "Select a document among the results to open it.", + "In the „Actions” menu of an open document, „More like this” shows similar documents." + ]}, + {"title": "Fix the details of a document", + "intro": "The more documents you sort by hand, the better Paperless tags by itself.", + "steps": [ + "Open the document on the „Documents” page.", + "On the „Details” tab, fix the „Title”, „Correspondent”, „Document type” and „Tags” fields.", + "Select „Save”.", + "Paperless learns new tags and correspondents by itself by default, so it files similar papers on its own later." + ]}, + {"title": "A frequent filter on the start page", + "intro": "Whatever you look for often, your bills for example, a saved view shows in one click.", + "steps": [ + "On the „Documents” page, filter, for example by a tag.", + "Select the „Views” menu, then „Save as...”.", + "Give the view a name and tick „Show on dashboard”.", + "Select „Save”: the view appears on the „Dashboard” page." + ]}, + {"title": "Share a document with a link", + "intro": "With a link, you can send the paper to someone who has no account.", + "steps": [ + "Open the document and select „Send”.", + "Choose „Share Links”.", + "In the „Expires” list, choose how long the link lives, and select „Create”.", + "Copy the link with „Copy” and send it." + ]} + ], + "faq": [ + {"q": "What files can I upload?", + "a": "PDF, PNG, JPEG, TIFF, GIF and WebP images, and plain text files. This install does not process Office files (docx, for example)."}, + {"q": "It reads the text badly. What can I do?", + "a": "Check the OCR language on the dashboard, on Paperless-ngx's „Settings” tab, in the „OCR language” field. For Hungarian papers, „Hungarian + English” is the right choice."}, + {"q": "What happens to a deleted document?", + "a": "It goes to the „Trash” page and is deleted for good after 30 days. Until then you still find it there."}, + {"q": "Does Paperless-ngx change the original file?", + "a": "No. It keeps the original file unchanged and checks regularly that it is still intact."}, + {"q": "Where are my documents, and are they backed up?", + "a": "On the drive you chose at install time. For their backup, look at the „Data and backup” tab of Paperless-ngx."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/paperless-ngx-labels.txt b/documentation/audits/app-guides-2026-10-15/B/paperless-ngx-labels.txt new file mode 100644 index 00000000..fb0e5b28 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/paperless-ngx-labels.txt @@ -0,0 +1,54 @@ +corpus_note: paperless-ngx/paperless-ngx@v2.20.15 (05e48b2): src-ui/src/app (English source), src-ui/src/locale/messages.hu_HU.xlf (only units in state translated used), src/paperless/settings.py (hu-hu in LANGUAGES), docs/faq.md, docs/configuration.md, docs/advanced_usage.md; Felhom field label from templates/paperless-ngx/.felhom.yml; no service is named paperless-ngx, so checked_version is the paperless-webserver tag; default UI language: browser language, Hungarian available +guide on the box: shown +app: paperless-ngx checked against: 2.20.15 +corpora: paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/paperless-ngx/.felhom.yml felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 48 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Keresés” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:3251 +OK [hu] „Tevékenységek” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:2035 +OK [hu] „Még több ilyen” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:7495 +OK [hu] „Dokumentumok” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:387 +OK [hu] „Részletek” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:7531 +OK [hu] „Cím” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:7555 +OK [hu] „Levelező” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:7599 +OK [hu] „Dokumentum típusa” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:7627 +OK [hu] „Címkék” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:3067 +OK [hu] „Mentés” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:671 +OK [hu] „Nézet” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:3603 +OK [hu] „Mentés másként...” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:8787 +OK [hu] „Megjelenítés a irányítópulton” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:9279 +OK [hu] „Irányítópult” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:347 +OK [hu] „Küldés” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:7515 +OK [hu] „Linkek megosztása” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:6837 +OK [hu] „Lejárati idő” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:6789 +OK [hu] „Létrehoz” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:5899 +OK [hu] „Másolás” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:6533 +OK [hu] „Beállítások” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:411 +OK [hu] „OCR nyelv” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/paperless-ngx/.felhom.yml:126 +OK [hu] „Magyar + Angol” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/paperless-ngx/.felhom.yml:135 +OK [hu] „Lomtár” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/locale/messages.hu_HU.xlf:2215 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Search” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/app-frame/global-search/global-search.component.html:8 +OK [en] „Actions” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/manage/workflows/workflows.component.html:21 +OK [en] „More like this” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/document-list/document-card-large/document-card-large.component.html:69 +OK [en] „Documents” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/app.component.ts:152 +OK [en] „Details” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/document-detail/document-detail.component.html:123 +OK [en] „Title” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/services/toast.service.spec.ts:17 +OK [en] „Correspondent” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/directives/sortable.directive.spec.ts:14 +OK [en] „Document type” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/data/document.ts:50 +OK [en] „Tags” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/data/document.ts:42 +OK [en] „Save” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/manage/saved-views/saved-views.component.html:75 +OK [en] „Views” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/document-list/document-list.component.html:94 +OK [en] „Save as...” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/document-list/document-list.component.html:116 +OK [en] „Show on dashboard” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/manage/saved-views/saved-views.component.html:20 +OK [en] „Dashboard” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/app.component.ts:141 +OK [en] „Send” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/document-detail/document-detail.component.html:84 +OK [en] „Share Links” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/document-detail/document-detail.component.html:88 +OK [en] „Expires” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/common/share-links-dialog/share-links-dialog.component.html:52 +OK [en] „Create” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/manage/management-list/management-list.component.html:13 +OK [en] „Copy” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/manage/workflows/workflows.component.html:56 +OK [en] „Settings” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/app.component.ts:164 +OK [en] „OCR language” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/paperless-ngx/.felhom.yml:213 +OK [en] „Hungarian + English” /mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/templates/paperless-ngx/.felhom.yml:221 +OK [en] „Trash” paperless-ngx/paperless-ngx@v2.20.15:src-ui/src/app/components/app-frame/app-frame.component.html:238 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 48 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/papra-draft.json b/documentation/audits/app-guides-2026-10-15/B/papra-draft.json new file mode 100644 index 00000000..7deb53f1 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/papra-draft.json @@ -0,0 +1,101 @@ +{ + "app": "papra", + "checked_version": "26.6.2-rootless", + "corpus_note": "papra-hq/papra at tag @papra/app@26.6.2 (cf0deb7): apps/papra-client/src (locales/en.dictionary.ts, modules/ui/layouts, documents, tags, tagging-rules, document-share-links, organizations, invitations, i18n); default UI language: browser language among the shipped ones, no Hungarian translation, so a Hungarian browser gets English and HU text quotes the English labels", + "hu": { + "sections": [ + {"title": "Dokumentum címkézése", + "intro": "A címkékkel csoportosítod a dokumentumokat, például Számlák vagy Garancia szerint.", + "steps": [ + "Nyisd meg a dokumentumot.", + "A címkéi mellett kattints a + gombra.", + "Írd be a címke nevét, és válaszd ki a listából, vagy kattints a „Create new tag” (új címke létrehozása) sorra.", + "Az összes címkét a bal oldali menü „Tags” (Címkék) pontjában látod." + ]}, + {"title": "Automatikus címkézés", + "intro": "Egy szabály magától felcímkézi az új dokumentumokat, például minden számlát.", + "steps": [ + "A bal oldali menüben nyisd meg a „Tagging rules” (címkézési szabályok) pontot.", + "Kattints a „Create tagging rule” (szabály létrehozása) gombra, és adj nevet a szabálynak a „Name” (név) mezőben.", + "Az „Add condition” (feltétel hozzáadása) gombbal adj meg egy feltételt, például hogy a dokumentum neve tartalmazza: szamla.", + "A „Tags” (címkék) résznél válaszd ki a címkét, és kattints a „Create rule” (szabály létrehozása) gombra." + ]}, + {"title": "Megosztás linkkel", + "intro": "Egy dokumentumot fiók nélkül is elküldhetsz valakinek.", + "steps": [ + "Nyisd meg a dokumentumot, és kattints a „Share” (Megosztás) gombra.", + "Kattints a „Create new link” (új link) gombra.", + "Ha kell, kapcsold be a „Require a password” (jelszó kérése) vagy a „Set an expiration date” (lejárati idő) beállítást.", + "Kattints a „Create link” (link létrehozása), majd a „Copy link” (link másolása) gombra, és küldd el a linket." + ]}, + {"title": "Családtag hozzáadása", + "intro": "A családtagod saját fiókot kap, aztán meghívod a szervezetedbe.", + "steps": [ + "A Felhom vezérlőpulton, a Papra „Beállítások” fülén kattints a „Regisztráció megnyitása 15 percre” gombra.", + "A családtagod nyissa meg a papra.DOMAIN címet, és a „Register” (Regisztráció) gombbal hozza létre a fiókját.", + "Te a bal oldali menü „Members” (Tagok) pontjában kattints az „Invite member” (tag meghívása) gombra, add meg az e-mail címét, és kattints az „Invite to organization” (meghívás a szervezetbe) gombra.", + "A családtagod a saját beállításai között, az „Invitations” (Meghívások) oldalon az „Accept” (Elfogadás) gombbal lép be a szervezetbe." + ]} + ], + "faq": [ + {"q": "A szabály a régi dokumentumokra is hat?", + "a": "Magától csak az újakra. A régiekhez a szabálynál kattints az „Apply to existing documents” (alkalmazás a meglévőkre) gombra."}, + {"q": "Hogyan állítom le a megosztást?", + "a": "A bal oldali menü „Share links” (Megosztott linkek) pontjában a link műveletei között válaszd a „Disable link” (link kikapcsolása) pontot."}, + {"q": "Hová kerül a törölt dokumentum?", + "a": "A „Deleted documents” (Törölt dokumentumok) oldalra. Egy idő után a Papra innen véglegesen törli."}, + {"q": "Hogyan töltök le egy dokumentumot?", + "a": "Nyisd meg a dokumentumot, és kattints a „Download” (Letöltés) gombra."}, + {"q": "Átállíthatom magyarra?", + "a": "Nem: a Papra nem tartalmaz magyar fordítást, ezért a felület angol. Ez az útmutató ezért az angol neveket használja."} + ] + }, + "en": { + "sections": [ + {"title": "Tag a document", + "intro": "Tags group your documents, for example by Invoices or Warranty.", + "steps": [ + "Open the document.", + "Select the + button next to its tags.", + "Type the tag's name and pick it from the list, or select the „Create new tag” row.", + "You see all tags under „Tags” in the menu on the left." + ]}, + {"title": "Tag automatically", + "intro": "A rule tags new documents by itself, for example every invoice.", + "steps": [ + "In the menu on the left, open „Tagging rules”.", + "Select „Create tagging rule” and give the rule a name in the „Name” field.", + "Use „Add condition” to set a condition, for example that the document name contains: invoice.", + "Under „Tags”, choose the tag and select „Create rule”." + ]}, + {"title": "Share with a link", + "intro": "You can send a document to someone who has no account.", + "steps": [ + "Open the document and select „Share”.", + "Select „Create new link”.", + "If you want, switch on „Require a password” or „Set an expiration date”.", + "Select „Create link”, then „Copy link”, and send the link." + ]}, + {"title": "Add a family member", + "intro": "Your family member gets their own account, and then you invite them into your organization.", + "steps": [ + "On the Felhom dashboard, on Papra's „Settings” tab, select „Open sign-up for 15 minutes”.", + "Your family member opens papra.DOMAIN and creates their account with „Register”.", + "Under „Members” in the menu on the left, select „Invite member”, enter their email address and select „Invite to organization”.", + "Your family member joins the organization with „Accept” on the „Invitations” page of their own settings." + ]} + ], + "faq": [ + {"q": "Does a rule work on older documents too?", + "a": "By itself only on new ones. For older ones, select „Apply to existing documents” at the rule."}, + {"q": "How do I stop sharing?", + "a": "Under „Share links” in the menu on the left, choose „Disable link” in the link's actions."}, + {"q": "Where does a deleted document go?", + "a": "To the „Deleted documents” page. After a while Papra deletes it from there for good."}, + {"q": "How do I download a document?", + "a": "Open the document and select „Download”."}, + {"q": "Can I switch it to Hungarian?", + "a": "No: Papra has no Hungarian translation, so the interface is in English. That is why this guide uses the English names."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/papra-labels.txt b/documentation/audits/app-guides-2026-10-15/B/papra-labels.txt new file mode 100644 index 00000000..37867dbf --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/papra-labels.txt @@ -0,0 +1,58 @@ +corpus_note: papra-hq/papra at tag @papra/app@26.6.2 (cf0deb7): apps/papra-client/src (locales/en.dictionary.ts, modules/ui/layouts, documents, tags, tagging-rules, document-share-links, organizations, invitations, i18n); default UI language: browser language among the shipped ones, no Hungarian translation, so a Hungarian browser gets English and HU text quotes the English labels +guide on the box: shown +app: papra checked against: 26.6.2-rootless +corpora: papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/modules felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 52 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Create new tag” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:777 +OK [hu] „Tags” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:377 +OK [hu] „Tagging rules” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:823 +OK [hu] „Create tagging rule” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:831 +OK [hu] „Name” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:83 +OK [hu] „Add condition” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:851 +OK [hu] „Create rule” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:840 +OK [hu] „Share” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:623 +OK [hu] „Create new link” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:636 +OK [hu] „Require a password” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:639 +OK [hu] „Set an expiration date” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:644 +OK [hu] „Create link” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:653 +OK [hu] „Copy link” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:624 +OK [hu] „Beállítások” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:18 +OK [hu] „Regisztráció megnyitása 15 percre” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:2625 +OK [hu] „Register” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:34 +OK [hu] „Members” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:286 +OK [hu] „Invite member” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:294 +OK [hu] „Invite to organization” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:321 +OK [hu] „Invitations” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:327 +OK [hu] „Accept” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:358 +OK [hu] „Apply to existing documents” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:873 +OK [hu] „Share links” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:634 +OK [hu] „Disable link” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:661 +OK [hu] „Deleted documents” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:542 +OK [hu] „Download” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:419 +OK [en] „Create new tag” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:777 +OK [en] „Tags” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:377 +OK [en] „Tagging rules” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:823 +OK [en] „Create tagging rule” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:831 +OK [en] „Name” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:83 +OK [en] „Add condition” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:851 +OK [en] „Create rule” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:840 +OK [en] „Share” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:623 +OK [en] „Create new link” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:636 +OK [en] „Require a password” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:639 +OK [en] „Set an expiration date” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:644 +OK [en] „Create link” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:653 +OK [en] „Copy link” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:624 +OK [en] „Settings” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:1038 +OK [en] „Open sign-up for 15 minutes” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:2637 +OK [en] „Register” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:34 +OK [en] „Members” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:286 +OK [en] „Invite member” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:294 +OK [en] „Invite to organization” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:321 +OK [en] „Accept” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:358 +OK [en] „Invitations” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:327 +OK [en] „Apply to existing documents” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:873 +OK [en] „Share links” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:634 +OK [en] „Disable link” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:661 +OK [en] „Deleted documents” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:542 +OK [en] „Download” papra-hq/papra at tag @papra/app@26.6.2:apps/papra-client/src/locales/en.dictionary.ts:419 +RESULT: ALL FOUND — 52 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/plant-it-draft.json b/documentation/audits/app-guides-2026-10-15/B/plant-it-draft.json new file mode 100644 index 00000000..ba6316c0 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/plant-it-draft.json @@ -0,0 +1,97 @@ +{ + "app": "plant-it", + "checked_version": "0.10.0", + "corpus_note": "MDeLuise/plant-it@0.10.0 (517fa48): frontend/lib (Flutter UI), frontend/lib/l10n/app_en.arb, backend/src/main/resources/application.properties; default UI language: English (no Hungarian translation; the app follows the device language among da/de/en/es/fr/it/nl/pl/pt/ru/uk/zh)", + "hu": { + "sections": [ + {"title": "Gondozás feljegyzése", + "intro": "Minden öntözést, trágyázást és átültetést egy eseményként jegyzel fel.", + "steps": [ + "Kattints az alsó sáv közepén a plusz gombra.", + "A „Select plants” (növények kiválasztása) részben jelöld meg, melyik növényről van szó.", + "A „Select events” (események kiválasztása) részben válaszd ki, mit csináltál, például „watering” (öntözés).", + "Ha kell, írj megjegyzést az „Add note” (megjegyzés) mezőbe, és mentsd el." + ]}, + {"title": "Emlékeztető beállítása", + "intro": "Az emlékeztető szól, ha egy növény újra gondozásra vár.", + "steps": [ + "Nyisd meg a növényt, és válaszd az „Activity” (tevékenység) fület.", + "A „Reminders” (emlékeztetők) részben kattints az „Add new” (új) gombra.", + "Válaszd ki a teendőt, majd a „Frequency” (gyakoriság) és a „Repeat after” (ismétlés ennyi idő után) mezőben add meg, milyen sűrűn kell.", + "Ha az emlékeztetőnek nincs vége, hagyd üresen a „Select end date” (záró dátum) mezőt." + ]}, + {"title": "Fotónapló a növényről", + "intro": "A fotókból látod, hogyan fejlődik a növény.", + "steps": [ + "Nyisd meg a növényt, és kattints az „Add photos” (fotók hozzáadása) gombra.", + "Válaszd ki a képeket a telefonodról vagy a gépedről.", + "A képeket a növény „Gallery” (galéria) részében találod." + ]}, + {"title": "Családtag saját fiókkal", + "intro": "Minden családtag a saját fiókjával dolgozik, és a saját növényeit látja.", + "steps": [ + "A családtag nyissa meg a plants.DOMAIN címet a saját telefonján vagy gépén.", + "A belépő oldalon kattintson a „Create an account” (fiók létrehozása) pontra.", + "Adja meg a felhasználónevét, az e-mail címét és a jelszavát, és kattintson a „Signup” (regisztráció) gombra." + ]} + ], + "faq": [ + {"q": "Van magyar nyelv?", + "a": "Nincs. A „More” (továbbiak) oldal „Change language” (nyelv módosítása) pontjában angolt vagy más nyelvet választhatsz, magyart nem."}, + {"q": "Miért nem talál semmit a keresés?", + "a": "A doboz nem kötött be online növény-adatbázist, ezért a keresés csak a saját fajaidat találja. Új fajt a keresés találatai között a „Custom” (egyéni) kártyával adhatsz hozzá."}, + {"q": "Látja a családtagom az én növényeimet?", + "a": "Nem. Minden fiók a saját növényeit, eseményeit és fotóit látja."}, + {"q": "Küld e-mailt az emlékeztető?", + "a": "Nem: a doboz ehhez az apphoz nem állított be levélküldést. Az emlékeztetőket az appban látod."}, + {"q": "Kap még frissítést a Plant-it?", + "a": "Nem. A fejlesztő abbahagyta a szerveres változatot, ezért új verzió és biztonsági javítás sem jön hozzá."} + ] + }, + "en": { + "sections": [ + {"title": "Log the care you give", + "intro": "You log each watering, feeding and repotting as an event.", + "steps": [ + "Select the plus button in the middle of the bottom bar.", + "Under „Select plants”, mark which plant it is about.", + "Under „Select events”, choose what you did, for example „watering”.", + "If you want, type a note in „Add note”, and save." + ]}, + {"title": "Set up a reminder", + "intro": "A reminder tells you when a plant needs care again.", + "steps": [ + "Open the plant and choose the „Activity” tab.", + "Under „Reminders”, select „Add new”.", + "Choose the task, then set how often in „Frequency” and „Repeat after”.", + "If the reminder has no end, leave „Select end date” empty." + ]}, + {"title": "A photo log of a plant", + "intro": "The photos show you how the plant is coming along.", + "steps": [ + "Open the plant and select „Add photos”.", + "Choose the pictures from your phone or computer.", + "You find the pictures in the plant's „Gallery”." + ]}, + {"title": "A family member with their own account", + "intro": "Every family member works with their own account and sees their own plants.", + "steps": [ + "The family member opens plants.DOMAIN on their own phone or computer.", + "On the sign-in page they select „Create an account”.", + "They enter a user name, their e-mail address and a password, and select „Signup”." + ]} + ], + "faq": [ + {"q": "Is there a Hungarian language?", + "a": "No. Under „Change language” on the „More” page you can choose English or another language, but not Hungarian."}, + {"q": "Why does the search find nothing?", + "a": "The box did not connect an online plant database, so the search finds only your own species. You add a new species with the „Custom” card among the search results."}, + {"q": "Does my family member see my plants?", + "a": "No. Every account sees its own plants, events and photos."}, + {"q": "Does a reminder send an e-mail?", + "a": "No: the box did not set up e-mail sending for this app. You see the reminders in the app."}, + {"q": "Will Plant-it get updates?", + "a": "No. The developer stopped the server edition, so no new version and no security fix will come for it."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/plant-it-labels.txt b/documentation/audits/app-guides-2026-10-15/B/plant-it-labels.txt new file mode 100644 index 00000000..4ce2c673 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/plant-it-labels.txt @@ -0,0 +1,40 @@ +corpus_note: MDeLuise/plant-it@0.10.0 (517fa48): frontend/lib (Flutter UI), frontend/lib/l10n/app_en.arb, backend/src/main/resources/application.properties; default UI language: English (no Hungarian translation; the app follows the device language among da/de/en/es/fr/it/nl/pl/pt/ru/uk/zh) +guide on the box: hidden +app: plant-it checked against: 0.10.0 +corpora: MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 34 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Select plants” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:104 +OK [hu] „Select events” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:103 +OK [hu] „watering” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:89 +OK [hu] „Add note” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:114 +OK [hu] „Activity” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:378 +OK [hu] „Reminders” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:343 +OK [hu] „Add new” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:350 +OK [hu] „Frequency” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:348 +OK [hu] „Repeat after” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:349 +OK [hu] „Select end date” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:345 +OK [hu] „Add photos” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:136 +OK [hu] „Gallery” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:309 +OK [hu] „Create an account” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:17 +OK [hu] „Signup” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:23 +OK [hu] „More” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:288 +OK [hu] „Change language” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:373 +OK [hu] „Custom” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:258 +OK [en] „Select plants” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:104 +OK [en] „Select events” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:103 +OK [en] „watering” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:89 +OK [en] „Add note” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:114 +OK [en] „Activity” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:378 +OK [en] „Reminders” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:343 +OK [en] „Add new” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:350 +OK [en] „Frequency” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:348 +OK [en] „Repeat after” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:349 +OK [en] „Select end date” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:345 +OK [en] „Add photos” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:136 +OK [en] „Gallery” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:309 +OK [en] „Create an account” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:17 +OK [en] „Signup” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:23 +OK [en] „Change language” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:373 +OK [en] „More” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:288 +OK [en] „Custom” MDeLuise/plant-it@0.10.0:frontend/lib/l10n/app_en.arb:258 +RESULT: ALL FOUND — 34 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/privatebin-draft.json b/documentation/audits/app-guides-2026-10-15/B/privatebin-draft.json new file mode 100644 index 00000000..1d25f155 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/privatebin-draft.json @@ -0,0 +1,95 @@ +{ + "app": "privatebin", + "checked_version": "2.0.6", + "corpus_note": "PrivateBin/PrivateBin@2.0.6 (921ab83): tpl/bootstrap5.php, js/privatebin.js, i18n/hu.json, lib/Configuration.php defaults (the privatebin/pdo image ships no conf.php: PrivateBin/docker-nginx-fpm-alpine@2.0.6-alpine3.24 removes cfg/conf.sample.php); default UI language: browser language, Hungarian available", + "hu": { + "sections": [ + {"title": "Egyszer olvasható üzenet", + "intro": "Ha valamit csak egyszer kell elolvasni, például egy jelszót, a PrivateBin az első olvasás után törli.", + "steps": [ + "Írd be a szöveget.", + "Jelöld be a „Törlés az első olvasás után” jelölőt.", + "A „Lejárati idő” listában válaszd ki, meddig várjon a bejegyzés, ha senki nem nyitja meg.", + "Kattints a „Létrehozás” gombra, majd a „Link másolása” gombra, és küldd el a linket." + ]}, + {"title": "Jelszó a bejegyzésre", + "intro": "A jelszóval a link önmagában kevés: aki megkapja, a jelszót is ismernie kell.", + "steps": [ + "Írd be a szöveget, majd a „Jelszó (ajánlott)” mezőbe egy jelszót.", + "Kattints a „Létrehozás” gombra, és küldd el a linket.", + "A jelszót más úton add át, például telefonon, ne ugyanabban az üzenetben, mint a linket." + ]}, + {"title": "Átküldés telefonra", + "intro": "A számítógépen írt szöveget egy QR-kóddal gyorsan átviheted a telefonodra.", + "steps": [ + "Hozd létre a bejegyzést a „Létrehozás” gombbal.", + "Kattints a „QR-kód” gombra.", + "Olvasd be a kódot a telefonod kamerájával, és nyisd meg a linket." + ]}, + {"title": "Hozzászólások egy bejegyzéshez", + "intro": "Egy bejegyzéshez a címzettek titkosított hozzászólást írhatnak.", + "steps": [ + "Létrehozás előtt jelöld be a „Hozzászólások engedélyezése” jelölőt.", + "A címzett a bejegyzés alatt a „Hozzászólok” gombra kattint.", + "Megadhat egy nevet a „Becenév (amennyiben meg akarod adni)” mezőben, majd a „Beküld” gombbal elküldi a hozzászólást." + ]} + ], + "faq": [ + {"q": "Látja a szöveget a doboz?", + "a": "Nem. A szöveget a böngésződ titkosítja, a kulcs csak a linkben van. A doboz csak titkosított adatot tárol."}, + {"q": "Elvesztettem a linket. Megkereshetem?", + "a": "Nem. A kulcs csak a linkben volt, ezért a bejegyzést nélküle senki nem tudja megnyitni, a doboz sem."}, + {"q": "Törölhetem a bejegyzést lejárat előtt?", + "a": "Igen, de csak közvetlenül a létrehozás után: ekkor megjelenik az „Adat törlése” gomb. Ha ezt az oldalt bezárod, a bejegyzés a lejárati idő végéig megmarad."}, + {"q": "Küldhetek fájlt vagy képet?", + "a": "Nem. Ezen a dobozon a PrivateBin csak szöveget fogad, legfeljebb körülbelül 10 MB-ot."}, + {"q": "Miért kell a „Törlés az első olvasás után” mellé lejárati idő?", + "a": "Ha a címzett soha nem nyitja meg a linket, a bejegyzés a lejárati idő végén akkor is törlődik."} + ] + }, + "en": { + "sections": [ + {"title": "A message that can be read once", + "intro": "When something needs to be read only once, for example a password, PrivateBin deletes it after the first reading.", + "steps": [ + "Type the text.", + "Tick „Burn after reading”.", + "In the „Expires” list, choose how long the document waits if nobody opens it.", + "Select „Create”, then „Copy link”, and send the link." + ]}, + {"title": "A password on a document", + "intro": "With a password the link alone is not enough: whoever gets it must also know the password.", + "steps": [ + "Type the text, then a password in the „Password (recommended)” field.", + "Select „Create” and send the link.", + "Give the password another way, for example by phone, not in the same message as the link." + ]}, + {"title": "Send it to your phone", + "intro": "With a QR code you quickly move text you typed on the computer to your phone.", + "steps": [ + "Create the document with „Create”.", + "Select „QR code”.", + "Scan the code with your phone's camera and open the link." + ]}, + {"title": "Comments on a document", + "intro": "The people you send a document to can write encrypted comments on it.", + "steps": [ + "Before you create it, tick „Open discussion”.", + "Under the document, the recipient selects „Add comment”.", + "They can enter a name in „Optional nickname…”, then send the comment with „Post comment”." + ]} + ], + "faq": [ + {"q": "Does the box see the text?", + "a": "No. Your browser encrypts the text, and the key is only in the link. The box stores only encrypted data."}, + {"q": "I lost the link. Can I look it up?", + "a": "No. The key was only in the link. Without it the document stays locked for everyone, the box included."}, + {"q": "Can I delete a document before it expires?", + "a": "Yes, but only right after you create it: then the „Delete data” button shows. If you close that page, the document stays until it expires."}, + {"q": "Can I send a file or a picture?", + "a": "No. On this box PrivateBin takes text only, up to about 10 MB."}, + {"q": "Why do I need an expiry time next to „Burn after reading”?", + "a": "If the recipient never opens the link, the document is still deleted when the expiry time runs out."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/privatebin-labels.txt b/documentation/audits/app-guides-2026-10-15/B/privatebin-labels.txt new file mode 100644 index 00000000..1cd37eb2 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/privatebin-labels.txt @@ -0,0 +1,28 @@ +corpus_note: PrivateBin/PrivateBin@2.0.6 (921ab83): tpl/bootstrap5.php, js/privatebin.js, i18n/hu.json, lib/Configuration.php defaults (the privatebin/pdo image ships no conf.php: PrivateBin/docker-nginx-fpm-alpine@2.0.6-alpine3.24 removes cfg/conf.sample.php); default UI language: browser language, Hungarian available +guide on the box: shown +app: privatebin checked against: 2.0.6 +corpora: PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php PrivateBin/PrivateBin@2.0.6:js/privatebin.js PrivateBin/PrivateBin@2.0.6:i18n/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 22 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Törlés az első olvasás után” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:33 +OK [hu] „Lejárati idő” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:32 +OK [hu] „Létrehozás” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:29 +OK [hu] „Link másolása” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:228 +OK [hu] „Jelszó (ajánlott)” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:35 +OK [hu] „QR-kód” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:193 +OK [hu] „Hozzászólások engedélyezése” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:34 +OK [hu] „Hozzászólok” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:144 +OK [hu] „Becenév (amennyiben meg akarod adni)” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:145 +OK [hu] „Beküld” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:146 +OK [hu] „Adat törlése” PrivateBin/PrivateBin@2.0.6:i18n/hu.json:155 +OK [en] „Burn after reading” PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php:227 +OK [en] „Expires” PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php:204 +OK [en] „Create” PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php:474 +OK [en] „Copy link” PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php:434 +OK [en] „Password (recommended)” PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php:253 +OK [en] „QR code” PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php:119 +OK [en] „Open discussion” PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php:242 +OK [en] „Add comment” PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php:544 +OK [en] „Optional nickname…” PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php:547 +OK [en] „Post comment” PrivateBin/PrivateBin@2.0.6:tpl/bootstrap5.php:552 +OK [en] „Delete data” PrivateBin/PrivateBin@2.0.6:js/privatebin.js:2120 +RESULT: ALL FOUND — 22 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/radicale-draft.json b/documentation/audits/app-guides-2026-10-15/B/radicale-draft.json new file mode 100644 index 00000000..b075ead3 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/radicale-draft.json @@ -0,0 +1,97 @@ +{ + "app": "radicale", + "checked_version": "3.8.1", + "corpus_note": "Kozea/Radicale@v3.8.1 (a7dd777): radicale/web/internal_data (index.html, js/); default UI language: English (the web interface has no translations)", + "hu": { + "sections": [ + {"title": "Saját naptár minden családtagnak", + "intro": "Egy közös bejelentkezés mellett is lehet mindenkinek külön naptára, saját színnel.", + "steps": [ + "A calendar.DOMAIN oldalon kattints a plusz jelre, amelynek a felirata „Create a new addressbook or calendar” (új címjegyzék vagy naptár).", + "A „Type:” (típus) listában válaszd a „Calendar” (naptár) pontot.", + "A „Title:” (cím) mezőbe írd be a családtag nevét, a „Color:” (szín) mezőben válassz színt.", + "Kattints a „Create” (létrehozás) gombra. A telefonon kapcsold be az új naptárat a szinkronizálásban." + ]}, + {"title": "Meglévő naptár vagy névjegyek áthozása", + "intro": "A régi naptáradat .ics, a névjegyeidet .vcf fájlként hozhatod át.", + "steps": [ + "A régi naptár- vagy névjegy-alkalmazásodban mentsd ki az adatokat .ics vagy .vcf fájlba.", + "A calendar.DOMAIN oldalon kattints a feltöltés jelre, amelynek a felirata „Upload an addressbook or calendar” (címjegyzék vagy naptár feltöltése).", + "A „File:” (fájl) mezőben válaszd ki a fájlt, és kattints az „Upload” (feltöltés) gombra.", + "Ha a sikeres feltöltés üzenetét látod, kattints a „Close” (bezárás) gombra: a naptár megjelenik a listában." + ]}, + {"title": "Naptár a számítógépen", + "intro": "A Thunderbird és más asztali naptárak a naptár címével csatlakoznak.", + "steps": [ + "A calendar.DOMAIN oldalon a naptár neve alatt látod a címét; a mellette lévő másolás gombbal vágólapra teszed.", + "Az asztali naptárban adj hozzá új hálózati (CalDAV) naptárat, és illeszd be a címet.", + "Bejelentkezéskor ugyanazt a nevet és jelszót add meg, mint a telefonodon." + ]}, + {"title": "Naptár átnevezése vagy törlése", + "intro": "A naptár nevét és színét bármikor módosíthatod.", + "steps": [ + "A naptár alatt kattints az „Edit” (szerkesztés) jelre, írd át a „Title:” vagy a „Color:” mezőt, és kattints a „Save” (mentés) gombra.", + "Törléshez kattints a „Delete” (törlés) jelre, és írd be a mezőbe a megjelenő szót.", + "Kattints a „Delete” gombra. A törlés végleges, és a telefonokról is eltűnik a naptár." + ]} + ], + "faq": [ + {"q": "Látják a családtagok egymás naptárát?", + "a": "Igen. A Radicale-ban egy közös bejelentkezés van, ezért mindenki minden naptárat és címjegyzéket lát. A telefonján mindenki kiválaszthatja, melyiket mutassa."}, + {"q": "Elérem otthonon kívül is?", + "a": "Igen. A doboz a calendar.DOMAIN címen elérhetővé tette, így a telefonod bárhonnan szinkronizál a névvel és a jelszóval."}, + {"q": "Létrehoztam egy naptárat, de nincs a telefonomon. Miért?", + "a": "A telefon az új naptárat nem mindig kapcsolja be magától. Nyisd meg a fiókot a szinkronizáló appban, frissítsd a naptárak listáját, és kapcsold be az újat."}, + {"q": "Tudok feladatlistát is vezetni?", + "a": "Igen. Új gyűjteménynél a „Type:” listában válaszd a „Tasks” (feladatok) vagy a „Calendar and tasks” (naptár és feladatok) típust. A telefonon olyan feladat-app jeleníti meg, amely tud CalDAV-ot."}, + {"q": "Mi történik, ha törlök egy naptárat?", + "a": "A naptár és minden eseménye végleg eltűnik, a telefonokról is. Ha bizonytalan vagy, előtte a naptár alatti letöltés jellel ments egy példányt a gépedre."} + ] + }, + "en": { + "sections": [ + {"title": "A calendar for every family member", + "intro": "Even with one shared login, everyone can have their own calendar in their own colour.", + "steps": [ + "On calendar.DOMAIN, select the plus sign labelled „Create a new addressbook or calendar”.", + "In the „Type:” list, choose „Calendar”.", + "Type the family member's name in „Title:”, and pick a colour in „Color:”.", + "Select „Create”. On the phone, turn the new calendar on for syncing." + ]}, + {"title": "Bring over an existing calendar or contacts", + "intro": "You bring over your old calendar as an .ics file and your contacts as a .vcf file.", + "steps": [ + "In your old calendar or contacts app, save the data into an .ics or .vcf file.", + "On calendar.DOMAIN, select the upload sign labelled „Upload an addressbook or calendar”.", + "In „File:”, choose the file and select „Upload”.", + "When you see the upload succeeded, select „Close”: the calendar shows in the list." + ]}, + {"title": "The calendar on a computer", + "intro": "Thunderbird and other desktop calendars connect with the calendar's address.", + "steps": [ + "On calendar.DOMAIN you see the calendar's address under its name; the copy button next to it puts it on the clipboard.", + "In the desktop calendar, add a new network (CalDAV) calendar and paste the address.", + "When it asks you to sign in, enter the same name and password as on your phone." + ]}, + {"title": "Rename or delete a calendar", + "intro": "You can change a calendar's name and colour at any time.", + "steps": [ + "Under the calendar, select the „Edit” sign, change „Title:” or „Color:”, and select „Save”.", + "To delete it, select the „Delete” sign and type the word shown into the box.", + "Select „Delete”. Deleting is final, and the calendar goes from the phones too." + ]} + ], + "faq": [ + {"q": "Do family members see each other's calendars?", + "a": "Yes. Radicale has one shared login, so everyone sees every calendar and address book. On their phone, each person chooses which ones to show."}, + {"q": "Can I reach it away from home?", + "a": "Yes. The box made it reachable on calendar.DOMAIN, so your phone syncs from anywhere with the name and the password."}, + {"q": "I made a calendar, but it is not on my phone. Why?", + "a": "The phone does not always turn a new calendar on by itself. Open the account in the sync app, refresh the list of calendars and turn the new one on."}, + {"q": "Can I keep a task list too?", + "a": "Yes. For a new collection, choose „Tasks” or „Calendar and tasks” in the „Type:” list. On the phone, a task app that speaks CalDAV shows it."}, + {"q": "What happens if I delete a calendar?", + "a": "The calendar and all its events are gone for good, from the phones too. If you are unsure, first save a copy to your computer with the download sign under the calendar."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/radicale-labels.txt b/documentation/audits/app-guides-2026-10-15/B/radicale-labels.txt new file mode 100644 index 00000000..3df2b2af --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/radicale-labels.txt @@ -0,0 +1,36 @@ +corpus_note: Kozea/Radicale@v3.8.1 (a7dd777): radicale/web/internal_data (index.html, js/); default UI language: English (the web interface has no translations) +guide on the box: shown +app: radicale checked against: 3.8.1 +corpora: Kozea/Radicale@v3.8.1:radicale/web/internal_data felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 30 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Create a new addressbook or calendar” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:60 +OK [hu] „Type:” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:124 +OK [hu] „Calendar” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:84 +OK [hu] „Title:” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:136 +OK [hu] „Color:” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:142 +OK [hu] „Create” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:338 +OK [hu] „Upload an addressbook or calendar” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:63 +OK [hu] „File:” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:392 +OK [hu] „Upload” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:397 +OK [hu] „Close” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:231 +OK [hu] „Edit” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:102 +OK [hu] „Save” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:147 +OK [hu] „Delete” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:112 +OK [hu] „Tasks” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:86 +OK [hu] „Calendar and tasks” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:82 +OK [en] „Create a new addressbook or calendar” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:60 +OK [en] „Type:” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:124 +OK [en] „Calendar” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:84 +OK [en] „Title:” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:136 +OK [en] „Color:” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:142 +OK [en] „Create” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:338 +OK [en] „Upload an addressbook or calendar” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:63 +OK [en] „File:” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:392 +OK [en] „Upload” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:397 +OK [en] „Close” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:231 +OK [en] „Edit” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:102 +OK [en] „Save” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:147 +OK [en] „Delete” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:112 +OK [en] „Tasks” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:86 +OK [en] „Calendar and tasks” Kozea/Radicale@v3.8.1:radicale/web/internal_data/index.html:82 +RESULT: ALL FOUND — 30 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/rallly-draft.json b/documentation/audits/app-guides-2026-10-15/B/rallly-draft.json new file mode 100644 index 00000000..8214d1ce --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/rallly-draft.json @@ -0,0 +1,131 @@ +{ + "app": "rallly", + "checked_version": "4.15.3", + "corpus_note": "lukevella/rallly@v4.15.3 (1e5d48a): apps/web/public/locales/hu/app.json, apps/web/public/locales/en/app.json, apps/web/src; image built with SELF_HOSTED=true (.github/workflows/docker-image.yml), so every paid feature is on; default UI language: browser language, Hungarian available", + "hu": { + "sections": [ + { + "title": "A végleges időpont kiválasztása", + "intro": "Ha mindenki szavazott, kiválasztod a nyertes időpontot.", + "steps": [ + "Nyisd meg a szavazást, és kattints a „Kezelés” menüre.", + "Válaszd a „Véglegesítés” pontot.", + "Jelöld ki az időpontot, amelyre a legtöbben mondtak igent, és kattints a „Véglegesítés” gombra.", + "A szavazás oldalán a „Hozzáadás a naptárhoz” gombbal beteheted az időpontot a naptáradba." + ] + }, + { + "title": "Új időpont a szavazáshoz", + "intro": "Ha egyik időpont sem jó, újakat adhatsz hozzá.", + "steps": [ + "A szavazásnál kattints a „Kezelés” menüre, és válaszd a „Lehetőségek módosítása” pontot.", + "Jelölj ki új napokat vagy időpontokat a naptárban.", + "Kattints a „Mentés” gombra. A régi szavazatok megmaradnak." + ] + }, + { + "title": "Titkos szavazás", + "intro": "Beállíthatod, hogy a résztvevők ne lássák egymás szavazatát vagy nevét.", + "steps": [ + "A szavazásnál kattints a „Kezelés” menüre, és válaszd a „Beállítások szerkesztése” pontot.", + "Kapcsold be a „Szavazatok elrejtése” vagy a „Résztvevők nevének elrejtése” beállítást.", + "Kattints a „Mentés” gombra." + ] + }, + { + "title": "A szavazás lezárása", + "intro": "Ha már nem vársz több szavazatot, lezárhatod a szavazást.", + "steps": [ + "A szavazásnál kattints a „Kezelés” menüre, és válaszd a „Szüneteltetés” pontot. Ezután senki nem tud szavazni.", + "Ha mégis kell, ugyanitt a „Szavazás újranyitása” ponttal újra megnyithatod.", + "Az eredményt a „Kezelés” menü „Exportálás CSV fájlba” pontjával táblázatba mentheted." + ] + } + ], + "faq": [ + { + "q": "Kell fiók a szavazáshoz?", + "a": "A szavazóknak nem. A résztvevő megnyitja a linket, kiválasztja a jó időpontokat, beírja a nevét, és az „Elérhetőség mentése” gombra kattint. Szavazást létrehozni viszont csak belépve lehet." + }, + { + "q": "Miért nem jön e-mail a Rallly-tól?", + "a": "A Rallly e-mailben küldi a belépő kódot és az értesítéseket, ezért e-mail nélkül belépni sem tudsz. A vezérlőpulton, a Rallly „Beállítások” fülén kapcsold be az „Email-küldés engedélyezése ennél az alkalmazásnál” lehetőséget." + }, + { + "q": "Mit jelent a „Ha szükséges” válasz?", + "a": "Azt, hogy az időpont nem ideális, de a résztvevő meg tudja oldani. Véglegesítéskor ezt is érdemes figyelembe venni." + }, + { + "q": "Elrontottam a szavazatomat. Javíthatom?", + "a": "Igen. A résztvevők listájában a neved melletti menüben válaszd a „Szavazatok szerkesztése” pontot." + }, + { + "q": "Hogyan törlök egy szavazást?", + "a": "Nyisd meg a szavazást, a „Kezelés” menüben válaszd a „Törlés” pontot, és erősítsd meg." + } + ] + }, + "en": { + "sections": [ + { + "title": "Choose the final date", + "intro": "When everyone has voted, you choose the winning date.", + "steps": [ + "Open the poll and select the „Manage” menu.", + "Choose „Schedule”.", + "Pick the date most people said yes to, and select „Schedule”.", + "On the poll page, „Add to calendar” puts the date into your calendar." + ] + }, + { + "title": "A new date for the poll", + "intro": "If none of the dates suits, you can add new ones.", + "steps": [ + "On the poll, select the „Manage” menu and choose „Edit options”.", + "Mark new days or times in the calendar.", + "Select „Save”. The earlier votes stay." + ] + }, + { + "title": "A secret vote", + "intro": "You can set it so that participants do not see each other's votes or names.", + "steps": [ + "On the poll, select the „Manage” menu and choose „Edit settings”.", + "Turn on „Hide votes” or „Hide participant names”.", + "Select „Save”." + ] + }, + { + "title": "Close the poll", + "intro": "When you expect no more votes, you can close the poll.", + "steps": [ + "On the poll, select the „Manage” menu and choose „Close”. After that nobody can vote.", + "If you need it again, „Reopen poll” in the same place opens it again.", + "„Export to CSV” in the „Manage” menu saves the result as a spreadsheet." + ] + } + ], + "faq": [ + { + "q": "Do you need an account to vote?", + "a": "Voters do not. The participant opens the link, picks the dates that suit, types their name and selects „Save availability”. To create a poll, though, you must be signed in." + }, + { + "q": "Why does no e-mail come from Rallly?", + "a": "Rallly sends its sign-in code and its notices by e-mail, so without e-mail you cannot even sign in. On the dashboard, turn on „Allow sending e-mail for this app” on Rallly's „Settings” tab." + }, + { + "q": "What does the „If need be” answer mean?", + "a": "That the date is not ideal, but the participant can make it. Keep it in mind when you choose the final date." + }, + { + "q": "I got my vote wrong. Can I fix it?", + "a": "Yes. In the list of participants, choose „Edit votes” in the menu next to your name." + }, + { + "q": "How do I delete a poll?", + "a": "Open the poll, choose „Delete” in the „Manage” menu, and confirm." + } + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/rallly-labels.txt b/documentation/audits/app-guides-2026-10-15/B/rallly-labels.txt new file mode 100644 index 00000000..e6da1665 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/rallly-labels.txt @@ -0,0 +1,40 @@ +corpus_note: lukevella/rallly@v4.15.3 (1e5d48a): apps/web/public/locales/hu/app.json, apps/web/public/locales/en/app.json, apps/web/src; image built with SELF_HOSTED=true (.github/workflows/docker-image.yml), so every paid feature is on; default UI language: browser language, Hungarian available +guide on the box: shown +app: rallly checked against: 4.15.3 +corpora: lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json lukevella/rallly@v4.15.3:apps/web/src felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 34 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Kezelés” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:497 +OK [hu] „Véglegesítés” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:737 +OK [hu] „Hozzáadás a naptárhoz” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:36 +OK [hu] „Lehetőségek módosítása” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:277 +OK [hu] „Mentés” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:734 +OK [hu] „Beállítások szerkesztése” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:278 +OK [hu] „Szavazatok elrejtése” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:369 +OK [hu] „Résztvevők nevének elrejtése” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:366 +OK [hu] „Szüneteltetés” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:141 +OK [hu] „Szavazás újranyitása” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:690 +OK [hu] „Exportálás CSV fájlba” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:332 +OK [hu] „Elérhetőség mentése” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:545 +OK [hu] „Beállítások” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:650 +OK [hu] „Email-küldés engedélyezése ennél az alkalmazásnál” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:1119 +OK [hu] „Ha szükséges” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:372 +OK [hu] „Szavazatok szerkesztése” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:279 +OK [hu] „Törlés” lukevella/rallly@v4.15.3:apps/web/public/locales/hu/app.json:220 +OK [en] „Manage” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:497 +OK [en] „Schedule” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:739 +OK [en] „Add to calendar” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:36 +OK [en] „Edit options” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:277 +OK [en] „Save” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:736 +OK [en] „Edit settings” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:278 +OK [en] „Hide votes” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:369 +OK [en] „Hide participant names” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:366 +OK [en] „Close” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:140 +OK [en] „Reopen poll” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:692 +OK [en] „Export to CSV” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:332 +OK [en] „Save availability” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:545 +OK [en] „Allow sending e-mail for this app” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:1124 +OK [en] „Settings” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:769 +OK [en] „If need be” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:372 +OK [en] „Edit votes” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:279 +OK [en] „Delete” lukevella/rallly@v4.15.3:apps/web/public/locales/en/app.json:220 +RESULT: ALL FOUND — 34 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/recipe-importer-draft.json b/documentation/audits/app-guides-2026-10-15/B/recipe-importer-draft.json new file mode 100644 index 00000000..e3b160b3 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/recipe-importer-draft.json @@ -0,0 +1,135 @@ +{ + "app": "recipe-importer", + "checked_version": "v0.9.11", + "corpus_note": "admin/recipe-importer@main (48c033c; the repo has NO git tags, so v0.9.11 is matched by CHANGELOG.md: its top entry is v0.9.11 and app/templates last changed in 23f0fc5, the v0.9.11 favicon commit; the one later code-free commit only edits app/assets/logo.svg): app/templates, app/scraper.py; default UI language: Hungarian only (no English translation). The English guide names the Hungarian-only labels by their meaning, unquoted: the copy gate refuses Hungarian letters in English text", + "hu": { + "sections": [ + { + "title": "Sok recept egyszerre", + "intro": "Ha sok receptet gyűjtöttél, egyszerre is behozhatod őket.", + "steps": [ + "Az „Importálás” oldalon válaszd a „Tömeges importálás” fület.", + "Az „URL-ek (soronként egy)” mezőbe másold be a receptek címét, mindegyiket új sorba.", + "Válaszd a „Receptek egyenkénti áttekintése” módot, ha mindet megnéznéd, vagy az „Automatikus importálás” módot, ha nem.", + "Kattints az „Importálás Mealie-be”, az „Importálás Tandoor-ba” vagy az „Importálás mindkettőbe” gombra.", + "Ha áttekintés közben meggondolod magad, a „Maradékot automatikusan” gombbal a többit már magától hozza be." + ] + }, + { + "title": "Recept javítása importálás előtt", + "intro": "A „Beolvasás” után a receptet még átírhatod, mielőtt elküldöd.", + "steps": [ + "Nézd át a „Hozzávalók” listát: a mennyiség, az egység és a hozzávaló külön mezőben van.", + "Hiányzó sorhoz kattints a „+ Hozzávaló”, új lépéshez a „+ Lépés hozzáadása” gombra.", + "A „Címkék” résznél törölheted vagy kiegészítheted a címkéket.", + "Ha kész, kattints az importálás gombra." + ] + }, + { + "title": "Receptek keresése és javítása", + "intro": "A már behozott recepteket is innen keresheted és javíthatod.", + "steps": [ + "Nyisd meg a „Receptek” oldalt, és válaszd a „Mealie” vagy a „Tandoor” fület.", + "Írd be a keresett szót, és kattints a „Keresés” gombra.", + "A recept melletti „Szerkesztés” gombbal megnyitod, javítod, majd a „Mentés” gombbal elmented." + ] + }, + { + "title": "Ha az importálás nem sikerül", + "intro": "A legtöbbször a kapcsolat a Mealie-vel vagy a Tandoorral szakad meg.", + "steps": [ + "Nyisd meg a „Beállítások” oldalt.", + "A „Mealie kapcsolat” vagy a „Tandoor kapcsolat” résznél kattints a „Kapcsolat tesztelése” gombra.", + "Ha hibát jelez, hozz létre új API kulcsot a Mealie-ben vagy a Tandoorban, írd be az „API kulcs” mezőbe, és kattints a „Mentés” gombra." + ] + } + ], + "faq": [ + { + "q": "Hova kerülnek a receptek?", + "a": "A Mealie-be vagy a Tandoorba, attól függően, melyik gombot választod. A Recipe Importer maga nem tárol recepteket." + }, + { + "q": "Melyik oldalakról tud importálni?", + "a": "A beolvasó mező fölött felsorolt magyar receptoldalakról. Más oldalakról is megpróbálja, ha az oldal szabványos receptadatot tesz közzé." + }, + { + "q": "Kell a belső címet megadnom?", + "a": "Nem. A doboz ezt elintézte: a Recipe Importer a dobozon belül közvetlenül éri el a Mealie-t és a Tandoort. Te csak a böngészőből elérhető címet és az API kulcsot adod meg." + }, + { + "q": "Nem kellenek a weboldal címkéi. Mit tegyek?", + "a": "Tömeges importálásnál, automatikus módban válaszd a „Címkék nélkül” lehetőséget. Egyenként importálva a „Címkék” résznél törölheted őket." + }, + { + "q": "Visszavonhatom a törlést?", + "a": "Nem. A „Recept törlése” a receptet a Mealie-ből vagy a Tandoorból is végleg törli." + } + ] + }, + "en": { + "sections": [ + { + "title": "Many recipes at once", + "intro": "If you have collected many recipes, you can bring them all in at once.", + "steps": [ + "On the import page, choose the second tab, the one for bulk import.", + "Paste the recipe addresses into the big box, each on a new line.", + "Choose the first option to review each recipe, or the second one to import them all without a check.", + "Select the import button for Mealie, for Tandoor or for both.", + "If you change your mind while reviewing, the button for the rest brings in the others by itself." + ] + }, + { + "title": "Fix a recipe before you import it", + "intro": "After you read a recipe in, you can still change it before you send it.", + "steps": [ + "Check the list of ingredients: amount, unit and ingredient each have their own field.", + "For a missing ingredient or a new step, use the buttons with a plus sign under the lists.", + "Under the tags you can remove or add tags.", + "When you are done, select the import button." + ] + }, + { + "title": "Find and fix recipes", + "intro": "You can also find and fix the recipes you already brought in.", + "steps": [ + "Open the recipes page from the top menu and choose the „Mealie” or the „Tandoor” tab.", + "Type the word you are looking for and select the search button.", + "The pencil button next to a recipe opens it; fix it and save with the button at the bottom." + ] + }, + { + "title": "When importing does not work", + "intro": "Most of the time the connection to Mealie or Tandoor has broken.", + "steps": [ + "Open the settings page from the top menu.", + "In the Mealie or the Tandoor part, select the button that tests the connection.", + "If it reports an error, create a new API key in Mealie or Tandoor, enter it in the API key field, and save." + ] + } + ], + "faq": [ + { + "q": "Where do the recipes go?", + "a": "Into Mealie or Tandoor, depending on the button you choose. Recipe Importer itself stores no recipes." + }, + { + "q": "Which sites can it import from?", + "a": "From the Hungarian recipe sites listed above the address field. It also tries other sites if the page publishes standard recipe data." + }, + { + "q": "Do I have to enter the internal address?", + "a": "No. The box did that: Recipe Importer reaches Mealie and Tandoor directly inside the box. You only enter the address you use in the browser and the API key." + }, + { + "q": "I do not want the website's tags. What do I do?", + "a": "For a bulk import in automatic mode, choose the option without tags. When you import one at a time, remove them under the tags." + }, + { + "q": "Can I undo a delete?", + "a": "No. Deleting a recipe here deletes it from Mealie or Tandoor for good." + } + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/recipe-importer-labels.txt b/documentation/audits/app-guides-2026-10-15/B/recipe-importer-labels.txt new file mode 100644 index 00000000..3346d9c9 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/recipe-importer-labels.txt @@ -0,0 +1,35 @@ +corpus_note: admin/recipe-importer@main (48c033c; the repo has NO git tags, so v0.9.11 is matched by CHANGELOG.md: its top entry is v0.9.11 and app/templates last changed in 23f0fc5, the v0.9.11 favicon commit; the one later code-free commit only edits app/assets/logo.svg): app/templates, app/scraper.py; default UI language: Hungarian only (no English translation). The English guide names the Hungarian-only labels by their meaning, unquoted: the copy gate refuses Hungarian letters in English text +guide on the box: shown +app: recipe-importer checked against: v0.9.11 +corpora: admin/recipe-importer@main:app/templates felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 29 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Importálás” admin/recipe-importer@main:app/templates/base.html:221 +OK [hu] „Tömeges importálás” admin/recipe-importer@main:app/templates/import.html:323 +OK [hu] „URL-ek (soronként egy)” admin/recipe-importer@main:app/templates/import.html:347 +OK [hu] „Receptek egyenkénti áttekintése” admin/recipe-importer@main:app/templates/import.html:353 +OK [hu] „Automatikus importálás” admin/recipe-importer@main:app/templates/import.html:357 +OK [hu] „Importálás Mealie-be” admin/recipe-importer@main:app/templates/import.html:376 +OK [hu] „Importálás Tandoor-ba” admin/recipe-importer@main:app/templates/import.html:379 +OK [hu] „Importálás mindkettőbe” admin/recipe-importer@main:app/templates/import.html:382 +OK [hu] „Maradékot automatikusan” admin/recipe-importer@main:app/templates/import.html:391 +OK [hu] „Beolvasás” admin/recipe-importer@main:app/templates/import.html:334 +OK [hu] „Hozzávalók” admin/recipe-importer@main:app/templates/recipe_edit.html:306 +OK [hu] „+ Hozzávaló” admin/recipe-importer@main:app/templates/recipe_edit.html:315 +OK [hu] „+ Lépés hozzáadása” admin/recipe-importer@main:app/templates/recipe_edit.html:324 +OK [hu] „Címkék” admin/recipe-importer@main:app/templates/recipe_edit.html:329 +OK [hu] „Receptek” admin/recipe-importer@main:app/templates/base.html:222 +OK [hu] „Mealie” admin/recipe-importer@main:app/templates/recipes.html:314 +OK [hu] „Tandoor” admin/recipe-importer@main:app/templates/recipes.html:317 +OK [hu] „Keresés” admin/recipe-importer@main:app/templates/recipes.html:326 +OK [hu] „Szerkesztés” admin/recipe-importer@main:app/templates/recipes.html:508 +OK [hu] „Mentés” admin/recipe-importer@main:app/templates/settings.html:120 +OK [hu] „Beállítások” admin/recipe-importer@main:app/templates/base.html:223 +OK [hu] „Mealie kapcsolat” admin/recipe-importer@main:app/templates/settings.html:44 +OK [hu] „Tandoor kapcsolat” admin/recipe-importer@main:app/templates/settings.html:69 +OK [hu] „Kapcsolat tesztelése” admin/recipe-importer@main:app/templates/settings.html:61 +OK [hu] „API kulcs” admin/recipe-importer@main:app/templates/settings.html:51 +OK [hu] „Címkék nélkül” admin/recipe-importer@main:app/templates/import.html:368 +OK [hu] „Recept törlése” admin/recipe-importer@main:app/templates/recipes.html:367 +OK [en] „Mealie” admin/recipe-importer@main:app/templates/recipes.html:314 +OK [en] „Tandoor” admin/recipe-importer@main:app/templates/recipes.html:317 +RESULT: ALL FOUND — 29 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/romm-draft.json b/documentation/audits/app-guides-2026-10-15/B/romm-draft.json new file mode 100644 index 00000000..f5fa6f2f --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/romm-draft.json @@ -0,0 +1,133 @@ +{ + "app": "romm", + "checked_version": "5.3.1", + "corpus_note": "rommapp/romm@5.3.1 (95599da): frontend/src/locales/en_US, frontend/src/v2 (the new UI is the default: composables/useUiVersion.ts), frontend/src/stores/language.ts; default UI language: English (en_US until the user picks a language; Hungarian hu_HU available in the language setting, stored per browser)", + "hu": { + "sections": [ + { + "title": "Játék a böngészőben", + "intro": "Sok retró platform játéka közvetlenül a böngészőben fut, telepítés nélkül.", + "steps": [ + "Kattints felül a „Platforms” (Platformok) menüre, és válaszd ki a platformot.", + "Kattints a játékra: megnyílik az oldala.", + "Kattints a „Play” (Indítás) gombra. Ha nincs ilyen gomb, ezt a platformot a böngésző nem tudja futtatni; a „Download” (Letöltés) gombbal a saját emulátorodba töltheted le." + ] + }, + { + "title": "Saját fiók a családtagoknak", + "intro": "Mindenki saját fiókkal lép be, így a kedvencei külön maradnak.", + "steps": [ + "Kattints jobb felül a profilképedre, és válaszd az „Administration” (Adminisztráció) pontot.", + "A „Users” (Felhasználók) részben kattints az „Add” (Hozzáadás) gombra.", + "Add meg a „Username” (felhasználónév) és a „Password” (jelszó) mezőt, a „Repeat password” mezőbe írd be újra a jelszót, és kattints a „Create” (létrehozás) gombra.", + "Ha inkább a családtag választ jelszót, az „Invite link” (meghívó link) gombbal készíts linket a „Generate” gombbal, és küldd el neki a „Copy link” gombbal." + ] + }, + { + "title": "Kedvencek és gyűjtemények", + "intro": "A gyűjteményekbe összeválogathatod a játékokat, például a gyerekeknek valókat.", + "steps": [ + "Nyisd meg a játékot, és kattints a „Manage collections” (gyűjtemények kezelése) gombra.", + "Új gyűjteményhez kattints a „Create collection” (gyűjtemény létrehozása) pontra, írd be a nevét, és kattints a „Create” gombra.", + "Jelöld be, melyik gyűjteménybe kerüljön a játék.", + "A gyűjteményeidet felül a „Collections” (Gyűjtemények) menüben találod." + ] + }, + { + "title": "Feltöltés a böngészőből", + "intro": "Néhány játékot a fájlkezelő nélkül, közvetlenül a böngészőből is feltölthetsz.", + "steps": [ + "Kattints jobb felül a profilképedre, és válaszd az „Upload ROMs” (ROM-ok feltöltése) pontot.", + "A „Select a platform” (platform választása) listában válaszd ki, melyik géphez tartozik a játék.", + "Húzd a fájlokat a „Drop files here” (húzd ide a fájlokat) részre, és kattints az „Upload” (feltöltés) gombra. A RomM utána magától beolvassa őket." + ] + } + ], + "faq": [ + { + "q": "Lehet magyarul?", + "a": "Igen. Kattints a profilképedre, válaszd a „User interface” (felhasználói felület) pontot, és a „Language” (nyelv) résznél válaszd a „Magyar” nyelvet. A beállítás böngészőnként külön érvényes." + }, + { + "q": "Milyen játékot tölthetek fel?", + "a": "Csak olyat, amely a tiéd: például a saját kazettádról vagy lemezedről készített mentést." + }, + { + "q": "Miért nincs borító és leírás a játékoknál?", + "a": "Ehhez metaadat-szolgáltató kell. Állítsd be a vezérlőpulton, a RomM „Beállítások” fülén, majd a RomM „Scan” (Szkennelés) oldalán futtass „Update metadata” (metaadatok frissítése) szkennelést." + }, + { + "q": "Miért nem ismeri fel a játékot?", + "a": "A RomM a fájl nevéből keresi meg a játékot. Nevezd át a fájlt a játék pontos címére, és futtass újra egy szkennelést a „Scan” oldalon." + }, + { + "q": "Hogyan változtatok jelszót?", + "a": "Kattints a profilképedre, válaszd a „Profile” (Profil) pontot, majd a „Change password” (jelszó módosítása) gombot. Add meg az új jelszót kétszer, és kattints a „Confirm” (megerősítés) gombra." + } + ] + }, + "en": { + "sections": [ + { + "title": "Play in the browser", + "intro": "Games for many retro platforms run right in the browser, with nothing to install.", + "steps": [ + "Select „Platforms” at the top and choose the platform.", + "Select the game: its page opens.", + "Select „Play”. If there is no such button, the browser cannot run this platform; „Download” gets the game for your own emulator." + ] + }, + { + "title": "Own accounts for the family", + "intro": "Everyone signs in with their own account, so their favourites stay separate.", + "steps": [ + "Select your profile picture at the top right and choose „Administration”.", + "Under „Users”, select „Add”.", + "Fill in „Username” and „Password”, type the password again in „Repeat password”, and select „Create”.", + "If the family member should choose their own password, make a link under „Invite link” with „Generate”, and send it to them with „Copy link”." + ] + }, + { + "title": "Favourites and collections", + "intro": "In collections you can group games, for example the ones for the children.", + "steps": [ + "Open the game and select „Manage collections”.", + "For a new collection, select „Create collection”, type its name and select „Create”.", + "Tick the collections the game should go into.", + "You find your collections under „Collections” at the top." + ] + }, + { + "title": "Upload from the browser", + "intro": "You can upload a few games straight from the browser, without the file manager.", + "steps": [ + "Select your profile picture at the top right and choose „Upload ROMs”.", + "In „Select a platform”, choose which console the game is for.", + "Drag the files onto „Drop files here” and select „Upload”. RomM then reads them in by itself." + ] + } + ], + "faq": [ + { + "q": "Can it be in Hungarian?", + "a": "Yes. Select your profile picture, choose „User interface”, and under „Language” choose Hungarian, listed under its own name. The setting applies to each browser separately." + }, + { + "q": "Which games may I upload?", + "a": "Only games that are yours: for example a copy you made of your own cartridge or disc." + }, + { + "q": "Why do the games have no cover or description?", + "a": "That needs a metadata provider. Set one up on the dashboard, on RomM's „Settings” tab, then run an „Update metadata” scan on RomM's „Scan” page." + }, + { + "q": "Why does it not recognise the game?", + "a": "RomM looks the game up by the file name. Rename the file to the game's exact title and run a scan again on the „Scan” page." + }, + { + "q": "How do I change my password?", + "a": "Select your profile picture, choose „Profile”, then „Change password”. Enter the new password twice and select „Confirm”." + } + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/romm-labels.txt b/documentation/audits/app-guides-2026-10-15/B/romm-labels.txt new file mode 100644 index 00000000..42e47807 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/romm-labels.txt @@ -0,0 +1,63 @@ +corpus_note: rommapp/romm@5.3.1 (95599da): frontend/src/locales/en_US, frontend/src/v2 (the new UI is the default: composables/useUiVersion.ts), frontend/src/stores/language.ts; default UI language: English (en_US until the user picks a language; Hungarian hu_HU available in the language setting, stored per browser) +guide on the box: shown +app: romm checked against: 5.3.1 +corpora: rommapp/romm@5.3.1:frontend/src/locales/en_US rommapp/romm@5.3.1:frontend/src/stores/language.ts felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 57 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Platforms” rommapp/romm@5.3.1:frontend/src/locales/en_US/setup.json:56 +OK [hu] „Play” rommapp/romm@5.3.1:frontend/src/locales/en_US/rom.json:302 +OK [hu] „Download” rommapp/romm@5.3.1:frontend/src/locales/en_US/rom.json:133 +OK [hu] „Administration” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:399 +OK [hu] „Users” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:293 +OK [hu] „Add” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:9 +OK [hu] „Username” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:514 +OK [hu] „Password” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:274 +OK [hu] „Repeat password” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:338 +OK [hu] „Create” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:46 +OK [hu] „Invite link” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:210 +OK [hu] „Generate” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:73 +OK [hu] „Copy link” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:81 +OK [hu] „Manage collections” rommapp/romm@5.3.1:frontend/src/locales/en_US/rom.json:183 +OK [hu] „Create collection” rommapp/romm@5.3.1:frontend/src/locales/en_US/collection.json:5 +OK [hu] „Collections” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:285 +OK [hu] „Upload ROMs” rommapp/romm@5.3.1:frontend/src/locales/en_US/platform.json:139 +OK [hu] „Select a platform” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:143 +OK [hu] „Drop files here” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:60 +OK [hu] „Upload” rommapp/romm@5.3.1:frontend/src/locales/en_US/rom.json:202 +OK [hu] „User interface” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:186 +OK [hu] „Language” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:212 +OK [hu] „Magyar” rommapp/romm@5.3.1:frontend/src/stores/language.ts:22 +OK [hu] „Beállítások” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:18 +OK [hu] „Scan” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:352 +OK [hu] „Update metadata” rommapp/romm@5.3.1:frontend/src/locales/en_US/scan.json:76 +OK [hu] „Profile” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:129 +OK [hu] „Change password” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:29 +OK [hu] „Confirm” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:41 +OK [en] „Platforms” rommapp/romm@5.3.1:frontend/src/locales/en_US/setup.json:56 +OK [en] „Play” rommapp/romm@5.3.1:frontend/src/locales/en_US/rom.json:302 +OK [en] „Download” rommapp/romm@5.3.1:frontend/src/locales/en_US/rom.json:133 +OK [en] „Administration” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:399 +OK [en] „Users” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:293 +OK [en] „Add” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:9 +OK [en] „Username” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:514 +OK [en] „Password” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:274 +OK [en] „Repeat password” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:338 +OK [en] „Create” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:46 +OK [en] „Invite link” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:210 +OK [en] „Generate” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:73 +OK [en] „Copy link” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:81 +OK [en] „Manage collections” rommapp/romm@5.3.1:frontend/src/locales/en_US/rom.json:183 +OK [en] „Create collection” rommapp/romm@5.3.1:frontend/src/locales/en_US/collection.json:5 +OK [en] „Collections” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:285 +OK [en] „Upload ROMs” rommapp/romm@5.3.1:frontend/src/locales/en_US/platform.json:139 +OK [en] „Select a platform” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:143 +OK [en] „Drop files here” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:60 +OK [en] „Upload” rommapp/romm@5.3.1:frontend/src/locales/en_US/rom.json:202 +OK [en] „User interface” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:186 +OK [en] „Language” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:212 +OK [en] „Settings” rommapp/romm@5.3.1:frontend/src/locales/en_US/platform.json:99 +OK [en] „Update metadata” rommapp/romm@5.3.1:frontend/src/locales/en_US/scan.json:76 +OK [en] „Scan” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:352 +OK [en] „Profile” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:129 +OK [en] „Change password” rommapp/romm@5.3.1:frontend/src/locales/en_US/settings.json:29 +OK [en] „Confirm” rommapp/romm@5.3.1:frontend/src/locales/en_US/common.json:41 +RESULT: ALL FOUND — 57 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/sabnzbd-draft.json b/documentation/audits/app-guides-2026-10-15/B/sabnzbd-draft.json new file mode 100644 index 00000000..b6ad6832 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/sabnzbd-draft.json @@ -0,0 +1,101 @@ +{ + "app": "sabnzbd", + "checked_version": "version-5.1.3", + "corpus_note": "sabnzbd/sabnzbd@5.1.3 (a647f73): sabnzbd/skintext.py (the English UI strings), interfaces/Glitter, interfaces/Config, interfaces/wizard; default UI language: English (setting language = en, no Hungarian translation shipped)", + "hu": { + "sections": [ + {"title": "NZB fájl hozzáadása", + "intro": "Az NZB fájl mondja meg a SABnzbd-nek, mit töltsön le a szolgáltatódtól; csak olyat adj hozzá, amelynek a tartalmához jogod van.", + "steps": [ + "Kattints a felső sávban a plusz jelre: megnyílik az „Add NZB” (NZB hozzáadása) ablak.", + "Az „Upload NZB” (NZB feltöltése) részben kattints a „Browse” (Tallózás) gombra, és válaszd ki a fájlt.", + "Ha szeretnéd, a „Category” (kategória) mezőben válassz kategóriát, például movies.", + "Kattints az „Add” (Hozzáadás) gombra. A letöltés megjelenik a sorban.", + "A fájlt az ablakba húzva is hozzáadhatod." + ]}, + {"title": "Letöltés szüneteltetése", + "intro": "Ha épp másra kell az internet, a letöltést bármikor megállíthatod.", + "steps": [ + "Kattints a felső sávban a szünet gombra („Pause”, szünet). Ugyanez a gomb folytatja („Resume”, folytatás).", + "A gomb melletti nyíllal megadhatod, meddig álljon, például „Pause for 1 hour” (szünet 1 órára).", + "Egyetlen letöltést a sorban, a sora elején lévő gombbal állíthatsz meg." + ]}, + {"title": "Letöltés csak éjjel", + "intro": "Beállíthatod, hogy a SABnzbd napközben álljon, és éjjel töltsön.", + "steps": [ + "Kattints a fogaskerékre („Config”, beállítások), és nyisd meg a „Scheduling” (ütemezés) lapot.", + "Válaszd ki a reggeli időpontot, a „Frequency” (gyakoriság) alatt jelöld be a napokat, az „Action” (művelet) legyen „Pause” (szünet).", + "Kattints az „Add Schedule” (ütemezés hozzáadása) gombra.", + "Ugyanígy adj hozzá egy esti időpontot a „Resume” (folytatás) művelettel." + ]}, + {"title": "Ha egy letöltés nem sikerül", + "intro": "A kész és a sikertelen letöltéseket a sor alatti „History” (előzmények) lista mutatja.", + "steps": [ + "A sikertelen letöltés mellett „Failed” (sikertelen) áll. Kattints a „Retry” (újra) gombra.", + "Ha semmi sem töltődik, nyisd meg a „Config” (beállítások) „Servers” (szerverek) lapját, és kattints a „Test Server” (szerver tesztelése) gombra.", + "Ha a teszt hibát ad, javítsd a szolgáltatód adatait, és kattints a „Save Changes” (változások mentése) gombra.", + "Ha a teszt rendben van, de a letöltés újra sikertelen, a tartalom hiányos lehet a szolgáltatónál: próbálj másik NZB fájlt." + ]} + ], + "faq": [ + {"q": "Hová kerülnek a félkész letöltések?", + "a": "A meghajtódon a media/usenet/incomplete mappába. Amikor egy letöltés elkészül, a SABnzbd átteszi a complete mappába; a félkész fájlokhoz ne nyúlj."}, + {"q": "Miért tart sokáig a letöltés vége?", + "a": "Letöltés után a SABnzbd ellenőrzi, szükség esetén javítja és kicsomagolja a fájlokat. Ez a letöltés méretétől függően eltarthat egy ideig, közben a „History” (előzmények) listában látod az állapotát."}, + {"q": "Lassíthatom a letöltést?", + "a": "Igen. A „Config” (beállítások) „General” (általános) lapján add meg a „Maximum line speed” (legnagyobb sebesség) mezőben a kapcsolatod sebességét, a „Percentage of line speed” (százalék) mezőben azt, mennyit használhat, majd kattints a „Save Changes” (változások mentése) gombra."}, + {"q": "Összeköti a doboz a Sonarrral és a Radarral?", + "a": "Nem. A doboz a Sonarrba és a Radarrba a torrent letöltőket (qBittorrent, Transmission) köti be. A SABnzbd azokat az NZB fájlokat tölti le, amelyeket te adsz hozzá."}, + {"q": "Kell portot nyitnom hozzá?", + "a": "Nem. A SABnzbd csak kifelé kapcsolódik a szolgáltatódhoz, így a doboz zárt portjai itt nem lassítanak."} + ] + }, + "en": { + "sections": [ + {"title": "Add an NZB file", + "intro": "The NZB file tells SABnzbd what to download from your provider; add only one whose content you have the right to.", + "steps": [ + "Select the plus sign in the bar at the top: the „Add NZB” window opens.", + "Under „Upload NZB”, select „Browse” and choose the file.", + "If you like, choose a category in „Category”, for example movies.", + "Select „Add”. The download appears in the queue.", + "You can also drag the file into the window." + ]}, + {"title": "Pause the downloads", + "intro": "When you need your internet line for something else, you can stop the downloads at any time.", + "steps": [ + "Select the pause button in the bar at the top („Pause”). The same button carries on („Resume”).", + "With the arrow next to it, set how long it waits, for example „Pause for 1 hour”.", + "To stop a single download, use the button at the start of its row in the queue." + ]}, + {"title": "Download only at night", + "intro": "You can make SABnzbd wait during the day and download at night.", + "steps": [ + "Select the gear („Config”) and open the „Scheduling” page.", + "Choose the morning time, tick the days under „Frequency”, and set „Action” to „Pause”.", + "Select „Add Schedule”.", + "In the same way, add an evening time with the „Resume” action." + ]}, + {"title": "When a download fails", + "intro": "The „History” list under the queue shows the finished and the failed downloads.", + "steps": [ + "A failed download says „Failed”. Select „Retry”.", + "If nothing downloads at all, open the „Servers” page of „Config” and select „Test Server”.", + "If the test shows an error, correct your provider's details and select „Save Changes”.", + "If the test is fine but the download fails again, the content may be incomplete at the provider: try another NZB file." + ]} + ], + "faq": [ + {"q": "Where do unfinished downloads go?", + "a": "On your drive, into the media/usenet/incomplete folder. When a download is done, SABnzbd moves it to the complete folder; leave the unfinished files alone."}, + {"q": "Why does the end of a download take so long?", + "a": "After the download, SABnzbd checks the files, repairs them if needed and unpacks them. Depending on the size this can take a while; the „History” list shows where it is."}, + {"q": "Can I slow the downloads down?", + "a": "Yes. On the „General” page of „Config”, enter your line speed in „Maximum line speed” and how much of it SABnzbd may use in „Percentage of line speed”, then select „Save Changes”."}, + {"q": "Does the box connect it to Sonarr and Radarr?", + "a": "No. The box connects the torrent download clients (qBittorrent, Transmission) to Sonarr and Radarr. SABnzbd downloads the NZB files you add yourself."}, + {"q": "Do I have to open a port for it?", + "a": "No. SABnzbd only connects outwards to your provider, so the box's closed ports do not slow it down."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/sabnzbd-labels.txt b/documentation/audits/app-guides-2026-10-15/B/sabnzbd-labels.txt new file mode 100644 index 00000000..8038859e --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/sabnzbd-labels.txt @@ -0,0 +1,50 @@ +corpus_note: sabnzbd/sabnzbd@5.1.3 (a647f73): sabnzbd/skintext.py (the English UI strings), interfaces/Glitter, interfaces/Config, interfaces/wizard; default UI language: English (setting language = en, no Hungarian translation shipped) +guide on the box: shown +app: sabnzbd checked against: version-5.1.3 +corpora: sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py sabnzbd/sabnzbd@5.1.3:interfaces felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 44 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Add NZB” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:810 +OK [hu] „Upload NZB” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:869 +OK [hu] „Browse” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:356 +OK [hu] „Category” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:151 +OK [hu] „Add” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:149 +OK [hu] „Pause” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:147 +OK [hu] „Resume” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:148 +OK [hu] „Pause for 1 hour” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:814 +OK [hu] „Config” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:125 +OK [hu] „Scheduling” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:137 +OK [hu] „Frequency” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:599 +OK [hu] „Action” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:600 +OK [hu] „Add Schedule” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:598 +OK [hu] „History” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:124 +OK [hu] „Failed” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:35 +OK [hu] „Retry” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:173 +OK [hu] „Servers” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:33 +OK [hu] „Test Server” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:588 +OK [hu] „Save Changes” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:329 +OK [hu] „General” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:133 +OK [hu] „Maximum line speed” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:302 +OK [hu] „Percentage of line speed” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:303 +OK [en] „Add NZB” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:810 +OK [en] „Upload NZB” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:869 +OK [en] „Browse” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:356 +OK [en] „Category” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:151 +OK [en] „Add” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:149 +OK [en] „Pause” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:147 +OK [en] „Resume” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:148 +OK [en] „Pause for 1 hour” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:814 +OK [en] „Config” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:125 +OK [en] „Scheduling” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:137 +OK [en] „Frequency” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:599 +OK [en] „Action” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:600 +OK [en] „Add Schedule” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:598 +OK [en] „History” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:124 +OK [en] „Failed” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:35 +OK [en] „Retry” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:173 +OK [en] „Servers” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:33 +OK [en] „Test Server” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:588 +OK [en] „Save Changes” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:329 +OK [en] „General” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:133 +OK [en] „Maximum line speed” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:302 +OK [en] „Percentage of line speed” sabnzbd/sabnzbd@5.1.3:sabnzbd/skintext.py:303 +RESULT: ALL FOUND — 44 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/seerr-draft.json b/documentation/audits/app-guides-2026-10-15/B/seerr-draft.json new file mode 100644 index 00000000..501ec5cf --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/seerr-draft.json @@ -0,0 +1,97 @@ +{ + "app": "seerr", + "checked_version": "2.7.3", + "corpus_note": "fallenbagel/jellyseerr@v2.7.3 (e842036): src/i18n/locale/en.json, src/components, src/pages; default UI language: English (server setting locale = en, not the browser's; a Hungarian translation ships and can be chosen under Display Language)", + "hu": { + "sections": [ + {"title": "Film vagy sorozat kérése", + "intro": "Bármelyik családtag kérhet filmet vagy sorozatot, a Jellyseerr pedig továbbadja a Radarrnak vagy a Sonarrnak.", + "steps": [ + "Írd be a címet a felső „Search Movies & TV” (keresés) mezőbe.", + "Nyisd meg a találatot, és kattints a „Request” (kérés) gombra.", + "Sorozatnál jelöld be a kívánt évadokat.", + "Erősítsd meg a kérést az ablak alján lévő gombbal." + ]}, + {"title": "Kérések jóváhagyása", + "intro": "A családtag kérése addig vár, amíg jóvá nem hagyod.", + "steps": [ + "Nyisd meg a bal oldali menüben a „Requests” (kérések) oldalt.", + "A várakozó kérés mellett „Pending” (függőben) áll.", + "Kattints az „Approve” (jóváhagyás) gombra, és a kérés a Radarrhoz vagy a Sonarrhoz kerül. A „Decline” (elutasítás) elveti." + ]}, + {"title": "Kérés jóváhagyás nélkül", + "intro": "Akiben megbízol, annak a kérését nem kell külön jóváhagynod.", + "steps": [ + "Nyisd meg a „Users” (felhasználók) oldalt, és a családtag sorában kattints az „Edit” (szerkesztés) gombra.", + "Nyisd meg a „Permissions” (jogosultságok) lapot, és jelöld be az „Auto-Approve” (automatikus jóváhagyás) jelölőt.", + "Kattints a „Save Changes” (változások mentése) gombra." + ]}, + {"title": "Hiba jelzése egy filmnél", + "intro": "Ha egy film rossz hanggal vagy felirat nélkül érkezett, a családtag jelezheti neked.", + "steps": [ + "Nyisd meg a filmet, és kattints a figyelmeztető jelre („Report an Issue”, hiba jelzése).", + "Válaszd ki, mi a gond, például „Audio” (hang) vagy „Subtitle” (felirat), és írd le röviden.", + "Kattints a „Submit Issue” (beküldés) gombra.", + "A beküldött jelzéseket az „Issues” (hibák) oldalon látod." + ]} + ], + "faq": [ + {"q": "Jóváhagytam, de nem töltődik le. Miért?", + "a": "A doboz a Sonarrban és a Radarrban minden meghajtóhoz címkét adott (például hdd-1), és csak a címkézett tétel kap letöltőt. A Jellyseerr „Settings” (beállítások) „Services” (szolgáltatások) oldalán a Radarrnál és a Sonarrnál a „Root Folder” (gyökérmappa) és a „Tags” (címkék) ugyanannak a meghajtónak a mappáját és címkéjét válassza."}, + {"q": "Mit írjak be a Radarr és a Sonarr címéhez?", + "a": "A „Hostname or IP Address” (cím) mezőbe radarr, a „Port” mezőbe 7878 kerül; a Sonarrnál sonarr és 8989. Az API kulcsot a Radarr és a Sonarr saját beállításaiban találod."}, + {"q": "Mit jelent az „Available” állapot?", + "a": "A film vagy a sorozat letöltődött, és a Jellyfinben vagy a Plexben nézheted."}, + {"q": "Lehet magyar a felület?", + "a": "Igen. A „Settings” (beállítások) „General” (általános) lapján a „Display Language” (megjelenítési nyelv) mezőben válaszd a magyart, majd kattints a „Save Changes” (változások mentése) gombra."}, + {"q": "Mit kérhetek?", + "a": "Csak olyan tartalmat, amihez jogod van, például szabad licencű filmeket. Hogy honnan jön a letöltés, azt a Prowlarrban te döntöd el."} + ] + }, + "en": { + "sections": [ + {"title": "Ask for a film or a series", + "intro": "Anyone in the family can ask for a film or a series, and Jellyseerr hands it to Radarr or Sonarr.", + "steps": [ + "Type the title into the „Search Movies & TV” box at the top.", + "Open the result and select „Request”.", + "For a series, tick the seasons you want.", + "Confirm the request with the button at the bottom of the window." + ]}, + {"title": "Approve requests", + "intro": "A family member's request waits until you approve it.", + "steps": [ + "Open the „Requests” page in the menu on the left.", + "A waiting request says „Pending”.", + "Select „Approve”, and the request goes to Radarr or Sonarr. „Decline” drops it." + ]}, + {"title": "Requests without approval", + "intro": "For someone you trust, you do not have to approve each request.", + "steps": [ + "Open the „Users” page and select „Edit” in the family member's row.", + "Open the „Permissions” tab and tick „Auto-Approve”.", + "Select „Save Changes”." + ]}, + {"title": "Report a problem with a film", + "intro": "If a film came with the wrong audio or without subtitles, a family member can tell you.", + "steps": [ + "Open the film and select the warning sign („Report an Issue”).", + "Choose what is wrong, for example „Audio” or „Subtitle”, and describe it briefly.", + "Select „Submit Issue”.", + "You see the reports on the „Issues” page." + ]} + ], + "faq": [ + {"q": "I approved it, but it does not download. Why?", + "a": "The box gave Sonarr and Radarr a tag for every drive (for example hdd-1), and only a tagged item gets a download client. On the „Services” page of Jellyseerr's „Settings”, make „Root Folder” and „Tags” for Radarr and Sonarr name the folder and the tag of the same drive."}, + {"q": "What do I enter as the address of Radarr and Sonarr?", + "a": "In „Hostname or IP Address” enter radarr, and in „Port” 7878; for Sonarr, sonarr and 8989. You find the API key in Radarr's and Sonarr's own settings."}, + {"q": "What does „Available” mean?", + "a": "The film or series has downloaded, and you can watch it in Jellyfin or Plex."}, + {"q": "Can the interface be in Hungarian?", + "a": "Yes. On the „General” tab of „Settings”, choose Hungarian in „Display Language”, then select „Save Changes”."}, + {"q": "What may I ask for?", + "a": "Only content you have the right to, for example films under a free licence. Where the download comes from is your choice in Prowlarr."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/seerr-labels.txt b/documentation/audits/app-guides-2026-10-15/B/seerr-labels.txt new file mode 100644 index 00000000..a3e85e93 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/seerr-labels.txt @@ -0,0 +1,56 @@ +corpus_note: fallenbagel/jellyseerr@v2.7.3 (e842036): src/i18n/locale/en.json, src/components, src/pages; default UI language: English (server setting locale = en, not the browser's; a Hungarian translation ships and can be chosen under Display Language) +guide on the box: shown +app: seerr checked against: 2.7.3 +corpora: fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json fallenbagel/jellyseerr@v2.7.3:src/components fallenbagel/jellyseerr@v2.7.3:src/pages felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 50 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Search Movies & TV” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:218 +OK [hu] „Request” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:419 +OK [hu] „Requests” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:224 +OK [hu] „Pending” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1519 +OK [hu] „Approve” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1485 +OK [hu] „Decline” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1500 +OK [hu] „Users” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:226 +OK [hu] „Edit” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1506 +OK [hu] „Permissions” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1460 +OK [hu] „Auto-Approve” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:391 +OK [hu] „Save Changes” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1145 +OK [hu] „Report an Issue” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:203 +OK [hu] „Audio” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:211 +OK [hu] „Subtitle” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:213 +OK [hu] „Submit Issue” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:205 +OK [hu] „Issues” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:192 +OK [hu] „Settings” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:225 +OK [hu] „Services” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1123 +OK [hu] „Root Folder” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:467 +OK [hu] „Tags” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:524 +OK [hu] „Hostname or IP Address” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:801 +OK [hu] „Port” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:257 +OK [hu] „Available” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1488 +OK [hu] „General” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:945 +OK [hu] „Display Language” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:217 +OK [en] „Search Movies & TV” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:218 +OK [en] „Request” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:419 +OK [en] „Requests” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:224 +OK [en] „Pending” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1519 +OK [en] „Approve” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1485 +OK [en] „Decline” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1500 +OK [en] „Users” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:226 +OK [en] „Edit” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1506 +OK [en] „Permissions” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1460 +OK [en] „Auto-Approve” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:391 +OK [en] „Save Changes” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1145 +OK [en] „Report an Issue” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:203 +OK [en] „Audio” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:211 +OK [en] „Subtitle” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:213 +OK [en] „Submit Issue” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:205 +OK [en] „Issues” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:192 +OK [en] „Services” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1123 +OK [en] „Settings” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:225 +OK [en] „Root Folder” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:467 +OK [en] „Tags” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:524 +OK [en] „Hostname or IP Address” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:801 +OK [en] „Port” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:257 +OK [en] „Available” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:1488 +OK [en] „General” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:945 +OK [en] „Display Language” fallenbagel/jellyseerr@v2.7.3:src/i18n/locale/en.json:217 +RESULT: ALL FOUND — 50 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/sparkyfitness-draft.json b/documentation/audits/app-guides-2026-10-15/B/sparkyfitness-draft.json new file mode 100644 index 00000000..4e18aaa6 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/sparkyfitness-draft.json @@ -0,0 +1,135 @@ +{ + "app": "sparkyfitness", + "checked_version": "v0.17.3", + "corpus_note": "CodeWithCJ/SparkyFitness@v0.17.3 (2a7e0d8): SparkyFitnessFrontend/public/locales/en/translation.json, SparkyFitnessFrontend/src, docs/content; default UI language: English (a new account's saved preference is language en, which overrides the browser; Hungarian ships and can be chosen under Preferences)", + "hu": { + "sections": [ + { + "title": "Étel felvétele a naplóba", + "intro": "A „Diary” (Napló) oldalon étkezésenként rögzíted, mit ettél.", + "steps": [ + "A „Breakfast” (Reggeli) vagy egy másik étkezés kártyáján kattints az evőeszköz ikonra („Add a new food item”, étel hozzáadása).", + "Írd be az étel nevét a keresőbe. A saját ételeid mellett az online adatbázis találatai is megjelennek.", + "Válaszd ki az ételt. Az online találat adatait előbb mentsd: így a saját ételeid közé kerül.", + "A „Quantity” (mennyiség) mezőben add meg, mennyit ettél, és kattints az „Add to Meal” (hozzáadás az étkezéshez) gombra." + ] + }, + { + "title": "Testsúly rögzítése", + "intro": "A testsúlyodat és a méreteidet a „Check-In” (napi mérés) oldalon vezeted.", + "steps": [ + "Nyisd meg a „Check-In” oldalt.", + "Írd be a súlyodat a „Weight” (testsúly) mezőbe. Ha szeretnéd, a derék- és a csípőméretet is.", + "Kattints a „Save Check-In” (mentés) gombra.", + "A változást a „Reports” (kimutatások) oldalon grafikonon látod." + ] + }, + { + "title": "Családtag hozzáadása", + "intro": "Minden családtag saját fiókkal vezeti a saját naplóját.", + "steps": [ + "A vezérlőpulton az alkalmazás „Beállítások” fülén kattints a „Regisztráció megnyitása 15 percre” gombra.", + "A családtag ezalatt megnyitja a sparky.DOMAIN címet, és regisztrál.", + "A 15 perc letelte után a regisztráció magától bezárul." + ] + }, + { + "title": "Napló megosztása családtaggal", + "intro": "Megengedheted egy családtagnak, hogy lássa a kimutatásaidat, vagy helyetted vezesse a naplódat.", + "steps": [ + "Nyisd meg a „Settings” (Beállítások) oldalt, és a „Family Access” (családi hozzáférés) részben kattints az „Add Family Member” (családtag hozzáadása) gombra.", + "A „Family Member Email” (a családtag e-mail címe) mezőbe írd be azt a címet, amellyel regisztrált.", + "Jelöld be, mit tehet, például „Can View Reports” (kimutatások megtekintése) vagy „Can Manage Diary” (napló vezetése), és mentsd.", + "A családtag a jobb felső sarokban válthat át a te profilodra." + ] + } + ], + "faq": [ + { + "q": "Lehet magyar a felület?", + "a": "Igen. A „Settings” (Beállítások) oldalon nyisd meg a „Preferences” (beállítások) részt, a „Language” (nyelv) mezőben válaszd a magyart, és kattints a „Save Preferences” (mentés) gombra." + }, + { + "q": "Nem találom az ételt. Mit tehetek?", + "a": "Az étel keresőablakában a „Custom Food” (saját étel) gombbal felveheted a tápértékeivel együtt. Legközelebb már a saját ételeid között megtalálod." + }, + { + "q": "Látják a családtagok a naplómat?", + "a": "Nem. Csak az lát bele, akinek a „Family Access” (családi hozzáférés) részben hozzáférést adsz." + }, + { + "q": "Van telefonos app?", + "a": "Van iPhone-ra az App Store-ban, Androidra egyelőre tesztváltozat érhető el. Az app a sparky.DOMAIN címhez kapcsolódik." + }, + { + "q": "Hol látom, hogy a naplóm el van mentve?", + "a": "Az adatok a dobozon vannak. A mentésük állapotát a vezérlőpulton, az alkalmazás „Adatok és mentés” fülén látod." + } + ] + }, + "en": { + "sections": [ + { + "title": "Log a food", + "intro": "On the „Diary” page you record what you ate, meal by meal.", + "steps": [ + "On the card of „Breakfast” or another meal, select the cutlery icon („Add a new food item”).", + "Type the name of the food into the search box. Results from the online database appear next to your own foods.", + "Choose the food. For an online result, save its details first: that puts it among your own foods.", + "Enter how much you ate in „Quantity”, and select „Add to Meal”." + ] + }, + { + "title": "Record your weight", + "intro": "You keep your weight and measurements on the „Check-In” page.", + "steps": [ + "Open the „Check-In” page.", + "Enter your weight in „Weight”. If you like, add your waist and hip measurements too.", + "Select „Save Check-In”.", + "The „Reports” page shows the change on a chart." + ] + }, + { + "title": "Add a family member", + "intro": "Every family member keeps their own diary with their own account.", + "steps": [ + "On the dashboard, on the app's „Settings” tab, select „Open sign-up for 15 minutes”.", + "During that time the family member opens sparky.DOMAIN and signs up.", + "When the 15 minutes are over, sign-up closes by itself." + ] + }, + { + "title": "Share your diary with a family member", + "intro": "You can let a family member see your reports, or keep your diary for you.", + "steps": [ + "Open the „Settings” page, and under „Family Access” select „Add Family Member”.", + "In „Family Member Email”, enter the address they signed up with.", + "Tick what they may do, for example „Can View Reports” or „Can Manage Diary”, and save.", + "The family member can switch to your profile in the top right corner." + ] + } + ], + "faq": [ + { + "q": "Can the interface be in Hungarian?", + "a": "Yes. On the „Settings” page, open „Preferences”, choose Hungarian in „Language”, and select „Save Preferences”." + }, + { + "q": "I cannot find a food. What can I do?", + "a": "In the food search window, „Custom Food” lets you add it with its nutrition values. Next time you find it among your own foods." + }, + { + "q": "Can family members see my diary?", + "a": "No. Only someone you give access to under „Family Access” can see into it." + }, + { + "q": "Is there a phone app?", + "a": "There is one for iPhone in the App Store; for Android a test version is available for now. The app connects to sparky.DOMAIN." + }, + { + "q": "Where do I see that my diary is saved?", + "a": "The data is on the box. The dashboard shows the state of its backup on the app's „Data and backup” tab." + } + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/sparkyfitness-labels.txt b/documentation/audits/app-guides-2026-10-15/B/sparkyfitness-labels.txt new file mode 100644 index 00000000..5b0b1cc3 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/sparkyfitness-labels.txt @@ -0,0 +1,49 @@ +corpus_note: CodeWithCJ/SparkyFitness@v0.17.3 (2a7e0d8): SparkyFitnessFrontend/public/locales/en/translation.json, SparkyFitnessFrontend/src, docs/content; default UI language: English (a new account's saved preference is language en, which overrides the browser; Hungarian ships and can be chosen under Preferences) +guide on the box: shown +app: sparkyfitness checked against: v0.17.3 +corpora: CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 43 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Diary” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:246 +OK [hu] „Breakfast” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:1325 +OK [hu] „Add a new food item” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/pages/Diary/MealCard.tsx:254 +OK [hu] „Quantity” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:1818 +OK [hu] „Add to Meal” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/components/MealBuilder.tsx:1361 +OK [hu] „Check-In” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:247 +OK [hu] „Weight” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:391 +OK [hu] „Save Check-In” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:1446 +OK [hu] „Reports” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:248 +OK [hu] „Beállítások” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:18 +OK [hu] „Regisztráció megnyitása 15 percre” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:2625 +OK [hu] „Settings” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:251 +OK [hu] „Family Access” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:791 +OK [hu] „Add Family Member” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/pages/Settings/FamilyAccessManager.tsx:262 +OK [hu] „Family Member Email” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/pages/Settings/FamilyAccessManager.tsx:274 +OK [hu] „Can View Reports” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/pages/Settings/FamilyAccessManager.tsx:483 +OK [hu] „Can Manage Diary” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/pages/Settings/FamilyAccessManager.tsx:316 +OK [hu] „Preferences” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:745 +OK [hu] „Language” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:766 +OK [hu] „Save Preferences” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:769 +OK [hu] „Custom Food” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:649 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Diary” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:246 +OK [en] „Breakfast” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:1325 +OK [en] „Add a new food item” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/pages/Diary/MealCard.tsx:254 +OK [en] „Quantity” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:1818 +OK [en] „Add to Meal” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/components/MealBuilder.tsx:1361 +OK [en] „Check-In” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:247 +OK [en] „Weight” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:391 +OK [en] „Save Check-In” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:1446 +OK [en] „Reports” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:248 +OK [en] „Settings” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:251 +OK [en] „Open sign-up for 15 minutes” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:2637 +OK [en] „Family Access” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:791 +OK [en] „Add Family Member” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/pages/Settings/FamilyAccessManager.tsx:262 +OK [en] „Family Member Email” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/pages/Settings/FamilyAccessManager.tsx:274 +OK [en] „Can View Reports” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/pages/Settings/FamilyAccessManager.tsx:483 +OK [en] „Can Manage Diary” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/src/pages/Settings/FamilyAccessManager.tsx:316 +OK [en] „Preferences” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:745 +OK [en] „Language” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:766 +OK [en] „Save Preferences” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:769 +OK [en] „Custom Food” CodeWithCJ/SparkyFitness@v0.17.3:SparkyFitnessFrontend/public/locales/en/translation.json:649 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 43 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/tandoor-draft.json b/documentation/audits/app-guides-2026-10-15/B/tandoor-draft.json new file mode 100644 index 00000000..d961591d --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/tandoor-draft.json @@ -0,0 +1,131 @@ +{ + "app": "tandoor", + "checked_version": "2.6.15", + "corpus_note": "TandoorRecipes/recipes@2.6.15 (7e1c427): vue3/src/locales/en.json, vue3/src/locales/hu.json, vue3/src (components, pages, composables, apps), docs; default UI language: browser language, Hungarian available (Django LocaleMiddleware sets the page language; hu.json is about 53 % translated, so missing strings fall back to English). HU text uses the hu.json label where it is non-empty.", + "hu": { + "sections": [ + { + "title": "Bevásárlólista egy receptből", + "intro": "Egy recept hozzávalóit néhány kattintással a bevásárlólistára teheted.", + "steps": [ + "Nyisd meg a receptet, és kattints a jobb felső sarokban a három pontra.", + "Válaszd a „Hozzáadás a bevásárlólistához” pontot, és az „Adag” mezőben add meg, hány adagot főzöl.", + "Kattints a „Hozzáadás a bevásárlólistához” gombra.", + "Vásárláskor nyisd meg a menüben a „Bevásárlás” oldalt, és pipáld ki, amit már megvettél." + ] + }, + { + "title": "Adag átszámolása és nyomtatás", + "intro": "A Tandoor a hozzávalók mennyiségét az adagszámhoz igazítja.", + "steps": [ + "A recept oldalán kattints az adagszámra („Adag”).", + "Írd be, hány adagot főzöl, és kattints a „Mentés” gombra. A hozzávalók mennyisége ehhez igazodik.", + "Nyomtatáshoz a három pont menüben válaszd a „Nyomtatás” pontot: az átszámolt adaggal nyomtat." + ] + }, + { + "title": "Recept megosztása", + "intro": "Egy receptet linkkel olyannak is megmutathatsz, akinek nincs fiókja.", + "steps": [ + "Nyisd meg a receptet, kattints a három pontra, és válaszd a „Megosztás” pontot.", + "A „Link” mező melletti gombbal másold ki a linket.", + "Küldd el a linket, például üzenetben. Aki megkapja, bejelentkezés nélkül látja ezt az egy receptet." + ] + }, + { + "title": "Recept keresése", + "intro": "Ha már sok recepted van, kereséssel és szűrőkkel hamar megtalálod, amit akarsz.", + "steps": [ + "Nyisd meg a menüben a „Keresés” oldalt.", + "Írd be a recept nevének egy részét.", + "Szűkítéshez kattints a „Szűrő hozzáadása” mezőbe, és válassz például kulcsszó szerinti szűrőt." + ] + } + ], + "faq": [ + { + "q": "Miért angol néhány felirat?", + "a": "A Tandoor a böngésződ nyelvét követi, és a magyar fordítása még nem teljes. Ahol nincs fordítás, ott angol felirat jelenik meg." + }, + { + "q": "Látják a családtagok a receptjeimet?", + "a": "Igen, a közös térben mindenki látja a recepteket. Ha egyet csak magadnak szánsz, szerkesztéskor jelöld be a „Privát recept” jelölőt." + }, + { + "q": "Közös a bevásárlólista?", + "a": "Akik ugyanabba a háztartásba (Household) tartoznak, azok közösen látják a menütervet és a bevásárlólistát. Egy tagot a tér beállításaiban, a tagok listáján sorolhatsz háztartásba." + }, + { + "q": "Van telefonos app?", + "a": "Külön app nincs, de a Tandoort a telefonod böngészőjéből a kezdőképernyőre teheted. Így appként indul, és a nemrég megnyitott recepteket net nélkül is mutatja." + }, + { + "q": "Hol látom, hogy a receptjeim el vannak mentve?", + "a": "A receptek és a képek a dobozon vannak. A mentésük állapotát a vezérlőpulton, az alkalmazás „Adatok és mentés” fülén látod." + } + ] + }, + "en": { + "sections": [ + { + "title": "A shopping list from a recipe", + "intro": "You can put a recipe's ingredients on the shopping list in a few clicks.", + "steps": [ + "Open the recipe and select the three dots in the top right corner.", + "Choose „Add to Shopping”, and in „Servings” enter how many servings you cook.", + "Select the „Add to Shopping” button.", + "When you shop, open the „Shopping” page in the menu and tick off what you have bought." + ] + }, + { + "title": "Scale the servings and print", + "intro": "Tandoor adjusts the ingredient amounts to the number of servings.", + "steps": [ + "On the recipe page, select the number of servings („Servings”).", + "Enter how many servings you cook and select „Save”. The ingredient amounts follow.", + "To print, choose „Print” in the three-dot menu: it prints with the scaled servings." + ] + }, + { + "title": "Share a recipe", + "intro": "With a link you can show a recipe even to someone who has no account.", + "steps": [ + "Open the recipe, select the three dots and choose „Share”.", + "Copy the link with the button next to the „Link” field.", + "Send the link, for example in a message. Whoever gets it sees this one recipe without signing in." + ] + }, + { + "title": "Find a recipe", + "intro": "Once you have many recipes, search and filters find the one you want quickly.", + "steps": [ + "Open the „Search” page in the menu.", + "Type part of the recipe's name.", + "To narrow it down, select the „Add Filter” box and choose, for example, a filter by keyword." + ] + } + ], + "faq": [ + { + "q": "Why are some labels in English?", + "a": "Tandoor follows your browser's language, and its Hungarian translation is not complete yet. Where there is no translation, the English label shows." + }, + { + "q": "Can my family see my recipes?", + "a": "Yes, everyone in the shared space sees the recipes. If one is only for you, tick „Private Recipe” when you edit it." + }, + { + "q": "Is the shopping list shared?", + "a": "People in the same household (Household) see the meal plan and the shopping list together. You put a member into a household in the space settings, in the list of members." + }, + { + "q": "Is there a phone app?", + "a": "There is no separate app, but you can put Tandoor on your home screen from your phone's browser. It then starts like an app and shows recently opened recipes even without internet." + }, + { + "q": "Where do I see that my recipes are saved?", + "a": "The recipes and the pictures are on the box. The dashboard shows the state of their backup on the app's „Data and backup” tab." + } + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/tandoor-labels.txt b/documentation/audits/app-guides-2026-10-15/B/tandoor-labels.txt new file mode 100644 index 00000000..87b7c5b0 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/tandoor-labels.txt @@ -0,0 +1,28 @@ +corpus_note: TandoorRecipes/recipes@2.6.15 (7e1c427): vue3/src/locales/en.json, vue3/src/locales/hu.json, vue3/src (components, pages, composables, apps), docs; default UI language: browser language, Hungarian available (Django LocaleMiddleware sets the page language; hu.json is about 53 % translated, so missing strings fall back to English). HU text uses the hu.json label where it is non-empty. +guide on the box: shown +app: tandoor checked against: 2.6.15 +corpora: TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json TandoorRecipes/recipes@2.6.15:vue3/src/locales/en.json TandoorRecipes/recipes@2.6.15:vue3/src/components TandoorRecipes/recipes@2.6.15:vue3/src/pages TandoorRecipes/recipes@2.6.15:vue3/src/composables TandoorRecipes/recipes@2.6.15:vue3/src/apps felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 22 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Hozzáadás a bevásárlólistához” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:18 +OK [hu] „Adag” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:379 +OK [hu] „Bevásárlás” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:667 +OK [hu] „Mentés” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:364 +OK [hu] „Nyomtatás” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:335 +OK [hu] „Megosztás” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:382 +OK [hu] „Link” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:240 +OK [hu] „Keresés” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:366 +OK [hu] „Szűrő hozzáadása” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:16 +OK [hu] „Privát recept” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:337 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Add to Shopping” TandoorRecipes/recipes@2.6.15:vue3/src/locales/en.json:30 +OK [en] „Servings” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:379 +OK [en] „Shopping” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:667 +OK [en] „Save” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:364 +OK [en] „Print” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:335 +OK [en] „Share” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:382 +OK [en] „Link” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:240 +OK [en] „Search” TandoorRecipes/recipes@2.6.15:vue3/src/locales/hu.json:366 +OK [en] „Add Filter” TandoorRecipes/recipes@2.6.15:vue3/src/locales/en.json:19 +OK [en] „Private Recipe” TandoorRecipes/recipes@2.6.15:vue3/src/locales/en.json:508 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 22 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/termix-draft.json b/documentation/audits/app-guides-2026-10-15/B/termix-draft.json new file mode 100644 index 00000000..88d2f6ee --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/termix-draft.json @@ -0,0 +1,101 @@ +{ + "app": "termix", + "checked_version": "2.8.0", + "corpus_note": "Termix-SSH/Termix@release-2.8.0-tag (fef8a5f): src/ui/locales/en.json, src/ui (sidebar, features, shell, onboarding); default UI language: English (language is read only from the app's own saved choice, not the browser; a Hungarian translation ships and can be chosen under Language)", + "hu": { + "sections": [ + {"title": "Szerver elmentése", + "intro": "Egy elmentett szerverhez később egy kattintással csatlakozol.", + "steps": [ + "A bal oldali sávban kattints az „Add Host” (gép hozzáadása) gombra.", + "Az „Address / IP” (cím) mezőbe írd a szerver címét, a „Friendly Name” (megjelenő név) mezőbe egy neked érthető nevet.", + "Töltsd ki a „Username” (felhasználónév) mezőt, és az „Authentication Method” (belépés módja) alatt válaszd, hogy jelszóval vagy kulccsal lépsz be.", + "Kattints az „Add Host” gombra. A szerver megjelenik a listában." + ]}, + {"title": "Fájlok fel- és letöltése", + "intro": "A terminál mellett fájlkezelővel is eléred a szerver fájljait.", + "steps": [ + "A szerver sorában kattints a mappa ikonra („Files”, fájlok).", + "Feltöltéshez kattints az „Upload” (feltöltés) gombra, vagy húzd a fájlt az ablakba.", + "Letöltéshez kattints jobb gombbal a fájlra, és válaszd a „Download” (letöltés) pontot.", + "Új mappát a „New Folder” (új mappa) gombbal hozol létre." + ]}, + {"title": "Kétlépcsős belépés", + "intro": "A Termix a szervereidhez enged be, ezért érdemes a belépést egy telefonos kóddal is védeni.", + "steps": [ + "Nyisd meg a „User Profile” (felhasználói profil) panelt, és azon belül a „Security” (biztonság) részt.", + "A „TOTP Authenticator” (hitelesítő app) mellett kattints az „Enable” (bekapcsolás) gombra.", + "Olvasd be a QR-kódot a telefonod hitelesítő appjával, és kattints a „Continue to Verify” (tovább az ellenőrzéshez) gombra.", + "Írd be az appban látott hatjegyű kódot, és kattints a „Verify” (ellenőrzés) gombra.", + "A megjelenő „Backup Codes” (tartalék kódok) listát írd le, és tedd el biztos helyre." + ]}, + {"title": "Családtag hozzáadása", + "intro": "Minden családtag saját fiókkal, a saját szervereivel használja a Termixet.", + "steps": [ + "A vezérlőpulton az alkalmazás „Beállítások” fülén kattints a „Regisztráció megnyitása 15 percre” gombra.", + "A családtag ezalatt megnyitja a terminal.DOMAIN címet, és létrehozza a fiókját.", + "A 15 perc letelte után a regisztráció magától bezárul." + ]} + ], + "faq": [ + {"q": "Lehet magyar a felület?", + "a": "Igen. A „User Profile” (felhasználói profil) panelen a „Language” (nyelv) mezőben válaszd a magyart. A fordítás helyenként pontatlan, ezért ez az útmutató az angol feliratokat használja."}, + {"q": "Melyik szerverre tudok csatlakozni?", + "a": "Bármelyikre, amely a dobozról SSH-n elérhető, például egy másik otthoni gépre. A kapcsolatot a doboz építi fel, nem a te számítógéped."}, + {"q": "Kulccsal is beléphetek jelszó helyett?", + "a": "Igen. A szerver adatainál a belépés módjánál válaszd a kulcsot, és illeszd be a kulcsodat az „SSH Private Key” (privát kulcs) mezőbe."}, + {"q": "Elvesztettem a telefonomat a kétlépcsős kóddal. Mit tegyek?", + "a": "Lépj be az egyik tartalék kóddal, amelyet a bekapcsoláskor kaptál. Utána a „Security” (biztonság) részben új eszközt állíthatsz be."}, + {"q": "Hol látom, hogy a mentett szervereim el vannak mentve?", + "a": "A mentett szerverek és belépési adatok a dobozon vannak. A mentésük állapotát a vezérlőpulton, az alkalmazás „Adatok és mentés” fülén látod."} + ] + }, + "en": { + "sections": [ + {"title": "Save a server", + "intro": "You connect to a saved server later with one click.", + "steps": [ + "In the bar on the left, select „Add Host”.", + "Enter the server's address in „Address / IP”, and a name that makes sense to you in „Friendly Name”.", + "Fill in „Username”, and under „Authentication Method” choose whether you sign in with a password or a key.", + "Select „Add Host”. The server appears in the list." + ]}, + {"title": "Upload and download files", + "intro": "Next to the terminal, a file manager reaches the server's files too.", + "steps": [ + "In the server's row, select the folder icon („Files”).", + "To upload, select „Upload”, or drag the file into the window.", + "To download, right-click the file and choose „Download”.", + "„New Folder” creates a new folder." + ]}, + {"title": "Two-step sign-in", + "intro": "Termix lets you into your servers, so it is worth protecting the sign-in with a code from your phone too.", + "steps": [ + "Open the „User Profile” panel, and in it the „Security” part.", + "Next to „TOTP Authenticator”, select „Enable”.", + "Scan the QR code with the authenticator app on your phone, and select „Continue to Verify”.", + "Enter the six-digit code from the app and select „Verify”.", + "Write down the „Backup Codes” that appear and keep them somewhere safe." + ]}, + {"title": "Add a family member", + "intro": "Every family member uses Termix with their own account and their own servers.", + "steps": [ + "On the dashboard, on the app's „Settings” tab, select „Open sign-up for 15 minutes”.", + "During that time the family member opens terminal.DOMAIN and creates an account.", + "When the 15 minutes are over, sign-up closes by itself." + ]} + ], + "faq": [ + {"q": "Can the interface be in Hungarian?", + "a": "Yes. In the „User Profile” panel, choose Hungarian in „Language”. The translation is inaccurate in places, so this guide uses the English labels."}, + {"q": "Which servers can I connect to?", + "a": "Any server the box can reach over SSH, for example another computer at home. The box makes the connection, not your own computer."}, + {"q": "Can I sign in with a key instead of a password?", + "a": "Yes. In the server's details, choose the key as the sign-in method and paste your key into „SSH Private Key”."}, + {"q": "I lost the phone with the two-step code. What do I do?", + "a": "Sign in with one of the backup codes you got when you switched it on. Then you can set up a new device in the „Security” part."}, + {"q": "Where do I see that my saved servers are backed up?", + "a": "The saved servers and sign-in details are on the box. The dashboard shows the state of their backup on the app's „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/termix-labels.txt b/documentation/audits/app-guides-2026-10-15/B/termix-labels.txt new file mode 100644 index 00000000..f37c6955 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/termix-labels.txt @@ -0,0 +1,48 @@ +corpus_note: Termix-SSH/Termix@release-2.8.0-tag (fef8a5f): src/ui/locales/en.json, src/ui (sidebar, features, shell, onboarding); default UI language: English (language is read only from the app's own saved choice, not the browser; a Hungarian translation ships and can be chosen under Language) +guide on the box: shown +app: termix checked against: 2.8.0 +corpora: Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json Termix-SSH/Termix@release-2.8.0-tag:src/ui/sidebar Termix-SSH/Termix@release-2.8.0-tag:src/ui/features Termix-SSH/Termix@release-2.8.0-tag:src/ui/shell felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 42 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Add Host” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:777 +OK [hu] „Address / IP” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:884 +OK [hu] „Friendly Name” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:885 +OK [hu] „Username” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:570 +OK [hu] „Authentication Method” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:923 +OK [hu] „Files” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:425 +OK [hu] „Upload” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:83 +OK [hu] „Download” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:2073 +OK [hu] „New Folder” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:2261 +OK [hu] „User Profile” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:705 +OK [hu] „Security” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4519 +OK [hu] „TOTP Authenticator” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4601 +OK [hu] „Enable” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4612 +OK [hu] „Continue to Verify” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4673 +OK [hu] „Verify” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:2181 +OK [hu] „Backup Codes” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4675 +OK [hu] „Beállítások” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:18 +OK [hu] „Regisztráció megnyitása 15 percre” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:2625 +OK [hu] „Language” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:589 +OK [hu] „SSH Private Key” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:82 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Add Host” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:777 +OK [en] „Address / IP” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:884 +OK [en] „Friendly Name” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:885 +OK [en] „Username” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:570 +OK [en] „Authentication Method” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:923 +OK [en] „Files” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:425 +OK [en] „Upload” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:83 +OK [en] „Download” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:2073 +OK [en] „New Folder” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:2261 +OK [en] „User Profile” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:705 +OK [en] „Security” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4519 +OK [en] „TOTP Authenticator” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4601 +OK [en] „Enable” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4612 +OK [en] „Continue to Verify” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4673 +OK [en] „Verify” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:2181 +OK [en] „Backup Codes” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4675 +OK [en] „Settings” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:4017 +OK [en] „Open sign-up for 15 minutes” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:2637 +OK [en] „Language” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:589 +OK [en] „SSH Private Key” Termix-SSH/Termix@release-2.8.0-tag:src/ui/locales/en.json:82 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 42 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/transmission-draft.json b/documentation/audits/app-guides-2026-10-15/B/transmission-draft.json new file mode 100644 index 00000000..e861a181 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/transmission-draft.json @@ -0,0 +1,131 @@ +{ + "app": "transmission", + "checked_version": "version-4.1.3-r0", + "corpus_note": "transmission/transmission@4.1.3 (8388773): web/src, web/public_html/index.html (the web interface the linuxserver image serves by default); default UI language: English (the web interface has no translations)", + "hu": { + "sections": [ + { + "title": "Torrent hozzáadása", + "intro": "Csak olyan torrentet adj hozzá, amelynek a tartalmához jogod van, például egy Linux telepítőét a kiadó saját oldaláról.", + "steps": [ + "Kattints a felső sávban az „Open” (megnyitás) gombra: megnyílik az „Add Torrents” (torrentek hozzáadása) ablak.", + "Válaszd ki a torrentfájlt, vagy illeszd be a torrent vagy a magnet linkjét az URL mezőbe.", + "Hagyd bejelölve a „Start when added” (indítás hozzáadáskor) jelölőt, és kattints az „Add” (hozzáadás) gombra." + ] + }, + { + "title": "Torrentfájl a figyelt mappába", + "intro": "A Transmission magától elindítja a torrentfájlt, amelyet a figyelt mappájába teszel.", + "steps": [ + "Nyisd meg a fájlböngészőben a letöltések meghajtóján a media/transmission/watch mappát.", + "Töltsd fel ide a torrentfájlt.", + "Néhány másodperc múlva a torrent megjelenik a Transmission listájában, és elindul." + ] + }, + { + "title": "Leállítás és törlés", + "intro": "Egy torrentet bármikor megállíthatsz vagy eltávolíthatsz.", + "steps": [ + "Jelöld ki a torrentet, és kattints a „Pause” (szünet) gombra. A „Start” (indítás) folytatja.", + "Eltávolításhoz kattints a „Delete” (törlés) gombra, majd a „Remove” (eltávolítás) gombra. A letöltött fájlok megmaradnak.", + "Ha a fájlokat is törölnéd, kattints jobb gombbal a torrentre, és válaszd a „Trash data and remove from list…” (fájlok törlése és eltávolítás) pontot." + ] + }, + { + "title": "Lassabb letöltés napközben", + "intro": "Beállíthatod, hogy napközben kevésbé terhelje az internetkapcsolatodat.", + "steps": [ + "Kattints a felső sávban a menü gombra, majd az „Edit preferences” (beállítások) pontra.", + "Nyisd meg a „Speed” (sebesség) lapot, és az „Alternative Speed Limits” (másodlagos korlát) részben adj meg alacsonyabb értékeket.", + "Jelöld be a „Scheduled times” (ütemezés) jelölőt, és add meg, mikor és mely napokon legyen érvényes.", + "A beállítás azonnal érvényes, külön mentés nem kell." + ] + } + ], + "faq": [ + { + "q": "Be kell állítanom a Sonarr és a Radarr kapcsolatát?", + "a": "Nem. A doboz minden meghajtódhoz bekötötte a Transmissiont a Sonarrba és a Radarrba. Amit ők kérnek, az a meghajtó media/transmission/tv vagy media/transmission/movies mappájába kerül." + }, + { + "q": "Ha eltávolítom a torrentet, eltűnik a film a könyvtárból is?", + "a": "Nem. A Sonarr és a Radarr ugyanazt a fájlt egy második néven tette a könyvtárba, ez a torrent és a fájljai törlése után is megmarad." + }, + { + "q": "Bekapcsolhatom az ideiglenes mappát?", + "a": "Ne tedd. A „Use temporary folder:” (ideiglenes mappa) egyetlen mappa minden meghajtónak, így minden más meghajtóra menő letöltést a végén át kellene másolni. A doboz minden indításkor kikapcsolja." + }, + { + "q": "Megváltoztathatom, hová mentsen?", + "a": "Ne tedd. A Transmission csak a media/transmission mappát látja a meghajtóidon, máshová mentett fájl nem a meghajtóra kerül, és a Sonarr meg a Radarr sem találja." + }, + { + "q": "Áramszünet után elveszett egy beállításom. Miért?", + "a": "A Transmission a beállításait csak szabályos leálláskor írja ki. Áramszünet után nézd meg a beállításaidat, és ha kell, add meg őket újra." + } + ] + }, + "en": { + "sections": [ + { + "title": "Add a torrent", + "intro": "Add only a torrent whose content you have the right to, for example a Linux installer from its publisher's own site.", + "steps": [ + "Select „Open” in the bar at the top: the „Add Torrents” window opens.", + "Choose the torrent file, or paste the torrent or magnet link into the URL box.", + "Leave „Start when added” ticked and select „Add”." + ] + }, + { + "title": "A torrent file in the watched folder", + "intro": "Transmission starts a torrent file by itself when you put it into its watched folder.", + "steps": [ + "In the file browser, open the media/transmission/watch folder on the downloads drive.", + "Upload the torrent file there.", + "A few seconds later the torrent appears in Transmission's list and starts." + ] + }, + { + "title": "Stop and remove", + "intro": "You can stop or remove a torrent at any time.", + "steps": [ + "Select the torrent and select „Pause”. „Start” carries on.", + "To remove it, select „Delete”, then „Remove”. The downloaded files stay.", + "To delete the files as well, right-click the torrent and choose „Trash data and remove from list…”." + ] + }, + { + "title": "Slower downloads by day", + "intro": "You can make it use less of your internet line during the day.", + "steps": [ + "Select the menu button in the bar at the top, then „Edit preferences”.", + "Open the „Speed” tab, and under „Alternative Speed Limits” enter lower values.", + "Tick „Scheduled times” and set when and on which days it applies.", + "The setting applies at once; there is no separate save." + ] + } + ], + "faq": [ + { + "q": "Do I have to connect it to Sonarr and Radarr?", + "a": "No. For every drive, the box connected Transmission to Sonarr and Radarr. What they ask for goes into the media/transmission/tv or media/transmission/movies folder of that drive." + }, + { + "q": "If I remove the torrent, does the film leave the library too?", + "a": "No. Sonarr and Radarr put the same file into the library under a second name, and that stays after the torrent and its files are deleted." + }, + { + "q": "Can I switch on the temporary folder?", + "a": "Do not. „Use temporary folder:” is one folder for every drive, so every download bound for another drive would have to be copied over at the end. The box switches it off at every start." + }, + { + "q": "Can I change where it saves?", + "a": "Do not. Transmission sees only the media/transmission folder on your drives; a file saved anywhere else is not on the drive, and Sonarr and Radarr cannot find it." + }, + { + "q": "A setting was lost after a power cut. Why?", + "a": "Transmission writes its settings only when it shuts down properly. After a power cut, check your settings and enter them again if needed." + } + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/transmission-labels.txt b/documentation/audits/app-guides-2026-10-15/B/transmission-labels.txt new file mode 100644 index 00000000..9c224443 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/transmission-labels.txt @@ -0,0 +1,34 @@ +corpus_note: transmission/transmission@4.1.3 (8388773): web/src, web/public_html/index.html (the web interface the linuxserver image serves by default); default UI language: English (the web interface has no translations) +guide on the box: shown +app: transmission checked against: version-4.1.3-r0 +corpora: transmission/transmission@4.1.3:web/src transmission/transmission@4.1.3:web/public_html/index.html felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 28 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Open” transmission/transmission@4.1.3:web/src/prefs-dialog.js:69 +OK [hu] „Add Torrents” transmission/transmission@4.1.3:web/src/open-dialog.js:141 +OK [hu] „Start when added” transmission/transmission@4.1.3:web/src/prefs-dialog.js:295 +OK [hu] „Add” transmission/transmission@4.1.3:web/src/open-dialog.js:142 +OK [hu] „Pause” transmission/transmission@4.1.3:web/src/action-manager.js:32 +OK [hu] „Start” transmission/transmission@4.1.3:web/public_html/index.html:51 +OK [hu] „Delete” transmission/transmission@4.1.3:web/public_html/index.html:40 +OK [hu] „Remove” transmission/transmission@4.1.3:web/src/remove-dialog.js:52 +OK [hu] „Trash data and remove from list…” transmission/transmission@4.1.3:web/src/action-manager.js:88 +OK [hu] „Edit preferences” transmission/transmission@4.1.3:web/src/action-manager.js:70 +OK [hu] „Speed” transmission/transmission@4.1.3:web/src/prefs-dialog.js:774 +OK [hu] „Alternative Speed Limits” transmission/transmission@4.1.3:web/src/prefs-dialog.js:430 +OK [hu] „Scheduled times” transmission/transmission@4.1.3:web/src/prefs-dialog.js:464 +OK [hu] „Use temporary folder:” transmission/transmission@4.1.3:web/src/prefs-dialog.js:279 +OK [en] „Open” transmission/transmission@4.1.3:web/src/prefs-dialog.js:69 +OK [en] „Add Torrents” transmission/transmission@4.1.3:web/src/open-dialog.js:141 +OK [en] „Start when added” transmission/transmission@4.1.3:web/src/prefs-dialog.js:295 +OK [en] „Add” transmission/transmission@4.1.3:web/src/open-dialog.js:142 +OK [en] „Pause” transmission/transmission@4.1.3:web/src/action-manager.js:32 +OK [en] „Start” transmission/transmission@4.1.3:web/public_html/index.html:51 +OK [en] „Delete” transmission/transmission@4.1.3:web/public_html/index.html:40 +OK [en] „Remove” transmission/transmission@4.1.3:web/src/remove-dialog.js:52 +OK [en] „Trash data and remove from list…” transmission/transmission@4.1.3:web/src/action-manager.js:88 +OK [en] „Edit preferences” transmission/transmission@4.1.3:web/src/action-manager.js:70 +OK [en] „Speed” transmission/transmission@4.1.3:web/src/prefs-dialog.js:774 +OK [en] „Alternative Speed Limits” transmission/transmission@4.1.3:web/src/prefs-dialog.js:430 +OK [en] „Scheduled times” transmission/transmission@4.1.3:web/src/prefs-dialog.js:464 +OK [en] „Use temporary folder:” transmission/transmission@4.1.3:web/src/prefs-dialog.js:279 +RESULT: ALL FOUND — 28 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/uptime-kuma-draft.json b/documentation/audits/app-guides-2026-10-15/B/uptime-kuma-draft.json new file mode 100644 index 00000000..30187ddf --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/uptime-kuma-draft.json @@ -0,0 +1,99 @@ +{ + "app": "uptime-kuma", + "checked_version": "2.5.5", + "corpus_note": "louislam/uptime-kuma@2.5.5 (c98982a): src/lang/en.json, src/lang/hu.json, src/pages, src/components, src/layouts, server/model/monitor.js and server/jobs/clear-old-data.js for behaviour; default UI language: browser language, Hungarian available (src/i18n.js currentLocale)", + "hu": { + "sections": [ + {"title": "Karbantartás bejelentése", + "intro": "Ha szándékosan kikapcsolsz valamit, a karbantartás idejére nem kapsz riasztást.", + "steps": [ + "A jobb felső sarokban nyisd meg a profilod menüjét, és kattints a „Karbantartás” pontra.", + "Kattints a „Karbantartás ütemezése” gombra, és töltsd ki a „Cím” mezőt, például: router csere.", + "Az „Érintett monitorok” mezőben válaszd ki, mit kapcsolsz ki.", + "A „Stratégia” mezőben válaszd az „Egyetlen karbantartási ablak” lehetőséget, add meg a kezdést és a véget, majd kattints a „Mentés” gombra." + ]}, + {"title": "Kevesebb téves riasztás", + "intro": "Egy új monitor már az első sikertelen próbánál riaszt, ezt lazíthatod.", + "steps": [ + "Nyisd meg a monitort a bal oldali listában, és kattints a „Szerkesztés” gombra.", + "Az „Újrapróbálkozás” mezőbe írj 2-t vagy 3-at.", + "Kattints a „Mentés” gombra. A monitor ezután „Függőben” állapotba kerül, és csak akkor riaszt, ha az újrapróbálkozások is sikertelenek." + ]}, + {"title": "Monitorok csoportba rendezése", + "intro": "Sok monitornál a csoport és a címke segít eligazodni.", + "steps": [ + "Kattints az „Új monitor hozzáadása” gombra, és a „Monitor típusa” mezőben válaszd a „Csoport” lehetőséget, például: Otthon.", + "A többi monitornál a „Szerkesztés” oldalon a „Monitor csoport” mezőben válaszd ki ezt a csoportot.", + "A „Címkék” résznél színes címkét is adhatsz egy monitornak, például: család.", + "Ha a csoport egy tagja leáll, maga a csoport is leállást mutat." + ]}, + {"title": "A fiókod védelme", + "intro": "A kétfaktoros hitelesítéssel a jelszó mellett a telefonod is kell a belépéshez.", + "steps": [ + "A profilod menüjében kattints a „Beállítások” pontra, majd a „Biztonság” lapra.", + "Kattints a „2FA beállítások” gombra, írd be a „Jelenlegi jelszó” mezőbe a jelszavad, és kattints a „2FA engedélyezése” gombra.", + "Olvasd be a QR-kódot a telefonod hitelesítő appjával, írd be a hatjegyű kódot, és kattints a „Token ellenőrzése” gombra.", + "Ha a kód jó, kattints a „Mentés” gombra." + ]} + ], + "faq": [ + {"q": "Szól az Uptime Kuma, ha maga a doboz áll le?", + "a": "Nem tud: az Uptime Kuma a dobozon fut, ezért ha a doboz vagy az otthoni internet leáll, vele együtt áll le. Más eszközöket és weboldalakat figyel."}, + {"q": "Hogyan állítok le egy monitort egy időre?", + "a": "Nyisd meg a monitort, kattints a „Szünet” gombra, és erősítsd meg. Ha újra figyelnéd, kattints a „Folytatás” gombra."}, + {"q": "Kikapcsolhatom a bejelentkezést?", + "a": "Ne tedd. A „Biztonság” lapon a „Hitelesítés tiltása” után bárki, aki ismeri a status.DOMAIN címet, belép és mindent átírhat."}, + {"q": "Meddig őrzi az előzményeket?", + "a": "Alapból 365 napig. A „Beállítások” „Vizsgálatok előzményei” lapján ezt rövidebbre is veheted, ha kevesebb helyet használnál."}, + {"q": "Miért angol egy-egy felirat?", + "a": "Az Uptime Kuma a böngésződ nyelvét követi, és ahol nincs magyar fordítás, angolul ír. A nyelvet a „Beállítások” „Megjelenés” lapján a „Nyelv” mezőben válthatod."} + ] + }, + "en": { + "sections": [ + {"title": "Announce maintenance", + "intro": "When you switch something off on purpose, you get no alerts during the maintenance.", + "steps": [ + "In the top right corner, open your profile menu and select „Maintenance”.", + "Select „Schedule Maintenance” and fill in its „Title”, for example: new router.", + "In „Affected Monitors”, choose what you are switching off.", + "In „Strategy”, choose „Single Maintenance Window”, set the start and the end, then select „Save”." + ]}, + {"title": "Fewer false alerts", + "intro": "A new monitor alerts at the first failed check, and you can relax that.", + "steps": [ + "Open the monitor in the list on the left and select „Edit”.", + "In „Retries”, type 2 or 3.", + "Select „Save”. The monitor then goes to „Pending” first and alerts only if the retries fail too." + ]}, + {"title": "Sort monitors into groups", + "intro": "With many monitors, groups and tags help you find your way.", + "steps": [ + "Select „Add New Monitor” and in „Monitor Type” choose „Group”, for example: Home.", + "For the other monitors, on the „Edit” page choose this group in „Monitor Group”.", + "In the „Tags” part you can also give a monitor a coloured tag, for example: family.", + "If one member of the group goes down, the group itself shows as down." + ]}, + {"title": "Protect your account", + "intro": "With two factor authentication you need your phone as well as your password to sign in.", + "steps": [ + "In your profile menu select „Settings”, then the „Security” page.", + "Select „2FA Settings”, type your password into „Current Password” and select „Enable 2FA”.", + "Scan the QR code with the authenticator app on your phone, type the six-digit code and select „Verify Token”.", + "If the code is right, select „Save”." + ]} + ], + "faq": [ + {"q": "Does Uptime Kuma tell me when the box itself goes down?", + "a": "It cannot: Uptime Kuma runs on the box, so when the box or the home internet goes down, it goes down too. It watches other devices and websites."}, + {"q": "How do I stop a monitor for a while?", + "a": "Open the monitor, select „Pause” and confirm. To watch it again, select „Resume”."}, + {"q": "Can I switch off the sign-in?", + "a": "Do not. After „Disable Auth” on the „Security” page, anyone who knows the status.DOMAIN address gets in and can change everything."}, + {"q": "How long does it keep the history?", + "a": "365 days by default. On the „Monitor History” page of „Settings” you can make it shorter to use less space."}, + {"q": "Why is some text in English?", + "a": "Uptime Kuma follows your browser's language and shows English where a translation is missing. You can change it in „Language” on the „Appearance” page of „Settings”."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/uptime-kuma-labels.txt b/documentation/audits/app-guides-2026-10-15/B/uptime-kuma-labels.txt new file mode 100644 index 00000000..2841a841 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/uptime-kuma-labels.txt @@ -0,0 +1,60 @@ +corpus_note: louislam/uptime-kuma@2.5.5 (c98982a): src/lang/en.json, src/lang/hu.json, src/pages, src/components, src/layouts, server/model/monitor.js and server/jobs/clear-old-data.js for behaviour; default UI language: browser language, Hungarian available (src/i18n.js currentLocale) +guide on the box: shown +app: uptime-kuma checked against: 2.5.5 +corpora: louislam/uptime-kuma@2.5.5:src/lang/en.json louislam/uptime-kuma@2.5.5:src/lang/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 54 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Karbantartás” louislam/uptime-kuma@2.5.5:src/lang/hu.json:416 +OK [hu] „Karbantartás ütemezése” louislam/uptime-kuma@2.5.5:src/lang/hu.json:509 +OK [hu] „Cím” louislam/uptime-kuma@2.5.5:src/lang/hu.json:325 +OK [hu] „Érintett monitorok” louislam/uptime-kuma@2.5.5:src/lang/hu.json:409 +OK [hu] „Stratégia” louislam/uptime-kuma@2.5.5:src/lang/hu.json:507 +OK [hu] „Egyetlen karbantartási ablak” louislam/uptime-kuma@2.5.5:src/lang/hu.json:668 +OK [hu] „Mentés” louislam/uptime-kuma@2.5.5:src/lang/hu.json:77 +OK [hu] „Szerkesztés” louislam/uptime-kuma@2.5.5:src/lang/hu.json:53 +OK [hu] „Újrapróbálkozás” louislam/uptime-kuma@2.5.5:src/lang/hu.json:71 +OK [hu] „Függőben” louislam/uptime-kuma@2.5.5:src/lang/hu.json:44 +OK [hu] „Új monitor hozzáadása” louislam/uptime-kuma@2.5.5:src/lang/hu.json:40 +OK [hu] „Monitor típusa” louislam/uptime-kuma@2.5.5:src/lang/hu.json:64 +OK [hu] „Csoport” louislam/uptime-kuma@2.5.5:src/lang/hu.json:771 +OK [hu] „Monitor csoport” louislam/uptime-kuma@2.5.5:src/lang/hu.json:828 +OK [hu] „Címkék” louislam/uptime-kuma@2.5.5:src/lang/hu.json:158 +OK [hu] „Beállítások” louislam/uptime-kuma@2.5.5:src/lang/hu.json:29 +OK [hu] „Biztonság” louislam/uptime-kuma@2.5.5:src/lang/hu.json:317 +OK [hu] „2FA beállítások” louislam/uptime-kuma@2.5.5:src/lang/hu.json:152 +OK [hu] „Jelenlegi jelszó” louislam/uptime-kuma@2.5.5:src/lang/hu.json:93 +OK [hu] „2FA engedélyezése” louislam/uptime-kuma@2.5.5:src/lang/hu.json:150 +OK [hu] „Token ellenőrzése” louislam/uptime-kuma@2.5.5:src/lang/hu.json:148 +OK [hu] „Szünet” louislam/uptime-kuma@2.5.5:src/lang/hu.json:46 +OK [hu] „Folytatás” louislam/uptime-kuma@2.5.5:src/lang/hu.json:52 +OK [hu] „Hitelesítés tiltása” louislam/uptime-kuma@2.5.5:src/lang/hu.json:97 +OK [hu] „Vizsgálatok előzményei” louislam/uptime-kuma@2.5.5:src/lang/hu.json:307 +OK [hu] „Megjelenés” louislam/uptime-kuma@2.5.5:src/lang/hu.json:33 +OK [hu] „Nyelv” louislam/uptime-kuma@2.5.5:src/lang/hu.json:32 +OK [en] „Maintenance” louislam/uptime-kuma@2.5.5:src/lang/en.json:34 +OK [en] „Schedule Maintenance” louislam/uptime-kuma@2.5.5:src/lang/en.json:592 +OK [en] „Title” louislam/uptime-kuma@2.5.5:src/lang/en.json:331 +OK [en] „Affected Monitors” louislam/uptime-kuma@2.5.5:src/lang/en.json:197 +OK [en] „Strategy” louislam/uptime-kuma@2.5.5:src/lang/en.json:809 +OK [en] „Single Maintenance Window” louislam/uptime-kuma@2.5.5:src/lang/en.json:589 +OK [en] „Save” louislam/uptime-kuma@2.5.5:src/lang/en.json:127 +OK [en] „Edit” louislam/uptime-kuma@2.5.5:src/lang/en.json:58 +OK [en] „Retries” louislam/uptime-kuma@2.5.5:src/lang/en.json:92 +OK [en] „Pending” louislam/uptime-kuma@2.5.5:src/lang/en.json:33 +OK [en] „Add New Monitor” louislam/uptime-kuma@2.5.5:src/lang/en.json:29 +OK [en] „Monitor Type” louislam/uptime-kuma@2.5.5:src/lang/en.json:74 +OK [en] „Group” louislam/uptime-kuma@2.5.5:src/lang/en.json:929 +OK [en] „Monitor Group” louislam/uptime-kuma@2.5.5:src/lang/en.json:1107 +OK [en] „Tags” louislam/uptime-kuma@2.5.5:src/lang/en.json:221 +OK [en] „Settings” louislam/uptime-kuma@2.5.5:src/lang/en.json:14 +OK [en] „Security” louislam/uptime-kuma@2.5.5:src/lang/en.json:322 +OK [en] „2FA Settings” louislam/uptime-kuma@2.5.5:src/lang/en.json:213 +OK [en] „Current Password” louislam/uptime-kuma@2.5.5:src/lang/en.json:146 +OK [en] „Enable 2FA” louislam/uptime-kuma@2.5.5:src/lang/en.json:211 +OK [en] „Verify Token” louislam/uptime-kuma@2.5.5:src/lang/en.json:209 +OK [en] „Pause” louislam/uptime-kuma@2.5.5:src/lang/en.json:47 +OK [en] „Resume” louislam/uptime-kuma@2.5.5:src/lang/en.json:57 +OK [en] „Disable Auth” louislam/uptime-kuma@2.5.5:src/lang/en.json:150 +OK [en] „Monitor History” louislam/uptime-kuma@2.5.5:src/lang/en.json:297 +OK [en] „Language” louislam/uptime-kuma@2.5.5:src/lang/en.json:18 +OK [en] „Appearance” louislam/uptime-kuma@2.5.5:src/lang/en.json:19 +RESULT: ALL FOUND — 54 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/vaultwarden-draft.json b/documentation/audits/app-guides-2026-10-15/B/vaultwarden-draft.json new file mode 100644 index 00000000..5cbfb543 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/vaultwarden-draft.json @@ -0,0 +1,99 @@ +{ + "app": "vaultwarden", + "checked_version": "1.37.4-alpine", + "corpus_note": "dani-garcia/vaultwarden@1.37.4 (7c18896): docker/DockerSettings.yaml (web vault v2026.7.0), src/api; web vault = vaultwarden/vw_web_builds@v2026.7.0 (d2a095e): apps/web/src/locales/{en,hu}/messages.json, apps/web/src/app, libs/vault/src, libs/common/src/vault; Bitwarden extension and phone app labels are NOT pinned by the image and are not quoted; default UI language of the web vault: browser language, Hungarian available", + "hu": { + "sections": [ + {"title": "A Bitwarden bővítmény és app összekötése a dobozzal", + "intro": "A Bitwarden appok alapból a Bitwarden saját szerverét keresik, ezért egyszer meg kell adnod a dobozod címét.", + "steps": [ + "Nyisd meg a Bitwarden bővítményt vagy appot, és menj a bejelentkező képernyőre.", + "A szerverválasztóban válaszd a saját üzemeltetésű (self-hosted) szervert.", + "Szervercímnek írd be: vault.DOMAIN, és mentsd el.", + "Jelentkezz be az e-mail címeddel és a mesterjelszavaddal." + ]}, + {"title": "Új jelszó mentése", + "intro": "Amit a széfbe teszel, azt a bővítmény és az app is látja, és kitölti helyetted.", + "steps": [ + "A vault.DOMAIN oldalon a „Széfek” menüben kattints az „Új” gombra, és válaszd a „Bejelentkezés” pontot.", + "Töltsd ki az „Elem neve”, a „Felhasználónév” és a „Jelszó” mezőt.", + "A „Webhely” mezőbe írd be az oldal címét: a bővítmény ezen az oldalon ajánlja fel a kitöltést.", + "Kattints a „Mentés” gombra." + ]}, + {"title": "Kétlépcsős bejelentkezés bekapcsolása", + "intro": "A mesterjelszó mellé egy telefonos kód is kell, így egy ellopott jelszó önmagában kevés.", + "steps": [ + "A bal oldali menüben nyisd meg a „Beállítások”, majd a „Biztonság” pontot.", + "Válaszd a „Kétlépcsős bejelentkezés” lapot.", + "A „Hitelesítő alkalmazás” sorában kattints a „Kezelés” gombra, és kövesd az ablak lépéseit.", + "Utána kattints a „Helyreállító kód megtekintése” gombra, és írd le a kódot papírra." + ]}, + {"title": "Gyenge jelszavak keresése", + "intro": "A Vaultwarden megmutatja, melyik jelszavad gyenge, és melyiket használod több helyen.", + "steps": [ + "A bal oldali menüben nyisd meg a „Jelentések” pontot.", + "Válaszd a „Gyenge jelszavak jelentés” vagy az „Újrahasznált jelszavak jelentés” lehetőséget.", + "Cseréld le a jelszót az érintett oldalon, majd írd át a széfben is." + ]} + ], + "faq": [ + {"q": "Elfelejtettem a mesterjelszót. Mit tehetek?", + "a": "Senki nem tudja visszaállítani, a doboz sem: a széfedet a mesterjelszó titkosítja. Írd le, és tartsd biztos helyen."}, + {"q": "Miért nem tud regisztrálni a családtagom?", + "a": "A regisztráció alapból le van zárva. Hívd meg az admin panelen az első lépések szerint, vagy a vezérlőpulton, a Vaultwarden „Beállítások” fülén engedélyezd a regisztrációt."}, + {"q": "Megoszthatok jelszót a családdal?", + "a": "Igen, egy szervezettel. A „Széfek” oldal szűrőjében kattints az „Új szervezet” pontra, majd a szervezet „Tagok” oldalán hívd meg a családtagokat."}, + {"q": "Kell fiókot nyitnom a Bitwardennél?", + "a": "Nem. A Vaultwarden a te dobozodon futó szerver, a Bitwarden appok és bővítmények ehhez kapcsolódnak."}, + {"q": "Hol vannak a jelszavaim, és van róluk mentés?", + "a": "A dobozon, titkosítva. A mentésükről a Vaultwarden „Adatok és mentés” fülén tájékozódhatsz."} + ] + }, + "en": { + "sections": [ + {"title": "Connect the Bitwarden extension and app to your box", + "intro": "By default the Bitwarden apps look for Bitwarden's own server, so you enter your box's address once.", + "steps": [ + "Open the Bitwarden extension or app and go to the sign-in screen.", + "In the server choice, pick the self-hosted server.", + "As the server address, type vault.DOMAIN and save it.", + "Sign in with your e-mail address and your master password." + ]}, + {"title": "Save a new password", + "intro": "Whatever you put into the vault, the extension and the app see too, and fill in for you.", + "steps": [ + "On vault.DOMAIN, in the „Vaults” menu, select „New” and choose „Login”.", + "Fill in the „Item name”, „Username” and „Password” fields.", + "In the „Website” field, type the address of the site: the extension offers to fill in on that site.", + "Select „Save”." + ]}, + {"title": "Turn on two-step login", + "intro": "Besides the master password, a code from your phone is needed too, so a stolen password alone is not enough.", + "steps": [ + "In the menu on the left, open „Settings”, then „Security”.", + "Choose the „Two-step login” tab.", + "In the „Authenticator app” row, select „Manage” and follow the steps in the window.", + "Then select „View recovery code” and write the code down on paper." + ]}, + {"title": "Find weak passwords", + "intro": "Vaultwarden shows which of your passwords are weak and which you use in more than one place.", + "steps": [ + "In the menu on the left, open „Reports”.", + "Choose „Weak passwords” or „Reused passwords”.", + "Change the password on the site concerned, then change it in the vault too." + ]} + ], + "faq": [ + {"q": "I forgot my master password. What can I do?", + "a": "Nobody is able to reset it, not even the box: your master password encrypts your vault. Write it down and keep it somewhere safe."}, + {"q": "Why can my family member not sign up?", + "a": "Signing up is closed by default. Invite them in the admin panel as the first steps say, or allow sign-ups on the dashboard, on Vaultwarden's „Settings” tab."}, + {"q": "Can I share a password with the family?", + "a": "Yes, with an organisation. In the filter of the „Vaults” page, select „New organization”, then invite the family on the organisation's „Members” page."}, + {"q": "Do I need an account with Bitwarden?", + "a": "No. Vaultwarden is a server running on your box, and the Bitwarden apps and extensions connect to it."}, + {"q": "Where are my passwords, and are they backed up?", + "a": "On the box, encrypted. For their backup, look at the „Data and backup” tab of Vaultwarden."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/vaultwarden-labels.txt b/documentation/audits/app-guides-2026-10-15/B/vaultwarden-labels.txt new file mode 100644 index 00000000..0db436ae --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/vaultwarden-labels.txt @@ -0,0 +1,46 @@ +corpus_note: dani-garcia/vaultwarden@1.37.4 (7c18896): docker/DockerSettings.yaml (web vault v2026.7.0), src/api; web vault = vaultwarden/vw_web_builds@v2026.7.0 (d2a095e): apps/web/src/locales/{en,hu}/messages.json, apps/web/src/app, libs/vault/src, libs/common/src/vault; Bitwarden extension and phone app labels are NOT pinned by the image and are not quoted; default UI language of the web vault: browser language, Hungarian available +guide on the box: shown +app: vaultwarden checked against: 1.37.4-alpine +corpora: ./vw_web_builds/repo/apps/web/src/locales/en/messages.json ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 40 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Széfek” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:1528 +OK [hu] „Új” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:1318 +OK [hu] „Bejelentkezés” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:1053 +OK [hu] „Elem neve” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:1328 +OK [hu] „Felhasználónév” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:577 +OK [hu] „Jelszó” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:580 +OK [hu] „Webhely” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:3452 +OK [hu] „Mentés” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:968 +OK [hu] „Beállítások” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:2008 +OK [hu] „Biztonság” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:8749 +OK [hu] „Kétlépcsős bejelentkezés” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:2923 +OK [hu] „Hitelesítő alkalmazás” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:2257 +OK [hu] „Kezelés” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:3007 +OK [hu] „Helyreállító kód megtekintése” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:2969 +OK [hu] „Jelentések” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:3239 +OK [hu] „Gyenge jelszavak jelentés” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:3343 +OK [hu] „Újrahasznált jelszavak jelentés” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:3371 +OK [hu] „Új szervezet” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:2166 +OK [hu] „Tagok” ./vw_web_builds/repo/apps/web/src/locales/hu/messages.json:9351 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Vaults” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:1622 +OK [en] „New” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:1412 +OK [en] „Login” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:1075 +OK [en] „Item name” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:1422 +OK [en] „Username” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:580 +OK [en] „Password” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:583 +OK [en] „Website” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:3630 +OK [en] „Save” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:990 +OK [en] „Settings” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:2108 +OK [en] „Security” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:9158 +OK [en] „Two-step login” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:3101 +OK [en] „Authenticator app” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:2357 +OK [en] „Manage” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:3185 +OK [en] „View recovery code” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:3147 +OK [en] „Reports” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:3417 +OK [en] „Weak passwords” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:3521 +OK [en] „Reused passwords” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:3549 +OK [en] „New organization” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:2266 +OK [en] „Members” ./vw_web_builds/repo/apps/web/src/locales/en/messages.json:9774 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 40 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/vikunja-draft.json b/documentation/audits/app-guides-2026-10-15/B/vikunja-draft.json new file mode 100644 index 00000000..88953ced --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/vikunja-draft.json @@ -0,0 +1,97 @@ +{ + "app": "vikunja", + "checked_version": "2.6.0", + "corpus_note": "go-vikunja/vikunja@v2.6.0 (a4218ee): frontend/src/i18n/lang/en.json, frontend/src/i18n/lang/hu-HU.json, frontend/src components and views; pkg/models, pkg/config, pkg/user for behaviour (repeat, reminders, user search); default UI language: browser language, Hungarian available (partial: untranslated strings show in English)", + "hu": { + "sections": [ + {"title": "Feladat gyors felvétele", + "intro": "Egy sorban megadhatod a feladatot, a címkéjét és a fontosságát.", + "steps": [ + "Nyisd meg a projektet, és kattints a felső mezőbe, ahová az új feladatot írod.", + "Írd be a feladatot, és csillaggal tegyél mellé címkét, például: Tej *bolt.", + "A fontosságot felkiáltójellel és egy 1 és 5 közötti számmal adod meg, például: !4. Minél nagyobb a szám, annál fontosabb.", + "Nyomj Entert. Ha a címke még nem létezik, a Vikunja létrehozza." + ]}, + {"title": "Ismétlődő teendő", + "intro": "A heti szemétkihordást vagy a havi számlát elég egyszer felvenni.", + "steps": [ + "Nyisd meg a feladatot, kattints a „Határidő beállítása” gombra, és add meg az első alkalmat.", + "Kattints az „Állítsa be az ismétlési intervallumot” gombra, és válaszd a „Minden héten” lehetőséget.", + "Ha a feladatot késznek jelölöd, a Vikunja a határidőt a következő alkalomra teszi, és a feladat nyitva marad." + ]}, + {"title": "Projekt megosztása a családdal", + "intro": "A közös bevásárlólistát mindenki a saját fiókjából látja és bővíti.", + "steps": [ + "A családtagnak saját fiók kell: a vezérlőpulton, a Vikunja oldalán kattints a „Regisztráció megnyitása 15 percre” gombra, és ő közben regisztrál.", + "A bal oldali listában nyisd meg a projekt menüjét, és kattints a „Megosztás” pontra.", + "A felhasználók résznél írd be pontosan a családtag felhasználónevét, válaszd ki, és kattints a „Megosztás” gombra.", + "Mellette beállíthatod, hogy csak olvassa vagy szerkessze is a projektet." + ]}, + {"title": "Mi esedékes a héten?", + "intro": "Egy helyen látod az összes projekt közelgő feladatait.", + "steps": [ + "A bal oldali menüben kattints a „Hamarosan” pontra.", + "Itt a mai naptól egy hétig esedékes feladatok látszanak.", + "Jelöld be „A lejárt feladatok megjelenítése” jelölőt, hogy a lekésett feladatok is látszódjanak." + ]} + ], + "faq": [ + {"q": "Kapok emlékeztetőt?", + "a": "Nem. A Vikunja az emlékeztetőt e-mailben küldené, de a doboz nem állított be neki levelezést, ezért az „Emlékeztető beállítása” itt nem jut el hozzád. A „Hamarosan” nézet mutatja, mi esedékes."}, + {"q": "Miért nem találom a családtagomat a megosztásnál?", + "a": "Előbb regisztrálnia kell a saját fiókjával. A keresőbe a pontos felhasználónevét írd, nem a teljes nevét."}, + {"q": "Megadhatok határidőt a gyors felvételnél?", + "a": "Igen, de a Vikunja a szavakat csak angolul érti, például tomorrow vagy next monday. Magyarul inkább a „Határidő beállítása” gombot használd."}, + {"q": "Miért angol néhány felirat?", + "a": "A Vikunja a böngésződ nyelvét követi, és a magyar fordítása nem teljes. A nyelvet a „Beállítások” „Általános beállítások” részén, a „Nyelv” mezőben válthatod."}, + {"q": "Hogyan tüntetem el a lezárt projektet?", + "a": "A projekt menüjében kattints az „Archiválás” pontra. Az archivált projekt megmarad, de nem szerkeszthető, amíg vissza nem veszed."} + ] + }, + "en": { + "sections": [ + {"title": "Add a task quickly", + "intro": "In one line you can give the task, its label and its priority.", + "steps": [ + "Open the project and click into the top field where you type a new task.", + "Type the task and add a label with an asterisk, for example: Milk *shop.", + "Set the priority with an exclamation mark and a number from 1 to 5, for example: !4. The higher the number, the more important it is.", + "Press Enter. If the label does not exist yet, Vikunja creates it." + ]}, + {"title": "A repeating chore", + "intro": "Taking out the bins every week or paying a monthly bill only has to be added once.", + "steps": [ + "Open the task, select „Set Due Date” and set the first time.", + "Select „Set Repeating Interval” and choose „Every Week”.", + "When you mark the task done, Vikunja moves the due date to the next time and the task stays open." + ]}, + {"title": "Share a project with the family", + "intro": "Everyone sees and adds to the shared shopping list from their own account.", + "steps": [ + "The family member needs their own account: on the dashboard, on the Vikunja page, select „Open sign-up for 15 minutes”, and they sign up meanwhile.", + "In the list on the left, open the project's menu and select „Share”.", + "In the users part, type the family member's exact username, choose them and select „Share”.", + "Next to them you can set whether they only read the project or can edit it too." + ]}, + {"title": "What is due this week?", + "intro": "You see the coming tasks of all your projects in one place.", + "steps": [ + "In the menu on the left, select „Upcoming”.", + "It shows the tasks due from today until a week from now.", + "Tick „Show overdue tasks” to see the tasks you missed as well." + ]} + ], + "faq": [ + {"q": "Do I get reminders?", + "a": "No. Vikunja would send reminders by e-mail, but the box did not set up mail for it, so „Set Reminders” does not reach you here. The „Upcoming” view shows what is due."}, + {"q": "Why can I not find my family member when sharing?", + "a": "They have to sign up with their own account first. Type their exact username into the search, not their full name."}, + {"q": "Can I give a due date in the quick add?", + "a": "Yes, but Vikunja understands the words only in English, for example tomorrow or next monday. Otherwise use „Set Due Date”."}, + {"q": "Why is some text in English?", + "a": "Vikunja follows your browser's language, and its Hungarian translation is not complete. You can change it in „Language” under „General Settings” in „Settings”."}, + {"q": "How do I hide a finished project?", + "a": "In the project's menu, select „Archive”. An archived project stays, but you cannot edit it until you take it back."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/vikunja-labels.txt b/documentation/audits/app-guides-2026-10-15/B/vikunja-labels.txt new file mode 100644 index 00000000..b0b034ad --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/vikunja-labels.txt @@ -0,0 +1,30 @@ +corpus_note: go-vikunja/vikunja@v2.6.0 (a4218ee): frontend/src/i18n/lang/en.json, frontend/src/i18n/lang/hu-HU.json, frontend/src components and views; pkg/models, pkg/config, pkg/user for behaviour (repeat, reminders, user search); default UI language: browser language, Hungarian available (partial: untranslated strings show in English) +guide on the box: shown +app: vikunja checked against: 2.6.0 +corpora: go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 24 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Határidő beállítása” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:684 +OK [hu] „Állítsa be az ismétlési intervallumot” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:688 +OK [hu] „Minden héten” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:828 +OK [hu] „Regisztráció megnyitása 15 percre” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:2625 +OK [hu] „Megosztás” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:244 +OK [hu] „Hamarosan” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:469 +OK [hu] „A lejárt feladatok megjelenítése” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:653 +OK [hu] „Emlékeztető beállítása” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:687 +OK [hu] „Beállítások” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:67 +OK [hu] „Általános beállítások” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:73 +OK [hu] „Nyelv” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:82 +OK [hu] „Archiválás” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/hu-HU.json:961 +OK [en] „Set Due Date” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:1053 +OK [en] „Set Repeating Interval” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:1057 +OK [en] „Every Week” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:1226 +OK [en] „Open sign-up for 15 minutes” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:2637 +OK [en] „Share” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:426 +OK [en] „Upcoming” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:777 +OK [en] „Show overdue tasks” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:1004 +OK [en] „Set Reminders” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:1056 +OK [en] „Language” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:161 +OK [en] „General Settings” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:141 +OK [en] „Settings” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:124 +OK [en] „Archive” go-vikunja/vikunja@v2.6.0:frontend/src/i18n/lang/en.json:1383 +RESULT: ALL FOUND — 24 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/wanderer-draft.json b/documentation/audits/app-guides-2026-10-15/B/wanderer-draft.json new file mode 100644 index 00000000..b9f1e21a --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/wanderer-draft.json @@ -0,0 +1,97 @@ +{ + "app": "wanderer", + "checked_version": "v0.20.0", + "corpus_note": "Flomp/wanderer@v0.20.0 (fa168cb): web/src/lib/i18n/locales/en.json, web/src/lib/i18n/locales/hu.json, web/src/lib/components, web/src/routes; default UI language: browser language (or the account's language), Hungarian available but partial: many hu.json values are still English, and the guide quotes them as the Hungarian UI shows them", + "hu": { + "sections": [ + {"title": "Teljesített túra rögzítése", + "intro": "A csúcspont könyvben eltárolod, mikor és kivel jártad végig az útvonalat.", + "steps": [ + "Nyisd meg az útvonalat, és lent válaszd a „Csúcspont könyv” fület.", + "Kattints a „Bejegyzés hozzáadása” gombra.", + "Add meg a „Dátum” mezőt, a „Szöveg” mezőbe írj pár sort, tölts fel képeket, és kattints a „Mentés” gombra.", + "Az első bejegyzés után a Wanderer megkérdezi, hogy teljesítettnek jelölje-e az útvonalat." + ]}, + {"title": "Útvonalak listába rendezése", + "intro": "A listával egy helyre gyűjtöd például a nyári családi túrákat.", + "steps": [ + "A felső menüben nyisd meg a listák oldalát, és kattints a plusz gombra.", + "Adj nevet a listának, és kattints a „Save List” (lista mentése) gombra.", + "Egy útvonal oldalán nyisd meg a három pontos menüt, kattints a „Hozzáadás a listához” pontra, és válaszd ki a listát." + ]}, + {"title": "Útvonal megosztása a családdal", + "intro": "A megosztott útvonalat a családtag a saját fiókjában látja.", + "steps": [ + "A családtagnak saját fiók kell: a vezérlőpulton, a Wanderer oldalán kattints a „Regisztráció megnyitása 15 percre” gombra, és ő közben regisztrál.", + "Nyisd meg az útvonal három pontos menüjét, és kattints a „Share” (megosztás) pontra.", + "A keresőbe írd be a családtag felhasználónevét, és kattints a nevére.", + "Mellette választhatsz: „View” (csak megnézheti) vagy „Szerkesztés”." + ]}, + {"title": "Útvonal a GPS-re vagy a telefonra", + "intro": "Az útvonalat fájlként letöltheted, és betöltheted a túraórádba vagy a térképes appodba.", + "steps": [ + "Nyisd meg az útvonal három pontos menüjét, és kattints az „Export” pontra.", + "A „File format” (fájlformátum) mezőben hagyd a GPX-et, ezt a legtöbb eszköz ismeri.", + "Kattints az „Export” gombra, és a fájlt másold át az eszközödre." + ]} + ], + "faq": [ + {"q": "Ki látja az útvonalaimat?", + "a": "Alapból csak te. A „Beállítások” „Privacy” (adatvédelem) oldalán ezt megváltoztathatod, és útvonalanként is eldöntheted."}, + {"q": "Hogyan válthatok kilométerre vagy mérföldre?", + "a": "A „Beállítások” oldalon, a nyelv és a „Mértékegységek” résznél válaszd a „Metrikus” vagy az „Angolszász” lehetőséget."}, + {"q": "Miért angol sok felirat?", + "a": "A Wanderer a böngésződ nyelvét követi, de a magyar fordítása nem teljes, ezért sok gomb angolul marad. Az útmutató ezeket úgy írja, ahogy a képernyőn látod."}, + {"q": "Le tudom tölteni egyszerre az összes útvonalamat?", + "a": "Igen: a „Beállítások” import és export oldalán kattints az „Export all trails” (összes útvonal exportálása) gombra."}, + {"q": "Hol tárolja a Wanderer az adataimat?", + "a": "A dobozon, nem külső szolgáltatónál. A mentésük állapotát a vezérlőpulton, az „Adatok és mentés” fülön látod."} + ] + }, + "en": { + "sections": [ + {"title": "Record a finished hike", + "intro": "In the summit book you keep when and with whom you walked the route.", + "steps": [ + "Open the route and choose the „Summit Book” tab at the bottom.", + "Select „Add Entry”.", + "Set the „Date”, write a few lines in „Text”, upload photos and select „Save”.", + "After the first entry, Wanderer asks whether to mark the route as completed." + ]}, + {"title": "Sort routes into lists", + "intro": "With a list you keep, for example, the family's summer hikes in one place.", + "steps": [ + "In the top menu, open the lists page and select the plus button.", + "Give the list a name and select „Save List”.", + "On a route's page, open the three-dot menu, select „Manage lists” and choose the list." + ]}, + {"title": "Share a route with the family", + "intro": "Your family member sees a shared route in their own account.", + "steps": [ + "The family member needs their own account: on the dashboard, on the Wanderer page, select „Open sign-up for 15 minutes”, and they sign up meanwhile.", + "Open the route's three-dot menu and select „Share”.", + "Type the family member's username into the search and select their name.", + "Next to it you can choose: „View” (they can only look) or „Edit”." + ]}, + {"title": "A route on your GPS or phone", + "intro": "You can download the route as a file and load it into your hiking watch or map app.", + "steps": [ + "Open the route's three-dot menu and select „Export”.", + "In „File format”, keep GPX: most devices know it.", + "Select „Export” and copy the file to your device." + ]} + ], + "faq": [ + {"q": "Who sees my routes?", + "a": "Only you, by default. You can change this on the „Privacy” page of „Settings”, and decide for each route too."}, + {"q": "How do I switch between kilometres and miles?", + "a": "On the „Settings” page, in the language and „Units” part, choose „Metric” or „Imperial”."}, + {"q": "Why is so much text in English?", + "a": "Wanderer follows your browser's language, but its Hungarian translation is not complete, so many buttons stay in English there. The Hungarian guide writes them as they appear on screen."}, + {"q": "Can I download all my routes at once?", + "a": "Yes: on the import and export page of „Settings”, select „Export all trails”."}, + {"q": "Where does Wanderer keep my data?", + "a": "On the box, not with an outside provider. You see the state of its backup on the dashboard, on the „Data and backup” tab."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/wanderer-labels.txt b/documentation/audits/app-guides-2026-10-15/B/wanderer-labels.txt new file mode 100644 index 00000000..059bddd5 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/wanderer-labels.txt @@ -0,0 +1,46 @@ +corpus_note: Flomp/wanderer@v0.20.0 (fa168cb): web/src/lib/i18n/locales/en.json, web/src/lib/i18n/locales/hu.json, web/src/lib/components, web/src/routes; default UI language: browser language (or the account's language), Hungarian available but partial: many hu.json values are still English, and the guide quotes them as the Hungarian UI shows them +guide on the box: shown +app: wanderer checked against: v0.20.0 +corpora: Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 40 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Csúcspont könyv” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:542 +OK [hu] „Bejegyzés hozzáadása” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:15 +OK [hu] „Dátum” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:138 +OK [hu] „Szöveg” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:547 +OK [hu] „Mentés” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:470 +OK [hu] „Save List” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:475 +OK [hu] „Hozzáadás a listához” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:17 +OK [hu] „Regisztráció megnyitása 15 percre” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:2625 +OK [hu] „Share” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:518 +OK [hu] „View” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:644 +OK [hu] „Szerkesztés” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:165 +OK [hu] „Export” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:225 +OK [hu] „File format” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:230 +OK [hu] „Beállítások” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:492 +OK [hu] „Privacy” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:442 +OK [hu] „Mértékegységek” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:625 +OK [hu] „Metrikus” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:354 +OK [hu] „Angolszász” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/hu.json:274 +OK [hu] „Export all trails” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:226 +OK [hu] „Adatok és mentés” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:124 +OK [en] „Summit Book” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:546 +OK [en] „Add Entry” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:15 +OK [en] „Date” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:138 +OK [en] „Text” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:551 +OK [en] „Save” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:474 +OK [en] „Save List” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:475 +OK [en] „Manage lists” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:17 +OK [en] „Open sign-up for 15 minutes” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:2637 +OK [en] „Share” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:518 +OK [en] „View” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:644 +OK [en] „Edit” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:168 +OK [en] „Export” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:225 +OK [en] „File format” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:230 +OK [en] „Privacy” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:442 +OK [en] „Settings” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:496 +OK [en] „Units” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:629 +OK [en] „Metric” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:358 +OK [en] „Imperial” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:277 +OK [en] „Export all trails” Flomp/wanderer@v0.20.0:web/src/lib/i18n/locales/en.json:226 +OK [en] „Data and backup” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:128 +RESULT: ALL FOUND — 40 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/wger-draft.json b/documentation/audits/app-guides-2026-10-15/B/wger-draft.json new file mode 100644 index 00000000..49d4ebbc --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/wger-draft.json @@ -0,0 +1,97 @@ +{ + "app": "wger", + "checked_version": "2.7", + "corpus_note": "wger-project/wger@2.7 (65a1d40): wger/*/templates, wger/gym/forms.py, wger/locale/hu/LC_MESSAGES/django.po, wger/gym/fixtures/gym.json, wger/tasks.py and extras/docker/production for behaviour; plus the bundled @wger-project/react-components 26.8.28 = wger-project/react@v26.8.28 (89d234a): public/locales/en and hu translation.json, src/components; default UI language: browser language (Django LocaleMiddleware with Django's full LANGUAGES list, i18next navigator detection), Hungarian available (partial)", + "hu": { + "sections": [ + {"title": "Testsúly naplózása", + "intro": "Ha rendszeresen beírod a súlyodat, a grafikon megmutatja, merre tartasz.", + "steps": [ + "A felső menüben nyisd meg a „Test súly” menüt, és kattints a „Súly áttekintés” pontra.", + "Kattints a plusz gombra.", + "Add meg a „Dátum” és a „Testsúly” mezőt, és kattints a „Beküldés” gombra.", + "A grafikonon látod, hogyan változik a súlyod." + ]}, + {"title": "Testméretek követése", + "intro": "A derék- vagy karbőséget is naplózhatod, a súlyhoz hasonlóan.", + "steps": [ + "Az „Edzésprogram” menüben kattints a „Mérések” pontra.", + "Kattints a plusz gombra, a „Név” mezőbe írd be, mit mérsz, például: derék, az „Egység” mezőbe pedig: cm. Kattints a „Beküldés” gombra.", + "Nyisd meg az új mérést, kattints a plusz gombra, írd be az „Érték” mezőbe a mai adatot, és kattints a „Beküldés” gombra." + ]}, + {"title": "Családtag hozzáadása", + "intro": "A családtag maga nem tud regisztrálni, ezért a fiókját te hozod létre.", + "steps": [ + "A jobb felső sarokban kattints a nevedre, és válaszd az „Edzőtermek” pontot.", + "A listában nyisd meg a Default gym nevű edzőtermet, és kattints a „Tag hozzáadása” gombra.", + "Töltsd ki a „Felhasználónév” mezőt és a családtag nevét, majd kattints a „Mentés” gombra.", + "A wger egyszer megmutatja az új jelszót. Írd fel, és add át a családtagnak, mert később nem látod újra." + ]}, + {"title": "Edzésterv kinyomtatása", + "intro": "Az edzőterembe papíron vagy a telefonodon is magaddal viheted a tervet.", + "steps": [ + "Az „Edzésprogram” menüben kattints a „Gyakorlatsorok” pontra, és nyisd meg a tervedet.", + "Nyisd meg a terv menüjét, és kattints a „PDF letöltése (táblázat)” pontra.", + "Nyomtasd ki a fájlt, vagy mentsd a telefonodra." + ]} + ], + "faq": [ + {"q": "Miért nem tud a családtagom regisztrálni?", + "a": "A doboz kikapcsolta a regisztrációt, hogy idegen ne hozhasson létre fiókot. Az új fiókot te készíted el az „Edzőtermek” oldalon."}, + {"q": "Hogyan cseréli le a családtag a kapott jelszót?", + "a": "Belépés után a nevére kattintva megnyitja a „Beállításaim” oldalt, és a „Jelszó megváltoztatása” pontban megad egy újat."}, + {"q": "Kilogrammban vagy fontban mér?", + "a": "Ahogy választod: a testsúly beírásakor a „kg” és a „font” között válthatsz."}, + {"q": "Miért angol néhány felirat?", + "a": "A wger a böngésződ nyelvét követi, és a magyar fordítása nem teljes. Ahol nincs fordítás, angolul ír."}, + {"q": "Hogyan védhetem jobban a fiókomat?", + "a": "A „Beállításaim” oldalon nyisd meg a „Kétfaktoros hitelesítés” pontot, és kövesd a lépéseket. Ezután a belépéshez a telefonod is kell."} + ] + }, + "en": { + "sections": [ + {"title": "Log your body weight", + "intro": "If you enter your weight regularly, the graph shows where you are heading.", + "steps": [ + "In the top menu, open „Body weight” and select „Weight overview”.", + "Select the plus button.", + "Fill in „Date” and „Weight”, then select „Submit”.", + "The graph shows how your weight changes." + ]}, + {"title": "Track your measurements", + "intro": "You can also log your waist or arm size, just like your weight.", + "steps": [ + "In the „Training” menu, select „Measurements”.", + "Select the plus button, type what you measure into „Name”, for example: waist, and into „Unit”: cm. Select „Submit”.", + "Open the new measurement, select the plus button, type today's figure into „Value” and select „Submit”." + ]}, + {"title": "Add a family member", + "intro": "A family member cannot sign up by themselves, so you create their account.", + "steps": [ + "In the top right corner, select your name and choose „Gyms”.", + "In the list, open the gym named Default gym and select „Add member”.", + "Fill in „Username” and the family member's name, then select „Save”.", + "wger shows the new password once. Write it down and give it to the family member, because you cannot see it again later." + ]}, + {"title": "Print your training plan", + "intro": "You can take the plan to the gym on paper or on your phone.", + "steps": [ + "In the „Training” menu, select „Routines” and open your plan.", + "Open the plan's menu and select „Download PDF (table)”.", + "Print the file or save it to your phone." + ]} + ], + "faq": [ + {"q": "Why can my family member not sign up?", + "a": "The box switched sign-up off, so that a stranger cannot make an account. You create the new account on the „Gyms” page."}, + {"q": "How does the family member change the password they got?", + "a": "After signing in, they select their name, open „My preferences” and set a new one under „Change password”."}, + {"q": "Does it measure in kilograms or pounds?", + "a": "As you choose: when you enter your weight, you can switch between „kg” and „lb”."}, + {"q": "Why is some text in English?", + "a": "wger follows your browser's language, and its Hungarian translation is not complete. Where there is no translation, it shows English."}, + {"q": "How can I protect my account better?", + "a": "On the „My preferences” page, open „Two-factor authentication” and follow the steps. After that you need your phone as well to sign in."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/wger-labels.txt b/documentation/audits/app-guides-2026-10-15/B/wger-labels.txt new file mode 100644 index 00000000..6e5897c9 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/wger-labels.txt @@ -0,0 +1,48 @@ +corpus_note: wger-project/wger@2.7 (65a1d40): wger/*/templates, wger/gym/forms.py, wger/locale/hu/LC_MESSAGES/django.po, wger/gym/fixtures/gym.json, wger/tasks.py and extras/docker/production for behaviour; plus the bundled @wger-project/react-components 26.8.28 = wger-project/react@v26.8.28 (89d234a): public/locales/en and hu translation.json, src/components; default UI language: browser language (Django LocaleMiddleware with Django's full LANGUAGES list, i18next navigator detection), Hungarian available (partial) +guide on the box: shown +app: wger checked against: 2.7 +corpora: ./wger-react/repo/public/locales/hu/translation.json ./wger-react/repo/public/locales/en/translation.json wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po wger-project/wger@2.7:wger/core/templates wger-project/wger@2.7:wger/gym/templates wger-project/wger@2.7:wger/gym/forms.py felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 42 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Test súly” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:721 +OK [hu] „Súly áttekintés” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:725 +OK [hu] „Dátum” ./wger-react/repo/public/locales/hu/translation.json:14 +OK [hu] „Testsúly” ./wger-react/repo/public/locales/hu/translation.json:11 +OK [hu] „Beküldés” ./wger-react/repo/public/locales/hu/translation.json:17 +OK [hu] „Edzésprogram” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:637 +OK [hu] „Mérések” ./wger-react/repo/public/locales/hu/translation.json:336 +OK [hu] „Név” ./wger-react/repo/public/locales/hu/translation.json:217 +OK [hu] „Egység” ./wger-react/repo/public/locales/hu/translation.json:63 +OK [hu] „Érték” ./wger-react/repo/public/locales/hu/translation.json:62 +OK [hu] „Edzőtermek” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:788 +OK [hu] „Tag hozzáadása” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:1895 +OK [hu] „Felhasználónév” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:1431 +OK [hu] „Mentés” ./wger-react/repo/public/locales/hu/translation.json:221 +OK [hu] „Gyakorlatsorok” ./wger-react/repo/public/locales/hu/translation.json:282 +OK [hu] „PDF letöltése (táblázat)” ./wger-react/repo/public/locales/hu/translation.json:289 +OK [hu] „Beállításaim” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:766 +OK [hu] „Jelszó megváltoztatása” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:1287 +OK [hu] „kg” ./wger-react/repo/public/locales/hu/translation.json:375 +OK [hu] „font” ./wger-react/repo/public/locales/hu/translation.json:376 +OK [hu] „Kétfaktoros hitelesítés” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:1295 +OK [en] „Body weight” ./wger-react/repo/public/locales/en/translation.json:375 +OK [en] „Weight overview” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:724 +OK [en] „Date” ./wger-react/repo/public/locales/en/translation.json:15 +OK [en] „Weight” ./wger-react/repo/public/locales/en/translation.json:11 +OK [en] „Submit” ./wger-react/repo/public/locales/en/translation.json:18 +OK [en] „Training” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:636 +OK [en] „Measurements” ./wger-react/repo/public/locales/en/translation.json:341 +OK [en] „Name” ./wger-react/repo/public/locales/en/translation.json:218 +OK [en] „Unit” ./wger-react/repo/public/locales/en/translation.json:64 +OK [en] „Value” ./wger-react/repo/public/locales/en/translation.json:63 +OK [en] „Gyms” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:787 +OK [en] „Add member” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:1894 +OK [en] „Username” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:1430 +OK [en] „Save” ./wger-react/repo/public/locales/en/translation.json:222 +OK [en] „Routines” ./wger-react/repo/public/locales/en/translation.json:287 +OK [en] „Download PDF (table)” ./wger-react/repo/public/locales/en/translation.json:294 +OK [en] „My preferences” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:765 +OK [en] „Change password” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:1286 +OK [en] „kg” ./wger-react/repo/public/locales/hu/translation.json:375 +OK [en] „lb” ./wger-react/repo/public/locales/hu/translation.json:376 +OK [en] „Two-factor authentication” wger-project/wger@2.7:wger/locale/hu/LC_MESSAGES/django.po:1294 +RESULT: ALL FOUND — 42 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/wishlist-draft.json b/documentation/audits/app-guides-2026-10-15/B/wishlist-draft.json new file mode 100644 index 00000000..3e62aaf2 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/wishlist-draft.json @@ -0,0 +1,95 @@ +{ + "app": "wishlist", + "checked_version": "v0.67.1", + "corpus_note": "cmintey/wishlist@v0.67.1 (a5150c7): src/i18n/en.json, src/lib/components, src/routes, src/lib/server/config.ts for defaults; default UI language: English (src/i18n/hu.json exists but Hungarian is not in supportedLangs in src/lib/i18n.ts, so a Hungarian browser gets English)", + "hu": { + "sections": [ + {"title": "Kívánság felvétele webshop linkből", + "intro": "Ha megvan a termék linkje, a Wishlist maga tölti ki a nevét, az árát és a képét.", + "steps": [ + "A „My Lists” (saját listáim) oldalon nyisd meg a listádat, és kattints a jobb alsó sarokban a plusz gombra.", + "Másold be a termék linkjét az „Item URL” (termék címe) mezőbe, és várd meg, amíg az adatok betöltődnek.", + "A „Notes” (megjegyzés) mezőbe írd be, ami fontos, például méretet vagy színt.", + "Ha ez a legnagyobb vágyad, kapcsold be a „Most wanted” (legjobban vágyott) jelölőt, majd kattints a „Create item” (létrehozás) gombra." + ]}, + {"title": "Ajándék lefoglalása", + "intro": "Foglald le, amit megveszel, így ketten nem veszik meg ugyanazt.", + "steps": [ + "A „Home” (kezdőlap) oldalon nyisd meg a családtag listáját.", + "Az ajándéknál kattints a „Claim” (lefoglalom) gombra, majd a megjelenő ablakban is a „Claim” gombra.", + "A lista gazdája nem látja, hogy mit foglaltak le, a többi családtag viszont látja a neved az ajándék mellett." + ]}, + {"title": "A lefoglalt ajándékaid", + "intro": "Egy helyen látod, mit vállaltál, és mit vettél már meg.", + "steps": [ + "Kattints a „My Claims” (foglalásaim) pontra.", + "Ha megvetted az ajándékot, kattints a mellette lévő táska ikonra, a „Mark item as purchased” (megvettem) gombra.", + "Ha mégsem veszed meg, kattints az „Unclaim” (foglalás törlése) gombra, majd a megjelenő ablakban is, hogy más lefoglalhassa." + ]}, + {"title": "Ötlet más listájára", + "intro": "Másnak is javasolhatsz kívánságot, de az csak akkor kerül fel, ha ő elfogadja.", + "steps": [ + "Nyisd meg a családtag listáját, és kattints a jobb alsó sarokban a plusz gombra.", + "Töltsd ki a kívánságot ugyanúgy, mint a sajátodnál, és kattints a „Create item” gombra.", + "A lista gazdája az „Approvals” (jóváhagyások) résznél látja a javaslatot, és elfogadja vagy elutasítja." + ]} + ], + "faq": [ + {"q": "Látja a családtag, hogy mit foglaltam le a listájáról?", + "a": "Nem: a lista gazdája nem látja a foglalásokat. A többi családtag látja, hogy te foglaltad le, így nem veszik meg kétszer."}, + {"q": "Miért nem működik a meghívó link?", + "a": "A regisztráció csak akkor nyitott, amikor a vezérlőpulton, a Wishlist oldalán a „Regisztráció megnyitása 15 percre” gombot megnyomod. A meghívó linket ebben az időben kell megnyitni."}, + {"q": "Van magyar nyelve?", + "a": "Ebben a változatban nincs: a Wishlist angolul jelenik meg, a böngésző nyelvétől függetlenül. Az útmutató ezért zárójelben megadja a feliratok jelentését."}, + {"q": "Feltölthetek saját képet egy kívánsághoz?", + "a": "Igen: a kívánság szerkesztésekor kattints az „Upload Image” (kép feltöltése) gombra. Ez akkor jó, ha a termék nem webshopból van."}, + {"q": "Hogyan rendezem a kívánságaimat?", + "a": "A listádon kattints a „Reorder” (átrendezés) gombra, állítsd be a sorrendet, majd kattints a „Finish” (kész) gombra."} + ] + }, + "en": { + "sections": [ + {"title": "Add a wish from a web shop link", + "intro": "When you have the product's link, Wishlist fills in its name, price and picture by itself.", + "steps": [ + "On the „My Lists” page, open your list and select the plus button in the bottom right corner.", + "Paste the product's link into „Item URL” and wait while the data loads.", + "In „Notes”, write what matters, for example the size or the colour.", + "If you want this most of all, switch on „Most wanted”, then select „Create item”." + ]}, + {"title": "Claim a gift", + "intro": "Claim what you are going to buy, so that two people do not buy the same thing.", + "steps": [ + "On the „Home” page, open the family member's list.", + "At the gift, select „Claim”, then „Claim” again in the window that opens.", + "The owner of the list does not see what was claimed, but the other family members see your name next to the gift." + ]}, + {"title": "The gifts you claimed", + "intro": "You see in one place what you took on and what you have already bought.", + "steps": [ + "Select „My Claims”.", + "When you have bought the gift, select the bag icon next to it, the „Mark item as purchased” button.", + "If you are not going to buy it after all, select „Unclaim”, then again in the window that opens, so that someone else can claim it." + ]}, + {"title": "An idea for someone else's list", + "intro": "You can suggest a wish to someone else too, but it only goes on the list if they accept it.", + "steps": [ + "Open the family member's list and select the plus button in the bottom right corner.", + "Fill in the wish the same way as your own and select „Create item”.", + "The owner of the list sees the suggestion under „Approvals” and accepts or declines it." + ]} + ], + "faq": [ + {"q": "Does my family member see what I claimed from their list?", + "a": "No: the owner of a list does not see the claims. The other family members see that you claimed it, so nobody buys it twice."}, + {"q": "Why does the invite link not work?", + "a": "Sign-up is open only after you press „Open sign-up for 15 minutes” on the dashboard, on the Wishlist page. Open the invite link during that time."}, + {"q": "Is there a Hungarian version?", + "a": "Not in this version: Wishlist shows in English, whatever your browser's language. That is why the Hungarian guide gives the meaning of the labels in brackets."}, + {"q": "Can I upload my own picture for a wish?", + "a": "Yes: when you edit the wish, select „Upload Image”. This helps when the product is not from a web shop."}, + {"q": "How do I put my wishes in order?", + "a": "On your list, select „Reorder”, set the order, then select „Finish”."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/wishlist-labels.txt b/documentation/audits/app-guides-2026-10-15/B/wishlist-labels.txt new file mode 100644 index 00000000..58ff8819 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/wishlist-labels.txt @@ -0,0 +1,36 @@ +corpus_note: cmintey/wishlist@v0.67.1 (a5150c7): src/i18n/en.json, src/lib/components, src/routes, src/lib/server/config.ts for defaults; default UI language: English (src/i18n/hu.json exists but Hungarian is not in supportedLangs in src/lib/i18n.ts, so a Hungarian browser gets English) +guide on the box: shown +app: wishlist checked against: v0.67.1 +corpora: cmintey/wishlist@v0.67.1:src/i18n/en.json felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 30 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „My Lists” cmintey/wishlist@v0.67.1:src/i18n/en.json:446 +OK [hu] „Item URL” cmintey/wishlist@v0.67.1:src/i18n/en.json:432 +OK [hu] „Notes” cmintey/wishlist@v0.67.1:src/i18n/en.json:453 +OK [hu] „Most wanted” cmintey/wishlist@v0.67.1:src/i18n/en.json:444 +OK [hu] „Create item” cmintey/wishlist@v0.67.1:src/i18n/en.json:374 +OK [hu] „Home” cmintey/wishlist@v0.67.1:src/i18n/en.json:147 +OK [hu] „Claim” cmintey/wishlist@v0.67.1:src/i18n/en.json:389 +OK [hu] „My Claims” cmintey/wishlist@v0.67.1:src/i18n/en.json:148 +OK [hu] „Mark item as purchased” cmintey/wishlist@v0.67.1:src/i18n/en.json:461 +OK [hu] „Unclaim” cmintey/wishlist@v0.67.1:src/i18n/en.json:480 +OK [hu] „Approvals” cmintey/wishlist@v0.67.1:src/i18n/en.json:383 +OK [hu] „Regisztráció megnyitása 15 percre” felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json:2625 +OK [hu] „Upload Image” cmintey/wishlist@v0.67.1:src/i18n/en.json:486 +OK [hu] „Reorder” cmintey/wishlist@v0.67.1:src/i18n/en.json:467 +OK [hu] „Finish” cmintey/wishlist@v0.67.1:src/i18n/en.json:415 +OK [en] „My Lists” cmintey/wishlist@v0.67.1:src/i18n/en.json:446 +OK [en] „Item URL” cmintey/wishlist@v0.67.1:src/i18n/en.json:432 +OK [en] „Notes” cmintey/wishlist@v0.67.1:src/i18n/en.json:453 +OK [en] „Most wanted” cmintey/wishlist@v0.67.1:src/i18n/en.json:444 +OK [en] „Create item” cmintey/wishlist@v0.67.1:src/i18n/en.json:374 +OK [en] „Home” cmintey/wishlist@v0.67.1:src/i18n/en.json:147 +OK [en] „Claim” cmintey/wishlist@v0.67.1:src/i18n/en.json:389 +OK [en] „My Claims” cmintey/wishlist@v0.67.1:src/i18n/en.json:148 +OK [en] „Mark item as purchased” cmintey/wishlist@v0.67.1:src/i18n/en.json:461 +OK [en] „Unclaim” cmintey/wishlist@v0.67.1:src/i18n/en.json:480 +OK [en] „Approvals” cmintey/wishlist@v0.67.1:src/i18n/en.json:383 +OK [en] „Open sign-up for 15 minutes” felhom-controller@123d2d5:controller/internal/i18n/locales/en.json:2637 +OK [en] „Upload Image” cmintey/wishlist@v0.67.1:src/i18n/en.json:486 +OK [en] „Reorder” cmintey/wishlist@v0.67.1:src/i18n/en.json:467 +OK [en] „Finish” cmintey/wishlist@v0.67.1:src/i18n/en.json:415 +RESULT: ALL FOUND — 30 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/B/zipline-draft.json b/documentation/audits/app-guides-2026-10-15/B/zipline-draft.json new file mode 100644 index 00000000..a33258fa --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/zipline-draft.json @@ -0,0 +1,101 @@ +{ + "app": "zipline", + "checked_version": "4.8.0", + "corpus_note": "diced/zipline@v4.8.0 (bdee0e7): src/components (Layout.tsx, pages/upload, pages/folders, pages/users, pages/urls), src/lib/config/validate.ts and src/lib/client/upload for behaviour; default UI language: English (the UI has no translations)", + "hu": { + "sections": [ + {"title": "Fájl küldése linkkel", + "intro": "A feltöltött fájlhoz a Zipline linket ad, ezt elküldheted bárkinek.", + "steps": [ + "A bal oldali menüben nyisd meg az „Upload” (feltöltés) menüt, és kattints a „File” (fájl) pontra.", + "Húzd a fájlt az oldalra, vagy kattints a mezőre, és válaszd ki.", + "Kattints a lenti feltöltés gombra.", + "A feltöltés után megjelenik a link: a másolás ikonnal vágólapra teszed, és elküldheted." + ]}, + {"title": "Fájl, ami magától törlődik", + "intro": "Egy átmeneti fájlnál beállíthatod, hogy egy idő után eltűnjön, vagy jelszót kérjen.", + "steps": [ + "A feltöltés oldalán kattints az „Options” (beállítások) gombra.", + "Az „Upload Options” ablakban válaszd ki, mennyi idő múlva törlődjön a fájl, például: 1 week.", + "Ha csak az nyithassa meg, akinek megmondod, írj jelszót a „Password” (jelszó) mezőbe.", + "Kattints a „Close” (bezárás) gombra, és töltsd fel a fájlt. A beállítást a böngésződ megjegyzi a következő feltöltésre is." + ]}, + {"title": "Közös mappa a családnak", + "intro": "Egy nyilvános mappában egy linkkel több fájlt is megoszthatsz, például a nyaralás képeit.", + "steps": [ + "A „Folders” (mappák) oldalon kattints a mappa létrehozása gombra.", + "Írd be a „Name” (név) mezőt, kapcsold be a „Public” (nyilvános) kapcsolót, és kattints a „Create” (létrehozás) gombra.", + "Feltöltéskor az „Options” ablak „Add to a Folder” (mappába tétel) mezőjében válaszd ki ezt a mappát.", + "A mappa menüjében a „Copy URL” (link másolása) ponttal kapod meg a mappa linkjét." + ]}, + {"title": "Fiók a családtagnak", + "intro": "Mindenki a saját fiókjával tölthet fel, így a fájlok nem keverednek.", + "steps": [ + "A bal oldali menüben nyisd meg az „Administrator” (adminisztrátor) menüt, és kattints a „Users” (felhasználók) pontra.", + "Kattints a „Create” gombra.", + "Írd be a „Username” (felhasználónév) és a „Password” mezőt, a „Role” (szerep) mezőben hagyd a „User” (felhasználó) értéket.", + "Kattints a „Create” gombra, és add át a családtagnak a nevet és a jelszót." + ]} + ], + "faq": [ + {"q": "Ki láthatja a feltöltött fájlt?", + "a": "Bárki, akinek elküldöd a linket, bejelentkezés nélkül is. Ha ezt nem szeretnéd, feltöltés előtt adj meg jelszót az „Options” ablakban."}, + {"q": "Mekkora fájlt tölthetek fel?", + "a": "Alapból fájlonként legfeljebb 100 MB-osat."}, + {"q": "Tudok rövid linket készíteni egy hosszú címből?", + "a": "Igen: az „URLs” (linkek) oldalon kattints a „Create” gombra, másold be a címet az „URL” mezőbe, és kattints a „Create” gombra."}, + {"q": "Elfelejtette a jelszavát a családtag. Mit tegyek?", + "a": "A „Users” oldalon a családtag kártyájának menüjében kattints az „Edit” (szerkesztés) pontra, írj új jelszót a „Password” mezőbe, és kattints az „Update user” (mentés) gombra."}, + {"q": "Miért angol a Zipline?", + "a": "A Zipline csak angolul érhető el. Az útmutató ezért zárójelben megadja a feliratok jelentését."} + ] + }, + "en": { + "sections": [ + {"title": "Send a file with a link", + "intro": "Zipline gives an uploaded file a link that you can send to anyone.", + "steps": [ + "In the menu on the left, open „Upload” and select „File”.", + "Drag the file onto the page, or click the box and choose it.", + "Select the upload button at the bottom.", + "After the upload the link appears: the copy icon puts it on the clipboard so you can send it." + ]}, + {"title": "A file that deletes itself", + "intro": "For a short-lived file you can set it to disappear after a while, or to ask for a password.", + "steps": [ + "On the upload page, select „Options”.", + "In the „Upload Options” window, choose after how long the file deletes itself, for example: 1 week.", + "If only the people you tell should open it, type a password into „Password”.", + "Select „Close” and upload the file. Your browser remembers the setting for the next upload too." + ]}, + {"title": "A shared folder for the family", + "intro": "In a public folder you can share several files with one link, for example the holiday photos.", + "steps": [ + "On the „Folders” page, select the button that creates a folder.", + "Fill in „Name”, switch on „Public” and select „Create”.", + "When you upload, choose this folder in „Add to a Folder” in the „Options” window.", + "In the folder's menu, „Copy URL” gives you the folder's link." + ]}, + {"title": "An account for a family member", + "intro": "Everyone uploads with their own account, so the files do not get mixed up.", + "steps": [ + "In the menu on the left, open „Administrator” and select „Users”.", + "Select „Create”.", + "Fill in „Username” and „Password”, and leave „Role” on „User”.", + "Select „Create” and give the family member the name and the password." + ]} + ], + "faq": [ + {"q": "Who can see an uploaded file?", + "a": "Anyone you send the link to, even without signing in. If you do not want that, set a password in the „Options” window before you upload."}, + {"q": "How big a file can I upload?", + "a": "By default, up to 100 MB per file."}, + {"q": "Can I make a short link from a long address?", + "a": "Yes: on the „URLs” page select „Create”, paste the address into „URL” and select „Create”."}, + {"q": "A family member forgot their password. What do I do?", + "a": "On the „Users” page, in the menu of the family member's card, select „Edit”, type a new password into „Password” and select „Update user”."}, + {"q": "Why is Zipline in English?", + "a": "Zipline is only available in English. That is why the Hungarian guide gives the meaning of the labels in brackets."} + ] + } +} diff --git a/documentation/audits/app-guides-2026-10-15/B/zipline-labels.txt b/documentation/audits/app-guides-2026-10-15/B/zipline-labels.txt new file mode 100644 index 00000000..f2b43593 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/B/zipline-labels.txt @@ -0,0 +1,48 @@ +corpus_note: diced/zipline@v4.8.0 (bdee0e7): src/components (Layout.tsx, pages/upload, pages/folders, pages/users, pages/urls), src/lib/config/validate.ts and src/lib/client/upload for behaviour; default UI language: English (the UI has no translations) +guide on the box: shown +app: zipline checked against: 4.8.0 +corpora: diced/zipline@v4.8.0:src/components felhom-controller@123d2d5:controller/internal/i18n/locales/hu.json felhom-controller@123d2d5:controller/internal/i18n/locales/en.json +labels: 42 (Hungarian and English guide strings, every „…” occurrence) +OK [hu] „Upload” diced/zipline@v4.8.0:src/components/Layout.tsx:94 +OK [hu] „File” diced/zipline@v4.8.0:src/components/Layout.tsx:99 +OK [hu] „Options” diced/zipline@v4.8.0:src/components/pages/upload/UploadOptionsButton.tsx:491 +OK [hu] „Upload Options” diced/zipline@v4.8.0:src/components/pages/upload/UploadOptionsButton.tsx:152 +OK [hu] „Password” diced/zipline@v4.8.0:src/components/pages/users/index.tsx:110 +OK [hu] „Close” diced/zipline@v4.8.0:src/components/pages/upload/UploadOptionsButton.tsx:480 +OK [hu] „Folders” diced/zipline@v4.8.0:src/components/Layout.tsx:88 +OK [hu] „Name” diced/zipline@v4.8.0:src/components/pages/serverActions/actions/ImportExport/ImportV4Button/Export4Details.tsx:308 +OK [hu] „Public” diced/zipline@v4.8.0:src/components/pages/serverActions/actions/ImportExport/ImportV4Button/Export4Details.tsx:364 +OK [hu] „Create” diced/zipline@v4.8.0:src/components/pages/users/index.tsx:146 +OK [hu] „Add to a Folder” diced/zipline@v4.8.0:src/components/pages/upload/UploadOptionsButton.tsx:330 +OK [hu] „Copy URL” diced/zipline@v4.8.0:src/components/pages/urls/views/UrlTableView.tsx:252 +OK [hu] „Administrator” diced/zipline@v4.8.0:src/components/Layout.tsx:119 +OK [hu] „Users” diced/zipline@v4.8.0:src/components/Layout.tsx:150 +OK [hu] „Username” diced/zipline@v4.8.0:src/components/pages/users/index.tsx:104 +OK [hu] „Role” diced/zipline@v4.8.0:src/components/pages/users/index.tsx:133 +OK [hu] „User” diced/zipline@v4.8.0:src/components/pages/users/index.tsx:136 +OK [hu] „URLs” diced/zipline@v4.8.0:src/components/Layout.tsx:113 +OK [hu] „URL” diced/zipline@v4.8.0:src/components/pages/urls/index.tsx:164 +OK [hu] „Edit” diced/zipline@v4.8.0:src/components/pages/users/UserCard.tsx:58 +OK [hu] „Update user” diced/zipline@v4.8.0:src/components/pages/users/EditUserModal.tsx:271 +OK [en] „Upload” diced/zipline@v4.8.0:src/components/Layout.tsx:94 +OK [en] „File” diced/zipline@v4.8.0:src/components/Layout.tsx:99 +OK [en] „Options” diced/zipline@v4.8.0:src/components/pages/upload/UploadOptionsButton.tsx:491 +OK [en] „Upload Options” diced/zipline@v4.8.0:src/components/pages/upload/UploadOptionsButton.tsx:152 +OK [en] „Password” diced/zipline@v4.8.0:src/components/pages/users/index.tsx:110 +OK [en] „Close” diced/zipline@v4.8.0:src/components/pages/upload/UploadOptionsButton.tsx:480 +OK [en] „Folders” diced/zipline@v4.8.0:src/components/Layout.tsx:88 +OK [en] „Name” diced/zipline@v4.8.0:src/components/pages/serverActions/actions/ImportExport/ImportV4Button/Export4Details.tsx:308 +OK [en] „Public” diced/zipline@v4.8.0:src/components/pages/serverActions/actions/ImportExport/ImportV4Button/Export4Details.tsx:364 +OK [en] „Create” diced/zipline@v4.8.0:src/components/pages/users/index.tsx:146 +OK [en] „Add to a Folder” diced/zipline@v4.8.0:src/components/pages/upload/UploadOptionsButton.tsx:330 +OK [en] „Copy URL” diced/zipline@v4.8.0:src/components/pages/urls/views/UrlTableView.tsx:252 +OK [en] „Administrator” diced/zipline@v4.8.0:src/components/Layout.tsx:119 +OK [en] „Users” diced/zipline@v4.8.0:src/components/Layout.tsx:150 +OK [en] „Username” diced/zipline@v4.8.0:src/components/pages/users/index.tsx:104 +OK [en] „Role” diced/zipline@v4.8.0:src/components/pages/users/index.tsx:133 +OK [en] „User” diced/zipline@v4.8.0:src/components/pages/users/index.tsx:136 +OK [en] „URLs” diced/zipline@v4.8.0:src/components/Layout.tsx:113 +OK [en] „URL” diced/zipline@v4.8.0:src/components/pages/urls/index.tsx:164 +OK [en] „Edit” diced/zipline@v4.8.0:src/components/pages/users/UserCard.tsx:58 +OK [en] „Update user” diced/zipline@v4.8.0:src/components/pages/users/EditUserModal.tsx:271 +RESULT: ALL FOUND — 42 label(s), 0 missing diff --git a/documentation/audits/app-guides-2026-10-15/credential-guard-redproof.txt b/documentation/audits/app-guides-2026-10-15/credential-guard-redproof.txt new file mode 100644 index 00000000..5e3f6823 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/credential-guard-redproof.txt @@ -0,0 +1,10 @@ +# red-proof of the read_credential.py same-file guard: guard switched off, test run, guard restored + FAIL same path is REFUSED rc=0 + FAIL same path: the credentials file is unchanged 'abcdefghijklm' + OK a symlink to it is REFUSED + FAIL symlink: the credentials file is unchanged 'abcdefghijklm' + OK a hard link to it is REFUSED + FAIL hard link: the credentials file is unchanged 'abcdefghijklm' + FAIL a separate outfile is still accepted +FAILED: 5 +rc=0 diff --git a/documentation/audits/app-guides-2026-10-15/tools/apply_batch.sh b/documentation/audits/app-guides-2026-10-15/tools/apply_batch.sh new file mode 100644 index 00000000..c11d6653 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/tools/apply_batch.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# apply_batch.sh — the ONE writer: validate, write and freeze a batch of drafted guides, and file their evidence. +# tools/apply_batch.sh [ ...] (an app given as name:hidden is hidden) +# Run from the catalog root. Stops at the first app that does not validate; nothing is committed here. +set -eu +S=$1; SUB=$2; shift 2 +T=$(cd "$(dirname "$0")" && pwd) +EV=$(dirname "$T")/$SUB +CH=$(git -C ../felhom-controller rev-parse --short HEAD) +for spec in "$@"; do + app=${spec%%:*}; mode=${spec#*:}; [ "$mode" = "$spec" ] && mode=shown + python3 "$T/validate_draft.py" . "$S/drafts/$app.json" + if [ "$mode" = hidden ]; then + python3 "$T/apply_guide.py" . "$S/drafts/$app.json" --hidden + reason="user guide added HIDDEN (checked_version empty) - app guides 2026-10-15; see the evidence file for why" + else + python3 "$T/apply_guide.py" . "$S/drafts/$app.json" + reason="user guide added (app guides 2026-10-15): every label checked against the app at its pinned tag" + fi + python3 scripts/check-copy-i18n.py --add-app "$app" --reason "$reason" | tail -1 + repo=$(python3 -I -c 'import json,sys; print(json.load(open(sys.argv[1]))["corpus_note"].split(" (")[0].split(":")[0])' "$S/drafts/$app.json") + { echo "corpus_note: $(python3 -I -c 'import json,sys; print(json.load(open(sys.argv[1])).get("corpus_note",""))' "$S/drafts/$app.json")" + echo "guide on the box: $mode" + sed -e "s#\./$app/repo/#$repo:#g; s#\./$app/#$repo:#g; s#/mnt/5_hdd/felhom.eu/git/felhom-controller/#felhom-controller@$CH:#g" "$S/$app-labels.raw" + } > "$EV/$app-labels.txt" + cp "$S/drafts/$app.json" "$EV/$app-draft.json" +done diff --git a/documentation/audits/app-guides-2026-10-15/tools/loader_check_test.go.txt b/documentation/audits/app-guides-2026-10-15/tools/loader_check_test.go.txt new file mode 100644 index 00000000..34f9e3d5 --- /dev/null +++ b/documentation/audits/app-guides-2026-10-15/tools/loader_check_test.go.txt @@ -0,0 +1,34 @@ +package stacks + +// SCRATCH ONLY (app-guides night, 2026-10-15): the real catalog templates through the controller's own loader. +// Never committed — it lives in a throwaway copy of the repo. + +import ( + "os" + "path/filepath" + "strings" + "testing" +) + +func TestScratch_RealCatalogGuides(t *testing.T) { + root := os.Getenv("CATALOG_TEMPLATES") + apps := strings.Split(os.Getenv("GUIDE_APPS"), ",") + for _, app := range apps { + m := LoadMetadata(filepath.Join(root, app)) + g := m.AppInfo.Guide + en := m.For("en").AppInfo.Guide + es, ef := m.GuideOverlayExtras("en") + t.Logf("%s: rendered=%v checked=%q sections=%d faq=%d | en: sections=%d faq=%d first=%q extras=%d/%d", + app, g.Rendered(), g.CheckedVersion, len(g.Sections), len(g.FAQ), len(en.Sections), len(en.FAQ), + func() string { if len(en.Sections) > 0 { return en.Sections[0].Title }; return "" }(), es, ef) + if !g.Rendered() || len(g.Sections) < 3 || len(g.FAQ) < 4 { + t.Errorf("%s: guide not rendered or too short", app) + } + if len(en.Sections) != len(g.Sections) || en.Sections[0].Title == g.Sections[0].Title || es != 0 || ef != 0 { + t.Errorf("%s: English overlay not applied as expected", app) + } + if en.CheckedVersion != g.CheckedVersion { + t.Errorf("%s: checked_version moved under the overlay", app) + } + } +} diff --git a/documentation/backlog/OPEN-ITEMS.md b/documentation/backlog/OPEN-ITEMS.md index 1eb27ce8..1e6b54cc 100644 --- a/documentation/backlog/OPEN-ITEMS.md +++ b/documentation/backlog/OPEN-ITEMS.md @@ -124,11 +124,15 @@ stopping line that lies. | **R-494** | Install & onboarding | P4 | **NARROWED 2026-09-14 by operator ruling → [P3-LOW] the hub COULD create the tunnel at customer creation, for a domain already on Cloudflare. Not blocking: every customer has their own domain and the operator creates the tunnel per day-0 A.1 (`architecture/01-topology-and-trust.md`).** *Original finding, kept:* **[P1-HIGH] A new customer's dashboard has NO reachable address unless the operator hand-makes a Cloudflare tunnel — the link in the setup-code mail is dead.** MEASURED 2026-09-14 on a fresh install from the public ISO (drill intervention **I1**): the claim mail points at `https://felhom.drill0242.felhom.eu`; that name has **no A and no AAAA** record (`dig @1.1.1.1`, control `felhom.enkisfelhom.hu` resolves); the hub has **no tunnel- or DNS-creation code** (`hub/internal/cloudflare/` holds only geo-rule removal; `cf_tunnel_token` is a pasted, optional form field, `configs.go:1478`) — day-0 runbook A.1 makes it a manual Cloudflare-dashboard step that nothing on the customer-create page asks for; the box's own split-horizon resolver on the appliance LAN IP answered `google.com` but not the dashboard name at 13:27:39Z; the agent applied the record at **13:27:44Z** (`lanresolver: applied split-horizon record … ip=192.168.0.158`, 3 m 46 s after the controller started), so the box CAN answer the name — **but only to a device that uses the box as its DNS server, and no document, screen or mail tells a household to do that**; the router and the installer-offered DNS answer nothing. The page was reachable only at the guest's LAN address with the name forced (`curl --resolve …:443:192.168.0.158`). **A volunteer could not have done that.** **What it needs:** an operator ruling — the hub creates the tunnel and DNS at customer creation, or the product gives a household a LAN address that works with no DNS change. | **READY — rank P3-LOW; owner: CC** **Re-ranked 2026-10-03: P3→P4: operator-side automation; the operator creates the tunnel by hand per the day-0 runbook.** | — | — | CC | | **R-504** | Install & onboarding | P4 | **[P3-LOW] `iso.felhom.eu` cannot show an index page on its own — its root returns 404, and the download page lives on the website instead.** MEASURED 2026-09-14: `https://iso.felhom.eu/` and `/index.html` → 404; only named objects answer. The host is an R2 bucket behind a custom domain; whether R2 would serve an uploaded `index.html` at `/` was **not measured** (uploading anything to the public bucket is a publication). The ISO v1.27.0 task puts the Hungarian download page at `felhom.eu/letoltes` (published with the ISO, after the operator's yes). **Remaining:** a redirect from `iso.felhom.eu/` to that page needs a Cloudflare rule the session has no credential for. | **WAITING-ON-OPERATOR — rank P3-LOW; owner: operator (Cloudflare rule)** **Re-ranked 2026-10-03: P3→P4: households are sent to the website's download page; the bare address is cosmetic.** | — | — | operator | -## Apps & catalog — 17 rows (P2 2, P3 9, P4 6) +## Apps & catalog — 21 rows (P2 3, P3 11, P4 7) | ID | Category | Sev | What | State | Blocked on | Next action | Owner | |---|---|---|---|---|---|---|---| | **R-1086** | Apps & catalog | P2 | **qBittorrent's first steps tell the household to set their own password — and the box's media wiring logs in with the INSTALL password, so after that change Sonarr and Radarr stop getting their downloads handed over and a safe drive removal cannot pause its torrents.** FOUND 2026-10-15 night writing the qBittorrent guide; static, not yet reproduced. `templates/qbittorrent/.felhom.yml` first_steps[1] (set your own password on the Web UI settings page); felhom-controller `internal/mediawire/mediawire.go:124` (the wiring), `:437` (the Sonarr/Radarr client entry), `:757` and `:828` (pause/resume on safe removal) all read `QBT_ADMIN_PASSWORD` from the container env, and the template seeds no login bypass for the Docker network. Transmission has the same shape (`trPW`). Second fault in the same sentence: the qBittorrent Web UI starts in ENGLISH (the image sets no language — its env holds only PATH, read 2026-10-15), so the labels are „Options” and „WebUI”, not the Hungarian words the step quotes. The guide written tonight says nothing about the password. | OPEN — filed 2026-10-15 | Operator: (a) the copy stops advising a password change — the generated one is long, random and shown on the dashboard; or (b) the box asks for the changed password (an after-start field) | Reproduce on 9202 (change it, press „Bekötés most”, read Sonarr's client test), then (a) or (b) | CC | +| **R-1089** | Apps & catalog | P2 | **RomM may never find the household's games: the first steps put them where the scan probably does not look.** FOUND 2026-10-15 night writing the RomM guide, from RomM 5.3.1's source — NOT measured. RomM's default layout is `library/roms//`; the compose mounts the drive's `userdata/roms` as `/romm/library`, so the first steps' `roms/gba/`, `roms/snes/` land at `library/gba`, outside the scan's `library/roms`. The same first steps send the household to a „Settings" menu and a left-hand „Scan" the new default UI (5.3.1) no longer has (both are in the profile menu now), and the compose comment's default login `admin / admin` is stale (the first run asks for a password). The guide written tonight gives no folder path. Draft and source note: `audits/app-guides-2026-10-15/B/romm-labels.txt`. | OPEN — filed 2026-10-15 | — | On 9202: install RomM, put one legal ROM where the first steps say, scan, read the library; then fix the path (copy or compose) and the two labels | CC | +| **R-1090** | Apps & catalog | P3 | **Ghost may lock a household out of its own blog on a second device: new-device sign-in asks for a code by e-mail, and the box wires no e-mail for Ghost.** FOUND 2026-10-15 night from Ghost 6.67.0's source (`ghost/core` defaults: `security.staffDeviceVerification: true`) — NOT measured. The same missing mail makes staff invitations and newsletters impossible; the guide leaves those out and says so. Related: the first-admin audit already marks Rallly and Outline sign-in as needing e-mail (`app-catalog-felhom.eu/FIRST-ADMIN.md`). | OPEN — filed 2026-10-15 | — | On 9202: set Ghost up, sign in from a second browser, see whether a code is asked; if so, switch the app's e-mail on or set the flag off in the template | CC | +| **R-1091** | Apps & catalog | P3 | **Catalog copy that is wrong or stale at the pinned tag, found writing the guides — each needs an operator word or a live check, so none was changed tonight.** From source at each app's tag (evidence per app in `audits/app-guides-2026-10-15/B/`): (1) **calcom** use_case and first_steps promise Google Calendar / Outlook sync — the compose sets neither app's keys, so only Apple Calendar and CalDav are offered (a promise, so the operator's); (2) **bentopdf** tagline and use_case say files are processed „on the server" — they are processed in the browser, and some tools load code from a public CDN (a privacy promise, so the operator's); (3) **sabnzbd**, **nzbget** use_cases say Radarr/Sonarr/Jellyseerr hand them jobs — the box wires only qBittorrent and Transmission (`mediawire.go`), and a hand link needs a path mapping; (4) **onlyoffice** first_steps 3–4 tell the household to wire Nextcloud by hand — the integration toggle does it (`internal/integrations/onlyoffice_nextcloud.go`); (5) **glance**, **homepage** first_steps send the household into config files in a Docker volume no household tool reaches; (6) **lubelogger** starts with only the „Dashboard" tab and in miles (shipped `appsettings.json`), so first step 3 cannot be done as written; (7) **home-assistant** first_steps promise auto-discovered devices — the app runs on a Docker bridge, where mDNS/SSDP were measured deaf (spike R-6); (8) **homebox** and **gitea** `add_people` name menus that moved or read differently at the tag; **bookstack** `default_creds` still says `admin@admin.com / password`, which after_install replaces; **dawarich** names the API key's page „Settings" (source suggests the account page); **code-server** says „install your tools" with no sudo; **komga** names the discontinued Tachiyomi; **seerr** `docs_url` points at Overseerr; **wanderer**'s comment still says it cannot close sign-up (R-714 is fixed in the same file); (9) **nzbget** and **grafana** deploy-field descriptions say the password can be changed later — nzbget re-applies its env password at every start and grafana ignores the field after first start (R-1086 is the qBittorrent/Transmission side). | OPEN — filed 2026-10-15 | Operator: (1) and (2) are promises — reword to what is true? | Live-check (5)–(7) and (9) on 9202; fix (3), (4), (8) as copy with the freeze re-admitted; re-run the guide label check for any app whose copy moves | CC | +| **R-1092** | Apps & catalog | P4 | **Three apps show no guide: plant-it and home-assistant carry one HIDDEN (`checked_version: ""`), emby has none.** plant-it: `lifecycle: abandoned`, and its pinned image does not exist upstream, so there is no screen to check labels against. home-assistant: its frontend follows the browser language and the Hungarian strings are fetched at build time, not kept in git, so the Hungarian labels cannot be checked against source (the draft is written; the shipped frontend in the image could check them). emby: its server's web UI is in no public source at 4.11.0.4. Evidence: `audits/app-guides-2026-10-15/B/`. The other 62 templates show a checked guide (controller ≥ 0.315.0). | OPEN — filed 2026-10-15 | — | home-assistant: check the Hungarian labels against the frontend files in the pinned image (read-only, on a box running it), then set checked_version; emby: label-check against the image's own web files the same way; plant-it: nothing while abandoned | CC | | **R-981** | Apps & catalog | P3 | **The homepage app gets the Docker socket (that is root in the guest) and has no login, no setup gate and no family gate.** Fix: remove the socket mount, or put homepage behind the family gate. Security review 2026-10-12 (`audits/security-review-2026-10-12/`); detail held off-git for the operator (`/mnt/5_hdd/felhom.eu/evidence/security-review-2026-10-12-PRIVATE/`). | OPEN | — | Change the catalog template; prove on 9202 | CC | | **R-971** | Apps & catalog | P2 | **A change pushed to the catalog's `main` reaches the installed apps on every box within about 15 minutes, and nothing on the box refuses dangerous container settings (privileged mode, the Docker socket, host mounts, host namespaces); so whoever can push to the catalog repository can take every guest.** Design-shaped: installed apps take catalog fixes on purpose. Decision for the operator in `STATUS.md`. Fix options: a privilege allow-list check on the box before any compose is written (and in catalog CI), and later signed catalog releases. Security review 2026-10-12 (`audits/security-review-2026-10-12/`); detail held off-git for the operator (`/mnt/5_hdd/felhom.eu/evidence/security-review-2026-10-12-PRIVATE/`). | WAITING-ON-OPERATOR — confirmed by a second reader | operator decision | Decide; then build the box-side check | operator | | **R-676** | Apps & catalog | P3 | **[P3-LOW] Watch: immich's first start restarted 12 times — decision 28's crash-loop stop (6 in 10 min) would stop it.** From the 2026-09-17 chaos night (DB connection dropped during the first-start geocoding import on a 6 GB guest; it did not recover that night). No healthy app in any drill evidence restarts on a first start (1831 samples, 40 live containers), so the threshold stands; this row exists so the first immich install under v0.269.x is watched. `audits/night-2026-09-24/A3/40-first-start-restarts.txt` **2026-09-25 night (read from source, v0.271.0): a DEPLOY's first start is NOT covered by decision 28's suppression** — `Deploying` clears when `compose up -d` returns (`deploy.go` "Clear deploying flag"), and `ObserveUnhealthy` then samples the app; an automatic update's step, verify and undo ARE covered (`Updating`, pinned by `TestD28_NoCrashLoopStopDuringAnAutomaticStep`). So a first start that restarts ≥ 6 times in 10 min is stopped — which R-676 already accepts for a broken first start; a healthy slow first start would be stopped too. **-- 2026-09-30: the first-start restarts are explained.** immich's first-start geodata import OOM-kills its database at 512M on a guest with no swap (R-732, measured: 61–104 kills); the 2026-09-17 chaos-night case (DB connection dropped during the import on a 6 GB guest) fits it. Fixed in the catalog (`56c4888`, 768M). The watch itself (decision 28 on a DEPLOY's first start) is unchanged. | **OPEN — P3; owner: CC (watch)** | — | — | CC | @@ -216,7 +220,7 @@ stopping line that lies. | ID | Category | Sev | What | State | Blocked on | Next action | Owner | |---|---|---|---|---|---|---|---| | **R-1033** | Security & access | P1 | **Every box answers its public names over plain `http://` — login pages included.** MEASURED 2026-10-14 from DooPlex over the public path (Cloudflare `Server: cloudflare`, `CF-RAY`): `http://felhom.enkicsifelhom.hu/login` → 200, `http://felhom.enkisfelhom.hu/login` (demo-hp) → 200, `http://torrent.enkicsifelhom.hu/` → 200; no redirect to https and no `Strict-Transport-Security`. Sonarr, Radarr and Prowlarr make it worse: their sign-in redirect is ABSOLUTE `http:///login`, so a household that opened the https address lands on the plain page and sends its password unencrypted between the browser and Cloudflare (`audits/media-all-drives-2026-10-14/H-indexer-sync-ncore.txt`). On an untrusted network (café Wi-Fi) that password can be read. The operator may raise this to P1. | **NARROWED** — filed 2026-10-14; **P1 by the operator 2026-10-14 22:13 (`09` §3 decision 244)**. FIXED in controller v0.312.0 (traefik sends every `http://` to `https://`, 301, path and query kept; HSTS one day; decision 246) and PROVEN on Tester 1, demo-hp and demo-felhom (29 public names, `scripts/https_only_check.py`; https answers unchanged), delivered by hand. Open: the fleet delivery — vouch 0.312.0 and the floor (morning); Tester 2 (`sajatfelhom.hu`, 0.292.0, off) gets it with the floor | the operator's vouch + floor | Vouch controller 0.312.0, raise the floor; then run `scripts/https_only_check.py` on every box and close | CC | -| **R-1088** | Security & access | P2 | **CC's credentials file was overwritten with one token, and that token was printed once into a session transcript.** 2026-10-15 22:03 (local): a CC session called `scripts/read_credential.py HUB_TOKEN ~/.config/credentials` — the second argument is the OUTPUT file, so the reader wrote the hub token over the whole file; every other key (dashboard passwords, the box passwords) is gone from DooPlex. At 20:43 UTC the storage-identity build B session listed the file's „key names" with `sed 's/=.*//'`; the file had no `=`, so the token itself was printed into that session's transcript. The token is CC's scoped hub token (floor only; no secrets, no deletes). | OPEN | Operator: rotate CC's hub token; restore `~/.config/credentials` from the password manager. | Rotate the hub token (`05` §17); restore the file; make `read_credential.py` refuse an output path equal to its credentials file (a red-proved test in `scripts/test_read_credential.py`). | Operator | +| **R-1088** | Security & access | P2 | **CC's credentials file was overwritten with one token, and that token was printed once into a session transcript.** 2026-10-15 22:03 (local): a CC session called `scripts/read_credential.py HUB_TOKEN ~/.config/credentials` — the second argument is the OUTPUT file, so the reader wrote the hub token over the whole file; every other key (dashboard passwords, the box passwords) is gone from DooPlex. At 20:43 UTC the storage-identity build B session listed the file's „key names" with `sed 's/=.*//'`; the file had no `=`, so the token itself was printed into that session's transcript. The token is CC's scoped hub token (floor only; no secrets, no deletes). **The session that did it was the app-guides night** (it stopped at once, touched the file no more, and told the operator in the terminal). **The guard is built (same night, felhom.eu):** `read_credential.py` refuses an OUTFILE that is the credentials file by path, symlink or hard link, before reading or writing; pinned by `test_the_outfile_can_never_be_the_credentials_file`, red-proved (`audits/app-guides-2026-10-15/credential-guard-redproof.txt`). Until the restore, the demo-hp rendering check of the night's guides is owed (it needs the dashboard password). | OPEN | Operator: rotate CC's hub token; restore `~/.config/credentials` from the password manager. | Rotate the hub token (`05` §17); restore the file; then CC re-runs the demo-hp rendering check of the Plex and Sonarr guides. | Operator | | **R-985** | Security & access | P3 | **Our zero-knowledge wording is stronger than the product: on a live box the operator can reach the off-site backup key (through the vaulted root credential and the operator tunnel) without the customer's recovery code.** Design-shaped; decision for the operator in `STATUS.md`. Fix options: change the wording, or remove operator root reach to the key. Security review 2026-10-12 (`audits/security-review-2026-10-12/`); detail held off-git for the operator (`/mnt/5_hdd/felhom.eu/evidence/security-review-2026-10-12-PRIVATE/`). | WAITING-ON-OPERATOR — design-proposal | operator decision | Decide the wording or the change | operator | | **R-983** | Security & access | P3 | **Seven small dashboard weaknesses: after sign-in the browser can be sent to another site; the server-reboot route acts on a GET, so a link can reboot the guest (**FIXED 2026-10-13 in controller v0.310.0, R-998 session: POST only, `TestServerReboot_PostOnly` — six remain**); no anti-framing headers; parallel sign-in attempts get past the limiter; the settings page allows 8-character passwords; reset-code requests have no limit on the box; logout can be triggered from another site.** Fix each with a test, in one controller release. Security review 2026-10-12 (`audits/security-review-2026-10-12/`); detail held off-git for the operator (`/mnt/5_hdd/felhom.eu/evidence/security-review-2026-10-12-PRIVATE/`). | OPEN | — | One hardening release | CC | | **R-977** | Security & access | P3 | **FileBrowser's default password can come back if its data volume is ever re-created, because the box checks it only once; and the tunnel can start before the box is claimed.** Static; needs a live check on 9202. Fix: check at every start, and do not start the tunnel before the claim. Security review 2026-10-12 (`audits/security-review-2026-10-12/`); detail held off-git for the operator (`/mnt/5_hdd/felhom.eu/evidence/security-review-2026-10-12-PRIVATE/`). | OPEN | — | Measure on 9202; then fix | CC | diff --git a/scripts/CHANGELOG.md b/scripts/CHANGELOG.md index 6f85d86e..b49552bf 100644 --- a/scripts/CHANGELOG.md +++ b/scripts/CHANGELOG.md @@ -1,3 +1,14 @@ +## 2026-10-15 (night) — read_credential.py refuses to write over the credentials file (R-1088) + +- `read_credential.py KEY ~/.config/credentials` — the credentials path given as the OUTFILE — truncated the operator's + credentials file to one value (CC, the app-guides night). The reader now refuses, before reading or writing, an OUTFILE + that is the credentials file by path, by symlink or by hard link (exit 2, the reason named). The docstring says what + OUTFILE is. +- `test_read_credential.py`: `test_the_outfile_can_never_be_the_credentials_file` (same path, symlink, hard link, and a + separate outfile still accepted). Red-proved: with the guard off, the file is overwritten and 5 checks fail + (`documentation/audits/app-guides-2026-10-15/credential-guard-redproof.txt`). The file itself is NOT restored — that is + the operator's (R-1088). + ## 2026-10-15 — golden_currency_gate: the golden is judged by its AGE (`09` §3 decision 250) - A controller release needs no golden (operator ruling 2026-10-15 11:26). The gate no longer convicts because the newest diff --git a/scripts/read_credential.py b/scripts/read_credential.py index c359ae8f..309020c0 100644 --- a/scripts/read_credential.py +++ b/scripts/read_credential.py @@ -2,6 +2,7 @@ """Read ONE value out of ~/.config/credentials, correctly, and refuse loudly when it is not. Run: python3 scripts/read_credential.py [--credentials PATH] + (OUTFILE is where the value GOES — a temp file. It is refused if it is the credentials file itself.) WHY THIS FILE EXISTS — it is the third occurrence that earned it. @@ -88,6 +89,17 @@ def main(argv=None): ap.add_argument("--expect-length", type=int, default=None, help="refuse unless the value is exactly this long (a caller-side second opinion)") args = ap.parse_args(argv) + # THE OUTFILE MUST NOT BE THE CREDENTIALS FILE (2026-10-15 night). `read_credential.py KEY ~/.config/credentials` + # reads like „read KEY from the credentials file" and is the argument order a hurried caller types — and the + # O_TRUNC write below then replaced the whole credentials file with one value: every other line was lost, on the + # operator's DooPlex, by CC. Refused before anything is read or written; the same file through a symlink or a + # second path is the same file. Pinned by test_the_outfile_can_never_be_the_credentials_file. + if os.path.realpath(args.outfile) == os.path.realpath(args.credentials) or ( + os.path.exists(args.outfile) and os.path.exists(args.credentials) + and os.path.samefile(args.outfile, args.credentials)): + print("CREDENTIAL READ REFUSED [%s]: the output file IS the credentials file (%s) — writing the value there " + "would erase every other line. Give a temp file as OUTFILE." % (args.key, args.outfile), file=sys.stderr) + return 2 try: value = read(args.credentials, args.key) except (CredentialError, OSError) as exc: diff --git a/scripts/test_read_credential.py b/scripts/test_read_credential.py index ae65edc4..7e92f865 100644 --- a/scripts/test_read_credential.py +++ b/scripts/test_read_credential.py @@ -125,9 +125,46 @@ def test_the_value_is_never_printed(): os.unlink(out) +# --- the outfile can never be the credentials file ------------------------------------------------- +# +# THE INCIDENT THIS PINS (2026-10-15 night, CC on DooPlex): `read_credential.py HUB_TOKEN ~/.config/credentials` +# — the credentials path given as the OUTFILE — truncated the operator's credentials file to one value. +# RED-PROOF (recorded in the app-guides night's evidence): delete the samefile guard in `main` and the three +# „unchanged" checks below fail. +def test_the_outfile_can_never_be_the_credentials_file(): + print("TestCredentialsFileIsNeverTheOutfile") + body = "PASSWORD='abcdefghijklm'\nOTHER='kept'\n" + p = writefile(body) + rcode = rc.main(["PASSWORD", p, "--credentials", p]) + with open(p, encoding="utf-8") as fh: + after = fh.read() + check("same path is REFUSED", rcode == 2, "rc=%s" % rcode) + check("same path: the credentials file is unchanged", after == body, repr(after)) + link = p + ".link" + os.symlink(p, link) + rcode = rc.main(["PASSWORD", link, "--credentials", p]) + with open(p, encoding="utf-8") as fh: + after = fh.read() + check("a symlink to it is REFUSED", rcode == 2, "rc=%s" % rcode) + check("symlink: the credentials file is unchanged", after == body, repr(after)) + hard = p + ".hard" + os.link(p, hard) + rcode = rc.main(["PASSWORD", hard, "--credentials", p]) + with open(p, encoding="utf-8") as fh: + after = fh.read() + check("a hard link to it is REFUSED", rcode == 2, "rc=%s" % rcode) + check("hard link: the credentials file is unchanged", after == body, repr(after)) + # Negative control: a real temp outfile still works. + out = tempfile.mkstemp()[1] + check("a separate outfile is still accepted", rc.main(["PASSWORD", out, "--credentials", p]) == 0) + for f in (p, link, hard, out): + os.unlink(f) + + if __name__ == "__main__": test_r404_credential_length_mismatch_fails_loudly() test_the_value_is_never_printed() + test_the_outfile_can_never_be_the_credentials_file() if FAILURES: print("\nFAILED: %d" % len(FAILURES)) sys.exit(1)