strom-research 1.4.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/lang/cs.json +160 -1
- package/assets/lang/de.json +160 -1
- package/assets/method/narrate.md +2 -1
- package/assets/method/recording.md +3 -1
- package/dist/agents/files.js +8 -1
- package/dist/cli/human.js +18 -0
- package/dist/cli/main.js +9 -0
- package/dist/cli/menu-links.js +249 -0
- package/dist/cli/menu-parts.js +6 -3
- package/dist/cli/menu-research.js +185 -7
- package/dist/cli/menu-settings.js +17 -3
- package/dist/cli/menu-waiting.js +61 -47
- package/dist/cli/menu.js +3 -2
- package/dist/cli/ui.js +159 -1
- package/dist/cli/wizard.js +34 -1
- package/dist/commands/analysis.js +6 -2
- package/dist/commands/browse.js +5 -19
- package/dist/commands/checks.js +7 -1
- package/dist/commands/guide.js +15 -1
- package/dist/commands/index.js +2 -0
- package/dist/commands/intake.js +3 -0
- package/dist/commands/links.js +367 -0
- package/dist/commands/output.js +7 -1
- package/dist/commands/people.js +58 -1
- package/dist/commands/research.js +113 -24
- package/dist/commands/setup.js +13 -2
- package/dist/commands/start.js +6 -2
- package/dist/commands/story.js +17 -1
- package/dist/commands/sync.js +243 -0
- package/dist/core/actions.js +15 -0
- package/dist/core/config.js +5 -0
- package/dist/core/dialog.js +25 -0
- package/dist/core/excerpt.js +53 -5
- package/dist/core/frontier.js +10 -1
- package/dist/core/links.js +357 -0
- package/dist/core/live.js +156 -7
- package/dist/core/phrases.js +1 -0
- package/dist/core/review.js +43 -5
- package/dist/core/schema.js +1 -0
- package/dist/core/self.js +17 -0
- package/dist/core/session.js +6 -0
- package/dist/core/stromapp.js +38 -0
- package/dist/core/sync.js +876 -0
- package/dist/core/tree.js +1 -1
- package/dist/core/uninstall.js +3 -0
- package/dist/core/validate.js +4 -0
- package/dist/gedcom/export.js +66 -1
- package/dist/gedcom/validate.js +13 -4
- package/package.json +1 -1
package/assets/lang/cs.json
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"ui.yes": "a",
|
|
39
39
|
"ui.no": "n",
|
|
40
40
|
"ui.enter": "Stiskněte Enter pro návrat do nabídky.",
|
|
41
|
+
"ui.enter.close": "Stiskněte Enter pro zavření okna.",
|
|
41
42
|
"ui.choose": "Vyberte",
|
|
42
43
|
"ui.bad.choice": "Napište prosím jedno z čísel.",
|
|
43
44
|
"ui.dialog.title": "Strom výzkum",
|
|
@@ -109,6 +110,8 @@
|
|
|
109
110
|
"ui.setup.level.sure": "Opravdu povolit všechno?",
|
|
110
111
|
"ui.setup.shortcut": "Vytvořit na ploše zástupce „Strom výzkum“?",
|
|
111
112
|
"ui.setup.shortcut.done": "✓ Zástupce: {file}",
|
|
113
|
+
"ui.setup.links": "Dovolit aplikaci Strom spouštět výzkum na tomto počítači? (Jedním klikem pošle úpravy zpět, otevře výřez v plné kvalitě, agenta nebo prověření osoby – vždy se tu nejdřív zeptá.)",
|
|
114
|
+
"ui.setup.links.done": "✓ Odkazy z aplikace Strom vedou do výzkumu na tomto počítači.",
|
|
112
115
|
"ui.setup.skill": "✓ {agent} teď strom zná v jakékoli složce.",
|
|
113
116
|
"ui.setup.app": "✓ Na počítači je aplikace Strom – menu v ní otevře výzkum, a když agent pracuje, aplikace ho sleduje živě.",
|
|
114
117
|
"ui.setup.done": "Hotovo.",
|
|
@@ -199,6 +202,10 @@
|
|
|
199
202
|
"ui.doc.level": "agent smí",
|
|
200
203
|
"ui.doc.model": "model",
|
|
201
204
|
"ui.doc.shortcut": "zástupce na ploše",
|
|
205
|
+
"ui.doc.links": "odkazy z aplikace Strom",
|
|
206
|
+
"ui.doc.links.ours": "ano",
|
|
207
|
+
"ui.doc.links.other": "vedou do jiného programu (nebo tam, kde strom býval)",
|
|
208
|
+
"ui.doc.links.none": "žádné",
|
|
202
209
|
"ui.doc.app": "aplikace Strom",
|
|
203
210
|
"ui.doc.tree": "tento rodokmen",
|
|
204
211
|
"ui.doc.innode": "strom {version} v Node {node}",
|
|
@@ -259,6 +266,7 @@
|
|
|
259
266
|
"story.why": "{count} údaje ze zápisů vyprávějí život (generace {generation} výzkumu {research}); rodina si ho přečte v rodinné knize aplikace Strom",
|
|
260
267
|
"story.done": "strom story set {id} se všemi údaji, o které se opírá (--fact) – koncept, dokud ho uživatel neschválí",
|
|
261
268
|
"review.research": "Revize: {name}",
|
|
269
|
+
"review.unproven.research": "Osoby bez vlastního záznamu",
|
|
262
270
|
"review.more": " (a po nich dalších {count})",
|
|
263
271
|
"review.mentions.what": "Co už rodokmen říká o osobě {name} mimo její údaje: {list}{more}",
|
|
264
272
|
"review.mentions.why": "prameny, poznámky nebo deník osobu {name} jmenují, ale v jejích údajích to není – nejlevnější nálezy revize ({research})",
|
|
@@ -290,6 +298,18 @@
|
|
|
290
298
|
"ui.review.pick": "Kterého?",
|
|
291
299
|
"ui.review.family": "I s manželem či manželkou a dětmi?",
|
|
292
300
|
"ui.review.run": "Nechat na tom agenta pracovat hned, samostatně? (úkolů: {n})",
|
|
301
|
+
"ui.menu.unproven": "Osoby bez vlastního záznamu ({n})",
|
|
302
|
+
"ui.unproven.title": "Tyto osoby zatím nedokládá žádný jejich vlastní záznam:",
|
|
303
|
+
"ui.unproven.named": "jmenuje je jiný záznam",
|
|
304
|
+
"ui.unproven.leads": "jen vodítka",
|
|
305
|
+
"ui.unproven.none": "bez záznamu",
|
|
306
|
+
"ui.unproven.tasks": "už se na nich pracuje",
|
|
307
|
+
"ui.unproven.living": "Nejspíš žijící (narození před méně než {years} lety) — to ví rodina, bez úkolů: {names}",
|
|
308
|
+
"ui.unproven.how": "Co má agent udělat?",
|
|
309
|
+
"ui.unproven.all": "Všechny, postupně (vždy {n} najednou)",
|
|
310
|
+
"ui.unproven.pick": "Jen ty, které vyberu",
|
|
311
|
+
"ui.unproven.numbers": "Jejich čísla ze seznamu (např. 1 3 5-7, nebo jejich ID; Enter nebo 0 zpět)",
|
|
312
|
+
"ui.unproven.bad": "V seznamu není: {x}",
|
|
293
313
|
"ui.o.reread": "druhé čtení",
|
|
294
314
|
"ui.o.reread.offer": "{n} údajů stojí jen na čtení jiným modelem ({models}); uživatel teď čte modelem {model} – jednou to nabídni, jednou větou: strom review <koho> --reread (úkol na osobu; rozhodne uživatel)",
|
|
295
315
|
"ui.o.stories": "vyprávění",
|
|
@@ -303,6 +323,7 @@
|
|
|
303
323
|
"ui.setup.stories.no": "Ne – jen rodokmen a prameny",
|
|
304
324
|
"ui.uninstall.agent": "co o stromu ví {agent}",
|
|
305
325
|
"ui.uninstall.shortcut": "zástupce",
|
|
326
|
+
"ui.uninstall.links": "odkazy z aplikace Strom",
|
|
306
327
|
"ui.uninstall.git": "vlastní git stromu",
|
|
307
328
|
"ui.uninstall.path": "záznam instalátoru v PATH",
|
|
308
329
|
"ui.uninstall.program": "program",
|
|
@@ -327,6 +348,7 @@
|
|
|
327
348
|
"ui.update.downloading": "Stahuji strom {version}…",
|
|
328
349
|
"ui.update.failed": "Aktualizace se nepovedla: {detail}. strom zůstává, jak byl.",
|
|
329
350
|
"ui.update.done": "✓ strom je aktualizovaný: {previous} → {version}.",
|
|
351
|
+
"ui.update.restart": "strom je aktualizovaný — tahle nabídka ale ještě běží ve staré verzi. Spusťte strom znovu (nebo zástupce „{shortcut}“) a poběží nová verze.",
|
|
330
352
|
"ui.o.update": "aktualizace",
|
|
331
353
|
"ui.o.update.new": "vyšla {version} (tato je {current}) – řekni to uživateli; strom update ji s jeho souhlasem nainstaluje",
|
|
332
354
|
"ui.app.drag": "Aplikace Strom se otevřela. Přetáhněte do jejího okna soubor {file}{shown} – poprvé z něj bude nový rodokmen, příště se tentýž rodokmen aktualizuje. S Chrome nebo Edge na tomto počítači ho strom předá sám.",
|
|
@@ -447,6 +469,61 @@
|
|
|
447
469
|
"ui.browse.plan": "Co agent udělá dál",
|
|
448
470
|
"ui.review.new": "{name} — nových úkolů: {n}",
|
|
449
471
|
"ui.review.nothing": "{name} — nic nového k revizi",
|
|
472
|
+
"ui.sync.title": "{file}: změn proti výzkumu: {n}",
|
|
473
|
+
"ui.sync.base": "Porovnáno s tím, co výzkum dal aplikaci Strom ({head}): za vaši úpravu se počítá jen to, co se od té doby změnilo.",
|
|
474
|
+
"ui.sync.nobase": "Soubor neříká, ze které verze výzkumu je: přidání se berou, rozdíly se jen ukážou (vyberete je přes --only).",
|
|
475
|
+
"ui.sync.headmissing": "Verzi výzkumu {head}, ze které soubor je, historie nemá: přidání se berou, rozdíly se jen ukážou (vyberete je přes --only).",
|
|
476
|
+
"ui.sync.partial": "Soubor má mnohem méně osob, než kolik dostal: nic se nebere jako smazané.",
|
|
477
|
+
"ui.sync.strangers": "Tato ID nepatří osobám toho jména ve výzkumu — berou se jako nové osoby: {ids}",
|
|
478
|
+
"ui.sync.nothing": "{file}: nic nového — výzkum má všechno, co v něm je.",
|
|
479
|
+
"ui.sync.person.new": "{n}. nová osoba: {name}",
|
|
480
|
+
"ui.sync.fact.new": "{n}. {who}: nové — {fact}",
|
|
481
|
+
"ui.sync.fact.changed": "{n}. {who}: {kind} změněno — {was} → {now}",
|
|
482
|
+
"ui.sync.fact.differs": "{n}. {who}: {kind} se liší — výzkum {was}, soubor {now}",
|
|
483
|
+
"ui.sync.fact.gone": "{n}. {who}: už v něm není — {fact}",
|
|
484
|
+
"ui.sync.name.new": "{n}. {who}: další jméno — {text}",
|
|
485
|
+
"ui.sync.sex.changed": "{n}. {who}: pohlaví {text}",
|
|
486
|
+
"ui.sync.note.new": "{n}. {who}: poznámka — „{text}“",
|
|
487
|
+
"ui.sync.family.new": "{n}. nová rodina: {who}{kids}",
|
|
488
|
+
"ui.sync.child.new": "{n}. {who}: dítě — {child}",
|
|
489
|
+
"ui.sync.child.gone": "{n}. {who}: už to není jejich dítě — {child}",
|
|
490
|
+
"ui.sync.person.gone": "{n}. už v něm není: {name}",
|
|
491
|
+
"ui.sync.do.add": "přidá se jako vodítko",
|
|
492
|
+
"ui.sync.do.correct": "opraví vodítko výzkumu",
|
|
493
|
+
"ui.sync.do.conflict": "rozpor k rozhodnutí (výzkum to má ze záznamu)",
|
|
494
|
+
"ui.sync.do.user": "platí vaše úprava (údaj ze záznamu se stáhne s důvodem)",
|
|
495
|
+
"ui.sync.do.pick": "jen když ho vyberete (--only)",
|
|
496
|
+
"ui.sync.do.report": "nic se nemění — řekněte agentovi, co jste tím mysleli",
|
|
497
|
+
"ui.sync.edits": "Vaše úpravy údajů doložených záznamem: {mode} (strom config set sync.edits conflict|user)",
|
|
498
|
+
"ui.sync.mode.conflict": "rozpor k rozhodnutí",
|
|
499
|
+
"ui.sync.mode.user": "platí vaše úprava",
|
|
500
|
+
"ui.sync.next": "Zapsat: strom sync {file} --apply · jen některé: --apply --only 1,3",
|
|
501
|
+
"ui.sync.done": "Zapsáno změn z {file}: {n} ({input}) — vrátit: strom sync undo {input}",
|
|
502
|
+
"ui.sync.undone": "Synchronizace {input} vrácena: kroků {n}.",
|
|
503
|
+
"ui.sync.wasundone": "Synchronizace {input} už vrácená je.",
|
|
504
|
+
"ui.sync.bridge.large": "strom je na poslání moc velký — vyexportujte ho jako GEDCOM a načtěte ho ve výzkumu (strom sync <soubor>)",
|
|
505
|
+
"ui.sync.bridge.other": "tento strom patří jinému výzkumu",
|
|
506
|
+
"ui.sync.bridge.foreign": "tohle nevypadá jako rodokmen tohoto výzkumu — vyexportujte ho a načtěte ve výzkumu jako jiný rodokmen",
|
|
507
|
+
"ui.sync.bridge.empty": "strom přišel prázdný nebo nečitelný",
|
|
508
|
+
"ui.sync.wait": "Otevírá se aplikace Strom s tímto výzkumem — vyberte v ní, který strom poslat, a potvrďte. Čekám na něj (nejvýš {min} min; Ctrl+C přeruší) …",
|
|
509
|
+
"ui.sync.wait.open": "V aplikaci se nic neukázalo (už byla otevřená)? Otevřete tuto adresu v prohlížeči, ve kterém ji máte: {url}",
|
|
510
|
+
"ui.sync.waited": "Aplikace Strom strom do {min} min neposlala — zkuste to znovu: strom sync --app, nebo ho vyexportujte jako GEDCOM: strom sync <soubor>",
|
|
511
|
+
"ui.sync.got": "Aplikace Strom strom poslala.",
|
|
512
|
+
"ui.sync.nothing.unchanged": "Aplikace Strom nic neposlala: strom se od posledního načtení z výzkumu nezměnil.",
|
|
513
|
+
"ui.sync.nothing.cancelled": "Z aplikace Strom se nic neposlalo (zrušeno v ní).",
|
|
514
|
+
"ui.sync.nothing.no-tree": "Aplikace Strom strom tohoto výzkumu nemá — nejdřív ho v ní otevřete (v menu Aplikace Strom), nebo strom vyexportujte a načtěte soubor.",
|
|
515
|
+
"ui.sync.nosend": "Tato verze aplikace Strom strom ještě poslat neumí (přijde s novější verzí) — vyexportujte ho v aplikaci jako GEDCOM a načtěte: strom sync <soubor>",
|
|
516
|
+
"ui.sync.from": "Odkud?",
|
|
517
|
+
"ui.sync.from.app": "Přímo z aplikace Strom (pošle strom sama)",
|
|
518
|
+
"ui.sync.from.file": "Ze souboru (.ged, .json)",
|
|
519
|
+
"ui.sync.again": "Tento soubor výzkum už načetl ({input}) — znovu: --again",
|
|
520
|
+
"ui.sync.source.app": "Úpravy v aplikaci Strom ({file}, {day})",
|
|
521
|
+
"ui.sync.source.file": "Rodokmen {file} ({day})",
|
|
522
|
+
"ui.review.living": "{who}: nejspíš žijící (narození před méně než {years} lety, úmrtí nezapsané). Víc ví rodina než matriky a ty z posledních let bývají uzavřené. Přesto revidovat?",
|
|
523
|
+
"ui.review.living.no": "Nic se nepřidalo.",
|
|
524
|
+
"ui.review.unproven.none": "Každý ve stromu stojí na vlastním záznamu — nebo pro ty ostatní strom už nemá co navrhnout (strom person list --unproven).",
|
|
525
|
+
"ui.review.unproven.left": "dalších {n} bez vlastního záznamu: strom review --unproven znovu vezme další, až budou tihle hotoví",
|
|
526
|
+
"ui.review.unproven.left.human": "Dalších {n} osob čeká bez vlastního záznamu — přijdou na řadu, až budou tihle hotoví.",
|
|
450
527
|
"ui.review.would": " přidal by: {level} · {what}",
|
|
451
528
|
"ui.review.dry": "(zkouška nanečisto — nic se nezapsalo)",
|
|
452
529
|
"ui.review.covered": " {name}: už to pokrývá {task} ({state}) — {what}",
|
|
@@ -506,10 +583,92 @@
|
|
|
506
583
|
"ui.consent.hook.on": "Nechat hook „{name}“, aby se dozvídal všechno, co se uloží do vašich výzkumů? Je to program na tomto počítači a udělá s tím, k čemu byl napsán.",
|
|
507
584
|
"ui.consent.hook.off": "Přestat hooku „{name}“ hlásit, co se ukládá?",
|
|
508
585
|
"ui.run.others": "⚠ V tomto rodokmenu už pracuje jiný běh (od {since}): tento si vezme jiné úkoly – náklady se sčítají.",
|
|
509
|
-
"ui.menu.more": "Rozšířit výzkum: podklady, nový směr, revize osoby",
|
|
586
|
+
"ui.menu.more": "Rozšířit výzkum: podklady, nový směr, revize osoby, jiný rodokmen",
|
|
587
|
+
"ui.menu.more.app": "Rozšířit výzkum: podklady, nový směr, revize osoby, úpravy z aplikace Strom",
|
|
510
588
|
"ui.more.title": "Rozšířit výzkum",
|
|
511
589
|
"ui.more.intake": "Přidat podklady: dokumenty, fotky, rodokmen z jiného programu, co víte",
|
|
512
590
|
"ui.more.research": "Nový směr výzkumu: předkové nebo potomci někoho dalšího, nebo jedna otázka",
|
|
591
|
+
"ui.more.sync": "Načíst úpravy z aplikace Strom nebo z jiného rodokmenu (.ged, .json)",
|
|
592
|
+
"ui.link.ok": "OK",
|
|
593
|
+
"ui.link.bad": "Tento odkaz z aplikace Strom nešel použít ({why}). Nic se nestalo.",
|
|
594
|
+
"ui.link.notree": "Výzkum, pro který odkaz je, na tomto počítači není (nebo strom nezná jeho složku). Nic se nestalo.",
|
|
595
|
+
"ui.link.which": "Tento výzkum je tu vícekrát. Který má úpravy přijmout?",
|
|
596
|
+
"ui.link.noclip": "Tento výřez pramene {source} už ve výzkumu není (byl udělán znovu nebo odebrán). Otevřete aplikaci Strom z výzkumu znovu, dostane aktuální výřezy.",
|
|
597
|
+
"ui.link.noscan": "Sken tohoto výřezu pramene {source} na tomto počítači není a výzkum nezná ani jeho stránku v online archivu.",
|
|
598
|
+
"ui.link.noterminal": "strom nemohl otevřít okno terminálu. Spusťte strom a zvolte: {item} — Přímo z aplikace Strom.",
|
|
599
|
+
"ui.link.on.done": "✓ Odkazy z aplikace Strom vedou do výzkumu na tomto počítači.",
|
|
600
|
+
"ui.link.on.failed": "Odkazy z aplikace Strom se na tomto počítači nepodařilo nastavit.",
|
|
601
|
+
"ui.link.off.done": "Odkazy z aplikace Strom už do výzkumu na tomto počítači nevedou.",
|
|
602
|
+
"ui.link.off.failed": "Odkazy z aplikace Strom se z tohoto počítače nepodařilo odebrat.",
|
|
603
|
+
"ui.link.which.one": "Tento výzkum je tu vícekrát. Který?",
|
|
604
|
+
"ui.link.noterminal.any": "strom nemohl otevřít okno terminálu. Spusťte strom (výzkum {name}) a pokračujte z jeho nabídky.",
|
|
605
|
+
"ui.link.noterminal.new": "strom nemohl otevřít okno terminálu. Spusťte strom a pak to zkuste z aplikace Strom znovu.",
|
|
606
|
+
"ui.link.asks": "Aplikace Strom žádá: {what}\nVýzkum: {name}",
|
|
607
|
+
"ui.link.go": "Pokračovat?",
|
|
608
|
+
"ui.link.cost": "Agent pracuje na vaše předplatné nebo kredit AI.",
|
|
609
|
+
"ui.link.tasks": "Výzkum zapíše úkoly pro agenta – teď se nic nehledá a nic se neplatí.",
|
|
610
|
+
"ui.link.what.chat": "rozhovor s agentem ({agent}) o výzkumu.",
|
|
611
|
+
"ui.link.what.chat.person": "rozhovor s agentem ({agent}) o osobě {person}.",
|
|
612
|
+
"ui.link.chat.say": "Podívejme se na osobu {person}: řekni mi krátce, co o ní výzkum ví, a zeptej se mě, co chci zjistit.",
|
|
613
|
+
"ui.link.what.review.person": "prověřit znovu osobu {person}.",
|
|
614
|
+
"ui.link.what.review.family": "prověřit znovu osobu {person} i s partnery a dětmi.",
|
|
615
|
+
"ui.link.what.review.line": "prověřit znovu osobu {person} i s předky.",
|
|
616
|
+
"ui.link.what.research.ancestors": "hledat předky osoby {person} (nový směr výzkumu).",
|
|
617
|
+
"ui.link.what.research.descendants": "hledat potomky osoby {person} (nový směr výzkumu).",
|
|
618
|
+
"ui.link.noperson": "Osoba {person} v tomto výzkumu není (nebo z něj byla vyřazena). Nic se nestalo.",
|
|
619
|
+
"ui.link.notask": "Tento úkol už na vás nečeká (odpověď už má, nebo ho převzal agent). Nic se nestalo.",
|
|
620
|
+
"ui.link.task.none": "Úkol {task} v tomto výzkumu není. Nic se nestalo.",
|
|
621
|
+
"ui.link.task.cannot": "Tento úkol teď takhle změnit nejde (mezitím se změnil). Nic se nestalo.",
|
|
622
|
+
"ui.link.what.task.park": "odložit úkol: {what}",
|
|
623
|
+
"ui.link.what.task.drop": "vzdát úkol: {what}",
|
|
624
|
+
"ui.link.what.task.wake": "vrátit úkol do fronty: {what}",
|
|
625
|
+
"ui.link.task.why": "Proč? (pár slov, zůstane u úkolu)",
|
|
626
|
+
"ui.link.task.park.default": "Odloženo v aplikaci Strom.",
|
|
627
|
+
"ui.link.task.drop.default": "Vzdáno v aplikaci Strom.",
|
|
628
|
+
"ui.link.task.park.done": "✓ Úkol je odložený.",
|
|
629
|
+
"ui.link.task.drop.done": "✓ Úkol je vzdaný (zůstává i s důvodem).",
|
|
630
|
+
"ui.link.task.wake.done": "✓ Úkol je zpět ve frontě agenta.",
|
|
631
|
+
"ui.link.sessions.title": "Sezení agenta – {name}",
|
|
632
|
+
"ui.link.sessions.none": "Agent na tomto výzkumu zatím nepracoval.",
|
|
633
|
+
"ui.link.sessions.month": "Tento měsíc: sezení {n}, {cost}",
|
|
634
|
+
"ui.link.sessions.more": "… a dalších {n} dříve",
|
|
635
|
+
"ui.link.conflict.none": "Rozpor {id} v tomto výzkumu není. Nic se nestalo.",
|
|
636
|
+
"ui.link.conflict.decided": "Tento rozpor už je rozhodnutý: {resolution}",
|
|
637
|
+
"ui.link.what.conflict.decide": "rozhodnout rozpor: {title}",
|
|
638
|
+
"ui.link.what.conflict.agent": "nechat rozpor na agentovi ({agent}): {title}",
|
|
639
|
+
"ui.link.conflict.pick": "Co platí?",
|
|
640
|
+
"ui.link.conflict.other": "Něco jiného (napíšu sám)",
|
|
641
|
+
"ui.link.conflict.own": "Co platí?",
|
|
642
|
+
"ui.link.conflict.why": "Proč? (co rozhoduje)",
|
|
643
|
+
"ui.link.conflict.by": "{why} (rozhodnutí uživatele)",
|
|
644
|
+
"ui.link.conflict.done": "✓ Rozpor je rozhodnutý.",
|
|
645
|
+
"ui.link.conflict.say": "Podívej se na rozpor {id} ({title}): zvaž prameny, rozhodni ho přes strom conflict resolve a pak mi řekni, k čemu jsi došel a proč.",
|
|
646
|
+
"ui.link.story.none": "Osoba {person} zatím nemá vyprávění. Nic se nestalo.",
|
|
647
|
+
"ui.link.story.final": "Vyprávění osoby {person} už je schválené.",
|
|
648
|
+
"ui.link.what.story": "schválit vyprávění osoby {person}, jak je (už nebude návrh).",
|
|
649
|
+
"ui.link.story.done": "✓ Vyprávění je schválené. Až výzkum v aplikaci Strom otevřete znovu, bude tam bez štítku Návrh.",
|
|
650
|
+
"ui.link.sync.none": "{input} není v tomto výzkumu poslání z aplikace Strom. Nic se nestalo.",
|
|
651
|
+
"ui.link.sync.was": "Toto poslání už bylo vráceno.",
|
|
652
|
+
"ui.link.what.sync": "vrátit, co výzkum převzal z aplikace Strom {day} (změn: {n}).",
|
|
653
|
+
"ui.link.new.title": "Aplikace Strom chce začít výzkum s jedním svým rodokmenem.",
|
|
654
|
+
"ui.link.new.name": "Název výzkumu (rodina, např. Novákovi)",
|
|
655
|
+
"ui.link.new.exists": "Výzkum „{name}“ už tu je, i s osobami. Zvolte jiný název.",
|
|
656
|
+
"ui.link.new.wait": "Čekám, až aplikace Strom strom předá – potvrďte to v ní (nejvýš {min} min; Ctrl+C přeruší).",
|
|
657
|
+
"ui.link.new.none": "Aplikace Strom žádný strom nepředala. Výzkum „{name}“ tu je, zatím prázdný: začněte znovu z aplikace, nebo do něj přidejte v nabídce stromu.",
|
|
658
|
+
"ui.link.new.waited": "Z aplikace Strom do {min} min žádný strom nepřišel. Výzkum „{name}“ tu je, zatím prázdný.",
|
|
659
|
+
"ui.link.new.empty": "Strom, který aplikace Strom poslala, nemá žádné osoby – není co zkoumat. Výzkum „{name}“ tu je, zatím prázdný.",
|
|
660
|
+
"ui.link.new.failed": "Aplikace Strom strom předat nemohla. Výzkum „{name}“ tu je, zatím prázdný: zkuste to z aplikace znovu.",
|
|
661
|
+
"ui.link.new.taken": "✓ Rodokmen je ve výzkumu „{name}“: osob {persons}, rodin {families} – jako vodítka; co doloží záznamy, najde agent.",
|
|
662
|
+
"ui.link.new.back": "Aplikace Strom teď strom ukazuje jako strom výzkumu.",
|
|
663
|
+
"ui.link.new.chat": "Začít teď rozhovor s agentem?",
|
|
664
|
+
"ui.link.new.say": "Předal(a) jsem náš rodokmen z aplikace Strom – podívej se, co v něm je, a navrhni, čím začít.",
|
|
665
|
+
"ui.more.sync.noapp": "Načíst změny z jiného rodokmenu (.ged, .json)",
|
|
666
|
+
"ui.sync.path.noapp": "Přetáhněte sem soubor s rodokmenem (.ged nebo .json), nebo napište cestu (Enter nebo 0 zpět)",
|
|
667
|
+
"ui.sync.path": "Přetáhněte sem soubor vyexportovaný z aplikace Strom (.ged nebo .json), nebo napište cestu (Enter nebo 0 zpět)",
|
|
668
|
+
"ui.sync.how": "Zapsat to do výzkumu?",
|
|
669
|
+
"ui.sync.all": "Ano, všechno, jak je vypsané",
|
|
670
|
+
"ui.sync.some": "Jen ty, které vyberu",
|
|
671
|
+
"ui.sync.app": "Otevřete výzkum znovu v aplikaci Strom (v menu Aplikace Strom): zeptá se, jestli strom aktualizovat — pak v něm budou vaše úpravy tak, jak je výzkum přijal.",
|
|
513
672
|
"ui.intake.what": "Co přinášíte?",
|
|
514
673
|
"ui.intake.files": "Soubory nebo složku z počítače",
|
|
515
674
|
"ui.intake.text": "Co víte – jména, data, místa, rodinné vzpomínky",
|
package/assets/lang/de.json
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"ui.yes": "j",
|
|
39
39
|
"ui.no": "n",
|
|
40
40
|
"ui.enter": "Drücken Sie Enter, um zum Menü zurückzukehren.",
|
|
41
|
+
"ui.enter.close": "Drücken Sie Enter, um dieses Fenster zu schließen.",
|
|
41
42
|
"ui.choose": "Auswahl",
|
|
42
43
|
"ui.bad.choice": "Bitte geben Sie eine der Zahlen ein.",
|
|
43
44
|
"ui.dialog.title": "Strom Ahnenforschung",
|
|
@@ -109,6 +110,8 @@
|
|
|
109
110
|
"ui.setup.level.sure": "Wirklich alles erlauben?",
|
|
110
111
|
"ui.setup.shortcut": "Eine Verknüpfung „Strom Ahnenforschung“ auf dem Desktop anlegen?",
|
|
111
112
|
"ui.setup.shortcut.done": "✓ Verknüpfung: {file}",
|
|
113
|
+
"ui.setup.links": "Der Strom-App erlauben, die Forschung auf diesem Computer zu starten? (Ein Klick schickt Ihre Änderungen zurück, öffnet einen Ausschnitt in voller Qualität, den Agenten oder die Prüfung einer Person – jeweils erst hier gefragt.)",
|
|
114
|
+
"ui.setup.links.done": "✓ Links aus der Strom-App führen hier zur Forschung.",
|
|
112
115
|
"ui.setup.skill": "✓ {agent} kennt strom jetzt in jedem Ordner.",
|
|
113
116
|
"ui.setup.app": "✓ Die Strom-App ist auf diesem Computer – das Menü öffnet die Forschung darin, und während der Agent arbeitet, verfolgt die App sie live.",
|
|
114
117
|
"ui.setup.done": "Fertig.",
|
|
@@ -199,6 +202,10 @@
|
|
|
199
202
|
"ui.doc.level": "der Agent darf",
|
|
200
203
|
"ui.doc.model": "Modell",
|
|
201
204
|
"ui.doc.shortcut": "Desktop-Verknüpfung",
|
|
205
|
+
"ui.doc.links": "Links aus der Strom-App",
|
|
206
|
+
"ui.doc.links.ours": "ja",
|
|
207
|
+
"ui.doc.links.other": "führen zu einem anderen Programm (oder dorthin, wo strom früher war)",
|
|
208
|
+
"ui.doc.links.none": "keine",
|
|
202
209
|
"ui.doc.app": "Strom-App",
|
|
203
210
|
"ui.doc.tree": "dieser Stammbaum",
|
|
204
211
|
"ui.doc.innode": "strom {version} in Node {node}",
|
|
@@ -259,6 +266,7 @@
|
|
|
259
266
|
"story.why": "{count} Angaben aus Einträgen erzählen das Leben (Generation {generation} der Forschung {research}); die Familie liest es im Familienbuch der Strom-App",
|
|
260
267
|
"story.done": "strom story set {id} mit jeder Angabe, auf der sie beruht (--fact) – ein Entwurf, bis der Benutzer sie freigibt",
|
|
261
268
|
"review.research": "Durchsicht: {name}",
|
|
269
|
+
"review.unproven.research": "Personen ohne eigenen Eintrag",
|
|
262
270
|
"review.more": " (und danach {count} weitere)",
|
|
263
271
|
"review.mentions.what": "Was der Stammbaum außerhalb der Angaben über {name} schon sagt: {list}{more}",
|
|
264
272
|
"review.mentions.why": "Quellen, Notizen oder das Tagebuch nennen {name}, die Angaben zeigen es aber nicht – die günstigsten Funde einer Durchsicht ({research})",
|
|
@@ -290,6 +298,18 @@
|
|
|
290
298
|
"ui.review.pick": "Welche Person?",
|
|
291
299
|
"ui.review.family": "Mit Ehepartner und Kindern?",
|
|
292
300
|
"ui.review.run": "Den Agenten jetzt allein daran arbeiten lassen? ({n} Aufgaben)",
|
|
301
|
+
"ui.menu.unproven": "Personen ohne eigenen Eintrag ({n})",
|
|
302
|
+
"ui.unproven.title": "Diese Personen belegt noch kein eigener Eintrag:",
|
|
303
|
+
"ui.unproven.named": "in einem anderen Eintrag genannt",
|
|
304
|
+
"ui.unproven.leads": "nur Hinweise",
|
|
305
|
+
"ui.unproven.none": "kein Eintrag",
|
|
306
|
+
"ui.unproven.tasks": "daran wird schon gearbeitet",
|
|
307
|
+
"ui.unproven.living": "Wahrscheinlich lebend (vor weniger als {years} Jahren geboren) — das weiß die Familie, keine Aufgaben: {names}",
|
|
308
|
+
"ui.unproven.how": "Was soll der Agent tun?",
|
|
309
|
+
"ui.unproven.all": "Alle, nach und nach (jeweils {n})",
|
|
310
|
+
"ui.unproven.pick": "Nur die, die ich auswähle",
|
|
311
|
+
"ui.unproven.numbers": "Ihre Nummern aus der Liste (z. B. 1 3 5-7, oder ihre IDs; Enter oder 0 zurück)",
|
|
312
|
+
"ui.unproven.bad": "Nicht in der Liste: {x}",
|
|
293
313
|
"ui.o.reread": "zweite Lesung",
|
|
294
314
|
"ui.o.reread.offer": "{n} Angaben beruhen nur auf Lesungen eines anderen Modells ({models}); der Nutzer liest jetzt mit {model} – biete es einmal an, in einem Satz: strom review <wen> --reread (eine Aufgabe je Person; der Nutzer entscheidet)",
|
|
295
315
|
"ui.o.stories": "Geschichten",
|
|
@@ -303,6 +323,7 @@
|
|
|
303
323
|
"ui.setup.stories.no": "Nein – nur der Stammbaum und seine Quellen",
|
|
304
324
|
"ui.uninstall.agent": "was {agent} über strom weiß",
|
|
305
325
|
"ui.uninstall.shortcut": "die Verknüpfung",
|
|
326
|
+
"ui.uninstall.links": "die Links aus der Strom-App",
|
|
306
327
|
"ui.uninstall.git": "strom's eigenes git",
|
|
307
328
|
"ui.uninstall.path": "der PATH-Eintrag des Installationsprogramms",
|
|
308
329
|
"ui.uninstall.program": "das Programm",
|
|
@@ -327,6 +348,7 @@
|
|
|
327
348
|
"ui.update.downloading": "strom {version} wird heruntergeladen…",
|
|
328
349
|
"ui.update.failed": "Die Aktualisierung hat nicht geklappt: {detail}. strom bleibt, wie er war.",
|
|
329
350
|
"ui.update.done": "✓ strom ist aktualisiert: {previous} → {version}.",
|
|
351
|
+
"ui.update.restart": "strom ist aktualisiert — dieses Menü läuft aber noch in der alten Version. Starten Sie strom neu (oder die Verknüpfung „{shortcut}“), dann läuft die neue Version.",
|
|
330
352
|
"ui.o.update": "Update",
|
|
331
353
|
"ui.o.update.new": "{version} ist da (diese ist {current}) – sag es dem Benutzer; strom update installiert sie mit seiner Zustimmung",
|
|
332
354
|
"ui.app.drag": "Die Strom-App ist geöffnet. Ziehen Sie die Datei {file}{shown} in ihr Fenster – beim ersten Mal wird daraus ein neuer Stammbaum, danach wird derselbe Stammbaum aktualisiert. Mit Chrome oder Edge auf diesem Computer übergibt strom sie selbst.",
|
|
@@ -447,6 +469,61 @@
|
|
|
447
469
|
"ui.browse.plan": "Was der Agent als Nächstes tut",
|
|
448
470
|
"ui.review.new": "{name} — neue Aufgaben: {n}",
|
|
449
471
|
"ui.review.nothing": "{name} — nichts Neues zu prüfen",
|
|
472
|
+
"ui.sync.title": "{file}: {n} Änderung(en) gegenüber der Forschung",
|
|
473
|
+
"ui.sync.base": "Verglichen mit dem, was die Forschung der Strom-App gab ({head}): nur was seitdem geändert wurde, gilt als Ihre Änderung.",
|
|
474
|
+
"ui.sync.nobase": "Die Datei sagt nicht, aus welchem Stand der Forschung sie stammt: Ergänzungen werden übernommen, Unterschiede nur gezeigt (auswählen mit --only).",
|
|
475
|
+
"ui.sync.headmissing": "Den Stand {head}, den die Datei nennt, hat die Geschichte der Forschung nicht: Ergänzungen werden übernommen, Unterschiede nur gezeigt (auswählen mit --only).",
|
|
476
|
+
"ui.sync.partial": "Die Datei hat viel weniger Personen, als sie bekam: nichts gilt als gelöscht.",
|
|
477
|
+
"ui.sync.strangers": "Diese IDs gehören nicht den Personen dieses Namens in der Forschung — als neue Personen übernommen: {ids}",
|
|
478
|
+
"ui.sync.nothing": "{file}: nichts Neues — die Forschung hat alles, was darin steht.",
|
|
479
|
+
"ui.sync.person.new": "{n}. neue Person: {name}",
|
|
480
|
+
"ui.sync.fact.new": "{n}. {who}: neu — {fact}",
|
|
481
|
+
"ui.sync.fact.changed": "{n}. {who}: {kind} geändert — {was} → {now}",
|
|
482
|
+
"ui.sync.fact.differs": "{n}. {who}: {kind} weicht ab — Forschung {was}, Datei {now}",
|
|
483
|
+
"ui.sync.fact.gone": "{n}. {who}: nicht mehr darin — {fact}",
|
|
484
|
+
"ui.sync.name.new": "{n}. {who}: ein weiterer Name — {text}",
|
|
485
|
+
"ui.sync.sex.changed": "{n}. {who}: Geschlecht {text}",
|
|
486
|
+
"ui.sync.note.new": "{n}. {who}: eine Notiz — „{text}“",
|
|
487
|
+
"ui.sync.family.new": "{n}. eine neue Familie: {who}{kids}",
|
|
488
|
+
"ui.sync.child.new": "{n}. {who}: ein Kind — {child}",
|
|
489
|
+
"ui.sync.child.gone": "{n}. {who}: nicht mehr ihr Kind — {child}",
|
|
490
|
+
"ui.sync.person.gone": "{n}. nicht mehr darin: {name}",
|
|
491
|
+
"ui.sync.do.add": "als Hinweis übernommen",
|
|
492
|
+
"ui.sync.do.correct": "berichtigt den Hinweis der Forschung",
|
|
493
|
+
"ui.sync.do.conflict": "ein Widerspruch zum Entscheiden (die Forschung hat es aus einem Eintrag)",
|
|
494
|
+
"ui.sync.do.user": "Ihre Änderung gilt (die Angabe aus dem Eintrag wird mit Grund zurückgezogen)",
|
|
495
|
+
"ui.sync.do.pick": "nur wenn Sie sie auswählen (--only)",
|
|
496
|
+
"ui.sync.do.report": "nichts ändert sich — sagen Sie dem Agenten, was Sie meinten",
|
|
497
|
+
"ui.sync.edits": "Ihre Änderungen an Angaben, die ein Eintrag belegt: {mode} (strom config set sync.edits conflict|user)",
|
|
498
|
+
"ui.sync.mode.conflict": "ein Widerspruch zum Entscheiden",
|
|
499
|
+
"ui.sync.mode.user": "Ihre Änderung gilt",
|
|
500
|
+
"ui.sync.next": "Schreiben: strom sync {file} --apply · nur einige: --apply --only 1,3",
|
|
501
|
+
"ui.sync.done": "{n} Änderung(en) aus {file} geschrieben ({input}) — zurücknehmen: strom sync undo {input}",
|
|
502
|
+
"ui.sync.undone": "Abgleich {input} zurückgenommen: {n} Schritt(e).",
|
|
503
|
+
"ui.sync.wasundone": "Abgleich {input} ist schon zurückgenommen.",
|
|
504
|
+
"ui.sync.bridge.large": "der Stammbaum ist zu groß zum Senden — exportieren Sie ihn als GEDCOM und laden Sie ihn in der Forschung (strom sync <Datei>)",
|
|
505
|
+
"ui.sync.bridge.other": "dieser Stammbaum gehört zu einer anderen Forschung",
|
|
506
|
+
"ui.sync.bridge.foreign": "das sieht nicht wie der Stammbaum dieser Forschung aus — exportieren Sie ihn und laden Sie ihn als anderen Stammbaum",
|
|
507
|
+
"ui.sync.bridge.empty": "der Stammbaum kam leer oder unlesbar an",
|
|
508
|
+
"ui.sync.wait": "Die Strom-App öffnet sich mit dieser Forschung — wählen Sie dort, welcher Stammbaum gesendet wird, und bestätigen Sie. Warte darauf (höchstens {min} Min.; Strg+C bricht ab) …",
|
|
509
|
+
"ui.sync.wait.open": "In der App erscheint nichts (sie war schon offen)? Öffnen Sie diese Adresse in dem Browser, in dem Sie sie haben: {url}",
|
|
510
|
+
"ui.sync.waited": "Die Strom-App hat den Stammbaum nicht innerhalb von {min} Min. gesendet — erneut: strom sync --app, oder als GEDCOM exportieren: strom sync <Datei>",
|
|
511
|
+
"ui.sync.got": "Die Strom-App hat den Stammbaum gesendet.",
|
|
512
|
+
"ui.sync.nothing.unchanged": "Die Strom-App sendet nichts: der Stammbaum hat sich seit dem letzten Laden aus der Forschung nicht geändert.",
|
|
513
|
+
"ui.sync.nothing.cancelled": "Aus der Strom-App wurde nichts gesendet (dort abgebrochen).",
|
|
514
|
+
"ui.sync.nothing.no-tree": "Die Strom-App hat keinen Stammbaum dieser Forschung — öffnen Sie ihn dort zuerst (Menüpunkt Strom-App) oder exportieren Sie ihn und laden die Datei.",
|
|
515
|
+
"ui.sync.nosend": "Diese Version der Strom-App kann den Stammbaum noch nicht senden (kommt mit einer neueren Version) — exportieren Sie ihn in der App als GEDCOM und laden Sie ihn: strom sync <Datei>",
|
|
516
|
+
"ui.sync.from": "Woher?",
|
|
517
|
+
"ui.sync.from.app": "Direkt aus der Strom-App (sie sendet den Stammbaum selbst)",
|
|
518
|
+
"ui.sync.from.file": "Aus einer Datei (.ged, .json)",
|
|
519
|
+
"ui.sync.again": "Diese Datei hat die Forschung schon übernommen ({input}) — noch einmal: --again",
|
|
520
|
+
"ui.sync.source.app": "Änderungen in der Strom-App ({file}, {day})",
|
|
521
|
+
"ui.sync.source.file": "Stammbaum {file} ({day})",
|
|
522
|
+
"ui.review.living": "{who}: wahrscheinlich lebend (vor weniger als {years} Jahren geboren, kein Tod eingetragen). Die Familie weiß mehr als die Register, und die der letzten Jahrzehnte sind meist gesperrt. Trotzdem durchsehen?",
|
|
523
|
+
"ui.review.living.no": "Nichts hinzugefügt.",
|
|
524
|
+
"ui.review.unproven.none": "Jede Person im Stammbaum stützt sich auf einen eigenen Eintrag — oder strom hat für die übrigen nichts mehr vorzuschlagen (strom person list --unproven).",
|
|
525
|
+
"ui.review.unproven.left": "{n} weitere ohne eigenen Eintrag: strom review --unproven nimmt erneut die nächsten, wenn diese erledigt sind",
|
|
526
|
+
"ui.review.unproven.left.human": "{n} weitere Personen warten ohne eigenen Eintrag — sie kommen dran, wenn diese erledigt sind.",
|
|
450
527
|
"ui.review.would": " würde hinzufügen: {level} · {what}",
|
|
451
528
|
"ui.review.dry": "(Probelauf — nichts geschrieben)",
|
|
452
529
|
"ui.review.covered": " {name}: schon abgedeckt durch {task} ({state}) — {what}",
|
|
@@ -506,10 +583,92 @@
|
|
|
506
583
|
"ui.consent.hook.on": "Den Hook „{name}“ über alles informieren, was in Ihre Forschungen gespeichert wird? Er ist ein Programm auf diesem Computer und tut damit, wofür er geschrieben wurde.",
|
|
507
584
|
"ui.consent.hook.off": "Dem Hook „{name}“ nicht mehr melden, was gespeichert wird?",
|
|
508
585
|
"ui.run.others": "⚠ In diesem Stammbaum arbeitet schon ein anderer Lauf (seit {since}): dieser nimmt andere Aufgaben – die Kosten addieren sich.",
|
|
509
|
-
"ui.menu.more": "Die Forschung erweitern: Unterlagen, eine neue Richtung, eine Person prüfen",
|
|
586
|
+
"ui.menu.more": "Die Forschung erweitern: Unterlagen, eine neue Richtung, eine Person prüfen, ein anderer Stammbaum",
|
|
587
|
+
"ui.menu.more.app": "Die Forschung erweitern: Unterlagen, eine neue Richtung, eine Person prüfen, Änderungen aus der Strom-App",
|
|
510
588
|
"ui.more.title": "Die Forschung erweitern",
|
|
511
589
|
"ui.more.intake": "Unterlagen der Familie: Dokumente, Fotos, ein Stammbaum aus einem anderen Programm, was Sie wissen",
|
|
512
590
|
"ui.more.research": "Eine neue Richtung: die Vorfahren oder Nachkommen einer weiteren Person, oder eine Frage",
|
|
591
|
+
"ui.more.sync": "Änderungen aus der Strom-App oder einem anderen Stammbaum übernehmen (.ged, .json)",
|
|
592
|
+
"ui.link.ok": "OK",
|
|
593
|
+
"ui.link.bad": "Dieser Link aus der Strom-App ließ sich nicht verwenden ({why}). Es ist nichts geschehen.",
|
|
594
|
+
"ui.link.notree": "Die Forschung, für die dieser Link ist, ist nicht auf diesem Computer (oder strom kennt ihren Ordner nicht). Es ist nichts geschehen.",
|
|
595
|
+
"ui.link.which": "Diese Forschung ist hier mehrmals. Welche soll die Änderungen übernehmen?",
|
|
596
|
+
"ui.link.noclip": "Dieser Ausschnitt der Quelle {source} ist nicht mehr in der Forschung (neu gemacht oder entfernt). Öffnen Sie die Strom-App erneut aus der Forschung, dann bekommt sie die aktuellen.",
|
|
597
|
+
"ui.link.noscan": "Der Scan dieses Ausschnitts der Quelle {source} ist nicht auf diesem Computer, und die Forschung kennt auch keine Seite davon im Online-Archiv.",
|
|
598
|
+
"ui.link.noterminal": "strom konnte kein Terminalfenster öffnen. Starten Sie strom und wählen Sie: {item} — Direkt aus der Strom-App.",
|
|
599
|
+
"ui.link.on.done": "✓ Links aus der Strom-App führen hier zur Forschung.",
|
|
600
|
+
"ui.link.on.failed": "Die Links aus der Strom-App ließen sich auf diesem Computer nicht einrichten.",
|
|
601
|
+
"ui.link.off.done": "Links aus der Strom-App führen hier nicht mehr zur Forschung.",
|
|
602
|
+
"ui.link.off.failed": "Die Links aus der Strom-App ließen sich von diesem Computer nicht entfernen.",
|
|
603
|
+
"ui.link.which.one": "Diese Forschung ist hier mehrmals vorhanden. Welche?",
|
|
604
|
+
"ui.link.noterminal.any": "strom konnte kein Terminalfenster öffnen. Starten Sie strom (die Forschung {name}) und machen Sie in seinem Menü weiter.",
|
|
605
|
+
"ui.link.noterminal.new": "strom konnte kein Terminalfenster öffnen. Starten Sie strom und versuchen Sie es dann erneut aus der Strom-App.",
|
|
606
|
+
"ui.link.asks": "Die Strom-App bittet um: {what}\nForschung: {name}",
|
|
607
|
+
"ui.link.go": "Fortfahren?",
|
|
608
|
+
"ui.link.cost": "Der Agent arbeitet auf Ihr Abonnement oder KI-Guthaben.",
|
|
609
|
+
"ui.link.tasks": "Die Forschung schreibt Aufgaben für den Agenten – jetzt wird nichts gesucht und nichts bezahlt.",
|
|
610
|
+
"ui.link.what.chat": "ein Gespräch mit dem Agenten ({agent}) über die Forschung.",
|
|
611
|
+
"ui.link.what.chat.person": "ein Gespräch mit dem Agenten ({agent}) über {person}.",
|
|
612
|
+
"ui.link.chat.say": "Schauen wir uns {person} an: Sag mir kurz, was die Forschung über diese Person weiß, und frag mich, was ich herausfinden möchte.",
|
|
613
|
+
"ui.link.what.review.person": "{person} erneut prüfen.",
|
|
614
|
+
"ui.link.what.review.family": "{person} erneut prüfen, mit Partnern und Kindern.",
|
|
615
|
+
"ui.link.what.review.line": "{person} erneut prüfen, mit den Vorfahren.",
|
|
616
|
+
"ui.link.what.research.ancestors": "die Vorfahren von {person} suchen (eine neue Richtung der Forschung).",
|
|
617
|
+
"ui.link.what.research.descendants": "die Nachkommen von {person} suchen (eine neue Richtung der Forschung).",
|
|
618
|
+
"ui.link.noperson": "{person} ist nicht in dieser Forschung (oder wurde aus ihr entfernt). Es ist nichts geschehen.",
|
|
619
|
+
"ui.link.notask": "Diese Aufgabe wartet nicht mehr auf Sie (sie ist beantwortet, oder ein Agent hat sie übernommen). Es ist nichts geschehen.",
|
|
620
|
+
"ui.link.task.none": "Aufgabe {task} ist nicht in dieser Forschung. Es ist nichts geschehen.",
|
|
621
|
+
"ui.link.task.cannot": "Diese Aufgabe lässt sich jetzt so nicht ändern (sie hat sich inzwischen geändert). Es ist nichts geschehen.",
|
|
622
|
+
"ui.link.what.task.park": "die Aufgabe zurückstellen: {what}",
|
|
623
|
+
"ui.link.what.task.drop": "die Aufgabe aufgeben: {what}",
|
|
624
|
+
"ui.link.what.task.wake": "die Aufgabe zurück in die Warteschlange: {what}",
|
|
625
|
+
"ui.link.task.why": "Warum? (ein paar Worte, bleiben bei der Aufgabe)",
|
|
626
|
+
"ui.link.task.park.default": "In der Strom-App zurückgestellt.",
|
|
627
|
+
"ui.link.task.drop.default": "In der Strom-App aufgegeben.",
|
|
628
|
+
"ui.link.task.park.done": "✓ Die Aufgabe ist zurückgestellt.",
|
|
629
|
+
"ui.link.task.drop.done": "✓ Die Aufgabe ist aufgegeben (bleibt mit dem Grund erhalten).",
|
|
630
|
+
"ui.link.task.wake.done": "✓ Die Aufgabe ist zurück in der Warteschlange des Agenten.",
|
|
631
|
+
"ui.link.sessions.title": "Sitzungen des Agenten – {name}",
|
|
632
|
+
"ui.link.sessions.none": "Der Agent hat an dieser Forschung noch nicht gearbeitet.",
|
|
633
|
+
"ui.link.sessions.month": "Diesen Monat: {n} Sitzungen, {cost}",
|
|
634
|
+
"ui.link.sessions.more": "… und {n} frühere",
|
|
635
|
+
"ui.link.conflict.none": "Widerspruch {id} ist nicht in dieser Forschung. Es ist nichts geschehen.",
|
|
636
|
+
"ui.link.conflict.decided": "Dieser Widerspruch ist bereits entschieden: {resolution}",
|
|
637
|
+
"ui.link.what.conflict.decide": "den Widerspruch entscheiden: {title}",
|
|
638
|
+
"ui.link.what.conflict.agent": "den Widerspruch dem Agenten überlassen ({agent}): {title}",
|
|
639
|
+
"ui.link.conflict.pick": "Was stimmt?",
|
|
640
|
+
"ui.link.conflict.other": "Etwas anderes (ich schreibe es)",
|
|
641
|
+
"ui.link.conflict.own": "Was stimmt?",
|
|
642
|
+
"ui.link.conflict.why": "Warum? (was entscheidet)",
|
|
643
|
+
"ui.link.conflict.by": "{why} (Entscheidung des Nutzers)",
|
|
644
|
+
"ui.link.conflict.done": "✓ Der Widerspruch ist entschieden.",
|
|
645
|
+
"ui.link.conflict.say": "Schau dir den Widerspruch {id} an ({title}): wäge die Quellen ab, entscheide ihn mit strom conflict resolve und sag mir dann, wozu du gekommen bist und warum.",
|
|
646
|
+
"ui.link.story.none": "{person} hat noch keine Erzählung. Es ist nichts geschehen.",
|
|
647
|
+
"ui.link.story.final": "Die Erzählung von {person} ist bereits freigegeben.",
|
|
648
|
+
"ui.link.what.story": "die Erzählung von {person} so freigeben, wie sie ist (dann kein Entwurf mehr).",
|
|
649
|
+
"ui.link.story.done": "✓ Die Erzählung ist freigegeben. Öffnen Sie die Forschung in der Strom-App erneut, dann steht sie ohne das Etikett Entwurf da.",
|
|
650
|
+
"ui.link.sync.none": "{input} ist in dieser Forschung keine Sendung aus der Strom-App. Es ist nichts geschehen.",
|
|
651
|
+
"ui.link.sync.was": "Diese Sendung wurde bereits zurückgenommen.",
|
|
652
|
+
"ui.link.what.sync": "zurücknehmen, was die Forschung am {day} aus der Strom-App übernommen hat ({n} Änderungen).",
|
|
653
|
+
"ui.link.new.title": "Die Strom-App möchte eine Forschung mit einem ihrer Stammbäume beginnen.",
|
|
654
|
+
"ui.link.new.name": "Name der Forschung (die Familie, z. B. Novák)",
|
|
655
|
+
"ui.link.new.exists": "Eine Forschung „{name}“ gibt es hier schon, mit Personen. Wählen Sie einen anderen Namen.",
|
|
656
|
+
"ui.link.new.wait": "Ich warte, bis die Strom-App den Stammbaum übergibt – bestätigen Sie es dort (höchstens {min} Min.; Strg+C bricht ab).",
|
|
657
|
+
"ui.link.new.none": "Die Strom-App hat keinen Stammbaum übergeben. Die Forschung „{name}“ ist hier, noch leer: beginnen Sie erneut aus der App, oder fügen Sie im Menü von strom etwas hinzu.",
|
|
658
|
+
"ui.link.new.waited": "Innerhalb von {min} Min. kam kein Stammbaum aus der Strom-App. Die Forschung „{name}“ ist hier, noch leer.",
|
|
659
|
+
"ui.link.new.empty": "Der Stammbaum, den die Strom-App geschickt hat, hat keine Personen – es gibt nichts zu erforschen. Die Forschung „{name}“ ist hier, noch leer.",
|
|
660
|
+
"ui.link.new.failed": "Die Strom-App konnte den Stammbaum nicht übergeben. Die Forschung „{name}“ ist hier, noch leer: versuchen Sie es erneut aus der App.",
|
|
661
|
+
"ui.link.new.taken": "✓ Der Stammbaum ist in der Forschung „{name}“: {persons} Personen, {families} Familien – als Hinweise; was Quellen belegen, findet der Agent.",
|
|
662
|
+
"ui.link.new.back": "Die Strom-App zeigt den Stammbaum jetzt als Stammbaum der Forschung.",
|
|
663
|
+
"ui.link.new.chat": "Jetzt das Gespräch mit dem Agenten beginnen?",
|
|
664
|
+
"ui.link.new.say": "Ich habe unseren Stammbaum aus der Strom-App übergeben – schau dir an, was darin ist, und schlag vor, womit wir beginnen.",
|
|
665
|
+
"ui.more.sync.noapp": "Änderungen aus einem anderen Stammbaum übernehmen (.ged, .json)",
|
|
666
|
+
"ui.sync.path.noapp": "Ziehen Sie die Stammbaum-Datei (.ged oder .json) hierher oder geben Sie den Pfad ein (Enter oder 0 zurück)",
|
|
667
|
+
"ui.sync.path": "Ziehen Sie die aus der Strom-App exportierte Datei (.ged oder .json) hierher oder geben Sie den Pfad ein (Enter oder 0 zurück)",
|
|
668
|
+
"ui.sync.how": "In die Forschung schreiben?",
|
|
669
|
+
"ui.sync.all": "Ja, alles wie angezeigt",
|
|
670
|
+
"ui.sync.some": "Nur die, die ich auswähle",
|
|
671
|
+
"ui.sync.app": "Öffnen Sie die Forschung erneut in der Strom-App (Menüpunkt Strom-App): Sie fragt, ob der Stammbaum aktualisiert werden soll — dann enthält er Ihre Änderungen, wie die Forschung sie übernommen hat.",
|
|
513
672
|
"ui.intake.what": "Was bringen Sie mit?",
|
|
514
673
|
"ui.intake.files": "Dateien oder einen Ordner von diesem Computer",
|
|
515
674
|
"ui.intake.text": "Was Sie wissen – Namen, Daten, Orte, Erinnerungen der Familie",
|
package/assets/method/narrate.md
CHANGED
|
@@ -10,4 +10,5 @@ A story is written from the facts, for the family.
|
|
|
10
10
|
- Write it to a file in notes/, then `strom story set P… --text @notes/story-P….md
|
|
11
11
|
--fact E… --fact E… --note "what is inferred"`: every fact it leans on goes
|
|
12
12
|
in --fact. A couple's story goes on the family (F…).
|
|
13
|
-
- It stays a draft;
|
|
13
|
+
- It stays a draft; when the user says it is right: `strom story approve P…`
|
|
14
|
+
(the Strom app asks them too).
|
|
@@ -56,7 +56,9 @@ without --dry-run. `#name` labels what a line creates, `@name` uses it later.
|
|
|
56
56
|
- What a finding means for other tasks: `strom task edit T… --note "…"`.
|
|
57
57
|
- Records about one person disagree (a name, a date, an age): record both
|
|
58
58
|
claims and your reasoning — `strom conflict add "<question>" --about P…
|
|
59
|
-
--claim "S…:<what it says>" --claim "S…:<what the other says>"
|
|
59
|
+
--fact BIRT --claim "S…:<what it says>" --claim "S…:<what the other says>"`
|
|
60
|
+
(`--fact`: the fact's tag — BIRT, DEAT, NAME, SEX… — the Strom app shows the
|
|
61
|
+
conflict there). Records
|
|
60
62
|
that give different parents are first two people (see core); they are one
|
|
61
63
|
person with a conflict only once something else proves it. What would decide
|
|
62
64
|
it, if not at hand, is a task about it: `strom task add … --about X…` (or H…).
|
package/dist/agents/files.js
CHANGED
|
@@ -87,7 +87,14 @@ they ask.
|
|
|
87
87
|
about her", after a new model): \`strom review <whom>\` — strom proposes
|
|
88
88
|
the work as tasks (what the tree already says of them elsewhere, entries to
|
|
89
89
|
read whole, facts to check); tell them how many and what a session costs,
|
|
90
|
-
and they choose: here with you, or the agent alone.
|
|
90
|
+
and they choose: here with you, or the agent alone. Several people:
|
|
91
|
+
\`strom review P… P…\`; those no record of their own proves ("who has no
|
|
92
|
+
source?"): \`strom person list --unproven\`, then \`strom review --unproven\`
|
|
93
|
+
(a batch at a time).
|
|
94
|
+
- **Their edits in the Strom app** ("I fixed grandma's birthday in the
|
|
95
|
+
app", a .ged or .json they exported): \`strom sync <file>\` shows what it
|
|
96
|
+
would take — tell them, write it on their yes (\`--apply\`); a sync is
|
|
97
|
+
undone with \`strom sync undo I…\`. Straight from the app: \`strom sync --app\`.
|
|
91
98
|
- **What waits for them** (\`strom\` shows it): tell them plainly what to do
|
|
92
99
|
and where, one thing at a time.
|
|
93
100
|
- **Results and the Strom app**: \`output/tree-strom.ged\` is the family tree
|
package/dist/cli/human.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// they are shown.
|
|
5
5
|
import { MONTHS } from "../core/gdate.js";
|
|
6
6
|
import { ui } from "./ui.js";
|
|
7
|
+
import { displayName } from "../core/people.js";
|
|
7
8
|
/**
|
|
8
9
|
* English reads "31 Aug 1830"; the others their own numeric form ("31. 8. 1830", "31.8.1830"). A month and
|
|
9
10
|
* year alone are named ("srpen 1830") — after a word ("před 3/1853") in numbers, which no grammatical case bends.
|
|
@@ -114,3 +115,20 @@ export function humanPlace(place, house, lang) {
|
|
|
114
115
|
return place ?? "";
|
|
115
116
|
return ui(lang, "ui.card.house", { place: place ?? "", house }).replace(/^[,\s]+/, "");
|
|
116
117
|
}
|
|
118
|
+
/** What the agent wrote into a task, for the user: the records it names by ID by their names ("S0001" → its title). */
|
|
119
|
+
export function humanTask(tree, text, lang) {
|
|
120
|
+
const name = (id) => {
|
|
121
|
+
const r = tree.get(id);
|
|
122
|
+
if (!r)
|
|
123
|
+
return id;
|
|
124
|
+
if (r.type === "session")
|
|
125
|
+
return ui(lang, "ui.plan.session", { day: humanDay(r.started, lang) });
|
|
126
|
+
if (r.type === "person")
|
|
127
|
+
return `${displayName(r)} [${r.id}]`;
|
|
128
|
+
if (r.type === "family")
|
|
129
|
+
return r.partners.map((x) => tree.get(x)).filter((x) => !!x).map(displayName).join(" & ") || id;
|
|
130
|
+
return r.title;
|
|
131
|
+
};
|
|
132
|
+
// A list of IDs as a list of names, each once (two sessions of one day read as one).
|
|
133
|
+
return text.replace(/\b[PFSBN]\d{4,}\b(?:, [PFSBN]\d{4,}\b)*/g, (ids) => [...new Set(ids.split(", ").map(name))].join(", "));
|
|
134
|
+
}
|
package/dist/cli/main.js
CHANGED
|
@@ -14,6 +14,7 @@ import { isAgent } from "../core/which.js";
|
|
|
14
14
|
import { noticeStromApp } from "../core/stromapp.js";
|
|
15
15
|
import { isNewer } from "../core/update.js";
|
|
16
16
|
import { refreshGlobal } from "../agents/global.js";
|
|
17
|
+
import { linkFiles, linkHandlerState, registerLinks } from "../core/links.js";
|
|
17
18
|
import { clockLine } from "../core/clock.js";
|
|
18
19
|
import { currentSession } from "../core/session.js";
|
|
19
20
|
import { checkArgs, GroupOnly, parseOptions, resolveCommand, splitPassthrough } from "./execute.js";
|
|
@@ -139,6 +140,14 @@ export async function main(argv, io, env, cwd) {
|
|
|
139
140
|
const last = ctx.settings.config.lastVersion;
|
|
140
141
|
if (ctx.settings.home() && (!last || isNewer(VERSION, last))) {
|
|
141
142
|
refreshGlobal(env);
|
|
143
|
+
// …and the links from the Strom app lead to this strom again (where strom made them)
|
|
144
|
+
try {
|
|
145
|
+
if (linkFiles(env).length && linkHandlerState(env) !== "ours")
|
|
146
|
+
registerLinks(env);
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// strom doctor says so
|
|
150
|
+
}
|
|
142
151
|
ctx.settings.config.lastVersion = VERSION;
|
|
143
152
|
ctx.settings.save();
|
|
144
153
|
}
|