strom-research 1.25.0-beta.1 → 1.25.0-beta.3

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.
Files changed (94) hide show
  1. package/CHANGELOG.cs.md +23 -1
  2. package/CHANGELOG.de.md +27 -1
  3. package/CHANGELOG.md +26 -1
  4. package/assets/archives.json +37 -1
  5. package/assets/lang/cs.json +152 -0
  6. package/assets/lang/de.json +152 -0
  7. package/assets/method/core.md +4 -0
  8. package/assets/terms/streets.json +3 -2
  9. package/dist/agents/global.js +4 -3
  10. package/dist/agents/launch.js +4 -2
  11. package/dist/brief/brief.js +13 -3
  12. package/dist/brief/history.js +69 -39
  13. package/dist/brief/places.js +125 -0
  14. package/dist/cli/backups.js +13 -4
  15. package/dist/cli/context.js +10 -1
  16. package/dist/cli/help.js +4 -3
  17. package/dist/cli/main.js +13 -4
  18. package/dist/cli/menu-links.js +111 -0
  19. package/dist/cli/menu-research.js +5 -4
  20. package/dist/cli/menu-settings.js +100 -10
  21. package/dist/cli/menu-waiting.js +59 -1
  22. package/dist/cli/menu.js +11 -1
  23. package/dist/cli/ui.js +145 -0
  24. package/dist/commands/browse.js +13 -4
  25. package/dist/commands/checks.js +94 -10
  26. package/dist/commands/connectors.js +2 -1
  27. package/dist/commands/fixchecks.js +25 -2
  28. package/dist/commands/fixes.js +100 -26
  29. package/dist/commands/guide.js +11 -3
  30. package/dist/commands/history.js +134 -9
  31. package/dist/commands/index.js +1 -0
  32. package/dist/commands/links.js +29 -2
  33. package/dist/commands/output.js +4 -2
  34. package/dist/commands/placeid.js +411 -0
  35. package/dist/commands/research.js +5 -3
  36. package/dist/commands/session.js +74 -9
  37. package/dist/commands/setup.js +216 -14
  38. package/dist/commands/sources.js +23 -3
  39. package/dist/commands/start.js +9 -6
  40. package/dist/commands/tasks.js +62 -10
  41. package/dist/commands/trees.js +40 -7
  42. package/dist/core/backup.js +42 -6
  43. package/dist/core/busy.js +24 -0
  44. package/dist/core/changelog.js +17 -1
  45. package/dist/core/claudedir.js +38 -0
  46. package/dist/core/config.js +46 -1
  47. package/dist/core/connector.js +2 -1
  48. package/dist/core/eventkinds.js +97 -0
  49. package/dist/core/excerpt.js +21 -6
  50. package/dist/core/gate.js +3 -0
  51. package/dist/core/historyalign.js +285 -0
  52. package/dist/core/knownterms.js +14 -1
  53. package/dist/core/links.js +62 -5
  54. package/dist/core/live.js +669 -197
  55. package/dist/core/liveged-worker.js +22 -0
  56. package/dist/core/liveged.js +163 -0
  57. package/dist/core/lock.js +1 -1
  58. package/dist/core/model.js +4 -0
  59. package/dist/core/net.js +80 -5
  60. package/dist/core/offline.js +102 -0
  61. package/dist/core/pastevents.js +191 -20
  62. package/dist/core/phone-finds.js +3 -3
  63. package/dist/core/phone-watch.js +6 -0
  64. package/dist/core/phone.js +2 -2
  65. package/dist/core/phrases.js +7 -0
  66. package/dist/core/placeadopt.js +22 -0
  67. package/dist/core/placehistory.js +25 -7
  68. package/dist/core/placeid.js +935 -0
  69. package/dist/core/places.js +2 -4
  70. package/dist/core/placesview.js +140 -0
  71. package/dist/core/queue.js +29 -4
  72. package/dist/core/schema.js +18 -1
  73. package/dist/core/self.js +102 -18
  74. package/dist/core/semver.js +32 -0
  75. package/dist/core/shortcut.js +3 -3
  76. package/dist/core/streetfix.js +54 -12
  77. package/dist/core/streets.js +107 -4
  78. package/dist/core/stromapp.js +19 -0
  79. package/dist/core/sync.js +18 -4
  80. package/dist/core/terms.js +19 -5
  81. package/dist/core/timetravel.js +210 -0
  82. package/dist/core/transcripts.js +6 -6
  83. package/dist/core/tree.js +24 -1
  84. package/dist/core/uninstall.js +57 -12
  85. package/dist/core/update.js +502 -65
  86. package/dist/core/waiting.js +39 -3
  87. package/dist/core/webgate.js +7 -3
  88. package/dist/core/widget.js +29 -8
  89. package/dist/core/workers.js +24 -4
  90. package/dist/gedcom/export.js +73 -0
  91. package/dist/gedcom/lines.js +1 -1
  92. package/dist/gedcom/validate.js +10 -2
  93. package/dist/runners/runner.js +5 -2
  94. package/package.json +2 -1
package/CHANGELOG.cs.md CHANGED
@@ -7,12 +7,34 @@ Změny každé verze ve zkratce. Úplné poznámky a instalační řádky jsou n
7
7
 
8
8
  ## 1.25.0
9
9
 
10
- *Připravuje se: bety do 1.25.0-beta.1. Oddíl bude úplný s vydáním.*
10
+ *Připravuje se: bety do 1.25.0-beta.3. Oddíl bude úplný s vydáním.*
11
11
 
12
12
  - **Data pro widget Strom i na Windows.** Výzkum teď zapisuje to, co z něj ukazuje widget Strom (na čem se pracuje,
13
13
  nálezy za posledních 24 hodin, co čeká), i na Windows, do `%USERPROFILE%\.config\strom\widget`, se značkou verze
14
14
  strom, která je zapsala. Widget, který zrovna čte svůj soubor, most nikdy nezdrží. `strom uninstall` odebere i soubory
15
15
  widgetu, také na Macu; výzkum a nastavení zůstávají.
