forked from MapComplete/MapComplete
		
	Make sure that landing pages are in english
This commit is contained in:
		
							parent
							
								
									b8e5800df3
								
							
						
					
					
						commit
						1305e0c2db
					
				
					 17 changed files with 40 additions and 78 deletions
				
			
		|  | @ -163,10 +163,19 @@ class ValidateTheme extends DesugaringStep<LayoutConfigJson> { | ||||||
|                 errors.push(...checked.errors) |                 errors.push(...checked.errors) | ||||||
|             } |             } | ||||||
|             if (!json.hideFromOverview && theme.id !== "personal") { |             if (!json.hideFromOverview && theme.id !== "personal") { | ||||||
|  | 
 | ||||||
|  |                 // The first key in the the title-field must be english, otherwise the title in the loading page will be the different language
 | ||||||
|  |                 const targetLanguage = theme.title.SupportedLanguages()[0] | ||||||
|  |                 if(targetLanguage !== "en"){ | ||||||
|  |                     warnings.push(`TargetLanguage is not 'en' for public theme ${theme.id}, it is ${targetLanguage}. Move 'en' up in the title of the theme and set it as the first key`) | ||||||
|  |                 } | ||||||
|  |                  | ||||||
|                 // Official, public themes must have a full english translation
 |                 // Official, public themes must have a full english translation
 | ||||||
|                 const checked = new ValidateLanguageCompleteness("en") |                 const checked = new ValidateLanguageCompleteness("en") | ||||||
|                     .convert(theme, theme.id) |                     .convert(theme, theme.id) | ||||||
|                 errors.push(...checked.errors) |                 errors.push(...checked.errors) | ||||||
|  |                  | ||||||
|  |                | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|         } catch (e) { |         } catch (e) { | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| { | { | ||||||
|   "id": "food", |   "id": "food", | ||||||
|   "name": { |   "name": { | ||||||
|     "nl": "Eetgelegenheden", |  | ||||||
|     "en": "Restaurants and fast food", |     "en": "Restaurants and fast food", | ||||||
|  |     "nl": "Eetgelegenheden", | ||||||
|     "de": "Restaurants und Imbisse", |     "de": "Restaurants und Imbisse", | ||||||
|     "da": "Restauranter og fastfood", |     "da": "Restauranter og fastfood", | ||||||
|     "es": "Restaurantes y comida rápida" |     "es": "Restaurantes y comida rápida" | ||||||
|  |  | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| { | { | ||||||
|   "id": "maxspeed", |   "id": "maxspeed", | ||||||
|   "name": { |   "name": { | ||||||
|  |     "en": "Maxspeed", | ||||||
|     "es": "Velocidad", |     "es": "Velocidad", | ||||||
|     "ca": "Velocitat", |     "ca": "Velocitat" | ||||||
|     "en": "Maxspeed" |  | ||||||
|   }, |   }, | ||||||
|   "source": { |   "source": { | ||||||
|     "osmTags": { |     "osmTags": { | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| { | { | ||||||
|   "id": "playground", |   "id": "playground", | ||||||
|   "name": { |   "name": { | ||||||
|     "nl": "Speeltuinen", |  | ||||||
|     "en": "Playgrounds", |     "en": "Playgrounds", | ||||||
|  |     "nl": "Speeltuinen", | ||||||
|     "ru": "Детские площадки", |     "ru": "Детские площадки", | ||||||
|     "de": "Spielplätze", |     "de": "Spielplätze", | ||||||
|     "it": "Campi da gioco", |     "it": "Campi da gioco", | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| { | { | ||||||
|   "id": "cafes_and_pubs", |   "id": "cafes_and_pubs", | ||||||
|   "title": { |   "title": { | ||||||
|     "nl": "Cafés", |  | ||||||
|     "en": "Cafés and pubs", |     "en": "Cafés and pubs", | ||||||
|  |     "nl": "Cafés", | ||||||
|     "de": "Cafés und Kneipen", |     "de": "Cafés und Kneipen", | ||||||
|     "it": "Caffè e pub", |     "it": "Caffè e pub", | ||||||
|     "nb_NO": "Kafeer og kneiper", |     "nb_NO": "Kafeer og kneiper", | ||||||
|  |  | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| { | { | ||||||
|   "id": "climbing", |   "id": "climbing", | ||||||
|   "title": { |   "title": { | ||||||
|  |     "en": "Open Climbing Map", | ||||||
|     "nl": "Open klimkaart", |     "nl": "Open klimkaart", | ||||||
|     "de": "Offene Kletterkarte", |     "de": "Offene Kletterkarte", | ||||||
|     "en": "Open Climbing Map", |  | ||||||
|     "ru": "Открытая карта скалолазания", |     "ru": "Открытая карта скалолазания", | ||||||
|     "ja": "登山地図を開く", |     "ja": "登山地図を開く", | ||||||
|     "zh_Hant": "開放攀爬地圖", |     "zh_Hant": "開放攀爬地圖", | ||||||
|  |  | ||||||
|  | @ -2,8 +2,8 @@ | ||||||
|   "id": "cyclestreets", |   "id": "cyclestreets", | ||||||
|   "version": "2020-08-30", |   "version": "2020-08-30", | ||||||
|   "title": { |   "title": { | ||||||
|     "nl": "Fietsstraten", |  | ||||||
|     "en": "Cyclestreets", |     "en": "Cyclestreets", | ||||||
|  |     "nl": "Fietsstraten", | ||||||
|     "ja": "Cyclestreets", |     "ja": "Cyclestreets", | ||||||
|     "zh_Hant": "單車街道", |     "zh_Hant": "單車街道", | ||||||
|     "de": "Fahrradstraßen", |     "de": "Fahrradstraßen", | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| { | { | ||||||
|   "id": "facadegardens", |   "id": "facadegardens", | ||||||
|   "title": { |   "title": { | ||||||
|     "nl": "Straatgeveltuintjes", |  | ||||||
|     "en": "Facade gardens", |     "en": "Facade gardens", | ||||||
|  |     "nl": "Straatgeveltuintjes", | ||||||
|     "ja": "ファサード庭園", |     "ja": "ファサード庭園", | ||||||
|     "zh_Hant": "立面花園", |     "zh_Hant": "立面花園", | ||||||
|     "it": "Giardini verticali", |     "it": "Giardini verticali", | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| { | { | ||||||
|   "id": "food", |   "id": "food", | ||||||
|   "title": { |   "title": { | ||||||
|     "nl": "Eetgelegenheden", |  | ||||||
|     "en": "Restaurants and fast food", |     "en": "Restaurants and fast food", | ||||||
|  |     "nl": "Eetgelegenheden", | ||||||
|     "de": "Restaurants und Schnellimbisse", |     "de": "Restaurants und Schnellimbisse", | ||||||
|     "it": "Ristoranti e fast food", |     "it": "Ristoranti e fast food", | ||||||
|     "nb_NO": "Restauranter og søppelmat", |     "nb_NO": "Restauranter og søppelmat", | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| { | { | ||||||
|   "id": "fritures", |   "id": "fritures", | ||||||
|   "title": { |   "title": { | ||||||
|     "nl": "Friturenkaart", |  | ||||||
|     "en": "Fries shops", |     "en": "Fries shops", | ||||||
|  |     "nl": "Friturenkaart", | ||||||
|     "fr": "Carte des friteries", |     "fr": "Carte des friteries", | ||||||
|     "de": "Pommes-frites-Läden", |     "de": "Pommes-frites-Läden", | ||||||
|     "ca": "Botigues de patates" |     "ca": "Botigues de patates" | ||||||
|  |  | ||||||
|  | @ -1,24 +1,13 @@ | ||||||
| { | { | ||||||
|   "id": "mapcomplete-changes", |   "id": "mapcomplete-changes", | ||||||
|   "title": { |   "title": { | ||||||
|     "en": "Changes made with MapComplete", |     "en": "Changes made with MapComplete" | ||||||
|     "de": "Änderungen mit MapComplete", |  | ||||||
|     "es": "Cambios hechos con MapComplete", |  | ||||||
|     "nb_NO": "Endringer utført med MapComplete", |  | ||||||
|     "nl": "Wijzigingen gemaakt met MapComplete" |  | ||||||
|   }, |   }, | ||||||
|   "shortDescription": { |   "shortDescription": { | ||||||
|     "en": "Shows changes made by MapComplete", |     "en": "Shows changes made by MapComplete" | ||||||
|     "de": "Zeigt Änderungen von MapComplete", |  | ||||||
|     "es": "Muestra los cambios hechos por MapComplete", |  | ||||||
|     "nb_NO": "Vis endringer utført med MapComplete", |  | ||||||
|     "nl": "Toont wijzigingen gemaakt met MapComplete" |  | ||||||
|   }, |   }, | ||||||
|   "description": { |   "description": { | ||||||
|     "en": "This maps shows all the changes made with MapComplete", |     "en": "This maps shows all the changes made with MapComplete" | ||||||
|     "de": "Diese Karte zeigt alle Änderungen die mit MapComplete gemacht wurden", |  | ||||||
|     "es": "Este mapa muestra todos los cambios hechos con MapComplete", |  | ||||||
|     "nl": "Deze kaart toont alle wijzigingen die met MapComplete werden gemaakt" |  | ||||||
|   }, |   }, | ||||||
|   "maintainer": "", |   "maintainer": "", | ||||||
|   "icon": "./assets/svg/logo.svg", |   "icon": "./assets/svg/logo.svg", | ||||||
|  | @ -33,10 +22,7 @@ | ||||||
|     { |     { | ||||||
|       "id": "mapcomplete-changes", |       "id": "mapcomplete-changes", | ||||||
|       "name": { |       "name": { | ||||||
|         "en": "Changeset centers", |         "en": "Changeset centers" | ||||||
|         "de": "Schwerpunkte von Änderungssätzen", |  | ||||||
|         "es": "Centros de conjuntos de cambios", |  | ||||||
|         "nb_NO": "Endringssettsenter" |  | ||||||
|       }, |       }, | ||||||
|       "minzoom": 0, |       "minzoom": 0, | ||||||
|       "source": { |       "source": { | ||||||
|  | @ -50,55 +36,35 @@ | ||||||
|       ], |       ], | ||||||
|       "title": { |       "title": { | ||||||
|         "render": { |         "render": { | ||||||
|           "en": "Changeset for {theme}", |           "en": "Changeset for {theme}" | ||||||
|           "de": "Änderungen für {theme}", |  | ||||||
|           "es": "Conjunto de cambios para {theme}", |  | ||||||
|           "nb_NO": "Endringssett for {theme}", |  | ||||||
|           "nl": "Wijzigingset voor {theme}" |  | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       "description": { |       "description": { | ||||||
|         "en": "Shows all MapComplete changes", |         "en": "Shows all MapComplete changes" | ||||||
|         "de": "Zeigt alle MapComplete Änderungen", |  | ||||||
|         "es": "Muestra todos los cambios de MapComplete", |  | ||||||
|         "nl": "Toont alle wijzigingen met MapComplete" |  | ||||||
|       }, |       }, | ||||||
|       "tagRenderings": [ |       "tagRenderings": [ | ||||||
|         { |         { | ||||||
|           "id": "render_id", |           "id": "render_id", | ||||||
|           "render": { |           "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": "Änderung <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", |  | ||||||
|             "es": "Conjunto de cambios <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", |  | ||||||
|             "nb_NO": "Endringssett <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", |  | ||||||
|             "nl": "Wijzigingset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>" |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           "id": "contributor", |           "id": "contributor", | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Change made by <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>", |             "en": "Change made by <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>" | ||||||
|             "de": "Änderung wurde von <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a> gemacht", |  | ||||||
|             "es": "Cambio hecho por <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>", |  | ||||||
|             "nl": "Wijziging gemaakt door <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>" |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           "id": "theme", |           "id": "theme", | ||||||
|           "render": { |           "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": "Änderung mit Thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>", |  | ||||||
|             "es": "Cambio con tema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>", |  | ||||||
|             "nl": "Wijziging met thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>" |  | ||||||
|           }, |           }, | ||||||
|           "mappings": [ |           "mappings": [ | ||||||
|             { |             { | ||||||
|               "if": "theme~http.*", |               "if": "theme~http.*", | ||||||
|               "then": { |               "then": { | ||||||
|                 "en": "Change with <b>unofficial</b> theme <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>", |                 "en": "Change with <b>unofficial</b> theme <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>" | ||||||
|                 "de": "Änderung mit <b>inoffiziellem</b> Thema <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>", |  | ||||||
|                 "es": "Cambio con tema <b>no oficial</b> <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>", |  | ||||||
|                 "nl": "Wijziging met <b>officieus</b> thema <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -374,11 +340,7 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Themename contains {search}", |                 "en": "Themename contains {search}" | ||||||
|                 "de": "Themenname enthält {search}", |  | ||||||
|                 "es": "Nombre del tema contiene {search}", |  | ||||||
|                 "nb_NO": "Temanavn inneholder {search}", |  | ||||||
|                 "nl": "Themanaam bevat {search}" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -394,10 +356,7 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Made by contributor {search}", |                 "en": "Made by contributor {search}" | ||||||
|                 "de": "Erstellt von {search}", |  | ||||||
|                 "es": "Hecho por contributor/a {search}", |  | ||||||
|                 "nl": "Gemaakt door bijdrager {search}" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -413,10 +372,7 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "<b>Not</b> made by contributor {search}", |                 "en": "<b>Not</b> made by contributor {search}" | ||||||
|                 "de": "<b>Nicht</b> erstellt von {search}", |  | ||||||
|                 "es": "<b>No</b> hecho por contributor/a {search}", |  | ||||||
|                 "nl": "<b>Niet</b> gemaakt door bijdrager {search}" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -431,10 +387,7 @@ | ||||||
|           { |           { | ||||||
|             "id": "link_to_more", |             "id": "link_to_more", | ||||||
|             "render": { |             "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 finden Sie <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>", |  | ||||||
|               "es": "Se pueden encontrar más estadísticas <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>aquí</a>", |  | ||||||
|               "nl": "Meer statistieken kunnen <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a> gevonden worden" |  | ||||||
|             } |             } | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|  |  | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| { | { | ||||||
|   "id": "maxspeed", |   "id": "maxspeed", | ||||||
|   "title": { |   "title": { | ||||||
|  |     "en": "Maxspeed", | ||||||
|     "es": "Velocidad", |     "es": "Velocidad", | ||||||
|     "ca": "Velocitat", |     "ca": "Velocitat" | ||||||
|     "en": "Maxspeed" |  | ||||||
|   }, |   }, | ||||||
|   "shortDescription": { |   "shortDescription": { | ||||||
|     "en": "This map shows the legally allowed maximum speed on every road." |     "en": "This map shows the legally allowed maximum speed on every road." | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| { | { | ||||||
|   "id": "parkings", |   "id": "parkings", | ||||||
|   "title": { |   "title": { | ||||||
|     "nl": "Parking", |  | ||||||
|     "en": "Parking", |     "en": "Parking", | ||||||
|  |     "nl": "Parking", | ||||||
|     "de": "Parkplatzkarte", |     "de": "Parkplatzkarte", | ||||||
|     "it": "Parcheggio", |     "it": "Parcheggio", | ||||||
|     "nb_NO": "Parkering", |     "nb_NO": "Parkering", | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| { | { | ||||||
|   "id": "playgrounds", |   "id": "playgrounds", | ||||||
|   "title": { |   "title": { | ||||||
|     "nl": "Speelplekken", |  | ||||||
|     "en": "Playgrounds", |     "en": "Playgrounds", | ||||||
|  |     "nl": "Speelplekken", | ||||||
|     "fr": "Aires de jeux", |     "fr": "Aires de jeux", | ||||||
|     "ja": "遊び場", |     "ja": "遊び場", | ||||||
|     "zh_Hant": "遊樂場", |     "zh_Hant": "遊樂場", | ||||||
|  |  | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| { | { | ||||||
|   "id": "sport_pitches", |   "id": "sport_pitches", | ||||||
|   "title": { |   "title": { | ||||||
|  |     "en": "Sport pitches", | ||||||
|     "nl": "Sportvelden", |     "nl": "Sportvelden", | ||||||
|     "fr": "Terrains de sport", |     "fr": "Terrains de sport", | ||||||
|     "en": "Sport pitches", |  | ||||||
|     "ja": "スポーツ競技場", |     "ja": "スポーツ競技場", | ||||||
|     "zh_Hant": "運動場地", |     "zh_Hant": "運動場地", | ||||||
|     "ru": "Спортивные площадки", |     "ru": "Спортивные площадки", | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| { | { | ||||||
|   "id": "trees", |   "id": "trees", | ||||||
|   "title": { |   "title": { | ||||||
|     "nl": "Bomen", |  | ||||||
|     "en": "Trees", |     "en": "Trees", | ||||||
|  |     "nl": "Bomen", | ||||||
|     "fr": "Arbres", |     "fr": "Arbres", | ||||||
|     "it": "Alberi", |     "it": "Alberi", | ||||||
|     "ru": "Деревья", |     "ru": "Деревья", | ||||||
|  |  | ||||||
|  | @ -19,7 +19,6 @@ import {PrepareLayer} from "../Models/ThemeConfig/Conversion/PrepareLayer"; | ||||||
| import {PrepareTheme} from "../Models/ThemeConfig/Conversion/PrepareTheme"; | import {PrepareTheme} from "../Models/ThemeConfig/Conversion/PrepareTheme"; | ||||||
| import {DesugaringContext} from "../Models/ThemeConfig/Conversion/Conversion"; | import {DesugaringContext} from "../Models/ThemeConfig/Conversion/Conversion"; | ||||||
| import {Utils} from "../Utils"; | import {Utils} from "../Utils"; | ||||||
| import {And} from "../Logic/Tags/And"; |  | ||||||
| 
 | 
 | ||||||
| // This scripts scans 'assets/layers/*.json' for layer definition files and 'assets/themes/*.json' for theme definition files.
 | // This scripts scans 'assets/layers/*.json' for layer definition files and 'assets/themes/*.json' for theme definition files.
 | ||||||
| // It spits out an overview of those to be used to load them
 | // It spits out an overview of those to be used to load them
 | ||||||
|  | @ -262,6 +261,7 @@ class LayerOverviewUtils { | ||||||
|             tagRenderings: this.getSharedTagRenderings(knownImagePaths), |             tagRenderings: this.getSharedTagRenderings(knownImagePaths), | ||||||
|             publicLayers |             publicLayers | ||||||
|         } |         } | ||||||
|  |         const nonDefaultLanguages : {theme: string, language: string}[] = [] | ||||||
|         for (const themeInfo of themeFiles) { |         for (const themeInfo of themeFiles) { | ||||||
|             let themeFile = themeInfo.parsed |             let themeFile = themeInfo.parsed | ||||||
|             const themePath = themeInfo.path |             const themePath = themeInfo.path | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue