Round 2 made the step prompt a blocking layer so that `j` and the `g` chords would not reach the page behind it. The dialog it sits in gave up its Tab trap because of that, while the prompt's own replacement trap covered only its own two controls — so Tab from anywhere else in the dialog (the bar's Screenshot or Stop, the dialog's own buttons) walked out behind the scrim. `layerStack` now separates the two questions it had folded into one flag: a layer can own the keyboard and still leave the Tab trap to the dialog below it. The mirror case, a dialog opening over the prompt, falls out of the same split. A send's claim is now a lease with an owner. Every progress report re-stamps it, so a send slower than the lease cannot lose it while it is still running, and only the send that took a claim can give it back. The issue_create audit row is staged inside the send and rides the same checkpoint as `issue_url`, so the trail cannot be missing for an issue that exists. The attachment-name prefix has one definition, shared by the producer and both readers. A running send is reported to the UI. A reload or a second tab used to render it exactly like a send that STOPPED, and offered a retry the server was certain to refuse; the composer now says the report is being sent, holds the draft, and puts both the retry and Create issue out. The past-sessions list says the same for the same reason — it is the list a user opens to check on a send, and both "draft" and "half sent" describe one that died. `/preview` and the retry path got a pace of their own, and the per-user byte cap took the user-scoped lock that makes it a cap instead of a guess. Verified in a real browser on localdev: Tab cycles the whole dialog with the prompt open, the prompt still swallows the page's keys, and the issue link is focusable where the composer puts it. All 24 regression tests mutation-checked.
140 lines
6.0 KiB
JSON
140 lines
6.0 KiB
JSON
{
|
|
"start": {
|
|
"title": "Hibakereső munkamenet",
|
|
"intro": "Indítsd el, csináld végig, ami elromlik, aztán állítsd le. A végén hibajegy-vázlatot kapsz a naplóval együtt, és elküldés előtt mindent átnézhetsz.",
|
|
"level": "Részletesség",
|
|
"whatTitle": "Mit rögzít",
|
|
"what": {
|
|
"DEBUG": "Az oldalváltásokat, a kéréseket és a hibákat, melyik gombot, szűrőt és lejátszóvezérlőt használod, és a szűrők értékeit.",
|
|
"TRACE": "Az oldalváltásokat, a kéréseket és a hibákat, melyik gombot, szűrőt és lejátszóvezérlőt használod, a szűrők értékeit, és a keresőbe beírt szöveget is."
|
|
},
|
|
"kept_one": "A szerver {{count}} napig őrzi.",
|
|
"kept_other": "A szerver {{count}} napig őrzi.",
|
|
"cap_one": "Legfeljebb {{count}} percig fut, utána magától leáll. Leállítás után a korábbi naplózási szinted áll vissza.",
|
|
"cap_other": "Legfeljebb {{count}} percig fut, utána magától leáll. Leállítás után a korábbi naplózási szinted áll vissza.",
|
|
"confirm": "Rögzítés indítása",
|
|
"failed": "Nem sikerült elindítani a rögzítést"
|
|
},
|
|
"pill": {
|
|
"label": "Hibakereső rögzítés",
|
|
"recording": "Rögzítés · {{time}}",
|
|
"step": "Lépés",
|
|
"screenshot": "Képernyőkép",
|
|
"stop": "Leállítás",
|
|
"stepPrompt": "{{n}}. lépés — mit csináltál most? (nem kötelező)",
|
|
"stepHint": "Enter: megjelöl · Esc: mégse",
|
|
"mark": "Megjelöl",
|
|
"stepMarked": "{{n}}. lépés megjelölve",
|
|
"shotSaved": "Képernyőkép elmentve",
|
|
"shotFailed": "Nem sikerült elmenteni a képernyőképet",
|
|
"stopFailed": "Nem sikerült leállítani a rögzítést",
|
|
"stopped": "Rögzítés leállítva",
|
|
"expired_one": "A rögzítés elérte a {{count}} perces határt, és leállt.",
|
|
"expired_other": "A rögzítés elérte a {{count}} perces határt, és leállt."
|
|
},
|
|
"settings": {
|
|
"title": "Hibakereső munkamenet",
|
|
"hint": "Ha valami elromlik: indítsd el a rögzítést, csináld végig újra, aztán állítsd le. A naplóból hibajegy-vázlat készül.",
|
|
"start": "Rögzítés indítása",
|
|
"recording": "Rögzítés folyamatban · {{time}}",
|
|
"stop": "Leállítás"
|
|
},
|
|
"palette": {
|
|
"start": "Hibakereső rögzítés indítása",
|
|
"step": "Lépés megjelölése a rögzítésben",
|
|
"stop": "Hibakereső rögzítés leállítása"
|
|
},
|
|
"composer": {
|
|
"title": "Hibajegy",
|
|
"meta": "{{start}} · {{minutes}} perc · {{level}}",
|
|
"fieldTitle": "Cím",
|
|
"titlePlaceholder": "Mi romlott el?",
|
|
"description": "Leírás",
|
|
"descriptionPlaceholder": "Mit vártál, és mi történt helyette?",
|
|
"steps": "Lépések — a jelölőidből és az oldalváltásokból, szerkeszthető",
|
|
"stepKind": {
|
|
"marker": "jelölő",
|
|
"nav": "oldalváltás",
|
|
"manual": "saját"
|
|
},
|
|
"stepLabel": "{{n}}. lépés",
|
|
"stepPlaceholder": "Mit csináltál?",
|
|
"withShot": "kép",
|
|
"addStep": "Lépés hozzáadása",
|
|
"removeStep": "{{n}}. lépés törlése",
|
|
"environment": "Környezet — automatikus",
|
|
"attachments": "Csatolmányok — ami elmegy, egyenként kivehető",
|
|
"clientLog": "Böngészőnapló",
|
|
"serverLog": "Szervernapló",
|
|
"lines_one": "{{count}} sor",
|
|
"lines_other": "{{count}} sor",
|
|
"linesKept": "{{kept}} / {{total}} sor",
|
|
"review": "Átnézés",
|
|
"reviewTitle": "{{name}} — átnézés",
|
|
"reviewHint": "Pipa nélküli sor nem megy el.",
|
|
"reviewDone": "Kész",
|
|
"keepRow": "Sor megtartása: {{event}} {{msg}}",
|
|
"screenshot": "{{n}}. képernyőkép",
|
|
"removeShot": "{{n}}. képernyőkép kivétele",
|
|
"drop": "Kép beillesztése: Ctrl+V, vagy húzd ide, vagy",
|
|
"pick": "válassz fájlt",
|
|
"close": "Bezárás",
|
|
"export": "Letöltés zipként",
|
|
"saving": "Mentés…",
|
|
"saved": "Vázlat mentve",
|
|
"saveFailed": "Nem sikerült menteni a vázlatot",
|
|
"loadFailed": "Nem sikerült betölteni a munkamenetet",
|
|
"truncated": "A napló az első {{kept}} sort tartalmazza, összesen {{total}} volt.",
|
|
"sent": "Elküldve hibajegyként.",
|
|
"openIssue": "Hibajegy megnyitása",
|
|
"env": {
|
|
"version": "Verzió",
|
|
"browser": "Böngésző",
|
|
"os": "Rendszer",
|
|
"window": "Ablak",
|
|
"language": "Nyelv"
|
|
},
|
|
"send": "Hibajegy létrehozása",
|
|
"sending": "Küldés…",
|
|
"sentOk": "Hibajegy létrehozva",
|
|
"sendFailed": "Nem sikerült elküldeni a hibajegyet",
|
|
"target": "Cél: {{repo}} · privát",
|
|
"partial": "A hibajegy létrejött, de nem ment el minden csatolmány: {{files}}.",
|
|
"retry": "Hiányzók küldése",
|
|
"edit": "Szerkesztés",
|
|
"preview": "Előnézet",
|
|
"previewFailed": "Nem sikerült betölteni az előnézetet",
|
|
"previewTitle": "A hibajegy előnézete",
|
|
"previewLocal": "Hibajegy-kezelő nélkül ez a zip issue.md fájlja.",
|
|
"shotsFailed": "Nem sikerült betölteni a képernyőképeket",
|
|
"removeShotFailed": "Nem sikerült törölni a képernyőképet",
|
|
"partialImages": "A hibajegy létrejött, de a képernyőképek még nem látszanak a szövegében.",
|
|
"retryImages": "Megjelenítés a hibajegyben",
|
|
"sendingNow": "A hibajegy küldése folyamatban…",
|
|
"exportFailed": "Nem sikerült elkészíteni a zipet"
|
|
},
|
|
"issue": {
|
|
"steps": "Lépések",
|
|
"environment": "Környezet",
|
|
"screenshot": "képernyőkép",
|
|
"attachments": "Csatolmányok",
|
|
"clientLog_one": "{{count}} sor a böngészőből",
|
|
"clientLog_other": "{{count}} sor a böngészőből",
|
|
"serverLog_one": "{{count}} sor a szerverről",
|
|
"serverLog_other": "{{count}} sor a szerverről",
|
|
"screenshots_one": "{{count}} képernyőkép",
|
|
"screenshots_other": "{{count}} képernyőkép"
|
|
},
|
|
"history": {
|
|
"title": "Korábbi munkamenetek",
|
|
"empty": "Még nincs rögzített munkamenet.",
|
|
"open": "Megnyitás",
|
|
"sent": "Elküldve",
|
|
"partial": "Félig elküldve",
|
|
"sending": "Küldés alatt",
|
|
"draft": "Vázlat",
|
|
"unwritten": "Megírásra vár",
|
|
"failed": "Nem sikerült betölteni a munkameneteket"
|
|
}
|
|
}
|