Use JSON i18n files for compatibility with weblate

pull/256/head
Candid Dauth 2024-04-04 22:42:25 +02:00
rodzic 45e4171544
commit c66a53386c
19 zmienionych plików z 526 dodań i 536 usunięć

Wyświetl plik

@ -0,0 +1,149 @@
{
"about-dialog": {
"header": "Über FacilMap {{version}}",
"license-text": "{{facilmap}} is unter der {{license}} verfügbar.",
"license-text-facilmap": "FacilMap",
"license-text-license": "GNU Affero General Public License, Version 3",
"issues-text": "Bitte melden Sie Fehler und Verbesserungsvorschläge auf {{tracker}}.",
"issues-text-tracker": "GitHub",
"help-text": "Wenn Sie Fragen haben, schauen Sie sich die {{documentation}} an, schreiben Sie ins {{discussions}} oder fragen im {{chat}}.",
"help-text-documentation": "Dokumentation",
"help-text-discussions": "Forum",
"help-text-chat": "Matrix-Chat",
"privacy-information": "Informationen zum Datenschutz",
"map-data": "Kartendaten",
"map-data-search": "Suche",
"map-data-pois": "POIs",
"map-data-directions": "Routenberechnung",
"map-data-geoip": "GeoIP",
"map-data-geoip-description": "Dieses Produkt enthält GeoLite2-Daten von Maxmind, verfügbar unter {{maxmind}}.",
"attribution-osm-contributors": "OSM-Mitwirkende",
"programs-libraries": "Programme/Bibliotheken",
"icons": "Symbole"
},
"click-marker-tab": {
"look-up-error": "Fehler beim Laden der Geoinformationen"
},
"client-provider": {
"loading-map-header": "Karte wird geladen",
"loading-map": "Karte wird geladen…",
"connecting-header": "Verbindung wird hergestellt",
"connecting": "Verbindung mit dem Server wird hergestellt…",
"map-deleted-header": "Karte gelöscht",
"map-deleted": "Die Karte wurde gelöscht.",
"close-map": "Karte schließen",
"connection-error": "Bei der Verbindung zum Server ist ein Fehler aufgetreten",
"open-map-error": "Beim Öffnen der Karte ist ein Fehler aufgetreten",
"disconnected-header": "Verbindung unterbrochen",
"disconnected": "Die Verbindung zum Server ist verloren gegangen. Verbindung wird wiederhergestellt…"
},
"edit-filter-dialog": {
"title": "Filter",
"apply": "Anwenden",
"introduction": "Hier können Sie eine Filterformel festlegen, die definiert, welche Marker/Linien basierend auf ihren Attributen angezeigt/versteckt werden sollen. Die Filterformel beeinflusst nur Ihre persönliche Ansicht der Karte, sie kann jedoch als Teil einer gespeicherten Ansicht oder eines geteilten Links wiederverwendet werden.",
"syntax-header": "Syntax",
"variable": "Variable",
"operator": "Operator",
"description": "Beschreibung",
"example": "Beispiel",
"name-description": "Name des Markers oder der Linie",
"type-description": "Art des Objekts: {{marker}} (Marker) / {{line}} (Linie)",
"typeId-description": "Typ des Objekts: {{items}})",
"typeId-description-item": "{{typeId}} ({{typeName}})",
"typeId-description-separator": " / ",
"data-description-1": "Feldwerte (Beispiel: {{example1}} oder {{example2}}).",
"data-description-2": "Für Checkbox-Felder ist der Wert {{uncheckedValue}} (nicht selektiert) oder {{checkedValue}} (selektiert).",
"lon-lat-description": "Koordinaten des Markers",
"colour-description": "Farbe des Markers oder der Linie",
"size-description": "Größe des Markers",
"symbol-description": "Symbol des Markers",
"shape-description": "Form des Markers",
"ele-description": "Höhe über NN des Markers",
"mode-description": "Routenmethode der Linie (z.\u202fB. {{straight}} (Luftlinie) / {{car}} (Auto) / {{bicycle}} (Fahrrad) / {{pedestrian}} (zu Fuß) / {{track}} (importierter GPX-Track))",
"width-description": "Dicke der Linie",
"stroke-description": "Kontur der Linie ({{solid}} (durchgezogen) / {{dashed}} (gestrichelt) / {{dotted}} (gepunktet))",
"distance-description": "Länge der Linie in Kilometern",
"time-description": "Reisedauer der Linie in Sekunden",
"ascent-descent-description": "Gesamteranstieg/-abstieg der Linie",
"routePoints-description": "Koordinaten der Wegpunkte der Linie",
"number-description": "Zahl",
"text-description": "Zeichenkette",
"mathematical-description": "Mathematische Operationen ({{modulo}}: modulo, {{power}}: Potenz)",
"logical-description": "Logische Operationen",
"ternary-description": "Wenn/dann/sonst-Operator",
"comparison-description": "Vergleich ({{notEqual}}: ungleich) (Groß-/Kleinschreibung relevant)",
"list-description": "Listen-Operator ({{in}}: Wert kommt in der Liste vor, {{notIn}}: Wert kommt nicht in der Liste vor) (Groß-/Kleinschreibung relevant)",
"regexp-description": "Regulärer Ausdruck (Groß-/Kleinschreibung relevant)",
"lower-description": "Zu Kleinbuchstaben konvertieren",
"round-description": "Runden ({{round}}: kaufmännisch runden, {{ceil}}: aufrunden, {{floor}}: abrunden)",
"functions-description": "Mathematische Funktionen ({{abs}}: Betrag, {{log}}: Natürlicher Logarithmus, {{sqrt}}: Quadratwurzel)",
"min-max-description": "Kleinster/größter Wert"
},
"modal-dialog": {
"close": "Schließen",
"cancel": "Abbrechen",
"save": "Speichern"
},
"user-preferences-dialog": {
"title": "Benutzereinstellungen",
"introduction": "Diese Einstellungen werden als Cookies auf Ihrem Computer gespeichert und werden unabhängig von der geöffneten Karte angewendet.",
"language": "Sprache",
"units": "Einheiten",
"units-metric": "Metrisch",
"units-us": "US customary (Meilen und Füße)"
},
"toolbox-add-dropdown": {
"label": "Erstellen",
"manage-types": "Objekttypen verwalten"
},
"toolbox-collab-maps-dropdown": {
"label": "Kollaborative Karten",
"bookmark": "Karte „{{padName}}“ als Favoriten hinzufügen",
"manage-bookmarks": "Favoriten verwalten",
"create-map": "Neue Karte erstellen",
"open-map": "Existierende Karte öffnen",
"open-other-map": "Andere Karte öffnen",
"close-map": "Karte „{{padName}}“ schließen"
},
"toolbox-help-dropdown": {
"label": "Hilfe",
"documentation": "Benutzerhandbuch",
"matrix-chat": "Matrix-Chat",
"bugtracker": "Fehler melden",
"forum": "Frage stellen",
"about": "Über {{appName}}"
},
"toolbox-map-style-dropdown": {
"label": "Kartenstil",
"openstreetmap": "OpenStreetMap",
"google-maps": "Google Maps",
"google-maps-satellite": "Google Maps (Satellit)",
"bing-maps": "Bing Maps"
},
"toolbox-tools-dropdown": {
"label": "Werkzeuge",
"share": "Teilen",
"open-file": "Datei öffnen",
"export": "Exportieren",
"filter": "Filter",
"settings": "Eigenschaften",
"history": "Versionsgeschichte",
"user-preferences": "Benutzereinstellungen"
},
"toolbox-views-dropdown": {
"label": "Ansichten",
"save-current-view": "Ansicht speichern",
"manage-views": "Ansichten verwalten"
}
}