16
+ - **Widget otevře osobu.** Řádek nebo nález widgetu Strom o jedné osobě otevře v aplikaci Strom právě tu osobu (její
17
+ stránku, strom kolem ní), to, co čeká, otevře oddíl Čeká výzkumu (aplikace, která je ještě otevřít neumí,
18
+ otevře strom jako dosud).
19
+ - **Čísla domů za jménem obce.** Místa zapsaná jako jméno se samotným číslem (`Lhota 16`) teď jde opravit také
20
+ (`strom fixes run street-places`): místem bude obec a číslo jejím domem – jen když člověk za každou obec zvlášť
21
+ potvrdí, že její čísla jsou domy, a předtím vidí, kterých údajů se to týká. Části města s číslem (`Praha 5`) se
22
+ nikdy nenabízejí. Odpověď se pamatuje ve výzkumu a `strom fixes undo street-places` vše vrátí.
23
+ - **Návrat v čase.** `strom history back <změna>` vrátí výzkum do stavu po dřívější změně: nejdřív ukáže, co se vrátí
24
+ a co se vyřadí, a pak jen na „ano“ člověka v terminálu. Nic se nemaže: záznamy přidané od té doby se vyřadí a i sám
25
+ návrat jde stejně vrátit. Odkaz `strom-research://back` ho otevře k jedné změně;
26
+ přehled mostu návrat odliší.
27
+ - **Ztotožnění míst.** Výzkum ztotožňuje místa svých záznamů (`strom place identify`, `propose`, `unlocated`): místo
28
+ jisté ze záznamů dostane souřadnice, jména a farnost v čase; kde jistota není, zeptá se člověka s nejvýš třemi
29
+ kandidáty, nebo řekne, co by rozhodlo. Otázky čekají v oddílu Čeká, most je nabízí aplikaci Strom a `strom place
30
+ undo` vezme poslední odpověď zpět.
31
+ - **Druhy dějin.** `history.kinds` určuje, jaké druhy událostí dějiny míst hledají (války, epidemie…). `strom history
32
+ align` nejdřív řekne, co by skryl, znovu ukázal a hledal, a provede to jen na „ano“ člověka; nic nalezeného se nemaže.
33
+ - **Vedlejší větve nakonec.** Ve výzkumu s více liniemi čeká práce, která žádné linii nepomáhá, až linie nebudou mít
34
+ co dělat (`queue.offLine`: nakonec, podle priority, nebo nikdy).
35
+ - **Aktualizace bez přerušení práce.** `strom update` instaluje každou verzi do vlastní složky, takže rozběhnutá práce
36
+ nebo rozhovor pokračuje se svou verzí; starší verze odstraní další aktualizace nebo `strom tidy` a `strom doctor`
37
+ je vypíše. Most aplikaci Strom odpovídá i během vlastní obnovy a během sestavování souboru stromu.
16
38
 
17
39
  ## 1.24.0
18
40
 
package/CHANGELOG.de.md CHANGED
@@ -7,13 +7,39 @@ Die Änderungen jeder Version in Kürze. Die vollständigen Hinweise und die Ins
7
7
 
8
8
  ## 1.25.0
9
9
 
10
- *In Vorbereitung: die Betas bis 1.25.0-beta.1. Der Abschnitt ist mit dem Release vollständig.*
10
+ *In Vorbereitung: die Betas bis 1.25.0-beta.3. Der Abschnitt ist mit dem Release vollständig.*
11
11
 
12
12
  - **Daten für das Strom-Widget auch unter Windows.** Eine Forschung schreibt jetzt, was das Strom-Widget von ihr zeigt
13
13
  (woran gearbeitet wird, die Funde der letzten 24 Stunden, was wartet), auch unter Windows, nach
14
14
  `%USERPROFILE%\.config\strom\widget`, mit einer Marke des strom, der es geschrieben hat. Ein Widget, das gerade seine
15
15
  Datei liest, hält die Brücke nie auf. `strom uninstall` entfernt auch die Dateien des Widgets, auch auf dem Mac; die
16
16
  Forschung und die Einstellungen bleiben.
17
+ - **Das Widget öffnet die Person.** Eine Zeile oder ein Fund des Strom-Widgets zu einer Person öffnet in der Strom-App
18
+ genau diese Person (ihre Seite, den Stammbaum um sie), was wartet, den Abschnitt „Wartet“ der Forschung (eine App,
19
+ die sie noch nicht öffnen kann, öffnet den Stammbaum wie bisher).
20
+ - **Eine Nummer allein nach dem Namen einer Gemeinde.** Orte, geschrieben als Name mit einer Nummer allein (`Lhota 16`),
21
+ lassen sich jetzt auch richtigstellen (`strom fixes run street-places`): der Ort wird die Gemeinde, die Nummer ihr
22
+ Haus – erst wenn eine Person für jede Gemeinde einzeln sagt, dass ihre Nummern Häuser sind, nachdem die betroffenen
23
+ Angaben gezeigt wurden. Teile einer Stadt mit Nummer (`Praha 5`) werden nie angeboten. Die Antwort bleibt in der
24
+ Forschung, und `strom fixes undo street-places` stellt alles wieder her.
25
+ - **Zurück in der Zeit.** `strom history back <Änderung>` bringt die Forschung auf ihren Stand nach einer früheren
26
+ Änderung zurück: zuerst, was zurückkommt und was beiseitegelegt wird, dann nur auf das Ja einer Person im Terminal.
27
+ Nichts wird gelöscht: seither hinzugefügte Einträge werden beiseitegelegt, und die Rückkehr selbst lässt sich ebenso
28
+ zurücknehmen. Der Link `strom-research://back` öffnet sie zu einer Änderung; das
29
+ Protokoll der Brücke weist eine Rückkehr eigens aus.
30
+ - **Orte bestimmen.** Die Forschung bestimmt die Orte ihrer Einträge (`strom place identify`, `propose`,
31
+ `unlocated`): ein aus den Einträgen sicherer Ort erhält Koordinaten, Namen und Pfarrei im Lauf der Zeit; wo es nicht
32
+ sicher ist, fragt sie eine Person mit höchstens drei Kandidaten oder sagt, was entscheiden würde. Die Fragen warten
33
+ unter „Wartet“, die Brücke bietet sie der Strom-App an, und `strom place undo` nimmt die letzte Antwort zurück.
34
+ - **Arten der Geschichte.** `history.kinds` legt fest, welche Arten von Ereignissen die Geschichte der Orte sucht
35
+ (Kriege, Epidemien …). `strom history align` sagt zuerst, was es verbergen, wieder zeigen und suchen würde, und tut
36
+ es nur auf das Ja einer Person; nichts Gefundenes wird gelöscht.
37
+ - **Nebenzweige zuletzt.** In einer Forschung mit mehreren Linien wartet Arbeit, die keiner Linie hilft, bis die
38
+ Linien nichts mehr zu tun haben (`queue.offLine`: zuletzt, nach Priorität oder nie).
39
+ - **Aktualisieren, ohne die Arbeit anzuhalten.** `strom update` installiert jede Version in einen eigenen Ordner, so
40
+ geht eine laufende Arbeit oder ein Gespräch mit ihrer Version weiter; ältere Versionen gehen beim nächsten Update
41
+ oder mit `strom tidy`, und `strom doctor` nennt sie. Die Brücke antwortet der Strom-App auch, während sie sich
42
+ erneuert und während sie die Datei des Stammbaums erstellt.
17
43
 
18
44
  ## 1.24.0
19
45
 
package/CHANGELOG.md CHANGED
@@ -7,12 +7,37 @@ The changes of each version in short. The full notes and the install lines are o
7
7
 
8
8
  ## 1.25.0
9
9
 
10
- *In preparation: the betas up to 1.25.0-beta.1. The section is complete with the release.*
10
+ *In preparation: the betas up to 1.25.0-beta.3. The section is complete with the release.*
11
11
 
12
12
  - **Data for the Strom widget on Windows too.** A research now writes what the Strom widget shows of it (what it works
13
13
  on, the finds of the last 24 hours, what waits) also on Windows, into `%USERPROFILE%\.config\strom\widget`, with a
14
14
  mark of the strom that wrote it. A widget reading its file never holds up the bridge. `strom uninstall` takes the
15
15
  widget's files too, on a Mac as well; the research and the settings stay.
