Latin/French city names (lowercase, sans accents si possible) return [ /* ================= Île-de-France ================= */ 'париж' => 'paris', 'булонь-бийанкур' => 'boulogne-billancourt', 'сен-дени' => 'saint-denis', 'аржантёй' => 'argenteuil', 'монтрой' => 'montreuil', 'нантер' => 'nanterre', 'витри-сюр-сен' => 'vitry-sur-seine', 'курбевуа' => 'courbevoie', 'кольомб' => 'colombes', 'аньер-сюр-сен' => 'asnieres-sur-seine', 'олнэ-су-буа' => 'aulnay-sous-bois', 'рюэй-мальмезон' => 'rueil-malmaison', 'сен-мор-де-фоссе' => 'saint-maur-des-fosses', 'шампиньи-сюр-марн' => 'champigny-sur-marne', 'исси-ле-мулино' => 'issy-les-moulineaux', 'клиши' => 'clichy', 'нуази-ле-гран' => 'noisy-le-grand', 'сарсель' => 'sarcelles', 'леваллуа-перре' => 'levallois-perret', 'нёйи-сюр-сен' => 'neuilly-sur-seine', 'антони' => 'antony', 'мэзон-алфор' => 'maisons-alfort', 'кретей' => 'creteil', 'версаль' => 'versailles', 'иври-сюр-сен' => 'ivry-sur-seine', 'пантен' => 'pantin', 'севран' => 'sevran', 'дранси' => 'drancy', 'бобиньи' => 'bobigny', 'бонди' => 'bondy', 'обервилье' => 'aubervilliers', 'сен-уэн' => 'saint-ouen', 'масси' => 'massy', 'мо' => 'meaux', 'сен-жермен-ан-ле' => 'saint-germain-en-laye', 'пюто' => 'puteaux', 'мелён' => 'melun', 'эври' => 'evry', 'сержи' => 'cergy', 'фонтенбло' => 'fontainebleau', 'монруж' => 'montrouge', 'нанси-сюр- марн' => 'nancy', 'сарсель' => 'sarcelles', 'монтеро-фо-ивонн' => 'montereau-fault-yonne', 'сарсель' => 'sarcelles', 'нантер' => 'nanterre', /* ================= Auvergne–Rhône–Alpes ================= */ 'лион' => 'lyon', 'виллербанн' => 'villeurbanne', 'вок-ан-влен' => 'vaulx-en-velin', 'венисьё' => 'venissieux', 'кальюир-э-кюйр' => 'caluire-et-cuire', 'сент-фуа-ле-льон' => 'sainte-foy-les-lyon', 'гренобль' => 'grenoble', 'сен-этьен' => 'saint-etienne', 'клермон-ферран' => 'clermont-ferrand', 'ансии' => 'annecy', 'валанс' => 'valence', 'шамбери' => 'chambery', 'бур-ж-ан-бресс' => 'bourg-en-bresse', 'роан' => 'roanne', 'ойонна' => 'oyonnax', 'анномас' => 'annemasse', 'тнон-ле-бен' => 'thonon-les-bains', 'эвиан-ле-бен' => 'evian-les-bains', 'боннвиль' => 'bonneville', 'вирьё-шательон' => 'villefontaine', /* approx area alias */ 'белле' => 'belley', /* ================= Provence–Alpes–Côte d’Azur ================= */ 'марсель' => 'marseille', 'ницца' => 'nice', 'тулон' => 'toulon', 'авиньон' => 'avignon', 'канны' => 'cannes', 'антиб' => 'antibes', 'грас' => 'grasse', 'экс-ан-прованс' => 'aix-en-provence', 'арль' => 'arles', 'фрежюс' => 'frejus', 'драгиньян' => 'draguignan', 'йер' => 'hyeres', 'ла-сейн-сюр-мер' => 'la seyne-sur-mer', 'ла-сьота' => 'la ciotat', 'мартг' => 'martigues', 'салон-де-прованс' => 'salon-de-provence', 'оранж' => 'orange', 'карпантра' => 'carpentras', 'маноск' => 'manosque', 'кавайон' => 'cavaillon', 'мантон' => 'menton', 'сен-рафаэль' => 'saint-raphael', 'канн-сюр-мер' => 'cagnes-sur-mer', /* ================= Occitanie ================= */ 'тулуза' => 'toulouse', 'монпелье' => 'montpellier', 'ним' => 'nimes', 'перпиньян' => 'perpignan', 'безье' => 'beziers', 'нарбон' => 'narbonne', 'каркасон' => 'carcassonne', 'альби' => 'albi', 'тарб' => 'tarbes', 'ош' => 'auch', 'каор' => 'cahors', 'рудез' => 'rodez', 'монто-бан' => 'montauban', 'сет' => 'sete', 'коломье' => 'colomiers', 'бланьяк' => 'blagnac', 'кастр' => 'castres', /* ================= Nouvelle-Aquitaine ================= */ 'бордо' => 'bordeaux', 'лимож' => 'limoges', 'пуа' => 'poitiers', 'пау' => 'pau', 'байонна' => 'bayonne', 'биарриц' => 'biarritz', 'ла-рошель' => 'la rochelle', 'ниор' => 'niort', 'ангулем' => 'angouleme', 'перигё' => 'perigueux', 'мон-де-марсан' => 'mont-de-marsan', 'брив-ла-гайард' => 'brive-la-gaillarde', 'бержерак' => 'bergerac', 'ажен' => 'agen', 'анксьон' => 'anglet', /* ================= Grand Est ================= */ 'страсбург' => 'strasbourg', 'реймс' => 'reims', 'мец' => 'metz', 'нанси' => 'nancy', 'мюлуз' => 'mulhouse', 'труа' => 'troyes', 'колмар' => 'colmar', 'эпиналь' => 'epinal', 'шалон-ан-шампань' => 'chalons-en-champagne', 'шарлевиль-мезьер' => 'charleville-mezieres', 'седан' => 'sedan', 'сент-дизье' => 'saint-dizier', 'саррегемин' => 'sarreguemines', 'илкирш-графенштаден' => 'illkirch-graffenstaden', 'сент-луи' => 'saint-louis', 'агно' => 'haguenau', 'томблен' => 'tomblaine', /* ================= Hauts-de-France ================= */ 'лилль' => 'lille', 'рубай' => 'roubaix', 'туркуэн' => 'tourcoing', 'дакс' => 'dax', /* ignore if not needed */ 'амиен' => 'amiens', 'валансен' => 'valenciennes', 'дуэ' => 'douai', 'денкерк' => 'dunkerque', 'кале' => 'calais', 'компьень' => 'compiegne', 'сен-кантен' => 'saint-quentin', 'аррас' => 'arras', 'булонь-сюр-мер' => 'boulogne-sur-mer', 'абвиль' => 'abbeville', 'ламберсар' => 'lambersart', 'вилнев-д-аск' => 'villeneuve-d-ascq', 'курриер' => 'courrieres', 'ли-ленн' => 'lievin', /* ================= Pays de la Loire ================= */ 'нант' => 'nantes', 'анже' => 'angers', 'ле-ман' => 'le mans', 'сен-назер' => 'saint-nazaire', 'шоле' => 'cholet', 'ла-рош-сюр-йон' => 'la roche-sur-yon', 'лаваль' => 'laval', /* ================= Bretagne ================= */ 'ренн' => 'rennes', 'брест' => 'brest', 'квенпер' => 'quimper', 'ван' => 'vannes', 'сен-мало' => 'saint-malo', 'лориан' => 'lorient', 'сен-бриё' => 'saint-brieuc', /* ================= Normandie ================= */ 'руан' => 'rouen', 'ле-авр' => 'le havre', 'ле-аврр' => 'le havre', 'каен' => 'caen', 'шербур' => 'cherbourg', 'эвре' => 'evreux', 'сен-ло' => 'saint-lo', 'флер' => 'flers', 'алансон' => 'alencon', /* ================= Centre–Val de Loire ================= */ 'тур' => 'tours', 'орлеан' => 'orleans', 'шартр' => 'chartres', 'бурж' => 'bourges', 'блуа' => 'blois', 'шатору' => 'chateauroux', /* ================= Bourgogne–Franche-Comté ================= */ 'дижон' => 'dijon', 'безансон' => 'besancon', 'оссер' => 'auxerre', 'макон' => 'macon', 'невр' => 'nevers', 'шалон-сюр-сон' => 'chalon-sur-saone', 'дан-ле-золе' => 'dole', /* ================= Grand Ouest divers ================= */ 'ла-манш' => 'saint-lo', /* dept seat hint */ 'пуатье' => 'poitiers', 'сан-назар' => 'saint-nazaire', 'сан-мало' => 'saint-malo', 'конкарно' => 'concarneau', 'морле' => 'morlaix', 'сен-брюк' => 'saint-brieuc', 'баянн' => 'bayonne', /* duplicate safe */ /* ================= Corse ================= */ 'аджакьо' => 'ajaccio', 'бастия' => 'bastia', /* ================= Outre-mer ================= */ 'фор-де-франс' => 'fort-de-france', 'басс-тер' => 'basse-terre', 'каенн' => 'cayenne', 'сен-дени' => 'saint-denis', 'мамудзу' => 'mamoudzou', 'пуан-а-питр' => 'pointe-a-pitre', /* ================= Autres communes fréquentes ================= */ 'нанси' => 'nancy', 'реймс' => 'reims', 'амьен' => 'amiens', 'тур' => 'tours', 'ниш' => 'nice', 'монтабан' => 'montauban', 'канн' => 'cannes', 'анси' => 'annecy', 'везул' => 'vesoul', 'перига' => 'perigueux', 'лейон' => 'lyon', /* ===== Variantes pour Saint-/Sainte- (дублеты «сен-» / «сент-») ===== */ 'сент-этьен' => 'saint-etienne', 'сент-мало' => 'saint-malo', 'сент-назер' => 'saint-nazaire', 'сент-дени' => 'saint-denis', 'сент-ло' => 'saint-lo', 'сент-омер' => 'saint-omer', 'сент-рафаэль' => 'saint-raphael', 'сент-квентин' => 'saint-quentin', 'сент-жермен-ан-ле' => 'saint-germain-en-laye', 'сент-мор-де-фоссе' => 'saint-maur-des-fosses', 'сент-дизье' => 'saint-dizier', 'сент-луи' => 'saint-louis', 'сент-брие' => 'saint-brieuc', /* ===== Variantes avec articles Le/La/Les ===== */ 'ле-авр' => 'le havre', 'ле-ман' => 'le mans', 'ла-рош-сюр-йон' => 'la roche-sur-yon', 'ле-кане' => 'le cannet', 'ле-мюро' => 'les mureaux', 'ле-сабль-д-олон' => 'les sables-d-olonne', /* ===== Agglo parisienne complémentaires ===== */ 'аржантей' => 'argenteuil', 'монфермей' => 'montfermeil', 'вильжюиф' => 'villejuif', 'валь-де-репюблик' => 'val-de-reuil', /* approx */ 'нежен-сюр-сен' => 'gennevilliers', 'оржи' => 'orges', /* ignore if not used */ /* ===== Sud-Ouest complémentaires ===== */ 'байон' => 'bayonne', 'мон-де-марсан' => 'mont-de-marsan', 'песак' => 'pesac', /* if stored */ /* ===== Côte d’Azur complémentaires ===== */ 'сан-лерен-дю-вар' => 'saint-laurent-du-var', 'вилльфранш-сюр-мер' => 'villefranche-sur-mer', 'ле-кане' => 'le cannet', /* ===== Languedoc complémentaires ===== */ 'безье' => 'beziers', 'альес' => 'ales', 'агд' => 'agde', /* ===== Savoie / Haute-Savoie ===== */ 'анси-ле-вье' => 'annecy', 'кранс-же' => 'cran-gevrier', 'анмас' => 'annemasse', /* ===== Divers couverts par translit mais utiles en alias ===== */ 'луара' => 'loire', 'исер' => 'isere', 'вар' => 'var', 'воклюз' => 'vaucluse', 'кукурон' => 'cucuron', ];