Wyświetl plik

@ -1,151 +0,0 @@
const messagesDe = {
"about-dialog": {
"header": `Über FacilMap {{version}}`,
"license-text": `{{facilmap}} is unter der {{license}} verfügbar.`,
"license-text-facilmap": `FacilMap`,
"license-text-license": `GNU Affero General Public License, Version 3`,
"issues-text": `Bitte melden Sie Fehler und Verbesserungsvorschläge auf {{tracker}}.`,
"issues-text-tracker": `GitHub`,
"help-text": `Wenn Sie Fragen haben, schauen Sie sich die {{documentation}} an, schreiben Sie ins {{discussions}} oder fragen im {{chat}}.`,
"help-text-documentation": `Dokumentation`,
"help-text-discussions": `Forum`,
"help-text-chat": `Matrix-Chat`,
"privacy-information": `Informationen zum Datenschutz`,
"map-data": `Kartendaten`,
"map-data-search": `Suche`,
"map-data-pois": `POIs`,
"map-data-directions": `Routenberechnung`,
"map-data-geoip": `GeoIP`,
"map-data-geoip-description": `Dieses Produkt enthält GeoLite2-Daten von Maxmind, verfügbar unter {{maxmind}}.`,
"attribution-osm-contributors": `OSM-Mitwirkende`,
"programs-libraries": `Programme/Bibliotheken`,
"icons": `Symbole`
},
"click-marker-tab": {
"look-up-error": `Fehler beim Laden der Geoinformationen`
},
"client-provider": {
"loading-map-header": `Karte wird geladen`,
"loading-map": `Karte wird geladen…`,
"connecting-header": `Verbindung wird hergestellt`,
"connecting": `Verbindung mit dem Server wird hergestellt…`,
"map-deleted-header": `Karte gelöscht`,
"map-deleted": `Die Karte wurde gelöscht.`,
"close-map": `Karte schließen`,
"connection-error": `Bei der Verbindung zum Server ist ein Fehler aufgetreten`,
"open-map-error": `Beim Öffnen der Karte ist ein Fehler aufgetreten`,
"disconnected-header": `Verbindung unterbrochen`,
"disconnected": `Die Verbindung zum Server ist verloren gegangen. Verbindung wird wiederhergestellt…`
},
"edit-filter-dialog": {
"title": `Filter`,
"apply": `Anwenden`,
"introduction": `Hier können Sie eine Filterformel festlegen, die definiert, welche Marker/Linien basierend auf ihren Attributen angezeigt/versteckt werden sollen. Die Filterformel beeinflusst nur Ihre persönliche Ansicht der Karte, sie kann jedoch als Teil einer gespeicherten Ansicht oder eines geteilten Links wiederverwendet werden.`,
"syntax-header": `Syntax`,
"variable": `Variable`,
"operator": `Operator`,
"description": `Beschreibung`,
"example": `Beispiel`,
"name-description": `Name des Markers oder der Linie`,
"type-description": `Art des Objekts: {{marker}} (Marker) / {{line}} (Linie)`,
"typeId-description": `Typ des Objekts: {{items}})`,
"typeId-description-item": `{{typeId}} ({{typeName}})`,
"typeId-description-separator": ` / `,
"data-description-1": `Feldwerte (Beispiel: {{example1}} oder {{example2}}).`,
"data-description-2": `Für Checkbox-Felder ist der Wert {{uncheckedValue}} (nicht selektiert) oder {{checkedValue}} (selektiert).`,
"lon-lat-description": `Koordinaten des Markers`,
"colour-description": `Farbe des Markers oder der Linie`,
"size-description": `Größe des Markers`,
"symbol-description": `Symbol des Markers`,
"shape-description": `Form des Markers`,
"ele-description": `Höhe über NN des Markers`,
"mode-description": `Routenmethode der Linie (z.\u202fB. {{straight}} (Luftlinie) / {{car}} (Auto) / {{bicycle}} (Fahrrad) / {{pedestrian}} (zu Fuß) / {{track}} (importierter GPX-Track))`,
"width-description": `Dicke der Linie`,
"stroke-description": `Kontur der Linie ({{solid}} (durchgezogen) / {{dashed}} (gestrichelt) / {{dotted}} (gepunktet))`,
"distance-description": `Länge der Linie in Kilometern`,
"time-description": `Reisedauer der Linie in Sekunden`,
"ascent-descent-description": `Gesamteranstieg/-abstieg der Linie`,
"routePoints-description": `Koordinaten der Wegpunkte der Linie`,
"number-description": `Zahl`,
"text-description": `Zeichenkette`,
"mathematical-description": `Mathematische Operationen ({{modulo}}: modulo, {{power}}: Potenz)`,
"logical-description": `Logische Operationen`,
"ternary-description": `Wenn/dann/sonst-Operator`,
"comparison-description": `Vergleich ({{notEqual}}: ungleich) (Groß-/Kleinschreibung relevant)`,
"list-description": `Listen-Operator ({{in}}: Wert kommt in der Liste vor, {{notIn}}: Wert kommt nicht in der Liste vor) (Groß-/Kleinschreibung relevant)`,
"regexp-description": `Regulärer Ausdruck (Groß-/Kleinschreibung relevant)`,
"lower-description": `Zu Kleinbuchstaben konvertieren`,
"round-description": `Runden ({{round}}: kaufmännisch runden, {{ceil}}: aufrunden, {{floor}}: abrunden)`,
"functions-description": `Mathematische Funktionen ({{abs}}: Betrag, {{log}}: Natürlicher Logarithmus, {{sqrt}}: Quadratwurzel)`,
"min-max-description": `Kleinster/größter Wert`
},
"modal-dialog": {
"close": "Schließen",
"cancel": "Abbrechen",
"save": "Speichern"
},
"user-preferences-dialog": {
"title": `Benutzereinstellungen`,
"introduction": `Diese Einstellungen werden als Cookies auf Ihrem Computer gespeichert und werden unabhängig von der geöffneten Karte angewendet.`,
"language": `Sprache`,
"units": `Einheiten`,
"units-metric": `Metrisch`,
"units-us": `US customary (Meilen und Füße)`
},
"toolbox-add-dropdown": {
"label": `Erstellen`,
"manage-types": `Objekttypen verwalten`
},
"toolbox-collab-maps-dropdown": {
"label": `Kollaborative Karten`,
"bookmark": `Karte „{{padName}}“ als Favoriten hinzufügen`,
"manage-bookmarks": `Favoriten verwalten`,
"create-map": `Neue Karte erstellen`,
"open-map": `Existierende Karte öffnen`,
"open-other-map": `Andere Karte öffnen`,
"close-map": `Karte „{{padName}}“ schließen`
},
"toolbox-help-dropdown": {
"label": `Hilfe`,
"documentation": `Benutzerhandbuch`,
"matrix-chat": `Matrix-Chat`,
"bugtracker": `Fehler melden`,
"forum": `Frage stellen`,
"about": `Über {{appName}}`
},
"toolbox-map-style-dropdown": {
"label": `Kartenstil`,
"openstreetmap": `OpenStreetMap`,
"google-maps": `Google Maps`,
"google-maps-satellite": `Google Maps (Satellit)`,
"bing-maps": `Bing Maps`
},
"toolbox-tools-dropdown": {
"label": `Werkzeuge`,
"share": `Teilen`,
"open-file": `Datei öffnen`,
"export": `Exportieren`,
"filter": `Filter`,
"settings": `Eigenschaften`,
"history": `Versionsgeschichte`,
"user-preferences": `Benutzereinstellungen`
},
"toolbox-views-dropdown": {
"label": `Ansichten`,
"save-current-view": `Ansicht speichern`,
"manage-views": `Ansichten verwalten`
}
};
export default messagesDe;