16
+ - **The widget opens the person.** A line or a find of the Strom widget about one person opens that person in the
17
+ Strom app (its page, the tree around it), what waits opens the research's "Waiting" (an app that cannot open them
18
+ yet opens the tree as before).
19
+ - **House numbers after the name of a village.** Places written as the name with a number alone (`Lhota 16`) can
20
+ now be set right too (`strom fixes run street-places`): the place becomes the municipality, the number its house —
21
+ only once the person says, for each municipality on its own, that its numbers are houses, with the facts it changes
22
+ shown first. Parts of a town with a number (`Praha 5`) are never offered. The answer is kept with the research and
23
+ `strom fixes undo street-places` puts everything back.
24
+ - **Back in time.** `strom history back <change>` returns the research to its state after an earlier change: first
25
+ what would come back and what would be put aside, then only on the person's yes in the terminal. Nothing is deleted:
26
+ records added since are put aside, and the return itself can be taken back the same way. The link
27
+ `strom-research://back` opens it for one change; the bridge's log says a return apart.
28
+ - **Identifying places.** The research identifies the places of its records (`strom place identify`, `propose`,
29
+ `unlocated`): a place sure from its records gets its coordinates, names and parish over time; where it is not sure,
30
+ it asks the person with up to three candidates, or says what would decide it. The questions wait in "What waits",
31
+ the bridge offers them to the Strom app, and `strom place undo` takes back the last answer.
32
+ - **Kinds of history.** `history.kinds` sets which kinds of events the history of the places looks for (wars,
33
+ epidemics, …). `strom history align` says first what it would hide, show again and look for, and does it only on
34
+ the person's yes; nothing found is deleted.
35
+ - **Side branches last.** In a research of several lines, work that helps no line waits until the lines have nothing
36
+ to do (`queue.offLine`: last, by priority, or never).
37
+ - **Updates without stopping the work.** `strom update` installs each version into a folder of its own, so a run or a
38
+ conversation under way goes on with its version; older versions go at the next update or with `strom tidy`, and
39
+ `strom doctor` tells of them. The bridge keeps answering the Strom app while it renews itself and while it makes the
40
+ tree's file.
16
41
 
17
42
  ## 1.24.0
18
43
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "about": "Known terms of archives, shipped with strom: a host (with its subdomains) and the level its published terms give automated access — allowed < restricted (unknown: the terms not found, as restricted) < manual < forbidden. A level here is a confirmed one: a connector's allowed needs no person's word, a connector taken over no confirmation; the strictest of all that is known still holds (a connector, the tree's archive, robots.txt, a refusal stricter than this keeps it stricter). browserOnly: only a person's browser goes there. pace: the site's Crawl-delay, a floor (only ever slower). disallow: paths no automated request takes. scope: what the level covers. quoteFrom robots: the quote is the site's robots.txt (its address in terms), not its terms of use. Only public terms, quoted word for word from the address given, on the day checked; a release adds an archive.",
2
+ "about": "Known terms of archives, shipped with strom: a host (with its subdomains) and the level its published terms give automated access — allowed < restricted (unknown: the terms not found, as restricted) < manual < forbidden. A level here is a confirmed one: a connector's allowed needs no person's word, a connector taken over no confirmation; the strictest of all that is known still holds (a connector, the tree's archive, robots.txt, a refusal stricter than this keeps it stricter). browserOnly: only a person's browser goes there. pace: the site's Crawl-delay, a floor (only ever slower). disallow: paths no automated request takes. scope: what the level covers. quoteFrom robots: the quote is the site's robots.txt (its address in terms), not its terms of use. automatedUse: the terms quoted expressly allow automated use (open data, any use, an interface for programs) — a Disallow of the site's robots.txt alone then yields, carefully (one request after another, at least its Crawl-delay, strom's User-Agent, its limits as ever); never a robots.txt that names AI agents, never the paths of disallow here. Only public terms, quoted word for word from the address given, on the day checked; a release adds an archive.",
3
3
  "archives": [
4
4
  {
5
5
  "host": "mza.cz",
@@ -285,6 +285,42 @@
285
285
  "robots": "Disallow: /ark:/61903/1: · Disallow: /ark:/61903/2: · Disallow: /Search/ · Disallow: /tree/person …",
286
286
  "scope": "no automated request at all: links and a task for the person",
287
287
  "checked": "2026-10-11"
288
+ },
289
+ {
290
+ "host": "ags.cuzk.gov.cz",
291
+ "name": "ČÚZK – mapové služby (RÚIAN; Archiv ÚAZK)",
292
+ "level": "allowed",
293
+ "terms": "https://cuzk.gov.cz/Predpisy/Podminky-poskytovani-prostor-dat-a-sitovych-sluzeb/Podminky-poskytovani-sitovych-sluzeb-CUZK.aspx",
294
+ "quote": "Služby jsou poskytovány jako otevřené a lze je užívat bez omezení komerčně i nekomerčně, pokud rozsah užití není na újmu poskytovatele",
295
+ "license": "https://creativecommons.org/licenses/by/4.0/legalcode.cs",
296
+ "automatedUse": true,
297
+ "robots": "none (404)",
298
+ "disallow": ["/archiv/", "/arcgis4/rest/services/Archiv/"],
299
+ "scope": "the RÚIAN map service only (/arcgis/rest/services/RUIAN/MapServer: a house's address point, building, cadastral area, municipality — one query at a time, credited \"ČÚZK – on-line\"); never the Archiv application or its map images of the archive (old cadastral maps are no open data: \"s výjimkou leteckých měřických snímků a archiválií\", copies sold) — a person looks at them in the browser",
300
+ "checked": "2026-11-01"
301
+ },
302
+ {
303
+ "host": "services.cuzk.gov.cz",
304
+ "name": "ČÚZK – síťové služby WMS/WFS (INSPIRE)",
305
+ "level": "allowed",
306
+ "terms": "https://cuzk.gov.cz/Predpisy/Podminky-poskytovani-prostor-dat-a-sitovych-sluzeb/Podminky-poskytovani-sitovych-sluzeb-CUZK.aspx",
307
+ "quote": "Služby jsou poskytovány jako otevřené a lze je užívat bez omezení komerčně i nekomerčně, pokud rozsah užití není na újmu poskytovatele",
308
+ "license": "https://creativecommons.org/licenses/by/4.0/legalcode.cs",
309
+ "robots": "User-agent: * · Disallow: /*.asp · Disallow: /cgi-bin/ · Disallow: /css/ · Disallow: /cuzk/ · Disallow: /html/ · Disallow: /images/ · Disallow: /ini/ · Disallow: /scripts/ · Disallow: /test/",
310
+ "automatedUse": true,
311
+ "scope": "open by its terms, which expressly allow automated use: its robots.txt (Disallow: /*.asp — every WMS/WFS address, e.g. /wfs/inspire-ad-wfs.asp) yields, carefully — one query at a time for the house or place the research needs, at least its Crawl-delay, never a whole municipality or layer downloaded; the RÚIAN map service on ags.cuzk.gov.cz serves the same",
312
+ "checked": "2026-11-01"
313
+ },
314
+ {
315
+ "host": "vdp.cuzk.gov.cz",
316
+ "name": "RÚIAN – Veřejný dálkový přístup (VDP)",
317
+ "level": "allowed",
318
+ "terms": "https://cuzk.gov.cz/ruian/Poskytovani-udaju-ISUI-RUIAN-VDP/Vymenny-format-RUIAN-(VFR)/FAQ-casto-kladene-otazky-k-VFR/4-Je-mozne-ziskat-data-RUIAN-i-pro-komercni-ucely.aspx",
319
+ "quote": "ČÚZK je poskytuje od 1. 1. 2020 bezúplatně na základě licence Creative Commons CC-BY 4.0.",
320
+ "license": "https://creativecommons.org/licenses/by/4.0/legalcode.cs",
321
+ "robots": "not read (the connection reset, 2026-11-01): strom reads it before the first request",
322
+ "scope": "RÚIAN open data (credited \"ČÚZK, [rok]\", with its metadata); its exchange files cover a whole municipality — for one house the RÚIAN map service on ags.cuzk.gov.cz is lighter",
323
+ "checked": "2026-11-01"
288
324
  }
289
325
  ]
