strom-research 1.20.0-beta.1 → 1.20.0-beta.2

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 (61) hide show
  1. package/CHANGELOG.cs.md +53 -2
  2. package/CHANGELOG.de.md +61 -2
  3. package/CHANGELOG.md +55 -2
  4. package/assets/lang/cs.json +112 -7
  5. package/assets/lang/de.json +112 -7
  6. package/assets/phone/phone.js +8 -3
  7. package/dist/cli/backups.js +14 -5
  8. package/dist/cli/context.js +87 -6
  9. package/dist/cli/help.js +97 -26
  10. package/dist/cli/main.js +36 -10
  11. package/dist/cli/menu-links.js +75 -17
  12. package/dist/cli/menu-research.js +10 -5
  13. package/dist/cli/menu-settings.js +10 -1
  14. package/dist/cli/menu-waiting.js +44 -3
  15. package/dist/cli/menu.js +27 -1
  16. package/dist/cli/seal.js +50 -0
  17. package/dist/cli/ui.js +108 -7
  18. package/dist/cli/wizard.js +18 -0
  19. package/dist/commands/analysis.js +27 -3
  20. package/dist/commands/backup.js +96 -0
  21. package/dist/commands/checks.js +42 -19
  22. package/dist/commands/clips.js +2 -1
  23. package/dist/commands/index.js +1 -0
  24. package/dist/commands/intake.js +123 -13
  25. package/dist/commands/links.js +10 -3
  26. package/dist/commands/media.js +30 -1
  27. package/dist/commands/meta.js +17 -4
  28. package/dist/commands/pack.js +8 -2
  29. package/dist/commands/people.js +44 -9
  30. package/dist/commands/read.js +2 -1
  31. package/dist/commands/readers.js +9 -0
  32. package/dist/commands/setup.js +23 -3
  33. package/dist/commands/start.js +18 -4
  34. package/dist/commands/sync.js +37 -30
  35. package/dist/commands/tasks.js +7 -3
  36. package/dist/commands/transcripts.js +2 -1
  37. package/dist/commands/trees.js +62 -4
  38. package/dist/core/backup.js +115 -10
  39. package/dist/core/changelog.js +37 -4
  40. package/dist/core/check.js +33 -0
  41. package/dist/core/config.js +28 -1
  42. package/dist/core/conflicts.js +21 -4
  43. package/dist/core/errors.js +38 -4
  44. package/dist/core/guard.js +6 -1
  45. package/dist/core/integrity.js +112 -4
  46. package/dist/core/links.js +4 -2
  47. package/dist/core/live.js +405 -34
  48. package/dist/core/material.js +281 -7
  49. package/dist/core/model.js +2 -0
  50. package/dist/core/originals.js +1 -1
  51. package/dist/core/phrases.js +4 -0
  52. package/dist/core/receive.js +54 -8
  53. package/dist/core/schema.js +3 -0
  54. package/dist/core/state.js +7 -0
  55. package/dist/core/sync.js +296 -29
  56. package/dist/core/thumbs.js +91 -0
  57. package/dist/core/tidy.js +15 -1
  58. package/dist/core/tree.js +17 -2
  59. package/dist/core/waiting.js +11 -2
  60. package/dist/gedcom/export.js +1 -1
  61. package/package.json +1 -1
package/CHANGELOG.cs.md CHANGED
@@ -7,15 +7,66 @@ Změny každé verze ve zkratce. Úplné poznámky a instalační řádky jsou n
7
7
 
8
8
  ## 1.20.0
9
9
 
10
- *Připravuje se: bety do 1.20.0-beta.1. Oddíl bude úplný s vydáním.*
10
+ *Připravuje se: bety do 1.20.0-beta.2. Oddíl bude úplný s vydáním.*
11
11
 
12
12
  - **Menu bez nikoho u terminálu to řekne hned.** Spuštěné tam, kde nemá kdo odpovědět (zavřený vstup, okno
13
13
  bez terminálu), skončí jednou větou v jazyce výzkumu a tím, co udělat místo toho, už ne chybou programu; otázka,
14
14
  jejíž vstup skončí dřív než odpověď, ukončí menu stejně.
15
15
  - **`strom check` mluví jedním jazykem.** Pro člověka jsou všechny nálezy, součet i poznámky v jazyce výzkumu, pro
16
- agenta celé anglicky, nikdy směs obou.
16
+ agenta celé anglicky, nikdy směs obou. Řekne i to, co na tomto počítači chybí: soubory sdílené složky, které se
17
+ nepřenesly (kolik, první a vrátit celou složku Strom), a soubory výzkumu v iCloud Drive, které se ještě nestáhly –
18
+ řečeno právě tak, nikdy s odkazem na `strom repair`, a nic se přes ně nezapíše. Plný disk se všude řekne stejně,
19
+ v jazyce výzkumu se složkou, na jejímž disku chybí místo; most aplikaci odpoví kódem `disk.full` (507)
20
+ a `tree.not-downloaded` (409) a `strom live start` řekne, proč se most nespustil.
17
21
  - **Když sandbox agenta odmítne git, je jmenováno správné místo.** Zpráva uvádí jako odepřenou historii výzkumu
18
22
  (jeho složku `.git`), ne program gitu.