Wyświetl plik

@ -0,0 +1,149 @@
{
"about-dialog": {
"header": "About FacilMap {{version}}",
"license-text": "{{facilmap}} is available under the {{license}}.",
"license-text-facilmap": "FacilMap",
"license-text-license": "GNU Affero General Public License, Version 3",
"issues-text": "If something does not work or you have a suggestion for improvement, please report on the {{tracker}}.",
"issues-text-tracker": "issue tracker",
"help-text": "If you have a question, please have a look at the {{documentation}}, raise a question in the {{discussions}} or ask in the {{chat}}.",
"help-text-documentation": "documentation",
"help-text-discussions": "discussion forum",
"help-text-chat": "Matrix chat",
"privacy-information": "Privacy information",
"map-data": "Map data",
"map-data-search": "Search",
"map-data-pois": "POIs",
"map-data-directions": "Directions",
"map-data-geoip": "GeoIP",
"map-data-geoip-description": "This product includes GeoLite2 data created by MaxMind, available from {{maxmind}}.",
"attribution-osm-contributors": "OSM Contributors",
"programs-libraries": "Programs/libraries",
"icons": "Icons"
},
"click-marker-tab": {
"look-up-error": "Error looking up point"
},
"client-provider": {
"loading-map-header": "Loading",
"loading-map": "Loading map…",
"connecting-header": "Connecting",
"connecting": "Connecting to server…",
"map-deleted-header": "Map deleted",
"map-deleted": "This map has been deleted.",
"close-map": "Close map",
"connection-error": "Error connecting to server",
"open-map-error": "Error opening map",
"disconnected-header": "Disconnected",
"disconnected": "The connection to the server was lost. Trying to reconnect…"
},
"edit-filter-dialog": {
"title": "Filter",
"apply": "Apply",
"introduction": "Here you can set an advanced expression to show/hide certain markers/lines based on their attributes. The filter expression only applies to your view of the map, but it can be persisted as part of a saved view or a shared link.",
"syntax-header": "Syntax",
"variable": "Variable",
"operator": "Operator",
"description": "Description",
"example": "Example",
"name-description": "Marker/Line name",
"type-description": "{{marker}} / {{line}}",
"typeId-description": "{{items}})",
"typeId-description-item": "{{typeId}} ({{typeName}})",
"typeId-description-separator": " / ",
"data-description-1": "Field values (example: {{example1}} or {{example2}}).",
"data-description-2": "For checkbox fields, the value is {{uncheckedValue}} (unchecked) or {{checkedValue}} (checked).",
"lon-lat-description": "Marker coordinates",
"colour-description": "Marker/line colour",
"size-description": "Marker size",
"symbol-description": "Marker icon",
"shape-description": "Marker shape",
"ele-description": "Marker elevation",
"mode-description": "Line routing mode ({{straight}} / {{car}} / {{bicycle}} / {{pedestrian}} / {{track}})",
"width-description": "Line width",
"stroke-description": "Line stroke ({{solid}} (solid) / {{dashed}} / {{dotted}})",
"distance-description": "Line distance in kilometers",
"time-description": "Line routing time in seconds",
"ascent-descent-description": "Total ascent/descent of line",
"routePoints-description": "Line point coordinates",
"number-description": "Numerical value",
"text-description": "Text value",
"mathematical-description": "Mathematical operations ({{modulo}}: modulo, {{power}}: power)",
"logical-description": "Logical operators",
"ternary-description": "if/then/else operator",
"comparison-description": "Comparison ({{notEqual}}: not equal) (case sensitive)",
"list-description": "List operator (case sensitive)",
"regexp-description": "Regular expression match (case sensitive)",
"lower-description": "Convert to lower case",
"round-description": "Round ({{ceil}}: up, {{floor}}: down)",
"functions-description": "Mathematical functions",
"min-max-description": "Smallest/highest value"
},
"modal-dialog": {
"close": "Close",
"cancel": "Cancel",
"save": "Save"
},
"user-preferences-dialog": {
"title": "User preferences",
"introduction": "These settings are stored on your computer as a cookie and are applied independently of the opened map.",
"language": "Language",
"units": "Units",
"units-metric": "Metric",
"units-us": "US customary (miles, feet)"
},
"toolbox-add-dropdown": {
"label": "Add",
"manage-types": "Manage types"
},
"toolbox-collab-maps-dropdown": {
"label": "Collaborative maps",
"bookmark": "Bookmark map “{{padName}}”",
"manage-bookmarks": "Manage bookmarks",
"create-map": "Create a new map",
"open-map": "Open an existing map",
"open-other-map": "Open another map",
"close-map": "Close map “{{padName}}”"
},
"toolbox-help-dropdown": {
"label": "Help",
"documentation": "Documentation",
"matrix-chat": "Matrix chat room",
"bugtracker": "Report a problem",
"forum": "Ask a question",
"about": "About {{appName}}"
},
"toolbox-map-style-dropdown": {
"label": "Map style",
"openstreetmap": "OpenStreetMap",
"google-maps": "Google Maps",
"google-maps-satellite": "Google Maps (Satellite)",
"bing-maps": "Bing Maps"
},
"toolbox-tools-dropdown": {
"label": "Tools",
"share": "Share",
"open-file": "Open file",
"export": "Export",
"filter": "Filter",
"settings": "Settings",
"history": "History",
"user-preferences": "User preferences"
},
"toolbox-views-dropdown": {
"label": "Views",
"save-current-view": "Save current view",
"manage-views": "Manage views"
}
}