290
326
  }
@@ -485,6 +485,24 @@
485
485
  "ui.wait.kind.tune": "čtení snímků",
486
486
  "ui.wait.kind.other": "jiné",
487
487
  "ui.wait.kind.conflict": "rozpor",
488
+ "ui.wait.kind.place": "místo",
489
+ "ui.waiting.place.propose": "Které místo je {place}?",
490
+ "ui.waiting.place.conflict": "{place}: poloha na mapě proti záznamům",
491
+ "ui.waiting.place.form": "{place}: jak údaje zapisují místo",
492
+ "ui.waiting.place.on": "osob: {n}{years}",
493
+ "ui.wait.place.pick": "Které to je?",
494
+ "ui.wait.place.current": "Na mapě teď: {lat}, {lon} ({by})",
495
+ "ui.wait.place.by.research": "určil výzkum",
496
+ "ui.wait.place.by.person": "zadáno ručně",
497
+ "ui.wait.place.by.adopted": "převzato z jiného výzkumu",
498
+ "ui.wait.place.change": "Údajů: {facts} – „{from}“ → „{to}“",
499
+ "ui.wait.place.keep": "Ponechat polohu na mapě",
500
+ "ui.wait.place.unknown": "Nelze říct",
501
+ "ui.wait.place.none": "Žádné z nich",
502
+ "ui.wait.place.yes": "Zapsat údaje takto",
503
+ "ui.wait.place.no": "Nechat údaje, jak jsou",
504
+ "ui.wait.place.done": "Odpovězeno: {place}.",
505
+ "ui.wait.place.gone": "Tahle otázka už nečeká – mezitím je zodpovězená nebo změněná.",
488
506
  "ui.wait.conflict.app": "v aplikaci Strom: {value}",
489
507
  "ui.wait.conflict.research": "ve výzkumu: {value}",
490
508
  "ui.wait.conflict.archive": "v Archivu Stromu: {value}",
@@ -770,6 +788,8 @@
770
788
  "log.appshape.unfix": "Období a věky z aplikace Strom vráceny, jak je nechaly synchronizace: {n}",
771
789
  "log.streetplace.fix": "Ulice a čísla domů přesunuty z míst údajů do jejich domů: {n}",
772
790
  "log.streetplace.unfix": "Místa a domy údajů vráceny, jak byly: {n}",
791
+ "log.tree.return": "Návrat ke stavu z {when}",
792
+ "log.streetplace.towns": "Posouzena čísla za jménem obce (domy, nebo ne): {n}",
773
793
  "afterdeath.what": "{name}: prověřit událost datovanou po smrti ({year})",
774
794
  "afterdeath.wedding.what": "{name}: prověřit sňatek datovaný po smrti ({year})",
775
795
  "afterdeath.why": "Smrt: {death}. Datováno po ní: {event}. Jedno z dat je špatně přečtené, nebo jde o záznamy dvou lidí.",
@@ -799,6 +819,10 @@
799
819
  "history.gaps.looked.none": "roky {years} v událostech regionu {region} už prohledal jiný výzkum: doložená událost v nich žádná",
800
820
  "history.gaps.looked.some": "roky {years} v událostech regionu {region} už prohledal jiný výzkum: zapsaných událostí v nich: {n}",
801
821
  "history.gaps.gone": "roky {years} už pro tento strom nejsou mezerou v událostech regionu {region}: údaje jeho osob v tom regionu se změnily",
822
+ "history.kinds.what": "Události dějin druhů {kinds} v regionu {region} pro roky prošlé bez nich: {years}",
823
+ "history.place.kinds.what": "Dějiny místa {place} a okolí, jen druhy {kinds}: místo se prošlo bez nich",
824
+ "history.kinds.why": "druhy {kinds} se v tomto výzkumu nově hledají a dějiny se tu prošly bez nich",
825
+ "history.kinds.done": "události těchto druhů nalezené, každá ze stránky, kterou strom sám přečetl – nebo nic, když žádná hodná zápisu doložená není",
802
826
  "history.extend.what": "Události dějin v regionu {region} pro roky osob stromu, které se ještě neprohledaly: {years}",
803
827
  "history.extend.why": "osoby stromu tam žily v letech, pro která se katalog nikdy neprohledával (předek nalezený dřív nebo později)",
804
828
  "history.extend.done": "zhruba jedna událost na 10–15 let z těchto roků, každá ze stránky, kterou strom sám přečetl – nebo nic, když žádná událost hodná zápisu doložená není",
@@ -911,6 +935,10 @@
911
935
  "ui.update.downloading": "Stahuji strom {version}…",
912
936
  "ui.error.update.failed": "aktualizace se nepovedla: {detail}. strom zůstává ve verzi {current}",
913
937
  "ui.error.update.failed.hint": "znovu {command} – nebo spustit instalátor znovu",
938
+ "ui.error.update.busy": "ve výzkumu běží práce: {work}",
939
+ "ui.error.update.busy.hint": "aktualizovat i tak: {command} (rozběhnutá práce dokončí na dosavadní verzi), nebo počkat na její konec (strom status)",
940
+ "ui.error.tree.migrate.busy": "ve výzkumu „{name}“ ještě pracuje starší verze stromu (běh nebo konverzace); data se převedou na tuto verzi, až ta práce skončí",
941
+ "ui.error.tree.migrate.busy.hint": "počkat na konec běhu nebo konverzace (strom status) a pak příkaz spustit znovu",
914
942
  "ui.update.done": "✓ strom je aktualizovaný: {previous} → {version}.",
915
943
  "ui.update.whatsnew": "Co je nového: {url}",
916
944
  "ui.update.restart": "strom je aktualizovaný — tahle nabídka ale ještě běží ve staré verzi. Po novém spuštění stromu (nebo zástupce „{shortcut}“) poběží nová verze.",
@@ -932,6 +960,8 @@
932
960
  "ui.app.images.uncitedOut": "{n, plural, one {# zápis, který ve výzkumu nikdo necituje, v souboru není} few {# zápisy, které ve výzkumu nikdo necituje, v souboru nejsou} other {# zápisů, které ve výzkumu nikdo necituje, v souboru není}} (všechny: nastavení excerpts.for all).",
