Init Git Prod Mars 2026

This commit is contained in:
Oleg Barykin committed 2026-03-05 10:25:39 +01:00
commit d81efe93b1
362 files changed
+86627

No files matched your search

+316
View File
@@ -0,0 +1,316 @@
<?php
/*
* /city_aliases_ru.php
*/
// RU exonyms -> 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',
];