kopia lustrzana https://github.com/FacilMap/facilmap
Use JSON i18n files for compatibility with weblate
rodzic
45e4171544
commit
c66a53386c
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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;
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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;
|
|
@ -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);
|
||||
});
|
||||
|
|
|
@ -18,5 +18,5 @@
|
|||
{ "path": "../utils/tsconfig.json" },
|
||||
{ "path": "../tsconfig.json" }
|
||||
],
|
||||
"include": ["src/**/*"]
|
||||
"include": ["src/**/*", "src/**/*.json"]
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -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."
|
||||
}
|
||||
}
|
|
@ -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;
|
|
@ -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."
|
||||
}
|
||||
}
|
|
@ -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;
|
|
@ -14,6 +14,7 @@
|
|||
],
|
||||
"include": [
|
||||
"src/**/*",
|
||||
"src/**/*.json",
|
||||
"vite.config.ts",
|
||||
"server.ts"
|
||||
]
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
"strict": true,
|
||||
"moduleResolution": "bundler",
|
||||
"skipLibCheck": true,
|
||||
"verbatimModuleSyntax": true
|
||||
"verbatimModuleSyntax": true,
|
||||
"resolveJsonModule": true
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
});
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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;
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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;
|
|
@ -11,5 +11,5 @@
|
|||
{ "path": "./tsconfig.node.json" },
|
||||
{ "path": "../types/tsconfig.json" }
|
||||
],
|
||||
"include": ["src/**/*"]
|
||||
"include": ["src/**/*", "src/**/*.json"]
|
||||
}
|
Ładowanie…
Reference in New Issue