diff --git a/includes/city_translations.json b/includes/city_translations.json new file mode 100644 index 0000000..ce07b7b --- /dev/null +++ b/includes/city_translations.json @@ -0,0 +1,626 @@ +[ + { + "fr": "Ixelles", + "nl": "Elsene" + }, + { + "fr": "Tournai", + "nl": "Doornik" + }, + { + "fr": "Schaerbeek", + "nl": "Schaarbeek" + }, + { + "fr": "Antwerpen", + "nl": "Anvers" + }, + { + "fr": "Anderlecht", + "nl": "Anderlecht" + }, + { + "fr": "Bruxelles", + "nl": "Brussel" + }, + { + "fr": "Forest", + "nl": "Vorst" + }, + { + "fr": "Saint-Gilles", + "nl": "Sint-Gillis" + }, + { + "fr": "Etterbeek", + "nl": "Etterbeek" + }, + { + "fr": "Woluwe-Saint-Pierre", + "nl": "Sint-Pieters-Woluwe" + }, + { + "fr": "Uccle", + "nl": "Ukkel" + }, + { + "fr": "Watermael-Boitsfort", + "nl": "Watermaal-Bosvoorde" + }, + { + "fr": "Molenbeek-Saint-Jean", + "nl": "Sint-Jans-Molenbeek" + }, + { + "fr": "Molières", + "nl": "Molières" + }, + { + "fr": "Namen", + "nl": "Namur" + }, + { + "fr": "Jette", + "nl": "Jette" + }, + { + "fr": "Mechelen", + "nl": "Malines" + }, + { + "fr": "Léau", + "nl": "Zoutleeuw" + }, + { + "fr": "Gent", + "nl": "Gand" + }, + { + "fr": "Wavre-Sainte-Catherine", + "nl": "Sint-Katelijne-Waver" + }, + { + "fr": "Ganshoren", + "nl": "Ganshoren" + }, + { + "fr": "Marchin", + "nl": "Marchin" + }, + { + "fr": "Florennes", + "nl": "Florennes" + }, + { + "fr": "Huy", + "nl": "Hoei" + }, + { + "fr": "Verviers", + "nl": "Verviers" + }, + { + "fr": "Liège", + "nl": "Luik" + }, + { + "fr": "Saint-Josse-ten-Noode", + "nl": "Sint-Joost-ten-Node" + }, + { + "fr": "Ohey", + "nl": "Ohey" + }, + { + "fr": "Auderghem", + "nl": "Oudergem" + }, + { + "fr": "Enghien", + "nl": "Enghien" + }, + { + "fr": "Mettet", + "nl": "Mettet" + }, + { + "fr": "Woluwe-Saint-Lambert", + "nl": "Sint-Lambrechts-Woluwe" + }, + { + "fr": "Nassogne", + "nl": "Nassogne" + }, + { + "fr": "Charleroi", + "nl": "Charleroi" + }, + { + "fr": "Namur", + "nl": "Namen" + }, + { + "fr": "Rixensart", + "nl": "Rixensart" + }, + { + "fr": "Sint-Pieters-Leeuw", + "nl": "Sint-Pieters-Leeuw" + }, + { + "fr": "Waterloo", + "nl": "Waterloo" + }, + { + "fr": "Koekelberg", + "nl": "Koekelberg" + }, + { + "fr": "Dilbeek", + "nl": "Dilbeek" + }, + { + "fr": "Malines", + "nl": "Mechelen" + }, + { + "fr": "Sombreffe", + "nl": "Sombreffe" + }, + { + "fr": "Thimister-Clermont", + "nl": "Thimister-Clermont" + }, + { + "fr": "Leuven", + "nl": "Louvain" + }, + { + "fr": "La Panne", + "nl": "De Panne" + }, + { + "fr": "Vieux-Heverlé", + "nl": "Oud-Heverlee" + }, + { + "fr": "Braine-l'Alleud", + "nl": "Eigenbrakel" + }, + { + "fr": "Mons", + "nl": "Bergen" + }, + { + "fr": "Beersel", + "nl": "Beersel" + }, + { + "fr": "Modave", + "nl": "Modave" + }, + { + "fr": "Maaseik", + "nl": "Maaseik" + }, + { + "fr": "Couvin", + "nl": "Couvin" + }, + { + "fr": "Renaix", + "nl": "Ronse" + }, + { + "fr": "Courtrai", + "nl": "Kortrijk" + }, + { + "fr": "Lokeren", + "nl": "Lokeren" + }, + { + "fr": "Geesteren", + "nl": "Geesteren" + }, + { + "fr": "Binche", + "nl": "Binche" + }, + { + "fr": "Nivelles", + "nl": "Nivelles" + }, + { + "fr": "Jodoigne", + "nl": "Geldenaken" + }, + { + "fr": "Louvain", + "nl": "Leuven" + }, + { + "fr": "Zinnik", + "nl": "Soignies" + }, + { + "fr": "Beauvais", + "nl": "Beauvais" + }, + { + "fr": "Paris", + "nl": "Parijs" + }, + { + "fr": "Ath", + "nl": "Aat" + }, + { + "fr": "Zaventem", + "nl": "Zaventem" + }, + { + "fr": "Alost", + "nl": "Aalst" + }, + { + "fr": "Messancy", + "nl": "Messancy" + }, + { + "fr": "Meix-devant-Virton", + "nl": "Meix-devant-Virton" + }, + { + "fr": "Winterberg", + "nl": "Winterberg" + }, + { + "fr": "Le Coq", + "nl": "De Haan" + }, + { + "fr": "Verlaine", + "nl": "Verlaine" + }, + { + "fr": "Virton", + "nl": "Virton" + }, + { + "fr": "Éghezée", + "nl": "Éghezée" + }, + { + "fr": "Koksijde", + "nl": "Koksijde" + }, + { + "fr": "Den Haag", + "nl": "Den Haag" + }, + { + "fr": "Seneffe", + "nl": "Seneffe" + }, + { + "fr": "Waver", + "nl": "Wavre" + }, + { + "fr": "Walcourt", + "nl": "Walcourt" + }, + { + "fr": "Spa", + "nl": "Spa" + }, + { + "fr": "Bruges", + "nl": "Brugge" + }, + { + "fr": "Beernem", + "nl": "Beernem" + }, + { + "fr": "Rennes", + "nl": "Rennes" + }, + { + "fr": "Tervuren", + "nl": "Tervuren" + }, + { + "fr": "Evere", + "nl": "Evere" + }, + { + "fr": "Linkebeek", + "nl": "Linkebeek" + }, + { + "fr": "Esneux", + "nl": "Esneux" + }, + { + "fr": "Clavier", + "nl": "Clavier" + }, + { + "fr": "Maarkedal", + "nl": "Maarkedal" + }, + { + "fr": "Genappe", + "nl": "Genepiën" + }, + { + "fr": "Neder-Over-Heembeek", + "nl": "Neder-Over-Heembeek" + }, + { + "fr": "Pont-à-Celles", + "nl": "Pont-à-Celles" + }, + { + "fr": "Waremme", + "nl": "Borgworm" + }, + { + "fr": "Wuustwezel", + "nl": "Wuustwezel" + }, + { + "fr": "Vorselaar", + "nl": "Vorselaar" + }, + { + "fr": "Zonhoven", + "nl": "Zonhoven" + }, + { + "fr": "Wichelen", + "nl": "Wichelen" + }, + { + "fr": "Brugge", + "nl": "Bruges" + }, + { + "fr": "Thuin", + "nl": "Thuin" + }, + { + "fr": "Somme-Leuze", + "nl": "Somme-Leuze" + }, + { + "fr": "Neupré", + "nl": "Neupré" + }, + { + "fr": "Lasne", + "nl": "Lasne" + }, + { + "fr": "Oosterzele", + "nl": "Oosterzele" + }, + { + "fr": "Overijse", + "nl": "Overijse" + }, + { + "fr": "Menen", + "nl": "Menen" + }, + { + "fr": "Machelen", + "nl": "Machelen" + }, + { + "fr": "Manhay", + "nl": "Manhay" + }, + { + "fr": "Gembloux", + "nl": "Gembloux" + }, + { + "fr": "Grimbergen", + "nl": "Grimbergen" + }, + { + "fr": "Harelbeke", + "nl": "Harelbeke" + }, + { + "fr": "Heist-op-den-Berg", + "nl": "Heist-op-den-Berg" + }, + { + "fr": "Châtelet", + "nl": "Châtelet" + }, + { + "fr": "Edegem", + "nl": "Edegem" + }, + { + "fr": "Froidchapelle", + "nl": "Froidchapelle" + }, + { + "fr": "Halle", + "nl": "Hal" + }, + { + "fr": "Arendonk", + "nl": "Arendonk" + }, + { + "fr": "Berlare", + "nl": "Berlare" + }, + { + "fr": "Kraainem", + "nl": "Kraainem" + }, + { + "fr": "Wevelgem", + "nl": "Wevelgem" + }, + { + "fr": "Fernelmont", + "nl": "Fernelmont" + }, + { + "fr": "Merelbeke", + "nl": "Merelbeke" + }, + { + "fr": "Braine-le-Comte", + "nl": "'s Gravenbrakel" + }, + { + "fr": "Havelange", + "nl": "Havelange" + }, + { + "fr": "Boortmeerbeek", + "nl": "Boortmeerbeek" + }, + { + "fr": "Lierre", + "nl": "Lier" + }, + { + "fr": "Ans", + "nl": "Ans" + }, + { + "fr": "Wezembeek-Oppem", + "nl": "Wezembeek-Oppem" + }, + { + "fr": "Braine-le-Château", + "nl": "Kasteelbrakel" + }, + { + "fr": "Colfontaine", + "nl": "Colfontaine" + }, + { + "fr": "Sprimont", + "nl": "Sprimont" + }, + { + "fr": "Chastre", + "nl": "Chastre" + }, + { + "fr": "Grez-Doiceau", + "nl": "Graven" + }, + { + "fr": "Sambreville", + "nl": "Sambreville" + }, + { + "fr": "Ciney", + "nl": "Ciney" + }, + { + "fr": "Seraing", + "nl": "Seraing" + }, + { + "fr": "Étalle", + "nl": "Étalle" + }, + { + "fr": "Oostrozebeke", + "nl": "Oostrozebeke" + }, + { + "fr": "Rebecq", + "nl": "Rebecq" + }, + { + "fr": "Berchem-Sainte-Agathe", + "nl": "Sint-Agatha-Berchem" + }, + { + "fr": "Ottignies-Louvain-la-Neuve", + "nl": "Ottignies-Louvain-la-Neuve" + }, + { + "fr": "Wanze", + "nl": "Wanze" + }, + { + "fr": "Wommelgem", + "nl": "Wommelgem" + }, + { + "fr": "Zoersel", + "nl": "Zoersel" + }, + { + "fr": "Chaumont-Gistoux", + "nl": "Chaumont-Gistoux" + }, + { + "fr": "Beauvechain", + "nl": "Bevekom" + }, + { + "fr": "Erquelinnes", + "nl": "Erquelinnes" + }, + { + "fr": "Saint-Nicolas", + "nl": "Sint-Niklaas" + }, + { + "fr": "Crisnée", + "nl": "Crisnée" + }, + { + "fr": "Nazareth", + "nl": "Nazareth" + }, + { + "fr": "Bonheiden", + "nl": "Bonheiden" + }, + { + "fr": "Remicourt", + "nl": "Remicourt" + }, + { + "fr": "Lennik", + "nl": "Lennik" + }, + { + "fr": "Hannut", + "nl": "Hannuit" + }, + { + "fr": "Ramillies", + "nl": "Ramillies" + }, + { + "fr": "Chaudfontaine", + "nl": "Chaudfontaine" + }, + { + "fr": "Asse", + "nl": "Asse" + }, + { + "fr": "Lot", + "nl": "Lot" + } +] \ No newline at end of file diff --git a/includes/utilities.php b/includes/utilities.php index 9d8976d..e1052a1 100644 --- a/includes/utilities.php +++ b/includes/utilities.php @@ -342,3 +342,23 @@ function detectBelgianPhoneType($number) return 'unknown'; } + + +function translate_city_name($city, $required_language = 'fr') +{ + $translation_file_path = get_stylesheet_directory() . '/includes/city_translations.json'; + $city_translations = json_decode(file_get_contents($translation_file_path), true); + + + foreach ($city_translations as $translation) { + if ($translation[$required_language] === $city) return $city; + + if ($translation['fr'] === $city && $required_language === 'nl') { + return $translation['nl']; + } + if ($translation['nl'] === $city && $required_language === 'fr') { + return $translation['fr']; + } + } + return $city; +}