933
961
  "ui.app.images.scope": "{n, plural, one {# zápis lidí vzdálenějších od výzkumu je} few {# zápisy lidí vzdálenějších od výzkumu jsou} other {# zápisů lidí vzdálenějších od výzkumu je}} bez obrázku (nastavení excerpts.for: {for}).",
934
962
  "ui.doc.installed": "strom {version} na vlastním Node {node} (oficiálním, z nodejs.org)",
963
+ "ui.doc.versions": "starší verze",
964
+ "ui.doc.versions.left": "ve složce programu zůstaly starší verze stromu: {names}",
935
965
  "ui.update.source": "Vyšla nová verze: {version}. Tento strom běží ze zdrojáků: git pull",
936
966
  "ui.update.node.available": "Node {from} → {to}: bezpečnostní opravy jeho řady – nainstaluje je strom update.",
937
967
  "ui.update.node.sure": "Aktualizovat Node stromu z {from} na {to} (bezpečnostní opravy)?",
@@ -944,10 +974,26 @@
944
974
  "ui.update.channel.stable.now": "Od teď strom bere vydané verze.",
945
975
  "ui.update.older": "{version} je starší verze než {current}; výzkumy zůstanou, jak jsou.",
946
976
  "ui.update.stays": "Výzkumy zůstanou, jak jsou.",
977
+ "ui.update.busy.tree": "Ve výzkumu „{name}“ právě běží práce: {work}.",
978
+ "ui.update.busy.session": "sezení {id}",
979
+ "ui.update.busy.session.task": "sezení {id} (úkol {task})",
980
+ "ui.update.busy.run": "běh úloh",
981
+ "ui.update.busy.runs": "běhy úloh ({n})",
982
+ "ui.update.busy.chat": "konverzace s agentem",
983
+ "ui.update.busy.chats": "konverzace s agenty ({n})",
984
+ "ui.update.busy.ready": "Nová verze {version} je stažená a ověřená.",
985
+ "ui.update.busy.now": "Aktualizovat hned – rozběhnutá práce (i celý běh úloh) dokončí na dosavadní verzi, co se spustí potom, poběží na nové",
986
+ "ui.update.busy.wait": "Počkat na konec sezení a pak aktualizovat",
987
+ "ui.update.busy.back": "Zpět – nic se nemění",
988
+ "ui.update.busy.waiting": "Čeká se na konec sezení ({sessions})… Ctrl-C: bez aktualizace.",
989
+ "ui.update.busy.waited": "Sezení skončilo, aktualizuje se.",
990
+ "ui.update.busy.went": "Rozběhnutá práce dokončí na verzi {previous}; co se spustí potom, poběží na {version}.",
947
991
  "ui.doc.beta": "beta verze",
948
992
  "ui.doc.backup": "záloha",
949
993
  "ui.backup.made": "Záloha před přechodem z {from} na {to}: {path} ({size}).",
950
994
  "ui.backup.media.left.line": "Sdílené obrázky ({size}) v ní nejsou: na disku není místo na jejich kopii. Každý zůstává ve shared/media a strom žádný nemaže.",
995
+ "ui.backup.skipped.line": "Rodokmen {tree} v ní není: zapisovalo se do něj déle, než záloha čeká ({by}). Zůstává na svém místě beze změny.",
996
+ "ui.backup.readme.skipped": "Chybí: {trees} – zapisovalo se do nich déle, než záloha čeká; každý zůstává na svém místě beze změny.",
951
997
  "ui.backup.what.title": "Co zálohovat",
952
998
  "ui.backup.what.home": "Celá složka {path} ({size}): všechny rodokmeny i s historií.",
953
999
  "ui.backup.what.shared": "V ní i shared ({size}): skeny, originály z aplikace Strom a z telefonu, konektory.",
@@ -993,6 +1039,9 @@
993
1039
  "ui.browse.card": "Osoba: její život, rodina a záznamy",
994
1040
  "ui.browse.pedigree": "Vývod předků jedné osoby",
995
1041
  "ui.browse.files": "Soubory s výsledky (GEDCOM)",
1042
+ "ui.browse.time": "Návrat v čase (stav po dřívější změně)",
1043
+ "ui.back.pick": "Ke stavu po které změně?",
1044
+ "ui.back.none": "Zatím není změna, ke které se vrátit.",
996
1045
  "ui.browse.back": "Zpět",
997
1046
  "ui.browse.whose": "Čí předky? (jméno nebo ID jako P0012; 0 vrátí zpět)",
998
1047
  "ui.date.about": "asi {date}",
@@ -1152,6 +1201,7 @@
1152
1201
  "ui.help.cmd.recent": "Co nového přibylo",
1153
1202
  "ui.help.cmd.plan": "Co agent udělá dál",
1154
1203
  "ui.help.cmd.history": "Co se změnilo, řádek po řádku",
1204
+ "ui.help.cmd.history.back": "Návrat ke stavu po dřívější změně (nejdřív náhled, nic se nemaže)",
1155
1205
  "ui.help.cmd.person.card": "Život jedné osoby s jejími záznamy",
1156
1206
  "ui.help.cmd.person.list": "Osoby v rodokmenu",
1157
1207
  "ui.help.cmd.pedigree": "Předkové osoby jako strom",
@@ -1212,6 +1262,7 @@
1212
1262
  "ui.tidy.kind.pointers": "Zbytky skončených pracovních sezení",
1213
1263
  "ui.tidy.kind.metrics": "Měření čtení snímků a stahování (starší nebo nad stanovenou velikost)",
1214
1264
  "ui.tidy.kind.gate": "Záznam odpovědí podmínky samostatné práce agenta (starší nebo nad stanovenou velikost)",
1265
+ "ui.tidy.kind.program": "Starší verze stromu ve složce programu",
1215
1266
  "ui.tidy.row": " {what}: počet {n}, celkem {size} → {does}",
1216
1267
  "ui.tidy.does.remove": "smaže se",
1217
1268
  "ui.tidy.does.shrink": "zmenší se",
@@ -1253,6 +1304,24 @@
1253
1304
  "ui.recent.more": "… a další: {n}",
1254
1305
  "ui.recent.morechanges": "(a další změny: {n})",
1255
1306
  "ui.history.none": "historie je zatím prázdná",
1307
+ "ui.history.back.hint": "Návrat ke stavu po některé z těchto změn: strom history back <změna>",
1308
+ "ui.back.title": "Návrat ke stavu po změně z {when} ({change}):",
1309
+ "ui.back.g.people": "Osoby",
1310
+ "ui.back.g.families": "Rodiny",
1311
+ "ui.back.g.sources": "Prameny a obrázky",
1312
+ "ui.back.g.other": "Místa, hledání, rozpory, hypotézy, materiál",
1313
+ "ui.back.asthen": "{n} jako tehdy",
1314
+ "ui.back.out": "{n} vyřazeno (přidáno později)",
1315
+ "ui.back.facts": "Údaje, které se liší: {n}",
1316
+ "ui.back.quality": "Rozhodnutí o kvalitě stromu: {n}",
1317
+ "ui.back.kept": "Nic se nemaže: návrat je nová změna v historii a jde vrátit stejnou cestou. Úkoly, sezení, nastavení a obrázky zůstávají, jak jsou.",
1318
+ "ui.back.kept.archive": "Nic se nemaže: návrat je nová změna v historii a jde vrátit stejnou cestou. Nastavení a obrázky zůstávají, jak jsou.",
1319
+ "ui.back.inbox": "Stromy poslané z aplikace Strom čekají na rozhodnutí ({n}): návrat je nechá čekat; rozhodnuté po něm se zapíšou nad vrácený stav (strom sync --inbox).",
1320
+ "ui.back.nothing": "Výzkum je takový, jaký byl tehdy: není co vracet.",
1321
+ "ui.back.now": "Změna z {when} ({change}) je dnešní stav: není co vracet.",
1322
+ "ui.back.ask": "Vrátit výzkum do tohoto stavu?",
1323
+ "ui.back.person": "O návratu v čase rozhoduje jen člověk ve vlastním terminálu – {command}",
1324
+ "ui.back.done": "Výzkum je znovu ve stavu z {when}. Vrácení tohoto návratu: {undo}",
1256
1325
  "ui.history.past.hidden": "Skryto: {event} – {where}",