23
+ - **Archiv Stromu nespustí placené čtení.** `strom read`, `strom clips` a `strom transcripts` archiv (i výzkum,
24
+ který čeká na svého agenta) odmítne stejnou větou jako ostatní odmítnutí; nic se nečte ani nezapisuje.
25
+ Texty archivu nic neslibují: materiál se „ukládá do Archivu Stromu“ a řekne se jen počet; složka s víc než
26
+ 20 obrázky nabídne uložení jako rodinné dokumenty; stránka telefonu v archivu říká „Uložit do Archivu Stromu“;
27
+ telefon je v nápovědě archivu. Nápověda archivu i výzkumu, který čeká na svého agenta, nabízí jen to, co v něm
28
+ funguje, bez úkolů a fronty; návod v balíčku archivu (`strom pack`) vede do aplikace Strom. Neohlásí ani nový
29
+ úkol, který pak nevypíše. **V něm se rozhodují i rozpory:**
30
+ otevřený rozpor (tentýž údaj upravený jinak v aplikaci Strom a tady) se řekne v přehledu i v „Co čeká“ a rozhodne
31
+ se tam – hodnota z aplikace, nebo z archivu, a proč – stejně jako odkazem z aplikace; `strom conflict` je
32
+ v nápovědě archivu. `strom person show` osoby odebrané v aplikaci Strom tím začíná, se dnem a s `strom sync undo
33
+ I…`, které ji vrátí; výpisy jejích příbuzných ji označí „(odebráno)“. **Dva prohlížeče nad jedním archivem:**
34
+ osobu odebranou v jednom už starší kopie z druhého nikdy nezapíše jako novou osobu — kde na ní nic nezměnila,
35
+ odebrání platí a aplikace se dozví, které poslání ji odebralo; kde ji upravila, úpravy se uloží k ní a rozpor se
36
+ zeptá, zda se vrátí — druhá kopie, která ji upravila jinak, dostane vlastní rozpor proti první a nikdy ji
37
+ nepřepíše, a po rozhodnutí „nechat odebranou“ se tatáž kopie už neptá. Starší kopie bez osoby, kterou jiné okno
38
+ nebo výzkum mezitím upravil, ji už potichu neodebere: rozpor se zeptá, zda odejde, a řekne, kdo ji upravil (jiná
39
+ kopie aplikace, výzkum, obojí); úprava mezitím vrácená (`strom sync undo`) se nepočítá a po rozhodnutí „nechat“ se
40
+ tatáž kopie dozví jen to. Když se po rozhodnutí „odebrat“ vrátí poslání starší kopie, výpis řekne, že osoba zůstává mimo strom,
41
+ i jak ji vrátit (`strom conflict resolve X… --take research`). Poslání vrácené zpět (`strom sync undo`)
42
+ a z aplikace poslané znovu odebere znovu, co odebralo. Zda osoba ve stromu zůstane, jde rozhodnout znovu: `strom history`
43
+ uvádí každé rozhodnutí s jeho vlastním zdůvodněním a s tím, zda osoba ze stromu odešla, nebo se vrátila, a `strom conflict
44
+ show` vypíše dřívější rozhodnutí v jazyce výzkumu.
45
+ - **Záloha před jinou verzí obsahuje i sdílenou složku.** Sdílené obrázky (skeny, originály z aplikace Strom, fotky
46
+ z telefonu) se do ní propojí, kde to disk umí, takže místo nezabírají dvakrát, jinak se zkopírují; vynechají se
47
+ jen tehdy, když na disku na kopii není místo, a záloha to řekne; nedokončená nahrávání z aplikace a náhledy, které
48
+ strom umí udělat znovu, zůstanou venku. **Co zálohovat:** `strom backup` a Nastavení →
49
+ Údržba → „Co zálohovat“ uvedou jedinou složku se všemi výzkumy
50
+ a sdílenými obrázky i s její velikostí, nebo `strom pack` pro jeden rodokmen.
51
+ - **`strom doctor` pozná síťový nebo přesměrovaný disk.** Kde git nezjistí složku, ve které pracuje, rodokmeny tam
52
+ nemohou vést historii; doctor to teď řekne stejně jako `strom init`.
53
+ - **Rodinný materiál se dá do pořádku v aplikaci Strom.** Osoby, ke kterým fotka nebo dokument patří, se přidávají
54
+ a odebírají u mnoha souborů najednou nebo u celé dávky; soubor, který s rodinou nesouvisí nebo je stejný jako jiný,
55
+ se skryje a kdykoli zase ukáže — nic se nemaže. Aplikace ukazuje název, druh a datum každého souboru
56
+ (`strom input sort --title --date`) a malé náhledy fotek, HEIC a PDF, vytvořené jednou a uložené stranou.
57
+ V terminálu: `strom input assign`, `strom input hide` a `strom input unskip`, které vrátí i přeskočení.
58
+ Materiál přidaný v terminálu nebo v menu do rodokmenu, který má aplikace Strom, řekne, kde v ní je: u osoby
59
+ → Materiály.
60
+ - **Rodokmen z jiného počítače nebo ručně přesunutý se ohlásí – nikdy ho nenahradí jiný.** Zapečetěný na jiném
61
+ počítači (nebo s chybějícím nastavením stromu) jde číst a zápis to řekne v jazyce výzkumu s jediným krokem,
62
+ `strom seal adopt`, který nabídne menu, nastavení (vypíše nalezené rodokmeny) i odkaz z aplikace Strom, vždy až na
63
+ ano člověka; most odmítne zápisy aplikace kódem `seal.foreign` (409). Rodokmen, který už není tam, kde byl, se
64
+ jmenuje s původní složkou a s tím, jak přidat novou (`strom trees use <složka>`, od té doby zapamatovanou);
65
+ `strom app`, `strom live start` ani žádný příkaz místo něj neotevře jiný a `strom trees forget` sundá ze seznamu
66
+ ten, který už není potřeba. `strom trees` i `/status` mostu říkají, co který rodokmen je: výzkum, výzkum čekající
67
+ na svého agenta, nebo Archiv Stromu – pro aplikaci (`kind`) je výzkum čekající na agenta archivem, dokud na něm
68
+ agent nezačne. Prázdná aplikace Strom (s vymazanými daty prohlížeče), která žádá nový výzkum, dostane nejdřív
69
+ nabídku rodokmenů, které už tu jsou, a některý z nich otevře v aplikaci.
19
70
 
20
71
  ## 1.19.0
21
72
 
package/CHANGELOG.de.md CHANGED
@@ -7,16 +7,75 @@ Die Änderungen jeder Version in Kürze. Die vollständigen Hinweise und die Ins
7
7
 
8
8
  ## 1.20.0
9
9
 
10
- *In Vorbereitung: die Betas bis 1.20.0-beta.1. Der Abschnitt ist mit dem Release vollständig.*
10
+ *In Vorbereitung: die Betas bis 1.20.0-beta.2. Der Abschnitt ist mit dem Release vollständig.*
11
11
 
12
12
  - **Das Menü ohne jemanden am Terminal sagt es sofort.** Dort gestartet, wo niemand antworten kann (geschlossene
13
13
  Eingabe, ein Fenster ohne Terminal), endet es mit einem Satz in der Sprache der Forschung und dem, was
14
14
  stattdessen zu tun ist, nicht mehr mit einem Fehler des Programms; eine Frage, deren Eingabe vor der Antwort endet,
15
15
  beendet das Menü genauso.
16
16
  - **`strom check` spricht eine Sprache.** Für einen Menschen stehen alle Befunde, die Summe und die Hinweise in der
17
- Sprache der Forschung, für einen Agenten alles auf Englisch, nie beides gemischt.
17
+ Sprache der Forschung, für einen Agenten alles auf Englisch, nie beides gemischt. Er sagt auch, was diesem Computer
18
+ fehlt: Dateien des gemeinsamen Ordners, die nicht mitkamen (wie viele, die erste und den ganzen Strom-Ordner
19
+ zurückholen), und Dateien einer Forschung in iCloud Drive, die noch nicht geladen sind – genau so gesagt, nie mit
20
+ `strom repair`, und nichts wird über sie geschrieben. Eine volle Platte wird überall gleich gesagt, in der Sprache
21
+ der Forschung mit dem Ordner, auf dessen Platte der Platz fehlt; die Brücke antwortet der App mit `disk.full` (507)
22
+ und `tree.not-downloaded` (409), und `strom live start` sagt, warum eine Brücke nicht startete.
18
23
  - **Verweigert die Sandbox des Agenten git, wird der richtige Ort genannt.** Die Meldung nennt die Geschichte der
19
24
  Forschung (ihren Ordner `.git`) als verweigerten Ort, nicht das Programm git.
25
+ - **Ein Strom-Archiv startet kein bezahltes Lesen.** `strom read`, `strom clips` und `strom transcripts` werden in
26
+ einem Archiv (und in einer Forschung, die auf ihren Agenten wartet) mit demselben Satz abgelehnt wie die anderen
27
+ Ablehnungen; nichts wird gelesen, nichts geschrieben.
28
+ Seine Texte versprechen nichts: Material wird „im Strom-Archiv gespeichert“ und nur die Anzahl
29
+ genannt; ein Ordner mit mehr als 20 Bildern bietet das Speichern als Familiendokumente an; die Seite des Telefons
30
+ sagt in einem Archiv „Im Strom-Archiv speichern“; das Telefon steht in der Hilfe eines Archivs. Die Hilfe eines
31
+ Archivs und einer Forschung, die auf ihren Agenten wartet, bietet nur, was darin geht, ohne Aufgaben und
32
+ Warteschlange; die Anleitung in einem gepackten Archiv (`strom pack`) führt in die Strom-App. Es kündigt auch
33
+ keine neue Aufgabe an, die es nie zeigt. **Seine Widersprüche werden in ihm entschieden:** ein offener (dieselbe
34
+ Angabe in der Strom-App und hier anders bearbeitet) steht in der Übersicht und unter „Was wartet“ und wird dort
35
+ entschieden – der Wert der App oder der des Archivs, und warum –, wie es der Link der App tut; `strom conflict`
36
+ steht in der Hilfe eines Archivs. `strom person show` einer in der Strom-App entfernten Person beginnt damit, mit
37
+ dem Tag und `strom sync undo I…`, das sie zurückholt; die Listen ihrer Verwandten markieren sie „(entfernt)“.
38
+ **Zwei Browser an einem Archiv:** eine in einem entfernte Person schreibt die ältere Kopie des anderen nie als neue
39
+ Person — dort unberührt, bleibt die Entfernung und die App erfährt, welches Senden sie entfernt hat; dort
40
+ bearbeitet, bleiben die Änderungen bei ihr und ein Widerspruch fragt, ob sie zurückkommt — eine zweite Kopie, die
41
+ sie anders bearbeitet hat, ist ein eigener Widerspruch gegen die erste und überschreibt sie nie, und nach
42
+ „entfernt lassen“ fragt dieselbe Kopie nicht mehr. Eine ältere Kopie ohne eine Person, die ein anderes Fenster
43
+ oder die Forschung inzwischen bearbeitet hat, entfernt sie nicht mehr still: ein Widerspruch fragt, ob sie geht,
44
+ und sagt, wer sie bearbeitet hat (eine andere Kopie der App, die Forschung, beide); eine inzwischen zurückgenommene
45
+ Änderung (`strom sync undo`) zählt nicht, und nach „behalten“ erfährt dieselbe Kopie nur das. Das Zurücknehmen des
46
+ Sendens der älteren Kopie nach „entfernen“ sagt, dass die Person entfernt bleibt und wie sie zurückkommt
47
+ (`strom conflict resolve X… --take research`). Ein zurückgenommenes
48
+ Senden (`strom sync undo`), aus der App erneut gesendet, entfernt wieder, was es entfernt hat. Ob eine Person im
49
+ Stammbaum bleibt, lässt sich erneut entscheiden: `strom history` nennt jede Entscheidung mit ihrer eigenen Begründung
50
+ und ob die Person den Stammbaum verließ oder zurückkam, und `strom conflict show` zeigt die früheren Entscheidungen in
51
+ der Sprache der Forschung.
52
+ - **Die Sicherung vor einer anderen Version enthält auch den gemeinsamen Ordner.** Die gemeinsamen Bilder (Scans,
53
+ Originale der Strom-App, Fotos vom Telefon) werden verknüpft, wo die Platte es kann, und belegen keinen Platz
54
+ doppelt, sonst kopiert; nur wenn für die Kopie kein Platz ist, bleiben sie weg, und die Sicherung sagt es;
55
+ unvollständige Uploads der App und Vorschauen, die strom neu erstellt, bleiben draußen.
56
+ **Was sichern:** `strom backup` und Einstellungen → Wartung → „Was sichern“ nennen den einen Ordner mit allen
57
+ Forschungen und den gemeinsamen Bildern samt Größe, oder `strom pack` für einen Stammbaum.
58
+ - **`strom doctor` erkennt ein Netz- oder umgeleitetes Laufwerk.** Wo git den Ordner, in dem er arbeitet, nicht
59
+ bestimmen kann, können die Stammbäume dort ihren Verlauf nicht führen; doctor sagt es jetzt wie `strom init`.
60
+ - **Das Familienmaterial wird in der Strom-App geordnet.** Die Personen, zu denen ein Foto oder Dokument gehört,
61
+ werden für viele Dateien auf einmal oder für einen ganzen Stapel hinzugefügt und entfernt; eine Datei ohne Bezug zur
62
+ Familie oder gleich wie eine andere wird ausgeblendet und jederzeit wieder gezeigt — nichts wird gelöscht. Die App
63
+ zeigt Titel, Art und Datum jeder Datei (`strom input sort --title --date`) und kleine Vorschauen von Fotos, HEIC
64
+ und PDFs, einmal erstellt und beiseite gelegt. Im Terminal: `strom input assign`, `strom input hide` und
65
+ `strom input unskip`, das auch ein Überspringen zurücknimmt. Material, im Terminal oder im Menü zu einem Stammbaum
66
+ hinzugefügt, den die Strom-App hat, sagt, wo es dort ist: bei der Person → Materialien.
67
+ - **Ein Stammbaum von einem anderen Computer oder von Hand verschoben wird genannt – nie durch einen anderen
68
+ ersetzt.** Einer, der auf einem anderen Computer versiegelt ist (oder dessen Einstellungen von strom fehlen), lässt
69
+ sich lesen, und ein Schreiben sagt es in der Sprache der Forschung mit dem einen Schritt, `strom seal adopt`,
70
+ angeboten vom Menü, von der Einrichtung (die die gefundenen Stammbäume nennt) und von einem Link der Strom-App,
71
+ immer erst auf das Ja des Menschen; die Brücke lehnt Schreibvorgänge der App mit `seal.foreign` (409) ab. Einer,
72
+ der nicht mehr dort ist, wo er war, wird mit seinem alten Ordner genannt und mit dem Weg, den neuen hinzuzufügen
73
+ (`strom trees use <Ordner>`, danach gemerkt); `strom app`, `strom live start` und kein Befehl öffnen an seiner
74
+ Stelle einen anderen, und `strom trees forget` nimmt einen nicht mehr gewollten von der Liste. `strom trees` und
75
+ `/status` der Brücke sagen, was jeder Stammbaum ist: eine Forschung, eine, die auf ihren Agenten wartet, oder ein
76
+ Strom-Archiv – für die App (`kind`) ist eine Forschung, die auf ihren Agenten wartet, ein Archiv, bis ein Agent an
77
+ ihr beginnt. Eine leere Strom-App (Browserdaten gelöscht), die eine neue Forschung anlegen will, bekommt zuerst
78
+ die Stammbäume angeboten, die es hier schon gibt, um einen davon in der App zu öffnen.
20
79
 
21
80
  ## 1.19.0
22
81
 
package/CHANGELOG.md CHANGED
@@ -7,15 +7,68 @@ The changes of each version in short. The full notes and the install lines are o
7
7
 
8
8
  ## 1.20.0
9
9
 
10
- *In preparation: the betas up to 1.20.0-beta.1. The section is complete with the release.*
10
+ *In preparation: the betas up to 1.20.0-beta.2. The section is complete with the release.*
11
11
 
12
12
  - **The menu with nobody at a terminal says so at once.** Started where no one can answer (a closed input, a window
13
13
  without a terminal), the menu ends with one sentence in the research's language and what to do instead,
14
14
  no longer with an error of the program; a question whose input ends before an answer ends the menu the same way.
15
15
  - **`strom check` speaks one language.** For a person every finding, the sum and the notes are in the research's
16
- language; for an agent all of it is in English, never a mix of both.
16
+ language; for an agent all of it is in English, never a mix of both. It also says what this computer lacks: files
17
+ of the shared folder not brought along (how many, the first, and to bring back the whole Strom folder), and files of
18
+ a research in iCloud Drive not downloaded yet — said as that, never sent to `strom repair`, nothing written over
19
+ them. A full disk is said alike everywhere, in the research's language with the folder whose disk it is; the
20
+ bridge answers the app with `disk.full` (507) and `tree.not-downloaded` (409), and `strom live start` says why a
21
+ bridge did not start.
17
22
  - **When the agent's sandbox refuses git, the right place is named.** The message names the research's history (its
18
23
  `.git` folder) as the place refused, not git's own program.
