From f2c2501817f16599f1bb6b89e1d1231ca86c6bb7 Mon Sep 17 00:00:00 2001
From: pietervdvn
Date: Wed, 19 May 2021 13:38:32 +0200
Subject: [PATCH 01/11] Setting up translations
---
README.md | 2 +-
langs/en.json | 448 +++++++++++++++++++++++++++++++++++++++++++++++++
langs/genEn.sh | 5 +
3 files changed, 454 insertions(+), 1 deletion(-)
create mode 100644 langs/en.json
create mode 100755 langs/genEn.sh
diff --git a/README.md b/README.md
index 7dc4b3c094..50155ca309 100644
--- a/README.md
+++ b/README.md
@@ -82,7 +82,7 @@ To develop or deploy a version of MapComplete, have a look [to the guide](Docs/D
## Translating MapComplete
-Help to translate mapcomplete.
+Help to translate mapcomplete via [Hosted Weblate]().
A theme has translations into the preset.json (`assets/themes/themename/themename.json`). To add a translation:
diff --git a/langs/en.json b/langs/en.json
new file mode 100644
index 0000000000..bcde33de0d
--- /dev/null
+++ b/langs/en.json
@@ -0,0 +1,448 @@
+{
+ "image": {
+ "addPicture": {
+ "en": "Add picture"
+ },
+ "uploadingPicture": {
+ "en": "Uploading your picture..."
+ },
+ "uploadingMultiple": {
+ "en": "Uploading {count} pictures..."
+ },
+ "pleaseLogin": {
+ "en": "Please login to add a picture"
+ },
+ "willBePublished": {
+ "en": "Your picture will be published: "
+ },
+ "cco": {
+ "en": "in the public domain"
+ },
+ "ccbs": {
+ "en": "under the CC-BY-SA-license"
+ },
+ "ccb": {
+ "en": "under the CC-BY-license"
+ },
+ "uploadFailed": {
+ "en": "Could not upload your picture. Do you have internet and are third party API's allowed? Brave browser or UMatrix might block them."
+ },
+ "respectPrivacy": {
+ "en": "Do not photograph people nor license plates. Do not upload Google Maps, Google Streetview or other copyrighted sources."
+ },
+ "uploadDone": {
+ "en": "Your picture has been added. Thanks for helping out!"
+ },
+ "dontDelete": {
+ "en": "Cancel"
+ },
+ "doDelete": {
+ "en": "Remove image"
+ },
+ "isDeleted": {
+ "en": "Deleted"
+ }
+ },
+ "centerMessage": {
+ "loadingData": {
+ "en": "Loading data..."
+ },
+ "zoomIn": {
+ "en": "Zoom in to view or edit the data"
+ },
+ "ready": {
+ "en": "Done!"
+ },
+ "retrying": {
+ "en": "Loading data failed. Trying again in {count} seconds..."
+ }
+ },
+ "index": {
+ "#": "These texts are shown above the theme buttons when no theme is loaded",
+ "title": {
+ "en": "Welcome to MapComplete"
+ },
+ "intro": {
+ "en": "MapComplete is an OpenStreetMap-viewer and editor, which shows you information about a specific theme."
+ },
+ "pickTheme": {
+ "en": "Pick a theme below to get started."
+ }
+ },
+ "general": {
+ "loginWithOpenStreetMap": {
+ "en": "Login with OpenStreetMap"
+ },
+ "welcomeBack": {
+ "en": "You are logged in, welcome back!"
+ },
+ "loginToStart": {
+ "en": "Login to answer this question"
+ },
+ "search": {
+ "search": {
+ "en": "Search a location"
+ },
+ "searching": {
+ "en": "Searching..."
+ },
+ "nothing": {
+ "en": "Nothing found..."
+ },
+ "error": {
+ "en": "Something went wrong..."
+ }
+ },
+ "returnToTheMap": {
+ "en": "Return to the map"
+ },
+ "save": {
+ "en": "Save"
+ },
+ "cancel": {
+ "en": "Cancel"
+ },
+ "skip": {
+ "en": "Skip this question"
+ },
+ "oneSkippedQuestion": {
+ "en": "One question is skipped"
+ },
+ "skippedQuestions": {
+ "en": "Some questions are skipped"
+ },
+ "number": {
+ "en": "number"
+ },
+ "osmLinkTooltip": {
+ "en": "See this object on OpenStreetMap for history and more editing options"
+ },
+ "add": {
+ "addNew": {
+ "en": "Add a new {category} here"
+ },
+ "title": {
+ "en": "Add a new point?"
+ },
+ "intro": {
+ "en": "You clicked somewhere where no data is known yet.
"
+ },
+ "pleaseLogin": {
+ "en": "Please log in to add a new point"
+ },
+ "zoomInFurther": {
+ "en": "Zoom in further to add a point."
+ },
+ "stillLoading": {
+ "en": "The data is still loading. Please wait a bit before you add a new point."
+ },
+ "confirmIntro": {
+ "en": "Add a {title} here?
The point you create here will be visible for everyone. Please, only add things on to the map if they truly exist. A lot of applications use this data."
+ },
+ "confirmButton": {
+ "en": "Add a {category} here.
Your addition is visible for everyone
"
+ },
+ "openLayerControl": {
+ "en": "Open the layer control box"
+ },
+ "layerNotEnabled": {
+ "en": "The layer {layer} is not enabled. Enable this layer to add a point"
+ }
+ },
+ "pickLanguage": {
+ "en": "Choose a language: "
+ },
+ "about": {
+ "en": "Easily edit and add OpenStreetMap for a certain theme"
+ },
+ "nameInlineQuestion": {
+ "en": "The name of this {category} is $$$"
+ },
+ "noNameCategory": {
+ "en": "{category} without a name"
+ },
+ "questions": {
+ "phoneNumberOf": {
+ "en": "What is the phone number of {category}?"
+ },
+ "phoneNumberIs": {
+ "en": "The phone number of this {category} is {phone}"
+ },
+ "websiteOf": {
+ "en": "What is the website of {category}?"
+ },
+ "websiteIs": {
+ "en": "Website: {website}"
+ },
+ "emailOf": {
+ "en": "What is the email address of {category}?"
+ },
+ "emailIs": {
+ "en": "The email address of this {category} is {email}"
+ }
+ },
+ "openStreetMapIntro": {
+ "en": "An Open Map
Wouldn't it be cool if there was a single map, which everyone could freely use and edit? A single place to store all geo-information? Then, all those websites with different, small and incompatible maps (which are always outdated) wouldn't be needed anymore.
OpenStreetMap is this map. The map data can be used for free (with attribution and publication of changes to that data). On top of that, everyone can freely add new data and fix errors. This website uses OpenStreetMap as well. All the data is from there, and your answers and corrections are added there as well.
A ton of people and application already use OpenStreetMap: Maps.me, OsmAnd, but also the maps at Facebook, Instagram, Apple-maps and Bing-maps are (partly) powered by OpenStreetMap. If you change something here, it'll be reflected in those applications too - after their next update!
"
+ },
+ "attribution": {
+ "attributionTitle": {
+ "en": "Attribution notice"
+ },
+ "attributionContent": {
+ "en": "All data is provided by OpenStreetMap, freely reusable under the Open DataBase License.
"
+ },
+ "themeBy": {
+ "en": "Theme maintained by {author}"
+ },
+ "iconAttribution": {
+ "title": {
+ "en": "Used icons"
+ }
+ },
+ "mapContributionsBy": {
+ "en": "The current visible data has edits made by {contributors}"
+ },
+ "mapContributionsByAndHidden": {
+ "en": "The current visible data has edits made by {contributors} and {hiddenCount} more contributors"
+ }
+ },
+ "sharescreen": {
+ "intro": {
+ "en": "Share this map
Share this map by copying the link below and sending it to friends and family:"
+ },
+ "addToHomeScreen": {
+ "en": "Add to your home screen
You can easily add this website to your smartphone home screen for a native feel. Click the 'add to home screen button' in the URL bar to do this."
+ },
+ "embedIntro": {
+ "en": "Embed on your website
Please, embed this map into your website.
We encourage you to do it - you don't even have to ask permission.
It is free, and always will be. The more people using this, the more valuable it becomes."
+ },
+ "copiedToClipboard": {
+ "en": "Link copied to clipboard"
+ },
+ "thanksForSharing": {
+ "en": "Thanks for sharing!"
+ },
+ "editThisTheme": {
+ "en": "Edit this theme"
+ },
+ "editThemeDescription": {
+ "en": "Add or change questions to this map theme"
+ },
+ "fsUserbadge": {
+ "en": "Enable the login button"
+ },
+ "fsSearch": {
+ "en": "Enable the search bar"
+ },
+ "fsWelcomeMessage": {
+ "en": "Show the welcome message popup and associated tabs"
+ },
+ "fsLayers": {
+ "en": "Enable the layer control"
+ },
+ "fsLayerControlToggle": {
+ "en": "Start with the layer control expanded"
+ },
+ "fsAddNew": {
+ "en": "Enable the 'add new POI' button"
+ },
+ "fsGeolocation": {
+ "en": "Enable the 'geolocate-me' button (mobile only)"
+ },
+ "fsIncludeCurrentBackgroundMap": {
+ "en": "Include the current background choice {name}"
+ },
+ "fsIncludeCurrentLayers": {
+ "en": "Include the current layer choices"
+ },
+ "fsIncludeCurrentLocation": {
+ "en": "Include current location"
+ }
+ },
+ "morescreen": {
+ "intro": {
+ "en": "More thematic maps?
Do you enjoy collecting geodata?
There are more themes available."
+ },
+ "requestATheme": {
+ "en": "If you want a custom-built quest, request it here."
+ },
+ "streetcomplete": {
+ "en": "Another, similar application is StreetComplete."
+ },
+ "createYourOwnTheme": {
+ "en": "Create your own MapComplete theme from scratch"
+ }
+ },
+ "readYourMessages": {
+ "en": "Please, read all your OpenStreetMap-messages before adding a new point."
+ },
+ "fewChangesBefore": {
+ "en": "Please, answer a few questions of existing points before adding a new point."
+ },
+ "goToInbox": {
+ "en": "Open inbox"
+ },
+ "getStartedLogin": {
+ "en": "Login with OpenStreetMap to get started"
+ },
+ "getStartedNewAccount": {
+ "en": " or create a new account"
+ },
+ "noTagsSelected": {
+ "en": "No tags selected"
+ },
+ "customThemeIntro": {
+ "en": "Custom themes
These are previously visited user-generated themes."
+ },
+ "aboutMapcomplete": {
+ "en": "About MapComplete
With MapComplete you can enrich OpenStreetMap with information on a single theme. Answer a few questions, and within minutes your contributions will be available around the globe! The theme maintainer defines elements, questions and languages for the theme.
Find out more
MapComplete always offers the next step to learn more about OpenStreetMap.
- When embedded in a website, the iframe links to a full-screen MapComplete
- The full-screen version offers information about OpenStreetMap
- Viewing works without login, but editing requires an OSM login.
- If you are not logged in, you are asked to log in
- Once you answered a single question, you can add new points to the map
- After a while, actual OSM-tags are shown, later linking to the wiki
Did you notice an issue? Do you have a feature request? Want to help translate? Head over to the source code or issue tracker.
Want to see your progress? Follow the edit count on OsmCha.
"
+ },
+ "backgroundMap": {
+ "en": "Background map"
+ },
+ "layerSelection": {
+ "zoomInToSeeThisLayer": {
+ "en": "Zoom in to see this layer"
+ },
+ "title": {
+ "en": "Select layers"
+ }
+ },
+ "weekdays": {
+ "abbreviations": {
+ "monday": {
+ "en": "Mon"
+ },
+ "tuesday": {
+ "en": "Tue"
+ },
+ "wednesday": {
+ "en": "Wed"
+ },
+ "thursday": {
+ "en": "Thu"
+ },
+ "friday": {
+ "en": "Fri"
+ },
+ "saturday": {
+ "en": "Sat"
+ },
+ "sunday": {
+ "en": "Sun"
+ }
+ },
+ "monday": {
+ "en": "Monday"
+ },
+ "tuesday": {
+ "en": "Tuesday"
+ },
+ "wednesday": {
+ "en": "Wednesday"
+ },
+ "thursday": {
+ "en": "Thursday"
+ },
+ "friday": {
+ "en": "Friday"
+ },
+ "saturday": {
+ "en": "Saturday"
+ },
+ "sunday": {
+ "en": "Sunday"
+ }
+ },
+ "opening_hours": {
+ "error_loading": {
+ "en": "Error: could not visualize these opening hours."
+ },
+ "open_during_ph": {
+ "en": "During a public holiday, this amenity is"
+ },
+ "opensAt": {
+ "en": "from"
+ },
+ "openTill": {
+ "en": "till"
+ },
+ "not_all_rules_parsed": {
+ "en": "The opening hours of this shop are complicated. The following rules are ignored in the input element:"
+ },
+ "closed_until": {
+ "en": "Closed until {date}"
+ },
+ "closed_permanently": {
+ "en": "Closed for an unkown duration"
+ },
+ "open_24_7": {
+ "en": "Opened around the clock"
+ },
+ "ph_not_known": {
+ "en": " "
+ },
+ "ph_closed": {
+ "en": "closed"
+ },
+ "ph_open": {
+ "en": "opened"
+ }
+ }
+ },
+ "favourite": {
+ "panelIntro": {
+ "en": "Your personal theme
Activate your favourite layers from all the official themes"
+ },
+ "loginNeeded": {
+ "en": "Log in
A personal layout is only available for OpenStreetMap users"
+ },
+ "reload": {
+ "en": "Reload the data"
+ }
+ },
+ "reviews": {
+ "title": {
+ "en": "{count} reviews"
+ },
+ "title_singular": {
+ "en": "One review"
+ },
+ "name_required": {
+ "en": "A name is required in order to display and create reviews"
+ },
+ "no_reviews_yet": {
+ "en": "There are no reviews yet. Be the first to write one and help open data and the business!"
+ },
+ "write_a_comment": {
+ "en": "Leave a review..."
+ },
+ "no_rating": {
+ "en": "No rating given"
+ },
+ "posting_as": {
+ "en": "Posting as"
+ },
+ "i_am_affiliated": {
+ "en": "I am affiliated with this object
Check if you are an owner, creator, employee, ..."
+ },
+ "affiliated_reviewer_warning": {
+ "en": "(Affiliated review)"
+ },
+ "saving_review": {
+ "en": "Saving..."
+ },
+ "saved": {
+ "en": "Review saved. Thanks for sharing!"
+ },
+ "tos": {
+ "en": "If you create a review, you agree to the TOS and privacy policy of Mangrove.reviews"
+ },
+ "attribution": {
+ "en": "Reviews are powered by Mangrove Reviews and are available under CC-BY 4.0."
+ },
+ "plz_login": {
+ "en": "Login to leave a review"
+ }
+ }
+}
diff --git a/langs/genEn.sh b/langs/genEn.sh
new file mode 100755
index 0000000000..84f47ca77a
--- /dev/null
+++ b/langs/genEn.sh
@@ -0,0 +1,5 @@
+#! /bin/bash
+
+cd ..
+cat assets/translations.json | grep -v '"gl"\|"es"\|"nl"\|"fr"\|"de"\|"ca"' | tr -d "\n" | sed "s/ \+/ /g" | sed "s/\", *}/\"}/g" | jq > langs/en.json
+
From 4ef1bb6572f3b607ed2ebed4ae644779bb286606 Mon Sep 17 00:00:00 2001
From: pietervdvn
Date: Wed, 19 May 2021 14:13:45 +0200
Subject: [PATCH 02/11] Add core translations
---
langs/en.json | 548 +++++++++++++------------------------------------
langs/genEn.sh | 8 +-
2 files changed, 143 insertions(+), 413 deletions(-)
diff --git a/langs/en.json b/langs/en.json
index bcde33de0d..4959dcab6a 100644
--- a/langs/en.json
+++ b/langs/en.json
@@ -1,448 +1,174 @@
{
"image": {
- "addPicture": {
- "en": "Add picture"
- },
- "uploadingPicture": {
- "en": "Uploading your picture..."
- },
- "uploadingMultiple": {
- "en": "Uploading {count} pictures..."
- },
- "pleaseLogin": {
- "en": "Please login to add a picture"
- },
- "willBePublished": {
- "en": "Your picture will be published: "
- },
- "cco": {
- "en": "in the public domain"
- },
- "ccbs": {
- "en": "under the CC-BY-SA-license"
- },
- "ccb": {
- "en": "under the CC-BY-license"
- },
- "uploadFailed": {
- "en": "Could not upload your picture. Do you have internet and are third party API's allowed? Brave browser or UMatrix might block them."
- },
- "respectPrivacy": {
- "en": "Do not photograph people nor license plates. Do not upload Google Maps, Google Streetview or other copyrighted sources."
- },
- "uploadDone": {
- "en": "Your picture has been added. Thanks for helping out!"
- },
- "dontDelete": {
- "en": "Cancel"
- },
- "doDelete": {
- "en": "Remove image"
- },
- "isDeleted": {
- "en": "Deleted"
- }
+ "addPicture": "Add picture",
+ "uploadingPicture": "Uploading your picture...",
+ "uploadingMultiple": "Uploading {count} pictures...",
+ "pleaseLogin": "Please login to add a picture",
+ "willBePublished": "Your picture will be published: ",
+ "cco": "in the public domain",
+ "ccbs": "under the CC-BY-SA-license",
+ "ccb": "under the CC-BY-license",
+ "uploadFailed": "Could not upload your picture. Do you have internet and are third party API's allowed? Brave browser or UMatrix might block them.",
+ "respectPrivacy": "Do not photograph people nor license plates. Do not upload Google Maps, Google Streetview or other copyrighted sources.",
+ "uploadDone": "Your picture has been added. Thanks for helping out!",
+ "dontDelete": "Cancel",
+ "doDelete": "Remove image",
+ "isDeleted": "Deleted"
},
"centerMessage": {
- "loadingData": {
- "en": "Loading data..."
- },
- "zoomIn": {
- "en": "Zoom in to view or edit the data"
- },
- "ready": {
- "en": "Done!"
- },
- "retrying": {
- "en": "Loading data failed. Trying again in {count} seconds..."
- }
+ "loadingData": "Loading data...",
+ "zoomIn": "Zoom in to view or edit the data",
+ "ready": "Done!",
+ "retrying": "Loading data failed. Trying again in {count} seconds..."
},
"index": {
"#": "These texts are shown above the theme buttons when no theme is loaded",
- "title": {
- "en": "Welcome to MapComplete"
- },
- "intro": {
- "en": "MapComplete is an OpenStreetMap-viewer and editor, which shows you information about a specific theme."
- },
- "pickTheme": {
- "en": "Pick a theme below to get started."
- }
+ "title": "Welcome to MapComplete",
+ "intro": "MapComplete is an OpenStreetMap-viewer and editor, which shows you information about a specific theme.",
+ "pickTheme": "Pick a theme below to get started."
},
"general": {
- "loginWithOpenStreetMap": {
- "en": "Login with OpenStreetMap"
- },
- "welcomeBack": {
- "en": "You are logged in, welcome back!"
- },
- "loginToStart": {
- "en": "Login to answer this question"
- },
+ "loginWithOpenStreetMap": "Login with OpenStreetMap",
+ "welcomeBack": "You are logged in, welcome back!",
+ "loginToStart": "Login to answer this question",
"search": {
- "search": {
- "en": "Search a location"
- },
- "searching": {
- "en": "Searching..."
- },
- "nothing": {
- "en": "Nothing found..."
- },
- "error": {
- "en": "Something went wrong..."
- }
- },
- "returnToTheMap": {
- "en": "Return to the map"
- },
- "save": {
- "en": "Save"
- },
- "cancel": {
- "en": "Cancel"
- },
- "skip": {
- "en": "Skip this question"
- },
- "oneSkippedQuestion": {
- "en": "One question is skipped"
- },
- "skippedQuestions": {
- "en": "Some questions are skipped"
- },
- "number": {
- "en": "number"
- },
- "osmLinkTooltip": {
- "en": "See this object on OpenStreetMap for history and more editing options"
+ "search": "Search a location",
+ "searching": "Searching...",
+ "nothing": "Nothing found...",
+ "error": "Something went wrong..."
},
+ "returnToTheMap": "Return to the map",
+ "save": "Save",
+ "cancel": "Cancel",
+ "skip": "Skip this question",
+ "oneSkippedQuestion": "One question is skipped",
+ "skippedQuestions": "Some questions are skipped",
+ "number": "number",
+ "osmLinkTooltip": "See this object on OpenStreetMap for history and more editing options",
"add": {
- "addNew": {
- "en": "Add a new {category} here"
- },
- "title": {
- "en": "Add a new point?"
- },
- "intro": {
- "en": "You clicked somewhere where no data is known yet.
"
- },
- "pleaseLogin": {
- "en": "Please log in to add a new point"
- },
- "zoomInFurther": {
- "en": "Zoom in further to add a point."
- },
- "stillLoading": {
- "en": "The data is still loading. Please wait a bit before you add a new point."
- },
- "confirmIntro": {
- "en": "Add a {title} here?
The point you create here will be visible for everyone. Please, only add things on to the map if they truly exist. A lot of applications use this data."
- },
- "confirmButton": {
- "en": "Add a {category} here.
Your addition is visible for everyone
"
- },
- "openLayerControl": {
- "en": "Open the layer control box"
- },
- "layerNotEnabled": {
- "en": "The layer {layer} is not enabled. Enable this layer to add a point"
- }
- },
- "pickLanguage": {
- "en": "Choose a language: "
- },
- "about": {
- "en": "Easily edit and add OpenStreetMap for a certain theme"
- },
- "nameInlineQuestion": {
- "en": "The name of this {category} is $$$"
- },
- "noNameCategory": {
- "en": "{category} without a name"
+ "addNew": "Add a new {category} here",
+ "title": "Add a new point?",
+ "intro": "You clicked somewhere where no data is known yet.
",
+ "pleaseLogin": "Please log in to add a new point",
+ "zoomInFurther": "Zoom in further to add a point.",
+ "stillLoading": "The data is still loading. Please wait a bit before you add a new point.",
+ "confirmIntro": "Add a {title} here?
The point you create here will be visible for everyone. Please, only add things on to the map if they truly exist. A lot of applications use this data.",
+ "confirmButton": "Add a {category} here.
Your addition is visible for everyone
",
+ "openLayerControl": "Open the layer control box",
+ "layerNotEnabled": "The layer {layer} is not enabled. Enable this layer to add a point"
},
+ "pickLanguage": "Choose a language: ",
+ "about": "Easily edit and add OpenStreetMap for a certain theme",
+ "nameInlineQuestion": "The name of this {category} is $$$",
+ "noNameCategory": "{category} without a name",
"questions": {
- "phoneNumberOf": {
- "en": "What is the phone number of {category}?"
- },
- "phoneNumberIs": {
- "en": "The phone number of this {category} is {phone}"
- },
- "websiteOf": {
- "en": "What is the website of {category}?"
- },
- "websiteIs": {
- "en": "Website: {website}"
- },
- "emailOf": {
- "en": "What is the email address of {category}?"
- },
- "emailIs": {
- "en": "The email address of this {category} is {email}"
- }
- },
- "openStreetMapIntro": {
- "en": "An Open Map
Wouldn't it be cool if there was a single map, which everyone could freely use and edit? A single place to store all geo-information? Then, all those websites with different, small and incompatible maps (which are always outdated) wouldn't be needed anymore.
OpenStreetMap is this map. The map data can be used for free (with attribution and publication of changes to that data). On top of that, everyone can freely add new data and fix errors. This website uses OpenStreetMap as well. All the data is from there, and your answers and corrections are added there as well.
A ton of people and application already use OpenStreetMap: Maps.me, OsmAnd, but also the maps at Facebook, Instagram, Apple-maps and Bing-maps are (partly) powered by OpenStreetMap. If you change something here, it'll be reflected in those applications too - after their next update!
"
+ "phoneNumberOf": "What is the phone number of {category}?",
+ "phoneNumberIs": "The phone number of this {category} is {phone}",
+ "websiteOf": "What is the website of {category}?",
+ "websiteIs": "Website: {website}",
+ "emailOf": "What is the email address of {category}?",
+ "emailIs": "The email address of this {category} is {email}"
},
+ "openStreetMapIntro": "An Open Map
Wouldn't it be cool if there was a single map, which everyone could freely use and edit? A single place to store all geo-information? Then, all those websites with different, small and incompatible maps (which are always outdated) wouldn't be needed anymore.
OpenStreetMap is this map. The map data can be used for free (with attribution and publication of changes to that data). On top of that, everyone can freely add new data and fix errors. This website uses OpenStreetMap as well. All the data is from there, and your answers and corrections are added there as well.
A ton of people and application already use OpenStreetMap: Maps.me, OsmAnd, but also the maps at Facebook, Instagram, Apple-maps and Bing-maps are (partly) powered by OpenStreetMap. If you change something here, it'll be reflected in those applications too - after their next update!
",
"attribution": {
- "attributionTitle": {
- "en": "Attribution notice"
- },
- "attributionContent": {
- "en": "All data is provided by OpenStreetMap, freely reusable under the Open DataBase License.
"
- },
- "themeBy": {
- "en": "Theme maintained by {author}"
- },
+ "attributionTitle": "Attribution notice",
+ "attributionContent": "All data is provided by OpenStreetMap, freely reusable under the Open DataBase License.
",
+ "themeBy": "Theme maintained by {author}",
"iconAttribution": {
- "title": {
- "en": "Used icons"
- }
+ "title": "Used icons"
},
- "mapContributionsBy": {
- "en": "The current visible data has edits made by {contributors}"
- },
- "mapContributionsByAndHidden": {
- "en": "The current visible data has edits made by {contributors} and {hiddenCount} more contributors"
- }
+ "mapContributionsBy": "The current visible data has edits made by {contributors}",
+ "mapContributionsByAndHidden": "The current visible data has edits made by {contributors} and {hiddenCount} more contributors"
},
"sharescreen": {
- "intro": {
- "en": "Share this map
Share this map by copying the link below and sending it to friends and family:"
- },
- "addToHomeScreen": {
- "en": "Add to your home screen
You can easily add this website to your smartphone home screen for a native feel. Click the 'add to home screen button' in the URL bar to do this."
- },
- "embedIntro": {
- "en": "Embed on your website
Please, embed this map into your website.
We encourage you to do it - you don't even have to ask permission.
It is free, and always will be. The more people using this, the more valuable it becomes."
- },
- "copiedToClipboard": {
- "en": "Link copied to clipboard"
- },
- "thanksForSharing": {
- "en": "Thanks for sharing!"
- },
- "editThisTheme": {
- "en": "Edit this theme"
- },
- "editThemeDescription": {
- "en": "Add or change questions to this map theme"
- },
- "fsUserbadge": {
- "en": "Enable the login button"
- },
- "fsSearch": {
- "en": "Enable the search bar"
- },
- "fsWelcomeMessage": {
- "en": "Show the welcome message popup and associated tabs"
- },
- "fsLayers": {
- "en": "Enable the layer control"
- },
- "fsLayerControlToggle": {
- "en": "Start with the layer control expanded"
- },
- "fsAddNew": {
- "en": "Enable the 'add new POI' button"
- },
- "fsGeolocation": {
- "en": "Enable the 'geolocate-me' button (mobile only)"
- },
- "fsIncludeCurrentBackgroundMap": {
- "en": "Include the current background choice {name}"
- },
- "fsIncludeCurrentLayers": {
- "en": "Include the current layer choices"
- },
- "fsIncludeCurrentLocation": {
- "en": "Include current location"
- }
+ "intro": "Share this map
Share this map by copying the link below and sending it to friends and family:",
+ "addToHomeScreen": "Add to your home screen
You can easily add this website to your smartphone home screen for a native feel. Click the 'add to home screen button' in the URL bar to do this.",
+ "embedIntro": "Embed on your website
Please, embed this map into your website.
We encourage you to do it - you don't even have to ask permission.
It is free, and always will be. The more people using this, the more valuable it becomes.",
+ "copiedToClipboard": "Link copied to clipboard",
+ "thanksForSharing": "Thanks for sharing!",
+ "editThisTheme": "Edit this theme",
+ "editThemeDescription": "Add or change questions to this map theme",
+ "fsUserbadge": "Enable the login button",
+ "fsSearch": "Enable the search bar",
+ "fsWelcomeMessage": "Show the welcome message popup and associated tabs",
+ "fsLayers": "Enable the layer control",
+ "fsLayerControlToggle": "Start with the layer control expanded",
+ "fsAddNew": "Enable the 'add new POI' button",
+ "fsGeolocation": "Enable the 'geolocate-me' button (mobile only)",
+ "fsIncludeCurrentBackgroundMap": "Include the current background choice {name}",
+ "fsIncludeCurrentLayers": "Include the current layer choices",
+ "fsIncludeCurrentLocation": "Include current location"
},
"morescreen": {
- "intro": {
- "en": "More thematic maps?
Do you enjoy collecting geodata?
There are more themes available."
- },
- "requestATheme": {
- "en": "If you want a custom-built quest, request it here."
- },
- "streetcomplete": {
- "en": "Another, similar application is StreetComplete."
- },
- "createYourOwnTheme": {
- "en": "Create your own MapComplete theme from scratch"
- }
- },
- "readYourMessages": {
- "en": "Please, read all your OpenStreetMap-messages before adding a new point."
- },
- "fewChangesBefore": {
- "en": "Please, answer a few questions of existing points before adding a new point."
- },
- "goToInbox": {
- "en": "Open inbox"
- },
- "getStartedLogin": {
- "en": "Login with OpenStreetMap to get started"
- },
- "getStartedNewAccount": {
- "en": " or create a new account"
- },
- "noTagsSelected": {
- "en": "No tags selected"
- },
- "customThemeIntro": {
- "en": "Custom themes
These are previously visited user-generated themes."
- },
- "aboutMapcomplete": {
- "en": "About MapComplete
With MapComplete you can enrich OpenStreetMap with information on a single theme. Answer a few questions, and within minutes your contributions will be available around the globe! The theme maintainer defines elements, questions and languages for the theme.
Find out more
MapComplete always offers the next step to learn more about OpenStreetMap.
- When embedded in a website, the iframe links to a full-screen MapComplete
- The full-screen version offers information about OpenStreetMap
- Viewing works without login, but editing requires an OSM login.
- If you are not logged in, you are asked to log in
- Once you answered a single question, you can add new points to the map
- After a while, actual OSM-tags are shown, later linking to the wiki
Did you notice an issue? Do you have a feature request? Want to help translate? Head over to the source code or issue tracker.
Want to see your progress? Follow the edit count on OsmCha.
"
- },
- "backgroundMap": {
- "en": "Background map"
+ "intro": "More thematic maps?
Do you enjoy collecting geodata?
There are more themes available.",
+ "requestATheme": "If you want a custom-built quest, request it here.",
+ "streetcomplete": "Another, similar application is StreetComplete.",
+ "createYourOwnTheme": "Create your own MapComplete theme from scratch"
},
+ "readYourMessages": "Please, read all your OpenStreetMap-messages before adding a new point.",
+ "fewChangesBefore": "Please, answer a few questions of existing points before adding a new point.",
+ "goToInbox": "Open inbox",
+ "getStartedLogin": "Login with OpenStreetMap to get started",
+ "getStartedNewAccount": " or create a new account",
+ "noTagsSelected": "No tags selected",
+ "customThemeIntro": "Custom themes
These are previously visited user-generated themes.",
+ "aboutMapcomplete": "About MapComplete
With MapComplete you can enrich OpenStreetMap with information on a single theme. Answer a few questions, and within minutes your contributions will be available around the globe! The theme maintainer defines elements, questions and languages for the theme.
Find out more
MapComplete always offers the next step to learn more about OpenStreetMap.
- When embedded in a website, the iframe links to a full-screen MapComplete
- The full-screen version offers information about OpenStreetMap
- Viewing works without login, but editing requires an OSM login.
- If you are not logged in, you are asked to log in
- Once you answered a single question, you can add new points to the map
- After a while, actual OSM-tags are shown, later linking to the wiki
Did you notice an issue? Do you have a feature request? Want to help translate? Head over to the source code or issue tracker.
Want to see your progress? Follow the edit count on OsmCha.
",
+ "backgroundMap": "Background map",
"layerSelection": {
- "zoomInToSeeThisLayer": {
- "en": "Zoom in to see this layer"
- },
- "title": {
- "en": "Select layers"
- }
+ "zoomInToSeeThisLayer": "Zoom in to see this layer",
+ "title": "Select layers"
},
"weekdays": {
"abbreviations": {
- "monday": {
- "en": "Mon"
- },
- "tuesday": {
- "en": "Tue"
- },
- "wednesday": {
- "en": "Wed"
- },
- "thursday": {
- "en": "Thu"
- },
- "friday": {
- "en": "Fri"
- },
- "saturday": {
- "en": "Sat"
- },
- "sunday": {
- "en": "Sun"
- }
+ "monday": "Mon",
+ "tuesday": "Tue",
+ "wednesday": "Wed",
+ "thursday": "Thu",
+ "friday": "Fri",
+ "saturday": "Sat",
+ "sunday": "Sun"
},
- "monday": {
- "en": "Monday"
- },
- "tuesday": {
- "en": "Tuesday"
- },
- "wednesday": {
- "en": "Wednesday"
- },
- "thursday": {
- "en": "Thursday"
- },
- "friday": {
- "en": "Friday"
- },
- "saturday": {
- "en": "Saturday"
- },
- "sunday": {
- "en": "Sunday"
- }
+ "monday": "Monday",
+ "tuesday": "Tuesday",
+ "wednesday": "Wednesday",
+ "thursday": "Thursday",
+ "friday": "Friday",
+ "saturday": "Saturday",
+ "sunday": "Sunday"
},
"opening_hours": {
- "error_loading": {
- "en": "Error: could not visualize these opening hours."
- },
- "open_during_ph": {
- "en": "During a public holiday, this amenity is"
- },
- "opensAt": {
- "en": "from"
- },
- "openTill": {
- "en": "till"
- },
- "not_all_rules_parsed": {
- "en": "The opening hours of this shop are complicated. The following rules are ignored in the input element:"
- },
- "closed_until": {
- "en": "Closed until {date}"
- },
- "closed_permanently": {
- "en": "Closed for an unkown duration"
- },
- "open_24_7": {
- "en": "Opened around the clock"
- },
- "ph_not_known": {
- "en": " "
- },
- "ph_closed": {
- "en": "closed"
- },
- "ph_open": {
- "en": "opened"
- }
+ "error_loading": "Error: could not visualize these opening hours.",
+ "open_during_ph": "During a public holiday, this amenity is",
+ "opensAt": "from",
+ "openTill": "till",
+ "not_all_rules_parsed": "The opening hours of this shop are complicated. The following rules are ignored in the input element:",
+ "closed_until": "Closed until {date}",
+ "closed_permanently": "Closed for an unkown duration",
+ "open_24_7": "Opened around the clock",
+ "ph_not_known": " ",
+ "ph_closed": "closed",
+ "ph_open": "opened"
}
},
"favourite": {
- "panelIntro": {
- "en": "Your personal theme
Activate your favourite layers from all the official themes"
- },
- "loginNeeded": {
- "en": "Log in
A personal layout is only available for OpenStreetMap users"
- },
- "reload": {
- "en": "Reload the data"
- }
+ "panelIntro": "Your personal theme
Activate your favourite layers from all the official themes",
+ "loginNeeded": "Log in
A personal layout is only available for OpenStreetMap users",
+ "reload": "Reload the data"
},
"reviews": {
- "title": {
- "en": "{count} reviews"
- },
- "title_singular": {
- "en": "One review"
- },
- "name_required": {
- "en": "A name is required in order to display and create reviews"
- },
- "no_reviews_yet": {
- "en": "There are no reviews yet. Be the first to write one and help open data and the business!"
- },
- "write_a_comment": {
- "en": "Leave a review..."
- },
- "no_rating": {
- "en": "No rating given"
- },
- "posting_as": {
- "en": "Posting as"
- },
- "i_am_affiliated": {
- "en": "I am affiliated with this object
Check if you are an owner, creator, employee, ..."
- },
- "affiliated_reviewer_warning": {
- "en": "(Affiliated review)"
- },
- "saving_review": {
- "en": "Saving..."
- },
- "saved": {
- "en": "Review saved. Thanks for sharing!"
- },
- "tos": {
- "en": "If you create a review, you agree to the TOS and privacy policy of Mangrove.reviews"
- },
- "attribution": {
- "en": "Reviews are powered by Mangrove Reviews and are available under CC-BY 4.0."
- },
- "plz_login": {
- "en": "Login to leave a review"
- }
+ "title": "{count} reviews",
+ "title_singular": "One review",
+ "name_required": "A name is required in order to display and create reviews",
+ "no_reviews_yet": "There are no reviews yet. Be the first to write one and help open data and the business!",
+ "write_a_comment": "Leave a review...",
+ "no_rating": "No rating given",
+ "posting_as": "Posting as",
+ "i_am_affiliated": "I am affiliated with this object
Check if you are an owner, creator, employee, ...",
+ "affiliated_reviewer_warning": "(Affiliated review)",
+ "saving_review": "Saving...",
+ "saved": "Review saved. Thanks for sharing!",
+ "tos": "If you create a review, you agree to the TOS and privacy policy of Mangrove.reviews",
+ "attribution": "Reviews are powered by Mangrove Reviews and are available under CC-BY 4.0.",
+ "plz_login": "Login to leave a review"
}
}
diff --git a/langs/genEn.sh b/langs/genEn.sh
index 84f47ca77a..2b78269838 100755
--- a/langs/genEn.sh
+++ b/langs/genEn.sh
@@ -1,5 +1,9 @@
#! /bin/bash
-cd ..
-cat assets/translations.json | grep -v '"gl"\|"es"\|"nl"\|"fr"\|"de"\|"ca"' | tr -d "\n" | sed "s/ \+/ /g" | sed "s/\", *}/\"}/g" | jq > langs/en.json
+for LANG in "en" "nl" "gl" "es" "fr" "de" "ca"
+do
+ RM_LANGS=`echo '"gl"|"es"|"nl"|"fr"|"de"|"ca"|"en"' | sed "s/\"$LANG\"//" | sed "s/|$//" | sed "s/^|//" | sed "s/||/|/" | sed "s/|/\\\\\\\\|/g"`
+ echo $RM_LANGS
+ cat ../assets/translations.json | grep -v $RM_LANGS | tr -d "\n" | sed "s/ \+/ /g" | sed "s/\", *}/\"}/g" | sed "s/{ *\"$LANG\" *: *\"\([^\"]*\)\" *}/\"\1\"/g" | jq > $LANG.json
+done
From bf5b5d3130351bf7783b09a2a9819a6f8e570575 Mon Sep 17 00:00:00 2001
From: pietervdvn
Date: Wed, 19 May 2021 14:23:10 +0200
Subject: [PATCH 03/11] Add other languages
---
langs/ca.json | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++
langs/de.json | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++
langs/es.json | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++
langs/fr.json | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++
langs/gl.json | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++
langs/nl.json | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 1044 insertions(+)
create mode 100644 langs/ca.json
create mode 100644 langs/de.json
create mode 100644 langs/es.json
create mode 100644 langs/fr.json
create mode 100644 langs/gl.json
create mode 100644 langs/nl.json
diff --git a/langs/ca.json b/langs/ca.json
new file mode 100644
index 0000000000..be6eb3c5c9
--- /dev/null
+++ b/langs/ca.json
@@ -0,0 +1,174 @@
+{
+ "image": {
+ "addPicture": "Afegir foto",
+ "uploadingPicture": "Pujant la teva imatge ...",
+ "uploadingMultiple": "Pujant {count} de la teva imatge...",
+ "pleaseLogin": "Entra per pujar una foto",
+ "willBePublished": "La teva foto serà publicada: ",
+ "cco": "en domini públic",
+ "ccbs": "sota llicència CC-BY-SA",
+ "ccb": "sota la llicència CC-BY",
+ "uploadFailed": "No s'ha pogut carregar la imatge. Tens Internet i es permeten API de tercers? El navegador Brave o UMatrix podria bloquejar-les.",
+ "respectPrivacy": "Respecta la privacitat. No fotografiïs gent o matrícules",
+ "uploadDone": "La teva imatge ha estat afegida. Gràcies per ajudar.",
+ "dontDelete": "Cancel·lar",
+ "doDelete": "Esborrar imatge",
+ "isDeleted": "Esborrada"
+ },
+ "centerMessage": {
+ "loadingData": "Carregant dades...",
+ "zoomIn": "Amplia per veure o editar les dades",
+ "ready": "Fet.",
+ "retrying": "La càrrega de dades ha fallat. Tornant-ho a intentar... ({count})"
+ },
+ "index": {
+ "#": "These texts are shown above the theme buttons when no theme is loaded",
+ "title": {},
+ "intro": {},
+ "pickTheme": {}
+ },
+ "general": {
+ "loginWithOpenStreetMap": "Entra a OpenStreetMap",
+ "welcomeBack": "Has entrat, benvingut.",
+ "loginToStart": "Entra per contestar aquesta pregunta",
+ "search": {
+ "search": "Cerca una ubicació",
+ "searching": "Cercant...",
+ "nothing": "Res trobat.",
+ "error": "Alguna cosa no ha sortit bé..."
+ },
+ "returnToTheMap": "Tornar al mapa",
+ "save": "Desar",
+ "cancel": "Cancel·lar",
+ "skip": "Saltar aquesta pregunta",
+ "oneSkippedQuestion": "Has ignorat una pregunta",
+ "skippedQuestions": "Has ignorat algunes preguntes",
+ "number": "nombre",
+ "osmLinkTooltip": "Mira aquest objecte a OpenStreetMap per veure historial i altres opcions d'edició",
+ "add": {
+ "addNew": "Afegir {category} aquí",
+ "title": "Vols afegir un punt?",
+ "intro": "Has marcat un lloc on no coneixem les dades.
",
+ "pleaseLogin": "Entra per afegir un nou punt",
+ "zoomInFurther": "Apropa per afegir un punt.",
+ "stillLoading": "Les dades es segueixen carregant. Espera una mica abans d'afegir cap punt.",
+ "confirmIntro": "Afegir {title} aquí?
El punt que estàs creant el veurà tothom. Només afegeix coses que realment existeixin. Moltes aplicacions fan servir aquestes dades.",
+ "confirmButton": "Afegir {category} aquí",
+ "openLayerControl": "Obrir el control de capes",
+ "layerNotEnabled": "La capa {layer} no està habilitada. Fes-ho per poder afegir un punt a aquesta capa"
+ },
+ "pickLanguage": "Tria idioma: ",
+ "about": "Edita facilment i afegeix punts a OpenStreetMap d'una temàtica determinada",
+ "nameInlineQuestion": "{category}: El seu nom és $$$",
+ "noNameCategory": "{category} sense nom",
+ "questions": {
+ "phoneNumberOf": "Quin és el telèfon de {category}?",
+ "phoneNumberIs": "El número de telèfon de {category} és {phone}",
+ "websiteOf": "Quina és la pàgina web de {category}?",
+ "websiteIs": "Pàgina web: {website}",
+ "emailOf": "Quina és l'adreça de correu-e de {category}?",
+ "emailIs": "L'adreça de correu de {category} és {email}"
+ },
+ "openStreetMapIntro": "Un mapa obert
No seria genial si hagués un únic mapa, que tothom pogués utilitzar i editar lliurement?Un sol lloc on emmagatzemar tota la informació geogràfica? Llavors tots aquests llocs web amb mapes diferents petits i incompatibles (que sempre estaran desactulitzats) ja no serien necessaris.OpenStreetMap és aquest mapa. Les dades del mapa es poden utilitzar de franc (amb atribució i publicació de canvis en aquestes dades). A més a més, tothom pot agregar lliurement noves dades i corregir errors. De fet, aquest lloc web també fa servir OpenStreetMap. Totes les dades provenen d'allà i les teves respostes i correccions també s'afegiran allà.
Moltes persones i aplicacions ja utilitzen OpenStreetMap: Maps.me, OsmAnd, però també els mapes de Facebook, Instagram, Apple i Bing són (en part) impulsats per OpenStreetMap. Si canvies alguna cosa aquí també es reflectirà en aquestes aplicacions en la seva propera actualització.
",
+ "attribution": {
+ "attributionTitle": {},
+ "attributionContent": {},
+ "themeBy": {},
+ "iconAttribution": {
+ "title": {}
+ },
+ "mapContributionsBy": {},
+ "mapContributionsByAndHidden": {}
+ },
+ "sharescreen": {
+ "intro": "Comparteix aquest mapa
Comparteix aquest mapa copiant l'enllaç de sota i enviant-lo a amics i família:",
+ "addToHomeScreen": "Afegir-lo a la pantalla d'inici
Pots afegir aquesta web a la pantalla d'inici del teu smartphone per a que es vegi més nadiu. Apreta al botó 'afegir a l'inici' a la barra d'adreces URL per fer-ho.",
+ "embedIntro": "Inclou-ho a la teva pàgina web
Inclou aquest mapa dins de la teva pàgina web.
T'animem a que ho facis, no cal que demanis permís.
És de franc, i sempre ho serà. A més gent que ho faci servir més valuós serà.",
+ "copiedToClipboard": "Enllaç copiat al portapapers",
+ "thanksForSharing": "Gràcies per compartir",
+ "editThisTheme": "Editar aquest repte",
+ "editThemeDescription": "Afegir o canviar preguntes d'aquest repte",
+ "fsUserbadge": "Activar el botó d'entrada",
+ "fsSearch": "Activar la barra de cerca",
+ "fsWelcomeMessage": "Mostra el missatge emergent de benvinguda i pestanyes associades",
+ "fsLayers": "Activar el control de capes",
+ "fsLayerControlToggle": "Iniciar el control de capes avançat",
+ "fsAddNew": "Activar el botó d'afegir nou PDI'",
+ "fsGeolocation": "Activar el botó de 'geolocalitza'm' (només mòbil)",
+ "fsIncludeCurrentBackgroundMap": "Incloure l'opció de fons actual {name}",
+ "fsIncludeCurrentLayers": "Incloure les opcions de capa actual",
+ "fsIncludeCurrentLocation": "Incloure localització actual"
+ },
+ "morescreen": {
+ "intro": "Més peticions
T'agrada captar dades?
Hi ha més capes disponibles.",
+ "requestATheme": "Si vols que et fem una petició pròpia , demana-la aquí.",
+ "streetcomplete": "Una altra aplicació similar és StreetComplete.",
+ "createYourOwnTheme": "Crea la teva pròpia petició completa de MapComplete des de zero."
+ },
+ "readYourMessages": "Llegeix tots els teus missatges d'OpenStreetMap abans d'afegir nous punts.",
+ "fewChangesBefore": "Contesta unes quantes preguntes sobre punts existents abans d'afegir-ne un de nou.",
+ "goToInbox": "Obrir missatges",
+ "getStartedLogin": "Entra a OpenStreetMap per començar",
+ "getStartedNewAccount": " o crea un nou compte",
+ "noTagsSelected": "No s'han seleccionat etiquetes",
+ "customThemeIntro": {},
+ "aboutMapcomplete": {},
+ "backgroundMap": "Mapa de fons",
+ "layerSelection": {
+ "zoomInToSeeThisLayer": "Amplia per veure aquesta capa",
+ "title": {}
+ },
+ "weekdays": {
+ "abbreviations": {
+ "monday": "Dil",
+ "tuesday": "Dim",
+ "wednesday": "Dic",
+ "thursday": "Dij",
+ "friday": "Div",
+ "saturday": "Dis",
+ "sunday": "Diu"
+ },
+ "monday": "Dilluns",
+ "tuesday": "Dimarts",
+ "wednesday": "Dimecres",
+ "thursday": "Dijous",
+ "friday": "Divendres",
+ "saturday": "Dissabte",
+ "sunday": "Diumenge"
+ },
+ "opening_hours": {
+ "error_loading": {},
+ "open_during_ph": "Durant festes aquest servei és",
+ "opensAt": "des de",
+ "openTill": "fins",
+ "not_all_rules_parsed": "L'horari d'aquesta botiga és complicat. Les normes següents seran ignorades en l'entrada:",
+ "closed_until": "Tancat fins {date}",
+ "closed_permanently": "Tancat - sense dia d'obertura conegut",
+ "open_24_7": {},
+ "ph_not_known": " ",
+ "ph_closed": "tancat",
+ "ph_open": "tancat"
+ }
+ },
+ "favourite": {
+ "panelIntro": "La teva interfície personal
Activa les teves capes favorites de totes les interfícies oficials",
+ "loginNeeded": "Entrar
El disseny personalizat només està disponible pels usuaris d' OpenstreetMap",
+ "reload": "Recarregar dades"
+ },
+ "reviews": {
+ "title": {},
+ "title_singular": {},
+ "name_required": {},
+ "no_reviews_yet": {},
+ "write_a_comment": {},
+ "no_rating": {},
+ "posting_as": {},
+ "i_am_affiliated": {},
+ "affiliated_reviewer_warning": {},
+ "saving_review": {},
+ "saved": {},
+ "tos": {},
+ "attribution": {},
+ "plz_login": {}
+ }
+}
diff --git a/langs/de.json b/langs/de.json
new file mode 100644
index 0000000000..934d7af09f
--- /dev/null
+++ b/langs/de.json
@@ -0,0 +1,174 @@
+{
+ "image": {
+ "addPicture": "Bild hinzufügen",
+ "uploadingPicture": "Ihr Bild hochladen...",
+ "uploadingMultiple": "{count} Ihrer Bilder hochgeladen...",
+ "pleaseLogin": "Bitte einloggen, um ein Bild hinzuzufügen",
+ "willBePublished": "Ihr Bild wird veröffentlicht: ",
+ "cco": "in die Public Domain",
+ "ccbs": "unter der CC-BY-SA-Lizenz",
+ "ccb": "unter der CC-BY-Lizenz",
+ "uploadFailed": "Wir konnten Ihr Bild nicht hochladen. Haben Sie Internet und sind API's von Dritten erlaubt? Brave Browser oder UMatrix blockieren evtl..",
+ "respectPrivacy": "Bitte respektieren Sie die Privatsphäre. Fotografieren Sie weder Personen noch Nummernschilder",
+ "uploadDone": "Ihr Bild wurde hinzugefügt. Vielen Dank für Ihre Hilfe!",
+ "dontDelete": "Abbrechen",
+ "doDelete": "Bild entfernen",
+ "isDeleted": "Gelöscht"
+ },
+ "centerMessage": {
+ "loadingData": "Daten werden geladen...",
+ "zoomIn": "Vergrößern, um die Daten anzuzeigen oder zu bearbeiten",
+ "ready": "Erledigt!",
+ "retrying": "Laden von Daten fehlgeschlagen. Erneuter Versuch... ({count})"
+ },
+ "index": {
+ "#": "These texts are shown above the theme buttons when no theme is loaded",
+ "title": "Willkommen auf MapComplete",
+ "intro": "MapComplete ist eine OpenStreetMap-Anwendung, mit der Informationen zu einem bestimmten Thema angezeigt und angepasst werden können.",
+ "pickTheme": "Wähle unten ein Thema, um zu starten"
+ },
+ "general": {
+ "loginWithOpenStreetMap": "Anmeldung mit OpenStreetMap",
+ "welcomeBack": "Sie sind eingeloggt, willkommen zurück!",
+ "loginToStart": "Anmelden, um diese Frage zu beantworten",
+ "search": {
+ "search": "Einen Ort suchen",
+ "searching": "Auf der Suche...",
+ "nothing": "Nichts gefunden...",
+ "error": "Etwas ging schief..."
+ },
+ "returnToTheMap": "Zurück zur Karte",
+ "save": "Speichern",
+ "cancel": "Abbrechen",
+ "skip": "Frage überspringen",
+ "oneSkippedQuestion": "Eine Frage wurde übersprungen",
+ "skippedQuestions": "Einige Fragen wurden übersprungen",
+ "number": "Zahl",
+ "osmLinkTooltip": "Dieses Objekt auf OpenStreetMap anschauen für die Geschichte und weitere Bearbeitungsmöglichkeiten",
+ "add": {
+ "addNew": "Hier eine neue {category} hinzufügen",
+ "title": "Punkt hinzufügen?",
+ "intro": "Sie haben irgendwo geklickt, wo noch keine Daten bekannt sind.
",
+ "pleaseLogin": "Bitte loggen Sie sich ein, um einen neuen Punkt hinzuzufügen",
+ "zoomInFurther": "Weiter einzoomen, um einen Punkt hinzuzufügen.",
+ "stillLoading": "Die Daten werden noch geladen. Bitte warten Sie etwas, bevor Sie einen neuen Punkt hinzufügen.",
+ "confirmIntro": "Hier einen {title} hinzufügen?
Der Punkt, den Sie hier anlegen, wird für alle sichtbar sein. Bitte fügen Sie der Karte nur dann Dinge hinzu, wenn sie wirklich existieren. Viele Anwendungen verwenden diese Daten.",
+ "confirmButton": "Hier eine {category} hinzufügen",
+ "openLayerControl": "Das Ebenen-Kontrollkästchen öffnen",
+ "layerNotEnabled": "Die Ebene {layer} ist nicht aktiviert. Aktivieren Sie diese Ebene, um einen Punkt hinzuzufügen"
+ },
+ "pickLanguage": "Wählen Sie eine Sprache: ",
+ "about": "OpenStreetMap für ein bestimmtes Thema einfach bearbeiten und hinzufügen",
+ "nameInlineQuestion": "Der Name dieser {category} ist $$$",
+ "noNameCategory": "{category} ohne Namen",
+ "questions": {
+ "phoneNumberOf": "Wie lautet die Telefonnummer der {category}?",
+ "phoneNumberIs": "Die Telefonnummer der {category} lautet {phone}",
+ "websiteOf": "Was ist die Website der {category}?",
+ "websiteIs": "Webseite: {website}",
+ "emailOf": "Wie lautet die E-Mail-Adresse der {category}?",
+ "emailIs": "Die E-Mail-Adresse dieser {category} lautet {email}"
+ },
+ "openStreetMapIntro": "Eine offene Karte
Wäre es nicht toll, wenn es eine offene Karte gäbe, die von jedem angepasst und benutzt werden könnte? Eine Karte, zu der jeder seine Interessen hinzufügen kann? Dann bräuchte man all diese Websites mit unterschiedlichen, kleinen und inkompatiblen Karten (die immer veraltet sind) nicht mehr.
OpenStreetMap ist diese offene Karte. Die Kartendaten können kostenlos verwendet werden (mit Attribution und Veröffentlichung von Änderungen an diesen Daten). Darüber hinaus können Sie die Karte kostenlos ändern und Fehler beheben, wenn Sie ein Konto erstellen. Diese Website basiert ebenfalls auf OpenStreetMap. Wenn Sie eine Frage hier beantworten, geht die Antwort auch dorthin.
Viele Menschen und Anwendungen nutzen OpenStreetMap bereits: Maps.me, OsmAnd, verschiedene spezialisierte Routenplaner, die Hintergrundkarten auf Facebook, Instagram,...
Sogar Apple Maps und Bing Maps verwenden OpenStreetMap in ihren Karten!Wenn Sie hier einen Punkt hinzufügen oder eine Frage beantworten, wird er nach einer Weile in all diesen Anwendungen sichtbar sein.
",
+ "attribution": {
+ "attributionTitle": {},
+ "attributionContent": {},
+ "themeBy": {},
+ "iconAttribution": {
+ "title": {}
+ },
+ "mapContributionsBy": {},
+ "mapContributionsByAndHidden": {}
+ },
+ "sharescreen": {
+ "intro": "Diese Karte teilen
Sie können diese Karte teilen, indem Sie den untenstehenden Link kopieren und an Freunde und Familie schick",
+ "addToHomeScreen": "Zum Startbildschirm hinzufügen
Sie können diese Website einfach zum Startbildschirm Ihres Smartphones hinzufügen, um ein natives Gefühl zu erhalten. Klicken Sie dazu in der URL-Leiste auf die Schaltfläche 'Zum Startbildschirm hinzufügen'.",
+ "embedIntro": "Auf Ihrer Website einbetten
Bitte, betten Sie diese Karte in Ihre Website ein.
Wir ermutigen Sie, es zu tun - Sie müssen nicht einmal um Erlaubnis fragen.
Es ist kostenlos und wird es immer sein. Je mehr Leute sie benutzen, desto wertvoller wird sie.",
+ "copiedToClipboard": "Link in die Zwischenablage kopiert",
+ "thanksForSharing": "Danke für das Teilen!",
+ "editThisTheme": "Dieses Thema bearbeiten",
+ "editThemeDescription": "Fragen zu diesem Kartenthema hinzufügen oder ändern",
+ "fsUserbadge": "Anmelde-Knopf aktivieren",
+ "fsSearch": "Suchleiste aktivieren",
+ "fsWelcomeMessage": "Popup der Begrüßungsnachricht und zugehörige Registerkarten anzeigen",
+ "fsLayers": "Aktivieren der Layersteuerung",
+ "fsLayerControlToggle": "Mit der erweiterten Ebenenkontrolle beginnen",
+ "fsAddNew": "Schaltfläche 'neuen POI hinzufügen' aktivieren",
+ "fsGeolocation": "Die Schaltfläche 'Mich geolokalisieren' aktivieren (nur für Mobil)",
+ "fsIncludeCurrentBackgroundMap": "Die aktuelle Hintergrundwahl einschließen {name}",
+ "fsIncludeCurrentLayers": "Die aktuelle Ebenenauswahl einbeziehen",
+ "fsIncludeCurrentLocation": "Aktuelle Position einbeziehen"
+ },
+ "morescreen": {
+ "intro": "Weitere Quests
Sammeln Sie gerne Geodaten?
Es sind weitere Themen verfügbar.",
+ "requestATheme": "Wenn Sie einen speziell angefertigte Quest wünschen, können Sie diesen hier anfragen.",
+ "streetcomplete": "Eine andere, ähnliche Anwendung ist StreetComplete.",
+ "createYourOwnTheme": "Erstellen Sie Ihr eigenes MapComplete-Thema von Grund auf neu"
+ },
+ "readYourMessages": "Bitte lesen Sie alle Ihre OpenStreetMap-Nachrichten, bevor Sie einen neuen Punkt hinzufügen",
+ "fewChangesBefore": "Bitte beantworten Sie ein paar Fragen zu bestehenden Punkten, bevor Sie einen neuen Punkt hinzufügen.",
+ "goToInbox": "Posteingang öffnen",
+ "getStartedLogin": "Mit OpenStreetMap einloggen und loslegen",
+ "getStartedNewAccount": " oder ein neues Konto anlegen",
+ "noTagsSelected": "Keine Tags ausgewählt",
+ "customThemeIntro": "Kundenspezifische Themen
Dies sind zuvor besuchte benutzergenerierte Themen",
+ "aboutMapcomplete": "Über MapComplete
MapComplete ist ein OpenStreetMap-Editor, der jedem helfen soll, auf einfache Weise Informationen zu einem Einzelthema hinzuzufügen.
Nur Merkmale, die für ein einzelnes Thema relevant sind, werden mit einigen vordefinierten Fragen gezeigt, um die Dinge einfach und extrem benutzerfreundlich zu halten. Der Themen-Betreuer kann auch eine Sprache für die Schnittstelle wählen, Elemente deaktivieren oder sogar in eine andere Website ohne jegliches UI-Element einbetten.
Ein weiterer wichtiger Teil von MapComplete ist jedoch, immer den nächsten Schritt anzubietenum mehr über OpenStreetMap zu erfahren:
- Ein iframe ohne UI-Elemente verlinkt zu einer Vollbildversion
- Die Vollbildversion bietet Informationen über OpenStreetMap
- Wenn Sie nicht eingeloggt sind, werden Sie gebeten, sich einzuloggen
- Wenn Sie eine einzige Frage beantwortet haben, dürfen Sie Punkte hinzufügen
- An einem bestimmten Punkt erscheinen die tatsächlich hinzugefügten Tags, die später mit dem Wiki verlinkt werden...
Fällt Ihnen ein Problem mit MapComplete auf? Haben Sie einen Feature-Wunsch? Wollen Sie beim Übersetzen helfen? Gehen Sie zum Quellcode oder zur Problemverfolgung.
",
+ "backgroundMap": "Hintergrundkarte",
+ "layerSelection": {
+ "zoomInToSeeThisLayer": "Vergrößern, um diese Ebene zu sehen",
+ "title": {}
+ },
+ "weekdays": {
+ "abbreviations": {
+ "monday": "Mo",
+ "tuesday": "Di",
+ "wednesday": "Mi",
+ "thursday": "Do",
+ "friday": "Fr",
+ "saturday": "Sa",
+ "sunday": "So"
+ },
+ "monday": "Montag",
+ "tuesday": "Dienstag",
+ "wednesday": "Mittwoch",
+ "thursday": "Donnerstag",
+ "friday": "Freitag",
+ "saturday": "Samstag",
+ "sunday": "Sonntag"
+ },
+ "opening_hours": {
+ "error_loading": "Fehler: Diese Öffnungszeiten können nicht angezeigt werden",
+ "open_during_ph": "An Feiertagen ist diese Einrichtung",
+ "opensAt": "von",
+ "openTill": "bis",
+ "not_all_rules_parsed": "Die Öffnungszeiten dieses Geschäfts sind abweichend. Die folgenden Regeln werden im Eingabeelement ignoriert:",
+ "closed_until": "Geschlossen bis {date}",
+ "closed_permanently": "Geschlossen auf unbestimmte Zeit",
+ "open_24_7": "Tag und Nacht geöffnet",
+ "ph_not_known": " ",
+ "ph_closed": "geschlossen",
+ "ph_open": "geöffnet"
+ }
+ },
+ "favourite": {
+ "panelIntro": "Ihr persönliches Thema
Aktivieren Sie Ihre Lieblingsebenen aus allen offiziellen Themen",
+ "loginNeeded": "Anmelden
Ein persönliches Layout ist nur für OpenStreetMap-Benutzer verfügbar",
+ "reload": "Daten neu laden"
+ },
+ "reviews": {
+ "title": "{count} Rezensionen",
+ "title_singular": "Eine Rezension",
+ "name_required": "Der Name des Objekts ist notwendig, um eine Bewertung erstellen zu können",
+ "no_reviews_yet": "Es gibt noch keine Bewertungen. Hilf mit der ersten Bewertung dem Geschäft und der Open Data Bewegung!",
+ "write_a_comment": "Schreibe einen Kommentar...",
+ "no_rating": "Keine Bewertung vorhanden",
+ "posting_as": "Angemeldet als",
+ "i_am_affiliated": "Ich bin angehörig
Überprüfe, ob du Eigentümer, Ersteller, Angestellter etc. bist",
+ "affiliated_reviewer_warning": {},
+ "saving_review": "Speichern...",
+ "saved": "Rezension gespeichert. Vielen Dank für den Beitrag!",
+ "tos": "Mit deiner Rezension stimmst du den AGB und den Datenschutzrichtlinien von Mangrove.reviews zu",
+ "attribution": {},
+ "plz_login": "Melde dich an, um eine Rezension zu vergeben"
+ }
+}
diff --git a/langs/es.json b/langs/es.json
new file mode 100644
index 0000000000..dc61e79e53
--- /dev/null
+++ b/langs/es.json
@@ -0,0 +1,174 @@
+{
+ "image": {
+ "addPicture": "Añadir foto",
+ "uploadingPicture": "Subiendo tu imagen ...",
+ "uploadingMultiple": "Subiendo {count} de tus fotos...",
+ "pleaseLogin": "Entra para subir una foto",
+ "willBePublished": "Tu foto será publicada: ",
+ "cco": "en dominio público",
+ "ccbs": "bajo licencia CC-BY-SA",
+ "ccb": "bajo licencia CC-BY",
+ "uploadFailed": "No se pudo cargar la imagen. ¿Tienes Internet y se permiten API de terceros? El navegador Brave o UMatrix podría bloquearlas.",
+ "respectPrivacy": "Respeta la privacidad. No fotografíes gente o matrículas",
+ "uploadDone": "Tu imagen ha sido añadida. Gracias por ayudar.",
+ "dontDelete": "Cancelar",
+ "doDelete": "Borrar imagen",
+ "isDeleted": "Borrada"
+ },
+ "centerMessage": {
+ "loadingData": "Cargando datos...",
+ "zoomIn": "Amplía para ver o editar los datos",
+ "ready": "Hecho.",
+ "retrying": "La carga de datos ha fallado. Volviéndolo a probar... ({count})"
+ },
+ "index": {
+ "#": "These texts are shown above the theme buttons when no theme is loaded",
+ "title": {},
+ "intro": {},
+ "pickTheme": {}
+ },
+ "general": {
+ "loginWithOpenStreetMap": "Entra en OpenStreetMap",
+ "welcomeBack": "Has entrado, bienvenido.",
+ "loginToStart": "Entra para contestar esta pregunta",
+ "search": {
+ "search": "Busca una ubicación",
+ "searching": "Buscando...",
+ "nothing": "Nada encontrado.",
+ "error": "Alguna cosa no ha ido bien..."
+ },
+ "returnToTheMap": "Volver al mapa",
+ "save": "Guardar",
+ "cancel": "Cancelar",
+ "skip": "Saltar esta pregunta",
+ "oneSkippedQuestion": "Has ignorado una pregunta",
+ "skippedQuestions": "Has ignorado algunas preguntas",
+ "number": "número",
+ "osmLinkTooltip": "Mira este objeto en OpenStreetMap para ver historial y otras opciones de edición",
+ "add": {
+ "addNew": "Añadir {category} aquí",
+ "title": "Quieres añadir un punto?",
+ "intro": "Has marcado un lugar del que no conocemos los datos.
",
+ "pleaseLogin": "Entra para añadir un nuevo punto",
+ "zoomInFurther": "Acerca para añadir un punto.",
+ "stillLoading": "Los datos se siguen cargando. Espera un poco antes de añadir ningún punto.",
+ "confirmIntro": "Añadir {title} aquí?
El punto que estás creando lo verá todo el mundo. Sólo añade cosas que realmente existan. Muchas aplicaciones usan estos datos.",
+ "confirmButton": "Añadir {category} aquí",
+ "openLayerControl": "Abrir el control de capas",
+ "layerNotEnabled": "La capa {layer} no está habilitada. Hazlo para poder añadir un punto en esta capa"
+ },
+ "pickLanguage": "Escoge idioma: ",
+ "about": "Edita facilmente y añade puntos en OpenStreetMap de un tema concreto",
+ "nameInlineQuestion": "{category}: Su nombre es $$$",
+ "noNameCategory": "{category} sin nombre",
+ "questions": {
+ "phoneNumberOf": "Qué teléfono tiene {category}?",
+ "phoneNumberIs": "El número de teléfono de {category} es {phone}",
+ "websiteOf": "Cual es la página web de {category}?",
+ "websiteIs": "Página web: {website}",
+ "emailOf": "¿Qué dirección de correu tiene {category}?",
+ "emailIs": "La dirección de correo de {category} es {email}"
+ },
+ "openStreetMapIntro": "Un mapa abierto
¿No sería genial si hubiera un solo mapa, que todos pudieran usar y editar libremente?¿Un solo lugar para almacenar toda la información geográfica? Entonces, todos esos sitios web con mapas diferentes, pequeños e incompatibles (que siempre están desactualizados) ya no serían necesarios.OpenStreetMap es ese mapa. Los datos del mapa se pueden utilizar de forma gratuita (con atribución y publicación de cambios en esos datos). Además de eso, todos pueden agregar libremente nuevos datos y corregir errores. Este sitio web también usa OpenStreetMap. Todos los datos provienen de allí, y tus respuestas y correcciones también se añadirán allí.
Muchas personas y aplicaciones ya usan OpenStreetMap: Maps.me, OsmAnd, pero también los mapas de Facebook, Instagram, Apple y Bing son (en parte) impulsados por OpenStreetMap. Si cambias algo aquí, también se reflejará en esas aplicaciones, en su próxima actualización
",
+ "attribution": {
+ "attributionTitle": {},
+ "attributionContent": {},
+ "themeBy": {},
+ "iconAttribution": {
+ "title": {}
+ },
+ "mapContributionsBy": {},
+ "mapContributionsByAndHidden": {}
+ },
+ "sharescreen": {
+ "intro": "Comparte este mapa
Comparte este mapa copiando el enlace de debajo y enviándolo a amigos y familia:",
+ "addToHomeScreen": "Añadir a la pantalla de inicio
Puedes añadir esta web en la pantalla de inicio de tu smartphone para que se vea más nativo. Aprieta el botón 'añadir a inicio' en la barra de direcciones URL para hacerlo.",
+ "embedIntro": "Inclúyelo en tu página web
Incluye este mapa en tu página web.
Te animamos a que lo hagas, no hace falta que pidas permiso.
Es gratis, y siempre lo será. A más gente que lo use más valioso será.",
+ "copiedToClipboard": "Enlace copiado en el portapapeles",
+ "thanksForSharing": "Gracias por compartir",
+ "editThisTheme": "Editar este reto",
+ "editThemeDescription": "Añadir o cambiar preguntas de este reto",
+ "fsUserbadge": "Activar el botón de entrada",
+ "fsSearch": "Activar la barra de búsqueda",
+ "fsWelcomeMessage": "Muestra el mensaje emergente de bienvenida y pestañas asociadas",
+ "fsLayers": "Activar el control de capas",
+ "fsLayerControlToggle": "Iniciar el control de capas avanzado",
+ "fsAddNew": "Activar el botón de añadir nuevo PDI'",
+ "fsGeolocation": "Activar el botón de 'geolocalízame' (només mòbil)",
+ "fsIncludeCurrentBackgroundMap": "Incluir la opción de fondo actual {name}",
+ "fsIncludeCurrentLayers": "Incluir las opciones de capa actual",
+ "fsIncludeCurrentLocation": "Incluir localización actual"
+ },
+ "morescreen": {
+ "intro": "Más peticiones
Te gusta captar datos?
Hay más capas disponibles.",
+ "requestATheme": "Si quieres que te hagamos una petición propia , pídela aquí.",
+ "streetcomplete": "Otra aplicación similar es StreetComplete.",
+ "createYourOwnTheme": "Crea tu propia petición completa de MapComplete desde cero."
+ },
+ "readYourMessages": "Lee todos tus mensajes de OpenStreetMap antes de añadir nuevos puntos.",
+ "fewChangesBefore": "Contesta unas cuantas preguntas sobre puntos existentes antes de añadir nuevos.",
+ "goToInbox": "Abrir mensajes",
+ "getStartedLogin": "Entra en OpenStreetMap para empezar",
+ "getStartedNewAccount": " o crea una nueva cuenta",
+ "noTagsSelected": "No se han seleccionado etiquetas",
+ "customThemeIntro": {},
+ "aboutMapcomplete": {},
+ "backgroundMap": "Mapa de fondo",
+ "layerSelection": {
+ "zoomInToSeeThisLayer": "Amplía para ver esta capa",
+ "title": {}
+ },
+ "weekdays": {
+ "abbreviations": {
+ "monday": "Lun",
+ "tuesday": "Mar",
+ "wednesday": "Mie",
+ "thursday": "Jue",
+ "friday": "Vie",
+ "saturday": "Sab",
+ "sunday": "Dom"
+ },
+ "monday": "Lunes",
+ "tuesday": "Martes",
+ "wednesday": "Miércoles",
+ "thursday": "Jueves",
+ "friday": "Viernes",
+ "saturday": "Sábado",
+ "sunday": "Domingo"
+ },
+ "opening_hours": {
+ "error_loading": {},
+ "open_during_ph": "Durante fiestas este servicio está",
+ "opensAt": "desde",
+ "openTill": "hasta",
+ "not_all_rules_parsed": "El horario de esta tienda es complejo. Las normas siguientes serán ignoradas en la entrada:",
+ "closed_until": "Cerrado hasta {date}",
+ "closed_permanently": "Cerrado - sin día de apertura conocido",
+ "open_24_7": {},
+ "ph_not_known": " ",
+ "ph_closed": "cerrado",
+ "ph_open": "abierto"
+ }
+ },
+ "favourite": {
+ "panelIntro": "Tu interficie personal
Activa tus capas favoritas de todas las interficies oficiales",
+ "loginNeeded": "Entrar
El diseño personalizado sólo está disponible para los usuarios de OpenstreetMap",
+ "reload": "Recargar datos"
+ },
+ "reviews": {
+ "title": {},
+ "title_singular": {},
+ "name_required": {},
+ "no_reviews_yet": {},
+ "write_a_comment": {},
+ "no_rating": {},
+ "posting_as": {},
+ "i_am_affiliated": {},
+ "affiliated_reviewer_warning": {},
+ "saving_review": {},
+ "saved": {},
+ "tos": {},
+ "attribution": {},
+ "plz_login": {}
+ }
+}
diff --git a/langs/fr.json b/langs/fr.json
new file mode 100644
index 0000000000..b03deab45b
--- /dev/null
+++ b/langs/fr.json
@@ -0,0 +1,174 @@
+{
+ "image": {
+ "addPicture": "Ajoutez une photo",
+ "uploadingPicture": "Mise en ligne de votre photo...",
+ "uploadingMultiple": "Mise en ligne de {count} photos...",
+ "pleaseLogin": "Connectez-vous pour mettre une photo en ligne",
+ "willBePublished": "Votre photo va être publiée: ",
+ "cco": "sur le domaine publique",
+ "ccbs": "sous la license CC-BY-SA",
+ "ccb": "sous la license CC-BY",
+ "uploadFailed": "L'ajout de la photo a échoué. Êtes-vous connecté à Internet?",
+ "respectPrivacy": "Merci de respecter la vie privée. Ne publiez pas les plaques d'immatriculation.",
+ "uploadDone": "Votre photo est ajoutée. Merci beaucoup!",
+ "dontDelete": "Annuler",
+ "doDelete": "Supprimer l'image",
+ "isDeleted": "Supprimé"
+ },
+ "centerMessage": {
+ "loadingData": "Chargement des données...",
+ "zoomIn": "Rapprochez-vous sur la carte pour voir ou éditer les données",
+ "ready": "Finis!",
+ "retrying": "Le chargement a échoué. Essayer à nouveau... ({count})"
+ },
+ "index": {
+ "#": "These texts are shown above the theme buttons when no theme is loaded",
+ "title": "Bienvenue sur MapComplete",
+ "intro": "MapComplete est une application qui permet de voir des informations d'OpenStreetMap sur un thème spécifique et de les éditer.",
+ "pickTheme": "Choisissez un thème ci-dessous pour commencer."
+ },
+ "general": {
+ "loginWithOpenStreetMap": "Se connecter avec OpenStreeMap",
+ "welcomeBack": "Vous êtes connecté. Bienvenue!",
+ "loginToStart": "Connectez-vous pour répondre à cette question",
+ "search": {
+ "search": "Chercher un lieu",
+ "searching": "Chargement...",
+ "nothing": "Rien n'a été trouvé...",
+ "error": "Quelque chose n'a pas marché..."
+ },
+ "returnToTheMap": "Retourner sur la carte",
+ "save": "Sauvegarder",
+ "cancel": "Annuler",
+ "skip": "Passer la question",
+ "oneSkippedQuestion": "Une question a été passée",
+ "skippedQuestions": "Questions passées",
+ "number": "nombre",
+ "osmLinkTooltip": "Voir l'historique de cet objet sur OpenStreetMap et plus d'options d'édition",
+ "add": {
+ "addNew": "Ajouter un/une {category} ici",
+ "title": "Pas de données",
+ "intro": "Vous avez cliqué sur un endroit où il n'y a pas encore de données.
",
+ "pleaseLogin": "Vous devez vous connecter pour ajouter un point",
+ "zoomInFurther": "Rapprochez vous pour ajouter un point.",
+ "stillLoading": "Chargement des données en cours. Patientez un instant avant d'ajouter un nouveau point.",
+ "confirmIntro": "Ajouter un/une {title} ici?
Le point que vous ajouter sera visible par tout le monde. Merci de vous assurer que ce point existe réellement. Beaucoup d'autres applications utilisent ces données.",
+ "confirmButton": "Ajouter un/une {category} ici",
+ "openLayerControl": "Ouvrir la panneau de contrôle",
+ "layerNotEnabled": "La couche [layer] est désactivée. Activez-la pour ajouter un point."
+ },
+ "pickLanguage": "Choisir la langue: ",
+ "about": "Éditer facilement et ajouter OpenStreetMap pour un certain thème",
+ "nameInlineQuestion": "Le nom de cet/cette {category} est $$$",
+ "noNameCategory": "{category} sans nom",
+ "questions": {
+ "phoneNumberOf": "Quel est le nom de {category}?",
+ "phoneNumberIs": "Le numéro de téléphone de {category} est {phone}",
+ "websiteOf": "Quel est le site internet de {category}?",
+ "websiteIs": "Site web: {website}",
+ "emailOf": "Quel est l'adresse email de {category}?",
+ "emailIs": "L'adresse email de {category} est {email}"
+ },
+ "openStreetMapIntro": "Une carte ouverte
Ne serait-il pas génial d'avoir sur une carte que tout le monde pourrait éditer ouvertement? Une seule et unique plateforme regroupant toutes les informations geographiques? Ainsi nous n'aurons plus besoin de toutes ces cartes petites et incompatibles cartes (souvent non mises à jour).OpenStreetMap est la carte qu'il vous faut!. Toutes les données de cette carte peuvent être utilisé gratuitement (avec d'attribution et de publication des changements de données). De plus tout le monde est libre d'ajouter de nouvelles données et de corriger les erreurs. Ce site internet utilise également OpenStreetMap. Toutes les données en proviennent et tous les ajouts et modifications y seront également ajoutés.
De nombreux individus et d'applications utilisent déjà OpenStreetMap: Maps.me, OsmAnd, mais aussi les cartes de Facebook, Instagram, Apple-maps et Bing-maps sont (en partie) supporté par OpenStreetMap. Si vous modifié quelque chose ici, ces changements seront incorporer dans ces applications dès leurs mises à jour!
",
+ "attribution": {
+ "attributionTitle": "Crédits",
+ "attributionContent": "Toutes les données sont fournies par OpenStreetMap, librement réutilisables sous Open DataBase License.
",
+ "themeBy": "Thème maintenu par {author}",
+ "iconAttribution": {
+ "title": "Icones utilisées"
+ },
+ "mapContributionsBy": {},
+ "mapContributionsByAndHidden": {}
+ },
+ "sharescreen": {
+ "intro": "Partager cette carte
Partagez cette carte en copiant le lien suivant et envoyez-le à vos amis:",
+ "addToHomeScreen": "Ajouter à votre page d'accueil
Vous pouvez facilement ajouter la carte à votre écran d'accueil de téléphone. Cliquer sur le boutton 'ajouter à l'ecran d'accueil' dans la barre d'adresse pour éffectuer cette tâche.",
+ "embedIntro": "Incorporer à votre website
AJouter la carte à votre website.
Nous vous y encourageons - pas besoin de permission.
C'est gratuit et pour toujours. Au plus de personnes l'utilisent, au mieux.",
+ "copiedToClipboard": "Lien copié dans le presse-papier",
+ "thanksForSharing": "Merci d'avoir partagé!",
+ "editThisTheme": "Editer ce thème",
+ "editThemeDescription": "Ajouter ou modifier des questions à ce thème",
+ "fsUserbadge": "Activer le bouton de connexion",
+ "fsSearch": "Activer la barre de recherche",
+ "fsWelcomeMessage": "Afficher le message de bienvenue et les onglets associés",
+ "fsLayers": "Activer le contrôle des couches",
+ "fsLayerControlToggle": "Démarrer avec le contrôle des couches ouvert",
+ "fsAddNew": "Activer le bouton 'ajouter un POI'",
+ "fsGeolocation": "Activer le bouton 'Localisez-moi' (seulement sur mobile)",
+ "fsIncludeCurrentBackgroundMap": "Include le choix actuel d'arrière plan {name}",
+ "fsIncludeCurrentLayers": "Inclure la couche selectionnée",
+ "fsIncludeCurrentLocation": "Inclure l'emplacement actuel"
+ },
+ "morescreen": {
+ "intro": "Plus de thèmes
Vous aimez collecter des données?
Il y a plus de thèmes disponibles.",
+ "requestATheme": "Si vous voulez une autre carte thématique, demande-la ici.",
+ "streetcomplete": "Une autre application similaire est StreetComplete.",
+ "createYourOwnTheme": "Créez votre propre MapComplete carte"
+ },
+ "readYourMessages": "Merci de lire tous vos messages sur OpenStreetMap avant d'ajouter un nouveau point.",
+ "fewChangesBefore": "Merci de répondre à quelques questions à propos de points déjà existants avant d'ajouter de nouveaux points",
+ "goToInbox": "Ouvrir les messages",
+ "getStartedLogin": "Connectez-vous avec OpenStreetMap pour commencer",
+ "getStartedNewAccount": " ou enregistrez-vous",
+ "noTagsSelected": "Aucune balise sélectionnée",
+ "customThemeIntro": "Thèmes personnalisés
Vous avez déjà visité ces thèmes personnalisés.",
+ "aboutMapcomplete": "À propos de MapComplete
Avec MapComplete vous pouvez enrichir OpenStreetMap d'informations sur un theme unique. Répondez à quelques questions, et en quelques minutes vos contributions seront disponible dans le monde entier ! Le concepteur du thème definis les éléments, questions et langues pour le thème.
En savoir plus
MapComplete propose toujours l'étape suivante pour en apprendre plus sur OpenStreetMap.
- Lorsqu'il est intégré dans un site Web, l'iframe pointe vers MapComplete en plein écran
- La version plein écran donne des informations sur OpenStreetMap
- Il est possible de regarder sans se connecter, mais l'édition demande une connexion à OSM.
- Si vous n'êtes pas connecté, il vous est demandé de le faire
- Une fois que vous avez répondu à une seule question, vous pouvez ajouter de nouveaux points à la carte
- Au bout d'un moment, les vrais tags OSM sont montrés, qui pointent ensuite vers le wiki
Vous avez remarqué un problème ? Vous souhaitez demander une fonctionnalité ? Vous voulez aider à traduire ? Allez voir le code source ou l'issue tracker.
Vous voulez visualiser votre progression ? Suivez le compteur d'édition sur OsmCha.
",
+ "backgroundMap": "Carte de fonds",
+ "layerSelection": {
+ "zoomInToSeeThisLayer": "Aggrandissez la carte pour voir cette couche",
+ "title": "Selectionner des couches"
+ },
+ "weekdays": {
+ "abbreviations": {
+ "monday": "Lun",
+ "tuesday": "Mar",
+ "wednesday": "Mer",
+ "thursday": "Jeu",
+ "friday": "Ven",
+ "saturday": "Sam",
+ "sunday": "Dim"
+ },
+ "monday": "Lundi",
+ "tuesday": "Mardi",
+ "wednesday": "Mercredi",
+ "thursday": "Jeudi",
+ "friday": "Vendredi",
+ "saturday": "Samedi",
+ "sunday": "Dimanche"
+ },
+ "opening_hours": {
+ "error_loading": "Erreur: impossible de visualiser ces horaires d'ouverture.",
+ "open_during_ph": "Pendant les congés, ce lieu est",
+ "opensAt": "à partir de",
+ "openTill": "jusqu'à",
+ "not_all_rules_parsed": "Les heures d'ouvertures de ce magasin sont trop compliquées. Les heures suivantes ont été ignorées:",
+ "closed_until": "Fermé jusqu'à",
+ "closed_permanently": "Fermé",
+ "open_24_7": "Ouvert en permanence",
+ "ph_not_known": {},
+ "ph_closed": "fermé",
+ "ph_open": "ouvert"
+ }
+ },
+ "favourite": {
+ "panelIntro": "Votre thème personnel
Activer vos couches favorites depuis les thèmes officiels",
+ "loginNeeded": "Connexion
La mise en forme personnalisée requiert un compte OpenStreetMap",
+ "reload": "Recharger les données"
+ },
+ "reviews": {
+ "title": "{count} avis",
+ "title_singular": "Un avis",
+ "name_required": "Un nom est requis pour afficher et créer des avis",
+ "no_reviews_yet": "Il n'y a pas encore d'avis. Soyez le premier à en écrire un et aidez le lieu et les données ouvertes !",
+ "write_a_comment": "Laisser un avis ...",
+ "no_rating": "Aucun score donné",
+ "posting_as": "Envoi en tant que",
+ "i_am_affiliated": "Je suis affilié à cet objet
Cochez si vous en êtes le propriétaire, créateur, employé, ...",
+ "affiliated_reviewer_warning": "(Avis affilié)",
+ "saving_review": "Enregistrement...",
+ "saved": "Avis enregistré. Merci du partage !",
+ "tos": "En publiant un avis, vous êtes d'accord avec les conditions d'utilisation et la politique de confidentialité de Mangrove.reviews",
+ "attribution": "Les avis sont fournis par Mangrove Reviews et sont disponibles sous license CC-BY 4.0.",
+ "plz_login": "Connectez vous pour laisser un avis"
+ }
+}
diff --git a/langs/gl.json b/langs/gl.json
new file mode 100644
index 0000000000..666afd9979
--- /dev/null
+++ b/langs/gl.json
@@ -0,0 +1,174 @@
+{
+ "image": {
+ "addPicture": "Engadir imaxe",
+ "uploadingPicture": "Subindo a túa imaxe...",
+ "uploadingMultiple": "Subindo {count} das túas imaxes...",
+ "pleaseLogin": "Inicia a sesión para subir unha imaxe",
+ "willBePublished": "A túa imaxe será publicada: ",
+ "cco": "no dominio público",
+ "ccbs": "baixo a licenza CC-BY-SA",
+ "ccb": "baixo a licenza CC-BY",
+ "uploadFailed": "Non foi posíbel subir a imaxe. Tes internet e permites API de terceiros? O navegador Brave ou UMatrix podería bloquealas.",
+ "respectPrivacy": "Respecta a privacidade. Non fotografes xente ou matrículas",
+ "uploadDone": "A túa imaxe foi engadida. Grazas por axudar.",
+ "dontDelete": {},
+ "doDelete": {},
+ "isDeleted": {}
+ },
+ "centerMessage": {
+ "loadingData": "Cargando os datos...",
+ "zoomIn": "Achégate para ollar ou editar os datos",
+ "ready": "Feito!",
+ "retrying": "A carga dos datos fallou. Tentándoo de novo... ({count})"
+ },
+ "index": {
+ "#": "These texts are shown above the theme buttons when no theme is loaded",
+ "title": {},
+ "intro": {},
+ "pickTheme": {}
+ },
+ "general": {
+ "loginWithOpenStreetMap": "Inicia a sesión no OpenStreetMap",
+ "welcomeBack": "Iniciaches a sesión, benvido.",
+ "loginToStart": "Inicia a sesión para responder esta pregunta",
+ "search": {
+ "search": "Procurar unha localización",
+ "searching": "Procurando...",
+ "nothing": "Nada atopado...",
+ "error": "Algunha cousa non foi ben..."
+ },
+ "returnToTheMap": "Voltar ó mapa",
+ "save": "Gardar",
+ "cancel": "Desbotar",
+ "skip": "Ignorar esta pregunta",
+ "oneSkippedQuestion": "Ignoraches unha pregunta",
+ "skippedQuestions": "Ignoraches algunhas preguntas",
+ "number": "número",
+ "osmLinkTooltip": "Ollar este obxecto no OpenStreetMap para ollar o historial e outras opcións de edición",
+ "add": {
+ "addNew": "Engadir {category} aquí",
+ "title": "Queres engadir un punto?",
+ "intro": "Marcaches un lugar onde non coñecemos os datos.
",
+ "pleaseLogin": "Inicia a sesión para engadir un novo punto",
+ "zoomInFurther": "Achégate para engadir un punto.",
+ "stillLoading": "Os datos seguen a cargarse. Agarda un intre antes de engadir ningún punto.",
+ "confirmIntro": "Engadir {title} aquí?
O punto que estás a crear será ollado por todo o mundo. Só engade cousas que realmente existan. Moitas aplicacións empregan estes datos.",
+ "confirmButton": "Engadir {category} aquí",
+ "openLayerControl": {},
+ "layerNotEnabled": {}
+ },
+ "pickLanguage": "Escoller lingua: ",
+ "about": "Editar doadamente e engadir puntos no OpenStreetMap dun eido en concreto",
+ "nameInlineQuestion": "{category}: O teu nome é $$$",
+ "noNameCategory": "{category} sen nome",
+ "questions": {
+ "phoneNumberOf": "Cal é o número de teléfono de {category}?",
+ "phoneNumberIs": "O número de teléfono de {category} é {phone}",
+ "websiteOf": "Cal é a páxina web de {category}?",
+ "websiteIs": "Páxina web: {website}",
+ "emailOf": "Cal é o enderezo de correo electrónico de {category}?",
+ "emailIs": "O enderezo de correo electrónico de {category} é {email}"
+ },
+ "openStreetMapIntro": "Un mapa aberto
Non sería xenial se houbera un só mapa, que todos puideran empregar e editar de xeito libre?Un só lugar para almacenar toda a información xeográfica? Entón, todos eses sitios web con mapas diferentes, pequenos e incompatíbeis (que sempre están desactualizados) xa non serían necesarios.OpenStreetMap é ese mapa. Os datos do mapa pódense empregar de balde (con atribución e publicación de modificacións neses datos). Ademais diso, todos poden engadir de xeito ceibe novos datos e corrixir erros. Este sitio web tamén emprega o OpenStreetMap. Todos os datos proveñen de alí, e as túas respostas e correccións tamén serán engadidas alí.
Moitas persoas e aplicacións xa empregan o OpenStreetMap: Maps.me, OsmAnd, pero tamén os mapas do Facebook, Instagram, Apple e Bing son (en parte) impulsados polo OpenStreetMap. Se mudas algo aquí, tamén será reflexado nesas aplicacións, na súa seguinte actualización!
",
+ "attribution": {
+ "attributionTitle": {},
+ "attributionContent": {},
+ "themeBy": {},
+ "iconAttribution": {
+ "title": {}
+ },
+ "mapContributionsBy": {},
+ "mapContributionsByAndHidden": {}
+ },
+ "sharescreen": {
+ "intro": "Comparte este mapa
Comparte este mapa copiando a ligazón de embaixo e enviándoa ás amizades e familia:",
+ "addToHomeScreen": "Engadir á pantalla de inicio
Podes engadir esta web na pantalla de inicio do teu smartphone para que se vexa máis nativo. Preme o botón 'engadir ó inicio' na barra de enderezos URL para facelo.",
+ "embedIntro": "Inclúeo na túa páxina web
Inclúe este mapa na túa páxina web.
Animámoche a que o fagas, non fai falla que pidas permiso.
É de balde, e sempre será. Canta máis xente que o empregue máis valioso será.",
+ "copiedToClipboard": "Ligazón copiada ó portapapeis",
+ "thanksForSharing": "Grazas por compartir!",
+ "editThisTheme": "Editar este tema",
+ "editThemeDescription": "Engadir ou mudar preguntas a este tema do mapa",
+ "fsUserbadge": "Activar botón de inicio de sesión",
+ "fsSearch": "Activar a barra de procura",
+ "fsWelcomeMessage": "Amosar a xanela emerxente da mensaxe de benvida e as lapelas asociadas",
+ "fsLayers": "Activar o control de capas",
+ "fsLayerControlToggle": "Comenza co control de capas expandido",
+ "fsAddNew": "Activar o botón de 'engadir novo PDI'",
+ "fsGeolocation": "Activar o botón de 'xeolocalizarme' (só móbil)",
+ "fsIncludeCurrentBackgroundMap": {},
+ "fsIncludeCurrentLayers": {},
+ "fsIncludeCurrentLocation": {}
+ },
+ "morescreen": {
+ "intro": "Máis tarefas
Góstache captar datos?
Hai máis capas dispoñíbeis.",
+ "requestATheme": "Se queres que che fagamos unha tarefa propia , pídea aquí.",
+ "streetcomplete": "Outra aplicación semellante é StreetComplete.",
+ "createYourOwnTheme": "Crea o teu propio tema completo do MapComplete dende cero."
+ },
+ "readYourMessages": "Le todos a túas mensaxes do OpenStreetMap antes de engadir novos puntos.",
+ "fewChangesBefore": "Responde unhas cantas preguntas sobre puntos existentes antes de engadir novos.",
+ "goToInbox": "Abrir mensaxes",
+ "getStartedLogin": {},
+ "getStartedNewAccount": " ou crea unha nova conta",
+ "noTagsSelected": "Non se seleccionaron etiquetas",
+ "customThemeIntro": "Temas personalizados
Estes son temas xerados por usuarios previamente visitados.",
+ "aboutMapcomplete": {},
+ "backgroundMap": {},
+ "layerSelection": {
+ "zoomInToSeeThisLayer": {},
+ "title": {}
+ },
+ "weekdays": {
+ "abbreviations": {
+ "monday": {},
+ "tuesday": {},
+ "wednesday": {},
+ "thursday": {},
+ "friday": {},
+ "saturday": {},
+ "sunday": {}
+ },
+ "monday": {},
+ "tuesday": {},
+ "wednesday": {},
+ "thursday": {},
+ "friday": {},
+ "saturday": {},
+ "sunday": {}
+ },
+ "opening_hours": {
+ "error_loading": {},
+ "open_during_ph": {},
+ "opensAt": {},
+ "openTill": {},
+ "not_all_rules_parsed": {},
+ "closed_until": {},
+ "closed_permanently": {},
+ "open_24_7": {},
+ "ph_not_known": {},
+ "ph_closed": {},
+ "ph_open": {}
+ }
+ },
+ "favourite": {
+ "panelIntro": "O teu tema personalizado
Activa as túas capas favoritas de todos os temas oficiais",
+ "loginNeeded": "Iniciar a sesión
O deseño personalizado só está dispoñíbel para os usuarios do OpenstreetMap",
+ "reload": "Recargar os datos"
+ },
+ "reviews": {
+ "title": {},
+ "title_singular": {},
+ "name_required": {},
+ "no_reviews_yet": {},
+ "write_a_comment": {},
+ "no_rating": {},
+ "posting_as": {},
+ "i_am_affiliated": {},
+ "affiliated_reviewer_warning": {},
+ "saving_review": {},
+ "saved": {},
+ "tos": {},
+ "attribution": {},
+ "plz_login": {}
+ }
+}
diff --git a/langs/nl.json b/langs/nl.json
new file mode 100644
index 0000000000..dfebc90e51
--- /dev/null
+++ b/langs/nl.json
@@ -0,0 +1,174 @@
+{
+ "image": {
+ "addPicture": "Voeg foto toe",
+ "uploadingPicture": "Bezig met een foto te uploaden...",
+ "uploadingMultiple": "Bezig met {count} foto's te uploaden...",
+ "pleaseLogin": "Gelieve je aan te melden om een foto toe te voegen",
+ "willBePublished": "Jouw foto wordt gepubliceerd: ",
+ "cco": "in het publiek domein",
+ "ccbs": "onder de CC-BY-SA-licentie",
+ "ccb": "onder de CC-BY-licentie",
+ "uploadFailed": "Afbeelding uploaden mislukt. Heb je internet? Gebruik je Brave of UMatrix? Dan moet je derde partijen toelaten.",
+ "respectPrivacy": "Fotografeer geen mensen of nummerplaten. Voeg geen Google Maps, Google Streetview of foto's met auteursrechten toe.",
+ "uploadDone": "Je afbeelding is toegevoegd. Bedankt om te helpen!",
+ "dontDelete": "Terug",
+ "doDelete": "Verwijder afbeelding",
+ "isDeleted": "Verwijderd"
+ },
+ "centerMessage": {
+ "loadingData": "Data wordt geladen...",
+ "zoomIn": "Zoom in om de data te zien en te bewerken",
+ "ready": "Klaar!",
+ "retrying": "Data inladen mislukt - wordt opnieuw geprobeerd over {count} seconden"
+ },
+ "index": {
+ "#": "These texts are shown above the theme buttons when no theme is loaded",
+ "title": "Welkom bij MapComplete",
+ "intro": "MapComplete is een OpenStreetMap applicatie waar informatie over een specifiek thema bekeken en aangepast kan worden.",
+ "pickTheme": "Kies hieronder een thema om te beginnen."
+ },
+ "general": {
+ "loginWithOpenStreetMap": "Aanmelden met OpenStreetMap",
+ "welcomeBack": "Je bent aangemeld. Welkom terug!",
+ "loginToStart": "Meld je aan om deze vraag te beantwoorden",
+ "search": {
+ "search": "Zoek naar een locatie",
+ "searching": "Aan het zoeken...",
+ "nothing": "Niet gevonden...",
+ "error": "Niet gelukt..."
+ },
+ "returnToTheMap": "Naar de kaart",
+ "save": "Opslaan",
+ "cancel": "Annuleren",
+ "skip": "Vraag overslaan",
+ "oneSkippedQuestion": "Een vraag is overgeslaan",
+ "skippedQuestions": "Sommige vragen zijn overgeslaan",
+ "number": "getal",
+ "osmLinkTooltip": "Bekijk dit object op OpenStreetMap waar geschiedenis en meer aanpasopties zijn",
+ "add": {
+ "addNew": "Voeg hier een {category} toe",
+ "title": "Nieuw punt toevoegen?",
+ "intro": "Je klikte ergens waar er nog geen data is. Kies hieronder welk punt je wilt toevoegen
",
+ "pleaseLogin": "Gelieve je aan te melden om een punt to te voegen",
+ "zoomInFurther": "Gelieve verder in te zoomen om een punt toe te voegen.",
+ "stillLoading": "De data wordt nog geladen. Nog even geduld en dan kan je een punt toevoegen.",
+ "confirmIntro": "Voeg hier een {title} toe?
Het punt dat je hier toevoegt, is zichtbaar voor iedereen. Veel applicaties gebruiken deze data, voeg dus enkel punten toe die echt bestaan.",
+ "confirmButton": "Voeg hier een {category} toe
Je toevoeging is voor iedereen zichtbaar
",
+ "openLayerControl": "Open de laag-instellingen",
+ "layerNotEnabled": "De laag {layer} is gedeactiveerd. Activeer deze om een punt toe te voegen"
+ },
+ "pickLanguage": "Kies je taal: ",
+ "about": "Bewerk en voeg data toe aan OpenStreetMap over een specifiek onderwerp op een gemakkelijke manier",
+ "nameInlineQuestion": "De naam van dit {category} is $$$",
+ "noNameCategory": "{category} zonder naam",
+ "questions": {
+ "phoneNumberOf": "Wat is het telefoonnummer van {category}?",
+ "phoneNumberIs": "Het telefoonnummer van {category} is {phone}",
+ "websiteOf": "Wat is de website van {category}?",
+ "websiteIs": "Website: {website}",
+ "emailOf": "Wat is het email-adres van {category}?",
+ "emailIs": "Het email-adres van {category} is {email}"
+ },
+ "openStreetMapIntro": "Een open kaart
Zou het niet fantastisch zijn als er een open kaart zou zijn die door iedereen aangepast én gebruikt kan worden? Een kaart waar iedereen zijn interesses aan zou kunnen toevoegen? Dan zouden er geen duizend-en-één verschillende kleine kaartjes, websites, ... meer nodig zijn
OpenStreetMap is deze open kaart. Je mag de kaartdata gratis gebruiken (mits bronvermelding en herpublicatie van aanpassingen). Daarenboven mag je de kaart ook gratis aanpassen als je een account maakt. Ook deze website is gebaseerd op OpenStreetMap. Als je hier een vraag beantwoord, gaat het antwoord daar ook naartoe
Tenslotte zijn er reeds vele gebruikers van OpenStreetMap. Denk maar Maps.me, OsmAnd, verschillende gespecialiseerde routeplanners, de achtergrondkaarten op Facebook, Instagram,...
Zelfs Apple Maps en Bing-Maps gebruiken OpenStreetMap in hun kaarten!
Kortom, als je hier een punt toevoegd of een vraag beantwoord, zal dat na een tijdje ook in al dié applicaties te zien zijn.
",
+ "attribution": {
+ "attributionTitle": "Met dank aan",
+ "attributionContent": "Alle data is voorzien door OpenStreetMap, gratis en vrij te hergebruiken onder de Open DataBase Licentie.
",
+ "themeBy": "Thema gemaakt door {author}",
+ "iconAttribution": {
+ "title": "Iconen en afbeeldingen"
+ },
+ "mapContributionsBy": {},
+ "mapContributionsByAndHidden": {}
+ },
+ "sharescreen": {
+ "intro": "Deel deze kaart
Kopieer onderstaande link om deze kaart naar vrienden en familie door te sturen:",
+ "addToHomeScreen": "Voeg toe aan je thuis-scherm
Je kan deze website aan je thuisscherm van je smartphone toevoegen voor een native feel",
+ "embedIntro": "Plaats dit op je website
Voeg dit kaartje toe op je eigen website.
We moedigen dit zelfs aan - je hoeft geen toestemming te vragen.
Het is gratis en zal dat altijd blijven. Hoe meer het gebruikt wordt, hoe waardevoller",
+ "copiedToClipboard": "Link gekopieerd naar klembord",
+ "thanksForSharing": "Bedankt om te delen!",
+ "editThisTheme": "Pas dit thema aan",
+ "editThemeDescription": "Pas vragen aan of voeg vragen toe aan dit kaartthema",
+ "fsUserbadge": "Activeer de login-knop",
+ "fsSearch": "Activeer de zoekbalk",
+ "fsWelcomeMessage": "Toon het welkomstbericht en de bijhorende tabbladen",
+ "fsLayers": "Toon de knop voor laagbediening",
+ "fsLayerControlToggle": "Toon de laagbediening meteen volledig",
+ "fsAddNew": "Activeer het toevoegen van nieuwe POI",
+ "fsGeolocation": "Toon het knopje voor geolocalisatie (enkel op mobiel)",
+ "fsIncludeCurrentBackgroundMap": "Gebruik de huidige achtergrond {name}",
+ "fsIncludeCurrentLayers": "Toon enkel de huidig getoonde lagen",
+ "fsIncludeCurrentLocation": "Start op de huidige locatie"
+ },
+ "morescreen": {
+ "intro": "Meer thematische kaarten
Vind je het leuk om geodata te verzamelen?
Hier vind je meer kaartthemas.",
+ "requestATheme": "Wil je een eigen kaartthema, vraag dit hier aan.",
+ "streetcomplete": "Een andere, gelijkaardige Android-applicatie is StreetComplete.",
+ "createYourOwnTheme": "Maak je eigen MapComplete-kaart"
+ },
+ "readYourMessages": "Gelieve eerst je berichten op OpenStreetMap te lezen alvorens nieuwe punten toe te voegen.",
+ "fewChangesBefore": "Gelieve eerst enkele vragen van bestaande punten te beantwoorden vooraleer zelf punten toe te voegen.",
+ "goToInbox": "Ga naar de berichten",
+ "getStartedLogin": "Login met OpenStreetMap om te beginnen",
+ "getStartedNewAccount": " of maak een nieuwe account aan",
+ "noTagsSelected": "Geen tags geselecteerd",
+ "customThemeIntro": "Onofficiële thema's
De onderstaande thema's heb je eerder bezocht en zijn gemaakt door andere OpenStreetMappers.",
+ "aboutMapcomplete": "Over MapComplete
Met MapComplete kun je OpenStreetMap verrijken met informatie over een bepaald thema. Beantwoord enkele vragen, en binnen een paar minuten is jouw bijdrage wereldwijd beschikbaar! De maker van het thema bepaalt de elementen, vragen en taalversies voor het thema.
Ontdek meer
MapComplete biedt altijd de volgende stap naar meer OpenStreetMap:
- Indien ingebed in een website linkt het iframe naar de volledige MapComplete
- De volledige versie heeft uitleg over OpenStreetMap
- Bekijken kan altijd, maar wijzigen vereist een OSM-account
- Als je niet aangemeld bent, wordt je gevraagd dit te doen
- Als je minstens één vraag hebt beantwoord, kan je ook elementen toevoegen
- Heb je genoeg changesets, dan verschijnen de OSM-tags, nog later links naar de wiki
Merk je een bug of wil je een extra feature? Wil je helpen vertalen? Bezoek dan de broncode en issue tracker.
Wil je je vorderingen zien? Volg de edits op OsmCha.",
+ "backgroundMap": "Achtergrondkaart",
+ "layerSelection": {
+ "zoomInToSeeThisLayer": "Vergroot de kaart om deze laag te zien",
+ "title": "Selecteer lagen"
+ },
+ "weekdays": {
+ "abbreviations": {
+ "monday": "Maan",
+ "tuesday": "Din",
+ "wednesday": "Woe",
+ "thursday": "Don",
+ "friday": "Vrij",
+ "saturday": "Zat",
+ "sunday": "Zon"
+ },
+ "monday": "Maandag",
+ "tuesday": "Dinsdag",
+ "wednesday": "Woensdag",
+ "thursday": "Donderdag",
+ "friday": "Vrijdag",
+ "saturday": "Zaterdag",
+ "sunday": "Zondag"
+ },
+ "opening_hours": {
+ "error_loading": "Sorry, deze openingsuren kunnen niet getoond worden",
+ "open_during_ph": "Op een feestdag is deze zaak",
+ "opensAt": "vanaf",
+ "openTill": "tot",
+ "not_all_rules_parsed": {},
+ "closed_until": "Gesloten - open op {date}",
+ "closed_permanently": "Gesloten voor onbepaalde tijd",
+ "open_24_7": "Dag en nacht open",
+ "ph_not_known": " ",
+ "ph_closed": "gesloten",
+ "ph_open": "open"
+ }
+ },
+ "favourite": {
+ "panelIntro": {},
+ "loginNeeded": {},
+ "reload": {}
+ },
+ "reviews": {
+ "title": "{count} beoordelingen",
+ "title_singular": "Eén beoordeling",
+ "name_required": "De naam van dit object moet gekend zijn om een review te kunnen maken",
+ "no_reviews_yet": "Er zijn nog geen beoordelingen. Wees de eerste om een beoordeling te schrijven en help open data en het bedrijf",
+ "write_a_comment": "Schrijf een beoordeling...",
+ "no_rating": "Geen score bekend",
+ "posting_as": "Ingelogd als",
+ "i_am_affiliated": "Ik ben persoonlijk betrokken
Vink aan indien je de oprichter, maker, werknemer, ... of dergelijke bent",
+ "affiliated_reviewer_warning": "(Review door betrokkene)",
+ "saving_review": "Opslaan...",
+ "saved": "Bedankt om je beoordeling te delen!",
+ "tos": "Als je je review publiceert, ga je akkoord met de de gebruiksvoorwaarden en privacy policy van Mangrove.reviews",
+ "attribution": "De beoordelingen worden voorzien door Mangrove Reviews en zijn beschikbaar onder deCC-BY 4.0-licentie. ",
+ "plz_login": "Meld je aan om een beoordeling te geven"
+ }
+}
From 2b1c53dc234470989aef9e39ecd4c9d0a528e5e2 Mon Sep 17 00:00:00 2001
From: pietervdvn
Date: Wed, 19 May 2021 15:22:17 +0200
Subject: [PATCH 04/11] Add mapcomplete workflow
---
README.md | 4 +-
assets/MapComplete_Screenshot.png | Bin 0 -> 1801242 bytes
assets/translations.json | 2253 +++++++++++----------
scripts/generateTranslationFromWeblate.ts | 53 +
4 files changed, 1184 insertions(+), 1126 deletions(-)
create mode 100644 assets/MapComplete_Screenshot.png
create mode 100644 scripts/generateTranslationFromWeblate.ts
diff --git a/README.md b/README.md
index 50155ca309..d5d7790254 100644
--- a/README.md
+++ b/README.md
@@ -82,7 +82,7 @@ To develop or deploy a version of MapComplete, have a look [to the guide](Docs/D
## Translating MapComplete
-Help to translate mapcomplete via [Hosted Weblate]().
+The core strings of MapComplete are translated on [Hosted Weblate](https://hosted.weblate.org/projects/mapcomplete/core/).
A theme has translations into the preset.json (`assets/themes/themename/themename.json`). To add a translation:
@@ -92,6 +92,8 @@ A theme has translations into the preset.json (`assets/themes/themename/themenam
3. If you notice missing translations in the core of MapComplete, fork this project, open [the file containing all translations](https://github.com/pietervdvn/MapComplete/blob/master/assets/translations.json), add add a language string there
4. Send a pull request to update the languages, I'll gladly add it! It doesn't have to be a complete translation from the start ;)
+(Note that themes will be moved to weblate in the future too)
+
## Architecture
### High-level overview
diff --git a/assets/MapComplete_Screenshot.png b/assets/MapComplete_Screenshot.png
new file mode 100644
index 0000000000000000000000000000000000000000..d597ff671c8c2b7f9ab970a3490a0cb7b5a004e1
GIT binary patch
literal 1801242
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