├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── Languages ├── ReadMe.md ├── de.js ├── en.js ├── en_full.js ├── es.js ├── fa.js └── ru.js ├── README.md ├── v1.0.0.md ├── v1.0.1.md ├── v1.1.0.assets ├── ezgif-2-374ff1641ec6.webp ├── ezgif-2-3d12ce069fb6.webp ├── ezgif-2-7692c07605e3.webp ├── ezgif-2-e1435bb50207.webp ├── image-20200627125828892.png ├── image-20200627130006462.png ├── image-20200627130658048.png └── image-20200627130816054.png ├── v1.1.0.md ├── v1.2.0.md ├── v1.3.0.md ├── v1.3.1.md ├── v1.3.3.md ├── v1.3.4.md └── v1.4.0.md /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | patreon: jiscoMe 4 | custom: ['paypal.me/jisco'] 5 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /Languages/ReadMe.md: -------------------------------------------------------------------------------- 1 | # How to add a new translation 2 | 3 | 1. Translate one of the existing files 4 | * please don't change the keys :no_good_man: 5 | * if you can't find your language code [here](https://github.com/DevExpress/DevExtreme/tree/20_2/js/localization/messages) the components don't have appropiate translations for your language. In this case please use *en_full.js* because this is the complete translation file, including some of the component translations. 6 | * Example: 7 | * en.js 8 | * newVersionTitle: "New Version available", 9 | * de.js 10 | * newVersionTitle: "Neue Version verfügbar", 11 | 2. Save your file with the language code according to ISO 639-1 12 | * http://www.mathguide.de/info/tools/languagecode.html 13 | * eg: Languages/fr.js 14 | * i'm using the code to add the correct flag using this library 15 | * https://github.com/lipis/flag-icon-css 16 | 3. Make a pull request :rocket: 17 | -------------------------------------------------------------------------------- /Languages/de.js: -------------------------------------------------------------------------------- 1 | export const Dictionary = { 2 | orderBy: { 3 | label: "Sortierung", 4 | none: "Keine", 5 | }, 6 | languages: { 7 | en: "Englisch", 8 | de: "Deutsch", 9 | fa: "Farsi", 10 | es: "Spanisch", 11 | ru: "Russisch" 12 | }, 13 | dateSettings: { 14 | title: "Datumsformate", 15 | monthYear: "Monat und Jahr", 16 | fullDate: "Volles Datum" 17 | }, 18 | fontSettings: { 19 | fonts: "Schriftarten", 20 | mainFont: "Hauptschriftart", 21 | letterSpacing: "Buchstabenabstand", 22 | menuFont: "Menü", 23 | editor: { 24 | title: "Bearbeitung", 25 | editorFont: "Editor", 26 | labelFont: "Beschriftung" 27 | } 28 | }, 29 | newVersionTitle: "Neue Version verfügbar", 30 | newVersion: "Es ist eine neue Version verfügbar.", 31 | innovations: "Neuerungen", 32 | installWhenClosing: "Installieren nach Beenden", 33 | installNowAndRestart: "Jetzt installieren", 34 | new: 'Neu', 35 | load: 'Laden', 36 | cancel: 'Abbrechen', 37 | save: 'Speichern', 38 | saveAndClose: 'Speichern und schließen', 39 | options: 'Optionen', 40 | settings: 'Einstellungen', 41 | ok: 'Ok', 42 | create: 'Anlegen', 43 | yes: 'Ja', 44 | no: 'Nein', 45 | unknown: 'Unbekannt', 46 | chosenOne: 'Hauptperson', 47 | importFile: 'Datei importieren', 48 | exportFile: 'Datei exportieren', 49 | value: 'Wert', 50 | count: 'Aktuelle Nutzung', 51 | empty: 'Nichts ausgewählt', 52 | optionModals: { 53 | flags: { 54 | title: 'Personen Markierungen', 55 | name: 'Name', 56 | color: 'Farbe' 57 | } 58 | }, 59 | routing: { 60 | Chart: 'Lade Chartansicht...', 61 | PersonDatagrid: 'Lade Tabellenansicht...', 62 | Export: 'Lade Exportansicht...', 63 | Preview: 'Lade Vorschau...', 64 | Families: 'Lade Familienübersicht...', 65 | Documents: 'Lade Dokumente...', 66 | Suggestions: 'Lade Vorschlagslisten...', 67 | Settings: 'Lade Einstellungen...' 68 | }, 69 | suggestions: { 70 | cities: 'Städte', 71 | countries: 'Länder', 72 | citiesInCountry: 'Städte und Ländern', 73 | firstNames: 'Vornamen', 74 | lastNames: 'Nachnamen', 75 | religions: 'Religionen', 76 | education: 'Ausbildungen', 77 | jobs: 'Arbeiten', 78 | streets: 'Straße, Hausnummer und Stadt', 79 | postcodes: 'Postleitzahl und Stadt', 80 | alreadyExists: { 81 | title: 'Hinweis', 82 | text: 'Dieser Datensatz exitiert bereits.' 83 | }, 84 | updatePersons: 'Wert in Personen ebenfalls aktualisieren', 85 | categories: { 86 | names: 'Namen', 87 | expressions: 'Bezeichnungen', 88 | geographie: 'Geographie' 89 | }, 90 | deleteAllWithoutUsing: 'Alle Werte ohne Nutzung entfernen' 91 | }, 92 | import: { 93 | dialog: 'Willkommen', 94 | new: 'Neuen Datensatz anlegen', 95 | load: 'Datensatz importieren', 96 | loadingIndicator: 'Kopiere Daten', 97 | savingIndicator: 'Speichere Daten' 98 | }, 99 | confirm: { 100 | person: { 101 | delete: { 102 | title: 'Wirklich die Person entfernen?', 103 | text: 'Soll die Person wirklich entfernt werden?' 104 | } 105 | } 106 | }, 107 | editPerson: { 108 | options: { 109 | delete: 'Person entfernen' 110 | }, 111 | tabs: { 112 | common: { 113 | title: 'Allgemein' 114 | }, 115 | parents: { 116 | title: 'Eltern', 117 | biological: 'Leibliche Eltern' 118 | }, 119 | images: { 120 | title: 'Bilder', 121 | loadimages: 'Lade Bilder...', 122 | show: 'Anzeigen', 123 | delete: 'Löschen', 124 | favorite: 'Favorit' 125 | }, 126 | birth: { 127 | title: 'Geburt' 128 | }, 129 | religion: { 130 | title: 'Religion' 131 | }, 132 | death: { 133 | title: 'Tod' 134 | }, 135 | funeral: { 136 | title: 'Beerdigung' 137 | }, 138 | weddings: { 139 | title: 'Hochzeiten' 140 | }, 141 | divorces: { 142 | title: 'Scheidungen' 143 | }, 144 | partners: { 145 | title: 'Partner' 146 | }, 147 | jobs: { 148 | title: 'Berufe' 149 | }, 150 | education: { 151 | title: 'Ausbildung' 152 | }, 153 | addresses: { 154 | title: 'Adressen' 155 | }, 156 | notes: { 157 | title: 'Notizen' 158 | } 159 | } 160 | }, 161 | menu: { 162 | files: { 163 | title: 'Datei', 164 | close: 'Schliessen' 165 | }, 166 | database: { 167 | title: 'Datenbank', 168 | new: 'Neu', 169 | families: 'Familien', 170 | import: 'Import', 171 | export: 'Export' 172 | }, 173 | family: { 174 | title: 'Familie', 175 | chart: 'Diagramm', 176 | table: 'Tabelle', 177 | suggestions: 'Vorschlagslisten', 178 | documents: 'Dokumente', 179 | statistics: 'Statistiken', 180 | validations: 'Validierungen' 181 | }, 182 | languages: 'Sprache', 183 | export: 'Exportieren', 184 | help: { 185 | title: 'Hilfe', 186 | thirdPartySoftware: 'Drittanbieter-Software', 187 | about: 'Über "Visual Family Tree"', 188 | } 189 | }, 190 | chart: { 191 | load: "Lade Diagrammansicht...", 192 | settings: { 193 | refresh: "Neu laden", 194 | zoom: "Zoomfaktor", 195 | verticalAlign: "Personen vertikal anordnen", 196 | verticalAlignLevel: "ab Generation" 197 | }, 198 | leftBar: { 199 | actions: 'Hinzufügen', 200 | settings: 'Einstellungen' 201 | }, 202 | rightBar: { 203 | title: 'Bearbeiten' 204 | }, 205 | dragDrop: { 206 | addChildren: 'Kind', 207 | addParent: 'Elternteil', 208 | addPartner: 'Partner', 209 | alreadyTwoParents: 'Die Person hat bereits zwei leibliche Elternteile.', 210 | notPossibleActionTitle: 'Diese Aktion konnte nicht durchgeführt werden!', 211 | removePerson: 'Löschen' 212 | }, 213 | options: { 214 | familyTree: "Familie", 215 | ancestorsTree: "Stammbaum", 216 | title: "Anzeigeoptionen", 217 | compactView: "Kompaktansicht", 218 | showUnknownPersons: "Zeichne unbekannte Personen", 219 | ifUnknownDrawNode: "Unbekannte Personen sind sichtbar", 220 | ifUnknownDrawInvisibleNode: "Unbekannte Personen sind unsichtbar", 221 | showPartner: "Partner anzeigen", 222 | fastAdd: "Schnelles hinzufügen", 223 | fastDelete: "Schnelles entfernen", 224 | openFastEdit: "Schnelle Bearbeitung automatisch öffnen" 225 | } 226 | }, 227 | footer: { 228 | actualDataset: 'Datensatz' 229 | }, 230 | newPerson: { 231 | title: 'Neue Person anlegen', 232 | next: 'Speichern und weitere Person anlegen' 233 | }, 234 | newChild: { 235 | title: 'Neues Kind für ', 236 | next: 'Speichern und weiteres Kind anlegen', 237 | otherParent: 'Anderes Elternteil' 238 | }, 239 | newPartner: { 240 | title: 'Neuer Partner für ', 241 | next: 'Speichern und weiteren Partner anlegen', 242 | existing: 'Existierende Person' 243 | }, 244 | newParent: { 245 | title: 'Neuer Elternteil für ' 246 | }, 247 | newSibling: { 248 | title: 'Neues Geschwister für ', 249 | next: 'Speichern und weiteres Geschwister anlegen' 250 | }, 251 | newFamily: { 252 | title: 'Familie anlegen', 253 | name: 'Familienname' 254 | }, 255 | firstPerson: { 256 | title: 'Erste Person anlegen' 257 | }, 258 | person: { 259 | AddSourceLink: 'Quelle hinzufügen', 260 | Link: 'Quelle', 261 | Weddingday: 'Hochzeitstag', 262 | Flags: 'Markierungen', 263 | FirstNames: 'Vorname(n)', 264 | LastName: 'Nachname', 265 | Birthname: 'Geburtsname', 266 | Time: 'Uhrzeit', 267 | Name: 'Vollständiger Name', 268 | Notes: 'Notizen', 269 | Country: 'Land', 270 | Place: 'Ort', 271 | ReligionName: 'Religion', 272 | Events: 'Ereignisse', 273 | Date: 'Datum', 274 | From: 'Von', 275 | To: 'Bis', 276 | Title: 'Bezeichnung', 277 | Partner: 'Partner', 278 | Birthdate: 'Geburtsdatum', 279 | Deathdate: 'Todesdatum', 280 | Weddingdate: 'Hochzeitsdatum', 281 | Parent1: 'Erstes Elternteil', 282 | Parent2: 'Zweites Elternteil', 283 | AddParent: 'Elternteil hinzufügen', 284 | AddPartner: 'Partner hinzufügen', 285 | OnlyYear: 'Nur Jahr', 286 | OnlyBirthYear: 'Nur das Geburtsjahr ist bekannt', 287 | OnlyDeathYear: 'Nur das Todesjahr ist bekannt', 288 | OnlyFuneralYear: 'Nur das Jahr der Beerdigung ist bekannt', 289 | Funeraldate: 'Beerdigungs-Datum', 290 | BirthPlace: 'Geburtsort', 291 | DeathPlace: 'Sterbeort', 292 | FuneralPlace: 'Beerdigung-Ort', 293 | BirthCountry: 'Geburtsland', 294 | DeathCountry: 'Sterbeland', 295 | FuneralCountry: 'Beerdigungs-Land', 296 | Street: 'Straße und Hausnummer', 297 | PostCode: 'PLZ', 298 | NoPartner: { 299 | title: 'Kein Partner angelegt', 300 | text: 'Es muss vorher ein Partner angelegt werden.' 301 | } 302 | }, 303 | abbreviations: { 304 | Birthname: 'geb.' 305 | }, 306 | requires: { 307 | FirstNames: 'Bitte einen Vornamen angeben', 308 | LastName: 'Bitte den Nachnamen angeben', 309 | familyName: 'Bitte Familiennamen eingeben' 310 | }, 311 | print: { 312 | EndEditing: 'Bearbeitung beenden', 313 | StartEditing: 'Bearbeitung starten', 314 | loadImage: 'Lade Bild...', 315 | creatingBackgroundImage: 'Erzeuge Hintergrundbild...', 316 | edit: { 317 | delete: 'Löschen', 318 | undo: 'Rückgängig', 319 | redo: 'Wiederherstellen', 320 | reset: 'Zurücksetzen', 321 | hidePaths: 'Linien anzeigen', 322 | hideTexts: 'Texte anzeigen', 323 | hideImages: 'Bilder anzeigen' 324 | }, 325 | Editable: "Bearbeitbar", 326 | CreatingPreview: "Erzeuge Vektorgrafik...", 327 | settings: "Einstellungen", 328 | expertSettings: "Erweiterte Einstellungen", 329 | type: "Diagramm-Typ", 330 | types: { 331 | ancestor: "Stammbaum", 332 | familyTree: "Familie" 333 | }, 334 | rootPerson: "Ausgangs-Person", 335 | direction: "Ausrichtung", 336 | directions: { 337 | left: "Von Links nach Rechts", 338 | top: "Von Oben nach Unten", 339 | bottom: "Von Unten nach Oben", 340 | right: "Von Rechts nach Links" 341 | }, 342 | designSettings: "Aussehen", 343 | nodeDesign: "Design", 344 | create: "Erzeugen", 345 | designs: { 346 | small: "Schmal", 347 | wide: "Breit", 348 | custom: "Benutzerdefiniert" 349 | }, 350 | backgrounds: { 351 | standard: "Standard", 352 | image: "Bild", 353 | color: "Farbe", 354 | tree: "Baum", 355 | none: "Nichts", 356 | own: "Eigenes Bild" 357 | }, 358 | Preview: "Vorschau", 359 | BackToSettings: "Zurück zu den Einstellungen", 360 | UserDefinedSettings: { 361 | Stacked: "Gestapelt", 362 | StackedTop: "Start Abstand Oben", 363 | StackedLeft: "Start Abstand Links", 364 | ShowAlternativeDatafield: "Zeige '%0%' wenn parat", 365 | Scaling: "Skalierung", 366 | Direct: "Direkt", 367 | Indirectly: "Indirekt", 368 | ConnectingLines: "Verbindungslinie", 369 | Rounding: "Rundung", 370 | Background: "Hintergrund", 371 | Top: "Abstand Oben", 372 | Left: "Abstand Links", 373 | Image: "Bild", 374 | Border: "Rahmen", 375 | Visible: "Sichtbar", 376 | Height: "Höhe", 377 | Width: "Breite", 378 | Color: "Farbe", 379 | Thickness: "Dicke", 380 | Texts: "Texte", 381 | Distance: "Distanz", 382 | Separator: "Trennwert", 383 | Font: "Schrift", 384 | FontFamily: "Schriftart", 385 | FontSize: "Schriftgröße", 386 | Italic: "Schräg", 387 | Bold: "Fett", 388 | DateFormat: "Datumsformat", 389 | ResetToSmall: "Zurücksetzen auf Schmal", 390 | ResetToWide: "Zurücksetzen auf Breit", 391 | HorizontalAlignment: "Horizontale Ausrichtung", 392 | VerticalAlignment: "Vertikale Ausrichtung", 393 | Opacity: "Sichtbarkeit", 394 | HorizontalAlignments: { 395 | None: "Keine", 396 | Left: "Linksbündig", 397 | Right: "Rechtsbündig", 398 | Center: "Zentriert", 399 | Stretch: "Ausfüllen" 400 | }, 401 | VerticalAlignments: { 402 | None: "Keine", 403 | Top: "Oben", 404 | Bottom: "Unten", 405 | Center: "Zentriert", 406 | Stretch: "Ausfüllen" 407 | } 408 | }, 409 | Download: { 410 | AsPng: "Speichern als Bild", 411 | AsSvg: "Speichern als Vektordatei", 412 | AsPdf: "Speichern als PDF" 413 | }, 414 | Generate: { 415 | Png: "Erzeuge Bild...", 416 | Svg: "Erzeuge Vektordatei...", 417 | Pdf: "Erzeuge PDF..." 418 | } 419 | }, 420 | thirdParty: { 421 | grafics: "Einige Icons und Bilder", 422 | fonts: "Schriftarten", 423 | font: "Schriftart", 424 | licence: "Lizenz" 425 | }, 426 | about: { 427 | buildBy: "'Visual Family Tree' wird von Jens Hoernecke bereitgestellt" 428 | } 429 | }; -------------------------------------------------------------------------------- /Languages/en.js: -------------------------------------------------------------------------------- 1 | export const Dictionary = { 2 | orderBy: { 3 | label: "Order", 4 | none: "None", 5 | }, 6 | languages: { 7 | en: "English", 8 | de: "German", 9 | fa: "Farsi", 10 | es: "Spanish", 11 | ru: "Russian" 12 | }, 13 | dateSettings: { 14 | title: "Date formats", 15 | monthYear: "Month and Year", 16 | fullDate: "Full date" 17 | }, 18 | fontSettings: { 19 | fonts: "Fonts", 20 | mainFont: "Main font", 21 | letterSpacing: "Letter Spacing", 22 | menuFont: "Menu", 23 | editor: { 24 | title: "Editing", 25 | editorFont: "Editor", 26 | labelFont: "Labeling" 27 | } 28 | }, 29 | newVersionTitle: "New Version available", 30 | newVersion: "A new version is available.", 31 | innovations: "Innovations", 32 | installWhenClosing: "Install after closing", 33 | installNowAndRestart: "Install now", 34 | new: 'New', 35 | load: 'Load', 36 | cancel: 'Cancel', 37 | save: 'Save', 38 | saveAndClose: 'Save and close', 39 | options: 'Options', 40 | settings: 'Settings', 41 | ok: 'Ok', 42 | create: 'Create', 43 | yes: 'Yes', 44 | no: 'No', 45 | unknown: 'Unknown', 46 | chosenOne: 'Main person', 47 | importFile: 'Import file', 48 | exportFile: 'Export file', 49 | value: 'Value', 50 | count: 'Actual usings', 51 | empty: 'Nothing selected', 52 | optionModals: { 53 | flags: { 54 | title: 'Person Flags', 55 | name: 'Name', 56 | color: 'Color' 57 | } 58 | }, 59 | routing: { 60 | Chart: 'Loading Chartview...', 61 | PersonDatagrid: 'Loading Tableview...', 62 | Export: 'Loading Export...', 63 | Preview: 'Loading Preview...', 64 | Families: 'Loading Families...', 65 | Documents: 'Loading Documents...', 66 | Suggestions: 'Loading Suggestions...', 67 | Settings: 'Loading Settings...' 68 | }, 69 | suggestions: { 70 | cities: 'Cities', 71 | countries: 'Countries', 72 | citiesInCountry: 'City in Country', 73 | firstNames: 'Firstnames', 74 | lastNames: 'Lastnames', 75 | religions: 'Religions', 76 | education: 'Educations', 77 | jobs: 'Jobs', 78 | streets: 'Street, Numbers and Cities', 79 | postcodes: 'Postcodes and Cities', 80 | alreadyExists: { 81 | title: 'Hint', 82 | text: 'This dataset already exists.' 83 | }, 84 | updatePersons: 'Update value also in persons', 85 | categories: { 86 | names: 'Names', 87 | expressions: 'Titles', 88 | geographie: 'Geography' 89 | }, 90 | deleteAllWithoutUsing: 'Delete all values without using' 91 | }, 92 | import: { 93 | dialog: 'Welcome', 94 | new: 'Create new dataset', 95 | load: 'Import dataset', 96 | loadingIndicator: 'Copy data', 97 | savingIndicator: 'Save data' 98 | }, 99 | confirm: { 100 | person: { 101 | delete: { 102 | title: 'Really remove the person?', 103 | text: 'Should the person really be removed?' 104 | } 105 | } 106 | }, 107 | editPerson: { 108 | options: { 109 | delete: 'Delete Person' 110 | }, 111 | tabs: { 112 | common: { 113 | title: 'Common' 114 | }, 115 | parents: { 116 | title: 'Parents', 117 | biological: 'Biological Parents' 118 | }, 119 | images: { 120 | title: 'Images', 121 | loadimages: 'Loading Images...', 122 | show: 'Show', 123 | delete: 'Delete', 124 | favorite: 'Favorite' 125 | }, 126 | birth: { 127 | title: 'Birth' 128 | }, 129 | religion: { 130 | title: 'Religion' 131 | }, 132 | death: { 133 | title: 'Death' 134 | }, 135 | funeral: { 136 | title: 'Funeral' 137 | }, 138 | weddings: { 139 | title: 'Weddings' 140 | }, 141 | divorces: { 142 | title: 'Divorces' 143 | }, 144 | partners: { 145 | title: 'Partners' 146 | }, 147 | jobs: { 148 | title: 'Jobs' 149 | }, 150 | education: { 151 | title: 'Education' 152 | }, 153 | addresses: { 154 | title: 'Addresses' 155 | }, 156 | notes: { 157 | title: 'Notes' 158 | } 159 | } 160 | }, 161 | menu: { 162 | files: { 163 | title: 'File', 164 | close: 'Close' 165 | }, 166 | database: { 167 | title: 'Databases', 168 | new: 'New', 169 | families: 'Families', 170 | import: 'Import', 171 | export: 'Export' 172 | }, 173 | family: { 174 | title: 'Family', 175 | chart: 'Chart', 176 | table: 'Table', 177 | suggestions: 'Suggestions', 178 | documents: 'Documents', 179 | statistics: 'Statistics', 180 | validations: 'Validations' 181 | }, 182 | languages: 'Language', 183 | export: 'Export', 184 | help: { 185 | title: 'Help', 186 | thirdPartySoftware: 'Third Party Software', 187 | about: 'About "Visual Family Tree"', 188 | } 189 | }, 190 | chart: { 191 | load: "Loading Chart...", 192 | settings: { 193 | refresh: "Refresh", 194 | zoom: "Zoom factor", 195 | verticalAlign: "Arrange people vertically", 196 | verticalAlignLevel: "from generation" 197 | }, 198 | leftBar: { 199 | actions: 'Add', 200 | settings: 'Settings' 201 | }, 202 | rightBar: { 203 | title: 'Edit' 204 | }, 205 | dragDrop: { 206 | addChildren: 'Child', 207 | addParent: 'Parent', 208 | addPartner: 'Partner', 209 | alreadyTwoParents: 'The person already has two biological parents.', 210 | notPossibleActionTitle: 'This action could not be carried out!', 211 | removePerson: 'Delete' 212 | }, 213 | options: { 214 | familyTree: "Family Tree", 215 | ancestorsTree: "Ancestors", 216 | title: "Chart-Options", 217 | compactView: "Compact-View", 218 | showUnknownPersons: "Draw unknown persons", 219 | ifUnknownDrawNode: "Unkown persons are visible", 220 | ifUnknownDrawInvisibleNode: "Unkown persons are invisible", 221 | showPartner: "Show Partner", 222 | fastAdd: "Fast Add", 223 | fastDelete: "Fast Delete", 224 | openFastEdit: "Open fast editing automatically" 225 | } 226 | }, 227 | footer: { 228 | actualDataset: 'Dataset' 229 | }, 230 | newPerson: { 231 | title: 'Create new person', 232 | next: 'Create another person' 233 | }, 234 | newChild: { 235 | title: 'New descendants for ', 236 | next: 'Create another descendant', 237 | otherParent: 'Other Parent' 238 | }, 239 | newPartner: { 240 | title: 'New partner for ', 241 | next: 'Create another partner', 242 | existing: 'Existing Person' 243 | }, 244 | newParent: { 245 | title: 'New parent for ' 246 | }, 247 | newSibling: { 248 | title: 'New sibling for ', 249 | next: 'Create another sibling' 250 | }, 251 | newFamily: { 252 | title: 'Create family', 253 | name: 'Family name' 254 | }, 255 | firstPerson: { 256 | title: 'Create first person' 257 | }, 258 | person: { 259 | AddSourceLink: 'Add source', 260 | Link: 'Source', 261 | Weddingday: 'Weddingday', 262 | Flags: 'Flags', 263 | FirstNames: 'FirstName(s)', 264 | LastName: 'Lastname', 265 | Birthname: 'Maiden name', 266 | Time: 'Time', 267 | Name: 'Full Name', 268 | Notes: 'Notes', 269 | Country: 'Country', 270 | Place: 'Place', 271 | ReligionName: 'Religion', 272 | Events: 'Events', 273 | Date: 'Date', 274 | From: 'From', 275 | To: 'To', 276 | Title: 'Title', 277 | Partner: 'Partner', 278 | Birthdate: 'Birthdate', 279 | Deathdate: 'Deathdate', 280 | Weddingdate: 'Weddingdate', 281 | Parent1: 'First Parent', 282 | Parent2: 'Second Parent', 283 | AddParent: 'Add Parent', 284 | AddPartner: 'Add Partner', 285 | OnlyYear: 'only year', 286 | OnlyBirthYear: 'Only the year of birth is known', 287 | OnlyDeathYear: 'Only the year of death is known', 288 | OnlyFuneralYear: 'Only the year of funeral is known', 289 | Funeraldate: 'Funeraldate', 290 | BirthPlace: 'Birth Place', 291 | DeathPlace: 'Death Place', 292 | FuneralPlace: 'Funeral Place', 293 | BirthCountry: 'Birth Country', 294 | DeathCountry: 'Death Country', 295 | FuneralCountry: 'Funeral Country', 296 | Street: 'Street and Number', 297 | PostCode: 'Post Code', 298 | NoPartner: { 299 | title: 'No Partner', 300 | text: 'A partner must be created beforehand.' 301 | } 302 | }, 303 | abbreviations: { 304 | Birthname: 'née' 305 | }, 306 | requires: { 307 | FirstNames: 'Please insert an firstname', 308 | LastName: 'Please insert the lastname', 309 | familyName: 'Please insert the family name' 310 | }, 311 | print: { 312 | EndEditing: 'End editing', 313 | StartEditing: 'Start editing', 314 | loadImage: 'Load Image...', 315 | creatingBackgroundImage: 'Create Backgroundimage...', 316 | edit: { 317 | delete: 'Delete', 318 | undo: 'Undo', 319 | redo: 'Redo', 320 | reset: 'Reset', 321 | hidePaths: 'Show Lines', 322 | hideTexts: 'Show Texts', 323 | hideImages: 'Show Images' 324 | }, 325 | Editable: "Editable", 326 | CreatingPreview: "Creating Vector Graphic...", 327 | settings: "Settings", 328 | expertSettings: "Advanced Settings", 329 | type: "Type", 330 | types: { 331 | ancestor: "Ancestor Tree", 332 | familyTree: "Family Tree" 333 | }, 334 | rootPerson: "Root Person", 335 | direction: "Orientation", 336 | directions: { 337 | left: "Left to Right", 338 | top: "Top to Bottom", 339 | bottom: "Bottom to Top", 340 | right: "Right To Left" 341 | }, 342 | designSettings: "Design", 343 | nodeDesign: "Design", 344 | create: "Create", 345 | designs: { 346 | small: "Slim", 347 | wide: "Wide", 348 | custom: "Custom" 349 | }, 350 | backgrounds: { 351 | standard: "Standard", 352 | image: "Image", 353 | color: "Color", 354 | tree: "Tree", 355 | none: "None", 356 | own: "Own Image" 357 | }, 358 | Preview: "Preview", 359 | BackToSettings: "Back to settings", 360 | UserDefinedSettings: { 361 | Stacked: "Stacked", 362 | StackedTop: "Start Top", 363 | StackedLeft: "Start Left", 364 | ShowAlternativeDatafield: "Show '%0%' if filled", 365 | Scaling: "Scaling", 366 | Direct: "Directly", 367 | Indirectly: "Indirectly", 368 | ConnectingLines: "Connection Lines", 369 | Rounding: "Rounding", 370 | Background: "Background", 371 | Top: "Top", 372 | Left: "Left", 373 | Image: "Image", 374 | Border: "Border", 375 | Visible: "Visible", 376 | Height: "Height", 377 | Width: "Width", 378 | Color: "Color", 379 | Thickness: "Thickness", 380 | Texts: "Texts", 381 | Distance: "Distance", 382 | Separator: "Separator", 383 | Font: "Font", 384 | FontFamily: "Font-Family", 385 | FontSize: "Fontsize", 386 | Italic: "Italic", 387 | Bold: "Bold", 388 | DateFormat: "Dateformat", 389 | ResetToSmall: "Reset to Slim", 390 | ResetToWide: "Reset to Wide", 391 | HorizontalAlignment: "Horizontal Alignment", 392 | VerticalAlignment: "Vertical Alignment", 393 | Opacity: "Opacity", 394 | HorizontalAlignments: { 395 | None: "None", 396 | Left: "Left", 397 | Right: "Right", 398 | Center: "Center", 399 | Stretch: "Stretch" 400 | }, 401 | VerticalAlignments: { 402 | None: "None", 403 | Top: "Top", 404 | Bottom: "Bottom", 405 | Center: "Center", 406 | Stretch: "Stretch" 407 | } 408 | }, 409 | Download: { 410 | AsPng: "Save as Image", 411 | AsSvg: "Save as Vector", 412 | AsPdf: "Save as PDF" 413 | }, 414 | Generate: { 415 | Png: "Creating Image...", 416 | Svg: "Creating Vector...", 417 | Pdf: "Creating PDF..." 418 | } 419 | }, 420 | thirdParty: { 421 | grafics: "Some Icons and Images", 422 | fonts: "Fonts", 423 | font: "Font", 424 | licence: "Licence" 425 | }, 426 | about: { 427 | buildBy: "'Visual Family Tree' is built by Jens Hoernecke" 428 | } 429 | }; -------------------------------------------------------------------------------- /Languages/en_full.js: -------------------------------------------------------------------------------- 1 | export const Dictionary = { 2 | orderBy: { 3 | label: "Order", 4 | none: "None", 5 | }, 6 | languages: { 7 | en: "English", 8 | de: "German", 9 | fa: "Farsi", 10 | es: "Spanish", 11 | ru: "Russian" 12 | }, 13 | dateSettings: { 14 | title: "Date formats", 15 | monthYear: "Month and Year", 16 | fullDate: "Full date" 17 | }, 18 | fontSettings: { 19 | fonts: "Fonts", 20 | mainFont: "Main font", 21 | letterSpacing: "Letter Spacing", 22 | menuFont: "Menu", 23 | editor: { 24 | title: "Editing", 25 | editorFont: "Editor", 26 | labelFont: "Labeling" 27 | } 28 | }, 29 | devextreme: { 30 | search: "Search...", 31 | grouping: { 32 | groupByThisColumn: "Group by This Column", 33 | groupContinuedMessage: "Continued from the previous page", 34 | groupContinuesMessage: "Continues on the next page", 35 | ungroup: "Ungroup", 36 | ungroupAll: "Ungroup All", 37 | emptyPanelText: "Drag a column header here to group by that column" 38 | }, 39 | columnchooser: { 40 | emptyPanelText: "Drag a column here to hide it", 41 | title: "Column Chooser" 42 | }, 43 | columnfixing: { 44 | fix: "Fix", 45 | leftPosition: "To the left", 46 | rightPosition: "To the right", 47 | unfix: "Unfix" 48 | }, 49 | gridEditing: { 50 | addRow: "Add a row", 51 | cancelAllChanges: "Discard changes", 52 | cancelRowChanges: "Cancel", 53 | confirmDeleteMessage: "Are you sure you want to delete this record?", 54 | confirmDeleteTitle: "", 55 | deleteRow: "Delete", 56 | editRow: "Edit", 57 | saveAllChanges: "Save changes", 58 | saveRowChanges: "Save", 59 | undeleteRow: "Undelete", 60 | validationCancelChanges: "Cancel changes" 61 | }, 62 | filterRow: { 63 | applyFilterText: "Apply filter", 64 | betweenEndText: "End", 65 | betweenStartText: "Start", 66 | operationDescriptions: { 67 | between: "Between", 68 | contains: "Contains", 69 | endsWith: "Ends with", 70 | equal: "Equals", 71 | greaterThan: "Greater than", 72 | greaterThanOrEqual: "Greater than or equal to", 73 | lessThan: "Less than", 74 | lessThanOrEqual: "Less than or equal to", 75 | notContains: "Does not contain", 76 | notEqual: "Does not equal", 77 | startsWith: "Starts with", 78 | }, 79 | resetOperationText: "Reset", 80 | }, 81 | summary: { 82 | avg: "Avg={0}", 83 | avgOtherColumn: "Avg of {1} is {0}", 84 | count: "Count={0}", 85 | max: "Max={0}", 86 | maxOtherColumn: "Max of {1} is {0}", 87 | min: "Min={0}", 88 | minOtherColumn: "Min of {1} is {0}", 89 | sum: "Sum={0}", 90 | sumOtherColumn: "Sum of {1} is {0}" 91 | }, 92 | noData: "No data", 93 | select: "Select", 94 | sorting: { 95 | ascendingText: "Sort Ascending", 96 | clearText: "Clear Sorting", 97 | descendingText: "Sort Descending", 98 | }, 99 | fileuploader: { 100 | invalidFileExtensionMessage: "File type is not allowed", 101 | invalidMaxFileSizeMessage: "File is too large", 102 | invalidMinFileSizeMessage: "File is too small", 103 | labelText: "or Drop file here", 104 | readyToUploadMessage: "Ready to upload", 105 | selectButtonText: "Select File", 106 | uploadButtonText: "Upload", 107 | uploadedMessage: "Uploaded", 108 | uploadFailedMessage: "Upload failed", 109 | } 110 | }, 111 | newVersionTitle: "New Version available", 112 | newVersion: "A new version is available.", 113 | innovations: "Innovations", 114 | installWhenClosing: "Install after closing", 115 | installNowAndRestart: "Install now", 116 | new: 'New', 117 | load: 'Load', 118 | cancel: 'Cancel', 119 | save: 'Save', 120 | saveAndClose: 'Save and close', 121 | options: 'Options', 122 | settings: 'Settings', 123 | ok: 'Ok', 124 | create: 'Create', 125 | yes: 'Yes', 126 | no: 'No', 127 | unknown: 'Unknown', 128 | chosenOne: 'Main person', 129 | importFile: 'Import file', 130 | exportFile: 'Export file', 131 | value: 'Value', 132 | count: 'Actual usings', 133 | empty: 'Nothing selected', 134 | optionModals: { 135 | flags: { 136 | title: 'Person Flags', 137 | name: 'Name', 138 | color: 'Color' 139 | } 140 | }, 141 | routing: { 142 | Chart: 'Loading Chartview...', 143 | PersonDatagrid: 'Loading Tableview...', 144 | Export: 'Loading Export...', 145 | Preview: 'Loading Preview...', 146 | Families: 'Loading Families...', 147 | Documents: 'Loading Documents...', 148 | Suggestions: 'Loading Suggestions...', 149 | Settings: 'Loading Settings...' 150 | }, 151 | suggestions: { 152 | cities: 'Cities', 153 | countries: 'Countries', 154 | citiesInCountry: 'City in Country', 155 | firstNames: 'Firstnames', 156 | lastNames: 'Lastnames', 157 | religions: 'Religions', 158 | education: 'Educations', 159 | jobs: 'Jobs', 160 | streets: 'Street, Numbers and Cities', 161 | postcodes: 'Postcodes and Cities', 162 | alreadyExists: { 163 | title: 'Hint', 164 | text: 'This dataset already exists.' 165 | }, 166 | updatePersons: 'Update value also in persons', 167 | categories: { 168 | names: 'Names', 169 | expressions: 'Titles', 170 | geographie: 'Geography' 171 | }, 172 | deleteAllWithoutUsing: 'Delete all values without using' 173 | }, 174 | import: { 175 | dialog: 'Welcome', 176 | new: 'Create new dataset', 177 | load: 'Import dataset', 178 | loadingIndicator: 'Copy data', 179 | savingIndicator: 'Save data' 180 | }, 181 | confirm: { 182 | person: { 183 | delete: { 184 | title: 'Really remove the person?', 185 | text: 'Should the person really be removed?' 186 | } 187 | } 188 | }, 189 | editPerson: { 190 | options: { 191 | delete: 'Delete Person' 192 | }, 193 | tabs: { 194 | common: { 195 | title: 'Common' 196 | }, 197 | parents: { 198 | title: 'Parents', 199 | biological: 'Biological Parents' 200 | }, 201 | images: { 202 | title: 'Images', 203 | loadimages: 'Loading Images...', 204 | show: 'Show', 205 | delete: 'Delete', 206 | favorite: 'Favorite' 207 | }, 208 | birth: { 209 | title: 'Birth' 210 | }, 211 | religion: { 212 | title: 'Religion' 213 | }, 214 | death: { 215 | title: 'Death' 216 | }, 217 | funeral: { 218 | title: 'Funeral' 219 | }, 220 | weddings: { 221 | title: 'Weddings' 222 | }, 223 | divorces: { 224 | title: 'Divorces' 225 | }, 226 | partners: { 227 | title: 'Partners' 228 | }, 229 | jobs: { 230 | title: 'Jobs' 231 | }, 232 | education: { 233 | title: 'Education' 234 | }, 235 | addresses: { 236 | title: 'Addresses' 237 | }, 238 | notes: { 239 | title: 'Notes' 240 | } 241 | } 242 | }, 243 | menu: { 244 | files: { 245 | title: 'File', 246 | close: 'Close' 247 | }, 248 | database: { 249 | title: 'Databases', 250 | new: 'New', 251 | families: 'Families', 252 | import: 'Import', 253 | export: 'Export' 254 | }, 255 | family: { 256 | title: 'Family', 257 | chart: 'Chart', 258 | table: 'Table', 259 | suggestions: 'Suggestions', 260 | documents: 'Documents', 261 | statistics: 'Statistics', 262 | validations: 'Validations' 263 | }, 264 | languages: 'Language', 265 | export: 'Export', 266 | help: { 267 | title: 'Help', 268 | thirdPartySoftware: 'Third Party Software', 269 | about: 'About "Visual Family Tree"', 270 | } 271 | }, 272 | chart: { 273 | load: "Loading Chart...", 274 | settings: { 275 | refresh: "Refresh", 276 | zoom: "Zoom factor", 277 | verticalAlign: "Arrange people vertically", 278 | verticalAlignLevel: "from generation" 279 | }, 280 | leftBar: { 281 | actions: 'Add', 282 | settings: 'Settings' 283 | }, 284 | rightBar: { 285 | title: 'Edit' 286 | }, 287 | dragDrop: { 288 | addChildren: 'Child', 289 | addParent: 'Parent', 290 | addPartner: 'Partner', 291 | alreadyTwoParents: 'The person already has two biological parents.', 292 | notPossibleActionTitle: 'This action could not be carried out!', 293 | removePerson: 'Delete' 294 | }, 295 | options: { 296 | familyTree: "Family Tree", 297 | ancestorsTree: "Ancestors", 298 | title: "Chart-Options", 299 | compactView: "Compact-View", 300 | showUnknownPersons: "Draw unknown persons", 301 | ifUnknownDrawNode: "Unkown persons are visible", 302 | ifUnknownDrawInvisibleNode: "Unkown persons are invisible", 303 | showPartner: "Show Partner", 304 | fastAdd: "Fast Add", 305 | fastDelete: "Fast Delete", 306 | openFastEdit: "Open fast editing automatically" 307 | } 308 | }, 309 | footer: { 310 | actualDataset: 'Dataset' 311 | }, 312 | newPerson: { 313 | title: 'Create new person', 314 | next: 'Create another person' 315 | }, 316 | newChild: { 317 | title: 'New descendants for ', 318 | next: 'Create another descendant', 319 | otherParent: 'Other Parent' 320 | }, 321 | newPartner: { 322 | title: 'New partner for ', 323 | next: 'Create another partner', 324 | existing: 'Existing Person' 325 | }, 326 | newParent: { 327 | title: 'New parent for ' 328 | }, 329 | newSibling: { 330 | title: 'New sibling for ', 331 | next: 'Create another sibling' 332 | }, 333 | newFamily: { 334 | title: 'Create family', 335 | name: 'Family name' 336 | }, 337 | firstPerson: { 338 | title: 'Create first person' 339 | }, 340 | person: { 341 | AddSourceLink: 'Add source', 342 | Link: 'Source', 343 | Weddingday: 'Weddingday', 344 | Flags: 'Flags', 345 | FirstNames: 'FirstName(s)', 346 | LastName: 'Lastname', 347 | Birthname: 'Maiden name', 348 | Time: 'Time', 349 | Name: 'Full Name', 350 | Notes: 'Notes', 351 | Country: 'Country', 352 | Place: 'Place', 353 | ReligionName: 'Religion', 354 | Events: 'Events', 355 | Date: 'Date', 356 | From: 'From', 357 | To: 'To', 358 | Title: 'Title', 359 | Partner: 'Partner', 360 | Birthdate: 'Birthdate', 361 | Deathdate: 'Deathdate', 362 | Weddingdate: 'Weddingdate', 363 | Parent1: 'First Parent', 364 | Parent2: 'Second Parent', 365 | AddParent: 'Add Parent', 366 | AddPartner: 'Add Partner', 367 | OnlyYear: 'only year', 368 | OnlyBirthYear: 'Only the year of birth is known', 369 | OnlyDeathYear: 'Only the year of death is known', 370 | OnlyFuneralYear: 'Only the year of funeral is known', 371 | Funeraldate: 'Funeraldate', 372 | BirthPlace: 'Birth Place', 373 | DeathPlace: 'Death Place', 374 | FuneralPlace: 'Funeral Place', 375 | BirthCountry: 'Birth Country', 376 | DeathCountry: 'Death Country', 377 | FuneralCountry: 'Funeral Country', 378 | Street: 'Street and Number', 379 | PostCode: 'Post Code', 380 | NoPartner: { 381 | title: 'No Partner', 382 | text: 'A partner must be created beforehand.' 383 | } 384 | }, 385 | abbreviations: { 386 | Birthname: 'née' 387 | }, 388 | requires: { 389 | FirstNames: 'Please insert an firstname', 390 | LastName: 'Please insert the lastname', 391 | familyName: 'Please insert the family name' 392 | }, 393 | print: { 394 | EndEditing: 'End editing', 395 | StartEditing: 'Start editing', 396 | loadImage: 'Load Image...', 397 | creatingBackgroundImage: 'Create Backgroundimage...', 398 | edit: { 399 | delete: 'Delete', 400 | undo: 'Undo', 401 | redo: 'Redo', 402 | reset: 'Reset', 403 | hidePaths: 'Show Lines', 404 | hideTexts: 'Show Texts', 405 | hideImages: 'Show Images' 406 | }, 407 | Editable: "Editable", 408 | CreatingPreview: "Creating Vector Graphic...", 409 | settings: "Settings", 410 | expertSettings: "Advanced Settings", 411 | type: "Type", 412 | types: { 413 | ancestor: "Ancestor Tree", 414 | familyTree: "Family Tree" 415 | }, 416 | rootPerson: "Root Person", 417 | direction: "Orientation", 418 | directions: { 419 | left: "Left to Right", 420 | top: "Top to Bottom", 421 | bottom: "Bottom to Top", 422 | right: "Right To Left" 423 | }, 424 | designSettings: "Design", 425 | nodeDesign: "Design", 426 | create: "Create", 427 | designs: { 428 | small: "Slim", 429 | wide: "Wide", 430 | custom: "Custom" 431 | }, 432 | backgrounds: { 433 | standard: "Standard", 434 | image: "Image", 435 | color: "Color", 436 | tree: "Tree", 437 | none: "None", 438 | own: "Own Image" 439 | }, 440 | Preview: "Preview", 441 | BackToSettings: "Back to settings", 442 | UserDefinedSettings: { 443 | Stacked: "Stacked", 444 | StackedTop: "Start Top", 445 | StackedLeft: "Start Left", 446 | ShowAlternativeDatafield: "Show '%0%' if filled", 447 | Scaling: "Scaling", 448 | Direct: "Directly", 449 | Indirectly: "Indirectly", 450 | ConnectingLines: "Connection Lines", 451 | Rounding: "Rounding", 452 | Background: "Background", 453 | Top: "Top", 454 | Left: "Left", 455 | Image: "Image", 456 | Border: "Border", 457 | Visible: "Visible", 458 | Height: "Height", 459 | Width: "Width", 460 | Color: "Color", 461 | Thickness: "Thickness", 462 | Texts: "Texts", 463 | Distance: "Distance", 464 | Separator: "Separator", 465 | Font: "Font", 466 | FontFamily: "Font-Family", 467 | FontSize: "Fontsize", 468 | Italic: "Italic", 469 | Bold: "Bold", 470 | DateFormat: "Dateformat", 471 | ResetToSmall: "Reset to Slim", 472 | ResetToWide: "Reset to Wide", 473 | HorizontalAlignment: "Horizontal Alignment", 474 | VerticalAlignment: "Vertical Alignment", 475 | Opacity: "Opacity", 476 | HorizontalAlignments: { 477 | None: "None", 478 | Left: "Left", 479 | Right: "Right", 480 | Center: "Center", 481 | Stretch: "Stretch" 482 | }, 483 | VerticalAlignments: { 484 | None: "None", 485 | Top: "Top", 486 | Bottom: "Bottom", 487 | Center: "Center", 488 | Stretch: "Stretch" 489 | } 490 | }, 491 | Download: { 492 | AsPng: "Save as Image", 493 | AsSvg: "Save as Vector", 494 | AsPdf: "Save as PDF" 495 | }, 496 | Generate: { 497 | Png: "Creating Image...", 498 | Svg: "Creating Vector...", 499 | Pdf: "Creating PDF..." 500 | } 501 | }, 502 | thirdParty: { 503 | grafics: "Some Icons and Images", 504 | fonts: "Fonts", 505 | font: "Font", 506 | licence: "Licence" 507 | }, 508 | about: { 509 | buildBy: "'Visual Family Tree' is built by Jens Hoernecke" 510 | } 511 | }; -------------------------------------------------------------------------------- /Languages/es.js: -------------------------------------------------------------------------------- 1 | export const Dictionary = { 2 | orderBy: { 3 | label: "Orden", 4 | none: "Ninguno", 5 | }, 6 | languages: { 7 | en: "Inglés", 8 | de: "Alemán", 9 | fa: "Farsi", 10 | es: "Español", 11 | ru: "Rusa" 12 | }, 13 | dateSettings: { 14 | title: "Formatos de fecha", 15 | monthYear: "Mes y año", 16 | fullDate: "Fecha completa" 17 | }, 18 | fontSettings: { 19 | fonts: "Fuentes", 20 | mainFont: "Fuente principal", 21 | letterSpacing: "Espaciado entre caracteres", 22 | menuFont: "Menú", 23 | editor: { 24 | title: "Edición", 25 | editorFont: "Editor", 26 | labelFont: "Etiquetado" 27 | } 28 | }, 29 | newVersionTitle: 'Nueva versión disponible', 30 | newVersion: 'Una nueva versión está disponible.', 31 | innovations: 'Novedades', 32 | installWhenClosing: 'Instalar después de cerrar', 33 | installNowAndRestart: 'Instalar ahora', 34 | new: 'Nuevo', 35 | load: 'Cargar', 36 | cancel: 'Cancelar', 37 | save: 'Guardar', 38 | saveAndClose: 'Guardar y cerrar', 39 | options: 'Opciones', 40 | settings: 'Ajustes', 41 | ok: 'Ok', 42 | create: 'Crear', 43 | yes: 'Si', 44 | no: 'No', 45 | unknown: 'Desconocido', 46 | chosenOne: 'Persona principal', 47 | importFile: 'Importar archivo', 48 | exportFile: 'Exportar archivo', 49 | value: 'Valor', 50 | count: 'Usos reales', 51 | empty: 'Nada seleccionado', 52 | optionModals: { 53 | flags: { 54 | title: 'Banderas Personales', 55 | name: 'Nombre', 56 | color: 'Color', 57 | }, 58 | }, 59 | routing: { 60 | Chart: 'Cargando vista de Gráfico...', 61 | PersonDatagrid: 'Cargando vista de Tabla...', 62 | Export: 'Cargando Exportar...', 63 | Preview: 'Cargando Previsualización...', 64 | Families: 'Cargando Familias...', 65 | Documents: 'Cargando Documentos...', 66 | Suggestions: 'Cargando Sugerencias...', 67 | Settings: 'Cargando Ajustes...' 68 | }, 69 | suggestions: { 70 | cities: 'Ciudades', 71 | countries: 'Países', 72 | citiesInCountry: 'Ciudad en el País', 73 | firstNames: 'Nombres', 74 | lastNames: 'Apellidos', 75 | religions: 'Religiones', 76 | education: 'Educación', 77 | jobs: 'Trabajo', 78 | streets: 'Calle, Números y Ciudades', 79 | postcodes: 'Códigos postales y Ciudades', 80 | alreadyExists: { 81 | title: 'Consejo', 82 | text: 'Este conjunto de datos ya existe.', 83 | }, 84 | updatePersons: 'Actualizar el valor también en personas', 85 | categories: { 86 | names: 'Nombres', 87 | expressions: 'Títulos', 88 | geographie: 'Geografía', 89 | }, 90 | deleteAllWithoutUsing: 'Borrar todos los valores sin uso', 91 | }, 92 | import: { 93 | dialog: 'Bienvenido', 94 | new: 'Crear un nuevo conjunto de datos', 95 | load: 'Importar conjunto de datos', 96 | CargandoIndicator: 'Copiar datos', 97 | savingIndicator: 'Guardar datos', 98 | }, 99 | confirm: { 100 | person: { 101 | delete: { 102 | title: '¿Quiere eliminar a la persona?', 103 | text: 'Esta persona será eliminada ¿Esta seguro?', 104 | }, 105 | }, 106 | }, 107 | editPerson: { 108 | options: { 109 | delete: 'Borrar persona', 110 | }, 111 | tabs: { 112 | common: { 113 | title: 'Común', 114 | }, 115 | parents: { 116 | title: 'Padres', 117 | biological: 'Padres Biológicos', 118 | }, 119 | images: { 120 | title: 'Imágenes', 121 | loadimages: 'Cargando Imágenes...', 122 | show: 'Mostrar', 123 | delete: 'Borrar', 124 | favorite: 'Favorito', 125 | }, 126 | birth: { 127 | title: 'Nacimiento', 128 | }, 129 | religion: { 130 | title: 'Religión', 131 | }, 132 | death: { 133 | title: 'Defunción', 134 | }, 135 | funeral: { 136 | title: 'Funeral', 137 | }, 138 | weddings: { 139 | title: 'Bodas', 140 | }, 141 | divorces: { 142 | title: 'Divorcios', 143 | }, 144 | partners: { 145 | title: 'Parejas', 146 | }, 147 | jobs: { 148 | title: 'Trabajos', 149 | }, 150 | education: { 151 | title: 'Educación', 152 | }, 153 | addresses: { 154 | title: 'Direcciones', 155 | }, 156 | notes: { 157 | title: 'Notas', 158 | }, 159 | }, 160 | }, 161 | menu: { 162 | files: { 163 | title: 'Archivo', 164 | close: 'Cerrar', 165 | }, 166 | database: { 167 | title: 'Bases de datos', 168 | new: 'Nuevo', 169 | families: 'Familias', 170 | import: 'Importar', 171 | export: 'Exportar', 172 | }, 173 | family: { 174 | title: 'Familia', 175 | chart: 'Gráfico', 176 | table: 'Tabla', 177 | suggestions: 'Sugerencias', 178 | documents: 'Documentos', 179 | statistics: 'Estadísticas', 180 | validations: 'Validaciones', 181 | }, 182 | languages: 'Lenguaje', 183 | export: 'Exportar', 184 | help: { 185 | title: 'Ayuda', 186 | thirdPartySoftware: 'Software de Terceros', 187 | about: 'Acerca de "Visual Family Tree"', 188 | }, 189 | }, 190 | chart: { 191 | load: 'Cargando Gráfico...', 192 | settings: { 193 | refresh: 'Refrescar', 194 | zoom: "Factor de zoom", 195 | verticalAlign: "Organizar a las personas verticalmente", 196 | verticalAlignLevel: "de generación" 197 | 198 | }, 199 | leftBar: { 200 | actions: 'Agregar', 201 | settings: 'Ajustes', 202 | }, 203 | rightBar: { 204 | title: 'Editar', 205 | }, 206 | dragDrop: { 207 | addChildren: 'Niño', 208 | addParent: 'Padre', 209 | addPartner: 'Pareja', 210 | alreadyTwoParents: 'La persona ya tiene dos padres biológicos.', 211 | notPossibleActionTitle: '¡Esta acción no pudo llevarse a cabo!', 212 | removePerson: 'Eliminar', 213 | }, 214 | options: { 215 | familyTree: 'Árbol Familiar', 216 | ancestorsTree: 'Ancestros', 217 | title: 'Opciones de Gráfico', 218 | compactView: 'Vista Compacta', 219 | showUnknownPersons: 'Mostrar personas desconocidas', 220 | ifUnknownDrawNode: 'Las personas desconocidas son visibles', 221 | ifUnknownDrawInvisibleNode: 'Las personas desconocidas son invisibles', 222 | showPartner: 'Mostrar Pareja', 223 | fastAdd: 'Agregado rápido', 224 | fastDelete: 'Borrado rápido', 225 | openFastEdit: 'Abrir la edición rápida automáticamente', 226 | }, 227 | }, 228 | footer: { 229 | actualDataset: 'Conjunto de Datos', 230 | }, 231 | newPerson: { 232 | title: 'Crear nueva persona', 233 | next: 'Crear otra persona', 234 | }, 235 | newChild: { 236 | title: 'Nuevos descendientes para ', 237 | next: 'Crear otro descendiente', 238 | otherParent: 'Otro Padre', 239 | }, 240 | newPartner: { 241 | title: 'Nueva pareja para ', 242 | next: 'Crear otra pareja', 243 | existing: 'Persona existente', 244 | }, 245 | newParent: { 246 | title: 'Nuevo padre para ', 247 | }, 248 | newSibling: { 249 | title: 'Nuevo hermano para ', 250 | next: 'Crear otro hermano', 251 | }, 252 | newFamily: { 253 | title: 'Crear familia', 254 | name: 'Nombre de familia (Apellido)', 255 | }, 256 | firstPerson: { 257 | title: 'Crear primera persona', 258 | }, 259 | person: { 260 | AddSourceLink: 'Agregar fuente', 261 | Link: 'Fuente', 262 | Weddingday: 'Dia de la Boda', 263 | Flags: 'Banderas', 264 | FirstNames: 'Nombre(s)', 265 | LastName: 'Apellido', 266 | Birthname: 'Apellido de soltera', 267 | Time: 'Hora', 268 | Name: 'Nombre completo', 269 | Notes: 'Notas', 270 | Country: 'País', 271 | Place: 'Lugar', 272 | ReligionName: 'Religión', 273 | Events: 'Eventos', 274 | Date: 'Fecha', 275 | From: 'De', 276 | To: 'Para', 277 | Title: 'Titulo', 278 | Partner: 'Pareja', 279 | Birthdate: 'Fecha de Nacimiento', 280 | Deathdate: 'Fecha de Defunción', 281 | Weddingdate: 'Fecha de la Boda', 282 | Parent1: 'Primer Padre', 283 | Parent2: 'Segundo Padre', 284 | AddParent: 'Agregar Parent', 285 | AddPartner: 'Agregar Pareja', 286 | OnlyYear: 'solo año', 287 | OnlyBirthYear: 'Sólo se conoce el año de nacimiento', 288 | OnlyDeathYear: 'Sólo se conoce el año de defunción', 289 | OnlyFuneralYear: 'Sólo se conoce el año del funeral', 290 | Funeraldate: 'Fecha del Funeral', 291 | BirthPlace: 'Lugar de Nacimiento', 292 | DeathPlace: 'Lugar del Defunción', 293 | FuneralPlace: 'Lugar del Funeral', 294 | BirthCountry: 'País de Nacimiento', 295 | DeathCountry: 'País de Defunción', 296 | FuneralCountry: 'País del Funeral', 297 | Street: 'Calle y Numero', 298 | PostCode: 'Código Postal', 299 | NoPartner: { 300 | title: 'Sin Pareja', 301 | text: 'Una pareja debe ser creada de antemano.', 302 | }, 303 | }, 304 | abbreviations: { 305 | Birthname: 'née', 306 | }, 307 | requires: { 308 | FirstNames: 'Por favor, introduzca un nombre', 309 | LastName: 'Por favor, introduzca un apellido', 310 | familyName: 'Por favor, introduzca el apellido familiar', 311 | }, 312 | print: { 313 | EndEditing: 'Finalizar edición', 314 | StartEditing: 'Empezar edición', 315 | loadImage: 'Cargar Imagen...', 316 | creatingBackgroundImage: 'Crear Imagen de Fondo...', 317 | edit: { 318 | delete: 'Borrar', 319 | undo: 'Deshacer', 320 | redo: 'Rehacer', 321 | reset: 'Reiniciar', 322 | hidePaths: 'Mostrar Líneas', 323 | hideTexts: 'Mostrar textos', 324 | hideImages: 'Mostrar imágenes', 325 | }, 326 | Editable: 'Editable', 327 | CreatingPreview: 'Creando un gráfico vectorial...', 328 | settings: 'Ajustes', 329 | expertSettings: 'Ajustes avanzados', 330 | type: 'Tipo', 331 | types: { 332 | ancestor: 'Árbol de Antepasados', 333 | familyTree: 'Árbol Familiar', 334 | }, 335 | rootPerson: 'Persona Raíz', 336 | direction: 'Orientación', 337 | directions: { 338 | left: 'De Izquierda a Derecha', 339 | top: 'De Superior a Inferior', 340 | bottom: 'De Inferior a Superior', 341 | right: 'De Derecha a Izquierda', 342 | }, 343 | designSettings: 'Diseño', 344 | nodeDesign: 'Diseño', 345 | create: 'Crear', 346 | designs: { 347 | small: 'Estrecho', 348 | wide: 'Ancho', 349 | custom: 'Personalizado', 350 | }, 351 | backgrounds: { 352 | standard: 'Estándar', 353 | image: 'Imagen', 354 | color: 'Color', 355 | tree: 'Árbol', 356 | none: 'Ninguno', 357 | own: 'Imagen Propia', 358 | }, 359 | Preview: 'Previsualización', 360 | BackToSettings: 'Volver a los ajustes', 361 | UserDefinedSettings: { 362 | Stacked: 'Apilado', 363 | StackedTop: 'Inicio Superior', 364 | StackedLeft: 'Start Left', 365 | ShowAlternativeDatafield: "Mostrar '%0%' si está lleno", 366 | Scaling: 'Escalado', 367 | Direct: 'Directamente', 368 | Indirectly: 'Indirectamente', 369 | ConnectingLines: 'Líneas de Conexión', 370 | Rounding: 'Redondeo', 371 | Background: 'Fondo', 372 | Top: 'Arriba', 373 | Left: 'Izquierda', 374 | Image: 'Imagen', 375 | Border: 'Borde', 376 | Visible: 'Visible', 377 | Height: 'Altura', 378 | Width: 'Anchura', 379 | Color: 'Color', 380 | Thickness: 'Grosor', 381 | Texts: 'Textos', 382 | Distance: 'Distancia', 383 | Separator: 'Separador', 384 | Font: 'Tipografía', 385 | FontFamily: 'Familia Tipográfica', 386 | FontSize: 'Tamaño de Fuente', 387 | Italic: 'Cursiva', 388 | Bold: 'Negrita', 389 | DateFormat: 'Formato de Fecha', 390 | ResetToSmall: 'Restablecer a Estrecho', 391 | ResetToWide: 'Restablecer a Ancho', 392 | HorizontalAlignment: 'Alineación Horizontal', 393 | VerticalAlignment: 'Alineación Vertical', 394 | Opacity: 'Opacidad', 395 | HorizontalAlignments: { 396 | None: 'Ninguno', 397 | Left: 'Izquierda', 398 | Right: 'Derecha', 399 | Center: 'Centrar', 400 | Stretch: 'Estirar', 401 | }, 402 | VerticalAlignments: { 403 | None: 'Ninguno', 404 | Top: 'Arriba', 405 | Bottom: 'Abajo', 406 | Center: 'Centrar', 407 | Stretch: 'Estirar', 408 | }, 409 | }, 410 | Download: { 411 | AsPng: 'Guardar como Imagen', 412 | AsSvg: 'Guardar como Vector', 413 | AsPdf: 'Guardar como PDF', 414 | }, 415 | Generate: { 416 | Png: 'Creando Imagen...', 417 | Svg: 'Creando Vector...', 418 | Pdf: 'Creando PDF...', 419 | }, 420 | }, 421 | thirdParty: { 422 | grafics: 'Algunos Iconos e Imágenes', 423 | fonts: 'Tipográfias', 424 | font: 'Tipografía', 425 | licence: 'Licencia', 426 | }, 427 | about: { 428 | buildBy: "'Visual Family Tree' está construido por Jens Hoernecke", 429 | }, 430 | }; 431 | -------------------------------------------------------------------------------- /Languages/fa.js: -------------------------------------------------------------------------------- 1 | export const Dictionary = { 2 | orderBy: { 3 | label: "ترتیب زمانی", 4 | none: "هیچ‌کدام", 5 | }, 6 | languages: { 7 | en: "انگلیسی", 8 | de: "آلمانی", 9 | fa: "فارسی", 10 | es: "اسپانیایی", 11 | ru: "روسی" 12 | }, 13 | dateSettings: { 14 | title: "قالب های تاریخ", 15 | monthYear: "ماه و سال", 16 | fullDate: "تاریخ کامل" 17 | }, 18 | fontSettings: { 19 | fonts: "قلم ها", 20 | mainFont: "قلم اصلی", 21 | letterSpacing: "فاصله بین حروف", 22 | menuFont: "منو", 23 | editor: { 24 | title: "ویرایش", 25 | editorFont: "ویرایشگر", 26 | labelFont: "برچسب زدن" 27 | } 28 | }, 29 | devextreme: { 30 | search: "جستجو...", 31 | grouping: { 32 | groupByThisColumn: "براساس این ستون گروه‌بندی کن", 33 | groupContinuedMessage: "ادامه‌ی صفحه‌ی قبل", 34 | groupContinuesMessage: "ادامه در صفحه‌ی بعد", 35 | ungroup: "خارج کردن از گروه‌بندی", 36 | ungroupAll: "خارج کردن همه از گروه‌بندی", 37 | emptyPanelText: "عنوان یک ستون را اینجا بکشید تا گروه‌بندی براساس آن انجام شود" 38 | }, 39 | columnchooser: { 40 | emptyPanelText: "یک ستون را اینجا بکشید تا مخفی شود", 41 | title: "انتخابگر ستون‌ها" 42 | }, 43 | columnfixing: { 44 | fix: "قرار دادن", 45 | leftPosition: "در سمت چپ", 46 | rightPosition: "در سمت راست", 47 | unfix: "آزاد کردن" 48 | }, 49 | gridEditing: { 50 | addRow: "یک ردیف اضافه کن", 51 | cancelAllChanges: "تغییرات را لغو کن", 52 | cancelRowChanges: "لغو", 53 | confirmDeleteMessage: "آیا از پاک کردن این مورد اطمینان دارید؟", 54 | confirmDeleteTitle: "", 55 | deleteRow: "حذف کردن", 56 | editRow: "ویرایش", 57 | saveAllChanges: "ذخیره‌ی تغییرات", 58 | saveRowChanges: "ذخیره", 59 | undeleteRow: "حذف نکردن", 60 | validationCancelChanges: "لغو تغییرات" 61 | }, 62 | filterRow: { 63 | applyFilterText: "اعمال فیلتر", 64 | betweenEndText: "انتها", 65 | betweenStartText: "ابتدا", 66 | operationDescriptions: { 67 | between: "در وسط", 68 | contains: "شامل", 69 | endsWith: "پایان می‌یابد با", 70 | equal: "مساوی", 71 | greaterThan: "بزرگتر از", 72 | greaterThanOrEqual: "بزرگتر یا مساوی", 73 | lessThan: "کوچکتر از", 74 | lessThanOrEqual: "کوچکتر یا مساوی", 75 | notContains: "شامل نمی‌شود", 76 | notEqual: "مساوی نیست", 77 | startsWith: "شروع می‌شود با", 78 | }, 79 | resetOperationText: "تنظیم مجدد", 80 | }, 81 | summary: { 82 | avg: "Avg={0}", 83 | avgOtherColumn: "Avg of {1} is {0}", 84 | count: "Count={0}", 85 | max: "Max={0}", 86 | maxOtherColumn: "Max of {1} is {0}", 87 | min: "Min={0}", 88 | minOtherColumn: "Min of {1} is {0}", 89 | sum: "Sum={0}", 90 | sumOtherColumn: "Sum of {1} is {0}" 91 | }, 92 | noData: "بدون اطلاعات", 93 | select: "انتخاب", 94 | sorting: { 95 | ascendingText: "مرتب‌سازی صعودی", 96 | clearText: "عدم مرتب‌سازی", 97 | descendingText: "مرتب‌سازی نزولی", 98 | }, 99 | fileuploader: { 100 | invalidFileExtensionMessage: "نوع فایل غیرمجاز است", 101 | invalidMaxFileSizeMessage: "فایل بیش از حد بزرگ است", 102 | invalidMinFileSizeMessage: "فایل بیش از حد کوچک است", 103 | labelText: "یا اینجا بکشید", 104 | readyToUploadMessage: "آماده‌ی بارگزاری", 105 | selectButtonText: "انتخاب فایل", 106 | uploadButtonText: "بارگزاری", 107 | uploadedMessage: "بارگزاری شد", 108 | uploadFailedMessage: "بارگزاری ناموفق بود", 109 | } 110 | }, 111 | newVersionTitle: "به روز رسانی موجود است", 112 | newVersion: "یک نسخه‌ی جدید یافت شد.", 113 | innovations: "نوآوری‌ها", 114 | installWhenClosing: "پس از بستن برنامه نصب کن", 115 | installNowAndRestart: "هم‌اکنون نصب کن", 116 | new: 'جدید', 117 | load: 'بارگزاری', 118 | cancel: 'لغو', 119 | save: 'ذخیره', 120 | saveAndClose: 'ذخیره و بستن', 121 | options: 'تنظیمات', 122 | settings: 'تنظیمات', 123 | ok: 'باشه', 124 | create: 'بساز', 125 | yes: 'آره', 126 | no: 'نه', 127 | unknown: 'ناشناس', 128 | chosenOne: 'شخص اصلی', 129 | importFile: 'فایل را وارد کن', 130 | exportFile: 'از فایل خروجی بگیر', 131 | value: 'محتوا', 132 | count: 'دفعات به کار رفته', 133 | empty: 'هیچی انتخاب نشده', 134 | optionModals: { 135 | flags: { 136 | title: 'پرچم‌های شخص', 137 | name: 'نام', 138 | color: 'رنگ' 139 | } 140 | }, 141 | routing: { 142 | Chart: 'در حال آماده‌سازی نمای درختی...', 143 | PersonDatagrid: 'در حال آماده‌سازی نمای جدولی...', 144 | Export: 'در حال آماده‌سازی خروجی...', 145 | Preview: 'در حال آماده‌سازی پیش‌نمایش...', 146 | Families: 'در حال آماده‌سازی خانواده‌ها...', 147 | Documents: 'در حال آماده‌سازی اسناد...', 148 | Suggestions: 'در حال آماده‌سازی پیشنهادها...', 149 | Settings: 'تنظیمات بارگیری...' 150 | }, 151 | suggestions: { 152 | cities: 'شهرها', 153 | countries: 'کشورها', 154 | citiesInCountry: 'شهر در کشور', 155 | firstNames: 'نام کوچک', 156 | lastNames: 'نام خانوادگی', 157 | religions: 'مذهب', 158 | education: 'تحصیلات', 159 | jobs: 'شغل', 160 | // TODO: Review 161 | streets: 'شهرها، خیابان‌ها و شماره‌ها', 162 | postcodes: 'شهرها و کدهای پستی', 163 | alreadyExists: { 164 | title: 'راهنمایی', 165 | text: 'این بانک اطلاعات از قبل موجود است.' 166 | }, 167 | updatePersons: 'محتوای قسمت اشخاص را هم به روز کن', 168 | categories: { 169 | names: 'قسمت نام‌ها', 170 | expressions: 'قسمت عناوین', 171 | geographie: 'قسمت جغرافیایی' 172 | }, 173 | deleteAllWithoutUsing: 'محتوای بلااستفاده را پاک کن' 174 | }, 175 | import: { 176 | dialog: 'خوش آمدید', 177 | new: 'بانک اطلاعات بساز', 178 | load: 'بانک اطلاعات وارد کن', 179 | loadingIndicator: 'کپی اطلاعات', 180 | savingIndicator: 'ذخیره‌ی اطلاعات' 181 | }, 182 | confirm: { 183 | person: { 184 | delete: { 185 | title: 'واقعاً این شخص حذف شود؟', 186 | text: 'آیا واقعاً می‌خواهید این شخص را حذف کنید؟' 187 | } 188 | } 189 | }, 190 | editPerson: { 191 | options: { 192 | delete: 'حذف شخص' 193 | }, 194 | tabs: { 195 | common: { 196 | title: 'متداول' 197 | }, 198 | parents: { 199 | title: 'والدین', 200 | biological: 'والدین بیولوژیکی' 201 | }, 202 | images: { 203 | title: 'عکس‌ها', 204 | loadimages: 'در حال آماده‌سازی عکس‌ها...', 205 | show: 'نمایش', 206 | delete: 'حذف', 207 | favorite: 'برگزیدن' 208 | }, 209 | birth: { 210 | title: 'تولد' 211 | }, 212 | religion: { 213 | title: 'مذهب' 214 | }, 215 | death: { 216 | title: 'فوت' 217 | }, 218 | funeral: { 219 | title: 'دفن' 220 | }, 221 | weddings: { 222 | title: 'ازدواج‌ها' 223 | }, 224 | divorces: { 225 | title: 'طلاق‌ها' 226 | }, 227 | partners: { 228 | title: 'همسرها' 229 | }, 230 | jobs: { 231 | title: 'شغل‌ها' 232 | }, 233 | education: { 234 | title: 'تحصیلات' 235 | }, 236 | addresses: { 237 | title: 'آدرس‌ها' 238 | }, 239 | notes: { 240 | title: 'یادداشت' 241 | } 242 | } 243 | }, 244 | menu: { 245 | files: { 246 | title: 'فایل', 247 | close: 'خروج' 248 | }, 249 | database: { 250 | title: 'بانک اطلاعات', 251 | new: 'جدید', 252 | families: 'خانواده‌ها', 253 | import: 'وارد کردن', 254 | export: 'خروجی گرفتن' 255 | }, 256 | family: { 257 | title: 'خانواده', 258 | chart: 'نمای درختی', 259 | table: 'جدول', 260 | suggestions: 'پیشنهادها', 261 | documents: 'اسناد', 262 | statistics: 'آمارها', 263 | validations: 'راستی‌آزمایی‌ها' 264 | }, 265 | languages: 'زبان', 266 | export: 'خروجی گرفتن', 267 | help: { 268 | title: 'راهنما', 269 | thirdPartySoftware: 'نرم‌افزارهای ثالث', 270 | about: 'درباره‌ی نرم‌افزار', 271 | } 272 | }, 273 | chart: { 274 | load: "در حال آماده‌سازی نمای درختی...", 275 | settings: { 276 | refresh: "بارگزاری مجدد", 277 | zoom: "فاکتور بزرگنمایی", 278 | verticalAlign: "ترتیب افراد به صورت عمودی", 279 | verticalAlignLevel: "از نسل" 280 | }, 281 | leftBar: { 282 | actions: 'افزودن', 283 | settings: 'گزینه‌ها' 284 | }, 285 | rightBar: { 286 | title: 'ویرایش' 287 | }, 288 | dragDrop: { 289 | addChildren: 'فرزند', 290 | addParent: 'والد', 291 | addPartner: 'همسر', 292 | alreadyTwoParents: 'این شخص در حال حاضر هر دو والد بیولوژیگی را دارد.', 293 | notPossibleActionTitle: 'انجام این کار ممکن نیست!', 294 | removePerson: 'حذف' 295 | }, 296 | options: { 297 | familyTree: "درخت خانواده", 298 | ancestorsTree: "اجداد", 299 | title: "تنظیمات نمودار", 300 | compactView: "نمای فشرده", 301 | showUnknownPersons: "نمایش اشخاص ناشناس", 302 | ifUnknownDrawNode: "اشخاص ناشناس قابل دیدن هستند", 303 | ifUnknownDrawInvisibleNode: "اشخاص ناشناس غیرقابل دیدن هستند", 304 | showPartner: "نمایش همسر", 305 | fastAdd: "افزودن سریع", 306 | fastDelete: "حذف کردن سریع", 307 | openFastEdit: "به طور خودکار از ویرایش سریع استفاده کن" 308 | } 309 | }, 310 | footer: { 311 | actualDataset: 'بانک اطلاعات' 312 | }, 313 | newPerson: { 314 | title: 'یک شخص جدید بساز', 315 | next: 'یک شخص دیگر بساز' 316 | }, 317 | newChild: { 318 | title: 'فرزند جدید برای ', 319 | next: 'یک فرزند دیگر بساز', 320 | otherParent: 'دومین والد' 321 | }, 322 | newPartner: { 323 | title: 'همسر جدید برای ', 324 | next: 'یک همسر دیگر بساز', 325 | existing: 'انتخاب از بین اشخاص موجود' 326 | }, 327 | newParent: { 328 | title: 'والد جدید برای ' 329 | }, 330 | newSibling: { 331 | title: 'خواهر یا برادر جدید برای ', 332 | next: 'یک خواهر یا برادر دیگر بساز' 333 | }, 334 | newFamily: { 335 | title: 'خانواده جدید', 336 | name: 'نام خانواده' 337 | }, 338 | firstPerson: { 339 | title: 'اولین شخص را بساز' 340 | }, 341 | person: { 342 | AddSourceLink: 'افزودن منبع', 343 | Link: 'منبع', 344 | Weddingday: 'روز عروسی', 345 | Flags: 'پرچم‌ها', 346 | FirstNames: 'نام کوچک', 347 | LastName: 'نام خانوادگی', 348 | Birthname: 'نام خانوادگی پدری', 349 | Time: 'زمان', 350 | Name: 'نام کامل', 351 | Notes: 'یادداشت‌ها', 352 | Country: 'کشور', 353 | Place: 'مکان', 354 | ReligionName: 'مذهب', 355 | Events: 'رویدادها', 356 | Date: 'تاریخ', 357 | From: 'از', 358 | To: 'تا', 359 | Title: 'سمت', 360 | Partner: 'همسر', 361 | Birthdate: 'تاریخ تولد', 362 | Deathdate: 'تاریخ وفات', 363 | Weddingdate: 'تاریخ ازدواج', 364 | Parent1: 'والد اول', 365 | Parent2: 'والد دوم', 366 | AddParent: 'افزودن والد', 367 | AddPartner: 'افزودن همسر', 368 | OnlyYear: 'فقط سال', 369 | OnlyBirthYear: 'فقط سال تولد معلوم است', 370 | OnlyDeathYear: 'فقط سال وفات معلوم است', 371 | OnlyFuneralYear: 'فقط سال دفن معلوم است', 372 | Funeraldate: 'تاریخ دفن', 373 | BirthPlace: 'محل تولد', 374 | DeathPlace: 'محل وفات', 375 | FuneralPlace: 'محل دفن', 376 | BirthCountry: 'کشور محل تولد', 377 | DeathCountry: 'کشور محل وفات', 378 | FuneralCountry: 'کشور محل دفن', 379 | // TODO: Review 380 | Street: 'خیابان', 381 | PostCode: 'کد پستی', 382 | NoPartner: { 383 | title: 'همسری یافت نشد', 384 | text: 'ابتدا باید یک همسر ساخته شود.' 385 | } 386 | }, 387 | abbreviations: { 388 | // N/A: 389 | Birthname: 'née' 390 | }, 391 | requires: { 392 | FirstNames: 'لطفا نام کوچک را وارد کنید', 393 | LastName: 'لطفا نام خانوادگی را وارد کنید', 394 | familyName: 'لطفا نام خانواده را وارد کنید' 395 | }, 396 | print: { 397 | EndEditing: 'پایان ویرایش', 398 | StartEditing: 'آغاز ویرایش', 399 | loadImage: 'عکس بارگزاری کن...', 400 | creatingBackgroundImage: 'عکس پس‌زمینه بساز...', 401 | edit: { 402 | delete: 'حذف', 403 | undo: 'بازگشت به عقب', 404 | redo: 'معکوس به جلو', 405 | reset: 'بازنشانی تنظیمات', 406 | hidePaths: 'نمایش خطوط', 407 | hideTexts: 'نمایش نوشته‌ها', 408 | hideImages: 'نمایش عکس‌ها' 409 | }, 410 | Editable: "قابل ویرایش", 411 | CreatingPreview: "ترسیم گرافیک برداری...", 412 | settings: "تنظیمات", 413 | expertSettings: "تنظیمات پیشرفته", 414 | type: "نوع", 415 | types: { 416 | ancestor: "درخت اجداد", 417 | familyTree: "درخت خانواده" 418 | }, 419 | rootPerson: "شخص اصلی", 420 | direction: "جهت", 421 | directions: { 422 | left: "چپ به راست", 423 | top: "بالا به پایین", 424 | bottom: "پایین به بالا", 425 | right: "راست به چپ" 426 | }, 427 | designSettings: "طراحی", 428 | nodeDesign: "طراحی", 429 | create: "ساختن", 430 | designs: { 431 | small: "باریک", 432 | wide: "عریض", 433 | custom: "سفارشی" 434 | }, 435 | backgrounds: { 436 | standard: "استاندارد", 437 | image: "عکس", 438 | color: "رنگ", 439 | tree: "درخت", 440 | none: "هیچ‌کدام", 441 | own: "عکس خودم" 442 | }, 443 | Preview: "پیش‌نمایش", 444 | BackToSettings: "بازگشت به تنظیمات", 445 | UserDefinedSettings: { 446 | Stacked: "انباشته", 447 | StackedTop: "شروع از بالا", 448 | StackedLeft: "شروع از چپ", 449 | ShowAlternativeDatafield: "نمایش ۰٪ در صورت پر شدن", 450 | Scaling: "مقیاس", 451 | Direct: "مستقیم", 452 | Indirectly: "غیرمستقیم", 453 | ConnectingLines: "خطوط ربط", 454 | Rounding: "گرد کردن", 455 | Background: "پس‌زمینه", 456 | Top: "بالا", 457 | Left: "چپ", 458 | Image: "عکس", 459 | Border: "حاشیه", 460 | Visible: "قابل دیدن", 461 | Height: "ارتفاع", 462 | Width: "عرض", 463 | Color: "رنگ", 464 | Thickness: "ضخامت", 465 | Texts: "نوشته", 466 | Distance: "فاصله", 467 | Separator: "جداکننده", 468 | Font: "قلم", 469 | FontFamily: "خانواده‌ی قلم", 470 | FontSize: "اندازه‌ی قلم", 471 | Italic: "حروف کج", 472 | Bold: "حروف پررنگ", 473 | DateFormat: "قالب نمایش تاریخ", 474 | ResetToSmall: "بازنشانی به حالت باریک", 475 | ResetToWide: "بازنشانی به حالت عریض", 476 | HorizontalAlignment: "تراز افقی", 477 | VerticalAlignment: "تراز عمودی", 478 | Opacity: "عدم شفافیت", 479 | HorizontalAlignments: { 480 | None: "هیچ‌کدام", 481 | Left: "چپ", 482 | Right: "راست", 483 | Center: "وسط", 484 | Stretch: "کش‌آمده" 485 | }, 486 | VerticalAlignments: { 487 | None: "هیچ‌کدام", 488 | Top: "بالا", 489 | Bottom: "پایین", 490 | Center: "وسط", 491 | Stretch: "کش‌آمده" 492 | } 493 | }, 494 | Download: { 495 | AsPng: "ذخیره به عنوان عکس", 496 | AsSvg: "ذخیره به عنوان وکتور", 497 | AsPdf: "ذخیره به عنوان پی‌دی‌اف" 498 | }, 499 | Generate: { 500 | Png: "در حال ساختن عکس...", 501 | Svg: "در حال ساختن وکتور...", 502 | Pdf: "در حال ساختن پی‌دی‌اف..." 503 | } 504 | }, 505 | thirdParty: { 506 | grafics: "Some Icons and Images", 507 | fonts: "Fonts", 508 | font: "Font", 509 | licence: "Licence" 510 | }, 511 | about: { 512 | buildBy: "'Visual Family Tree' is built by Jens Hoernecke" 513 | } 514 | }; -------------------------------------------------------------------------------- /Languages/ru.js: -------------------------------------------------------------------------------- 1 | export const Dictionary = { 2 | orderBy: { 3 | label: "последовательность", 4 | none: "нет", 5 | }, 6 | languages: { 7 | en: "Английский", 8 | de: "Немецкий", 9 | fa: "Персидский", 10 | es: "Испанский", 11 | ru: "Русский" 12 | }, 13 | dateSettings: { 14 | title: "Формат даты", 15 | monthYear: "Месяц и год", 16 | fullDate: "Полная дата" 17 | }, 18 | fontSettings: { 19 | fonts: "Шрифт", 20 | mainFont: "Основной шрифт", 21 | letterSpacing: "Интервал между буквами", 22 | menuFont: "Меню", 23 | editor: { 24 | title: "Редактирование", 25 | editorFont: "Редактор", 26 | labelFont: "Метки" 27 | } 28 | }, 29 | newVersionTitle: "Доступна новая версия", 30 | newVersion: "Доступна новая версия для загрузки.", 31 | innovations: "Нововведение", 32 | installWhenClosing: "Установить после выхода", 33 | installNowAndRestart: "Установить сейчас", 34 | new: 'Новый', 35 | load: 'Загрузка', 36 | cancel: 'Отмена', 37 | save: 'Сохранить', 38 | saveAndClose: 'Сохранить и закрыть', 39 | options: 'Параметры', 40 | settings: 'Настройки', 41 | ok: 'Ок', 42 | create: 'Создать', 43 | yes: 'Да', 44 | no: 'Нет', 45 | unknown: 'Неизвестный', 46 | chosenOne: 'Основной человек', 47 | importFile: 'Импортировать файл', 48 | exportFile: 'Экспортировать файл', 49 | value: 'Значение', 50 | count: 'Фактическое использование', 51 | empty: 'Ничего не выбрано', 52 | optionModals: { 53 | flags: { 54 | title: 'Метки', 55 | name: 'Наименование', 56 | color: 'Цвет' 57 | } 58 | }, 59 | routing: { 60 | Chart: 'Загрузка диаграмы...', 61 | PersonDatagrid: 'Загрузка таблицы...', 62 | Export: 'Выгрузка...', 63 | Preview: 'Загрузка предпросмотра...', 64 | Families: 'Загрузка родственников...', 65 | Documents: 'Загрузка документов...', 66 | Suggestions: 'Загрузка предложений...', 67 | Settings: 'Загрузка настроек...' 68 | }, 69 | suggestions: { 70 | cities: 'Города', 71 | countries: 'Страны', 72 | citiesInCountry: 'Города в странах', 73 | firstNames: 'Имя', 74 | lastNames: 'Фамилия', 75 | religions: 'Вероисповедание', 76 | education: 'Образование', 77 | jobs: 'Работы', 78 | streets: 'Улица, номера и города', 79 | postcodes: 'Почтовый коды и города', 80 | alreadyExists: { 81 | title: 'Совет', 82 | text: 'Данные уже существуют.' 83 | }, 84 | updatePersons: 'Обновить значение в карточке', 85 | categories: { 86 | names: 'Наименование', 87 | expressions: 'Название', 88 | geographie: 'География' 89 | }, 90 | deleteAllWithoutUsing: 'Удалить все неиспользуемые значения' 91 | }, 92 | import: { 93 | dialog: 'Добро пожаловать', 94 | new: 'Создать набор данных', 95 | load: 'Импортировать набор данных', 96 | loadingIndicator: 'Копировать данные', 97 | savingIndicator: 'Сохранить данные' 98 | }, 99 | confirm: { 100 | person: { 101 | delete: { 102 | title: 'Вы действительно хотите удалить человека?', 103 | text: 'Данный человек должен быть удален?' 104 | } 105 | } 106 | }, 107 | editPerson: { 108 | options: { 109 | delete: 'Удалить человека' 110 | }, 111 | tabs: { 112 | common: { 113 | title: 'Общее' 114 | }, 115 | parents: { 116 | title: 'Родители', 117 | biological: 'Биологические родители' 118 | }, 119 | images: { 120 | title: 'Картинки', 121 | loadimages: 'Загрузка картинок...', 122 | show: 'Показать', 123 | delete: 'Удалить', 124 | favorite: 'Избранное' 125 | }, 126 | birth: { 127 | title: 'День рождения' 128 | }, 129 | religion: { 130 | title: 'Вероисповедание' 131 | }, 132 | death: { 133 | title: 'Смерть' 134 | }, 135 | funeral: { 136 | title: 'Похороны' 137 | }, 138 | weddings: { 139 | title: 'Свадьба' 140 | }, 141 | divorces: { 142 | title: 'Расторжение брака' 143 | }, 144 | partners: { 145 | title: 'Партнеры' 146 | }, 147 | jobs: { 148 | title: 'Работы' 149 | }, 150 | education: { 151 | title: 'Образование' 152 | }, 153 | addresses: { 154 | title: 'Адреса' 155 | }, 156 | notes: { 157 | title: 'Заметки' 158 | } 159 | } 160 | }, 161 | menu: { 162 | files: { 163 | title: 'Файл', 164 | close: 'Закрыть' 165 | }, 166 | database: { 167 | title: 'Хранилище', 168 | new: 'Новое', 169 | families: 'Семьи', 170 | import: 'Импорт', 171 | export: 'Экспорт' 172 | }, 173 | family: { 174 | title: 'Семья', 175 | chart: 'Диаграмма', 176 | table: 'Таблица', 177 | suggestions: 'Предложения', 178 | documents: 'Документы', 179 | statistics: 'Статистика', 180 | validations: 'Валидация' 181 | }, 182 | languages: 'Язык', 183 | export: 'Экспорт', 184 | help: { 185 | title: 'Помощь', 186 | thirdPartySoftware: 'Программное обеспечение сторонних производителей', 187 | about: 'О программе "Visual Family Tree"', 188 | } 189 | }, 190 | chart: { 191 | load: "Загрузка диаграммы...", 192 | settings: { 193 | refresh: "Обновить", 194 | zoom: "коэффициент масштабирования", 195 | verticalAlign: "Расставьте людей по вертикали", 196 | verticalAlignLevel: "из поколения" 197 | }, 198 | leftBar: { 199 | actions: 'Добавить', 200 | settings: 'Настройки' 201 | }, 202 | rightBar: { 203 | title: 'Редактировать' 204 | }, 205 | dragDrop: { 206 | addChildren: 'Дети', 207 | addParent: 'Родители', 208 | addPartner: 'Партнер', 209 | alreadyTwoParents: 'У человека уже есть два биологических родителя.', 210 | notPossibleActionTitle: 'Действие не может быть выплнено!', 211 | removePerson: 'Удалить' 212 | }, 213 | options: { 214 | familyTree: "Семейное дерево", 215 | ancestorsTree: "Предки", 216 | title: "Параметры диаграммы", 217 | compactView: "Компактный вид", 218 | showUnknownPersons: "Нарисовать неизвестного человека", 219 | ifUnknownDrawNode: "Неизвестные люди видны", 220 | ifUnknownDrawInvisibleNode: "Неизвестные люди не видны", 221 | showPartner: "Показать партнеров", 222 | fastAdd: "Быстрое добавление", 223 | fastDelete: "Быстрое удаление", 224 | openFastEdit: "Открывать быстрое редактирование автоматически" 225 | } 226 | }, 227 | footer: { 228 | actualDataset: 'Набор данных' 229 | }, 230 | newPerson: { 231 | title: 'Создать нового человека', 232 | next: 'Создать человека' 233 | }, 234 | newChild: { 235 | title: 'Новые потомки для ', 236 | next: 'Создать еще одного потомка', 237 | otherParent: 'Другой родитель' 238 | }, 239 | newPartner: { 240 | title: 'Новый партнер для ', 241 | next: 'Создано партнера', 242 | existing: 'Существующий человек' 243 | }, 244 | newParent: { 245 | title: 'Новый партер для ' 246 | }, 247 | newSibling: { 248 | title: 'Новый брат/сестра для ', 249 | next: 'Создать еще одного брата или сестру' 250 | }, 251 | newFamily: { 252 | title: 'Создать семью', 253 | name: 'Название семьи' 254 | }, 255 | firstPerson: { 256 | title: 'Создать первого человека' 257 | }, 258 | person: { 259 | AddSourceLink: 'Добавить источник', 260 | Link: 'Источник', 261 | Weddingday: 'День свадьбы', 262 | Flags: 'Метки', 263 | FirstNames: 'Имя(Имена)', 264 | LastName: 'Фамилия', 265 | Birthname: 'Девичья фамилия', 266 | Time: 'Время', 267 | Name: 'Полное имя', 268 | Notes: 'Заметки', 269 | Country: 'Страна', 270 | Place: 'Место', 271 | ReligionName: 'Вероисповедание', 272 | Events: 'События', 273 | Date: 'Дата', 274 | From: 'Из', 275 | To: 'По', 276 | Title: 'Заголовок', 277 | Partner: 'Партнер', 278 | Birthdate: 'Дата рождения', 279 | Deathdate: 'Дата смерти', 280 | Weddingdate: 'Дата свадьбы', 281 | Parent1: 'Первый родитель', 282 | Parent2: 'Второй родитель', 283 | AddParent: 'Добавить родителя', 284 | AddPartner: 'Добавить партнера', 285 | OnlyYear: 'только год', 286 | OnlyBirthYear: 'Известен только год рождения', 287 | OnlyDeathYear: 'Известен только год смерти', 288 | OnlyFuneralYear: 'Известен только год похорон', 289 | Funeraldate: 'Дата похорон', 290 | BirthPlace: 'Место рождения', 291 | DeathPlace: 'Место смерти', 292 | FuneralPlace: 'Место похорон', 293 | BirthCountry: 'Страна рождения', 294 | DeathCountry: 'Страна смерти', 295 | FuneralCountry: 'Страна захоронения', 296 | Street: 'улица и номер', 297 | PostCode: 'Почтовый индекс', 298 | NoPartner: { 299 | title: 'Нет партнера', 300 | text: 'Партнер должен быть создан заранее.' 301 | } 302 | }, 303 | abbreviations: { 304 | Birthname: 'урожденная' 305 | }, 306 | requires: { 307 | FirstNames: 'Пожалуйста, заполните имя', 308 | LastName: 'Пожалуйста, заполните фамилию', 309 | familyName: 'Пожалуйста, заполните название семьи' 310 | }, 311 | print: { 312 | EndEditing: 'Конец редактирования', 313 | StartEditing: 'Начало редактирования', 314 | loadImage: 'Загрузка изображения...', 315 | creatingBackgroundImage: 'Создать фоновое изображение...', 316 | edit: { 317 | delete: 'Удалить', 318 | undo: 'Отменить', 319 | redo: 'Вперед', 320 | reset: 'Сбросить', 321 | hidePaths: 'Показать линии', 322 | hideTexts: 'Показать тексты', 323 | hideImages: 'Показать изображения' 324 | }, 325 | Editable: "Редактируемое", 326 | CreatingPreview: "Создание векторной графики...", 327 | settings: "Настройки", 328 | expertSettings: "Дополнительные настройки", 329 | type: "Тип", 330 | types: { 331 | ancestor: "Дерево предков", 332 | familyTree: "Семейное дерево" 333 | }, 334 | rootPerson: "Основной человек", 335 | direction: "Оринетация", 336 | directions: { 337 | left: "Слева направо", 338 | top: "Сверху вниз", 339 | bottom: "Снизу вверх", 340 | right: "Справа налево" 341 | }, 342 | designSettings: "Дизайн", 343 | nodeDesign: "Дизайн", 344 | create: "Создать", 345 | designs: { 346 | small: "Тонкий", 347 | wide: "Широкий", 348 | custom: "Ручной" 349 | }, 350 | backgrounds: { 351 | standard: "Стандарт", 352 | image: "зображение", 353 | color: "Цвет", 354 | tree: "Дерево", 355 | none: "Не определено", 356 | own: "Собственное изображение" 357 | }, 358 | Preview: "Предпросмотр", 359 | BackToSettings: "Назад к настройкам", 360 | UserDefinedSettings: { 361 | Stacked: "Сложенное", 362 | StackedTop: "Начать сверху", 363 | StackedLeft: "Начать слева", 364 | ShowAlternativeDatafield: "Показать '%0%' если заполнено", 365 | Scaling: "Пересчет", 366 | Direct: "Определенно", 367 | Indirectly: "Косвенно", 368 | ConnectingLines: "Линии подключения", 369 | Rounding: "Округление", 370 | Background: "Фоновый", 371 | Top: "Верх", 372 | Left: "Лево", 373 | Image: "Изображение", 374 | Border: "Рамка", 375 | Visible: "Видимость", 376 | Height: "Высота", 377 | Width: "Ширина", 378 | Color: "Цвет", 379 | Thickness: "Толщина", 380 | Texts: "Тексты", 381 | Distance: "Дистанция", 382 | Separator: "Разделитель", 383 | Font: "Шрифт", 384 | FontFamily: "Шрифт", 385 | FontSize: "Размер шрифта", 386 | Italic: "Курсив", 387 | Bold: "Жирный", 388 | DateFormat: "Формат даты", 389 | ResetToSmall: "Сбросить на тонкий", 390 | ResetToWide: "Сбросить на широкий", 391 | HorizontalAlignment: "Горизонтальное выравнивание", 392 | VerticalAlignment: "Вертикальное выравнивание", 393 | Opacity: "Прозрачность", 394 | HorizontalAlignments: { 395 | None: "Не определенно", 396 | Left: "Левый", 397 | Right: "Правый", 398 | Center: "Центр", 399 | Stretch: "Растягивать" 400 | }, 401 | VerticalAlignments: { 402 | None: "Не определенно", 403 | Top: "Верх", 404 | Bottom: "Низ", 405 | Center: "Центр", 406 | Stretch: "Растягивать" 407 | } 408 | }, 409 | Download: { 410 | AsPng: "Сохранить как изображение", 411 | AsSvg: "Созранить как вектор", 412 | AsPdf: "Созранить в PDF" 413 | }, 414 | Generate: { 415 | Png: "Создание изображения...", 416 | Svg: "Создание вектора...", 417 | Pdf: "Создание PDF..." 418 | } 419 | }, 420 | thirdParty: { 421 | grafics: "Некоторые иконфи и изображения", 422 | fonts: "Шрифты", 423 | font: "Шрифт", 424 | licence: "Лицензия" 425 | }, 426 | about: { 427 | buildBy: "'Visual Family Tree' разработан Jens Hoernecke" 428 | } 429 | }; -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # VisualFamilyTree 2 | 3 | With this app you can create a family tree with extensive information and pictures about the individual family members. The whole thing can be done very simply using the mouse and a few keystrokes. An editor to export this family tree in different formats (pdf, svg, png) is also included. The output can be configured extensively. 4 | 5 | Website: [https://jisco.me/visual-family-tree](https://jisco.me/visual-family-tree) 6 | 7 | ## :star: In Progress :star: 8 | - [ ] New export to extern files (png, pdf...) 9 | - [ ] [Export to GEDCOM](https://github.com/Jisco/VisualFamilyTree/projects/1) 10 | 11 | :loudspeaker: If you have a question about VFT or one of the planned features, you can ask your questions here **[Discussions](https://github.com/Jisco/VisualFamilyTree/discussions)** 12 | 13 | ## Version 1.4.0 14 | * First release on Mac OSx 🍎 15 | * Enable import of GEDCOM files 🚀 16 | * Donation button added to menu ( maybe you will click on it... ) 😅 17 | By the way, you can spend via [PayPal](http://paypal.me/jisco), [Patreon](https://www.patreon.com/jiscoMe) or you just [buy me a pizza](https://www.buymeacoffee.com/Jisco) 18 | * Adding an awesome "what's new" popup (will only show once after each update) 19 | 20 | ## Version 1.3.5 21 | * Minor Bugfixings 22 | 23 | ## Version 1.3.4 24 | * add files as source and open via button 25 | * added keyboard navigation in chart view (⬅️, ➡️, ⬆️, ⬇️) and zoom via keyboard (crtl + ➕ and crtl + ➖) 26 | * persons are now collapsible 27 | * activate vertical layout beginning with a specific generation 28 | 29 | ## Version 1.3.3 30 | * extended search for main person in chart view 31 | * adjustable zoom factor in chart view 32 | * fix when adding files 33 | * linux icon fix 34 | 35 | ## Version 1.3.1 36 | * Save last used directory for import\export 37 | * Refactoring export for large family trees 38 | * Third-party component updates 39 | 40 | ## Version 1.3.0 41 | * add russian translation 42 | Thanks @Gimanh 🚀 43 | * performance improvments 44 | * display persons in chart ascending by creation date (aka "None"), by birth date or alphabetically 45 | * minor bugfixings 46 | 47 | ## Version 1.2.0 48 | * New screen for extended app settings 49 | * New Languages: Farsi and Spanish (thanks @SepSol, @MrOlivo) 50 | * 5 date formats 51 | * 9 different fonts 52 | * Far-reaching right to left support (special thanks @SepSol 😀) 53 | 54 | ## Version 1.1.0 55 | * Weddingdates in chart and export 56 | * Icons instead of symbols 57 | * Stackable Text in export mode 58 | * Dates in 3 different modes (year, month and year or full) 59 | 60 | ## Version 1.0.1 61 | * improved performance 62 | * definable color markings for people in the chart view 63 | 64 | ## Version 1.0.0 65 | * First Release 66 | -------------------------------------------------------------------------------- /v1.0.0.md: -------------------------------------------------------------------------------- 1 | # First Release 2 | 3 | Screenshots: 4 | ![main](https://user-images.githubusercontent.com/770001/82905562-5207a480-9f64-11ea-81d9-aca302246305.png) 5 | ![chartWithEditAndOptions](https://user-images.githubusercontent.com/770001/82905450-33091280-9f64-11ea-93e1-52e93afc3bfb.png) 6 | ![export](https://user-images.githubusercontent.com/770001/82905475-3b614d80-9f64-11ea-83c3-8bc4f88a8519.png) 7 | ![exportEdit](https://user-images.githubusercontent.com/770001/82905492-3ef4d480-9f64-11ea-8bea-649554e25b30.png) 8 | ![group](https://user-images.githubusercontent.com/770001/82905543-4f0cb400-9f64-11ea-847f-d0df99d27238.png) 9 | ![multipleInformations](https://user-images.githubusercontent.com/770001/82905581-559b2b80-9f64-11ea-93e3-81f245aefd03.png) 10 | -------------------------------------------------------------------------------- /v1.0.1.md: -------------------------------------------------------------------------------- 1 | ## Version 1.0.1 2 | * improved performance 3 | * definable color markings for people in the chart view 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /v1.1.0.assets/ezgif-2-374ff1641ec6.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jisco/VisualFamilyTree/01083d149b46a12cb3ca56d0f2aadd182b5b5380/v1.1.0.assets/ezgif-2-374ff1641ec6.webp -------------------------------------------------------------------------------- /v1.1.0.assets/ezgif-2-3d12ce069fb6.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jisco/VisualFamilyTree/01083d149b46a12cb3ca56d0f2aadd182b5b5380/v1.1.0.assets/ezgif-2-3d12ce069fb6.webp -------------------------------------------------------------------------------- /v1.1.0.assets/ezgif-2-7692c07605e3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jisco/VisualFamilyTree/01083d149b46a12cb3ca56d0f2aadd182b5b5380/v1.1.0.assets/ezgif-2-7692c07605e3.webp -------------------------------------------------------------------------------- /v1.1.0.assets/ezgif-2-e1435bb50207.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jisco/VisualFamilyTree/01083d149b46a12cb3ca56d0f2aadd182b5b5380/v1.1.0.assets/ezgif-2-e1435bb50207.webp -------------------------------------------------------------------------------- /v1.1.0.assets/image-20200627125828892.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jisco/VisualFamilyTree/01083d149b46a12cb3ca56d0f2aadd182b5b5380/v1.1.0.assets/image-20200627125828892.png -------------------------------------------------------------------------------- /v1.1.0.assets/image-20200627130006462.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jisco/VisualFamilyTree/01083d149b46a12cb3ca56d0f2aadd182b5b5380/v1.1.0.assets/image-20200627130006462.png -------------------------------------------------------------------------------- /v1.1.0.assets/image-20200627130658048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jisco/VisualFamilyTree/01083d149b46a12cb3ca56d0f2aadd182b5b5380/v1.1.0.assets/image-20200627130658048.png -------------------------------------------------------------------------------- /v1.1.0.assets/image-20200627130816054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jisco/VisualFamilyTree/01083d149b46a12cb3ca56d0f2aadd182b5b5380/v1.1.0.assets/image-20200627130816054.png -------------------------------------------------------------------------------- /v1.1.0.md: -------------------------------------------------------------------------------- 1 | ## Version 1.1.0 2 | * Display of the wedding date in the chart and when exporting 3 | 4 | | Chart | Export | 5 | | ------------------------------------------------------------ | ------------------------------------------------------------ | 6 | | ![image-20200627125828892](v1.1.0.assets/image-20200627125828892.png) | ![image-20200627130006462](v1.1.0.assets/image-20200627130006462.png) | 7 | 8 | * Orange border around partners 9 | 10 | ![image-20200627130658048](v1.1.0.assets/image-20200627130658048.png) 11 | 12 | * Icons for birth, death and wedding instead of the symbols (*, -) in the chart and the export files 13 | * can be overwritten in the export via a text prefix setting 14 | 15 | | Old | New | 16 | | ------------------------------------------------------------ | ------------------------------------------------------------ | 17 | | ![image-20200627130816054](v1.1.0.assets/image-20200627130816054.png) | ![image-20200627125828892](v1.1.0.assets/image-20200627125828892.png) | 18 | 19 | ![[video-to-webp output image]](v1.1.0.assets/ezgif-2-3d12ce069fb6.webp) 20 | 21 | * Performance improvement when creating the preview of the export :rocket: 22 | * Add stacking of texts instead of individual definition of positions in export 23 | * Empty fields will automatically ignored 24 | 25 | ![[video-to-webp output image]](v1.1.0.assets/ezgif-2-374ff1641ec6.webp) 26 | 27 | * Correction of the date display in grids 28 | * All date fields now with 3 display modes (year, month and year, full) 29 | * This eliminates all "only the year of XXX is known" fields 30 | 31 | ![[video-to-webp output image]](v1.1.0.assets/ezgif-2-e1435bb50207.webp) 32 | 33 | * The wedding date can also be specified in the partner of a person in the right editing panel 34 | 35 | * Add link to sources 36 | 37 | * If the text begins with "http" or "www", another button appears to open this link directly 38 | 39 | ![[video-to-webp output image]](v1.1.0.assets/ezgif-2-7692c07605e3.webp) 40 | -------------------------------------------------------------------------------- /v1.2.0.md: -------------------------------------------------------------------------------- 1 | # New screen for extended app settings 2 | ![v120_1](https://user-images.githubusercontent.com/770001/88401081-8e6f4980-cdc9-11ea-9ee4-e8d9f0d0847b.PNG) 3 | ## New Languages 4 | ![v120_2](https://user-images.githubusercontent.com/770001/88401182-b1016280-cdc9-11ea-8fbe-99850552de0a.PNG) 5 |
6 | Thanks @SepSol and @MrOlivo 🚀 7 | ## 5 date formats 8 | ![v120_3](https://user-images.githubusercontent.com/770001/88401334-e312c480-cdc9-11ea-887f-c7f142d58a38.PNG) 9 | ## 9 different fonts 10 | ![v120_4](https://user-images.githubusercontent.com/770001/88401310-db532000-cdc9-11ea-9638-a47f3be2b54e.PNG) 11 | ### eg for the chart view 12 | ![v120_5](https://user-images.githubusercontent.com/770001/88401398-00479300-cdca-11ea-9abb-d2e1e22daacd.PNG) 13 | ![v120_6](https://user-images.githubusercontent.com/770001/88401405-02115680-cdca-11ea-82b5-03f1fad3bccc.PNG) 14 | ## Far-reaching right to left support (special thanks @SepSol 😀) 15 | ![v120_7](https://user-images.githubusercontent.com/770001/88401567-338a2200-cdca-11ea-8f5f-d226aa462b5c.PNG) 16 | -------------------------------------------------------------------------------- /v1.3.0.md: -------------------------------------------------------------------------------- 1 | * add russian translation 2 | Thanks @Gimanh 🚀 3 | * performance improvments 4 | * display persons in chart ascending by creation date (aka "None"), by birth date or alphabetically 5 | ![image](https://user-images.githubusercontent.com/770001/89705501-36eee300-d95e-11ea-99ab-c4605f78af26.png) 6 | * minor bugfixings 7 | -------------------------------------------------------------------------------- /v1.3.1.md: -------------------------------------------------------------------------------- 1 | # Version 1.3.1 2 | * Save last used directory for import\export 3 | * Refactoring export for large family trees 4 | * Third-party component updates 5 | -------------------------------------------------------------------------------- /v1.3.3.md: -------------------------------------------------------------------------------- 1 | * extended search for main person in chart view 2 | 3 | ![ezgif-4-e0fe61acad91](https://user-images.githubusercontent.com/770001/93709508-f67aab80-fb3e-11ea-8e48-115f1363c22c.gif) 4 | * adjustable zoom factor in chart view 5 | * fix when adding files 6 | * linux icon fix 7 | -------------------------------------------------------------------------------- /v1.3.4.md: -------------------------------------------------------------------------------- 1 | * add files as source and open via button 2 | * added keyboard navigation in chart view (⬅️, ➡️, ⬆️, ⬇️) and zoom via keyboard (crtl + ➕ and crtl + ➖) 3 | * persons are now collapsible 4 | 5 | ![expand](https://user-images.githubusercontent.com/770001/96362928-367a8180-1131-11eb-8fbe-1998c72c0c37.PNG) 6 | ![ezgif-2-19dca274de3b](https://user-images.githubusercontent.com/770001/96363000-cb7d7a80-1131-11eb-8f0c-c7d49264a8b1.gif) 7 | 8 | * activate vertical layout beginning with a specific generation 9 | ![v1 3 3](https://user-images.githubusercontent.com/770001/96363011-dd5f1d80-1131-11eb-8480-3081b42d3e33.PNG) 10 | ![level3](https://user-images.githubusercontent.com/770001/96363039-0b446200-1132-11eb-9a52-7c9c10436cbf.PNG) 11 | -------------------------------------------------------------------------------- /v1.4.0.md: -------------------------------------------------------------------------------- 1 | # Version 1.4.0 2 | 3 | * First release on Mac OSx 🍎 4 | * Enable import of GEDCOM files 🚀 5 | * Donation button added to menu ( maybe you will click on it... ) 😅 6 | By the way, you can spend via [PayPal](http://paypal.me/jisco), [Patreon](https://www.patreon.com/jiscoMe) or you just [buy me a pizza](https://www.buymeacoffee.com/Jisco) 7 | * Adding an awesome "what's new" popup (will only show once after each update) 8 | --------------------------------------------------------------------------------