diff --git a/assets/themes/ghostbikes/ghostbikes.json b/assets/themes/ghostbikes/ghostbikes.json
index 7c03c64bb4..229a32751f 100644
--- a/assets/themes/ghostbikes/ghostbikes.json
+++ b/assets/themes/ghostbikes/ghostbikes.json
@@ -9,7 +9,17 @@
"ja",
"nb_NO",
"zh_Hant",
- "fr"
+ "fr",
+ "eo",
+ "es",
+ "fi",
+ "gl",
+ "hu",
+ "it",
+ "pl",
+ "pt_BR",
+ "ru",
+ "sv"
],
"title": {
"en": "Ghost bikes",
@@ -18,7 +28,17 @@
"ja": "ゴーストバイク",
"nb_NO": "Spøkelsessykler",
"zh_Hant": "幽靈單車",
- "fr": "Vélo fantôme"
+ "fr": "Vélo fantôme",
+ "eo": "Fantombiciklo",
+ "es": "Bicicleta blanca",
+ "fi": "Haamupyörä",
+ "gl": "Bicicleta pantasma",
+ "hu": "Emlékkerékpár",
+ "it": "Bici fantasma",
+ "pl": "Duch roweru",
+ "pt_BR": "Bicicleta fantasma",
+ "ru": "Велосипед Ghost",
+ "sv": "Spökcykel"
},
"description": {
"en": "A ghost bike is a memorial for a cyclist who died in a traffic accident, in the form of a white bicycle placed permanently near the accident location.
On this map, one can see all the ghost bikes which are known by OpenStreetMap. Is a ghost bike missing? Everyone can add or update information here - you only need to have a (free) OpenStreetMap account.",
diff --git a/langs/themes/eo.json b/langs/themes/eo.json
index 14237a1193..968beb4986 100644
--- a/langs/themes/eo.json
+++ b/langs/themes/eo.json
@@ -2,4 +2,4 @@
"ghostbikes": {
"title": "Fantombiciklo"
}
-}
+}
\ No newline at end of file
diff --git a/langs/themes/es.json b/langs/themes/es.json
index bd4468d84a..158b8b000e 100644
--- a/langs/themes/es.json
+++ b/langs/themes/es.json
@@ -31,11 +31,11 @@
}
}
},
- "personal": {
- "title": "Interficie personal",
- "description": "Crea una interficie basada en todas las capas disponibles de todas las interficies"
- },
"ghostbikes": {
"title": "Bicicleta blanca"
+ },
+ "personal": {
+ "description": "Crea una interficie basada en todas las capas disponibles de todas las interficies",
+ "title": "Interficie personal"
}
-}
+}
\ No newline at end of file
diff --git a/langs/themes/fi.json b/langs/themes/fi.json
index 6e55fc9431..62f2d561dc 100644
--- a/langs/themes/fi.json
+++ b/langs/themes/fi.json
@@ -2,4 +2,4 @@
"ghostbikes": {
"title": "Haamupyörä"
}
-}
+}
\ No newline at end of file
diff --git a/langs/themes/gl.json b/langs/themes/gl.json
index 80fcaffa92..907a31cae9 100644
--- a/langs/themes/gl.json
+++ b/langs/themes/gl.json
@@ -3,11 +3,11 @@
"description": "O obxectivo deste mapa é amosar ós ciclistas unha solución doada de empregar para atopar a infraestrutura axeitada para as súas necesidades.
Podes obter a túa localización precisa (só para dispositivos móbiles) e escoller as capas que sexan relevantes para ti na esquina inferior esquerda. Tamén podes empregar esta ferramenta para engadir ou editar puntos de interese ó mapa e fornecer máis datos respondendo as cuestións.
Todas as modificacións que fagas serán gardadas de xeito automático na base de datos global do OpenStreetMap e outros poderán reutilizalos libremente.
Para máis información sobre o proxecto cyclofix, vai a cyclofix.osm.be.",
"title": "Cyclofix - Un mapa aberto para os ciclistas"
},
- "personal": {
- "title": "Tema personalizado",
- "description": "Crea un tema baseado en todas as capas dispoñíbeis de todos os temas"
- },
"ghostbikes": {
"title": "Bicicleta pantasma"
+ },
+ "personal": {
+ "description": "Crea un tema baseado en todas as capas dispoñíbeis de todos os temas",
+ "title": "Tema personalizado"
}
-}
+}
\ No newline at end of file
diff --git a/langs/themes/hu.json b/langs/themes/hu.json
index a7432fd2ad..202f0811d0 100644
--- a/langs/themes/hu.json
+++ b/langs/themes/hu.json
@@ -8,4 +8,4 @@
"ghostbikes": {
"title": "Emlékkerékpár"
}
-}
+}
\ No newline at end of file
diff --git a/langs/themes/it.json b/langs/themes/it.json
index 38e22ebfec..e75545c575 100644
--- a/langs/themes/it.json
+++ b/langs/themes/it.json
@@ -488,6 +488,9 @@
"shortDescription": "Questa mappa mostra i giardini verticali, con foto e informazioni utili sulla loro orientazione, sull'illuminazione solare e sui tipi di piante.",
"title": "Giardini verticali"
},
+ "ghostbikes": {
+ "title": "Bici fantasma"
+ },
"hailhydrant": {
"layers": {
"0": {
@@ -531,8 +534,6 @@
"trees": {
"description": "Mappa tutti gli alberi!",
"shortDescription": "Mappa tutti gli alberi",
- },
- "ghostbikes": {
- "title": "Bici fantasma"
+ "title": "Alberi"
}
-}
+}
\ No newline at end of file
diff --git a/langs/themes/pl.json b/langs/themes/pl.json
index 2e8c85c73a..48289dbab0 100644
--- a/langs/themes/pl.json
+++ b/langs/themes/pl.json
@@ -6,6 +6,9 @@
"artwork": {
"title": "Otwórz mapę dzieł sztuki"
},
+ "ghostbikes": {
+ "title": "Duch roweru"
+ },
"surveillance": {
"description": "Na tej otwartej mapie można znaleźć kamery monitoringu.",
"shortDescription": "Kamery monitorujące i inne środki nadzoru"
@@ -15,13 +18,7 @@
"title": "Mapa otwartych toalet"
},
"trees": {
- "title": "Drzewa",
- "shortDescription": "Sporządzić mapę wszystkich drzew"
- },
- "artwork": {
- "title": "Otwórz mapę dzieł sztuki"
- },
- "ghostbikes": {
- "title": "Duch roweru"
+ "shortDescription": "Sporządzić mapę wszystkich drzew",
+ "title": "Drzewa"
}
}
\ No newline at end of file
diff --git a/langs/themes/pt_BR.json b/langs/themes/pt_BR.json
index c6ccc90706..56138ae8f3 100644
--- a/langs/themes/pt_BR.json
+++ b/langs/themes/pt_BR.json
@@ -166,13 +166,12 @@
},
"render": "Estação de despejo {nome}"
}
- },
- "shortDescription": "Encontre locais para passar a noite com o seu campista",
+ }
+ },
+ "shortDescription": "Encontre locais para passar a noite com o seu campista",
"title": "Locais de acampamento"
- }
},
"ghostbikes": {
"title": "Bicicleta fantasma"
- }
}
-}
+}
\ No newline at end of file
diff --git a/langs/themes/ru.json b/langs/themes/ru.json
index 311141679b..e4168c08da 100644
--- a/langs/themes/ru.json
+++ b/langs/themes/ru.json
@@ -421,6 +421,9 @@
}
}
},
+ "ghostbikes": {
+ "title": "Велосипед Ghost"
+ },
"hailhydrant": {
"layers": {
"0": {
@@ -642,8 +645,6 @@
"trees": {
"description": "Нанесите все деревья на карту!",
"shortDescription": "Карта деревьев",
- },
- "ghostbikes": {
- "title": "Велосипед Ghost"
+ "title": "Деревья"
}
-}
+}
\ No newline at end of file
diff --git a/langs/themes/sv.json b/langs/themes/sv.json
index 7c08320e76..8c5ac8469c 100644
--- a/langs/themes/sv.json
+++ b/langs/themes/sv.json
@@ -9,4 +9,4 @@
"ghostbikes": {
"title": "Spökcykel"
}
-}
+}
\ No newline at end of file
diff --git a/scripts/generateTranslations.ts b/scripts/generateTranslations.ts
index 12dadee55f..f5f59afd81 100644
--- a/scripts/generateTranslations.ts
+++ b/scripts/generateTranslations.ts
@@ -277,7 +277,12 @@ function loadTranslationFilesFrom(target: string): Map {
for (const translationFilePath of translationFilePaths) {
let language = translationFilePath.substr(translationFilePath.lastIndexOf("/") + 1)
language = language.substr(0, language.length - 5)
- translationFiles.set(language, JSON.parse(readFileSync(translationFilePath, "utf8")))
+ try{
+ translationFiles.set(language, JSON.parse(readFileSync(translationFilePath, "utf8")))
+ }catch(e){
+ console.error("Invalid JSON file or file does not exist", translationFilePath)
+ throw e;
+ }
}
return translationFiles;
}