1257
1326
  "ui.history.past.shown": "Znovu zobrazeno: {event} – {where}",
1258
1327
  "ui.history.past.same": "Beze změny: {event} – {where}",
@@ -1814,6 +1883,8 @@
1814
1883
  "ui.plan.title": "Co agent udělá dál – {name}:",
1815
1884
  "ui.plan.now": "právě teď",
1816
1885
  "ui.plan.images": " (nejdřív potřebuje snímky)",
1886
+ "ui.plan.offline": " (mimo linie: až po práci na liniích)",
1887
+ "ui.plan.offline.never": "Mimo linie, nebere se: {n} (nastavení queue.offLine)",
1817
1888
  "ui.plan.later": "později",
1818
1889
  "ui.plan.asleep": " (odloženo do {at}: {host} teď neodpovídá)",
1819
1890
  "ui.plan.more": "… a další úkoly: {n}",
@@ -2236,6 +2307,7 @@
2236
2307
  "wait.group.app": "Aplikace Strom",
2237
2308
  "wait.group.tune": "Čtení snímků",
2238
2309
  "wait.group.conflicts": "K rozhodnutí – rozpory",
2310
+ "wait.group.places": "Místa ke ztotožnění",
2239
2311
  "log.session.start": "Agent začal: {name}",
2240
2312
  "log.session.close": "Agent skončil: {name}",
2241
2313
  "log.lesson.add": "Poznatek: {name}",
@@ -2339,6 +2411,12 @@
2339
2411
  "ui.research.resume": "Taková linie výzkumu už je, {state}: „{name}“. Spustit ji znovu?",
2340
2412
  "ui.alone.gate.bad": "Čekám počet bodů od 0 do 100 (třeba 10).",
2341
2413
  "ui.alone.addons": "Bez osobních doplňků agenta (skilly, pluginy, MCP servery): {state}",
2414
+ "ui.alone.offline": "Práce mimo linie: {state}",
2415
+ "ui.alone.offline.about": "Mimo linie: práce na vedlejší větvi, kam žádná linie výzkumu nesahá (sestra předka a její rodina), která žádné linii nepomáhá. Práce, která linii pomáhá – hypotéza linie, napojení lidí na strom, sourozenec předka jako kmotr nebo svědek –, jde s linií.",
2416
+ "ui.alone.offline.pick": "Práce mimo linie:",
2417
+ "ui.alone.offline.last": "na konci, až po liniích",
2418
+ "ui.alone.offline.normal": "normálně, jako práce linií",
2419
+ "ui.alone.offline.never": "nikdy",
2342
2420
  "ui.alone.addons.about": "Agent při samostatné práci načte jen nástroje výzkumu. Spojení s aplikací Strom a prohlížeč fungují dál. Chat s agentem doplňky načítá vždy.",
2343
2421
  "ui.alone.addons.on": "Zapnout?",
2344
2422
  "ui.alone.addons.off": "Vypnout? (agent při samostatné práci pak načte i osobní doplňky)",
@@ -2610,6 +2688,12 @@
2610
2688
  "ui.error.tree.newer.beta.hint": "Vrátit se k betě: strom update --channel beta – nebo počkat na vydání {release}",
2611
2689
  "ui.error.tree.newer.beta.backup": "Tento rodokmen zapsal strom {by}, novější než tento strom {version}. Tento strom ho nechává beze změny.",
2612
2690
  "ui.error.tree.newer.beta.backup.hint": "Vrátit se k betě: strom update --channel beta – nebo počkat na vydání {release}\nZáloha z doby před přechodem: {backup}",
2691
+ "ui.error.tree.updated": "strom byl mezitím aktualizovaný na {version} a výzkum je už v jeho formátu. Tento strom {was} ho nechává beze změny; další spuštění poběží na nové verzi.",
2692
+ "ui.error.tree.updated.hint": "Spustit strom znovu.",
2693
+ "ui.error.tree.updated.run": "strom byl během běhu aktualizovaný na {version} a výzkum je už v jeho formátu. Běh skončil; další spuštění poběží na nové verzi.",
2694
+ "ui.error.tree.updated.run.hint": "Spustit běh znovu: {again}",
2695
+ "ui.error.tree.updated.run.later": "strom byl během běhu aktualizovaný na {version} a výzkum je už v jeho formátu. Běh skončil; další spuštění poběží na nové verzi a udělá i export.",
2696
+ "ui.error.tree.updated.run.later.hint": "Spustit běh znovu: {again}",
2613
2697
  "log.input.app": "Úpravy poslané z aplikace Strom",
2614
2698
  "log.input.app.undo": "Úpravy z aplikace Strom vráceny",
2615
2699
  "ui.init.created": "Rodokmen „{name}“ založen v {path}",
@@ -2740,6 +2824,7 @@
2740
2824
  "ui.error.story.no-source.hint": "pozadí místa a doby se nejdřív zapíše jako pramen: strom source add … --kind book|newspaper|web",
2741
2825
  "ui.consent.read.app": "Povolit aplikaci Strom až {hour} čtení dokumentů za hodinu a {day} za den? Každé čtení spustí agenta výzkumu a počítá se do ceny měsíce.",
2742
2826
  "ui.consent.archive.pace": "Tempo stahování snímků z archivů, jejichž podmínky automatizaci omezují, po svolení „pomalu“: nejméně {seconds} s mezi dvěma snímky, nejvýš {n, plural, one {# požadavek} few {# požadavky} other {# požadavků}} na archiv za hodinu včetně katalogu. Nastavit?",
2827
+ "ui.consent.claude.dir": "Složka Claude Code pro výzkum (její přihlášení, tedy které předplatné práci platí): {dir}",
2743
2828
  "ui.archive.terms.known": "Podmínky: „{quote}“ ({terms})",
2744
2829
  "ui.archive.terms.connector": "Podmínky podle stahovače: {quote} ({terms})",
2745
2830
  "ui.archive.terms.none": "Podmínky archivu zatím nejsou známé (stahovač ještě nikdo nepotvrdil).",
@@ -2834,6 +2919,7 @@
2834
2919
  "ui.link.archive.none": "O tomto archivu tu není co rozhodnout. Nic se nestalo.",
2835
2920
  "ui.experiments.link": "Hledání událostí dějin se zapíná jen v terminálu, který otevře odkaz.",
