strom-research 1.17.0 → 1.18.0-beta.10

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 (80) hide show
  1. package/CHANGELOG.cs.md +54 -0
  2. package/CHANGELOG.de.md +63 -0
  3. package/CHANGELOG.md +58 -0
  4. package/assets/lang/cs.json +230 -8
  5. package/assets/lang/de.json +230 -8
  6. package/assets/method/core.md +2 -1
  7. package/assets/phone/index.html +173 -0
  8. package/assets/phone/phone.css +177 -0
  9. package/assets/phone/phone.js +1560 -0
  10. package/assets/phone/sha256.js +106 -0
  11. package/dist/agents/files.js +2 -2
  12. package/dist/brief/brief.js +6 -1
  13. package/dist/cli/context.js +32 -20
  14. package/dist/cli/main.js +28 -0
  15. package/dist/cli/menu-settings.js +46 -7
  16. package/dist/cli/menu.js +39 -7
  17. package/dist/cli/ui.js +213 -8
  18. package/dist/commands/analysis.js +5 -1
  19. package/dist/commands/calibrate.js +2 -2
  20. package/dist/commands/clips.js +5 -1
  21. package/dist/commands/connectors.js +6 -4
  22. package/dist/commands/document.js +618 -0
  23. package/dist/commands/guide.js +4 -1
  24. package/dist/commands/hooks.js +11 -3
  25. package/dist/commands/index.js +2 -0
  26. package/dist/commands/intake.js +6 -4
  27. package/dist/commands/media.js +56 -28
  28. package/dist/commands/output.js +12 -6
  29. package/dist/commands/pack.js +2 -1
  30. package/dist/commands/people.js +165 -5
  31. package/dist/commands/phone.js +172 -0
  32. package/dist/commands/read.js +9 -4
  33. package/dist/commands/readers.js +6 -5
  34. package/dist/commands/readings.js +18 -6
  35. package/dist/commands/session.js +19 -7
  36. package/dist/commands/setup.js +50 -21
  37. package/dist/commands/sources.js +12 -6
  38. package/dist/commands/start.js +12 -2
  39. package/dist/commands/sync.js +16 -9
  40. package/dist/commands/transcripts.js +20 -2
  41. package/dist/commands/trees.js +4 -2
  42. package/dist/core/actions.js +6 -1
  43. package/dist/core/batches.js +68 -9
  44. package/dist/core/changelog.js +63 -13
  45. package/dist/core/config.js +17 -2
  46. package/dist/core/dialog.js +28 -29
  47. package/dist/core/document.js +1052 -0
  48. package/dist/core/edge.js +6 -2
  49. package/dist/core/excerpt.js +217 -30
  50. package/dist/core/import.js +4 -2
  51. package/dist/core/install.js +4 -2
  52. package/dist/core/live-read.js +703 -0
  53. package/dist/core/live.js +437 -269
  54. package/dist/core/originals.js +41 -6
  55. package/dist/core/phone-finds.js +273 -0
  56. package/dist/core/phone-send.js +322 -0
  57. package/dist/core/phone-watch.js +231 -0
  58. package/dist/core/phone.js +1164 -0
  59. package/dist/core/phrases.js +17 -0
  60. package/dist/core/qr.js +311 -0
  61. package/dist/core/readable.js +363 -0
  62. package/dist/core/readsync.js +269 -0
  63. package/dist/core/receive.js +286 -0
  64. package/dist/core/retractions.js +202 -0
  65. package/dist/core/review.js +11 -1
  66. package/dist/core/schema.js +1 -0
  67. package/dist/core/stromapp.js +43 -0
  68. package/dist/core/sync.js +224 -18
  69. package/dist/core/tidy.js +18 -3
  70. package/dist/core/tree.js +21 -1
  71. package/dist/core/uninstall.js +1 -1
  72. package/dist/core/userpath.js +109 -0
  73. package/dist/core/validate.js +57 -1
  74. package/dist/core/views.js +60 -13
  75. package/dist/gedcom/export.js +19 -1
  76. package/dist/gedcom/validate.js +4 -1
  77. package/dist/image/image.js +39 -0
  78. package/dist/image/index.js +45 -5
  79. package/dist/image/pdf.js +331 -0
  80. package/package.json +4 -1
package/CHANGELOG.cs.md CHANGED
@@ -5,6 +5,60 @@
5
5
  Změny každé verze ve zkratce. Úplné poznámky a instalační řádky jsou na
