From fd30c44352360bdde1f4364e3bddda2258769c20 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet <pietervdvn@posteo.net>
Date: Tue, 17 Jan 2023 03:18:39 +0100
Subject: [PATCH] Sync translations, regenerate docs, fix tests

---
 Docs/SpecialInputElements.md                  |   6 +-
 assets/layers/bench/bench.json                |   2 +-
 .../mapcomplete-changes.json                  | 110 ++++++++++++++----
 package.json                                  |   2 -
 scripts/build.sh                              |  13 +--
 .../FeatureSource/OsmFeatureSource.spec.ts    |   6 +-
 test/Logic/OSM/OsmObject.spec.ts              |   2 +-
 7 files changed, 98 insertions(+), 43 deletions(-)

diff --git a/Docs/SpecialInputElements.md b/Docs/SpecialInputElements.md
index 79d4fafe7..aaddec9a4 100644
--- a/Docs/SpecialInputElements.md
+++ b/Docs/SpecialInputElements.md
@@ -131,11 +131,11 @@ notInstanceof | A list of Q-identifiers which indicates that the search results
             ],
              "nl": ["straat","plein","pad","weg",laan"]
              },
-            
+
             "#": "Remove streets and parks from the search results:"
-             "notInstanceOf": ["Q79007","Q22698"] 
+             "notInstanceOf": ["Q79007","Q22698"]
         }