2836
2921
  "ui.history.place.link": "Dějiny místa se hledají jen na slovo dané v terminálu, který otevře odkaz.",
2922
+ "ui.places.link": "Ztotožnění míst se spouští jen na slovo dané v terminálu, který otevře odkaz.",
2837
2923
  "ui.link.what.experiment.history": "hledat události dějin v místech tohoto stromu – války, epidemie, sčítání, změny státu",
2838
2924
  "ui.link.experiment.note": "Hledá se průběžně mezi sezeními rodinného výzkumu (jak často, se vybere hned potom), sezení trvá nejvýš {minutes} minut.",
2839
2925
  "ui.link.experiment.note.gate": "Hledá se průběžně mezi sezeními rodinného výzkumu (jak často, se vybere hned potom); zda sezení začne, rozhoduje brána běhů, sezení trvá nejvýš {minutes} minut.",
@@ -2863,6 +2949,44 @@
2863
2949
  "ui.consent.placeHistory": "Hledat na vyžádání dějiny místa a jeho okolí ve všech výzkumech na tomto počítači – požáry, povodně, bitvy poblíž, panství, farnost, škola? Každé vyžádané místo je jedno sezení agenta; stojí to jeho čas i čerpání předplatného.",
2864
2950
  "ui.consent.placeHistory.tree": "Hledat na vyžádání dějiny místa tohoto výzkumu a jeho okolí – požáry, povodně, bitvy poblíž, panství, farnost, škola? Každé vyžádané místo je jedno sezení agenta; stojí to jeho čas i čerpání předplatného.",
2865
2951
  "ui.consent.history.places": "Hledat samo dějiny každého místa se souřadnicemi a jeho okolí – požáry, povodně, bitvy poblíž, panství, farnost, škola? Jedno sezení agenta na místo, v tempu dějin; stojí to čas agenta i čerpání předplatného.",
2952
+ "ui.consent.history.kinds": "Hledat v dějinách i události druhů {kinds}, ve všech výzkumech na tomto počítači? Každý hledaný druh stojí čas agenta i čerpání předplatného; srovnání dějin s nastavením ho pak dohledá tam, kde se dějiny prošly bez něj.",
2953
+ "ui.consent.history.kinds.tree": "Hledat v dějinách i události druhů {kinds}, v tomto výzkumu? Každý hledaný druh stojí čas agenta i čerpání předplatného; srovnání dějin s nastavením ho pak dohledá tam, kde se dějiny prošly bez něj.",
2954
+ "ui.history.kinds.all": "všechny",
2955
+ "ui.history.kinds.none": "žádné",
2956
+ "ui.history.menu.title": "Dějiny",
2957
+ "ui.history.menu.pace": "Jak často: {state}",
2958
+ "ui.history.menu.kinds": "Druhy dějin: {kinds}",
2959
+ "ui.history.menu.align": "Srovnat dějiny s nastavením",
2960
+ "ui.history.kinds.title": "Hledané druhy událostí (číslo druh zapne nebo vypne)",
2961
+ "ui.history.kinds.item": "{kind}: {state}",
2962
+ "ui.history.kinds.about": "Které druhy událostí dějiny hledají. Zapnutý druh stojí sezení agenta; co se už našlo, zůstává, dokud se dějiny nesrovnají s nastavením.",
2963
+ "ui.history.kinds.about.tree": "Které druhy událostí hledají dějiny tohoto výzkumu (jeho vlastní volba, před nastavením počítače). Zapnutý druh stojí sezení agenta; co se už našlo, zůstává, dokud se dějiny nesrovnají s nastavením.",
2964
+ "ui.history.align.kinds": "Hledané druhy: {kinds}",
2965
+ "ui.history.align.hide.general": "Ke skrytí – události regionů: {n} ({list})",
2966
+ "ui.history.align.hide.local": "Ke skrytí – události míst a pramenů: {n} ({list})",
2967
+ "ui.history.align.show": "K znovuzobrazení (skryté dřívějším srovnáním): {n} ({list})",
2968
+ "ui.history.align.backfill": "K dohledání tam, kde se dějiny prošly bez těchto druhů: úkolů {n} – asi {sessions} sezení agenta, v tempu dějin ({pace})",
2969
+ "ui.history.align.busy": "Právě se procházejí, srovnají se potom: {list}",
2970
+ "ui.history.align.prune": "Ve sdílených katalozích výzkumů na tomto počítači, druhů, které žádný z nich nehledá: {n} ({list}) – smažou se jen s --prune-shared",
2971
+ "ui.history.align.prune.on": "Ke smazání ze sdílených katalogů výzkumů na tomto počítači, druhů, které žádný z nich nehledá: {n} ({list}) – každou vrátí strom history restore",
2972
+ "ui.history.align.nothing": "Dějiny odpovídají hledaným druhům: nic ke skrytí, znovuzobrazení ani dohledání.",
2973
+ "ui.history.align.ask": "Srovnat dějiny takto? Skryté se znovu zobrazí, jakmile se jejich druh bude zase hledat.",
2974
+ "ui.history.align.apply": "Zatím se nic nezměnilo: srovnání provede člověk v terminálu (strom history align --yes).",
2975
+ "ui.history.align.done": "Dějiny srovnány: skryto {hidden}, znovu zobrazeno {shown}, úkolů k dohledání {tasks}, smazáno ze sdílených katalogů {pruned}.",
2976
+ "ui.history.align.no": "Nic se nezměnilo.",
2977
+ "ui.history.align.undone": "Srovnání vráceno: znovu zobrazeno {shown}, znovu skryto {hidden}. Jeho úkoly zůstávají ve frontě.",
2978
+ "ui.history.kinds.link": "Přidaný druh dějin se začne hledat jen na slovo dané v terminálu, který otevře odkaz.",
2979
+ "ui.history.align.link": "Zapnuté druhy se dohledají jen na slovo dané v terminálu, který otevře odkaz.",
2980
+ "ui.link.what.history.kinds": "hledat v tomto výzkumu tyto druhy dějin: {kinds}",
2981
+ "ui.link.what.history.kinds.default": "hledat ve výzkumech na tomto počítači tyto druhy dějin: {kinds}",
2982
+ "ui.link.what.history.align": "srovnat dějiny s hledanými druhy",
2983
+ "ui.link.history.kinds.added": "Přibude: {kinds} – každé sezení dějin je bude hledat taky.",
2984
+ "ui.link.history.kinds.removed": "Ubude: {kinds} – už se nebudou hledat; co se našlo, zůstane do srovnání dějin.",
2985
+ "ui.link.history.kinds.estimate": "Dohledat je tam, kde se dějiny už prošly: úkolů {n}, asi {sessions} sezení agenta (až po srovnání).",
2986
+ "ui.link.history.kinds.all": "Pro každý výzkum na tomto počítači bez vlastního nastavení druhů.",
2987
+ "ui.link.history.kinds.same": "Tyto druhy se už hledají: není co měnit.",
2988
+ "ui.link.history.kinds.done": "Druhy dějin jsou nastavené; co se našlo, zůstává, jak je.",
2989
+ "ui.link.history.kinds.align": "Srovnat dějiny s nimi hned (nejdřív náhled)?",
2866
2990
  "ui.plan.history": "Dějiny: {what} – {when}.",