24
+ - **A Strom archive starts no paid reading.** `strom read`, `strom clips` and `strom transcripts` are refused in an
25
+ archive (and in a research waiting for its agent) with the one sentence the other refusals use; nothing is read
26
+ and nothing written.
27
+ Its texts promise nothing: material is "saved to the Strom archive" and the count is said, nothing
28
+ more; a folder of more than 20 images offers to save them as family documents; the phone's page in an archive
29
+ says "Save to the Strom archive"; the phone is in an archive's help. The help of an archive, and of a research
30
+ waiting for its agent, offers only what works in it, with no tasks or queue; the how-to in a packed archive
31
+ (`strom pack`) goes on in the Strom app. Nor does it announce a new task it never shows. **Its conflicts are decided in it:** an open one (the same fact edited differently in the Strom app and
32
+ here) is said in the overview and in "What waits", decided there — the app's value or the archive's, and why —
33
+ as the app's link decides it, and `strom conflict` is in an archive's help. `strom person show` of a person
34
+ removed in the Strom app starts with that, the day and `strom sync undo I…` that puts them back; their relatives'
35
+ listings mark them "(retracted)". **Two browsers on one archive:** a person removed in one is never written
36
+ again as a new person by the other's older copy — untouched there, the removal stands and the app is told which
37
+ send removed them; edited there, the edits are kept with them and a conflict asks whether they come back — a second
38
+ copy that edited them otherwise is a conflict of its own against the first, never written over it, and once kept
39
+ removed the same copy asks no more. An older copy without a person another window or the research edited since no longer
40
+ removes them in silence: a conflict asks whether they go, and says who edited them (another copy of the app, the
41
+ research, both); an edit taken back since (`strom sync undo`) counts for nothing, and once kept the same copy is only
42
+ told so. Taking back the older copy's send after the person decided they go says they stay removed and how they
43
+ come back (`strom conflict resolve X… --take research`). A send taken back (`strom sync undo`) and sent again from the app
44
+ takes away again what it took away. Whether a person stays in the tree may be decided again: `strom history` says each
45
+ decision with its own reasoning and whether the person left the tree or came back, and `strom conflict show` reads the
46
+ earlier decisions in the research's language.
47
+ - **The backup before another version holds the shared folder too.** The shared images (scans, the Strom app's
48
+ originals, the phone's photos) are linked into it where the disk can, taking no room twice, else copied; only
49
+ when the disk has no room for that copy are they left out, and the backup says so; uploads of the app not yet whole
50
+ and previews strom makes again stay out. **What to back up:**
51
+ `strom backup` and Settings → Maintenance → "What to back up" name the one folder that holds
52
+ every research and the shared images, with its size, or `strom pack` for one family tree.
53
+ - **`strom doctor` notices a network or redirected drive.** Where git cannot tell the folder it works in, the family
54
+ trees there cannot keep their history; doctor now says so, as `strom init` does.
55
+ - **The family's material is put in order in the Strom app.** The people a photo or a document is of are added and
56
+ taken off for many files at once, or for a whole batch; a file of nothing of the family, or the same as another, is
57
+ hidden and shown again whenever needed — nothing is deleted. The app shows each file's title, kind and date
58
+ (`strom input sort --title --date`) and small previews of photos, HEIC and PDFs, made once and kept aside.
59
+ In the terminal: `strom input assign`, `strom input hide`, and `strom input unskip`, which also takes back a skip.
60
+ Material added in the terminal or the menu to a family tree the Strom app has says where it is there: at the person
61
+ → Materials.
62
+ - **A family tree from another computer, or moved by hand, is said — never replaced by another.** One sealed on another
63
+ computer (or with strom's settings gone) reads, and a write says so in the research's language with the one step,
64
+ `strom seal adopt`, offered by the menu, by the setup (which lists the family trees it found) and by a link of the
65
+ Strom app, always on the person's yes; the bridge refuses the app's writes with `seal.foreign` (409). One no longer
66
+ where it was is named with its old folder and the way to add the new one (`strom trees use <folder>`, remembered
67
+ from then on); `strom app`, `strom live start` and every command refuse to open another in its place, and
68
+ `strom trees forget` takes one no longer wanted off the list. `strom trees` and the bridge's `/status` say what
69
+ each family tree is: a research, one waiting for its agent, or a Strom archive — for the app (`kind`) one waiting
70
+ for its agent is an archive until an agent starts on it. An empty Strom app (its browser data cleared) asking for
71
+ a new research gets the family trees already here offered first, to open one of them in the app.
19
72
 
20
73
  ## 1.19.0
21
74
 
@@ -67,6 +67,7 @@
67
67
  "ui.doc.second": "druhá instalace: příkaz {command}, ve složce {folder}, její odkazy {scheme}://",
68
68
  "ui.doc.home.regular": "je to i složka běžného stromu: dvě instalace nad jedním výzkumem",
69
69
  "ui.doc.home.program": "ve složce programu strom – aktualizace nebo odinstalace by ji mohla vzít; lépe přesunout jinam (strom setup v terminálu ji přesune i s výzkumem)",
70
+ "ui.doc.gitdir.cwd": "{where}: git nezjistí složku, ve které pracuje (síťový nebo přesměrovaný disk?) – rodokmeny tam nemohou vést historii",
70
71
  "ui.doc.knows.isolated": "izolovaná instalace: agenty mimo ni nic neučí",
71
72
  "ui.doc.links.isolated": "izolovaná instalace: odkazy nezapisuje",
72
73
  "ui.doc.app.isolated": "izolovaná instalace: úmyslně se nepoužívá",
@@ -439,6 +440,7 @@
439
440
  "ui.why.session": "ve frontě {n, plural, one {je # úkol} few {jsou # úkoly} other {je # úkolů}}",
440
441
  "ui.why.frontier": "žádné otevřené úkoly – zjistit, co výzkumu ještě chybí",
441
442
  "ui.wait.title": "čeká ({n})",
443
+ "ui.wait.conflicts": "rozpory k rozhodnutí: {n} ({ids}) (menu: Co čeká · strom conflict show <ID>)",
442
444
  "ui.wait.stories": "nové verze schválených vyprávění – přečíst a rozhodnout: {ids} (menu: Co čeká · strom story show <ID>)",
443
445
  "ui.wait.sent": "strom poslaný z aplikace Strom ({n}, {changes, plural, one {# změna} few {# změny} other {# změn}}) – zapsat, nebo zahodit (menu: Co čeká · strom sync --inbox)",
444
446
  "ui.wait.images": "snímky {images} z {book}",
@@ -477,6 +479,14 @@
477
479
  "ui.wait.kind.send": "z aplikace Strom",
478
480
  "ui.wait.kind.tune": "čtení snímků",
479
481
  "ui.wait.kind.other": "jiné",
482
+ "ui.wait.kind.conflict": "rozpor",
483
+ "ui.wait.conflict.app": "v aplikaci Strom: {value}",
484
+ "ui.wait.conflict.research": "ve výzkumu: {value}",
485
+ "ui.wait.conflict.archive": "v Archivu Stromu: {value}",
486
+ "ui.wait.conflict.take.user": "Platí hodnota z aplikace Strom",
487
+ "ui.wait.conflict.take.research": "Platí hodnota ve výzkumu",
488
+ "ui.wait.conflict.take.archive": "Platí hodnota v Archivu Stromu",
489
+ "ui.wait.conflict.open": "Nechat otevřený",
480
490
  "ui.wait.letter.todo": "dopis k odeslání",
481
491
  "ui.wait.family.todo": "dotaz k odeslání",
482
492
  "ui.wait.ago.today": "dnes",
@@ -555,6 +565,7 @@
555
565
  "ui.doc.program": "program",
556
566
  "ui.doc.git": "git (historie)",
557
567
  "ui.doc.home": "složka výzkumu",
568
+ "ui.doc.gitdir": "git ve složce výzkumů",
558
569
  "ui.doc.shared": "snímky a katalog",
559
570
  "ui.doc.trees": "rodokmeny",
560
571
  "ui.doc.disk": "místo vedle výzkumů",
@@ -833,8 +844,21 @@
833
844
  "ui.doc.beta": "beta verze",
834
845
  "ui.doc.backup": "záloha",
835
846
  "ui.backup.made": "Záloha před přechodem z {from} na {to}: {path} ({size}).",
847
+ "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.",
848
+ "ui.backup.what.title": "Co zálohovat",
849
+ "ui.backup.what.home": "Celá složka {path} ({size}): všechny rodokmeny i s historií.",
850
+ "ui.backup.what.shared": "V ní i shared ({size}): skeny, originály z aplikace Strom a z telefonu, konektory.",
851
+ "ui.backup.what.outside": "Mimo ni, zálohovat také: {path} ({size}).",
852
+ "ui.backup.what.copy": "Zkopírovaná celá na jiný disk nebo do složky v cloudu je zálohou; po vrácení ji strom načte znovu ({strom} check).",
853
+ "ui.backup.what.backups": "Její podsložka backups (na disku navíc {size}) jsou zálohy, které strom udělal sám před jinou verzí; kopie jinam ji nepotřebuje.",
854
+ "ui.backup.what.pack": "Jeden rodokmen v jednom souboru ZIP, k poslání nebo uložení: {strom} pack (v menu: {menu}).",
855
+ "ui.backup.what.nohome": "Složka výzkumů zatím není: zvolí ji {strom} setup.",
836
856
  "ui.backup.last": "Poslední záloha (před přechodem z {from} na {to}, {date}): {path}",
837
- "ui.backup.readme": "Strom výzkum – záloha\n\nVytvořena {date}, před přechodem ze stromu {from} na {to}.\n\nUvnitř:\n- trees: všechny rodokmeny tohoto počítače, každý celou svou složkou i s historií (.git);\n- settings: nastavení stromu s klíči pečetí a přihlášeními, jak byly na tomto počítači.\n\nNení uvnitř: sdílené obrázky (složka shared/media). Každý je tam uložen podle svého obsahu a strom žádný nemaže; každá verze stromu čte tytéž. Vynecháno je i to, co strom vytvoří znovu sám (náhledy skenů, výřezy).\n\nVrácení rodokmenu: zkopírovat jeho složku z trees zpět tam, kde rodokmeny jsou (místo té, která tam je, nebo vedle ní pod jiným jménem), a spustit {strom}: strom ho zkontroluje ({strom} check).",
857
+ "ui.backup.readme": "Strom výzkum – záloha\n\nVytvořena {date}, před přechodem ze stromu {from} na {to}.\n\nUvnitř:\n- trees: všechny rodokmeny tohoto počítače, každý celou svou složkou i s historií (.git);\n- shared: sdílená složka – konektory a nástroje, co čeká na uložení, a sdílené obrázky (shared/media): {media}\n- settings: nastavení stromu s klíči pečetí a přihlášeními, jak byly na tomto počítači.\n\nVynecháno: co strom vytvoří znovu sám (náhledy skenů, výřezy, mezipaměť).\n\nVrácení rodokmenu: zkopírovat jeho složku z trees zpět tam, kde rodokmeny jsou (místo té, která tam je, nebo vedle ní pod jiným jménem), a spustit {strom}: strom ho zkontroluje ({strom} check).",
858
+ "ui.backup.media.linked": "{n, plural, one {# obrázek} few {# obrázky} other {# obrázků}} ({size}), propojené: tytéž soubory jako ve shared/media, místo nezabírají dvakrát a zůstanou tu, ať se se sdílenou složkou stane cokoli; kopie této zálohy na jiný disk je vezme celé;",
859
+ "ui.backup.media.copied": "{n, plural, one {# obrázek} few {# obrázky} other {# obrázků}} ({size}), zkopírované;",
860
+ "ui.backup.media.left": "chybí – {n, plural, one {# obrázek} few {# obrázky} other {# obrázků}} ({size}): na disku není místo na jejich kopii; každý zůstává ve shared/media, uložený podle svého obsahu, a strom žádný nemaže;",
861
+ "ui.backup.media.none": "zatím žádné;",
838
862
  "ui.trees.locked": "zamčeno: zapsal strom {by}",
839
863
  "ui.setup.stromapp": "Aplikace Strom (zdarma, v prohlížeči) ukáže výzkum jako rodokmen – u každého zápisu jeho obrázek vyříznutý ze skenu, příběhy předků – a když agent pracuje, sleduje výzkum živě. Používat ji?",
840
864
  "ui.setup.stromapp.install": "Ano – nainstalovat ji teď (otevře se v prohlížeči, strom řekne, kam kliknout)",
@@ -940,6 +964,9 @@
940
964
  "ui.show.ages": "věk {ages}",
941
965
  "ui.show.with": "uvedeni: {who}",
942
966
  "ui.show.retracted": "(odvoláno: {reason})",
967
+ "ui.show.removed": "odebráno ({day}, {reason})",
968
+ "ui.show.removed.app": "odebráno v aplikaci Strom ({day}) – vrátit: {undo}",
969
+ "ui.show.removed.mark": "(odebráno)",
943
970
  "ui.show.relof": "{rel} u {who}",
944
971
  "ui.show.sex.M": "muž",
945
972
  "ui.show.sex.F": "žena",
@@ -1010,6 +1037,8 @@
1010
1037
  "ui.help.cmd.intake": "Přidat podklady od rodiny: dokumenty, fotky, rodokmen, co je známo",
1011
1038
  "ui.help.cmd.sync": "Načíst úpravy z aplikace Strom nebo z jiného rodokmenu (nejdřív ukáže, zapíše s --apply)",
1012
1039
  "ui.help.cmd.sync.undo": "Vrátit, co poslání přineslo do výzkumu",
1040
+ "ui.help.cmd.conflict.list": "K rozhodnutí – rozpory: tentýž údaj zapsaný různě",
1041
+ "ui.help.cmd.conflict.resolve": "Rozhodnout rozpor: která hodnota platí a proč",
1013
1042
  "ui.help.cmd.sync.discard": "Zahodit čekající poslání z aplikace Strom",
1014
1043
  "ui.help.cmd.task.list": "Úkoly výzkumu",
1015
1044
  "ui.help.cmd.task.wake": "Odpovědět na úkol, který čeká na odpověď; vrátí se agentovi",
@@ -1025,10 +1054,16 @@
1025
1054
  "ui.help.cmd.find": "Najít osobu, záznam nebo místo podle jména",
1026
1055
  "ui.help.cmd.app": "Otevřít výzkum v aplikaci Strom",
1027
1056
  "ui.help.cmd.app.install": "Nainstalovat aplikaci Strom z prohlížeče",
1057
+ "ui.help.cmd.live": "Zda aplikace Strom sleduje výzkum živě: most pro ni a jeho adresa",
1028
1058
  "ui.help.cmd.live.start": "Nechat aplikaci Strom sledovat výzkum živě",
1029
1059
  "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)",
1030
1060
  "ui.help.cmd.export.gedcom": "Uložit rodokmen jako soubor GEDCOM",
1031
1061
  "ui.help.cmd.pack": "Zabalit výzkum do jednoho souboru ZIP, aby v něm mohl pokračovat někdo jiný",
1062
+ "ui.help.cmd.backup": "Co zálohovat: složka se všemi výzkumy a sdílenými obrázky, kde je a jak je velká",
1063
+ "ui.help.cmd.phone": "Propojení s telefonem: fotky dokumentů z telefonu v domácí síti – zda je zapnuté, spárované telefony",
1064
+ "ui.help.cmd.phone.on": "Zapnout propojení s telefonem (jen člověk sám)",
1065
+ "ui.help.cmd.phone.qr": "Ukázat QR kód ke spárování telefonu (jeden telefon, 10 minut; propojení zapnuté)",
1066
+ "ui.help.cmd.phone.off": "Vypnout propojení s telefonem; spárované telefony zůstávají spárované",
1032
1067
  "ui.help.cmd.unpack": "Rozbalit rodokmen, který někdo poslal",
1033
1068
  "ui.help.cmd.tidy": "Uvolnit místo, které si strom drží vedle výzkumu (nejdřív ukáže, pak se zeptá)",
1034
1069
  "ui.help.cmd.media.calibrate": "Vyladit velikost snímků pro agenta a model výzkumu na jeho vlastních doložených záznamech (placená práce modelu; cena se řekne předem)",
@@ -1053,7 +1088,9 @@
1053
1088
  "ui.help.examples": "Příklady:",
1054
1089
  "ui.help.details": "Podrobnosti a volby (anglicky): strom help {cmd}",
1055
1090
  "ui.help.agentonly": "strom {cmd}: příkaz, který používá agent při práci – podrobnosti (anglicky): strom help {cmd}",
1056
- "ui.help.notarchive": "strom {cmd}: v Archivu Stromu se nepoužívá (výzkum se zapíná v menu: Nastavení)",
1091
+ "ui.help.notarchive": "strom {cmd}: v Archivu Stromu se nepoužívá (výzkum se zapíná v menu, první položka)",
1092
+ "ui.help.notwaiting": "strom {cmd}: funguje, až bude na tomto počítači AI agent (nainstalovat nebo vybrat: menu, první položka)",
1093
+ "ui.help.english": "strom {cmd}: nápověda je jen anglicky: strom help {cmd}",
1057
1094
  "ui.help.group": "strom {cmd} <příkaz>",
1058
1095
  "ui.help.unknown": "neznámý příkaz „{cmd}“ – všechny příkazy: strom help --human",
1059
1096
  "ui.help.human": "Nápověda výše je pro agenta. Nápověda pro člověka v češtině: strom help{cmd} --human",
@@ -1065,6 +1102,7 @@
1065
1102
  "ui.tidy.kind.excerpts": "Výřezy ze skenů (udělají se znovu, až budou potřeba)",
1066
1103
  "ui.tidy.kind.fetch": "Pracovní složky přerušených stahování",
1067
1104
  "ui.tidy.kind.converted": "Fotky a strany PDF převedené pro čtení (vytvoří se znovu, až budou potřeba)",
1105
+ "ui.tidy.kind.thumbs": "Malé náhledy materiálů pro aplikaci Strom (vytvoří se znovu, až budou potřeba)",
1068
1106
  "ui.tidy.kind.kept": "Starší poslání z aplikace Strom, už zapsaná (změny jsou v historii)",
1069
1107
  "ui.tidy.kind.inbox": "Dávná poslání z aplikace Strom, která ve schránce nechal starší strom",
1070
1108
  "ui.tidy.kind.pointers": "Zbytky skončených pracovních sezení",
@@ -1232,6 +1270,9 @@
1232
1270
  "ui.sync.partner.new": "{n}. {who}: druhý rodič v jejich rodině — {name}",
1233
1271
  "ui.sync.partner.gone": "{n}. {who}: už není v jejich rodině — {name}",
1234
1272
  "ui.sync.person.gone": "{n}. už v něm není: {name}",
1273
+ "ui.sync.person.removed": "{n}. {name}: odebrání dřívějším posláním",
1274
+ "ui.sync.do.removed": "nic se nezapíše: odebrání platí",
1275
+ "ui.sync.do.removed.conflict": "úpravy se uloží k odebrané osobě; zda se vrátí do stromu, je rozpor k rozhodnutí",
1235
1276
  "ui.sync.place.coords": "{n}. {place}: poloha na mapě {from} → {at}",
1236
1277
  "ui.sync.place.located": "{n}. {place}: poloha na mapě {at}",
1237
1278
  "ui.sync.do.add": "přidá se jako vodítko",
@@ -1358,13 +1399,14 @@
1358
1399
  "ui.phone.page.last": "naposledy {time}",
1359
1400
  "ui.phone.page.switcher.title": "Stromy výzkumu na tomto počítači",
1360
1401
  "ui.phone.page.mark.archive": "archiv",
1361
- "ui.phone.page.archive": "Archiv – nové materiály čekají na zařazení.",
1362
- "ui.phone.page.archive.photos": "Fotky jde poslat jako do každého výzkumu.",
1402
+ "ui.phone.page.archive": "Archiv Stromu – fotky se ukládají do archivu na počítači.",
1403
+ "ui.phone.page.archive.photos": "Ke každé fotce jde připsat osobu a poznámku.",
1363
1404
  "ui.phone.page.btn.photo": "Vyfotit",
1364
1405
  "ui.phone.page.btn.photoMore": "Vyfotit další",
1365
1406
  "ui.phone.page.btn.gallery": "Z galerie",
1366
1407
  "ui.phone.page.sheet.title": "Fotky k odeslání",
1367
1408
  "ui.phone.page.sheet.to": "do výzkumu {tree}",
1409
+ "ui.phone.page.sheet.to.archive": "do Archivu Stromu {tree}",
1368
1410
  "ui.phone.page.collapse": "Sbalit",
1369
1411
  "ui.phone.page.close": "Zavřít",
1370
1412
  "ui.phone.page.home.button": "Ikona na ploše",
@@ -1401,6 +1443,11 @@
1401
1443
  "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.",
1402
1444
  "ui.phone.page.commit.done": "Předáno výzkumu: {n, plural, one {# fotka} few {# fotky} other {# fotek}}",
1403
1445
  "ui.phone.page.commit.next": "Další dávka",
1446
+ "ui.phone.page.commit.archive": "Uložit do Archivu Stromu",
1447
+ "ui.phone.page.commit.wait.archive": "Uloží se po odeslání poslední fotky…",
1448
+ "ui.phone.page.commit.later.archive": "Když se stránka zavře bez uložení, archiv dávku uloží sám později.",
1449
+ "ui.phone.page.commit.done.archive": "Uloženo do Archivu Stromu: {n, plural, one {# fotka} few {# fotky} other {# fotek}}",
1450
+ "ui.phone.page.commit.cancel.archive": "Zrušit uložení",
1404
1451
  "ui.phone.page.strip.sending": "{n, plural, one {# fotka} few {# fotky} other {# fotek}} · odesílá se {a} z {b}",
1405
1452
  "ui.phone.page.strip.sent": "{n, plural, one {# fotka} few {# fotky} other {# fotek}} · odesláno, nepředáno",
1406
1453
  "ui.phone.page.strip.offline": "{n, plural, one {# fotka} few {# fotky} other {# fotek}} · čeká na spojení",
@@ -1494,10 +1541,13 @@
1494
1541
  "ui.trees.use": "teď se pracuje na „{name}“ ({root})",
1495
1542
  "ui.error.live.not-started": "most se nespustil",
1496
1543
  "ui.error.live.not-started.hint": "proč, ukáže strom live serve",
1544
+ "ui.error.live.not-started.why.hint": "záznam mostu (.strom/live.log) říká: {why} – víc ukáže strom live serve",
1545
+ "ui.error.disk.full": "na disku se složkou {where} není místo – uvolnit tam místo a zkusit znovu; nic se neztratilo",
1497
1546
  "ui.error.live.alive": "most se nepodařilo ukončit",
1498
1547
  "ui.error.live.alive.hint": "jeho proces je v .strom/live.json – ukončit ho ve správci úloh systému",
1499
1548
  "ui.sync.undone": "Synchronizace {input} vrácena: {n, plural, one {# krok} few {# kroky} other {# kroků}}.",
1500
1549
  "ui.sync.wasundone": "Synchronizace {input} už vrácená je.",
1550
+ "ui.sync.undone.stillRemoved": "{name} ({person}) zůstává mimo strom: tak rozhodl rozpor {id}; zpět do stromu: strom conflict resolve {id} --take research --reasoning \"<proč>\" --reason \"<proč>\"",
1501
1551
  "ui.sync.bridge.large": "strom je na poslání moc velký — vyexportovat ho jako GEDCOM a načíst ho ve výzkumu (strom sync <soubor>)",
1502
1552
  "ui.sync.bridge.other": "tento strom patří jinému výzkumu",
1503
1553
  "ui.sync.bridge.foreign": "tohle nevypadá jako rodokmen tohoto výzkumu — vyexportovat ho a načíst ve výzkumu jako jiný rodokmen",
@@ -1531,6 +1581,12 @@
1531
1581
  "ui.check.unproven": "pozn.: osob, které nestojí na žádném vlastním záznamu: {n} → strom person list --unproven",
1532
1582
  "ui.check.counter": "počítadlo {prefix} zaostává za existujícími čísly (srovná se samo při příštím zápisu)",
1533
1583
  "ui.check.unwritable": "zápis sem je odepřen – proč, řekne strom doctor",
1584
+ "ui.check.notdownloaded": "z iCloudu ještě nestaženo: {n, plural, one {# soubor} few {# soubory} other {# souborů}} výzkumu (první: {first}) – jsou tu jen zástupné soubory, nic se nesmazalo",
1585
+ "ui.check.notdownloaded.hint": "otevřít složku výzkumu ve Finderu a stáhnout ji (nebo složku z iCloud Drive vyjmout), pak znovu zkontrolovat – ne strom repair",
1586
+ "ui.check.sharedmissing": "na tomto počítači chybí ve sdílené složce: {n, plural, one {# soubor} few {# soubory} other {# souborů}} (první: {first}) – rodinné materiály a obrázky leží vedle výzkumu, ne v jeho složce",
1587
+ "ui.check.sharedmissing.hint": "vrátit ze zálohy celou složku Strom (podsložku shared); kam patří první: {show}",
1588
+ "ui.error.tree.not-downloaded": "z iCloudu ještě nestaženo: {n, plural, one {# soubor} few {# soubory} other {# souborů}} výzkumu (první: {first}) – nic se nezapsalo",
1589
+ "ui.error.tree.not-downloaded.hint": "otevřít složku výzkumu ve Finderu a soubory stáhnout (nebo složku z iCloud Drive vyjmout), pak spustit znovu – ne strom repair",
1534
1590
  "ui.export.file": "{file} ({for}) — {persons, plural, one {# osoba} few {# osoby} other {# osob}} · {families, plural, one {# rodina} few {# rodiny} other {# rodin}} · {facts, plural, one {# údaj} few {# údaje} other {# údajů}} · {sources, plural, one {# pramen} few {# prameny} other {# pramenů}}{skipped}",
1535
1591
  "ui.export.for.strom": "pro aplikaci Strom",
1536
1592
  "ui.export.for.strom.images": "pro aplikaci Strom, s obrázky",
@@ -1752,6 +1808,9 @@
1752
1808
  "ui.link.new.into.ask": "Výzkum „{name}“ (založený {when}) strom z aplikace Strom zatím nedostal. Přidat strom do něj?",
1753
1809
  "ui.link.new.into": "Do výzkumu „{name}“",
1754
1810
  "ui.link.new.into.new": "Založit nový výzkum",
1811
+ "ui.link.new.trees.ask": "Na tomto počítači už rodokmeny jsou. Otevřít některý z nich v aplikaci Strom, nebo začít nový výzkum se stromem z aplikace?",
1812
+ "ui.link.new.trees.open": "„{name}“ v aplikaci Strom ({kind})",
1813
+ "ui.link.new.trees.new": "Nový výzkum se stromem z aplikace",
1755
1814
  "ui.link.new.empty": "Strom, který aplikace Strom poslala, nemá žádné osoby – není co zkoumat. Výzkum „{name}“ tu je, zatím prázdný.",
1756
1815
  "ui.link.new.failed": "Aplikace Strom strom předat nemohla. Výzkum „{name}“ tu je, zatím prázdný: zkusit to z aplikace znovu.",
1757
1816
  "ui.link.new.taken": "✓ Rodokmen je ve výzkumu „{name}“: osob {persons}, rodin {families}, pramenů {sources} – jako vodítka; co doloží záznamy, najde agent.",
@@ -1807,10 +1866,13 @@
1807
1866
  "ui.intake.missing": "Nenalezeno: {path} – zkontrolovat cestu, nebo soubor či složku přetáhnout myší.",
1808
1867
  "ui.intake.scans": "Ve složce {folder} {n, plural, one {je # obrázek. Je to rodinný dokument nebo fotka?} few {jsou # obrázky. Jsou to rodinné dokumenty a fotky?} other {je # obrázků. Jsou to rodinné dokumenty a fotky?}} (ne: skeny matriky nebo jiné knihy)",
1809
1868
  "ui.intake.book": "{folder}: skeny matriky nebo jiné knihy patří k té knize – stačí agentovi v rozhovoru říct, odkud jsou, a zaeviduje si je.",
1869
+ "ui.intake.scans.archive": "Ve složce {folder} {n, plural, one {je # obrázek. Uložit ho do Archivu Stromu jako rodinný dokument?} few {jsou # obrázky. Uložit je do Archivu Stromu jako rodinné dokumenty?} other {je # obrázků. Uložit je do Archivu Stromu jako rodinné dokumenty?}}",
1870
+ "ui.intake.book.archive": "{folder}: neuloženo.",
1810
1871
  "ui.intake.known": "Tyhle podklady už ve výzkumu jsou – nic nepřibylo.",
1811
1872
  "ui.intake.done": "✓ Přidáno do výzkumu: {n}. Agent to projde při další práci.",
1812
- "ui.intake.done.archive": "✓ Uloženo do Archivu Stromu: {n}. Projde se, až se zapne výzkum.",
1873
+ "ui.intake.done.archive": "✓ Uloženo do Archivu Stromu: {n}.",
1813
1874
  "ui.intake.done.waiting": "✓ Uloženo do výzkumu: {n}. Agent to projde, až bude na počítači.",
1875
+ "ui.intake.app": "V aplikaci u osoby → Materiály.",
1814
1876
  "ui.intake.tree": "{id} rodokmen převzat – osoby: {persons} · rodiny: {families} · údaje: {events}, vše jako vodítka (pramen {source})",
1815
1877
  "ui.intake.tree.matched": " – už ve výzkumu: {n}",
1816
1878
  "ui.intake.tree.back": "Je to rodokmen tohoto výzkumu, který se vrací: strom sync \"{file}\" ukáže i to, co se v něm změnilo.",
@@ -1871,11 +1933,12 @@
1871
1933
  "ui.doc.terminal": "terminál pro okna",
1872
1934
  "ui.doc.terminal.missing": "zvolený {name} tu není nainstalovaný: okna se otevírají ve výchozím systému",
1873
1935
  "ui.doc.terminal.unknown": "terminál „{value}“ tu strom nezná: okna se otevírají ve výchozím systému",
1874
- "ui.settings.maintenance": "Údržba: kontrola instalace, místo na disku, opravy",
1936
+ "ui.settings.maintenance": "Údržba: kontrola instalace, místo na disku, opravy, zálohy",
1875
1937
  "ui.settings.maintenance.tidy": "Údržba: kontrola instalace, místo na disku (jde uvolnit {size})",
1876
1938
  "ui.settings.maintenance.update": "Údržba: kontrola instalace, místo na disku, aktualizace na {version}",
1877
1939
  "ui.maintenance.title": "Údržba",
1878
1940
  "ui.maintenance.tidy": "Místo na disku: strom si vedle výzkumu drží {size}",
1941
+ "ui.maintenance.backup": "Co zálohovat (celou složku výzkumu, nebo zabalit)",
1879
1942
  "ui.alone.title": "Samostatná práce agenta",
1880
1943
  "ui.alone.minutes": "Čas na jeden úkol: {minutes} min",
1881
1944
  "ui.alone.minutes.ask": "Kolik minut smí trvat jeden úkol? (5–600; 0 vrátí zpět)",
@@ -1965,6 +2028,7 @@
1965
2028
  "wait.group.connectors": "Stahovače",
1966
2029
  "wait.group.app": "Aplikace Strom",
1967
2030
  "wait.group.tune": "Čtení snímků",
2031
+ "wait.group.conflicts": "K rozhodnutí – rozpory",
1968
2032
  "log.session.start": "Agent začal: {name}",
1969
2033
  "log.session.close": "Agent skončil: {name}",
1970
2034
  "log.lesson.add": "Poznatek: {name}",
@@ -1976,6 +2040,9 @@
1976
2040
  "log.hypothesis.decide": "Hypotéza rozhodnuta: {name}",
1977
2041
  "log.conflict.add": "Záznamy si odporují: {name}",
1978
2042
  "log.conflict.resolve": "Rozpor vyřešen: {name}",
2043
+ "log.conflict.decided": "Rozpor rozhodnut: {name} – {reasoning}",
2044
+ "log.conflict.decided.removed": "Rozpor rozhodnut: {name} – {reasoning} → odebrání ze stromu",
2045
+ "log.conflict.decided.restored": "Rozpor rozhodnut: {name} – {reasoning} → návrat do stromu",
1979
2046
  "log.conflict.edit": "Rozpor s novou úpravou: {name}",
1980
2047
  "log.place.add": "Nové místo: {name}",
1981
2048
  "log.place.edit": "Upřesněné místo: {name}",
@@ -2142,6 +2209,7 @@
2142
2209
  "ui.pack.send": "Soubor stačí poslat. Příjemce ho rozbalí a dvojklikem spustí Windows.cmd nebo macOS.command uvnitř: strom se nainstaluje, pokud chybí, a výzkum se otevře (kdo už strom má: strom unpack „<soubor>“).",
2143
2210
  "ui.pack.readme.file": "JAK-NAVAZAT.txt",
2144
2211
  "ui.pack.readme": "Výzkum „{name}“ – jak na něj navázat\n====================================\n\n1. Rozbalit celý soubor ZIP: ve Windows pravým tlačítkem – Extrahovat vše; na Macu dvojklikem.\n\n2. V rozbalené složce spustit dvojklikem:\n Windows: Windows.cmd\n macOS: macOS.command (poprvé pravým tlačítkem – Otevřít; když to macOS nedovolí:\n Nastavení systému – Soukromí a zabezpečení – Přesto otevřít)\n Linux: v terminálu: bash Linux.sh\n Nainstaluje Strom Research, pokud ještě není (oficiálním instalátorem), dá výzkum\n na místo – rodokmen mezi ostatní, snímky do sdílené složky, všechno zkontroluje –,\n převezme ho na tento počítač a otevře strom.\n\n3. Dál: v nabídce stromu rozhovor s agentem.\n\nBez spouštěčů: nainstalovat strom ručně\n Windows (PowerShell): {win}\n macOS, Linux (Terminál): {unix}\npak: strom unpack \"<tento soubor ZIP>\" (napsat strom unpack a mezeru, přetáhnout soubor\ndo terminálu, Enter) – nebo v nabídce stromu: jiný rodokmen – rodokmen, který někdo poslal.\n\nSnímky, na kterých jsou zápisy, v balíčku jsou. Ostatní stránky knih (prohledané,\nnic se na nich nenašlo) kvůli velikosti ne – až budou potřeba, strom je stáhne\nz archivu znovu.\n",
2212
+ "ui.pack.readme.archive": "Archiv Stromu „{name}“ – jak na něj navázat\n===========================================\n\n1. Rozbalit celý soubor ZIP: ve Windows pravým tlačítkem – Extrahovat vše; na Macu dvojklikem.\n\n2. V rozbalené složce spustit dvojklikem:\n Windows: Windows.cmd\n macOS: macOS.command (poprvé pravým tlačítkem – Otevřít; když to macOS nedovolí:\n Nastavení systému – Soukromí a zabezpečení – Přesto otevřít)\n Linux: v terminálu: bash Linux.sh\n Nainstaluje Strom Research, pokud ještě není (oficiálním instalátorem), dá archiv\n na místo – rodokmen mezi ostatní, snímky do sdílené složky, všechno zkontroluje –,\n převezme ho na tento počítač a otevře nabídku stromu.\n\n3. Dál v aplikaci Strom: v nabídce stromu Aplikace Strom – rodokmen, jeho osoby a prameny\n (v terminálu: strom app). Údaje se zapisují tam, archiv je uchová.\n\nBez spouštěčů: nainstalovat strom ručně\n Windows (PowerShell): {win}\n macOS, Linux (Terminál): {unix}\npak: strom unpack \"<tento soubor ZIP>\" (napsat strom unpack a mezeru, přetáhnout soubor\ndo terminálu, Enter) – nebo v nabídce stromu: jiný rodokmen – rodokmen, který někdo poslal.\n\nSnímky, na kterých jsou zápisy, i vlastní materiál rodiny v balíčku jsou.\n",
2145
2213
  "ui.unpack.file": "Přetáhnout sem soubor ZIP (nebo napsat, kde je; 0 vrátí zpět):",
2146
2214
  "ui.unpack.what": "„{name}“ (ze stromu {strom}, uloženo {date}) · snímky: {images}{connectors} → {root}",
2147
2215
  "ui.unpack.ask": "Dát ho sem a převzít na tento počítač?",
@@ -2266,6 +2334,13 @@
2266
2334
  "ui.conflict.titleBefore": "titul před jménem",
2267
2335
  "ui.conflict.titleAfter": "titul za jménem",
2268
2336
  "ui.conflict.parents": "rodiče",
2337
+ "ui.conflict.removed": "ve stromu",
2338
+ "ui.conflict.removed.ours": "odebrání v aplikaci Strom ({day}, {sync})",
2339
+ "ui.conflict.removed.theirs": "úpravy v jiné kopii aplikace",
2340
+ "ui.conflict.removing.ours": "pozdější úpravy v jiné kopii aplikace",
2341
+ "ui.conflict.removing.research": "pozdější úpravy ve výzkumu",
2342
+ "ui.conflict.removing.both": "pozdější úpravy v jiné kopii aplikace i ve výzkumu",
2343
+ "ui.conflict.removing.theirs": "odebrání ve starší kopii aplikace",
2269
2344
  "ui.sync.family.union": "{n}. {who}: svazek – {union}",
2270
2345
  "ui.sync.do.family.union": "převezme se (žádný záznam ho nedokládá)",
2271
2346
  "ui.sync.union.married": "manželství",
@@ -2282,6 +2357,12 @@
2282
2357
  "ui.conflict.resolution": "rozhodnutí",
2283
2358
  "ui.conflict.reasoning": "proč",
2284
2359
  "ui.conflict.note": "poznámka",
2360
+ "ui.conflict.earlier": "dříve rozhodnuto{side}: {resolution} — {reasoning}",
2361
+ "ui.conflict.earlier.user": "dříve rozhodl uživatel{side}: {resolution} — {reasoning}",
2362
+ "ui.conflict.earlier.agent": "dříve rozhodnuto ve výzkumu{side}: {resolution} — {reasoning}",
2363
+ "ui.conflict.earlier.side.user": "hodnota uživatele",
2364
+ "ui.conflict.earlier.side.research": "hodnota výzkumu",
2365
+ "ui.conflict.again": "znovu rozhodnuto podle {sources}: {reason}",
2285
2366
  "ui.conflict.left": "údaj {fact} zůstává, jak byl ({value}); místo něj hodnota uživatele: strom conflict resolve {id} --take user",
2286
2367
  "ui.error.conflict.take": "--take je user, nebo research, ne „{take}“",
2287
2368
  "ui.error.conflict.no-edit": "{id} není rozpor úpravy z aplikace Strom – hodnota se mění příkazy výzkumu a rozpor se pak uzavře přes --resolution",
@@ -2696,5 +2777,29 @@
2696
2777
  "fix.differs": "Liší se: dříve {before}, nově {now}.",
2697
2778
  "fix.more": "Nově přečteno navíc: {now}.",
2698
2779
  "fix.model.unknown": "nezaznamenaný model",
2699
- "fix.model.own": "vlastní model"
2780
+ "fix.model.own": "vlastní model",
2781
+ "ui.error.seal.foreign": "výzkum „{name}“ je zapečetěný na jiném počítači (nebo tu chybí nastavení stromu): číst jde, zapisovat až po převzetí na tomto počítači",
2782
+ "ui.error.seal.foreign.hint": "převzít ve vlastním terminálu: {set} – nebo v nabídce (strom)",
2783
+ "ui.seal.ask": "Převzít „{name}“ na tomto počítači? Záznamy jsou zkontrolované a beze změn.",
2784
+ "ui.seal.adopted": "„{name}“ je teď zapečetěný na tomto počítači – zapisovat jde tady",
2785
+ "ui.seal.already": "„{name}“ je na tomto počítači zapečetěný už",
2786
+ "ui.seal.problems": "nepřevzato: záznamy nesedí se svou pečetí – co, řekne strom check",
2787
+ "ui.menu.seal": "Zapečetěno na jiném počítači: zapisovat tu jde až po převzetí (strom seal adopt).",
2788
+ "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",
2789
+ "ui.check.foreignseal": "zapečetěno na jiném počítači (nebo tu chybí nastavení stromu): číst jde, zapisovat až po převzetí tady",
2790
+ "ui.check.foreignseal.hint": "převzít ve vlastním terminálu: strom seal adopt – nebo v nabídce (strom)",
2791
+ "ui.why.seal.human": "výzkum je zapečetěný na jiném počítači: zapisovat tu jde až po převzetí (potvrzuje se v tomto terminálu)",
2792
+ "ui.why.seal.agent": "výzkum je zapečetěný na jiném počítači: číst jde, zapisovat až po převzetí – to spouští uživatel ve vlastním terminálu (strom seal adopt), agent nikdy",
2793
+ "ui.trees.state.research": "výzkum",
2794
+ "ui.trees.state.waiting": "výzkum čeká na AI agenta",
2795
+ "ui.trees.state.archive": "Archiv Stromu",
2796
+ "ui.trees.foreign": "zapečetěno na jiném počítači",
2797
+ "ui.trees.missing": "rodokmen „{name}“ už není v {path} (přesunutý?) – přidat novou cestu: strom trees use \"<složka>\" · už nechtěný: strom trees forget \"{name}\"",
2798
+ "ui.trees.forgot": "„{name}“ je na tomto počítači zapomenutý – nic se nesmazalo",
2799
+ "ui.trees.moved": "rodokmen přesunutý jinam: zadat jeho novou složku",
2800
+ "ui.trees.moved.ask": "Složka rodokmenu:",
2801
+ "ui.error.tree.moved": "rodokmen „{name}“ už není v {path} (přesunutý?) – jiný se místo něj neotevře",
2802
+ "ui.error.tree.moved.hint": "přidat novou cestu: strom trees use \"<složka>\" · jiný rodokmen: strom trees use \"<název>\" · už nechtěný: strom trees forget \"{name}\"",
2803
+ "ui.setup.found": "rodokmeny tady:",
2804
+ "ui.setup.found.foreign": "zapečetěno na jiném počítači – převzít: {command}"
2700
2805
  }