-        
+
     ]
 }
 ```
diff --git a/assets/layers/bench/bench.json b/assets/layers/bench/bench.json
index 4cf6516b5..03f049f29 100644
--- a/assets/layers/bench/bench.json
+++ b/assets/layers/bench/bench.json
@@ -980,4 +980,4 @@
     },
     "has_image"
   ]
-}
+}
\ No newline at end of file
diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
index 137bb9260..9cbbdc87c 100644
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
@@ -1,13 +1,21 @@
 {
   "id": "mapcomplete-changes",
   "title": {
-    "en": "Changes made with MapComplete"
+    "en": "Changes made with MapComplete",
+    "de": "Mit MapComplete vorgenommene Änderungen",
+    "nl": "Wijzigingen gemaakt met MapComplete"
   },
   "shortDescription": {
-    "en": "Shows changes made by MapComplete"
+    "en": "Shows changes made by MapComplete",
+    "de": "Zeigt Änderungen, die von MapComplete vorgenommen wurden",
+    "nl": "Toont wijzigingen gemaakt met MapComplete"
   },
   "description": {
-    "en": "This maps shows all the changes made with MapComplete"
+    "en": "This map shows all the changes made with MapComplete",
+    "ca": "Aquest mapa mostra tots els canvis fets amb MapComplete",
+    "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen",
+    "fr": "Cette carte montre tous les changements faits avec MapComplete",
+    "nl": "Deze kaart toont alle wijzigingen gemaakt met MapComplete"
   },
   "icon": "./assets/svg/logo.svg",
   "hideFromOverview": true,
@@ -20,7 +28,10 @@
     {
       "id": "mapcomplete-changes",
       "name": {
-        "en": "Changeset centers"
+        "en": "Changeset centers",
+        "de": "Zentrum der Änderungssätze",
+        "fr": "Centres de modifications de paramètres",
+        "nl": "Middelpunt van de wijzigingenset"
       },
       "minzoom": 0,
       "source": {
@@ -31,41 +42,58 @@
       },
       "title": {
         "render": {
-          "en": "Changeset for {theme}"
+          "en": "Changeset for {theme}",
+          "de": "Änderungssatz für {theme}",
+          "nl": "Changeset voor {theme}"
         }
       },
       "description": {
-        "en": "Shows all MapComplete changes"
+        "en": "Shows all MapComplete changes",
+        "de": "Zeigt alle MapComplete-Änderungen",
+        "fr": "Montre tous les changements de MapComplete",
+        "nl": "Toon alle MapComplete wijzigingen"
       },
       "tagRenderings": [
         {
           "id": "show_changeset_id",
           "render": {
-            "en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
+            "en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>",
+            "de": "Änderungssatz <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>",
+            "nl": "Wijzigingenset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
           }
         },
         {
           "id": "contributor",
           "question": {
-            "en": "What contributor did make this change?"
+            "en": "What contributor did make this change?",
+            "de": "Welcher Mitwirkende hat diese Änderung vorgenommen?",
+            "fr": "Quel contributeur a fait ce changement ?",
+            "nl": "Welke bijdrager maakte deze wijziging?"
           },
           "freeform": {
             "key": "user"
           },
           "render": {
-            "en": "Change made by <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>"
+            "en": "Change made by <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>",
+            "de": "Änderung vorgenommen von <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>",
+            "fr": "Modification faite par <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>",
+            "nl": "Wijziging gemaakt door <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>"
           }
         },
         {
           "id": "theme-id",
           "question": {
-            "en": "What theme was used to make this change?"
+            "en": "What theme was used to make this change?",
+            "de": "Welches Thema wurde für diese Änderung verwendet?",
+            "nl": "Welk thema is gebruikt voor deze wijziging?"
           },
           "freeform": {
             "key": "theme"
           },
           "render": {
-            "en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
+            "en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>",
+            "de": "Geändert mit Thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>",
+            "nl": "Wijziging met thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
           }
         },
         {
@@ -74,19 +102,32 @@
             "key": "locale"
           },
           "question": {
-            "en": "What locale (language) was this change made in?"
+            "en": "What locale (language) was this change made in?",
+            "de": "In welchem Gebietsschema (Sprache) wurde diese Änderung vorgenommen?",
+            "fr": "En quelle langue est-ce que ce changement a été fait ?",
+            "nl": "In welke taal (en cultuur) werd deze wijziging gemaakt?"
           },
           "render": {
-            "en": "User locale is {locale}"
+            "en": "User locale is {locale}",
+            "de": "Benutzergebietsschema ist {locale}",
+            "fr": "La langue de l'utilisateur est {locale}",
+            "nl": "De locale van de bijdrager is {locale}"
           }
         },
         {
           "id": "host",
           "render": {
-            "en": "Change with with <a href='{host}'>{host}</a>"
+            "en": "Change with <a href='{host}'>{host}</a>",
+            "ca": "Canvi amb <a href='{host}'>{host}</a>",
+            "de": "Geändert über <a href='{host}'>{host}</a>",
+            "fr": "Changement avec <a href='{host}'>{host}</a>",
+            "nl": "Wijziging met <a href='{host}'>{host}</a>"
           },
           "question": {
-            "en": "What host (website) was this change made with?"
+            "en": "What host (website) was this change made with?",
+            "de": "Über welchen Host (Webseite) wurde diese Änderung vorgenommen?",
+            "fr": "Depuis quel serveur (site web) ce changement a-t-il été fait ?",
+            "nl": "Op welk webadres werd deze wijziging gemaakt?"
           },
           "freeform": {
             "key": "host"
@@ -427,7 +468,10 @@
                 }
               ],
               "question": {
-                "en": "Themename contains {search}"
+                "en": "Themename contains {search}",
+                "de": "Themename enthält {search}",
+                "fr": "Nom de thème contenant {search}",
+                "nl": "Themanaam bevat {search}"
               }
             }
           ]
@@ -443,7 +487,10 @@
                 }
               ],
               "question": {
-                "en": "Made by contributor {search}"
+                "en": "Made by contributor {search}",
+                "de": "Erstellt vom Mitwirkenden {search}",
+                "fr": "Fait par le contributeur {search}",
+                "nl": "Gemaakt door {search}"
               }
             }
           ]
@@ -459,7 +506,10 @@
                 }
               ],
               "question": {
-                "en": "<b>Not</b> made by contributor {search}"
+                "en": "<b>Not</b> made by contributor {search}",
+                "de": "<b>Nicht</b> von Mitwirkendem {search}",
+                "fr": "<b>Non</b> réalisé par le contributeur{search}",
+                "nl": "<b>Niet</b> gemaakt door {search}"
               }
             }
           ]
@@ -476,7 +526,10 @@
                 }
               ],
               "question": {
-                "en": "Made before {search}"
+                "en": "Made before {search}",
+                "de": "Erstellt vor {search}",
+                "fr": "Fait avant {search}",
+                "nl": "Gemaakt voor {search}"
               }
             }
           ]
@@ -493,7 +546,10 @@
                 }
               ],
               "question": {
-                "en": "Made after {search}"
+                "en": "Made after {search}",
+                "de": "Erstellt nach {search}",
+                "fr": "Fait après {search}",
+                "nl": "Gemaakt na {search}"
               }
             }
           ]
@@ -509,7 +565,10 @@
                 }
               ],
               "question": {
-                "en": "User language (iso-code) {search}"
+                "en": "User language (iso-code) {search}",
+                "de": "Benutzersprache (ISO-Code) {search}",
+                "fr": "Langage utilisateur (code-iso) {search}",
+                "nl": "Gebruikerstaal (iso-code) {search}"
               }
             }
           ]
@@ -525,7 +584,10 @@
                 }
               ],
               "question": {
-                "en": "Made with host {search}"
+                "en": "Made with host {search}",
+                "de": "Erstellt mit host {search}",
+                "fr": "Fait par le serveur {search}",
+                "nl": "Gemaakt met host {search}"
               }
             }
           ]
@@ -551,7 +613,9 @@
           {
             "id": "link_to_more",
             "render": {
-              "en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>"
+              "en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>",
+              "de": "Weitere Statistiken <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>",
+              "nl": "Meer statistieken zijn <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a> te vinden"
             }
           },
           {
diff --git a/package.json b/package.json
index 2512655e0..34d47fc1a 100644
--- a/package.json
+++ b/package.json
@@ -7,8 +7,6 @@
   "homepage": "https://mapcomplete.osm.be",
   "main": "index.js",
   "scripts": {
-    "vitebuild": "tsc && vite build",
-    "vitepreview": "vite preview",
     "start": "npm run generate:layeroverview && npm run strt",
     "strt": "vite",
     "strttest": "export NODE_OPTIONS=--max_old_space_size=8364 && parcel serve test.html assets/templates/*.svg assets/templates/fonts/*.ttf",
diff --git a/scripts/build.sh b/scripts/build.sh
index cf9501a4b..5b481ff05 100755
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -32,18 +32,9 @@ cp assets/*.png dist/assets/
 cp assets/*.svg dist/assets/
 
 
-SRC_MAPS="--no-source-maps"
-BRANCH=`git rev-parse --abbrev-ref HEAD`
-echo "The branch name is $BRANCH"
-if [ $BRANCH = "develop" ]
-then
-    SRC_MAPS=""
-    echo "Source maps are enabled"
-fi
-
 echo -e "\n\n   Building non-theme pages"
 echo -e "  ==========================\n\n"
-parcel build --public-url "./" $SRC_MAPS "index.html" "404.html" "professional.html" "automaton.html" "import_helper.html" "import_viewer.html" "land.html" "customGenerator.html" "theme.html" vendor
+vite build "index.html" "404.html" "professional.html" "automaton.html" "import_helper.html" "import_viewer.html" "land.html" "customGenerator.html" "theme.html" vendor
 if [ $? -ne 0 ]; then
     echo "ERROR - stopping the build"
     exit 1
@@ -57,7 +48,7 @@ do
     echo -e "\n\n  $theme"
     echo -e " ------------ \n\n"
     # Builds the necessary files for just one theme, e.g. 'bookcases.html' + 'index_bookcases.ts' + supporting file
-    parcel build --public-url './' $SRC_MAPS "$theme.html"
+    vite build './' "$theme.html"
     if [ $? -ne 0 ]; then
         echo "ERROR - stopping the build"
         exit 1
diff --git a/test/Logic/FeatureSource/OsmFeatureSource.spec.ts b/test/Logic/FeatureSource/OsmFeatureSource.spec.ts
index 02dce4a55..082a80947 100644
--- a/test/Logic/FeatureSource/OsmFeatureSource.spec.ts
+++ b/test/Logic/FeatureSource/OsmFeatureSource.spec.ts
@@ -151,9 +151,11 @@ describe("OsmFeatureSource", () => {
         ScriptUtils.fixUtils()
         Utils.injectJsonDownloadForTests(
             "https://www.openstreetmap.org/api/0.6/relation/5759328/full",
-            JSON.parse(readFileSync("./test/data/relation_5759328.json", "UTF-8"))
+            JSON.parse(readFileSync("./test/data/relation_5759328.json", { encoding: "utf-8" }))
+        )
+        let data = JSON.parse(
+            readFileSync("./test/Logic/FeatureSource/small_box.json", { encoding: "utf-8" })
         )
-        let data = JSON.parse(readFileSync("./test/Logic/FeatureSource/small_box.json", "utf8"))
         Utils.injectJsonDownloadForTests(
             "https://osm.org/api/0.6/map?bbox=4.24346923828125,50.732978448277514,4.2462158203125,50.73471682490244",
             data
diff --git a/test/Logic/OSM/OsmObject.spec.ts b/test/Logic/OSM/OsmObject.spec.ts
index 023603e51..cb9c04ba2 100644
--- a/test/Logic/OSM/OsmObject.spec.ts
+++ b/test/Logic/OSM/OsmObject.spec.ts
@@ -89,7 +89,7 @@ describe("OsmObject", () => {
             ScriptUtils.fixUtils()
             Utils.injectJsonDownloadForTests(
                 "https://www.openstreetmap.org/api/0.6/relation/5759328/full",
-                JSON.parse(readFileSync("./test/data/relation_5759328.json", "UTF-8"))
+                JSON.parse(readFileSync("./test/data/relation_5759328.json", { encoding: "utf-8" }))
             )
             const r = await OsmObject.DownloadObjectAsync("relation/5759328").then((x) => x)
             const geojson = r.asGeoJson()