2867
2991
  "ui.plan.history.now": "v příštím sezení",
2868
2992
  "ui.plan.history.places": "příští sezení – nejdřív zmapovat místa",
@@ -2893,6 +3017,18 @@
2893
3017
  "ui.link.history.place.now": "Spustit sezení hned?",
2894
3018
  "ui.link.history.place.none": "Místo {place} v tomto výzkumu není. Nic se neudělalo.",
2895
3019
  "ui.link.history.off": "Dějiny míst jsou pro tento výzkum vypnuté, dějiny místa se proto nehledají. Nic se neudělalo.",
3020
+ "ui.link.what.places": "ztotožnit místa ve frontě – která obec toho jména to je a kde leží",
3021
+ "ui.link.what.places.one": "ztotožnit místo {place} – která obec toho jména to je a kde leží",
3022
+ "ui.link.places.queue": "Ve frontě: {n, plural, one {# místo} few {# místa} other {# míst}}, {batches, plural, one {# sezení} few {# sezení} other {# sezení}} (po oblastech, nejvýš {max} míst v jednom).",
3023
+ "ui.link.places.whole": "Celá fronta: zhruba {from}–{to} minut, sezení po sezení.",
3024
+ "ui.link.places.whole.usd": "Celá fronta podle dosavadních sezení: {from}–{to}.",
3025
+ "ui.link.places.later": "Další sezení přijdou s dalšími běhy výzkumu; jedno sezení trvá nejvýš {minutes} minut.",
3026
+ "ui.link.places.later.gate": "Další sezení přijdou s dalšími běhy výzkumu; zda běh začne, rozhoduje brána běhů; jedno sezení trvá nejvýš {minutes} minut.",
3027
+ "ui.link.places.private": "K vyhledávání jdou jen názvy míst, far a okresů – nikdy jména osob ani data jejich života.",
3028
+ "ui.link.places.empty": "Ve frontě nečeká žádné místo. Nic se neudělalo.",
3029
+ "ui.link.places.placed": "Místo {place} už je na mapě; prověření polohy se zadává v aplikaci Strom. Nic se neudělalo.",
3030
+ "ui.link.places.done": "Ztotožnění míst je ve frontě první.",
3031
+ "ui.link.places.now": "Spustit jedno sezení hned?",
2896
3032
  "ui.link.what.experiment.places": "hledat samo dějiny každého místa se souřadnicemi a jeho okolí, jedno místo po druhém",
2897
3033
  "ui.link.experiment.places.count": "Míst se souřadnicemi: {n}, z nich už prohledaných: {done}.",
2898
3034
  "ui.link.experiment.places.on.done": "Dějiny jednotlivých míst se hledají samy, v tempu dějin.",
@@ -3106,6 +3242,12 @@
3106
3242
  "ui.fixes.street-places.undone": "Vráceno, jak bylo: {n, plural, one {# údaj} few {# údaje} other {# údajů}}{left}",
3107
3243
  "ui.fixes.street-places.left": " · {n, plural, one {# se mezitím změnil, ponechán} few {# se mezitím změnily, ponechány} other {# se mezitím změnilo, ponecháno}}",
3108
3244
  "ui.fixes.street-places.nothing": "Není co vracet: místa se neopravovala, nebo už jsou zpět, jak byla.",
3245
+ "ui.fixes.street-places.bare": "Samotné číslo za jménem obce, kterou výzkum píše („Lhota 16“), může být její dům, nebo její část („Praha 5“): opraví se jen na slovo člověka za celou obec. Nikdy se nenabízí, kde číslo značí část: obec číslovaná po částech, záznam místa se jménem i číslem, ulice v něm.",
3246
+ "ui.fixes.street-places.town": " {town}: {n, plural, one {# údaj} few {# údaje} other {# údajů}} se samotným číslem za jménem ({places})",
3247
+ "ui.fixes.street-places.town.ask": "{town}: jsou čísla za jménem obce čísla domů?",
3248
+ "ui.fixes.street-places.town.yes": "Ano: čísla v obci {town} jsou domy – opravit {n, plural, one {# údaj} few {# údaje} other {# údajů}}",
3249
+ "ui.fixes.street-places.town.no": "Ne: {town} s číslem je část obce nebo samostatné místo (dotaz se už neopakuje)",
3250
+ "ui.fixes.street-places.town.kept": "Ponecháno jako samostatná místa: {towns}. Zeptat se znovu: strom fixes reopen {id}",
3109
3251
  "ui.fixes.state.pending.facts": "{count, plural, one {# údaj čeká} few {# údaje čekají} other {# údajů čeká}} na rozhodnutí",
3110
3252
  "ui.doc.fixes.pending.facts": "{name}: {count, plural, one {# údaj čeká} few {# údaje čekají} other {# údajů čeká}} na rozhodnutí",
3111
3253
  "fix.reread.what": "Porovnat dvě čtení {media}: dřívější {old} a nové {now} z ostřejší kopie",
@@ -3142,6 +3284,16 @@
3142
3284
  "ui.repair.still": "{n, plural, one {zbývá # problém} few {zbývají # problémy} other {zbývá # problémů}} → strom verify",
3143
3285
  "ui.error.seal.repair-in-terminal": "výzkum „{name}“ obsahuje práci zapečetěnou klíčem stromu z terminálu, který strom spuštěný z aplikace nevidí: nic se neopravilo",
3144
3286
  "ui.error.seal.repair-in-terminal.hint": "ve vlastním terminálu: strom repair, pak strom seal adopt – ten vidí oba klíče a vrátí jen to, co se udělalo mimo strom",
3287
+ "ui.error.back.busy": "na výzkumu se právě pracuje: návrat až po skončení práce",
3288
+ "ui.error.back.busy.hint": "strom session finish, pak {command}",
3289
+ "ui.error.back.noday": "do {day} včetně není žádná změna",
3290
+ "ui.error.back.noday.hint": "strom history (změny i s jejich dny)",
3291
+ "ui.error.back.unknown": "změna {change} v historii tohoto výzkumu není",
3292
+ "ui.error.back.unknown.hint": "strom history",
3293
+ "ui.error.back.unsaved": "výzkum má neuložené změny: návrat jen z uloženého stavu",
3294
+ "ui.error.back.unsaved.hint": "strom check",
3295
+ "ui.error.back.moved": "výzkum se od náhledu změnil: nic se nevrátilo",
3296
+ "ui.error.back.moved.hint": "strom history back <změna> (znovu náhled)",
3145
3297
  "ui.menu.seal": "Zapečetěno na jiném počítači: zapisovat tu jde až po převzetí (strom seal adopt).",
3146
3298
  "ui.seal.bridge": "výzkum „{name}“ je zapečetěný na jiném počítači: nic se nezapsalo – po převzetí na tomto počítači (terminál: strom seal adopt, nebo nabídka strom) poslat znovu",
3147
3299
  "ui.seal.bridge.twokeys": "výzkum „{name}“ je na tomto počítači zapečetěný dvěma klíči stromu (strom z aplikace a z terminálu): nic se nezapsalo – po sjednocení (terminál: strom seal adopt, nebo nabídka strom) poslat znovu",