Wyświetl plik

@ -1,151 +0,0 @@
const messagesEn = {
"about-dialog": {
"header": `About FacilMap {{version}}`,
"license-text": `{{facilmap}} is available under the {{license}}.`,
"license-text-facilmap": `FacilMap`,
"license-text-license": `GNU Affero General Public License, Version 3`,
"issues-text": `If something does not work or you have a suggestion for improvement, please report on the {{tracker}}.`,
"issues-text-tracker": `issue tracker`,
"help-text": `If you have a question, please have a look at the {{documentation}}, raise a question in the {{discussions}} or ask in the {{chat}}.`,
"help-text-documentation": `documentation`,
"help-text-discussions": `discussion forum`,
"help-text-chat": `Matrix chat`,
"privacy-information": `Privacy information`,
"map-data": `Map data`,
"map-data-search": `Search`,
"map-data-pois": `POIs`,
"map-data-directions": `Directions`,
"map-data-geoip": `GeoIP`,
"map-data-geoip-description": `This product includes GeoLite2 data created by MaxMind, available from {{maxmind}}.`,
"attribution-osm-contributors": `OSM Contributors`,
"programs-libraries": `Programs/libraries`,
"icons": `Icons`
},
"click-marker-tab": {
"look-up-error": `Error looking up point`
},
"client-provider": {
"loading-map-header": `Loading`,
"loading-map": `Loading map…`,
"connecting-header": `Connecting`,
"connecting": `Connecting to server…`,
"map-deleted-header": `Map deleted`,
"map-deleted": `This map has been deleted.`,
"close-map": `Close map`,
"connection-error": `Error connecting to server`,
"open-map-error": `Error opening map`,
"disconnected-header": `Disconnected`,
"disconnected": `The connection to the server was lost. Trying to reconnect…`
},
"edit-filter-dialog": {
"title": `Filter`,
"apply": `Apply`,
"introduction": `Here you can set an advanced expression to show/hide certain markers/lines based on their attributes. The filter expression only applies to your view of the map, but it can be persisted as part of a saved view or a shared link.`,
"syntax-header": `Syntax`,
"variable": `Variable`,
"operator": `Operator`,
"description": `Description`,
"example": `Example`,
"name-description": `Marker/Line name`,
"type-description": `{{marker}} / {{line}}`,
"typeId-description": `{{items}})`,
"typeId-description-item": `{{typeId}} ({{typeName}})`,
"typeId-description-separator": ` / `,
"data-description-1": `Field values (example: {{example1}} or {{example2}}).`,
"data-description-2": `For checkbox fields, the value is {{uncheckedValue}} (unchecked) or {{checkedValue}} (checked).`,
"lon-lat-description": `Marker coordinates`,
"colour-description": `Marker/line colour`,
"size-description": `Marker size`,
"symbol-description": `Marker icon`,
"shape-description": `Marker shape`,
"ele-description": `Marker elevation`,
"mode-description": `Line routing mode ({{straight}} / {{car}} / {{bicycle}} / {{pedestrian}} / {{track}})`,
"width-description": `Line width`,
"stroke-description": `Line stroke ({{solid}} (solid) / {{dashed}} / {{dotted}})`,
"distance-description": `Line distance in kilometers`,
"time-description": `Line routing time in seconds`,
"ascent-descent-description": `Total ascent/descent of line`,
"routePoints-description": `Line point coordinates`,
"number-description": `Numerical value`,
"text-description": `Text value`,
"mathematical-description": `Mathematical operations ({{modulo}}: modulo, {{power}}: power)`,
"logical-description": `Logical operators`,
"ternary-description": `if/then/else operator`,
"comparison-description": `Comparison ({{notEqual}}: not equal) (case sensitive)`,
"list-description": `List operator (case sensitive)`,
"regexp-description": `Regular expression match (case sensitive)`,
"lower-description": `Convert to lower case`,
"round-description": `Round ({{ceil}}: up, {{floor}}: down)`,
"functions-description": `Mathematical functions`,
"min-max-description": `Smallest/highest value`
},
"modal-dialog": {
"close": "Close",
"cancel": "Cancel",
"save": "Save"
},
"user-preferences-dialog": {
"title": `User preferences`,
"introduction": `These settings are stored on your computer as a cookie and are applied independently of the opened map.`,
"language": `Language`,
"units": `Units`,
"units-metric": `Metric`,
"units-us": `US customary (miles, feet)`
},
"toolbox-add-dropdown": {
"label": `Add`,
"manage-types": `Manage types`
},
"toolbox-collab-maps-dropdown": {
"label": `Collaborative maps`,
"bookmark": `Bookmark map “{{padName}}”`,
"manage-bookmarks": `Manage bookmarks`,
"create-map": `Create a new map`,
"open-map": `Open an existing map`,
"open-other-map": `Open another map`,
"close-map": `Close map “{{padName}}”`
},
"toolbox-help-dropdown": {
"label": `Help`,
"documentation": `Documentation`,
"matrix-chat": `Matrix chat room`,
"bugtracker": `Report a problem`,
"forum": `Ask a question`,
"about": `About {{appName}}`
},
"toolbox-map-style-dropdown": {
"label": `Map style`,
"openstreetmap": `OpenStreetMap`,
"google-maps": `Google Maps`,
"google-maps-satellite": `Google Maps (Satellite)`,
"bing-maps": `Bing Maps`
},
"toolbox-tools-dropdown": {
"label": `Tools`,
"share": `Share`,
"open-file": `Open file`,
"export": `Export`,
"filter": `Filter`,
"settings": `Settings`,
"history": `History`,
"user-preferences": `User preferences`
},
"toolbox-views-dropdown": {
"label": `Views`,
"save-current-view": `Save current view`,
"manage-views": `Manage views`
}
};
export default messagesEn;