6
6
  [GitHub Releases](https://github.com/ACiDekCZ/strom-research/releases) (anglicky).
7
7
 
8
+ ## 1.18.0
9
+
10
+ *Připravuje se: bety do 1.18.0-beta.10. Oddíl bude úplný s vydáním.*
11
+
12
+ - **Fotky z telefonu nastojato.** Fotka otočená podle údaje EXIF se čte tak, jak se má dívat, nastojato; místa na ní
13
+ vyznačená (výřezy, poloviny dvoustrany, uložená část) jsou místa obrázku, jak se ukazuje. Fotka sama zůstává, jak
14
+ byla.
15
+ - **Fotky HEIC a dokumenty PDF jdou přečíst.** Fotky HEIC z telefonu a stránky PDF se pro čtení převádějí na JPEG —
16
+ na macOS, Windows i Linuxu — a originál zůstává, jak přišel. Fotka HEIC jde do aplikace Strom jako výřez JPEG.
17
+ Kde obrázek na počítači nic nepřevede, řekne to jedna věta i s tím, co by pomohlo; `strom tidy` převedené obrázky
18
+ po 30 dnech nebo nad 500 MB uklidí.
19
+ - **Jeden dokument přečtený naráz.** `strom document read` přečte fotku, sken nebo PDF jednoho dokumentu — zápis
20
+ z matriky, dopis, listinu, náhrobek, rub fotky: přepis slovo od slova, překlad, význam starých slov a zkratek
21
+ a osoby, které jmenuje, i s tím, kdo ze stromu to může být. Nic se nedomýšlí: jméno, které v dokumentu není,
22
+ vypadne — i příjmení, nikdy se nebere od otce ani z jiné rodiny —, co nejde přečíst, je označené; druhý čtenář
23
+ může číst naslepo. Do stromu se z toho nic nezapíše samo. Dokument už přečtený to o sobě řekne, takže se omylem
24
+ nečte podruhé. Dokument čtený znovu se ukazuje pod názvem svého souboru, nikdy pod kódem.
25
+ Dokument poslaný z aplikace Strom najde agenta stejně jako terminál — i nainstalovaného do vlastní složky, přes npm
26
+ nebo Homebrew — místo hlášení, že agent není nastavený.
27
+ - **Fotky z telefonu.** `strom phone on`, které zapíná jen člověk, pustí k počítači telefon v domácí síti (Wi-Fi
28
+ nebo kabel — nikdy mobilní síť ani VPN). Telefon se jednou spáruje přes QR kód; jeho stránka pak fotí nebo vybírá
29
+ z galerie a posílá fotky celé do stromu výzkumu, s poznámkou a osobou, kterou ukazují — stejně jako „Přidat
30
+ materiály“ v aplikaci Strom. Fotka zůstává v telefonu, dokud ji počítač nemá, takže přerušené spojení nic neztratí.
31
+ - **Výzkum sledovaný z telefonu.** Stránka telefonu ukazuje, co výzkum dělá — na čem se teď pracuje, co čeká na
32
+ rozhodnutí, posledních 24 hodin a poslední změny, obnovené každých 10 sekund, dokud je stránka na očích — jen
33
+ k podívání: v telefonu se nic neodpovídá, nespouští ani nerozhoduje. Nedostupný počítač stránka řekne i s posledními
34
+ údaji a jejich časem. Otevře strom, jehož QR kód ji spároval, a jde přidat na plochu jako ikona, která ji otevře
35
+ bez nového párování. Co čeká a změny jdou na telefonu přečíst celé: text toho, co čeká, se neořezává, další položky
36
+ nad prvních 20 se donačtou klepnutím a změna s víc řádky se rozbalí celá; Co čeká je poslední částí stránky. Změna
37
+ starší než dnešek má u času i datum (rok jen u loňských a starších). Nálezy pod Teď ukazují, co výzkum našel od
38
+ posledního pohledu z telefonu (aspoň posledních 24 hodin, starší klepnutím) — nové osoby, prameny, nalezené, opravené
39
+ či nově doložené údaje, vyřešené rozpory — nové zvýrazněné; co přibude při otevřené stránce, ukáže jen počet
40
+ v názvu záložky a malý štítek.
41
+ - **Souhlas v jednom jazyce, otázka i v terminálu.** Souhlas, který dává jen člověk (rozbalení výzkumu, odebrání
42
+ stromu, odmítnuté okno), zazní celý v jazyce výzkumu. Co otevírá počítač ven, stojí peníze nebo spouští cizí program
43
+ – Remote Control, stahovače bez ptaní, podmínka práce agenta o samotě, hook, vlastní tempo archivu, propojení s
44
+ telefonem, ladění čtení – se ptá ano/ne i v terminálu; Enter znamená ne a `--yes` za člověka neodpoví. Když se
45
+ `strom update` odmítne, řekne, že se nic nenainstalovalo a která verze zůstává, a skončí chybovým kódem; nepovedená
46
+ instalace se řekne také v jazyce výzkumu.
47
+ - **Chybné jméno nebo poznámka odvolané.** `strom name retract` odvolá jméno špatně přečtené nebo přiřazené jinému
48
+ člověku, `strom note retract` poznámku a `strom note edit` ji opraví – u osoby, faktu i úkolu, vždy s důvodem; nic
49
+ se nemaže. Odvolané se už nikde neukazuje – ani agentovi, ani v GEDCOM, ani ve `strom find`, takže ho aplikace Strom
50
+ po načtení stromu neukáže a synchronizace ho nevrátí; `strom person show --history` řekne, co to bylo, kdy a proč, a
51
+ `strom name restore` nebo `strom note restore` ho vrátí.
52
+ - **Opravy z hlášení.** Rozloučení nabídky řekne, jak strom spustit znovu i tam, kde okno terminálu příkaz ještě nezná
53
+ (po instalaci jedním řádkem: v novém okně `strom`, v tomto plná cesta; plná cesta i tam, kde se na jméno ozve dřív
54
+ jiný `strom`), a když most pro aplikaci Strom běží dál, řekne to i s tím, jak ho zastavit; výběr rodokmenu v nabídce
55
+ jde vrátit nulou. Most už nedrží složku rodokmenu, takže ji jde na Windows smazat, a sám skončí, když rodokmen zmizí
56
+ (rodokmen smaže `strom trees remove`). Konec stromu, kde křest neuvádí otce, je uzavřený, jakmile na něm nic neběží
57
+ – už nečeká natrvalo na rozhodnutí. Pramen přejmenovaný v aplikaci Strom se přejmenuje i ve výzkumu a signatura nebo
58
+ strana pramene přijde do aplikace k prameni samému („Signatura / strana“), i když ho zatím nic necituje. S
59
+ `excerpts.for all` dostane v aplikaci Strom výřez i pramen, který zatím nikdo necituje, pokud se vedle citovaných
60
+ vejde do limitu – citované se kvůli němu nezmenší; co se nevešlo, se řekne.
61
+
8
62
  ## 1.17.0
9
63
 
10
64
  *19. 10. 2026 · patří k aplikaci Strom 3.13.1.*
package/CHANGELOG.de.md CHANGED
@@ -5,6 +5,69 @@
5
5
  Die Änderungen jeder Version in Kürze. Die vollständigen Hinweise und die Installationszeilen stehen bei
6
6
  [GitHub Releases](https://github.com/ACiDekCZ/strom-research/releases) (auf Englisch).
7
7
 
8
+ ## 1.18.0
9
+
10
+ *In Vorbereitung: die Betas bis 1.18.0-beta.10. Der Abschnitt ist mit dem Release vollständig.*
11
+
12
+ - **Handyfotos aufrecht.** Ein Foto, das nach seiner EXIF-Ausrichtung gedreht ist, wird gelesen, wie es gesehen
13
+ werden soll, aufrecht; die darauf markierten Stellen (Ausschnitte, die Hälften einer Doppelseite, ein gespeicherter
14
+ Teil) sind die des Bildes, wie es gezeigt wird. Das Foto selbst bleibt, wie es war.
15
+ - **HEIC-Fotos und PDF-Dokumente lesbar.** HEIC-Fotos vom Handy und die Seiten einer PDF werden zum Lesen in JPEG
16
+ umgewandelt — unter macOS, Windows und Linux —, das Original bleibt, wie es kam. Ein HEIC-Foto geht als
17
+ JPEG-Ausschnitt in die Strom-App. Wo nichts auf dem Computer ein Bild umwandelt, sagt es ein Satz, auch was helfen
18
+ würde; `strom tidy` räumt umgewandelte Bilder nach 30 Tagen oder über 500 MB weg.
19
+ - **Ein Dokument auf einmal gelesen.** `strom document read` liest ein Foto, einen Scan oder eine PDF eines
20
+ Dokuments — einen Matrikeleintrag, einen Brief, eine Urkunde, einen Grabstein, die Rückseite eines Fotos: die
21
+ Abschrift Wort für Wort, ihre Übersetzung, was alte Wörter und Abkürzungen bedeuten, und die genannten Personen,
22
+ samt wem im Stammbaum sie entsprechen können. Nichts wird ergänzt: ein Name, der nicht im Dokument steht, fällt
23
+ weg — auch ein Nachname, nie vom Vater oder aus einer anderen Familie genommen —, Unleserliches wird markiert; ein
24
+ zweiter Leser kann blind lesen. In den Stammbaum gelangt nichts von selbst. Ein schon gelesenes Dokument sagt es,
25
+ so wird es nicht versehentlich ein zweites Mal gelesen. Ein erneut gelesenes Dokument wird unter dem Namen seiner
26
+ Datei gezeigt, nie unter einem Code. Ein aus der Strom-App gesendetes Dokument findet den Agenten wie das Terminal —
27
+ auch einen in einem eigenen Ordner, über npm oder Homebrew installierten —, statt zu melden, es sei kein Agent
28
+ eingerichtet.
29
+ - **Fotos vom Handy.** `strom phone on`, das nur ein Mensch einschaltet, lässt ein Handy im Heimnetz (WLAN oder
30
+ Kabel — nie ein Mobilfunknetz oder ein VPN) zu diesem Computer. Das Handy wird einmal per QR-Code gekoppelt; seine
31
+ Seite fotografiert dann oder wählt aus der Galerie und schickt die Fotos ganz in einen Stammbaum der Forschung, mit
32
+ einer Notiz und der Person, die sie zeigen — wie „Materialien hinzufügen“ in der Strom-App. Ein Foto bleibt auf dem
33
+ Handy, bis der Computer es hat, so geht bei einer unterbrochenen Verbindung nichts verloren.
34
+ - **Die Forschung vom Handy aus verfolgt.** Die Seite des Handys zeigt, was die Forschung tut — woran gerade
35
+ gearbeitet wird, was auf eine Entscheidung wartet, die letzten 24 Stunden und die letzten Änderungen, alle 10
36
+ Sekunden aufgefrischt, solange die Seite angesehen wird — nur zum Ansehen: auf dem Handy wird nichts beantwortet,
37
+ gestartet oder entschieden. Ein unerreichbarer Computer wird gesagt, mit den letzten Daten und ihrer Zeit. Die Seite
38
+ öffnet den Stammbaum, dessen QR-Code sie gekoppelt hat, und lässt sich als Symbol auf den Home-Bildschirm legen,
39
+ das sie ohne neues Koppeln öffnet. Was wartet und die Änderungen lassen sich auf dem Handy ganz lesen: kein Text
40
+ dessen, was wartet, wird gekürzt, mehr als die ersten 20 kommen auf Antippen, eine Änderung mit vielen Zeilen klappt
41
+ ganz auf; Was wartet ist der letzte Teil der Seite. Eine Änderung vor heute hat bei der Uhrzeit auch ihr Datum (das
42
+ Jahr nur, wenn es nicht das laufende ist). Funde unter Jetzt zeigen, was die Forschung seit dem letzten Blick vom
43
+ Handy gefunden hat (mindestens die letzten 24 Stunden, ältere auf Antippen) — neue Personen, Quellen, gefundene,
44
+ korrigierte oder neu belegte Angaben, geklärte Widersprüche —, die neuen hervorgehoben; was bei offener Seite
45
+ hinzukommt, zeigt nur eine Zahl im Titel des Tabs und ein kleines Etikett.
46
+ - **Eine Zustimmung in einer Sprache, auch im Terminal gefragt.** Eine Zustimmung, die nur ein Mensch gibt (eine
47
+ Forschung entpacken, einen Stammbaum entfernen, ein abgelehntes Fenster), steht ganz in der Sprache der Forschung.
48
+ Was den Computer nach außen öffnet, Geld kostet oder ein fremdes Programm startet – Remote Control, Downloader ohne
49
+ Rückfrage, die Bedingung für den Agenten allein, ein Hook, ein eigenes Tempo eines Archivs, die Verbindung mit dem
50
+ Telefon, das Abstimmen des Lesens – fragt auch im Terminal Ja oder Nein; Enter heißt Nein, `--yes` antwortet nie
51
+ dafür. Wird `strom update` abgelehnt, sagt es, dass nichts installiert wurde und welche Version bleibt, und endet
52
+ mit einem Fehlercode; eine misslungene Installation wird auch in der Sprache der Forschung gesagt.
53
+ - **Ein falscher Name oder eine falsche Notiz zurückgezogen.** `strom name retract` zieht einen falsch gelesenen oder
54
+ der falschen Person gegebenen Namen zurück, `strom note retract` eine Notiz, und `strom note edit` berichtigt eine –
55
+ bei einer Person, einem Fakt oder einer Aufgabe, jeweils mit Grund; nichts wird gelöscht. Was zurückgezogen ist,
56
+ zeigt sich nirgends mehr – nicht dem Agenten, nicht im GEDCOM oder in `strom find`, so dass die Strom-App es nach
57
+ dem Laden des Stammbaums nicht mehr zeigt und ein Abgleich es nie zurückbringt; `strom person show --history` sagt,
58
+ was es war, wann und warum, und `strom name restore` oder `strom note restore` holt es zurück.
59
+ - **Korrekturen aus Meldungen.** Der Abschied des Menüs sagt, wie strom wieder startet, wo das Terminalfenster den
60
+ Befehl noch nicht kennt (nach der Installation mit einer Zeile: `strom` in einem neuen Fenster, in diesem der volle
61
+ Pfad; der volle Pfad auch, wo zuerst ein anderes `strom` auf den Namen antwortet), und sagt, wenn die Brücke für die
62
+ Strom-App weiterläuft, auch, wie sie zu beenden ist; die Wahl des Stammbaums im Menü geht mit 0 zurück. Die Brücke
63
+ hält den Ordner des Stammbaums nicht mehr fest, so dass Windows ihn löschen kann, und endet von selbst, sobald der
64
+ Stammbaum weg ist (einen Stammbaum löscht `strom trees remove`). Ein Ende des Baums, wo die Taufe keinen Vater
65
+ nennt, ist ein geschlossenes Ende, sobald nichts mehr daran läuft – es wartet nicht mehr für immer auf eine
66
+ Entscheidung. Eine in der Strom-App umbenannte Quelle heißt auch in der Forschung neu, und Signatur oder Seite einer
67
+ Quelle kommen in der App bei der Quelle selbst an, auch bevor etwas sie zitiert. Mit `excerpts.for all` bekommt auch
68
+ eine Quelle, die noch niemand zitiert, in der Strom-App ihren Ausschnitt, soweit er neben den zitierten unter die
69
+ Grenze passt – die zitierten werden dafür nie kleiner; was nicht passte, wird gesagt.
70
+
8
71
  ## 1.17.0
9
72
 
10
73
  *19.10.2026 · gehört zur Strom-App 3.13.1.*
package/CHANGELOG.md CHANGED
@@ -5,6 +5,64 @@ English · [Čeština](CHANGELOG.cs.md) · [Deutsch](CHANGELOG.de.md)
5
5
  The changes of each version in short. The full notes and the install lines are on
6
6
  [GitHub Releases](https://github.com/ACiDekCZ/strom-research/releases).
7
7
 
8
+ ## 1.18.0
9
+
10
+ *In preparation: the betas up to 1.18.0-beta.10. The section is complete with the release.*
11
+
12
+ - **Phone photos upright.** A photo turned by its EXIF orientation is read as it is meant to be seen, upright; the
13
+ places marked on it (excerpts, the halves of a spread, a cut-out part) are of the picture as it is shown. The
14
+ photo itself stays as it was.
15
+ - **HEIC photos and PDF documents can be read.** HEIC photos from a phone and the pages of a PDF are converted to
16
+ JPEG for reading — on macOS, Windows and Linux — and the original is kept as it came. A HEIC photo goes to the
17
+ Strom app as a JPEG excerpt. Where nothing on the computer converts a picture, one sentence says so and what would
18
+ help; `strom tidy` clears the converted pictures away after 30 days or above 500 MB.
19
+ - **One document read at once.** `strom document read` reads a photo, a scan or a PDF of one document — a register
20
+ entry, a letter, a deed, a gravestone, the back of a photo: the transcript word for word, its translation, what its
21
+ old words and abbreviations mean, and the people it names, with who of the tree they may be. Nothing is filled in:
22
+ a name the document does not have is left out — a surname too, never taken from a father or another family —,
23
+ what cannot be read is marked; a second reader can read it blind. Nothing of it enters the tree by itself. A
24
+ document read already says so, so it is not read a second time by mistake. A document read again is shown under
25
+ the name of its file, never a code. A document sent from the Strom app finds the agent as the terminal does — one
26
+ installed in a folder of its own, by npm or Homebrew too — instead of saying no agent is set up.
27
+ - **Photos from a phone.** `strom phone on`, turned on by the person alone, lets a phone on the home network (Wi-Fi
28
+ or a cable — never a mobile network or a VPN) reach this computer. The phone is paired once by its QR code; its
29
+ page then takes photos or picks them from the gallery and sends them whole into a tree of the research, with a
30
+ note and the person they show — as "Add materials" in the Strom app does. A photo stays on the phone until the
31
+ computer has it, so a connection cut midway loses nothing.
32
+ - **The research watched from a phone.** The phone's page shows what the research does — what is worked on now,
33
+ what waits for a decision, the last 24 hours and the latest changes, refreshed every 10 seconds while the page is
34
+ looked at — only to look at: nothing on the phone answers, starts or decides anything. A computer out of reach is
35
+ said, with the last data and their time. The page opens the tree whose QR code paired it, and it can be added to
36
+ the home screen as an icon that opens it without pairing again. What waits and the changes read whole on the phone:
37
+ no text of what waits is cut, more of it than the first 20 comes on a tap, a change of many lines unfolds whole;
38
+ What waits is the last part of the page. A change older than today has its date beside the time (the year only when
39
+ it is not this one). Finds, under Now, say what the research found since the phone looked last (the last 24 hours
40
+ at least, older ones on a tap) — new people, sources, facts found, corrected or newly cited, conflicts resolved —
41
+ the new ones marked; something new while the page is open shows only as a count in the tab's title and a small label.
42
+ - **A consent in one language, asked in the terminal too.** A consent only a person gives (unpacking a research,
43
+ removing a tree, a window said no to) is said whole in the research's language. What opens the computer outward,
44
+ costs money or runs another's program — Remote Control, downloaders without asking first, the condition of the agent
45
+ working alone, a hook, an archive's own pace, the phone connection, tuning the reading — asks yes or no in the
46
+ terminal as well; Enter says no, `--yes` never answers it. When `strom update` is declined, it says nothing was
47
+ installed and which version stays, and ends with an error code; a failed install is said in the research's language
48
+ too.
49
+ - **A wrong name or note taken back.** `strom name retract` takes back a name misread or given to the wrong person,
50
+ `strom note retract` a note, and `strom note edit` corrects one — of a person, a fact or a task, each with its
51
+ reason; nothing is deleted. What is taken back is shown nowhere any more — not to the agent, not in the GEDCOM or
52
+ `strom find`, so the Strom app no longer shows it once it loads the tree, and a sync never brings it back; `strom
53
+ person show --history` says what it was, when and why, and `strom name restore` or `strom note restore` puts it
54
+ back.
55
+ - **Fixes from reports.** The menu's goodbye says how to start strom again where the terminal window does not know the
56
+ command yet (after the one-line install: `strom` in a new window, the full path in this one; the full path also
57
+ where another `strom` answers the name first), and says when the Strom app's bridge goes on running and how to stop
58
+ it; the menu's choice of a family tree goes back with 0. The bridge no longer holds the family tree's folder, so
59
+ Windows can delete it, and ends by itself once the tree is gone (`strom trees remove` deletes a tree). An end of the
60
+ tree where the baptism names no father is a closed end once nothing runs on it, no longer waiting for a decision for
61
+ good. A source renamed in the Strom app is renamed in the research too, and a source's call number or page reaches
62
+ the app on the source itself, also before anything cites it. With `excerpts.for all` a source nobody cites yet gets
63
+ its excerpt in the Strom app too, wherever it fits under the limit beside the cited ones, which never get smaller
64
+ for it; what did not fit is said.
65
+
8
66
  ## 1.17.0
9
67
 
10
68
  *2026-10-19 · goes with the Strom app 3.13.1.*
@@ -31,7 +31,10 @@
31
31
  "batch.top": "její první úroveň",
32
32
  "batch.what": "Roztřídit dávku „{name}“ ({part}/{parts}) – {folder}, {count, plural, one {# soubor} few {# soubory} other {# souborů}} ({first}–{last})",
33
33
  "batch.why": "Uživatel poslal z aplikace Strom naráz mnoho souborů ({who}); jsou uložené beze změny mimo historii stromu. Nejdřív levně projít všechny (názvy, složky, malý náhled), pak číst, co patří k rodině – co k rodině nepatří, se tak označí a nic z toho se nezapíše.",
34
+ "batch.unnamed.phone": "fotky z telefonu",
35
+ "batch.why.phone": "Uživatel poslal fotky z telefonu ({who}); jsou uložené beze změny, v plném rozlišení, mimo historii stromu. Projít každou: záznam, dokument nebo fotka rodiny – číst, co patří k rodině; co k rodině nepatří, se tak označí a nic z toho se nezapíše.",
34
36
  "batch.note": "Poznámka uživatele k dávce: „{note}“.",
37
+ "batch.who": "Podle uživatele se dávka týká: {who}.",
35
38
  "batch.book": "Mnoho číslovaných obrázků v jedné složce: nejspíš skeny knihy – zaregistrovat je jako snímky její knihy (strom media add --from-input I… --recordset B…), ne číst soubor po souboru.",
36
39
  "batch.done": "každý soubor roztříděný (strom input sort I… --as source|document|photo|unrelated, s osobou, ke které patří) a co záznam nebo dokument říká, zapsané a citované jako z každého materiálu – snímky knihy zaregistrované jako její snímky",
37
40
  "intake.files": "Rozebrat soubory – {folder}: {count} ({first}–{last})",
@@ -59,7 +62,6 @@
59
62
  "ui.dialog.title": "Strom výzkum",
60
63
  "ui.dialog.yes": "Povolit",
61
64
  "ui.dialog.no": "Nepovolit",
62
- "ui.dialog.refused": "Nepovoleno – nic se nezměnilo.",
63
65
  "ui.link.isolated": "Tohle je izolovaná instalace (STROM_ISOLATED): odkazy strom-research:// nezapisuje – zůstávají běžné instalaci stromu.",
64
66
  "ui.doc.isolated": "izolovaná instalace v {folder}",
65
67
  "ui.doc.second": "druhá instalace: příkaz {command}, ve složce {folder}, její odkazy {scheme}://",
@@ -80,6 +82,10 @@
80
82
  "ui.consent.elsewhere.connector": "Spustit stahovač „{name}“? Žádá o to agent mimo složku výzkumu ({cwd}).",
81
83
  "ui.consent.elsewhere.run": "Spustit samostatnou práci agenta na výzkumu „{tree}“? Žádá o to agent mimo složku výzkumu ({cwd}); práce stojí peníze.",
82
84
  "ui.consent.connectors.off": "Nechat stahovače běžet bez ptaní předem?",
85
+ "ui.consent.yesno": "Povolit?",
86
+ "ui.consent.kept": "Nic se nezměnilo: {key} zůstává {value}.",
87
+ "ui.host.pace.kept": "Nic se nezměnilo: tempo pro {host} zůstává, jak bylo.",
88
+ "ui.hook.kept": "Nic se nezměnilo: hook „{name}“ zůstává vypnutý.",
83
89
  "ui.menu.title": "Strom výzkum {version}",
84
90
  "ui.menu.tree": "Rodokmen: {name} · osob: {persons}",
85
91
  "ui.menu.waiting": "Čeká: {count}",
@@ -95,6 +101,9 @@
95
101
  "ui.menu.newtree": "Založit rodokmen · poslat nebo přijmout",
96
102
  "ui.menu.quit": "Konec",
97
103
  "ui.menu.bye": "Na shledanou. Příště stačí spustit: {strom}",
104
+ "ui.menu.bye.new": "Na shledanou. V novém okně terminálu stačí spustit: {strom} – v tomto okně: {path}",
105
+ "ui.menu.bye.path": "Na shledanou. Příště stačí spustit: {path}",
106
+ "ui.menu.bye.live": "Most pro aplikaci Strom běží dál na pozadí; zastavit: {strom} live stop",
98
107
  "ui.run.how": "Kolik úkolů? (skončí dřív, když už nebude co dělat; 0 vrátí zpět)",
99
108
  "ui.run.start": "Agent teď pracuje sám. Zastaví ho klávesy Ctrl-C – nic se neztratí.",
100
109
  "ui.waiting.none": "Nic nečeká.",
@@ -667,7 +676,17 @@
667
676
  "sync.verify.done": "každý záznam dohledaný a přečtený nezávisle (snímek zaregistrovaný, strom read M… --blind): čtení se shodují → poznámka u pramene a údaje zůstávají; liší se → rozpor s oběma čteními",
668
677
  "sync.reading.note": "Uživatel přečetl tento záznam v aplikaci Strom jinak ({source}); čtení výzkumu platí, dokud se záznam nepřečte znovu:",
669
678
  "sync.reading.page": "strana",
679
+ "sync.title.note": "Přejmenováno v aplikaci Strom ({source}), výzkum ho mezitím přejmenoval také; platí název výzkumu – název v aplikaci:",
670
680
  "sync.reading.text": "přepis",
681
+ "read.note.source.edited": "Přepis byl upraven v aplikaci Strom; čtení {read} má: {text}",
682
+ "read.note.edited": "Přepis byl upraven v aplikaci Strom: vodítko, dokud se záznam nepřečte ({read})",
683
+ "read.note.one": "Přečetl jeden čtenář ({read}): možné do druhého, slepého čtení a vlastního pohledu výzkumu na záznam",
684
+ "read.note.differ": "Čtenáři {read} přečetli jinak: {list} — vodítko, dokud se záznam nepřečte",
685
+ "read.note.absent": "Čtení {read} to tak neuvádí: vodítko, dokud se záznam nepřečte",
686
+ "read.note.uncertain": "Čtenář {read} si tím nebyl jistý: vodítko, dokud se záznam nepřečte",
687
+ "read.verify.what": "Ověřit čtení dokumentu u osoby {name}: {list}",
688
+ "read.verify.why": "údaje stojí na čtení čtenářů stromu ({read}, potvrzeném v aplikaci Strom, {source}), které ještě není jisté: jeden čtenář, rozdílná čtení, nebo ručně upravený přepis; druhé, slepé čtení a vlastní pohled výzkumu na záznam je doloží, nebo ukáže chybu",
689
+ "read.verify.done": "po jednom čtenáři druhý, slepý (strom document again {read} --readers 2) a zápis prohlédnutý výzkumem samotným (strom source show {source}, jeho snímek): čtení se shodují → pravděpodobné, prokázané až po tomto pohledu a jen u primární informace; liší se → rozpor s oběma čteními",
671
690
  "archive.held": "odloženo: výzkum je Archiv Stromu (data přicházejí z aplikace Strom); do fronty se vrátí, až se zapne práce s agentem",
672
691
  "archive.removed": "odebráno v aplikaci Strom",
673
692
  "archive.wait": "Rozhodnutí o stahování z archivu {title}",
@@ -760,9 +779,10 @@
760
779
  "ui.update.available": "Vyšla nová verze: {version} (tato je {current}) – nainstaluje ji strom update.",
761
780
  "ui.update.npm": "Vyšla nová verze: {version}. strom je tu nainstalovaný přes npm: npm install -g strom-research@{tag}",
762
781
  "ui.update.sure": "Aktualizovat strom z {current} na {version}? Výzkumy zůstanou, jak jsou.",
763
- "ui.update.later": "Teď ne – kdykoli strom update.",
782
+ "ui.update.later": "Neaktualizováno – nic se nenainstalovalo, strom zůstává ve verzi {current}. Kdykoli znovu: {command}",
764
783
  "ui.update.downloading": "Stahuji strom {version}…",
765
- "ui.update.failed": "Aktualizace se nepovedla: {detail}. strom zůstává, jak byl.",
784
+ "ui.error.update.failed": "aktualizace se nepovedla: {detail}. strom zůstává ve verzi {current}",
785
+ "ui.error.update.failed.hint": "znovu {command} – nebo spustit instalátor znovu",
766
786
  "ui.update.done": "✓ strom je aktualizovaný: {previous} → {version}.",
767
787
  "ui.update.whatsnew": "Co je nového: {url}",
768
788
  "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.",
@@ -780,6 +800,8 @@
780
800
  "ui.app.images.unclipped": "{n, plural, one {Další # pramen je na snímcích, ale u něj} few {Další # prameny jsou na snímcích, ale u nich} other {Dalších # pramenů je na snímcích, ale u nich}} zatím nikdo nevyznačil, kde zápis je — agent to umí doplnit.",
781
801
  "ui.app.images.smaller": "Aby se obrázky vešly do limitu {limit} MB, jsou menší, než je nastaveno: kvalita {level}, nastavena {asked}.",
782
802
  "ui.app.images.left": "{n, plural, one {# zápis nejdál od výzkumu je} few {# zápisy nejdál od výzkumu jsou} other {# zápisů nejdál od výzkumu je}} bez obrázku, aby se vše vešlo do limitu {limit} MB.",
803
+ "ui.app.images.uncited": "{n, plural, one {# zápis, který ve výzkumu nikdo necituje, je} few {# zápisy, které ve výzkumu nikdo necituje, jsou} other {# zápisů, které ve výzkumu nikdo necituje, je}} bez obrázku: vedle citovaných už pod limitem {limit} MB nezbylo místo.",
804
+ "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).",
783
805
  "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}).",
784
806
  "ui.doc.installed": "strom {version} na vlastním Node {node} (oficiálním, z nodejs.org)",
785
807
  "ui.update.source": "Vyšla nová verze: {version}. Tento strom běží ze zdrojáků: git pull",
@@ -886,6 +908,12 @@
886
908
  "ui.show.children": "děti",
887
909
  "ui.show.notes": "poznámky",
888
910
  "ui.show.note": "poznámka",
911
+ "ui.show.history": "historie",
912
+ "ui.show.history.name": "jméno {name} odvoláno {at} ({by}): {reason}",
913
+ "ui.show.history.note": "poznámka odvolána {at} ({by}): {reason} — {text}",
914
+ "ui.show.history.edit": "poznámka opravena {at} ({by}): {reason} — předtím: {text}",
915
+ "ui.show.history.more": "odvoláno nebo opraveno: {n} — strom person show {id} --history",
916
+ "ui.show.history.none": "nic odvoláno ani opraveno",
889
917
  "ui.show.none": "(žádné)",
890
918
  "ui.show.unknown": "(zatím neznámo)",
891
919
  "ui.show.nopartners": "(partneři zatím neznámí)",
@@ -954,7 +982,7 @@
954
982
  "ui.help.cmd.init": "Založit nový rodokmen",
955
983
  "ui.help.cmd.trees": "Rodokmeny na tomto počítači",
956
984
  "ui.help.cmd.trees.use": "Pracovat na jiném rodokmenu",
957
- "ui.help.cmd.trees.remove": "Odebrat rodokmen z tohoto počítače (nejdřív nabídne zálohu)",
985
+ "ui.help.cmd.trees.remove": "Odebrat rodokmen z tohoto počítače – takto se rodokmen maže (do koše, nejdřív nabídne zálohu)",
958
986
  "ui.help.cmd.lang": "Jazyk výzkumu",
959
987
  "ui.help.cmd.mode": "Výzkum s agentem, nebo jen Archiv Stromu s daty z aplikace Strom: ukázat, nebo přepnout",
960
988
  "ui.help.cmd.chat": "Rozhovor s agentem o výzkumu",
@@ -984,7 +1012,7 @@
984
1012
  "ui.help.cmd.app": "Otevřít výzkum v aplikaci Strom",
985
1013
  "ui.help.cmd.app.install": "Nainstalovat aplikaci Strom z prohlížeče",
986
1014
  "ui.help.cmd.live.start": "Nechat aplikaci Strom sledovat výzkum živě",
987
- "ui.help.cmd.live.stop": "Ukončit živé sledování výzkumu",
1015
+ "ui.help.cmd.live.stop": "Ukončit živé sledování výzkumu (most pro aplikaci Strom běží na pozadí i po zavření nabídky)",
988
1016
  "ui.help.cmd.export.gedcom": "Uložit rodokmen jako soubor GEDCOM",
989
1017
  "ui.help.cmd.pack": "Zabalit výzkum do jednoho souboru ZIP, aby v něm mohl pokračovat někdo jiný",
990
1018
  "ui.help.cmd.unpack": "Rozbalit rodokmen, který někdo poslal",
@@ -1022,6 +1050,7 @@
1022
1050
  "ui.tidy.kind.views": "Náhledy skenů (udělají se znovu, až budou potřeba)",
1023
1051
  "ui.tidy.kind.excerpts": "Výřezy ze skenů (udělají se znovu, až budou potřeba)",
1024
1052
  "ui.tidy.kind.fetch": "Pracovní složky přerušených stahování",
1053
+ "ui.tidy.kind.converted": "Fotky a strany PDF převedené pro čtení (vytvoří se znovu, až budou potřeba)",
1025
1054
  "ui.tidy.kind.kept": "Starší poslání z aplikace Strom, už zapsaná (změny jsou v historii)",
1026
1055
  "ui.tidy.kind.inbox": "Dávná poslání z aplikace Strom, která ve schránce nechal starší strom",
1027
1056
  "ui.tidy.kind.pointers": "Zbytky skončených pracovních sezení",
@@ -1040,6 +1069,8 @@
1040
1069
  "ui.tidy.hint": "Vedle výzkumu si strom drží {strom}, z toho jde uvolnit {size}: strom tidy (v menu Nastavení → Údržba → Místo na disku)",
1041
1070
  "ui.error.consent": "tady je potřeba souhlas – {question}",
1042
1071
  "ui.error.consent.hint": "spustit ve vlastním terminálu: {set}",
1072
+ "ui.error.consent.refused": "nepovoleno – nic se nezměnilo",
1073
+ "ui.error.consent.refused.hint": "kdykoli znovu: {set}",
1043
1074
  "ui.status.disk": "Na disku: výzkum {research} · vedle něj si strom drží {strom}",
1044
1075
  "ui.status.disk.frees": " (strom tidy uvolní {size})",
1045
1076
  "ui.status.refused": "{host} odmítl automatický přístup stromu — snímky ručně; zrušit: strom allow host {host} --unblock",
@@ -1147,6 +1178,7 @@
1147
1178
  "ui.sync.source.changed": "{n}. pramen z aplikace „{text}“: opravený přepis nebo stránka",
1148
1179
  "ui.sync.source.reading": "{n}. pramen výzkumu „{text}“: v aplikaci přečtený jinak",
1149
1180
  "ui.sync.source.verified": "{n}. pramen z aplikace „{text}“: přepis ověřen",
1181
+ "ui.sync.source.title": "{n}. pramen „{old}“: přejmenovaný na „{new}“",
1150
1182
  "ui.sync.fact.cite": "{n}. {who}: {fact} — pramen z aplikace k údaji",
1151
1183
  "ui.sync.fact.part": "{n}. {who}: {kind} {when} — {role}: {part}",
1152
1184
  "ui.sync.fact.part.link": "{n}. {who}: {kind} {when} — {role} {part}: osoba ze stromu",
@@ -1162,14 +1194,20 @@
1162
1194
  "ui.sync.do.family.cite.read": "bude ho citovat rodina (její sňatek), na čtení záznamu z aplikace",
1163
1195
  "ui.sync.do.source.new": "pramen výzkumu; přepis z aplikace je vodítko, dokud záznam nepřečte výzkum",
1164
1196
  "ui.sync.do.source.new.read": "pramen výzkumu; přepis z aplikace platí jako čtení záznamu",
1197
+ "ui.sync.do.source.new.reading": "pramen výzkumu z jeho vlastního čtení dokumentu (snímek a výřez zápisu): údaje tak jisté, jak je čtenáři přečetli",
1198
+ "ui.sync.do.source.new.reading.edited": "pramen výzkumu z jeho čtení dokumentu, přepis upravený v aplikaci: údaje jsou vodítko, dokud záznam nepřečte výzkum",
1165
1199
  "ui.sync.do.source.changed": "převezme se: je to čtení z aplikace",
1166
1200
  "ui.sync.do.source.changed.read": "převezme se: je to čtení z aplikace a platí",
1167
1201
  "ui.sync.do.source.reading": "uloží se vedle čtení výzkumu; výzkum záznam přečte znovu",
1168
1202
  "ui.sync.do.source.verified": "čtení z aplikace platí: údaje, které stojí jen na něm, se stanou doloženými",
1169
1203
  "ui.sync.do.source.verified.read": "čtení z aplikace platí: údaje, které stojí jen na něm, se stanou doloženými",
1204
+ "ui.sync.do.source.title": "přejmenuje se (název výzkumu zůstane v historii)",
1205
+ "ui.sync.do.source.title.user": "platí název z aplikace (název výzkumu zůstane v historii)",
1206
+ "ui.sync.do.source.title.beside": "výzkum ho přejmenoval také: jeho název zůstává, název z aplikace se uloží vedle do poznámky",
1170
1207
  "ui.sync.do.fact.cite": "údaj výzkumu ho bude citovat (vodítko, dokud záznam nepřečte výzkum)",
1171
1208
  "ui.sync.do.fact.cite.read": "údaj výzkumu ho bude citovat a stojí na čtení záznamu z aplikace",
1172
1209
  "ui.sync.do.reading": "přidá se na čtení záznamu z aplikace",
1210
+ "ui.sync.do.reading.document": "přidá se tak jistý, jak ho čtenáři dokumentu přečetli (jeden čtenář: možné, dva ve shodě: pravděpodobné, rozdílně: vodítko)",
1173
1211
  "ui.sync.family.new": "{n}. nová rodina: {who}{kids}",
1174
1212
  "ui.sync.child.new": "{n}. {who}: dítě — {child}",
1175
1213
  "ui.sync.child.gone": "{n}. {who}: už to není jejich dítě — {child}",
@@ -1215,6 +1253,19 @@
1215
1253
  "ui.error.tree.empty": "soubor je prázdný, nejsou v něm žádné osoby",
1216
1254
  "ui.error.tree.empty.hint": "soubor vyexportovaný z aplikace Strom nebo z jiného programu pro rodokmeny",
1217
1255
  "ui.error.tree.unreadable": "tohle není soubor GEDCOM ani rodokmen z aplikace Strom",
1256
+ "ui.error.read.heic": "{file}: fotku HEIC nejde na tomto počítači převést pro čtení – originál zůstává beze změny",
1257
+ "ui.error.read.heic.windows.hint": "rozšíření HEIF a HEVC z Microsoft Storu, nebo fotku uložit jako JPEG",
1258
+ "ui.error.read.heic.mac.hint": "fotku uložit jako JPEG (Náhled: Soubor → Exportovat)",
1259
+ "ui.error.read.heic.linux.hint": "nainstalovat heif-convert (libheif) nebo ImageMagick, nebo fotku uložit jako JPEG",
1260
+ "ui.error.read.pdf-render": "{file}: toto PDF nejde na tomto počítači převést na obrázky pro čtení – originál zůstává beze změny",
1261
+ "ui.error.read.pdf-render.hint": "strany uložit jako JPEG",
1262
+ "ui.error.read.pdf-render.linux.hint": "nainstalovat pdftoppm (poppler-utils), nebo strany uložit jako JPEG",
1263
+ "ui.error.read.convert": "{file} se nepodařilo převést pro čtení – originál zůstává beze změny",
1264
+ "ui.error.read.convert.hint": "soubor uložit jako JPEG (umí to každý prohlížeč obrázků)",
1265
+ "ui.error.read.type": "{file} není obrázek, který jde přečíst (JPEG, PNG, HEIC nebo PDF) – originál zůstává beze změny",
1266
+ "ui.error.read.type.hint": "soubor uložit jako JPEG (umí to každý prohlížeč obrázků)",
1267
+ "ui.error.read.page": "{file} má {pages, plural, one {jednu stranu} few {# strany} other {# stran}}, strana {page} v něm není",
1268
+ "ui.error.read.page.hint": "strana od 1 do {pages}",
1218
1269
  "ui.error.adopt.none": "tento výzkum na žádný strom nečeká",
1219
1270
  "ui.error.tree.unknown": "žádný rodokmen „{name}“ tu není",
1220
1271
  "ui.error.tree.unknown.hint": "rodokmeny, které tu jsou: strom trees",
@@ -1239,6 +1290,173 @@
1239
1290
  "ui.live.forgotten": "jeho adresa je zapomenutá: další most dostane novou",
1240
1291
  "ui.live.newsecret": " další most dostane novou tajnou adresu: aplikace Strom ji dostane při dalším otevření výzkumu – strom app",
1241
1292
  "ui.live.ended": "most skončil",
1293
+ "ui.phone.window.title": "Zapnout propojení s telefonem?",
1294
+ "ui.phone.window": "Telefon spárovaný QR kódem uvidí v místní síti {ip} přehled výzkumu a bude do něj posílat fotky. Jiná zařízení v síti nic neuvidí. Vypnout jde kdykoli v aplikaci Strom.",
1295
+ "ui.phone.window.noip": "Telefon spárovaný QR kódem uvidí v místní síti přehled výzkumu a bude do něj posílat fotky. Jiná zařízení v síti nic neuvidí. Vypnout jde kdykoli v aplikaci Strom.",
1296
+ "ui.phone.window.yes": "Zapnout",
1297
+ "ui.phone.window.no": "Zrušit",
1298
+ "ui.phone.on": "propojení s telefonem: zapnuto, v místní síti na {urls}",
1299
+ "ui.phone.starting": "propojení s telefonem: zapnuto, jeho server se spouští",
1300
+ "ui.phone.error": "propojení s telefonem: zapnuto, ale telefon se k němu nedostane: {why}",
1301
+ "ui.phone.why.no-lan": "počítač není v žádné místní síti (Wi-Fi ani kabel)",
1302
+ "ui.phone.why.port-busy": "porty 47800–47819 mají obsazené jiné programy",
1303
+ "ui.phone.why.bind-failed": "jeho server se nespustil (proč, říká phone.log ve složce nastavení stromu)",
1304
+ "ui.phone.confirm": "propojení s telefonem: okno na tomto počítači se ptá, jestli ho zapnout",
1305
+ "ui.phone.declined": "propojení s telefonem: nezapnuto (v okně odmítnuto)",
1306
+ "ui.phone.off": "propojení s telefonem: vypnuto",
1307
+ "ui.phone.phones": " spárované telefony: {n} (strom phone list)",
1308
+ "ui.phone.nophones": " žádný spárovaný telefon",
1309
+ "ui.phone.turnedoff": "propojení s telefonem je vypnuté; spárované telefony zůstávají spárované",
1310
+ "ui.phone.stale": "spárovaný na adrese, kterou počítač už nemá",
1311
+ "ui.phone.removed": "telefon {name} je odebraný ze spárovaných",
1312
+ "ui.phone.ended": "server telefonu skončil",
1313
+ "ui.phone.waiting.item": "Něco k vyřízení na počítači",
1314
+ "ui.phone.qr": "QR kód ke spárování telefonu (jeden telefon, do {time}): fotoaparátem telefonu ve stejné Wi-Fi jako tento počítač.",
1315
+ "ui.phone.qr.url": "adresa pod kódem: {url}",
1316
+ "ui.phone.qr.more": "další adresa tohoto počítače: strom phone qr --address {url}",
1317
+ "ui.phone.qr.off": "propojení s telefonem je vypnuté: QR kód žádný (strom phone on)",
1318
+ "ui.phone.qr.app": "QR kód ke spárování telefonu: v aplikaci Strom (Výzkum → Připojit telefon…), nebo strom phone qr v terminálu",
1319
+ "ui.phone.notturned": "propojení s telefonem: nezapnuto, nic se nezměnilo",
1320
+ "ui.error.phone.off": "propojení s telefonem je vypnuté",
1321
+ "ui.error.phone.off.hint": "zapíná se příkazem strom phone on v terminálu, nebo v aplikaci Strom (Výzkum → Připojit telefon…)",
1322
+ "ui.error.phone.qr-terminal": "QR kód ke spárování telefonu se ukazuje jen v terminálu nebo v aplikaci Strom",
1323
+ "ui.error.phone.qr-terminal.hint": "strom phone qr v terminálu, nebo Výzkum → Připojit telefon… v aplikaci Strom",
1324
+ "ui.error.phone.address": "server telefonu na tomto počítači nemá adresu {address}",
1325
+ "ui.error.phone.address.hint": "jeho adresy: {addresses}",
1326
+ "ui.phone.page.title": "Výzkum Strom",
1327
+ "ui.phone.page.pairing": "Páruje se s počítačem…",
1328
+ "ui.phone.page.paired.title": "Spárováno",
1329
+ "ui.phone.page.paired": "Telefon je spárovaný s výzkumem na počítači. Spárovaný zůstane, dokud se na počítači neodpojí.",
1330
+ "ui.phone.page.expired.title": "Kód už neplatí",
1331
+ "ui.phone.page.expired": "QR kód spáruje jeden telefon a platí 10 minut. Nový ukáže aplikace Strom na počítači (Výzkum → Připojit telefon…).",
1332
+ "ui.phone.page.unreachable.title": "Počítač neodpovídá",
1333
+ "ui.phone.page.unreachable": "Je počítač zapnutý, propojení s telefonem zapnuté a telefon ve stejné Wi-Fi?",
1334
+ "ui.phone.page.retry": "Zkusit znovu",
1335
+ "ui.phone.page.unpaired.title": "Telefon není spárovaný s tímto počítačem",
1336
+ "ui.phone.page.unpaired.why": "Telefon byl na počítači odpojen, nebo se změnila adresa počítače, nebo je stránka otevřená bez QR kódu.",
1337
+ "ui.phone.page.unpaired.how": "Na počítači v aplikaci Strom: Výzkum → Připojit telefon a načíst QR kód.",
1338
+ "ui.phone.page.unpaired.howHome": "V ikoně na ploše QR kód načíst nejde. Stránku otevřít v prohlížeči telefonu (Safari, Chrome) načtením QR kódu fotoaparátem (na počítači v aplikaci Strom: Výzkum → Připojit telefon) a odtud ikonu na plochu přidat znovu.",
1339
+ "ui.phone.page.unpaired.queue": "{n, plural, one {# neodeslaná fotka čeká v tomto telefonu} few {# neodeslané fotky čekají v tomto telefonu} other {# neodeslaných fotek čeká v tomto telefonu}}",
1340
+ "ui.phone.page.unpaired.queueBody": "Po novém spárování s tímto počítačem se odešlou samy.",
1341
+ "ui.phone.page.ago.s": "před {n} s",
1342
+ "ui.phone.page.last": "naposledy {time}",
1343
+ "ui.phone.page.switcher.title": "Stromy výzkumu na tomto počítači",
1344
+ "ui.phone.page.mark.archive": "archiv",
1345
+ "ui.phone.page.archive": "Archiv – nové materiály čekají na zařazení.",
1346
+ "ui.phone.page.archive.photos": "Fotky jde poslat jako do každého výzkumu.",
1347
+ "ui.phone.page.btn.photo": "Vyfotit",
1348
+ "ui.phone.page.btn.photoMore": "Vyfotit další",
1349
+ "ui.phone.page.btn.gallery": "Z galerie",
1350
+ "ui.phone.page.sheet.title": "Fotky k odeslání",
1351
+ "ui.phone.page.sheet.to": "do výzkumu {tree}",
1352
+ "ui.phone.page.collapse": "Sbalit",
1353
+ "ui.phone.page.close": "Zavřít",
1354
+ "ui.phone.page.home.button": "Ikona na ploše",
1355
+ "ui.phone.page.home.title": "Ikona na ploše",
1356
+ "ui.phone.page.home.ios": "iPhone: Sdílet → Přidat na plochu.",
1357
+ "ui.phone.page.home.android": "Android: ⋮ → Přidat na plochu.",
1358
+ "ui.phone.page.home.note": "Ikona otevře tuto stránku bez nového párování. Přidat ji jde do 10 minut.",
1359
+ "ui.phone.page.remove": "Odebrat",
1360
+ "ui.phone.page.field.note": "Poznámka",
1361
+ "ui.phone.page.field.person": "Osoba",
1362
+ "ui.phone.page.field.personPh": "Hledat jménem (volitelné)",
1363
+ "ui.phone.page.field.noPerson": "Bez osoby",
1364
+ "ui.phone.page.field.done": "Hotovo",
1365
+ "ui.phone.page.total": "{a} z {b} · {x} z {y} MB",
1366
+ "ui.phone.page.st.queued": "čeká",
1367
+ "ui.phone.page.st.preparing": "připravuje se",
1368
+ "ui.phone.page.st.sending": "odesílá se {p} %",
1369
+ "ui.phone.page.st.sent": "odesláno ✓",
1370
+ "ui.phone.page.st.already": "už ve výzkumu je, neposílá se",
1371
+ "ui.phone.page.st.offline": "čeká na spojení s počítačem",
1372
+ "ui.phone.page.err.too_large": "Soubor je větší než {max} MB, výzkum ho nepřijme.",
1373
+ "ui.phone.page.err.disk_full": "Na počítači dochází místo na disku.",
1374
+ "ui.phone.page.err.batch_too_large": "Dávka je moc velká; zbylé fotky půjdou v další dávce.",
1375
+ "ui.phone.page.err.type": "Tento druh souboru výzkum nepřijímá.",
1376
+ "ui.phone.page.err.failed": "Odeslání se nepodařilo.",
1377
+ "ui.phone.page.captureOnly": "Fotky vyfocené tady se do Fotek telefonu neukládají; do odeslání jsou jen v této stránce.",
1378
+ "ui.phone.page.lock": "Při zamčení telefonu se odesílání přeruší a po návratu pokračuje.",
1379
+ "ui.phone.page.offline.queue": "Čeká na spojení s počítačem. Fotky zůstávají v telefonu a odešlou se samy.",
1380
+ "ui.phone.page.resume": "{n, plural, one {# neodeslaná fotka z minula} few {# neodeslané fotky z minula} other {# neodeslaných fotek z minula}} · pokračuje se",
1381
+ "ui.phone.page.forget": "Neodeslané fotky jsou uložené jen v tomto telefonu. Po týdnu bez otevření stránky je prohlížeč může smazat.",
1382
+ "ui.phone.page.commit": "Předat výzkumu",
1383
+ "ui.phone.page.commit.wait": "Předá se po odeslání poslední fotky…",
1384
+ "ui.phone.page.commit.cancel": "Zrušit předání",
1385
+ "ui.phone.page.commit.later": "Když se stránka zavře bez předání, výzkum dávku předá sám později.",
1386
+ "ui.phone.page.commit.done": "Předáno výzkumu: {n, plural, one {# fotka} few {# fotky} other {# fotek}}",
1387
+ "ui.phone.page.commit.next": "Další dávka",
1388
+ "ui.phone.page.strip.sending": "{n, plural, one {# fotka} few {# fotky} other {# fotek}} · odesílá se {a} z {b}",
1389
+ "ui.phone.page.strip.sent": "{n, plural, one {# fotka} few {# fotky} other {# fotek}} · odesláno, nepředáno",
1390
+ "ui.phone.page.strip.offline": "{n, plural, one {# fotka} few {# fotky} other {# fotek}} · čeká na spojení",
1391
+ "ui.phone.page.strip.gone": "{n, plural, one {# fotka} few {# fotky} other {# fotek}} · strom už není",
1392
+ "ui.phone.page.keep.save": "Uložit do telefonu",
1393
+ "ui.phone.page.keep.drop": "Zahodit",
1394
+ "ui.phone.page.keep.dropAsk": "Zahodit {n, plural, one {# fotku} few {# fotky} other {# fotek}}? Nikde jinde nejsou.",
1395
+ "ui.phone.page.keep.keep": "Ponechat",
1396
+ "ui.phone.page.down.title": "Počítač teď neodpovídá",
1397
+ "ui.phone.page.down.body": "Údaje níže jsou z {time}. Spojení se zkouší obnovit samo.",
1398
+ "ui.phone.page.down.c1": "počítač je zapnutý a nespí",
1399
+ "ui.phone.page.down.c2": "telefon je ve stejné Wi-Fi",
1400
+ "ui.phone.page.down.c3": "propojení na počítači je zapnuté",
1401
+ "ui.phone.page.gone": "Strom „{name}“ už ve výzkumu na počítači není. Ukazuje se {first}.",
1402
+ "ui.phone.page.gone.photos": "{n, plural, one {# fotka byla pro strom, který už ve výzkumu není.} few {# fotky byly pro strom, který už ve výzkumu není.} other {# fotek bylo pro strom, který už ve výzkumu není.}}",
1403
+ "ui.phone.page.gone.sendTo": "Poslat do: {tree}",
1404
+ "ui.phone.page.none": "Na tomto počítači zatím není žádný strom výzkumu.",
1405
+ "ui.phone.page.mark.working": "pracuje se",
1406
+ "ui.phone.page.mark.waiting": "čeká {n}",
1407
+ "ui.phone.page.mark.idle": "nepracuje se",
1408
+ "ui.phone.page.refreshing": "obnovuje se",
1409
+ "ui.phone.page.now": "Teď",
1410
+ "ui.phone.page.now.lines": "{n, plural, one {Teď · # linie} few {Teď · # linie} other {Teď · # linií}}",
1411
+ "ui.phone.page.now.since": "pracuje se od {time}",
1412
+ "ui.phone.page.now.pause": "pauza · pokračuje v {time}",
1413
+ "ui.phone.page.now.idle": "Teď se nepracuje",
1414
+ "ui.phone.page.now.idleLast": "Naposledy se pracovalo {when}.",
1415
+ "ui.phone.page.when.today": "dnes v {time}",
1416
+ "ui.phone.page.when.yesterday": "včera v {time}",
1417
+ "ui.phone.page.when.date": "{date}",
1418
+ "ui.phone.page.waiting": "Co čeká · {n}",
1419
+ "ui.phone.page.waiting.title": "Co čeká",
1420
+ "ui.phone.page.waiting.none": "Nic nečeká.",
1421
+ "ui.phone.page.waiting.where": "Rozhodnout jde na počítači v Přehledu výzkumu.",
1422
+ "ui.phone.page.waiting.more": "{n, plural, one {Ukázat další · zbývá #} few {Ukázat další · zbývají #} other {Ukázat další · zbývá #}}",
1423
+ "ui.phone.page.waiting.loading": "Načítá se…",
1424
+ "ui.phone.page.waiting.rest": "{n, plural, one {a # další v Přehledu výzkumu na počítači} few {a # další v Přehledu výzkumu na počítači} other {a # dalších v Přehledu výzkumu na počítači}}",
1425
+ "ui.phone.page.day": "Posledních 24 h",
1426
+ "ui.phone.page.day.people": "{n, plural, one {osoba} few {osoby} other {osob}}",
1427
+ "ui.phone.page.day.sources": "{n, plural, one {pramen} few {prameny} other {pramenů}}",
1428
+ "ui.phone.page.day.saves": "{n, plural, one {uložení} few {uložení} other {uložení}}",
1429
+ "ui.phone.page.log": "Průběh",
1430
+ "ui.phone.page.log.more": "Starší změny jsou v Přehledu výzkumu na počítači.",
1431
+ "ui.phone.page.log.new": "{n, plural, one {# nová změna ↑} few {# nové změny ↑} other {# nových změn ↑}}",
1432
+ "ui.phone.page.log.lines": "{n, plural, one {a # další} few {a # další} other {a # dalších}}",
1433
+ "ui.phone.page.log.fold": "Sbalit",
1434
+ "ui.phone.page.log.none": "Zatím se nic neuložilo.",
1435
+ "ui.phone.page.finds": "Nálezy",
1436
+ "ui.phone.page.finds.since": "od {time}",
1437
+ "ui.phone.page.finds.none": "Nic nového se nenašlo.",
1438
+ "ui.phone.page.finds.older": "Ukázat starší nálezy",
1439
+ "ui.phone.page.finds.loading": "Načítá se…",
1440
+ "ui.phone.page.finds.cut": "{n, plural, one {a # další v Přehledu výzkumu na počítači} few {a # další v Přehledu výzkumu na počítači} other {a # dalších v Přehledu výzkumu na počítači}}",
1441
+ "ui.phone.page.finds.sources": "Nové prameny",
1442
+ "ui.phone.page.finds.resolved": "Vyřešeno",
1443
+ "ui.phone.page.finds.kind.person": "Nově v rodokmenu",
1444
+ "ui.phone.page.finds.kind.family": "Nová rodina v rodokmenu",
1445
+ "ui.phone.page.finds.kind.name": "Jméno: {text}",
1446
+ "ui.phone.page.finds.kind.child": "Dítě: {text}",
1447
+ "ui.phone.page.finds.kind.fact": "{text}",
1448
+ "ui.phone.page.finds.kind.fixed": "{text} · opraveno",
1449
+ "ui.phone.page.finds.kind.cited": "{text} · nově doloženo",
1450
+ "ui.phone.page.finds.kind.source": "{text}",
1451
+ "ui.phone.page.finds.kind.conflict": "Rozpor: {text}",
1452
+ "ui.phone.page.finds.kind.hypothesis": "Otázka: {text}",
1453
+ "ui.phone.page.finds.newMark": "nové",
1454
+ "ui.phone.page.finds.new": "{n, plural, one {# novinka ↓} few {# novinky ↓} other {# novinek ↓}}",
1455
+ "ui.settings.phone": "Propojení s telefonem (fotky z telefonu do výzkumu v místní síti): {state}",
1456
+ "ui.settings.phone.on": "zapnuto, spárované telefony: {n}",
1457
+ "ui.settings.phone.error": "zapnuto, nedostupné",
1458
+ "ui.phone.menu.off": "Vypnout propojení s telefonem (spárované telefony zůstanou spárované)",
1459
+ "ui.phone.menu.remove": "Odebrat telefon {name} (spárovaný {date}) ze spárovaných",
1242
1460
  "ui.guide.archive": "Tento rodokmen je Archiv Stromu: data přicházejí z aplikace Strom. Co v něm je: strom stats · strom person card <kdo> · strom pedigree <kdo> · strom recent. Výzkum zapíná jen uživatel: strom mode research (nebo menu).",
1243
1461
  "ui.setup.links.archive": "Dovolit aplikaci Strom otevírat Archiv Stromu na tomto počítači? (Jedním klikem pošle úpravy zpět nebo otevře výřez v plné kvalitě – vždy se tu nejdřív zeptá.)",
1244
1462
  "ui.plan.archive": "{name} je Archiv Stromu: data přicházejí z aplikace Strom, nic se neplánuje. Výzkum se zapíná v menu (první položka).",
@@ -1311,6 +1529,8 @@
1311
1529
  "ui.export.quality.smaller": "nejnižší",
1312
1530
  "ui.export.images.smaller": " POZOR: zmenšeno, aby se vešlo do limitu {mb} MB: kvalita {level}, nastavena {asked} — víc místa: --images-max-mb <n> (strom config set excerpts.mb <n>)",
1313
1531
  "ui.export.images.dropped": " POZOR: vynecháno, aby se vešlo do limitu {mb} MB, nejdřív nejvzdálenější od výzkumu: {n, plural, one {# pramen} few {# prameny} other {# pramenů}} ({ids}) — víc místa: --images-max-mb <n>",
1532
+ "ui.export.images.uncited": " POZOR: vedle citovaných pramenů už pod limitem {mb} MB nezbylo místo: {n, plural, one {# pramen, který ve výzkumu nikdo necituje, je} few {# prameny, které ve výzkumu nikdo necituje, jsou} other {# pramenů, které ve výzkumu nikdo necituje, je}} bez obrázku ({ids}) — víc místa: --images-max-mb <n>",
1533
+ "ui.export.images.uncitedOut": " prameny, které ve výzkumu nikdo necituje, v souboru nejsou: {n} — všechny: --images-for all",
1314
1534
  "ui.export.images.scope": " prameny lidí vzdálenějších od výzkumu, než říká excerpts.for={for}: {n} — všechny: --images-for all",
1315
1535
  "ui.export.images.missing": " snímek není na tomto počítači: {ids}",
1316
1536
  "ui.export.images.unclipped": " prameny na snímcích bez výřezu (kde zápis je): {ids} — strom clips (najdou je čtenáři)",
@@ -1616,7 +1836,6 @@
1616
1836
  "ui.settings.off": "vypnuto",
1617
1837
  "ui.settings.remote": "Remote Control v aplikaci Claude (rozhovor s agentem i z mobilu): {state}",
1618
1838
  "ui.settings.remote.about": "Když je zapnuté, jde sezení Claude Code, která strom spustí – rozhovory i samostatnou práci – sledovat a řídit z claude.ai nebo z aplikace Claude v telefonu.",
1619
- "ui.settings.remote.on": "Zapnout?",
1620
1839
  "ui.settings.remote.off": "Vypnout?",
1621
1840
  "ui.settings.archives": "Archivy: přihlášení, souhlas se stahováním",
1622
1841
  "ui.settings.wizard.what": "Co nastavit?",
@@ -1666,7 +1885,6 @@
1666
1885
  "ui.archives.consent": "Stahovače se ptají, než začnou: {state}",
1667
1886
  "ui.archives.consent.about": "Vypnuto (obvyklé): stahovače běží samy – pomalu a jen do svého archivu. Zapnuto: každý nejdřív potřebuje souhlas, tady v terminálu, a stejně tak každý archiv, kam se připojí.",
1668
1887
  "ui.archives.consent.on": "Zapnout?",
1669
- "ui.archives.consent.off": "Vypnout?",
1670
1888
  "ui.hooks.nothing": "žádné",
1671
1889
  "ui.menu.noagent": "Na počítači zatím není žádný AI agent – výzkum dělá on. Volba 1 ho nainstaluje.",
1672
1890
  "ui.menu.getagent": "Nainstalovat nebo vybrat AI agenta",
@@ -1762,6 +1980,10 @@
1762
1980
  "log.name.remove": "Odebrané jméno: {name} – {who}",
1763
1981
  "log.note.remove": "Odebraná poznámka: „{note}“ – {name}",
1764
1982
  "log.note.edit": "Opravená poznámka: {name}",
1983
+ "log.name.retract": "Odvolané jméno: {name} – {who}",
1984
+ "log.name.restore": "Vrácené jméno: {name} – {who}",
1985
+ "log.note.retract": "Odvolaná poznámka: {name}",
1986
+ "log.note.restore": "Vrácená poznámka: {name}",
1765
1987
  "log.event.status": "Změněná jistota údaje: {who} – {fact}",
1766
1988
  "log.event.restore": "Údaj znovu platí: {who} – {fact}",
1767
1989
  "log.input.sync.undo": "Vrácený rodokmen: {name}",
@@ -1834,7 +2056,6 @@
1834
2056
  "ui.settings.remote.chats": "rozhovory ano, samostatná práce ne",
1835
2057
  "ui.settings.remote.own": "Rozhovory s agentem už z telefonu sledovat jde – zapíná to sám Claude Code (jeho vlastní nastavení). Samostatnou práci agenta (volba 2 v menu) až po zapnutí i tohohle.",
1836
2058
  "ui.settings.remote.both": "rozhovory i samostatná práce",
1837
- "ui.settings.remote.onalone": "Zapnout to i pro samostatnou práci?",
1838
2059
  "ui.archives.login.nobody": "Žádný z nich přihlášení nepotřebuje – archivy jsou volně přístupné. Přihlášení se tu objeví jen u stahovače portálu s účtem (třeba placeným).",
1839
2060
  "ui.archives.login.how": "Přihlášení se napíše tady a zůstane jen na tomto počítači; strom ho vkládá do požadavků stahovače – stahovač ani agent ho neuvidí.",
1840
2061
  "ui.archives.login.save": "Uložit přihlášení do {title}",
@@ -2182,6 +2403,7 @@
2182
2403
  "ui.arg.what-the-family-knows": "co rodina ví",
2183
2404
  "ui.error.story.no-source": "{id} v rodokmenu není",
2184
2405
  "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",
2406
+ "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.",
2185
2407
  "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?",
2186
2408
  "ui.archive.terms.known": "Podmínky: „{quote}“ ({terms})",
2187
2409
  "ui.archive.terms.connector": "Podmínky podle stahovače: {quote} ({terms})",