diff --git a/src/index.tsx b/src/index.tsx index 1c344db..722adce 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,8 +1,16 @@ +import * as locale_de from 'react-intl/locale-data/de'; import * as locale_en from 'react-intl/locale-data/en'; +import * as locale_fr from 'react-intl/locale-data/fr'; +import * as locale_it from 'react-intl/locale-data/it'; import * as locale_pl from 'react-intl/locale-data/pl'; +import * as locale_ru from 'react-intl/locale-data/ru'; import * as React from 'react'; import * as ReactDOM from 'react-dom'; +import messages_de from './translations/de.json'; +import messages_fr from './translations/fr.json'; +import messages_it from './translations/it.json'; import messages_pl from './translations/pl.json'; +import messages_ru from './translations/ru.json'; import {addLocaleData} from 'react-intl'; import {App} from './app'; import {detect} from 'detect-browser'; @@ -12,10 +20,14 @@ import './index.css'; import 'semantic-ui-css/semantic.min.css'; import 'canvas-toBlob'; -addLocaleData([...locale_en, ...locale_pl]); +addLocaleData([...locale_de, ...locale_en, ...locale_fr, ...locale_it, ...locale_pl, ...locale_ru]); const messages = { + de: messages_de, + fr: messages_fr, + it: messages_it, pl: messages_pl, + ru: messages_ru, }; const language = navigator.language && navigator.language.split(/[-_]/)[0]; @@ -25,7 +37,7 @@ if (browser && browser.name === 'ie') { ReactDOM.render(

Topola Genealogy Viewer does not support Internet Explorer. Please try a - different browser. + different (modern) browser.

, document.querySelector('#root'), ); diff --git a/src/translations/de.json b/src/translations/de.json new file mode 100644 index 0000000..d956495 --- /dev/null +++ b/src/translations/de.json @@ -0,0 +1,66 @@ +{ + "menu.open": "Öffnen", + "menu.open_file": "Datei öffnen", + "menu.load_from_url": "URL öffnen", + "menu.select_wikitree_id": "WikiTree ID auswählen", + "menu.print": "Print", + "menu.download": "Download", + "menu.pdf_file": "PDF-Datei", + "menu.png_file": "PNG-Datei", + "menu.svg_file": "SVG-Datei", + "menu.download_pdf": "PDF herunterladen", + "menu.download_png": "PNG herunterladen", + "menu.download_svg": "SVG herunterladen", + "menu.view": "View", + "menu.hourglass": "Sanduhrkarte", + "menu.relatives": "Alle Verwandten", + "menu.fancy": "Zierbaum (experimentell)", + "menu.wikitree_login": "Bei WikiTree anmelden", + "menu.wikitree_logged_in": "Eingeloggt", + "menu.wikitree_popup_username": "Bei WikiTree als {username} angemeldet", + "menu.wikitree_popup": "Bei WikiTree angemeldet", + "menu.github": "Projekt auf der GitHub-Website", + "menu.search.placeholder": "Person suchen", + "menu.search.no_results": "Keine Ergebnisse", + "intro.title": "Topola Genealogie", + "intro.description": "Mit der Topola Genealogie können Sie den Stammbaum auf interaktive Weise durchsuchen.", + "intro.instructions": "Klicken Sie auf Datei öffnen oder URL öffnen, um eine GEDCOM-Datei zu laden. Die meisten Genealogie-Programme verfügen über eine GEDCOM-Exportfunktion.", + "intro.examples": "Nachfolgend einige Beispiele aus dem Internet:", + "intro.from": "source:", + "intro.privacy": "Datenschutz", + "intro.privacy_note": "Bei Verwendung der Funktion \"Datei öffnen\" werden Ihre Daten nirgendwo gesendet und verbleiben auf Ihrem Computer. Bei Verwendung der Funktion \"URL öffnen\" werden Daten von der angegebenen Adresse vom Dienst {link} an gesendet Ermöglichen des Ladens von Daten aus einer anderen Domäne (CORS).", + "load_from_url.title": "Von URL öffnen", + "load_from_url.comment": "Die Daten der angegebenen URL werden über den {link} -Dienst geladen, um CORS-Probleme zu vermeiden.", + "load_from_url.cancel": "Cancel", + "load_from_url.load": "Öffnen", + "select_wikitree_id.title": "WikiTree ID eingeben", + "select_wikitree_id.comment": "Geben Sie die Profil-ID {wikiTreeLink} ein. Beispiele: {example1}, {example2}", + "select_wikitree_id.cancel": "Cancel", + "select_wikitree_id.load": "Open", + "gedcom.BAPM": "Taufe", + "gedcom.BIRT": "Geburt", + "gedcom.BURI": "Beerdigung", + "gedcom.CENS": "Volkszählung", + "gedcom.CHR": "Taufe", + "gedcom.DEAT": "Tod", + "gedcom.DSCR": "Beschreibung", + "gedcom.EMAIL": "E-Mail", + "gedcom.EVEN": "Ereignis", + "gedcom.OCCU": "Beruf", + "gedcom.RIN": "ID", + "gedcom.TITL": "Titel", + "gedcom.WWW": "Website", + "gedcom._UPD": "Zuletzt aktualisiert", + "date.abt": "about", + "date.cal": "berechnet", + "date.est": "geschätzt", + "date.between": "zwischen {from} und {to}", + "date.after": "after {from}", + "date.before": "before {to}", + "error.error": "Error", + "error.failed_pdf": "PDF konnte nicht erstellt werden. Versuchen Sie es erneut mit einem kleineren Diagramm oder laden Sie die SVG-Datei herunter.", + "error.failed_png": "Fehler beim Erstellen der PNG-Datei. Versuchen Sie es erneut mit einem kleineren Diagramm oder laden Sie die SVG-Datei herunter.", + "error.failed_to_load_file": "Fehler beim Laden der Datei", + "error.failed_wikitree_load_more": "Fehler beim Abrufen der Daten aus WikiTree. {error}", + "wikitree.private": "Privat" +} diff --git a/src/translations/fr.json b/src/translations/fr.json new file mode 100644 index 0000000..8a12591 --- /dev/null +++ b/src/translations/fr.json @@ -0,0 +1,66 @@ +{ + "menu.open": "Ouvrir", + "menu.open_file": "Ouvrir le fichier", + "menu.load_from_url": "Ouvrir l'URL", + "menu.select_wikitree_id": "Sélectionnez l'ID WikiTree", + "menu.print": "Imprimer", + "menu.download": "Télécharger", + "menu.pdf_file": "Fichier PDF", + "menu.png_file": "Fichier PNG", + "menu.svg_file": "Fichier SVG", + "menu.download_pdf": "Télécharger le PDF", + "menu.download_png": "Télécharger PNG", + "menu.download_svg": "Télécharger SVG", + "menu.view": "Afficher", + "menu.hourglass": "Graphique en sablier", + "menu.relatives": "Tous les parents", + "menu.fancy": "Arbre ornemental (expérimental)", + "menu.wikitree_login": "Connectez-vous à WikiTree", + "menu.wikitree_logged_in": "Connecté", + "menu.wikitree_popup_username": "Connecté à WikiTree en tant que {username}", + "menu.wikitree_popup": "Connecté à WikiTree", + "menu.github": "Projet sur le site Web GitHub", + "menu.search.placeholder": "Rechercher une personne", + "menu.search.no_results": "Aucun résultat", + "intro.title": "Topola Généalogie", + "intro.description": "La Topola Généalogie vous permet de parcourir l'arbre généalogique de manière interactive.", + "intro.instructions": "Cliquez sur OPEN FILE ou OPEN URL pour charger un fichier GEDCOM. La plupart des logiciels de généalogie ont une fonction d'exportation GEDCOM.", + "intro.examples": "Voici quelques exemples trouvés sur Internet:", + "intro.from": "source:", + "intro.privacy": "Confidentialité", + "intro.privacy_note": "Lorsque vous utilisez la fonction \"Ouvrir un fichier\", vos données ne sont envoyées nulle part et restent sur votre ordinateur. Lorsque vous utilisez la fonction \"Ouvrir l'URL\", les données de l'adresse indiquée sont envoyées par le service {link} à permettant le chargement des données depuis un autre domaine (CORS).", + "load_from_url.title": "Ouvrir depuis l'URL", + "load_from_url.comment": "Les données de l'URL donnée seront chargées via le service {link} pour éviter les problèmes CORS.", + "load_from_url.cancel": "Annuler", + "load_from_url.load": "Ouvrir", + "select_wikitree_id.title": "Entrez l'ID de WikiTree", + "select_wikitree_id.comment": "Entrez l'ID de profil {wikiTreeLink}. Exemples: {example1}, {example2}", + "select_wikitree_id.cancel": "Annuler", + "select_wikitree_id.load": "Ouvrir", + "gedcom.BAPM": "Baptême", + "gedcom.BIRT": "Naissance", + "gedcom.BURI": "Funérailles", + "gedcom.CENS": "Recensement", + "gedcom.CHR": "Baptême", + "gedcom.DEAT": "Mort", + "gedcom.DSCR": "Description", + "gedcom.EMAIL": "E-mail", + "gedcom.EVEN": "Événement", + "gedcom.OCCU": "Profession", + "gedcom.RIN": "ID", + "gedcom.TITL": "Titre", + "gedcom.WWW": "Site Web", + "gedcom._UPD": "Dernière mise à jour", + "date.abt": "environ", + "date.cal": "calculé", + "date.est": "estimé", + "date.between": "entre {from} et {to}", + "date.after": "après {from}", + "date.before": "avant {to}", + "error.error": "Erreur", + "error.failed_pdf": "Échec de la création du PDF. Réessayez avec un diagramme plus petit ou téléchargez le fichier SVG.", + "error.failed_png": "Impossible de créer le fichier PNG. Réessayez avec un diagramme plus petit ou téléchargez le fichier SVG.", + "error.failed_to_load_file": "Erreur lors du chargement du fichier", + "error.failed_wikitree_load_more": "Erreur lors de l'obtention des données de WikiTree. {error}", + "wikitree.private": "Privé" +} diff --git a/src/translations/it.json b/src/translations/it.json new file mode 100644 index 0000000..f7e5d21 --- /dev/null +++ b/src/translations/it.json @@ -0,0 +1,66 @@ +{ + "menu.open": "Apri", + "menu.open_file": "Apri file", + "menu.load_from_url": "Apri URL", + "menu.select_wikitree_id": "Seleziona ID WikiTree", + "menu.print": "Stampa", + "menu.download": "Download", + "menu.pdf_file": "File PDF", + "menu.png_file": "File PNG", + "menu.svg_file": "File SVG", + "menu.download_pdf": "Scarica PDF", + "menu.download_png": "Scarica PNG", + "menu.download_svg": "Scarica SVG", + "menu.view": "Visualizza", + "menu.hourglass": "Grafico a clessidra", + "menu.relatives": "Tutti i parenti", + "menu.fancy": "Albero ornamentale (sperimentale)", + "menu.wikitree_login": "Accedi a WikiTree", + "menu.wikitree_logged_in": "Accesso effettuato", + "menu.wikitree_popup_username": "Accesso a WikiTree come {username}", + "menu.wikitree_popup": "Accesso a WikiTree", + "menu.github": "Progetto sul sito web GitHub", + "menu.search.placeholder": "Cerca persona", + "menu.search.no_results": "Nessun risultato", + "intro.title": "Topola Genealogy", + "intro.description": "Topola Genealogy ti consente di esplorare l'albero genealogico in modo interattivo.", + "intro.instructions": "Fai clic su OPEN FILE o OPEN URL per caricare un file GEDCOM. La maggior parte dei software di genealogia ha una funzione di esportazione GEDCOM.", + "intro.examples": "Di seguito sono riportati alcuni esempi trovati su Internet:", + "intro.from": "source:", + "intro.privacy": "Privacy", + "intro.privacy_note": "Quando si utilizza la funzione \"Apri file\", i dati non vengono inviati da nessuna parte e rimangono sul computer. Quando si utilizza la funzione \"Apri URL\", i dati dall'indirizzo specificato vengono inviati dal servizio {link} a consentire il caricamento dei dati da un altro dominio (CORS).", + "load_from_url.title": "Apri da URL", + "load_from_url.comment": "I dati dall'URL specificato verranno caricati tramite il servizio {link} per evitare problemi CORS.", + "load_from_url.cancel": "Annulla", + "load_from_url.load": "Apri", + "select_wikitree_id.title": "Inserisci ID WikiTree", + "select_wikitree_id.comment": "Inserisci l'ID profilo {wikiTreeLink}. Esempi: {example1}, {example2}", + "select_wikitree_id.cancel": "Annulla", + "select_wikitree_id.load": "Apri", + "gedcom.BAPM": "Battesimo", + "gedcom.BIRT": "Nascita", + "gedcom.BURI": "Funerale", + "gedcom.CENS": "Census", + "gedcom.CHR": "Battesimo", + "gedcom.DEAT": "Death", + "gedcom.DSCR": "Descrizione", + "gedcom.EMAIL": "E-mail", + "gedcom.EVEN": "Evento", + "gedcom.OCCU": "Professione", + "gedcom.RIN": "ID", + "gedcom.TITL": "Titolo", + "gedcom.WWW": "Sito web", + "gedcom._UPD": "Ultimo aggiornamento", + "date.abt": "about", + "date.cal": "calcolato", + "date.est": "stimato", + "date.between": "tra {from} e {to}", + "date.after": "after {from}", + "date.before": "before {to}", + "error.error": "Error", + "error.failed_pdf": "Impossibile creare PDF. Riprova con un diagramma più piccolo o scarica il file SVG.", + "error.failed_png": "Impossibile creare il file PNG. Riprova con un diagramma più piccolo o scarica il file SVG.", + "error.failed_to_load_file": "Errore durante il caricamento del file", + "error.failed_wikitree_load_more": "Errore durante il recupero dei dati da WikiTree. {error}", + "wikitree.private": "Privato" +} diff --git a/src/translations/ru.json b/src/translations/ru.json new file mode 100644 index 0000000..0563c6f --- /dev/null +++ b/src/translations/ru.json @@ -0,0 +1,66 @@ +{ + "menu.open": "Открыть", + "menu.open_file": "Открыть файл", + "menu.load_from_url": "Открыть URL", + "menu.select_wikitree_id": "Выберите WikiTree ID", + "menu.print": "Печать", + "menu.download": "Скачать", + "menu.pdf_file": "Файл PDF", + "menu.png_file": "Файл PNG", + "menu.svg_file": "Файл SVG", + "menu.download_pdf": "Скачать PDF", + "menu.download_png": "Скачать PNG", + "menu.download_svg": "Скачать SVG", + "menu.view": "Вид", + "menu.hourglass": "График Песочные часы", + "menu.relatives": "Все родственники", + "menu.fancy": "Декоративное дерево (экспериментальное))", + "menu.wikitree_login": "Войти в WikiTree", + "menu.wikitree_logged_in": "Вход выполнен", + "menu.wikitree_popup_username": "Вы вошли в WikiTree как {username}", + "menu.wikitree_popup": "Вы вошли в WikiTree", + "menu.github": "Проект на сайте GitHub", + "menu.search.placeholder": "Искать человека", + "menu.search.no_results": "Нет результатов", + "intro.title": "Topola Genealogy", + "intro.description": "Topola Genealogy позволяет просматривать семейное древо в интерактивном режиме.", + "intro.instructions": "Щелкните \"Открыть файл\" или \"Открыть URL\", чтобы загрузить файл GEDCOM. Большинство программ для генеалогии имеют функцию экспорта GEDCOM.", + "intro.examples": "Ниже приведены некоторые примеры, найденные в Интернете:", + "intro.from": "источник:", + "intro.privacy": "Конфиденциальность", + "intro.privacy_note": "При использовании функции \"Открыть файл\" Ваши данные никуда не отправляются и остаются на Вашем компьютере. При использовании функции \"Открыть URL\" данные с указанного адреса отправляются службой {link} на включение загрузки данных из другого домена (CORS).", + "load_from_url.title": "Открыть с адреса URL", + "load_from_url.comment": "Данные с указанного адреса URL будут загружены через службу {link}, чтобы избежать проблем CORS.", + "load_from_url.cancel": "Отменить", + "load_from_url.load": "Открыть", + "select_wikitree_id.title": "Введите идентификатор WikiTree", + "select_wikitree_id.comment": "Введите идентификатор профиля {wikiTreeLink}. Примеры: {example1}, {example2}", + "select_wikitree_id.cancel": "Отмена", + "select_wikitree_id.load": "Открыть", + "gedcom.BAPM": "Крещение", + "gedcom.BIRT": "Рождение", + "gedcom.BURI": "Похороны", + "gedcom.CENS": "Перепись населения", + "gedcom.CHR": "Крещение", + "gedcom.DEAT": "Смерть", + "gedcom.DSCR": "Описание", + "gedcom.EMAIL": "E-mail", + "gedcom.EVEN": "Событие", + "gedcom.OCCU": "Профессия", + "gedcom.RIN": "ID", + "gedcom.TITL": "Титул", + "gedcom.WWW": "Веб-сайт WWW", + "gedcom._UPD": "Последнее обновление", + "date.abt": "около", + "date.cal": "рассчитано", + "date.est": "приблизительно", + "date.between": "между {from} и {to}", + "date.after": "после {from}", + "date.before": "до {to}", + "error.error": "Ошибка", + "error.failed_pdf": "Не удалось создать PDF-файл. Повторите попытку с меньшей диаграммой или загрузите файл SVG.", + "error.failed_png": "Не удалось создать файл PNG. Повторите попытку с меньшей схемой или загрузите файл SVG.", + "error.failed_to_load_file": "Ошибка загрузки файла", + "error.failed_wikitree_load_more": "Ошибка при получении данных из WikiTree. {error}}", + "wikitree.private": "Частный" +}