Wyświetl plik

@ -1,8 +1,8 @@
/// <reference types="vite/client" />
import { type i18n } from "i18next";
import { defineComponent, ref } from "vue";
import messagesEn from "../../i18n/en";
import messagesDe from "../../i18n/de";
import messagesEn from "../../i18n/en.json";
import messagesDe from "../../i18n/de.json";
import { decodeQueryString, getRawI18n, onI18nReady, setCurrentUnitsGetter } from "facilmap-utils";
import { cookies } from "./cookies";
import { unitsValidator } from "facilmap-types";
@ -15,13 +15,13 @@ onI18nReady((i18n) => {
});
if (import.meta.hot) {
import.meta.hot.accept("../../i18n/en", (m) => {
import.meta.hot.accept("../../i18n/en.json", (m) => {
onI18nReady((i18n) => {
i18n.addResourceBundle("en", namespace, m!.default);
});
});
import.meta.hot.accept("../../i18n/de", (m) => {
import.meta.hot.accept("../../i18n/de.json", (m) => {
onI18nReady((i18n) => {
i18n.addResourceBundle("de", namespace, m!.default);
});

Wyświetl plik

@ -18,5 +18,5 @@
{ "path": "../utils/tsconfig.json" },
{ "path": "../tsconfig.json" }
],
"include": ["src/**/*"]
"include": ["src/**/*", "src/**/*.json"]
}

Wyświetl plik

@ -1,6 +1,6 @@
import { defaultI18nGetter, getRawI18n, onI18nReady, setLanguageDetector, setI18nGetter, isCustomLanguageDetector, isCustomI18nGetter, LANG_QUERY, LANG_COOKIE, setCurrentUnitsGetter } from "facilmap-utils";
import messagesEn from "./i18n/en";
import messagesDe from "./i18n/de";
import messagesEn from "./i18n/en.json";
import messagesDe from "./i18n/de.json";
import type { i18n } from "i18next";
import type { Domain } from "domain";
import { Router } from "express";

Wyświetl plik

@ -0,0 +1,54 @@
{
"pad-not-found-error": "Karte {{padId}} konnte nicht gefunden werden.",
"pad-read-not-found-error": "Karte mit der Lese-ID {{padId}} konnte nicht gefunden werden.",
"database": {
"type-not-found-error": "Typ {{typeId}} existiert nicht.",
"object-not-found-in-pad-error": "Objekt {{id}} vom Typ „{{type}}“ konnte auf der Karte {{padId}} nicht gefunden werden.",
"old-pad-data-not-available-error": "Alte Karteneinstellungen nicht verfügbar.",
"unknown-type-error": "Unbekannter Typ „{{type}}“.",
"route-points-not-an-array-error": "routePoints ist kein Array",
"route-points-less-than-two-points-error": "Eine Linie kann nicht weniger als zwei Routenpunkte haben.",
"cannot-use-type-for-line-error": "Typ der Art „{{type}}“ kann nicht für Linien benutzt werden.",
"cannot-use-type-for-marker-error": "Typ der Art „{{type}}“ kann nicht für Marker benutzt werden.",
"unique-pad-ids-error": "Lese-ID, Schreib-ID und Admin-ID müssen unterschiedlich sein.",
"unique-pad-ids-read-write-error": "Lese-ID und Schreib-ID müssen unterschiedlich sein.",
"unique-pad-ids-read-admin-error": "Lese-ID und Admin-ID müssen unterschiedlich sein.",
"unique-pad-ids-write-admin-error": "Schreib-ID und Admin-ID müssen unterschiedlich sein.",
"pad-id-taken-error": "ID „{{id}}“ ist bereits vergeben.",
"pad-disappeared-error": "Karte wurde während des Abspeicherns gelöscht."
},
"routing": {
"ors-token-warning": "Warnung: Kein ORS-Token konfiguriert. Bitten Sie den Administrator, die Umgebungsvariable ORS_TOKEN zu setzen.",
"too-much-distance-error": "Die Distanz zwischen den Routenpunkten ist zu groß. Versuchen Sie, einige Zwischenpunkte hinzuzufügen.",
"invalid-response-error": "Ungültige Antwort vom Routenserver.",
"mapbox-token-warning": "Kein Mapbox-Token konfiguriert. Bitten Sie den Administrator, die Umgebungsvariable MAPBOX_TOKEN zu setzen.",
"mapbox-error": "Route konnte nicht berechnet werden ({{code}})."
},
"socket": {
"only-in-admin-error": "Nur im Admin-Modus verfügbar.",
"only-in-write-error": "Nur im Schreib-Modus verfügbar.",
"pad-id-set-error": "Karten-ID bereits gesetzt.",
"pad-not-exist-error": "Diese Karte existiert nicht.",
"pad-already-loaded-error": "Karte bereits geladen.",
"no-map-open-error": "Keine Karte geöffnet.",
"unknown-format-error": "Unbekanntes Format",
"route-not-available-error": "Route nicht verfügbar.",
"route-name": "FacilMap-Route",
"already-listening-to-history-error": "Änderungsgeschichte bereits abonniert.",
"not-listening-to-history-error": "Änderungsgeschichte nicht abonniert.",
"admin-revert-error": "Diese Änderung kann nur im Admin-Modus rückgängig gemacht werden."
},
"search": {
"url-request-error": "Laden von „{{url}}“ fehlgeschlagen (Status: {{status}}).",
"url-response-error": "Ungültige Antwort vom Server.",
"url-unknown-format-error": "Unbekanntes Dateiformat."
},
"webserver": {
"map-not-found-error": "Karte mit der ID {{padId}} konnte nicht gefunden werden."
}
}

Wyświetl plik

@ -1,56 +0,0 @@
const messagesDe = {
"pad-not-found-error": `Karte {{padId}} konnte nicht gefunden werden.`,
"pad-read-not-found-error": `Karte mit der Lese-ID {{padId}} konnte nicht gefunden werden.`,
"database": {
"type-not-found-error": `Typ {{typeId}} existiert nicht.`,
"object-not-found-in-pad-error": `Objekt {{id}} vom Typ „{{type}}“ konnte auf der Karte {{padId}} nicht gefunden werden.`,
"old-pad-data-not-available-error": `Alte Karteneinstellungen nicht verfügbar.`,
"unknown-type-error": `Unbekannter Typ „{{type}}“.`,
"route-points-not-an-array-error": `routePoints ist kein Array`,
"route-points-less-than-two-points-error": `Eine Linie kann nicht weniger als zwei Routenpunkte haben.`,
"cannot-use-type-for-line-error": `Typ der Art „{{type}}“ kann nicht für Linien benutzt werden.`,
"cannot-use-type-for-marker-error": `Typ der Art „{{type}}“ kann nicht für Marker benutzt werden.`,
"unique-pad-ids-error": `Lese-ID, Schreib-ID und Admin-ID müssen unterschiedlich sein.`,
"unique-pad-ids-read-write-error": `Lese-ID und Schreib-ID müssen unterschiedlich sein.`,
"unique-pad-ids-read-admin-error": `Lese-ID und Admin-ID müssen unterschiedlich sein.`,
"unique-pad-ids-write-admin-error": `Schreib-ID und Admin-ID müssen unterschiedlich sein.`,
"pad-id-taken-error": `ID „{{id}}“ ist bereits vergeben.`,
"pad-disappeared-error": `Karte wurde während des Abspeicherns gelöscht.`
},
"routing": {
"ors-token-warning": `Warnung: Kein ORS-Token konfiguriert. Bitten Sie den Administrator, die Umgebungsvariable ORS_TOKEN zu setzen.`,
"too-much-distance-error": `Die Distanz zwischen den Routenpunkten ist zu groß. Versuchen Sie, einige Zwischenpunkte hinzuzufügen.`,
"invalid-response-error": `Ungültige Antwort vom Routenserver.`,
"mapbox-token-warning": `Kein Mapbox-Token konfiguriert. Bitten Sie den Administrator, die Umgebungsvariable MAPBOX_TOKEN zu setzen.`,
"mapbox-error": `Route konnte nicht berechnet werden ({{code}}).`
},
"socket": {
"only-in-admin-error": `Nur im Admin-Modus verfügbar.`,
"only-in-write-error": `Nur im Schreib-Modus verfügbar.`,
"pad-id-set-error": `Karten-ID bereits gesetzt.`,
"pad-not-exist-error": `Diese Karte existiert nicht.`,
"pad-already-loaded-error": `Karte bereits geladen.`,
"no-map-open-error": `Keine Karte geöffnet.`,
"unknown-format-error": `Unbekanntes Format`,
"route-not-available-error": `Route nicht verfügbar.`,
"route-name": `FacilMap-Route`,
"already-listening-to-history-error": `Änderungsgeschichte bereits abonniert.`,
"not-listening-to-history-error": `Änderungsgeschichte nicht abonniert.`,
"admin-revert-error": `Diese Änderung kann nur im Admin-Modus rückgängig gemacht werden.`
},
"search": {
"url-request-error": `Laden von „{{url}}“ fehlgeschlagen (Status: {{status}}).`,
"url-response-error": `Ungültige Antwort vom Server.`,
"url-unknown-format-error": `Unbekanntes Dateiformat.`
},
"webserver": {
"map-not-found-error": `Karte mit der ID {{padId}} konnte nicht gefunden werden.`
}
};
export default messagesDe;

Wyświetl plik

@ -0,0 +1,54 @@
{
"pad-not-found-error": "Map {{padId}} could not be found.",
"pad-read-not-found-error": "Map with read-only ID {{padId}} could not be found.",
"database": {
"type-not-found-error": "Type {{typeId}} does not exist.",
"object-not-found-in-pad-error": "{{type}} {{id}} of map {{padId}} could not be found.",
"old-pad-data-not-available-error": "Old map data not available.",
"unknown-type-error": "Unknown type \"{{type}}\".",
"route-points-not-an-array-error": "routePoints is not an array",
"route-points-less-than-two-points-error": "A line cannot have less than two route points.",
"cannot-use-type-for-line-error": "Cannot use {{type}} type for line.",
"cannot-use-type-for-marker-error": "Cannot use {{type}} type for marker.",
"unique-pad-ids-error": "Read-only, read-write and admin ID have to be different from each other.",
"unique-pad-ids-read-write-error": "Read-only and read-write ID cannot be the same.",
"unique-pad-ids-read-admin-error": "Read-only and admin ID cannot be the same.",
"unique-pad-ids-write-admin-error": "Read-write and admin ID cannot be the same.",
"pad-id-taken-error": "ID '{{id}}' is already taken.",
"pad-disappeared-error": "Map has disappeared after updating."
},
"routing": {
"ors-token-warning": "Warning: No ORS token configured. Please ask the administrator to set ORS_TOKEN in the environment or in config.env.",
"too-much-distance-error": "Too much distance between route points. Consider adding some via points.",
"invalid-response-error": "Invalid response from routing server.",
"mapbox-token-warning": "No Mapbox token configured. Please ask the administrator to set MAPBOX_TOKEN in the environment or in config.env.",
"mapbox-error": "Route could not be calculated ({{code}})."
},
"socket": {
"only-in-admin-error": "Only available in admin mode.",
"only-in-write-error": "Only available in write mode.",
"pad-id-set-error": "Map ID already set",
"pad-not-exist-error": "This map does not exist",
"pad-already-loaded-error": "Map already loaded.",
"no-map-open-error": "No map opened.",
"unknown-format-error": "Unknown format",
"route-not-available-error": "Route not available.",
"route-name": "FacilMap route",
"already-listening-to-history-error": "Already listening to history.",
"not-listening-to-history-error": "Not listening to history.",
"admin-revert-error": "This kind of change can only be reverted in admin mode."
},
"search": {
"url-request-error": "Request to \"{{url}}\" failed with status {{status}}.",
"url-response-error": "Invalid response from server.",
"url-unknown-format-error": "Unknown file format."
},
"webserver": {
"map-not-found-error": "Map with ID {{padId}} could not be found."
}
}

Wyświetl plik

@ -1,56 +0,0 @@
const messagesEn = {
"pad-not-found-error": `Map {{padId}} could not be found.`,
"pad-read-not-found-error": `Map with read-only ID {{padId}} could not be found.`,
"database": {
"type-not-found-error": `Type {{typeId}} does not exist.`,
"object-not-found-in-pad-error": `{{type}} {{id}} of map {{padId}} could not be found.`,
"old-pad-data-not-available-error": `Old map data not available.`,
"unknown-type-error": `Unknown type "{{type}}".`,
"route-points-not-an-array-error": `routePoints is not an array`,
"route-points-less-than-two-points-error": `A line cannot have less than two route points.`,
"cannot-use-type-for-line-error": `Cannot use {{type}} type for line.`,
"cannot-use-type-for-marker-error": `Cannot use {{type}} type for marker.`,
"unique-pad-ids-error": `Read-only, read-write and admin ID have to be different from each other.`,
"unique-pad-ids-read-write-error": `Read-only and read-write ID cannot be the same.`,
"unique-pad-ids-read-admin-error": `Read-only and admin ID cannot be the same.`,
"unique-pad-ids-write-admin-error": `Read-write and admin ID cannot be the same.`,
"pad-id-taken-error": `ID '{{id}}' is already taken.`,
"pad-disappeared-error": `Map has disappeared after updating.`
},
"routing": {
"ors-token-warning": `Warning: No ORS token configured. Please ask the administrator to set ORS_TOKEN in the environment or in config.env.`,
"too-much-distance-error": `Too much distance between route points. Consider adding some via points.`,
"invalid-response-error": `Invalid response from routing server.`,
"mapbox-token-warning": `No Mapbox token configured. Please ask the administrator to set MAPBOX_TOKEN in the environment or in config.env.`,
"mapbox-error": `Route could not be calculated ({{code}}).`
},
"socket": {
"only-in-admin-error": `Only available in admin mode.`,
"only-in-write-error": `Only available in write mode.`,
"pad-id-set-error": `Map ID already set`,
"pad-not-exist-error": `This map does not exist`,
"pad-already-loaded-error": `Map already loaded.`,
"no-map-open-error": `No map opened.`,
"unknown-format-error": `Unknown format`,
"route-not-available-error": `Route not available.`,
"route-name": `FacilMap route`,
"already-listening-to-history-error": `Already listening to history.`,
"not-listening-to-history-error": `Not listening to history.`,
"admin-revert-error": `This kind of change can only be reverted in admin mode.`
},
"search": {
"url-request-error": `Request to "{{url}}" failed with status {{status}}.`,
"url-response-error": `Invalid response from server.`,
"url-unknown-format-error": `Unknown file format.`
},
"webserver": {
"map-not-found-error": `Map with ID {{padId}} could not be found.`
}
};
export default messagesEn;

Wyświetl plik

@ -14,6 +14,7 @@
],
"include": [
"src/**/*",
"src/**/*.json",
"vite.config.ts",
"server.ts"
]

Wyświetl plik

@ -6,6 +6,7 @@
"strict": true,
"moduleResolution": "bundler",
"skipLibCheck": true,
"verbatimModuleSyntax": true
"verbatimModuleSyntax": true,
"resolveJsonModule": true
}
}

Wyświetl plik

@ -1,8 +1,8 @@
/// <reference types="vite/client" />
import type { i18n } from "i18next";
import { getRawI18n, onI18nReady } from "./i18n-utils";
import messagesDe from "./i18n/de";
import messagesEn from "./i18n/en";
import messagesDe from "./i18n/de.json";
import messagesEn from "./i18n/en.json";
const namespace = "facilmap-utils";
@ -12,13 +12,13 @@ onI18nReady((i18n) => {
});
if (import.meta.hot) {
import.meta.hot.accept("./i18n/en", (m) => {
import.meta.hot.accept("./i18n/en.json", (m) => {
onI18nReady((i18n) => {
i18n.addResourceBundle("en", namespace, m!.default);
});
});
import.meta.hot.accept("./i18n/de", (m) => {
import.meta.hot.accept("./i18n/de.json", (m) => {
onI18nReady((i18n) => {
i18n.addResourceBundle("de", namespace, m!.default);
});

Wyświetl plik

@ -0,0 +1,53 @@
{
"elevation": {
"http-error": "Unerwarteter Fehler beim Laden der Höhe über NN (Status {{status}})."
},
"format": {
"time": "{{hours}}:{{minutes}}",
"route-time": "{{time}} {{mode}}",
"distance-km": "{{distance}}\u202fkm",
"distance-mi": "{{distance}}\u202fmi",
"elevation-m": "{{elevation}}\u202fm",
"elevation-ft": "{{elevation}}\u202fft"
},
"objects": {
"untitled-marker": "Unbenannter Marker",
"untitled-lined": "Unbenannte Linie"
},
"pads": {
"unnamed-map": "Unbenannte Karte",
"page-title": "{{padName}} – {{appName}}",
"fallback-page-description": "Eine vielseitige Karte auf OpenStreetMap-Basis, auf der Marker und Linien mit Live-Kollaboration gesetzt werden können."
},
"routing": {
"route-mode-hgv": "mit dem LKW",
"route-mode-car": "mit dem Auto",
"route-mode-road-bike": "mit dem Rennrad",
"route-mode-mountain-bike": "mit dem Mountain Bike",
"route-mode-electric-bike": "mit dem E-Bike",
"route-mode-bicycle": "mit dem Fahrrad",
"route-mode-wheelchair": "mit dem Rollstuhl",
"route-mode-foot": "zu Fuß",
"route-time": "{{time}}\u202Fh {{mode}}"
},
"search": {
"http-error": "Unerwarteter Fehler bei der Suche (Status {{status}}).",
"from": "von",
"to": "nach",
"via": "über",
"hgv": "mit dem LKW",
"car": "mit dem Auto",
"road-bike": "mit dem Rennrad",
"mountain-bike": "mit dem Mountain Bike",
"electric-bike": "mit dem E-Bike|mit dem Pedelec",
"bicycle": "mit dem Rad|mit dem Fahrrad",
"wheelchair": "mit dem Rollstuhl",
"foot": "zu Fuß",
"straight": "Luftlinie"
}
}

Wyświetl plik

@ -1,55 +0,0 @@
const messagesDe = {
"elevation": {
"http-error": `Unerwarteter Fehler beim Laden der Höhe über NN (Status {{status}}).`
},
"format": {
"time": `{{hours}}:{{minutes}}`,
"route-time": `{{time}} {{mode}}`,
"distance-km": `{{distance}}\u202fkm`,
"distance-mi": `{{distance}}\u202fmi`,
"elevation-m": `{{elevation}}\u202fm`,
"elevation-ft": `{{elevation}}\u202fft`
},
"objects": {
"untitled-marker": `Unbenannter Marker`,
"untitled-lined": `Unbenannte Linie`
},
"pads": {
"unnamed-map": `Unbenannte Karte`,
"page-title": `{{padName}} – {{appName}}`,
"fallback-page-description": `Eine vielseitige Karte auf OpenStreetMap-Basis, auf der Marker und Linien mit Live-Kollaboration gesetzt werden können.`
},
"routing": {
"route-mode-hgv": `mit dem LKW`,
"route-mode-car": `mit dem Auto`,
"route-mode-road-bike": `mit dem Rennrad`,
"route-mode-mountain-bike": `mit dem Mountain Bike`,
"route-mode-electric-bike": `mit dem E-Bike`,
"route-mode-bicycle": `mit dem Fahrrad`,
"route-mode-wheelchair": `mit dem Rollstuhl`,
"route-mode-foot": `zu Fuß`,
"route-time": `{{time}}\u202Fh {{mode}}`
},
"search": {
"http-error": `Unerwarteter Fehler bei der Suche (Status {{status}}).`,
"from": `von`,
"to": `nach`,
"via": `über`,
"hgv": `mit dem LKW`,
"car": `mit dem Auto`,
"road-bike": `mit dem Rennrad`,
"mountain-bike": `mit dem Mountain Bike`,
"electric-bike": `mit dem E-Bike|mit dem Pedelec`,
"bicycle": `mit dem Rad|mit dem Fahrrad`,
"wheelchair": `mit dem Rollstuhl`,
"foot": `zu Fuß`,
"straight": `Luftlinie`
}
};
export default messagesDe;

Wyświetl plik

@ -0,0 +1,52 @@
{
"elevation": {
"http-error": "Looking up elevations failed with status {{status}}."
},
"format": {
"time": "{{hours}}:{{minutes}}\u202Fh",
"route-time": "{{time}} {{mode}}",
"distance-km": "{{distance}}\u202fkm",
"distance-mi": "{{distance}}\u202fmi",
"elevation-m": "{{elevation}}\u202fm",
"elevation-ft": "{{elevation}}\u202fft"
},
"objects": {
"untitled-marker": "Untitled marker",
"untitled-line": "Untitled line"
},
"pads": {
"unnamed-map": "Unnamed map",
"page-title": "{{padName}} – {{appName}}",
"fallback-page-description": "A fully-featured OpenStreetMap-based map where markers and lines can be added with live collaboration."
},
"routing": {
"route-mode-hgv": "by HGV",
"route-mode-car": "by car",
"route-mode-road-bike": "by road bike",
"route-mode-mountain-bike": "by mountain bike",
"route-mode-electric-bike": "by electric bike",
"route-mode-bicycle": "by bicycle",
"route-mode-wheelchair": "by wheelchair",
"route-mode-foot": "on foot"
},
"search": {
"http-error": "Search failed with status {{status}}.",
"from": "from",
"to": "to",
"via": "via",
"hgv": "by HGV",
"car": "by car",
"road-bike": "by road bike",
"mountain-bike": "by mountain bike",
"electric-bike": "by electric bike",
"bicycle": "by bicycle|by bike",
"wheelchair": "by wheelchair",
"foot": "on foot|by walk|by walking|walking",
"straight": "straight|by helicopter"
}
}

Wyświetl plik

@ -1,54 +0,0 @@
const messagesEn = {
"elevation": {
"http-error": `Looking up elevations failed with status {{status}}.`
},
"format": {
"time": `{{hours}}:{{minutes}}\u202Fh`,
"route-time": `{{time}} {{mode}}`,
"distance-km": `{{distance}}\u202fkm`,
"distance-mi": `{{distance}}\u202fmi`,
"elevation-m": `{{elevation}}\u202fm`,
"elevation-ft": `{{elevation}}\u202fft`
},
"objects": {
"untitled-marker": `Untitled marker`,
"untitled-line": `Untitled line`
},
"pads": {
"unnamed-map": `Unnamed map`,
"page-title": `{{padName}} – {{appName}}`,
"fallback-page-description": `A fully-featured OpenStreetMap-based map where markers and lines can be added with live collaboration.`
},
"routing": {
"route-mode-hgv": `by HGV`,
"route-mode-car": `by car`,
"route-mode-road-bike": `by road bike`,
"route-mode-mountain-bike": `by mountain bike`,
"route-mode-electric-bike": `by electric bike`,
"route-mode-bicycle": `by bicycle`,
"route-mode-wheelchair": `by wheelchair`,
"route-mode-foot": `on foot`
},
"search": {
"http-error": `Search failed with status {{status}}.`,
"from": `from`,
"to": `to`,
"via": `via`,
"hgv": `by HGV`,
"car": `by car`,
"road-bike": `by road bike`,
"mountain-bike": `by mountain bike`,
"electric-bike": `by electric bike`,
"bicycle": `by bicycle|by bike`,
"wheelchair": `by wheelchair`,
"foot": `on foot|by walk|by walking|walking`,
"straight": `straight|by helicopter`
}
};
export default messagesEn;

Wyświetl plik

@ -11,5 +11,5 @@
{ "path": "./tsconfig.node.json" },
{ "path": "../types/tsconfig.json" }
],
"include": ["src/**/*"]
"include": ["src/**/*", "src/**/*.json"]
}