diff --git a/android/res/layout/item_localized_name.xml b/android/res/layout/item_localized_name.xml index d0e2e79351..0b670a81b8 100644 --- a/android/res/layout/item_localized_name.xml +++ b/android/res/layout/item_localized_name.xml @@ -30,4 +30,4 @@ android:padding="@dimen/margin_half" android:src="@drawable/ic_close" app:tint="@color/base_red" /> - + \ No newline at end of file diff --git a/android/res/values-ar/strings.xml b/android/res/values-ar/strings.xml index 05e206250f..ba2f4695f5 100644 --- a/android/res/values-ar/strings.xml +++ b/android/res/values-ar/strings.xml @@ -962,10 +962,7 @@ مزيل الرجفان صنبور الإطفاء هاتف الطوارئ - مدخل - - ﻲﺴﻴﺋﺮﻟﺍ ﻞﺧﺪﻤﻟﺍ مختبر طبي اخصائي علاج طبيعي diff --git a/android/res/values-be/strings.xml b/android/res/values-be/strings.xml index 7888bf98ba..9962a18a8d 100644 --- a/android/res/values-be/strings.xml +++ b/android/res/values-be/strings.xml @@ -798,8 +798,6 @@ Дэлікатэсы Дэфібрылятар Пажарны гідрант - - Галоўны ўваход Медыцынская лабараторыя Фізіятэрапеўт diff --git a/android/res/values-bg/strings.xml b/android/res/values-bg/strings.xml index b6aa66335f..a84cd7a9da 100644 --- a/android/res/values-bg/strings.xml +++ b/android/res/values-bg/strings.xml @@ -684,8 +684,6 @@ Винарна Шивач Деликатеси - - Главния вход Медицинска лаборатория Физиотерапевт diff --git a/android/res/values-ca/strings.xml b/android/res/values-ca/strings.xml index 8a82913e3c..5e694217c7 100644 --- a/android/res/values-ca/strings.xml +++ b/android/res/values-ca/strings.xml @@ -717,8 +717,4 @@ Bolera - - - - Entrada principal diff --git a/android/res/values-cs/strings.xml b/android/res/values-cs/strings.xml index bfa015fea7..856444e06f 100644 --- a/android/res/values-cs/strings.xml +++ b/android/res/values-cs/strings.xml @@ -924,10 +924,7 @@ Defibrilátor Požární hydrant Tísňového volání - Vchod - - Hlavní vchod Lékařská laboratoř Fyzioterapeut diff --git a/android/res/values-da/strings.xml b/android/res/values-da/strings.xml index 2efa54898e..8acedf9b3d 100644 --- a/android/res/values-da/strings.xml +++ b/android/res/values-da/strings.xml @@ -906,10 +906,7 @@ Hjertestarter Brandhane Nødtelefon - Indgang - - Hovedindgang Medicinsk laboratorium Fysioterapeut diff --git a/android/res/values-de/strings.xml b/android/res/values-de/strings.xml index 0979e2ec42..775863de6e 100644 --- a/android/res/values-de/strings.xml +++ b/android/res/values-de/strings.xml @@ -1000,10 +1000,7 @@ Defibrillator Hydrant Notruftelefon - Eingang - - Haupteingang Medizinisches Labor Physiotherapeut diff --git a/android/res/values-el/strings.xml b/android/res/values-el/strings.xml index 8c92e0fbee..e7b045e0ed 100644 --- a/android/res/values-el/strings.xml +++ b/android/res/values-el/strings.xml @@ -911,10 +911,7 @@ Πρώτες βοήθειες Πυροσβεστικός κρουνός Τηλέφωνο έκτακτης ανάγκης - Είσοδος - - Κύρια είσοδος Ιατρικό Εργαστήριο Φυσικοθεραπευτής diff --git a/android/res/values-es/strings.xml b/android/res/values-es/strings.xml index b6f43764a3..d21cd7a468 100644 --- a/android/res/values-es/strings.xml +++ b/android/res/values-es/strings.xml @@ -1024,10 +1024,7 @@ Desfibrilador Boca de incendio Teléfono de emergencias - Entrada - - Entrada principal Laboratorio médico Fisioterapeuta diff --git a/android/res/values-et/strings.xml b/android/res/values-et/strings.xml index 4b0b343e07..7cffef595e 100644 --- a/android/res/values-et/strings.xml +++ b/android/res/values-et/strings.xml @@ -1021,10 +1021,7 @@ Defibrillaator Tuletõrjehüdrant Hädaabi telefon - Sissepääs - - Peasissekäik Meditsiinilabor Füsioterapeut diff --git a/android/res/values-eu/strings.xml b/android/res/values-eu/strings.xml index 50b9fc6065..eab6a3e00a 100644 --- a/android/res/values-eu/strings.xml +++ b/android/res/values-eu/strings.xml @@ -972,10 +972,7 @@ Desfibriladorea Suteen hidrantea Larrialdi zenbakia - Sarrera - - Sarrera Nagusia Medikuntza laborategia Fisioterapeuta diff --git a/android/res/values-fa/strings.xml b/android/res/values-fa/strings.xml index 83d5a1426d..cdf280176f 100644 --- a/android/res/values-fa/strings.xml +++ b/android/res/values-fa/strings.xml @@ -827,10 +827,7 @@ دستگاه شوک شیر آتش‌نشانی تلفن اضطراری - ورودی - - ﯽﻠﺻﺍ ﯼﺩﻭﺭﻭ ﯽﮑﺷﺰﭘ ﻩﺎﮕﺸﯾﺎﻣﺯﺁ فیزیوتراپیست diff --git a/android/res/values-fi/strings.xml b/android/res/values-fi/strings.xml index e3991e8b6b..69faeb6b9d 100644 --- a/android/res/values-fi/strings.xml +++ b/android/res/values-fi/strings.xml @@ -966,10 +966,7 @@ Defibrillaattori Paloposti Hätäpuhelin - Sisäänkäynti - - Pääsisäänkäynti Lääketieteellinen laboratorio Fysioterapeutti diff --git a/android/res/values-fr/strings.xml b/android/res/values-fr/strings.xml index 971781374c..54d591a156 100644 --- a/android/res/values-fr/strings.xml +++ b/android/res/values-fr/strings.xml @@ -1006,10 +1006,7 @@ Défibrillateur Bouche d’incendie Téléphone d\'urgence - Entrée - - Entrée principale Laboratoire médical Physiothérapeute diff --git a/android/res/values-hu/strings.xml b/android/res/values-hu/strings.xml index 92fcc95837..3f2d6515bf 100644 --- a/android/res/values-hu/strings.xml +++ b/android/res/values-hu/strings.xml @@ -915,10 +915,7 @@ Defibrillátor Tűzcsap Sürgősségi telefon - Bejárat - - Főbejárat Orvosi laboratórium Fizioterapeuta diff --git a/android/res/values-in/strings.xml b/android/res/values-in/strings.xml index 3a2dbed4b3..201914513c 100644 --- a/android/res/values-in/strings.xml +++ b/android/res/values-in/strings.xml @@ -906,10 +906,7 @@ Defibrilator Keran Kebakaran Telepon darurat - Pintu masuk - - Pintu masuk utama Laboratorium medis Fisioterapis diff --git a/android/res/values-it/strings.xml b/android/res/values-it/strings.xml index 9b28322220..1f76a819dd 100644 --- a/android/res/values-it/strings.xml +++ b/android/res/values-it/strings.xml @@ -990,10 +990,7 @@ Defibrillatore Idrante Telefono di emergenza - Ingresso - - Entrata principale Laboratorio Medico Fisioterapista diff --git a/android/res/values-iw/strings.xml b/android/res/values-iw/strings.xml index 138c9c1c1b..3374a6a61b 100644 --- a/android/res/values-iw/strings.xml +++ b/android/res/values-iw/strings.xml @@ -358,8 +358,6 @@ מטבח טבעוני מטבח צמחוני מטבח וייטנאמי - - תישארה הסינכ תיאופר הדבעמ פיזיותרפיסט diff --git a/android/res/values-ja/strings.xml b/android/res/values-ja/strings.xml index f857e222c0..68fa51c15c 100644 --- a/android/res/values-ja/strings.xml +++ b/android/res/values-ja/strings.xml @@ -941,10 +941,7 @@ 除細動器 消火栓 緊急電話 - エントランス - - 正面玄関 医療研究所 理学療法士 diff --git a/android/res/values-ko/strings.xml b/android/res/values-ko/strings.xml index d8663a6ab6..ce22d386ea 100644 --- a/android/res/values-ko/strings.xml +++ b/android/res/values-ko/strings.xml @@ -911,10 +911,7 @@ 제세동기 소화전 긴급 전화 - 입구 - - 정문 의료 연구실 물리치료사 diff --git a/android/res/values-mr/strings.xml b/android/res/values-mr/strings.xml index c2681efa76..3f2c162d18 100644 --- a/android/res/values-mr/strings.xml +++ b/android/res/values-mr/strings.xml @@ -904,10 +904,7 @@ कंपनरोधक अग्निशामक नळ संकटकालीन फोन - प्रवेशद्वार - - मुख्य प्रवेशद्वार वैद्यकीय प्रयोगशाळा फिजिओथेरपिस्ट diff --git a/android/res/values-nb/strings.xml b/android/res/values-nb/strings.xml index 38b05672ea..884c8d67a6 100644 --- a/android/res/values-nb/strings.xml +++ b/android/res/values-nb/strings.xml @@ -916,10 +916,7 @@ Hjertestarter Brannhydrant Nødtelefon - Inngang - - Hovedinngang Medisinsk laboratorium Fysioterapeut diff --git a/android/res/values-nl/strings.xml b/android/res/values-nl/strings.xml index 287a5376ca..59764b0103 100644 --- a/android/res/values-nl/strings.xml +++ b/android/res/values-nl/strings.xml @@ -1013,10 +1013,7 @@ Defibrillator (AED) Brandkraan Praatpaal - Ingang - - Hoofdingang Medisch laboratorium Fysiotherapeut diff --git a/android/res/values-pl/strings.xml b/android/res/values-pl/strings.xml index 41b234865e..159c0eb5c3 100644 --- a/android/res/values-pl/strings.xml +++ b/android/res/values-pl/strings.xml @@ -1002,10 +1002,7 @@ Defibrylator Hydrant Telefon alarmowy - Wejście - - Główne wejście Laboratorium Medyczne Fizjoterapeuta diff --git a/android/res/values-pt-rBR/strings.xml b/android/res/values-pt-rBR/strings.xml index 87de550e40..eca7549fb4 100644 --- a/android/res/values-pt-rBR/strings.xml +++ b/android/res/values-pt-rBR/strings.xml @@ -975,10 +975,7 @@ Desfibrilador Hidrante Telefone de emergência - Entrada - - Entrada principal Laboratório médico Fisioterapeuta diff --git a/android/res/values-pt/strings.xml b/android/res/values-pt/strings.xml index ff1621f4b8..e62066bb97 100644 --- a/android/res/values-pt/strings.xml +++ b/android/res/values-pt/strings.xml @@ -972,10 +972,7 @@ Desfibrilador Boca de incêndio Telefone de emergência - Entrada - - Entrada principal Laboratório médico Fisioterapeuta diff --git a/android/res/values-ro/strings.xml b/android/res/values-ro/strings.xml index 01114c9a9a..ceb0b00b82 100644 --- a/android/res/values-ro/strings.xml +++ b/android/res/values-ro/strings.xml @@ -931,10 +931,7 @@ Defibrilator Hidrant Telefon de urgență - Intrare - - Intrarea principala Laborator medical Fizioterapeut diff --git a/android/res/values-ru/strings.xml b/android/res/values-ru/strings.xml index 9b0b0a5561..bf36c30463 100644 --- a/android/res/values-ru/strings.xml +++ b/android/res/values-ru/strings.xml @@ -1035,10 +1035,7 @@ Дефибриллятор Пожарный гидрант Телефон для экстренных вызовов - Вход - - Главный вход Медицинская лаборатория Физиотерапевт diff --git a/android/res/values-sk/strings.xml b/android/res/values-sk/strings.xml index 1ba907205c..900e13c353 100644 --- a/android/res/values-sk/strings.xml +++ b/android/res/values-sk/strings.xml @@ -909,10 +909,7 @@ Defibrilátor Požiarny hydrant Tiesňového volania - Vstup - - Hlavný vchod Lekárske laboratórium Fyzioterapeut diff --git a/android/res/values-sv/strings.xml b/android/res/values-sv/strings.xml index 4ce5e441ac..0fe1e46546 100644 --- a/android/res/values-sv/strings.xml +++ b/android/res/values-sv/strings.xml @@ -905,10 +905,7 @@ Vietnamesisk mat Brandpost Nödtelefon - Entré - - Huvudentré Medicinskt laboratorium Fysioterapeut diff --git a/android/res/values-sw/strings.xml b/android/res/values-sw/strings.xml index 9c647be320..52d5c471a5 100644 --- a/android/res/values-sw/strings.xml +++ b/android/res/values-sw/strings.xml @@ -280,8 +280,6 @@ Mvinyo Mshonaji nguo Kahawa - - Mlango Mkuu Maabara ya Matibabu Mtaalamu wa Physiotherapist diff --git a/android/res/values-th/strings.xml b/android/res/values-th/strings.xml index b5bbcb3b73..e5faa3fa09 100644 --- a/android/res/values-th/strings.xml +++ b/android/res/values-th/strings.xml @@ -914,10 +914,7 @@ เครื่องกระตุ้นหัวใจ หัวจ่ายน้ำดับเพลิง โทรศัพท์ฉุกเฉิน - ทางเข้า - - ทางเข้าหลัก ห้องปฏิบัติการทางการแพทย์ นักกายภาพบำบัด diff --git a/android/res/values-tr/strings.xml b/android/res/values-tr/strings.xml index 755c93182d..a6dc4c16e6 100644 --- a/android/res/values-tr/strings.xml +++ b/android/res/values-tr/strings.xml @@ -1020,10 +1020,7 @@ Defibrilatör Yangın Söndürme Musluğu Acil Telefon - Giriş - - Ana giriş Tıbbi Laboratuvar Fizyoterapist diff --git a/android/res/values-uk/strings.xml b/android/res/values-uk/strings.xml index 9c95d8ee74..5dfd01fee2 100644 --- a/android/res/values-uk/strings.xml +++ b/android/res/values-uk/strings.xml @@ -1001,10 +1001,7 @@ Дефібрилятор Пожежний гідрант Аварійний телефон - Вхід - - Головний вхід Медична лабораторія Фізіотерапевт diff --git a/android/res/values-vi/strings.xml b/android/res/values-vi/strings.xml index 85550eeda1..100ff4bf7a 100644 --- a/android/res/values-vi/strings.xml +++ b/android/res/values-vi/strings.xml @@ -911,10 +911,7 @@ Máy khử rung tim Vòi chữa cháy Điện thoại khẩn cấp - Lối vào - - Lối vào chính Phòng thí nghiệm y tế Nhà vật lý trị liệu diff --git a/android/res/values-zh-rTW/strings.xml b/android/res/values-zh-rTW/strings.xml index 8a20d74db3..21adb6b72e 100644 --- a/android/res/values-zh-rTW/strings.xml +++ b/android/res/values-zh-rTW/strings.xml @@ -946,10 +946,7 @@ 心臟電擊器 消防栓 緊急電話 - 入口 - - 主要入口 醫學實驗室 物理治療師 diff --git a/android/res/values-zh/strings.xml b/android/res/values-zh/strings.xml index 2dc9c0f407..bcaab208b3 100644 --- a/android/res/values-zh/strings.xml +++ b/android/res/values-zh/strings.xml @@ -964,10 +964,7 @@ 除颤器 消防栓 紧急电话 - 入口 - - 主要入口 医学实验室 物理治疗师 diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index 1f20b239a3..dc432faca9 100644 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -1055,10 +1055,7 @@ Defibrillator Fire Hydrant Emergency Phone - Entrance - - Main Entrance Medical Laboratory Physiotherapist diff --git a/android/src/app/organicmaps/DownloadResourcesLegacyActivity.java b/android/src/app/organicmaps/DownloadResourcesLegacyActivity.java index e42fd4300c..10862da81d 100644 --- a/android/src/app/organicmaps/DownloadResourcesLegacyActivity.java +++ b/android/src/app/organicmaps/DownloadResourcesLegacyActivity.java @@ -347,7 +347,7 @@ public class DownloadResourcesLegacyActivity extends BaseMwmFragmentActivity final Intent intent = new Intent(this, MwmActivity.class); // Disable animation because MwmActivity should appear exactly over this one - intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); + intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION | Intent.FLAG_ACTIVITY_CLEAR_TOP); // Add saved task to forward to map activity. if (mMapTaskToForward != null) diff --git a/android/src/app/organicmaps/util/UiUtils.java b/android/src/app/organicmaps/util/UiUtils.java index 3aeb3fec65..f3a923e8a5 100644 --- a/android/src/app/organicmaps/util/UiUtils.java +++ b/android/src/app/organicmaps/util/UiUtils.java @@ -332,7 +332,8 @@ public final class UiUtils public static void setInputError(@NonNull TextInputLayout layout, @StringRes int error) { - layout.setError(error == 0 ? null : layout.getContext().getString(error)); + + layout.getEditText().setError(error == 0 ? null : layout.getContext().getString(error)); layout.getEditText().setTextColor(error == 0 ? ThemeUtils.getColor(layout.getContext(), android.R.attr.textColorPrimary) : layout.getContext().getResources().getColor(R.color.base_red)); } diff --git a/android/src/fdroid/play/listings/bn-BD/title-google.txt b/android/src/fdroid/play/listings/bn-BD/title-google.txt index 5727d00586..0dd15d8846 100644 --- a/android/src/fdroid/play/listings/bn-BD/title-google.txt +++ b/android/src/fdroid/play/listings/bn-BD/title-google.txt @@ -1 +1 @@ -Organic Maps অরগানিক ম্যাপ +Organic Maps অরগানিক ম্যাপ diff --git a/android/src/fdroid/play/listings/bn-BD/title.txt b/android/src/fdroid/play/listings/bn-BD/title.txt index 13b92f4653..99d7b3b4db 100644 --- a/android/src/fdroid/play/listings/bn-BD/title.txt +++ b/android/src/fdroid/play/listings/bn-BD/title.txt @@ -1 +1 @@ -অরগানিক ম্যাপ অফলাইন হাইক, বাইক, পথ ও নির্দেশনা +অরগানিক ম্যাপ অফলাইন হাইক, বাইক পথ ও নির্দেশনা diff --git a/android/src/fdroid/play/listings/de-DE/full-description.txt b/android/src/fdroid/play/listings/de-DE/full-description.txt index 23e2acc589..641d29d6dc 100644 --- a/android/src/fdroid/play/listings/de-DE/full-description.txt +++ b/android/src/fdroid/play/listings/de-DE/full-description.txt @@ -1,53 +1,53 @@ -‣ Unsere kostenlose App trackt niemanden, enthält keine Werbung und braucht deine Unterstützung. -‣ Sie wird ständig von Mitwirkenden und unserem kleinen Team verbessert, in unserer Freizeit. -‣ Wenn etwas auf der Karte falsch ist oder fehlt, dann korrigiere es bitte in OpenStreetMap und sieh deine Änderungen in der zukünftigen Kartenaktualisierung. -‣ Sollte die Navigation oder die Suche nicht funktionieren, sende uns bitte eine E-Mail. Wir antworten auf JEDE E-Mail und werden das Problem so schnell wie möglich beheben! +‣ Unsere kostenlose App trackt niemanden, enthält keine Werbung und wird durch Ihre Spenden finanziert. +‣ Laufende Weiterentwicklung durch unser kleines Team in unserer Freizeit mit unserem eigenen Geld und Spenden/Beiträgen unserer Nutzer. +‣ Bei inkorrekten oder unvollstädigen Kartendaten können Sie diese in OpenStreetMap verbessern, und ihre Änderungen in zukünftigen Updates übernommen sehen. +‣ Sollte die Navigation oder die Suche nicht funktionieren, senden Sie uns bitte eine E-Mail. Wir antworten auf JEDE E-Mail und werden das Problem so schnell wie möglich beheben! -Dein Feedback und deine 5-Sterne-Bewertungen sind die beste Motivation für uns! +Ihr Feedback und Ihre 5-Sterne-Bewertungen sind die beste Motivation für uns! -Wichtigste Funktionen: +Wichtigsten Eigenschaften: +• Detaillierte Offline-Karten mit Orten von OpenStreetMap.org, die auf vielen anderen Karten nicht zu finden sind +• Radwege, Wanderwege und Spazierwege +• Höhenlinien, Höhenprofile, Gipfel und Steigungen +• Navigation mit Abbiegehinweisen für Fußgänger, Radfahrer und Autos mit Sprachführung +• Schnelle Offlinesuche auf der Karte und in den Lesezeichen +• Import und Export von Lesezeichen in den Formaten KML/KMZ (GPX ist geplant) +• Dunkles Design zum besseren Schutz Ihrer Augen +• Geringer Speicheranspruch durch effiziente Kartendaten +• Kostenlos und Open-Source -• Kostenlos, Open-Source, keine Werbung, kein Tracking -• Detaillierte Offline-Karten mit Orten, die es auf anderen Karten nicht gibt, dank an die OpenStreetMap Community -• Rad-, Wander- und Spazierwege -• Höhenlinien, Höhenprofile, Bergspitzen und Steigungen -• Schritt-für-Schritt-Navigation für Fußgänger, Radfahrer und Autos mit Sprachführung -• Schnelle Offlinesuche -• Export und Import von Lesezeichen im KML/KMZ-Format (GPX ist geplant) -• Dunkler Modus zum Schutz deiner Augen +Android Auto, ebenso wie öffentlichen Verkehrsmittel und Satellitenbildkarten werden noch nicht unterstützt. Aber mit Ihrer Hilfe und Unterstützung können wir diese Welt und unsere Karten Schritt für Schritt besser machen. -Android Auto, ebenso wie öffentlichen Verkehrsmittel und Satellitenbildkarten werden noch nicht unterstützt. Aber mit deiner Hilfe und Unterstützung können wir diese Welt und unsere Karten Schritt für Schritt besser machen. - -Organic Maps ist rein, organisch und mit Liebe gemacht: +Organic Maps ist sauber, organisch und mit Liebe gemacht: • Rasend schnelle Offline-Erfahrung -• Respektiert deine Privatsphäre -• Schont deinen Akku -• Keine unerwarteten Gebühren für mobile Daten -• Einfach zu bedienen, nur die wichtigsten Funktionen integriert +• Respektiert Ihre Privatsphäre +• Schont Ihren Akku +• Keine unerwarteten Kosten für mobile Daten +• Einfach zu bedienen, mit nur den wichtigsten Funktionen enthalten -Frei von Trackern und schlechten Dingen: +Frei von Trackern und sonstigem schädlichen Inhalt: • Keine Werbung • Kein Tracking -• Keine Datenerfassung -• Kein Telefonieren nach Hause +• Keine Datensammlung +• Keine automatische Datenübertragung • Keine lästige Registrierung • Keine obligatorischen Tutorials • Kein lästiger E-Mail-Spam • Keine Push-Benachrichtigungen • Keine Crapware -• -K̶e̶i̶n̶e̶ ̶P̶e̶s̶t̶i̶z̶i̶d̶e̶ Rein organisch +• -K̶e̶i̶n̶e̶ ̶P̶e̶s̶t̶i̶z̶i̶d̶e̶ Rein Bio (organic) Wir bei Organic Maps glauben, dass Privatsphäre ein grundlegendes Menschenrecht ist: -• Organic Maps ist ein von einer unabhängigen Gemeinschaft betriebenes Open-Source-Projekt -• Wir schützen deine Privatsphäre vor den neugierigen Augen der großen Technologiekonzerne -• Bleib sicher, egal wo du bist +• Organic Maps ist ein Open-Source-Projekt, das von einer unabhängigen Gemeinschaft betrieben wird +• Wir schützen Ihre Privatsphäre vor den neugierigen Augen von Großunternehmen +• Bleiben Sie sicher, egal wo Sie sind Keine Tracker und nur minimal erforderliche Berechtigungen sind laut dem Exodus-Datenschutzbericht vorhanden. -Bitte besuche organicmaps.app Webseite für weitere Details und ein FAQ. Oder kontaktiere uns direkt unter @OrganicMapsApp in Telegram. +Bitte besuchen Sie organicmaps.app Website für weitere Details und ein FAQ. Oder kontaktieren Sie uns direkt unter @OrganicMapsApp in Telegram. -Lehne Überwachung ab - lebe deine Freiheit. -Teste Organic Maps! +Überwachung ablehnen - Freiheit wählen. +Testen Sie Organic Maps! diff --git a/android/src/fdroid/play/listings/de-DE/release-notes.txt b/android/src/fdroid/play/listings/de-DE/release-notes.txt index 7841d3031a..c2d75c712b 100644 --- a/android/src/fdroid/play/listings/de-DE/release-notes.txt +++ b/android/src/fdroid/play/listings/de-DE/release-notes.txt @@ -1,10 +1,10 @@ -- Neue OpenStreetMap-Daten vom 21. Januar -- Import einiger KML-Tracks behoben -- Verbesserte Suche und Routing -- Richtiges Handling von Höhenunterschieden beim Wandern und Radfahren -- Symbole für die U-Bahn von Buenos Aires wurden korrigiert -- Bowlingbahn zugefügt -- Kroatien wurde zum Schengen-Raum hinzugefügt -- Maximale Anzahl der bearbeitbaren Stockwerke wurde von 25 auf 50 erhöht -- Baskisch, Weißrussisch, Kroatisch, Norwegisch, Marathi, Swahili in TTS aktiviert -...mehr: omaps.app/news +• New OpenStreetMap data as of January 21 +• Fixed import of some KML tracks +• Improved search and routing +• Properly handle elevation for hiking and cycling +• Fixed Buenos Aires metro icons +• Added Bowling Alley +• Added Croatia to Schengen area +• Increased max editable building floors from 25 to 50 +• Enabled Basque, Belarussian, Croatian, Norwegian, Marathi, Swahili in TTS +…more: omaps.app/news diff --git a/android/src/fdroid/play/listings/de-DE/short-description.txt b/android/src/fdroid/play/listings/de-DE/short-description.txt index 1b2f8d75e5..38d5268007 100644 --- a/android/src/fdroid/play/listings/de-DE/short-description.txt +++ b/android/src/fdroid/play/listings/de-DE/short-description.txt @@ -1 +1 @@ -Open-Source, gemeinschaftlich erstellte Karten zum Reisen, Radfahren & Wandern +Open-Source, gemeinschaftlich erstellte Karten für Alltag, Radeln und Wandern diff --git a/android/src/fdroid/play/listings/de-DE/title.txt b/android/src/fdroid/play/listings/de-DE/title.txt index 87386edbdd..7808924968 100644 --- a/android/src/fdroid/play/listings/de-DE/title.txt +++ b/android/src/fdroid/play/listings/de-DE/title.txt @@ -1 +1 @@ -Organic Maps Offline Wandern, Radfahren, GPS-Navi +Organic Maps Offline Wandern, Radeln & Navigation diff --git a/android/src/fdroid/play/listings/es-ES/full-description.txt b/android/src/fdroid/play/listings/es-ES/full-description.txt index ef5895eaeb..9112fcaca9 100644 --- a/android/src/fdroid/play/listings/es-ES/full-description.txt +++ b/android/src/fdroid/play/listings/es-ES/full-description.txt @@ -1,53 +1,52 @@ -‣ Nuestra aplicación gratuita no rastrea a nadie, no contiene anuncios y necesita su apoyo. -‣ Los colaboradores y nuestro pequeño equipo lo mejoran constantemente en nuestro tiempo libre. -‣ Si algo está mal o falta en el mapa, corríjalo en OpenStreetMap y vea los cambios en la futura actualización del mapa. -‣ Si la navegación o la búsqueda no funcionan, envíenos un correo electrónico. Respondemos a CADA correo electrónico y lo solucionaremos lo antes posible. +‣ Nuestra aplicación gratuita no te rastrea, no tiene anuncios y necesita tu apoyo. +‣ Los colaboradores y nuestro pequeño equipo lo mejoran constantemente en su tiempo libre. +‣ Si algo está mal o falta puede corrígelo en OpenStreetMap y ver los cambios en las nuevas actualización. +‣ Si algo no funciona bien, envíenos un correo electrónico. ¡Respondemos a TODOS los correos electrónicos y lo arreglaremos lo antes posible! -¡Tus comentarios y calificaciones de 5 estrellas son la mejor motivación para nosotros! - -Funciones principales: +¡Tus comentarios y reseñas con 5 estrellas son los mejores alicientes para nosotros! +Características clave: • Gratis, de código abierto, sin anuncios, sin seguimiento -• Mapas sin conexión detallados con ubicaciones que no se encuentran en otros mapas, gracias a la comunidad OpenStreetMap -• Senderos para bicicletas y caminatas -• Curvas de nivel, perfiles de altura, picos de montañas y pendientes -• Navegación paso a paso para peatones, ciclistas y automóviles con guía por voz +• Mapas sin conexión detallados con lugares que no existen en los mapas de Google, gracias a la comunidad OpenStreetMap +• Rutas ciclistas, rutas de senderismo y senderos para caminar +• Curvas de nivel, perfiles de elevación, picos y pendientes +• Paso a paso a pie, en bicicleta y navegación EXPERIMENTAL para automóvil con guía de voz • Búsqueda rápida sin conexión -• Exportación e importación de marcadores en formato KML/KMZ (GPX está planificado) +• Exportación e importación de los marcadores en formatos KML/KMZ (GPX llegará pronto) • Modo oscuro para proteger tus ojos -Android Auto, transporte público y mapas satelitales no son todavía compatibles. Pero con tu ayuda y apoyo podemos mejorar este mundo y nuestros mapas, paso a paso. +todavía No es compatible con Android Auto, el transporte público y otras funciones interesantes. Pero con su apoyo y ayuda, podemos mejorar paso a paso. -Organic Maps es puro, orgánico y hecho con amor: +Organic Maps es puro y humano, hecho con amor: -• Experiencia fuera de línea ultrarrápida -• Respeta su privacidad -• Ahorra batería -• Sin cargos de datos móviles inesperados -• Fácil de usar, solo se integran las funciones más importantes +• No necesita internet +• Respeta tú privacidad +• Ahorra batería de tú movil +• No consume datos extras +• Fácil de usar, con solo las funciones más importantes -Libre de rastreadores y cosas malas: +Libre de rastreadores y otras cosas raras: • Sin anuncios -• Sin seguimiento +• No te rastrea • Sin recopilación de datos • Sin telemetría -• Sin registros molestos +• Sin registros • Sin tutoriales obligatorios -• Sin spam al correo electrónico molesto +• No hay spam • Sin notificaciones automáticas -• Sin basura -• Simplemente natural en su forma y uso +• No contiene cosas innecesarias +• Puramente orgánico -En Organic Maps, creemos que la privacidad es un derecho humano básico: +En Organic Maps, creemos que la privacidad es un derecho humano fundamental: -• Organic Maps es un proyecto de código abierto mantenido por una comunidad independiente -• Protegemos su privacidad de las miradas indiscretas de los grandes gigantes tecnológicos +• Organic Maps es un proyecto de código abierto impulsado por una comunidad independiente +• Protegemos la privacidad del rastreo en la tecnología • Manténgase seguro sin importar dónde se encuentre -No hay rastreadores y solo se requieren permisos mínimos, según el informe de privacidad de Exodus. +Según el Informe de privacidad de Exodus, no se encuentran rastreadores y solo se requieren permisos mínimos. -Visite el sitio web de organicmaps.app para obtener más detalles y preguntas frecuentes. O contáctenos directamente en @OrganicMapsApp en Telegram. +Visite nuestra página web organicmaps.app para obtener más detalles adicionales y preguntas frecuentes o contáctenos directamente con nosotros en nuestro Telegram @OrganicMapsApp . -Rechaza la vigilancia: vive tu libertad. -¡Prueba Organic Maps! +Rechaza la vigilancia: abraza tu libertad. +¡Prueba los mapas orgánicos! diff --git a/android/src/fdroid/play/listings/es-ES/release-notes.txt b/android/src/fdroid/play/listings/es-ES/release-notes.txt index 9361a72d0e..c895bac950 100644 --- a/android/src/fdroid/play/listings/es-ES/release-notes.txt +++ b/android/src/fdroid/play/listings/es-ES/release-notes.txt @@ -1,10 +1,11 @@ -- Nuevos datos de OpenStreetMap del 21 de enero -- Importación fija de algunas pistas KML -- Búsqueda y enrutamiento mejorados -- Manejo correcto de las diferencias de altura al caminar y andar en bicicleta. -- Iconos fijos para el metro de Buenos Aires -- Bolera añadida -- Croacia fue añadida al espacio Schengen -- El máximo de pisos editables aumentó de 25 a 50 -- Vasco, bielorruso, croata, noruego, marathi, swahili habilitados en TTS -...más: omaps.app/noticias +• Nuevos datos de OpenStreetMap a partir del 21 de enero +• Corregida la importación de algunos tracks KML +• Corregidos los fallos al inicio con WebView +• Mejoras en la aplicación +• Mejoras para senderismo y ciclismo +• Corregidos los iconos del metro de Buenos Aires y Bilbao +• Añadida la bolera +• Agregada Croacia al espacio Schengen +• Aumento del número máximo de plantas editables de 25 a 50. +• Habilitado el euskera, bielorruso, croata, noruego, marathi y swahili en TTS. +...más: omaps.app/news diff --git a/android/src/fdroid/play/listings/es-ES/short-description.txt b/android/src/fdroid/play/listings/es-ES/short-description.txt index 42b304448c..5254e4eb7b 100644 --- a/android/src/fdroid/play/listings/es-ES/short-description.txt +++ b/android/src/fdroid/play/listings/es-ES/short-description.txt @@ -1 +1 @@ -Mapas abiertos comunitarios para turistas, ciclistas y senderistas +Mapas de código abierto creados por la comunidad para la vida cotidiana diff --git a/android/src/fdroid/play/listings/es-ES/title-google.txt b/android/src/fdroid/play/listings/es-ES/title-google.txt index 45f6f75de5..b07255efd1 100644 --- a/android/src/fdroid/play/listings/es-ES/title-google.txt +++ b/android/src/fdroid/play/listings/es-ES/title-google.txt @@ -1 +1 @@ -Organic Maps bici y senderismo +OrganicMaps Mapas sin conexión diff --git a/android/src/fdroid/play/listings/es-ES/title.txt b/android/src/fdroid/play/listings/es-ES/title.txt index bc0b9677e8..c3c0894ed8 100644 --- a/android/src/fdroid/play/listings/es-ES/title.txt +++ b/android/src/fdroid/play/listings/es-ES/title.txt @@ -1 +1 @@ -Organic Maps: GPS sin conexión, bici y senderismo +OrganicMaps: GPS sin conexión diff --git a/android/src/fdroid/play/listings/id/full-description.txt b/android/src/fdroid/play/listings/id/full-description.txt index eac61364db..6a8c456133 100644 --- a/android/src/fdroid/play/listings/id/full-description.txt +++ b/android/src/fdroid/play/listings/id/full-description.txt @@ -6,7 +6,6 @@ Umpan balik dan ulasan bintang lima Anda adalah motivasi terbaik bagi kami! Fitur utama: - • Bebas, sumber terbuka, tanpa iklan, tanpa pelacakan • Peta luring terperinci dengan tempat-tempat yang tidak ada di peta Google, berkat komunitas OpenStreetMap • Rute bersepeda, jalur pendakian, dan jalur jalan kaki diff --git a/android/src/fdroid/play/listings/id/release-notes.txt b/android/src/fdroid/play/listings/id/release-notes.txt index 8e01293122..c2d75c712b 100644 --- a/android/src/fdroid/play/listings/id/release-notes.txt +++ b/android/src/fdroid/play/listings/id/release-notes.txt @@ -1,10 +1,10 @@ -- Data OpenStreetMap yang baru per tanggal 21 Januari -- Memperbaiki impor beberapa trek KML -- Pencarian dan perutean yang lebih baik -- Menangani ketinggian dengan benar untuk hiking dan bersepeda -- Memperbaiki ikon metro Buenos Aires -- Menambahkan Arena Bowling -- Menambahkan Kroasia ke area Schengen -- Meningkatkan jumlah lantai bangunan yang dapat diedit dari 25 menjadi 50 -- Mengaktifkan bahasa Basque, Belarusia, Kroasia, Norwegia, Marathi, Swahili di TTS -...selengkapnya: omaps.app/news +• New OpenStreetMap data as of January 21 +• Fixed import of some KML tracks +• Improved search and routing +• Properly handle elevation for hiking and cycling +• Fixed Buenos Aires metro icons +• Added Bowling Alley +• Added Croatia to Schengen area +• Increased max editable building floors from 25 to 50 +• Enabled Basque, Belarussian, Croatian, Norwegian, Marathi, Swahili in TTS +…more: omaps.app/news diff --git a/android/src/fdroid/play/listings/id/title-google.txt b/android/src/fdroid/play/listings/id/title-google.txt index ab0bdb36be..3bc70864a8 100644 --- a/android/src/fdroid/play/listings/id/title-google.txt +++ b/android/src/fdroid/play/listings/id/title-google.txt @@ -1 +1 @@ -Organic Maps Navigasi Luring +Organic Maps Luring Navigasi diff --git a/android/src/fdroid/play/listings/pl-PL/full-description.txt b/android/src/fdroid/play/listings/pl-PL/full-description.txt index b269744260..f226392403 100644 --- a/android/src/fdroid/play/listings/pl-PL/full-description.txt +++ b/android/src/fdroid/play/listings/pl-PL/full-description.txt @@ -6,12 +6,11 @@ Wasze opinie i 5-gwiazdkowe recenzje to dla nas najlepsza motywacja! . Główne cechy: - -• Za darmo, otwarte źródło, brak reklam, brak śledzenia +• Darmowość, otwarte źródło, brak reklam, brak śledzenia • Szczegółowe mapy offline z miejscami, które nie istnieją na mapach Google, dzięki społeczności OpenStreetMap • Trasy rowerowe, szlaki turystyczne, ścieżki spacerowe • Linie konturowe, profile wysokościowe, szczyty i zbocza -• Nawigacja piesza, rowerowa i samochodowa typu "skręt za skrętem" ze wskazówkami głosowymi +• Nawigacja piesza, rowerowa i samochodowa typu "turn-by-turn" ze wskazówkami głosowymi • Szybkie wyszukiwanie w trybie offline • Eksport i import zakładek w formatach KML/KMZ (GPX już wkrótce) • Tryb ciemny, aby chronić Twoje oczy diff --git a/android/src/fdroid/play/listings/pl-PL/release-notes.txt b/android/src/fdroid/play/listings/pl-PL/release-notes.txt index 845c6faee2..448b76a5d6 100644 --- a/android/src/fdroid/play/listings/pl-PL/release-notes.txt +++ b/android/src/fdroid/play/listings/pl-PL/release-notes.txt @@ -1,10 +1,11 @@ • Nowe dane OpenStreetMap z dnia 21 stycznia • Poprawiono import niektórych ścieżek KML +• Usunięto błędy przy starcie, jeśli WebView był wyłączony • Poprawione wyszukiwanie i wyznaczanie tras -• Poprawiono obsługę wysokości dla wędrowców i rowerzystów -• Poprawiono ikony metra w Buenos Aires -• Dodano kręgielnie +• Poprawiono obsługę wysokości +• Poprawiono ikony metra w Buenos Aires i Bilbao +• Dodano Bowling Alley • Dodano Chorwację do strefy Schengen -• Zwiększono maksymalną liczbę edytowalnych pięter budynku z 25 do 50 -• Uruchomiono język baskijski, białoruski, chorwacki, norweski, marathi, suahili w TTS. +• Zwiększono maks. liczbę edytowalnych pięter budynku +• Włączono język baskijski, białoruski, chorwacki, norweski, marathi, suahili w TTS. ...więcej na: omaps.app/news diff --git a/android/src/fdroid/play/listings/pl-PL/title-google.txt b/android/src/fdroid/play/listings/pl-PL/title-google.txt index 1630be2666..1f26114d33 100644 --- a/android/src/fdroid/play/listings/pl-PL/title-google.txt +++ b/android/src/fdroid/play/listings/pl-PL/title-google.txt @@ -1 +1 @@ -Organic Maps: Wędrówki i rower +Organic Maps: GPS mapy offline diff --git a/android/src/fdroid/play/listings/pt-BR/full-description.txt b/android/src/fdroid/play/listings/pt-BR/full-description.txt index 6ee5ac581e..333e809bec 100644 --- a/android/src/fdroid/play/listings/pt-BR/full-description.txt +++ b/android/src/fdroid/play/listings/pt-BR/full-description.txt @@ -1,12 +1,11 @@ -‣ Nosso aplicativo gratuito não te rastreia, não tem anúncios, e precisa do seu apoio. -‣ Está sendo constantemente aperfeiçoado por nossa pequena equipe, no tempo livre. +‣ Nosso aplicativo gratuito não te rastreia e não tem anúncios, e é mantido por suas doações. +‣ Está sendo constantemente aperfeiçoado por nossa pequena equipe, no tempo livre, usando nosso próprio dinheiro e doações/contribuições de nossos usuários. ‣ Se algo estiver errado ou faltando no mapa, por favor, conserte diretamente no OpenStreetMap e veja suas mudanças na próxima atualização dos mapas. ‣ Se a navegação ou a busca não funcionar, por favor, envie-nos um e-mail. Respondemos a CADA email, e vamos consertar o mais rápido possível! -Sua opinião e as avaliações de 5 estrelas são as melhores maneiras de nos motivar! +Sua opinião e as avaliações de 5 estrelas são as melhores maneiras de motivar nossa equipe! Características principais: - • Gratuito, de software livre, sem anúncios, sem rastreamento • Mapas offline detalhados com lugares que não existem Google Maps, graças à comunidade OpenStreetMap • Rotas de ciclismo, trilhas para caminhadas e caminhos para pedestres diff --git a/android/src/fdroid/play/listings/pt-BR/release-notes.txt b/android/src/fdroid/play/listings/pt-BR/release-notes.txt index 3db21dc7fe..697975dab6 100644 --- a/android/src/fdroid/play/listings/pt-BR/release-notes.txt +++ b/android/src/fdroid/play/listings/pt-BR/release-notes.txt @@ -1,8 +1,9 @@ • Novos dados OSM de 21/01 • Correção da importação de algumas trilhas KML +• Correção na inicialização se o WebView do sistema estivesse desativado ou ausente • Melhoria na busca e roteamento • Melhoria no uso da elevação para caminhadas e ciclismo -• Correção dos ícones de metrô de Buenos Aires +• Correção dos ícones de metrô de Buenos Aires e Bilbau • Adição de pistas de boliche • Adição da Croácia ao espaço Schengen • Aumento do número máximo de andares editáveis de 25 para 50 diff --git a/android/src/fdroid/play/listings/pt-BR/title-google.txt b/android/src/fdroid/play/listings/pt-BR/title-google.txt index 39a38a0c9e..e76e4390ad 100644 --- a/android/src/fdroid/play/listings/pt-BR/title-google.txt +++ b/android/src/fdroid/play/listings/pt-BR/title-google.txt @@ -1 +1 @@ -Organic Maps - Mapas offline +Organic Maps, mapas offline diff --git a/android/src/fdroid/play/listings/uk/full-description.txt b/android/src/fdroid/play/listings/uk/full-description.txt index bd0214d5f6..40a8fbcb4b 100644 --- a/android/src/fdroid/play/listings/uk/full-description.txt +++ b/android/src/fdroid/play/listings/uk/full-description.txt @@ -1,53 +1,52 @@ -‣ Наш безоплатний застосунок не відстежує вас, не містить реклами та працює за рахунок ваших пожертв. -‣ Він постійно вдосконалюється учасниками та нашою невеликою командою у вільний час. -‣ Якщо щось не так або пропущено на мапі, будь ласка, виправте це в OpenStreetMap і перегляньте свої зміни в майбутньому оновленні карт. +‣ Наш безоплатний застосунок не відстежує вас, немає реклами та працює за рахунок ваших пожертв. +‣ Наша невелика команда, постійно вдосконалює її у вільний час , за рахунок наших власних грошей та пожертвувань/внесків наших користувачів. +‣ Якщо щось не так або пропущено на карті, будь ласка, виправте це в OpenStreetMap та перегляньте свій зміни в майбутньому оновленні карт. ‣ Якщо навігація чи пошук не працюють, напишіть нам. Ми відповідаємо на КОЖЕН електронний лист, і виправимо це якнайшвидше! -Ваш зворотний зв'язок та 5 зірок є найкращою мотивацією для нас! +Ваш зворотний зв'язок та 5 зірок є кращими мотиваторами для нас! Основні функції: - -• Безплатно, з відкритим вихідним кодом, без реклами та відстеження -• Детальні офлайн-карти з місцями, яких немає на Google Maps, завдяки спільноті OpenStreetMap -• Велосипедні маршрути, туристичні стежки та пішохідні доріжки -• Контурні лінії, профілі рельєфу, вершини та схили +• Безоплатно, відкритий ресурс, немає реклами, немає відстеження +• Детальні карти офлайн з місцями, які не існують на Google Maps, завдяки OpenStreetMap спільноті +• Велосипедні маршрути, пішохідні доріжки, пішохідні доріжки +• Контурні лінії, профілі висот, верши та схилів • Покрокова ходьба, їзда на велосипеді та ЕКСПЕРИМЕНТАЛЬНА автомобільна навігація з голосовими підказками -• Швидкий пошук в автономному режимі -• Експорт та імпорт закладок у форматах KML/KMZ (GPX незабаром) -• Темний режим для захисту ваших очей +• Швидкий пошук офлайн +• Експорт закладок та імпорт у форматах KML / KMZ (GPX незабаром) +• Темний режим для захисту очей -В Organic Maps поки немає Android Auto, громадського транспорту, супутникових карт та інших цікавих функцій. Але з вашою допомогою та підтримкою, ми можемо зробити цей світ кращим крок за кроком. +В Organic Maps немає Android Auto, громадського транспорту, супутникових карт, та інших цікавих функцій поки. Але з вашою допомогою та підтримкою, ми можемо зробити цей світ кращим крок за кроком. -Organic Maps - чисті та органічні, створені з любов’ю : +Organic Maps — чистий і органічний, створений з любов’ю : -• Надзвичайно швидкий офлайн режим +• Надзвичайно швидкий оффлайн режим • Поважає вашу конфіденційність -• Економить вашу батарею -• Жодних несподіваних платежів за мобільні дані -• Простий у використанні, лише найважливіші функції +• Економить батарею +• Жодних неочікуваних використань мобільних даних +• Простий у використанні, із включеними лише найважливішими функціями -Без відстеження та інших поганих речей: +Безоплатно від трекерів та інших поганих речей: -• Без реклами -• Без відстеження -• Без збору даних -• Без дзвінків додому -• Без дратівливої реєстрації -• Без обов'язкових навчальних посібників -• Без спаму на електронну пошту -• Без push-повідомлень -• Без сміття -• Без пестицидів! Чиста органіка! +• Відсутність реклами +• Відсутність відстеження +• Відсутність збору даних +• Відсутність дзвінків додому +• Відсутність дратівливої реєстрації +• Відсутність обов'язкових навчальних посібників +• Відсутність спаму в електронній пошті +• Відсутність push повідомлень +• Відсутність сміття +• Чисто органічний -В Organic Maps ми віримо, що приватність є фундаментальним правом людини: +В Organic Maps, ми віримо, що приватність є фундаментальним правом людини: -• Organic Maps - це незалежний проєкт із відкритим вихідним кодом, керований спільнотою -• Ми захищаємо вашу конфіденційність від сторонніх очей великих компаній +• Organic Maps — це незалежний проєкт із відкритим вихідним кодом, керований спільнотою +• Ми захищаємо конфіденційність від цікавих очей Великих Компаній • Будьте в безпеці, де б ви не були -Відповідно до звіту про конфіденційність Exodus не знайдено жодних відстежень і лише мінімально необхідні дозволи. +Нуль трекерів, і відповідно до звіту про конфіденційність Exodus знайдено лише мінімально необхідні дозволи. -Будь ласка, відвідайте наш вебсайт organicmaps.app, щоб отримати додаткові відомості та поширені запитання, а також ви можете зв’язатися з нами безпосередньо за адресою @OrganicMapsApp у Telegram. +Будь ласка, відвідайте вебсайт organicmaps.app, щоб отримати додаткові відомості та поширені запитання та зв’яжіться з нами безпосередньо за адресою @OrganicMapsApp у Telegram. -Відмовтеся від стеження – отримайте свою свободу. +Відмовтеся від стеження – отримайте свободу. Спробуйте Organic Maps! diff --git a/android/src/fdroid/play/listings/uk/release-notes.txt b/android/src/fdroid/play/listings/uk/release-notes.txt index 9775490a3e..e3e1386d63 100644 --- a/android/src/fdroid/play/listings/uk/release-notes.txt +++ b/android/src/fdroid/play/listings/uk/release-notes.txt @@ -1,10 +1,11 @@ -• Нові дані OpenStreetMap станом на 21 січня +• Нові дані OpenStreetMap за 21 січня • Виправлено імпорт деяких KML-треків -• Покращено пошук та прокладання маршрутів +• Виправлено кріш при вимкненні системного WebView +• Покращено пошук та маршрутизацію • Правильна обробка висоти для піших та велосипедних маршрутів -• Виправлені значки метро Буенос-Айреса +• Виправлені іконки метро Буенос-Айреса та Більбао • Доданий боулінг • Хорватія додана до Шенгенської зони • Збільшено максимальну кількість редагованих поверхів будівель до 50 -• Увімкнено баскську, білоруську, хорватську, норвезьку, маратхі, суахілі в TTS -…більше: omaps.app/news +• TTS: включені білоруська та деякі інші мови +…докладніше: omaps.app/news diff --git a/android/src/fdroid/play/listings/uk/short-description.txt b/android/src/fdroid/play/listings/uk/short-description.txt index 9172a8d157..4e04801dd8 100644 --- a/android/src/fdroid/play/listings/uk/short-description.txt +++ b/android/src/fdroid/play/listings/uk/short-description.txt @@ -1 +1 @@ -Карти з відкритим кодом для мандрівників, туристів, велосипедистів та пішоходів +Карти з відкритим кодом для мандрівників, туристів, велосипедистів та туристів diff --git a/android/src/fdroid/play/listings/uk/title-google.txt b/android/src/fdroid/play/listings/uk/title-google.txt index 68eb44b96b..20f0b0e7a2 100644 --- a/android/src/fdroid/play/listings/uk/title-google.txt +++ b/android/src/fdroid/play/listings/uk/title-google.txt @@ -1 +1 @@ -Organic Maps - офлайн карти +Organic Maps — офлайн карты diff --git a/android/src/fdroid/play/listings/uk/title.txt b/android/src/fdroid/play/listings/uk/title.txt index 68eb44b96b..db7a6a6194 100644 --- a/android/src/fdroid/play/listings/uk/title.txt +++ b/android/src/fdroid/play/listings/uk/title.txt @@ -1 +1 @@ -Organic Maps - офлайн карти +Organic Maps офлайн карти та GPS навігатор diff --git a/data/categories.txt b/data/categories.txt index a64130ad7f..30718ecd05 100644 --- a/data/categories.txt +++ b/data/categories.txt @@ -6397,39 +6397,39 @@ fa:مسیر mr:मार्ग highway-pedestrian|highway-primary|highway-primary_link|highway-residential|highway-secondary|highway-secondary_link|highway-tertiary|highway-tertiary_link|highway-service|highway-road|highway-track|highway-trunk|highway-trunk_link|highway-living_street|highway-unclassified|highway-motorway_link|highway-motorway|highway-cycleway -en:Street|Road|Drive|Lane|Avenue -ru:Улица -bg:Улица -ar:شارع -cs:Ulice -da:Gade|Vej -nl:Straat +en:Street|st|str|ave|road|rd +ru:Улица|переулок|проезд|тракт|проспект|ул +bg:Улица|път|ул|бул| +ar:شارع|طريق +cs:Ulice|cesta|silnice|ul +da:Gade|vej|stræde +nl:Straat|st|str|laan|weg fi:Katu -fr:Rue -de:Straße -hu:Utca +fr:Rue|avenue|av|boul|boulevard|route +de:Straße|Boulevard|Avenue|Weg|Gasse|Schnellstraße|Spielstraße|Fußweg|Hauptstraße +hu:Utca|út|u. id:Jalan -it:Via|Strada -ja:ストリート|通り|道路|辻|筋 +it:Via|strada|corso|vicolo +ja:1ストリート|通り|道路|辻|筋 ko:거리 -nb:Gate -pl:Ulica -pt:Rua|Avenida -pt-BR:Rua|Avenida -ro:Strada -es:Calle|Avenida +nb:Gate|vei|gågate +pl:3Ulica|droga +pt:Rua|rodovia|estrada|avenida +pt-BR:Rua|rodovia|estrada|avenida +ro:Stradă +es:Calle et:Tänav eu:Kalea sv:Gata|väg th:ถนน -tr:Sokak|Sokağı -uk:Вулиця +tr:Sokak|sk|sok|cadde|cad|cd +uk:Вулиця|провулок|проїзд|проспект|бульвар|вул vi:Phố zh-Hans:街头 zh-Hant:路|街 -el:δρόμος -sk:Ulica -sw:mtaani +el:2Οδός|4Λεωφόρος|2δρόμος +sk:Ulica|cesta|ul +sw:Barabara|mtaa|barabara kuu fa:جاده mr:रस्ता diff --git a/data/classificator.txt b/data/classificator.txt index 059878da9d..b9b20aaea9 100644 --- a/data/classificator.txt +++ b/data/classificator.txt @@ -338,9 +338,7 @@ world + fire_hydrant - phone - {} - entrance + - main - - {} + entrance - healthcare + laboratory - physiotherapist - diff --git a/data/config.xsd b/data/config.xsd index d9010f5247..4e6d31456a 100644 --- a/data/config.xsd +++ b/data/config.xsd @@ -8,10 +8,10 @@ - + - The root element, "omaps", for now contains only one entry, "editor". + The root element, "mapsme", for now contains only one entry, "editor". diff --git a/data/countries-strings/ar.json/localize.json b/data/countries-strings/ar.json/localize.json index 6fbfc1cf10..891eb7615c 100644 --- a/data/countries-strings/ar.json/localize.json +++ b/data/countries-strings/ar.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"منطقة كانتابريا", "Spain_Castile and Leon":"منطقة قـشتالة وليون", "Spain_Castile-La Mancha":"منطقة كاستيا لا مانتشا", -"Spain_Catalonia_Provincia de Barcelona":"كاتالونيا – برشلونة", -"Spain_Catalonia_Provincia de Girona":"كاتالونيا – جرندة", -"Spain_Catalonia_Provincia de Lleida":"كاتالونيا – لاردة", -"Spain_Catalonia_Provincia de Tarragona":"كاتالونيا – طراغونة", +"Spain_Catalonia_Provincia de Barcelona":"برشلونة", +"Spain_Catalonia_Provincia de Girona":"جرندة", +"Spain_Catalonia_Provincia de Lleida":"لاردة", +"Spain_Catalonia_Provincia de Tarragona":"طراغونة", "Spain_Ceuta":"سبتة", "Spain_Community of Madrid":"منطقة مدريد", "Spain_Comunidad Foral de Navarra":"منطقة نافارا", diff --git a/data/countries-strings/be.json/localize.json b/data/countries-strings/be.json/localize.json index 87b93389ba..154f8a08f1 100644 --- a/data/countries-strings/be.json/localize.json +++ b/data/countries-strings/be.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabria", "Spain_Castile and Leon":"Castile and León", "Spain_Castile-La Mancha":"Castile-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Каталонія – правінцыя Барселона", -"Spain_Catalonia_Provincia de Girona":"Каталонія – правінцыя Жирона", -"Spain_Catalonia_Provincia de Lleida":"Каталонія – правінцыя Лерыда", -"Spain_Catalonia_Provincia de Tarragona":"Каталонія – правінцыя Таррагона", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona Province", +"Spain_Catalonia_Provincia de Girona":"Girona Province", +"Spain_Catalonia_Provincia de Lleida":"Lleida Province", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona Province", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Community of Madrid", "Spain_Comunidad Foral de Navarra":"Navarre", diff --git a/data/countries-strings/ca.json/localize.json b/data/countries-strings/ca.json/localize.json deleted file mode 100644 index 9f86c48367..0000000000 --- a/data/countries-strings/ca.json/localize.json +++ /dev/null @@ -1,2553 +0,0 @@ -{ -"Abkhazia":"Abkhàzia", -"Afghanistan":"Afganistan", -"Alabama":"Alabama", -"Albania":"Albània", -"Algeria":"Algèria", -"Algeria_Central":"Algèria — centre", -"Algeria_Coast":"Algèria — nord", -"Andorra":"Andorra", -"Angola":"Angola", -"Anguilla":"Anguilla", -"Antarctica":"Antàrtida", -"Antigua and Barbuda":"Antigua i Barbuda", -"Argentina":"Argentina", -"Argentina_Buenos Aires_North":"Província de Buenos Aires — nord", -"Argentina_Buenos Aires_South":"Província de Buenos Aires — sud", -"Argentina_Cuyo":"Cuyo", -"Argentina_Mesopotamia":"Mesopotàmia", -"Argentina_Northwest":"Nord-oest de l'Argentina", -"Argentina_Pampas":"Pampas", -"Argentina_Patagonia":"Patagònia", -"Arizona":"Arizona", -"Armenia":"Armènia", -"Australia":"Austràlia", -"Australia_Melbourne":"Melbourne", -"Australia_New South Wales":"Nova Gal·les del Sud", -"Australia_Northern Territory":"Territori del Nord", -"Australia_Queensland":"Queensland", -"Australia_South Australia":"Austràlia Meridional", -"Australia_Tasmania":"Tasmània", -"Australia_Victoria":"Victoria", -"Australia_Western Australia":"Austràlia Occidental", -"Austria":"Àustria", -"Austria_Burgenland":"Burgenland", -"Austria_Carinthia":"Caríntia", -"Austria_Lower Austria_West":"Baixa Àustria — oest", -"Austria_Lower Austria_Wien":"Viena", -"Austria_Salzburg":"Salzburg", -"Austria_Styria":"Estíria", -"Austria_Tyrol":"Tirol", -"Austria_Upper Austria":"Alta Àustria", -"Austria_Vorarlberg":"Vorarlberg", -"Azerbaijan":"Azerbaidjan", -"Azerbaijan Region":"Azerbaidjan", -"Bahrain":"Bahrain", -"Bangladesh":"Bangla Desh", -"Barbados":"Barbados", -"Belarus":"Belarús", -"Belarus_Brest Region":"Regió de Brest", -"Belarus_Homiel Region":"Regió de Gomel", -"Belarus_Hrodna Region":"Regió de Grodno", -"Belarus_Maglieu Region":"Regió de Mogilev", -"Belarus_Minsk Region":"Regió de Minsk", -"Belarus_Vitebsk Region":"Regió de Vitebsk", -"Belgium":"Bèlgica", -"Belgium_Antwerp":"Província d'Anvers", -"Belgium_East Flanders":"Província de Flandes Oriental", -"Belgium_Flemish Brabant":"Província de Brabant Flamenc", -"Belgium_Hainaut":"Província de Hainaut", -"Belgium_Liege":"Província de Lieja", -"Belgium_Limburg":"Província de Limburg", -"Belgium_Luxembourg":"Província de Luxemburg", -"Belgium_Namur":"Província de Namur", -"Belgium_Walloon Brabant":"Província de Brabant Való", -"Belgium_West Flanders":"Província de Flandes Occidental", -"Belize":"Belize", -"Benin":"Benín", -"Bermuda":"Bermuda", -"Bhutan":"Bhutan", -"Bolivia":"Bolívia", -"Bolivia_North":"Bolívia – nord", -"Bolivia_South":"Bolívia – sud", -"Bosnia and Herzegovina":"Bòsnia i Hercegovina", -"Bosnia and Herzegovina_Brcko district of Bosnia and Herzegowina":"Districte Brčko", -"Bosnia and Herzegovina_Entity Federation of Bosnia and Herzegovina":"Federació de Bòsnia i Hercegovina", -"Bosnia and Herzegovina_Republic of Srpska":"República de Sèrbia", -"Botswana":"Botswana", -"Brazil":"Brasil", -"Brazil_Bahia":"Bahia", -"Brazil_Goias":"Goiás", -"Brazil_Mato Grosso":"Mato Grosso", -"Brazil_Mato Grosso Do Sul":"Mato Grosso do Sul", -"Brazil_North Region":"Brasil, regió nord", -"Brazil_Northeast Region":"Regió nord-est", -"Brazil_Paraiba":"Paraíba", -"Brazil_Parana":"Paranà", -"Brazil_Rio Grande do Norte":"Rio Grande do Norte", -"Brazil_Santa Catarina":"Santa Catarina", -"Brazil_South Region":"Brasil meridional", -"Brazil_Southeast Region_Espirito Santo":"Espírito Santo", -"Brazil_Southeast Region_Minas Gerais_Contagem":"Minas Gerais — Contagem", -"Brazil_Southeast Region_Minas Gerais_North":"Minas Gerais — nord", -"Brazil_Southeast Region_Rio de Janeiro":"Rio de Janeiro", -"Brazil_Southeast Region_Sao Paulo_Campinas":"Sso Paulo — Campinas", -"Brazil_Southeast Region_Sao Paulo_City":"São Paulo — Santos", -"Brazil_Southeast Region_Sao Paulo_West":"São Paulo — Ribeirão Preto", -"British Indian Ocean Territory":"Territori Britànic de l'Oceà Índic", -"British Virgin Islands":"Illes Verges Britàniques", -"Brunei":"Brunei", -"Bulgaria":"Bulgària", -"Burkina Faso":"Burkina Faso", -"Burundi":"Burundi", -"California":"Califòrnia", -"Cambodia":"Cambodja", -"Cameroon":"Camerun", -"Cameroon_Central":"Camerun — centre", -"Cameroon_West":"Camerun — oest", -"Campo de Hielo Sur":"Camp de gel de la Patagònia meridional", -"Canada":"Canadà", -"Canada_Alberta":"Alberta", -"Canada_Alberta_Edmonton":"Edmonton", -"Canada_Alberta_North":"Alberta — nord", -"Canada_Alberta_South":"Alberta — sud", -"Canada_British Columbia":"Colúmbia Britànica", -"Canada_British Columbia_Central":"Colúmbia Britànica — centre", -"Canada_British Columbia_Far_North":"Colúmbia Britànica — est", -"Canada_British Columbia_Islands":"Illa de Vancouver", -"Canada_British Columbia_North":"Colúmbia Britànica — oest", -"Canada_British Columbia_Northeast":"Colúmbia Britànica — nord", -"Canada_British Columbia_Southeast":"Kelowna", -"Canada_British Columbia_Vancouver":"Vancouver", -"Canada_Labrador":"Labrador", -"Canada_Labrador_North":"Labrador — nord", -"Canada_Labrador_South":"Labrador — sud", -"Canada_Labrador_West":"Labrador — oest", -"Canada_Manitoba":"Manitoba", -"Canada_Manitoba_Northeast":"Manitoba — nord", -"Canada_Manitoba_Northwest":"Manitoba — oest", -"Canada_Manitoba_South":"Brandon", -"Canada_Manitoba_Winnipeg":"Winnipeg", -"Canada_New Brunswick":"New Brunswick", -"Canada_Newfoundland":"Terranova", -"Canada_Newfoundland_East":"Terranova — est", -"Canada_Newfoundland_North":"Terranova — nord", -"Canada_Newfoundland_South":"Terranova — sud", -"Canada_Newfoundland_West":"Terranova — oest", -"Canada_Northwest Territories":"Territoris del Nord-oest", -"Canada_Northwest Territories_East":"Territoris del Nord-oest — est", -"Canada_Northwest Territories_North":"Territoris del Nord-oest — nord", -"Canada_Northwest Territories_Yellowknife":"Yellowknife", -"Canada_Nova Scotia":"Nova Escòcia", -"Canada_Nova Scotia_Halifax":"Halifax", -"Canada_Nova Scotia_Sydney":"Sydney", -"Canada_Nunavut":"Nunavut", -"Canada_Nunavut_North":"Nunavut — nord", -"Canada_Nunavut_South":"Nunavut — sud", -"Canada_Ontario":"Barrera", -"Canada_Ontario_Bame":"Barrie", -"Canada_Ontario_Kingston":"Kingston", -"Canada_Ontario_London":"Londres", -"Canada_Ontario_Northeastern_Central":"Timmins", -"Canada_Ontario_Northeastern_North":"Moose Factory", -"Canada_Ontario_Northeastern_S":"Greater Sudbury", -"Canada_Ontario_Northeastern_SE":"North Bay", -"Canada_Ontario_Northeastern_SW":"Sault Ste. Marie", -"Canada_Ontario_Northeastern_Wawa":"Wawa", -"Canada_Ontario_Northern":"Thunder Bay", -"Canada_Ontario_Northwestern":"Ontario — nord", -"Canada_Ontario_Toronto":"Toronto", -"Canada_Prince Edward Island":"Illa del Príncep Eduard", -"Canada_Quebec":"Quebec", -"Canada_Quebec_Quebec":"Ciutat del Quebec", -"Canada_Quebek_Far North":"Quebec — nord", -"Canada_Quebek_Montreal":"Montreal", -"Canada_Quebek_North":"Sept-Îles", -"Canada_Quebek_Southeast_Rimouski":"Rimouski", -"Canada_Quebek_Southeast_Saguenay":"Saguenay", -"Canada_Quebek_West_Chibougamau":"Chibougamau", -"Canada_Quebek_West_Rouyn-Noranda":"Rouyn-Noranda", -"Canada_Saskatchewan":"Saskatchewan", -"Canada_Saskatchewan_North":"Saskatchewan — nord", -"Canada_Saskatchewan_South":"Saskatchewan — sud", -"Canada_Yukon":"Yukon", -"Canada_Yukon_North":"Yukon — nord", -"Canada_Yukon_Whitehorse":"Whitehorse", -"Cape Verde":"Cap Verd", -"Caribees":"Antilles menors", -"Caribisch Nederland":"Aruba, Curaçao i Antilles Neerlandeses", -"Cayman Islands":"Illes Caiman", -"Central African Republic":"República Centreafricana", -"Central Anatolia Region":"Regió d'Anatòlia Central", -"Chad":"Txad", -"Chile":"Xile", -"Chile_North":"Xile — nord", -"Chile_South":"Xile — sud", -"China_Anhui":"Anhui", -"China_Chongqing":"Chongqing", -"China_Fujian":"Fujian", -"China_Gansu":"Gansu", -"China_Guangdong":"Guangdong", -"China_Guangxi":"Regió Autònoma de Guangxi Zhuang", -"China_Guizhou":"Guizhou", -"China_Hebei":"Hebei", -"China_Heilongjiang":"Heilongjiang", -"China_Henan":"Henan", -"China_Hubei":"Hubei", -"China_Hunan":"Hunan", -"China_Inner Mongolia":"Mongòlia Interior", -"China_Jiangsu":"Jiangsu", -"China_Jiangxi":"Jiangxi", -"China_Jilin":"Jilin", -"China_Liaoning":"Liaoning", -"China_Ningxia Hui":"Regió Autònoma de Ningxia Hui", -"China_Qinghai":"Qinghai", -"China_Shaanxi":"Shaanxi", -"China_Shandong":"Shandong", -"China_Shanghai":"Xangai", -"China_Shanxi":"Shanxi", -"China_Sichuan":"Sichuan", -"China_Tibet Autonomous Region":"Regió Autònoma del Tibet", -"China_Xinjiang":"Regió Autònoma Uigur de Xinjiang", -"China_Yunnan":"Yunnan", -"China_Zhejiang":"Zhejiang", -"Colombia":"Colòmbia", -"Colombia_East":"Colòmbia — est", -"Colombia_North":"Colòmbia — nord", -"Colombia_West":"Colòmbia — oest", -"Colorado":"Colorado", -"Comoros":"Comores", -"Congo-Brazzaville":"República del Congo", -"Congo-Kinshasa":"República Democràtica del Congo", -"Cook Islands":"Illes Cook", -"Costa Rica":"Costa Rica", -"Cote dIvoire":"Costa d'Ivori", -"Crimea":"Península de Crimea", -"Croatia":"Croàcia", -"Cuba":"Cuba", -"Cyprus":"Xipre", -"Czech Republic":"República Txeca", -"Czech_Jihovychod_Jihomoravsky kraj":"Regió Moràvia Meridional", -"Czech_Jihovychod_Kraj Vysocina":"Regió de Vysočina", -"Czech_Jihozapad_Jihocesky kraj":"Regió del sud de Bohèmia", -"Czech_Jihozapad_Plzensky kraj":"Regió de Plzeň", -"Czech_Karlovasky kraj":"Regió de Karlovy Vary", -"Czech_Moravskoslezsko":"Regió Moràvia-Silesiana", -"Czech_Olomoucky kraj":"Regió de Olomouc", -"Czech_Praha":"Praga", -"Czech_Severovychod_Kralovehradecky kraj":"Regió de Hradec Králové", -"Czech_Severovychod_Liberecky kraj":"Regió de Liberec", -"Czech_Severovychod_Pardubicky kraj":"Regió de Pardubice", -"Czech_Stredni Cechy_East":"Regió de bohèmia central — est", -"Czech_Stredni Cechy_West":"Regió de Bohèmia central — oest", -"Czech_Ustecky kraj":"Regió d'Ústí nad Labem", -"Czech_Zlinsky Kraj":"Regió de Zlín", -"Denmark":"Dinamarca", -"Denmark_Capital Region of Denmark":"Regió capital de Dinamarca", -"Denmark_Central Denmark Region":"Regió del centre de Dinamarca", -"Denmark_North Denmark Region":"Regió del nord de Dinamarca", -"Denmark_Region Zealand":"Regió de Zelanda", -"Denmark_Region of Southern Denmark":"Regió del sud de Dinamarca", -"Djibouti":"Djibouti", -"Dominica":"Dominica", -"Dominican Republic":"República Dominicana", -"East Timor":"Timor Oriental", -"Ecuador":"Equador", -"Egypt":"Egipte", -"El Salvador":"El Salvador", -"Equatorial Guinea":"Guinea Equatorial", -"Eritrea":"Eritrea", -"Estonia":"Estònia", -"Estonia_East":"Estònia — est", -"Estonia_West":"Estònia — oest", -"Ethiopia":"Etiòpia", -"Falkland Islands":"Illes Falkland", -"Faroe Islands":"Illes Faroe", -"Federated States of Micronesia":"Estats federats de Micronèsia", -"Fiji":"Fiji", -"Finland":"Finlàndia", -"Finland_Eastern Finland":"Finlàndia oriental", -"Finland_Northern Finland":"Finlàndia septentrional", -"Finland_Southern Finland_Helsinki":"Finlàndia meridional — Hèlsinki", -"Finland_Southern Finland_Lappeenranta":"Finlàndia meridional — Lappeenranta", -"Finland_Southern Finland_West":"Finlàndia sud-oest", -"Finland_Western Finland":"Finlàndia occidental", -"Florida":"Florida", -"France":"França", -"France_Alsace":"Alsàcia", -"France_Alsace_Bas-Rhin":"Bas-Rhin", -"France_Alsace_Haut-Rhin":"Haut-Rhin", -"France_Aquitaine":"Aquitània", -"France_Aquitaine_Dordogne":"Dordogne", -"France_Aquitaine_Gironde":"Gironde", -"France_Aquitaine_Landes":"Landes", -"France_Aquitaine_Lot-et-Garonne":"Lot-et-Garonne", -"France_Aquitaine_Pyrenees-Atlantiques":"Pirineus Atlàntics", -"France_Auvergne":"Alvèrnia", -"France_Auvergne_Allier":"Alier", -"France_Auvergne_Cantal":"Cantal", -"France_Auvergne_Haute-Loire":"Alt Loira", -"France_Auvergne_Puy-de-Dome":"Puèi Domat", -"France_Brittany":"Bretanya", -"France_Brittany_Cotes-dArmor":"Costes del Nord", -"France_Brittany_Finistere":"Finisterre", -"France_Brittany_Ille-et-Vilaine":"Ille i Vilaine", -"France_Brittany_Morbihan":"Morbihan", -"France_Burgundy":"Borgonya", -"France_Burgundy_Cote-dOr":"Costa d’Or", -"France_Burgundy_Nievre":"Nièvre", -"France_Burgundy_Saone-et-Loire":"Saona i Loira", -"France_Burgundy_Yonne":"Yonne", -"France_Centre-Val de Loire":"Centre-Val de Loira", -"France_Centre-Val de Loire_Cher":"Cher", -"France_Centre-Val de Loire_Eure-et-Loir":"Eure-et-Loir", -"France_Centre-Val de Loire_Indre":"Indre", -"France_Centre-Val de Loire_Indre-et-Loire":"Indre-et-Loire", -"France_Centre-Val de Loire_Loir-et-Cher":"Loir-et-Cher", -"France_Centre-Val de Loire_Loiret":"Loiret", -"France_Champagne-Ardenne":"Champagne-Ardenne", -"France_Corsica":"Còrsega", -"France_Free County":"Franc Comtat", -"France_French Guiana":"Guaiana Francesa", -"France_Ile-de-France":"Illa de França", -"France_Ile-de-France_Essonne":"Essonne", -"France_Ile-de-France_Hauts-de-Seine":"Hauts-de-Seine", -"France_Ile-de-France_Paris":"París", -"France_Ile-de-France_Seine-Saint-Denis":"Sena-Sant-Denis", -"France_Ile-de-France_Seine-et-Marne":"Sena-et-Marne", -"France_Ile-de-France_Val-dOise":"Val-d'Oise", -"France_Ile-de-France_Val-de-Marne":"Val-de-Marne", -"France_Ile-de-France_Yvelines":"Yvelines", -"France_Languedoc-Roussillon":"Llenguadoc-Rosselló", -"France_Languedoc-Roussillon_Aude":"Aude", -"France_Languedoc-Roussillon_Gard":"Gard", -"France_Languedoc-Roussillon_Herault":"Hérault", -"France_Languedoc-Roussillon_Lozere":"Lozère", -"France_Languedoc-Roussillon_Pyrenees-Orientales":"Pirineus orientals", -"France_Limousin":"Llemosí", -"France_Lorraine":"Lorena", -"France_Lorraine_Meurthe-et-Moselle":"Meurthe-et-Moselle", -"France_Lorraine_Meuse":"Meuse", -"France_Lorraine_Moselle":"Mosel·la", -"France_Lorraine_Vosges":"Vosges", -"France_Lower Normandy":"Baixa Normandia", -"France_Lower Normandy_Calvados":"Calvados", -"France_Lower Normandy_Manche":"Manche", -"France_Lower Normandy_Orne":"Orne", -"France_Midi-Pyrenees":"Midi-Pyrénées", -"France_Midi-Pyrenees_Ariege":"Ariège", -"France_Midi-Pyrenees_Aveyron":"Aveyron", -"France_Midi-Pyrenees_Gers":"Gers", -"France_Midi-Pyrenees_Haute-Garonne":"Alta Garona", -"France_Midi-Pyrenees_Hautes-Pyrenees":"Alts Pirineus", -"France_Midi-Pyrenees_Lot":"Lot", -"France_Midi-Pyrenees_Tarn":"Tarn", -"France_Midi-Pyrenees_Tarn-et-Garonne":"Tarn-et-Garonne", -"France_New Caledonia":"Nova Caledònia", -"France_Nord-Pas-de-Calais":"Nord-Pas-de-Calais", -"France_Nord-Pas-de-Calais_Lille":"Lille", -"France_Nord-Pas-de-Calais_Nord":"Nord", -"France_Nord-Pas-de-Calais_Pas-de-Calais":"Pas-de-Calais", -"France_Pays de la Loire":"País del Loira", -"France_Pays de la Loire_Loire-Atlantique":"Loira-Atlàntic", -"France_Pays de la Loire_Maine-et-Loire":"Maine-et-Loire", -"France_Pays de la Loire_Mayenne":"Mayenne", -"France_Pays de la Loire_Sarthe":"Sarthe", -"France_Pays de la Loire_Vendee":"Vendée", -"France_Picardy":"Picardia", -"France_Picardy_Aisne":"Aisne", -"France_Picardy_Oise":"Oise", -"France_Picardy_Somme":"Somme", -"France_Poitou-Charentes":"Poitou-Charentes", -"France_Poitou-Charentes_Charente":"Charente", -"France_Poitou-Charentes_Charente-Maritime":"Charente-Marítima", -"France_Poitou-Charentes_Deux-Sevres":"Deux-Sèvres", -"France_Poitou-Charentes_Vienne":"Viena", -"France_Provence-Alpes-Cote dAzur":"Provença-Alps-Costa Blava", -"France_Provence-Alpes-Cote dAzur_Alpes-de-Haute-Provence":"Alpes de l’Alta Provença", -"France_Provence-Alpes-Cote dAzur_Bouches-du-Rhone":"Bouches-du-Rhnene", -"France_Provence-Alpes-Cote dAzur_Hautes-Alpes":"Alts Alps", -"France_Provence-Alpes-Cote dAzur_Maritime Alps":"Alps Marítims", -"France_Provence-Alpes-Cote dAzur_Var":"Var", -"France_Provence-Alpes-Cote dAzur_Vaucluse":"Vaucluse", -"France_Rhone-Alpes":"Roine-Alps", -"France_Rhone-Alpes_Ain":"Ain", -"France_Rhone-Alpes_Ardeche":"Ardèche", -"France_Rhone-Alpes_Drome":"Droma", -"France_Rhone-Alpes_Haute-Savoie":"Alta Savoia", -"France_Rhone-Alpes_Isere":"Isèra", -"France_Rhone-Alpes_Loire":"Loira", -"France_Rhone-Alpes_Rhone":"Roine", -"France_Rhone-Alpes_Savoie":"Savoia", -"France_Southern Islands":"Terres Australs i Antàrtiques Franceses", -"France_Upper Normandy":"Alta Normandia", -"French Polynesia":"Polinèsia Francesa", -"Gabon":"Gabon", -"Georgia Region":"Geòrgia", -"Georgia":"Geòrgia", -"Germany":"Alemanya", -"Germany_Baden-Wurttemberg":"Baden-Württemberg", -"Germany_Baden-Wurttemberg_Regierungsbezirk Freiburg":"Friburg de Brisgòvia", -"Germany_Baden-Wurttemberg_Regierungsbezirk Karlsruhe":"Karlsruhe", -"Germany_Baden-Wurttemberg_Regierungsbezirk Stuttgart_Heilbronn":"Stuttgart — Heilbronn", -"Germany_Baden-Wurttemberg_Regierungsbezirk Stuttgart_Stuttgart":"Stuttgart — Stuttgart", -"Germany_Baden-Wurttemberg_Regierungsbezirk Tubingen":"Tübingen", -"Germany_Berlin":"Berlín", -"Germany_Brandenburg_North":"Brandenburg — nord", -"Germany_Brandenburg_South":"Brandenburg — sud", -"Germany_Free State of Bavaria":"Baviera", -"Germany_Free State of Bavaria_Lower Bavaria":"Baixa Baviera", -"Germany_Free State of Bavaria_Lower Franconia":"Baixa Francònia", -"Germany_Free State of Bavaria_Middle Franconia":"Francònia Mitjana", -"Germany_Free State of Bavaria_Swabia":"Suàbia", -"Germany_Free State of Bavaria_Upper Bavaria_East":"Alta Baviera — est", -"Germany_Free State of Bavaria_Upper Bavaria_Ingolstadt":"Alta Baviera — Ingolstadt", -"Germany_Free State of Bavaria_Upper Bavaria_Munchen":"Alta Baviera — Munic", -"Germany_Free State of Bavaria_Upper Franconia":"Alta Francònia", -"Germany_Free State of Bavaria_Upper Palatinate":"Alt Palatinat", -"Germany_Hamburg_main":"Hamburg", -"Germany_Hesse":"Hesse", -"Germany_Hesse_Regierungsbezirk Darmstadt":"Darmstadt", -"Germany_Hesse_Regierungsbezirk Giessen":"Giessen", -"Germany_Hesse_Regierungsbezirk Kassel":"Kassel", -"Germany_Lower Saxony":"Baixa Saxònia", -"Germany_Lower Saxony_Bremen_Bremen":"Bremen", -"Germany_Lower Saxony_Bremen_Munster":"Lüneburg", -"Germany_Lower Saxony_Hannover":"Hannover", -"Germany_Lower Saxony_Oldenburg":"Oldenburg", -"Germany_Mecklenburg-Vorpommern":"Mecklenburg-Vorpommern", -"Germany_North Rhine-Westphalia":"Rin del Nord-Westfàlia", -"Germany_North Rhine-Westphalia_Regierungsbezirk Arnsberg_Arnsberg":"Arnsberg — Arnsberg", -"Germany_North Rhine-Westphalia_Regierungsbezirk Arnsberg_Dortmund":"Arnsberg — Dortmund", -"Germany_North Rhine-Westphalia_Regierungsbezirk Detmold":"Detmold", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Dusseldorf":"Düsseldorf — Düsseldorf", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Mulheim":"Düsseldorf — Mülheim del Ruhr", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Wesel":"Düsseldorf — Wesel", -"Germany_North Rhine-Westphalia_Regierungsbezirk Koln_Aachen":"Colònia — Aquisgrà", -"Germany_North Rhine-Westphalia_Regierungsbezirk Koln_Koln":"Colònia — Colònia", -"Germany_North Rhine-Westphalia_Regierungsbezirk Munster_Munster":"Münster — Münster", -"Germany_North Rhine-Westphalia_Regierungsbezirk Munster_Recklinghausen":"Münster — Recklinghausen", -"Germany_Rhineland-Palatinate_Koblenz":"Renània-Palatinat — Coblença", -"Germany_Rhineland-Palatinate_South":"Renània-Palatinat — Magúncia", -"Germany_Saarland":"Saarland", -"Germany_Saxony-Anhalt":"Saxònia-Anhalt", -"Germany_Saxony_Dresden":"Saxònia — Dresden", -"Germany_Saxony_Leipzig":"Saxònia — Leipzig", -"Germany_Schleswig-Holstein":"Schleswig-Holstein", -"Germany_Thuringia":"Turíngia", -"Ghana":"Ghana", -"Gibraltar":"Gibraltar", -"Greece":"Grècia", -"Greece_Decentralized Administration of Aegean":"Egeu", -"Greece_Decentralized Administration of Attica":"Àtica", -"Greece_Decentralized Administration of Crete":"Creta", -"Greece_Decentralized Administration of Epirus - Western Macedonia":"Epir i Macedònia Occidental", -"Greece_Decentralized Administration of Macedonia and Thrace":"Macedònia i Tràcia", -"Greece_Decentralized Administration of Thessaly - Central Greece":"Tessàlia i Grècia Central", -"Greece_Decentralized Administration of West Greece":"Peloponès", -"Greenland":"Groenlàndia", -"Grenada":"Grenada", -"Guadeloupe":"Guadeloupe", -"Guatemala":"Guatemala", -"Guernsey":"Guernsey", -"Guinea":"Guinea", -"Guinea-Bissau":"Guinea Bissau", -"Guyana":"Guyana", -"Haiti":"Haití", -"Honduras":"Hondures", -"Hungary":"Hongria", -"Hungary_Kozep-Magyarorszag":"Hongria central", -"Hungary_Northern Great Plain":"Hongria — est", -"Hungary_Transdanubia":"Hongria — oest", -"Iceland":"Islàndia", -"Illinois":"Illinois", -"India":"Índia", -"India_Andaman and Nicobar Islands":"Illes Andaman i Nicobar", -"India_Andhra Pradesh":"Andhra Pradesh", -"India_Arunachal Pradesh":"Arunachal Pradesh", -"India_Assam":"Assam", -"India_Bihar":"Bihar", -"India_Chandigarh":"Chandigarh", -"India_Chhattisgarh":"Chhattisgarh", -"India_Delhi":"Delhi", -"India_Goa":"Goa", -"India_Gujarat":"Gujarat", -"India_Haryana":"Haryana", -"India_Himachal Pradesh":"Himachal Pradesh", -"India_Jammu and Kashmir":"Jammu i Caixmir", -"India_Jharkhand":"Jharkhand", -"India_Karnataka":"Karnataka", -"India_Kerala":"Kerala", -"India_Lakshadweep":"Lakshadweep", -"India_Madhya Pradesh":"Madhya Pradesh", -"India_Maharashtra":"Maharashtra", -"India_Manipur":"Manipur", -"India_Meghalaya":"Meghalaya", -"India_Mizoram":"Mizoram", -"India_Nagaland":"Nagaland", -"India_Odisha":"Odisha", -"India_Punjab":"Panjab", -"India_Rajasthan":"Rajasthan", -"India_Sikkim":"Sikkim", -"India_Tamil Nadu":"Tamil Nadu", -"India_Telangana":"Telangana", -"India_Tripura":"Tripura", -"India_Uttar Pradesh":"Uttar Pradesh", -"India_Uttarakhand":"Uttarakhand", -"India_West Bengal":"Bengala occidental", -"Indiana":"Indiana", -"Indonesia":"Indonèsia", -"Indonesia_Central":"Sulawesi, Kalimantan", -"Indonesia_East":"Indonèsia — est", -"Indonesia_Jawa Barat":"Província de Java Occidental", -"Indonesia_Jawa Tengah":"Província central de Java", -"Indonesia_Jawa Timur":"Província de Java Oriental", -"Indonesia_Nusa Tenggara":"Illes Petites de la Sonda", -"Indonesia_West":"Sumatra", -"Iowa":"Iowa", -"Iran":"Iran", -"Iran_North":"Iran — nord", -"Iran_South":"Iran — sud", -"Iraq":"Iraq", -"Ireland":"Irlanda", -"Ireland_Connacht":"Connacht", -"Ireland_Leinster":"Leinster", -"Ireland_Munster":"Munster", -"Ireland_Northern Counties":"Ulster", -"Isle of Man":"Illa de Man", -"Israel":"Israel", -"Israel Region":"Israel", -"Italy":"Itàlia", -"Italy_Abruzzo":"Abruzzo", -"Italy_Aosta Valley":"Vall d'Aosta", -"Italy_Apulia":"Pulla", -"Italy_Basilicata":"Basilicata", -"Italy_Calabria":"Calàbria", -"Italy_Campania":"Campània", -"Italy_Emilia":"Emília-Romanya", -"Italy_Emilia-Romagna_Bologna":"Província de Bolonya", -"Italy_Emilia-Romagna_Ferrara":"Província de Ferrara", -"Italy_Emilia-Romagna_Forli-Cesena":"Província de Forlì-Cesena", -"Italy_Emilia-Romagna_Modena":"Província de Mòdena", -"Italy_Emilia-Romagna_Parma":"Província de Parma", -"Italy_Emilia-Romagna_Piacenza":"Província de Piacenza", -"Italy_Emilia-Romagna_Ravenna":"Província de Ravenna", -"Italy_Emilia-Romagna_Reggio Emilia":"Província de Reggio de l'Emília", -"Italy_Emilia-Romagna_Rimini":"Província de Rimini", -"Italy_Friuli":"Friül-Venezia Giulia", -"Italy_Friuli-Venezia Giulia_Gorizia":"Província de Gorizia", -"Italy_Friuli-Venezia Giulia_Pordenone":"Província de Pordenone", -"Italy_Friuli-Venezia Giulia_Trieste":"Província de Trieste", -"Italy_Friuli-Venezia Giulia_Udine":"Província d'Udine", -"Italy_Lazio":"Lazio", -"Italy_Liguria":"Ligúria", -"Italy_Lombardy":"Llombardia", -"Italy_Lombardy_Bergamo":"Província de Bèrgam", -"Italy_Lombardy_Brescia":"Província de Brescia", -"Italy_Lombardy_Como":"Província de Como", -"Italy_Lombardy_Cremona":"Província de Cremona", -"Italy_Lombardy_Lecco":"Província de Lecco", -"Italy_Lombardy_Lodi":"Província de Lodi", -"Italy_Lombardy_Mantua":"Província de Màntua", -"Italy_Lombardy_Milan":"Província de Milà", -"Italy_Lombardy_Monza and Brianza":"Província de Monza i Brianza", -"Italy_Lombardy_Pavia":"Província de Pavia", -"Italy_Lombardy_Sondrio":"Província de Sondrio", -"Italy_Lombardy_Varese":"Província de Varese", -"Italy_Marche":"Marques", -"Italy_Molise":"Molise", -"Italy_Piemont":"Piemont", -"Italy_Piemont_Alessandria":"Província d'Alessandria", -"Italy_Piemont_Asti":"Província d'Asti", -"Italy_Piemont_Biella":"Província de Biella", -"Italy_Piemont_Cuneo":"Província de Cuneo", -"Italy_Piemont_Novara":"Província de Novara", -"Italy_Piemont_Torino":"Província de Torí", -"Italy_Piemont_Verbano-Cusio-Ossola":"Verbano-Cusio-Ossola", -"Italy_Piemont_Vercelli":"Província de Vercelli", -"Italy_Sardinia":"Sardenya", -"Italy_Sicily":"Sicília", -"Italy_Trentino-Alto Adige Sudtirol":"Trentino-Tirol Sud", -"Italy_Tuscany_Grosseto":"Toscana — Província de Grosseto", -"Italy_Tuscany_Massa e Carrara":"Toscana - Província de Massa i Carrara", -"Italy_Umbria":"Umbria", -"Italy_Veneto":"Vèneto", -"Italy_Veneto_Belluno":"Província de Belluno", -"Italy_Veneto_Padova":"Província de Pàdua", -"Italy_Veneto_Rovigo":"Província de Rovigo", -"Italy_Veneto_Treviso":"Província de Treviso", -"Italy_Veneto_Venezia":"Província de Venècia", -"Italy_Veneto_Verona":"Província de Verona", -"Italy_Veneto_Vicenza":"Província de Vicenza", -"Jamaica":"Jamaica", -"Japan":"Japó", -"Japan_Chubu Region":"Regió de Chbubu", -"Japan_Chubu Region_Aichi":"Prefectura d'Aichi", -"Japan_Chubu Region_Fukui":"Prefectura de Fukui", -"Japan_Chubu Region_Gifu":"Prefectura de Gifu", -"Japan_Chubu Region_Ishikawa":"Prefectura d'Ishikawa", -"Japan_Chubu Region_Nagano":"Prefectura de Nagano", -"Japan_Chubu Region_Niigata":"Prefectura de Niigata", -"Japan_Chubu Region_Shizuoka":"Prefectura de Shizuoka", -"Japan_Chubu Region_Toyama":"Prefectura de Toyama", -"Japan_Chubu Region_Yamanashi":"Prefectura de Yamanashi", -"Japan_Chugoku Region":"Regió de Chggoku", -"Japan_Chugoku Region_Hiroshima":"Prefectura d'Hiroshima", -"Japan_Chugoku Region_Okayama":"Prefectura d'Okayama", -"Japan_Chugoku Region_Shimane":"Prefectura de Shimane", -"Japan_Chugoku Region_Tottori":"Tottori Prefectura", -"Japan_Chugoku Region_Yamaguchi":"Prefectura de Yamaguchi", -"Japan_Hokkaido Region":"Hokkaidō", -"Japan_Hokkaido Region_East":"Hokkaidō — est", -"Japan_Hokkaido Region_North":"Hokkaidō — nord", -"Japan_Hokkaido Region_West":"Hokkaidō — oest", -"Japan_Kanto":"Regió de Kantō", -"Japan_Kanto_Chiba":"Prefectura de Chiba", -"Japan_Kanto_Gunma":"Prefectura de Gunma", -"Japan_Kanto_Ibaraki":"Prefectura d'Ibaraki", -"Japan_Kanto_Kanagawa":"Prefectura de Kanagawa", -"Japan_Kanto_Saitama":"Prefectura de Saitama", -"Japan_Kanto_Tochigi":"Prefectura de Tochigi", -"Japan_Kanto_Tokyo":"Prefectura de Tòquio", -"Japan_Kinki Region":"Regió de Kansai", -"Japan_Kinki Region_Mie":"Prefectura Mie", -"Japan_Kinki Region_Nara":"Prefectura de Nara", -"Japan_Kinki Region_Osaka":"Prefectura d’Osaka", -"Japan_Kinki Region_Wakayama":"Prefectura de Wakayama", -"Japan_Kyushu Region":"Kyushu", -"Japan_Kyushu Region_Fukuoka":"Prefectura de Fukuoka", -"Japan_Kyushu Region_Kagoshima":"Prefectura de Kagoshima", -"Japan_Kyushu Region_Kumamoto":"Prefectura de Kumamoto", -"Japan_Kyushu Region_Miyazaki":"Prefectura de Miyazaki", -"Japan_Kyushu Region_Nagasaki":"Prefectura de Nagasaki", -"Japan_Kyushu Region_Oita":"Prefectura d’Oita", -"Japan_Kyushu Region_Okinawa":"Prefectura d'Okinawa", -"Japan_Kyushu Region_Saga":"Prefectura de Saga", -"Japan_Shikoku Region":"Shikoku", -"Japan_Shikoku Region_Ehime":"Prefectura d'Ehime", -"Japan_Shikoku Region_Kagawa":"Prefectura de Kagawa", -"Japan_Shikoku Region_Kochi":"Prefectura de Kchichi", -"Japan_Shikoku Region_Kyoto":"Prefectura de Kytoto", -"Japan_Shikoku Region_Tokushima":"Prefectura de Tokushima", -"Japan_Tohoku":"Regió de Tkuhoku", -"Japan_Tohoku_Akita":"Prefectura d'Akita", -"Japan_Tohoku_Aomori":"Prefectura d'Aomori", -"Japan_Tohoku_Fukushima":"Prefectura de Fukushima", -"Japan_Tohoku_Iwate":"Prefectura d'Iwate", -"Japan_Tohoku_Miyagi":"Prefectura de Miyagi", -"Japan_Tohoku_Yamagata":"Prefectura de Yamagata", -"Jersey":"Jersey", -"Jerusalem":"Jerusalem", -"Jordan":"Jordà", -"Kansas":"Kansas", -"Kazakhstan":"Kazakhstan", -"Kentucky":"Kentucky", -"Kenya":"Kenya", -"Kingdom of Lesotho":"Lesotho", -"Kiribati":"Kiribati", -"Kuwait":"Kuwait", -"Kyrgyzstan":"Kirguizistan", -"Laos":"Laos", -"Latvia":"Letònia", -"Lebanon":"Líban", -"Liberia":"Libèria", -"Libya":"Líbia", -"Liechtenstein":"Liechtenstein", -"Lithuania":"Lituània", -"Louisiana":"Louisiana", -"Luxembourg":"Luxemburg", -"Macedonia":"Macedònia", -"Madagascar":"Madagascar", -"Malawi":"Malawi", -"Malaysia":"Malàisia", -"Maldives":"Maldives", -"Mali":"Mali", -"Malta":"Malta", -"Marshall Islands":"Illes Marshall", -"Martinique":"Martinica", -"Maryland":"Maryland", -"Massachusetts":"Massachusetts", -"Mauritania":"Mauritània", -"Mauritius":"Maurici", -"Mexico":"Mèxic", -"Mexico_California":"Baixa Califòrnia", -"Mexico_Central_East":"Nuevo León", -"Mexico_Central_West":"Nayarit", -"Mexico_East":"Mèxic — est", -"Mexico_Mexico":"Ciutat de Mèxic", -"Mexico_North":"Mèxic — nord", -"Mexico_South":"Mèxic — sud", -"Michigan":"Michigan", -"Minnesota":"Minnesota", -"Missouri":"Missouri", -"Moldova":"Moldàvia", -"Monaco":"Mònaco", -"Mongolia":"Mongòlia", -"Montenegro":"Montenegro", -"Montserrat":"Montserrat", -"Morocco":"Marroc", -"Morocco_Doukkala-Abda":"Doukkala-Abda", -"Morocco_Rabat-Sale-Zemmour-Zaer":"Rabat-Salé-Zemmour-Zaer", -"Morocco_Southern":"Marroc — sud", -"Morocco_Western Sahara":"Sàhara Occidental", -"Mozambique":"Moçambic", -"Myanmar":"Myanmar", -"Nagorno-Karabakh":"Nagorno-Karabakh", -"Namibia":"Namíbia", -"Nauru":"Nauru", -"Nepal":"Nepal", -"Nepal_East":"Nepal — est", -"Nepal_West":"Nepal — oest", -"Netherlands":"Països Baixos", -"Netherlands_Drenthe":"Drenthe", -"Netherlands_Flevoland":"Flevoland", -"Netherlands_Friesland":"Frísia", -"Netherlands_Gelderland_Nijmegen":"Gelderland — Nijmegen", -"Netherlands_Gelderland_North":"Gelderland — Apeldoorn", -"Netherlands_Gelderland_Zutphen":"Gelderland — Zutphen", -"Netherlands_Groningen":"Groningen", -"Netherlands_Limburg":"Limburg", -"Netherlands_North Brabant_Eindhoven":"Brabant Septentrional — Eindhoven", -"Netherlands_North Brabant_Roosendaal":"Brabant Septentrional — Roosendaal", -"Netherlands_North Brabant_Tiburg":"Brabant Septentrional — Tilburg", -"Netherlands_North Brabant_Uden":"Brabant Septentrional — Uden", -"Netherlands_North Holland_Alkmaar":"Holanda Septentrional — Alkmaar", -"Netherlands_North Holland_Amsterdam":"Holanda Septentrional — Amsterdam", -"Netherlands_North Holland_Zaandam":"Holanda Septentrional — Zaanstad", -"Netherlands_Overijssel_Enschede":"Overijssel — Enschede", -"Netherlands_Overijssel_Zwolle":"Overijssel — Zwolle", -"Netherlands_South Holland_Brielle":"Holanda Meridional — Brielle", -"Netherlands_South Holland_Den Haag":"Holanda Meridional — La Haia", -"Netherlands_South Holland_Leiden":"Holanda Meridional — Leiden", -"Netherlands_South Holland_Rotterdam":"Holanda Meridional — Rotterdam", -"Netherlands_Utrecht_Amersfoort":"Utrecht — Amersfoort", -"Netherlands_Utrecht_Utrecht":"Utrecht — Utrecht", -"Netherlands_Zeeland":"Zeeland", -"New Jersey":"Nova Jersey", -"New York":"Nova York", -"New Zealand":"Nova Zelanda", -"New Zealand North_Auckland":"Nord — Auckland", -"New Zealand North_Wellington":"Nord — Wellington", -"New Zealand South_Canterbury":"Sud — Regió de Canterbury", -"New Zealand South_Southland":"Sud — Regió de Southland", -"Nicaragua":"Nicaragua", -"Niger":"Níger", -"Nigeria":"Nigèria", -"Niue":"Niue", -"North Carolina":"Carolina del Nord", -"North Dakota":"Dakota del Nord", -"North Korea":"Corea del Nord", -"Norway":"Noruega", -"Norway_Bouvet Island":"Illa Bouvet", -"Norway_Central":"Oslo", -"Norway_Hedmark":"Hedmark", -"Norway_Jan Mayen":"Jan Mayen", -"Norway_Northern":"Nord de Noruega", -"Norway_Oppland":"Oppland", -"Norway_Southern":"Noruega meridional", -"Norway_Svalbard":"Svalbard", -"Norway_Trondelag":"Tragndelag", -"Norway_Western":"Noruega occidental", -"Ohio":"Ohio", -"Oklahoma":"Oklahoma", -"Oman":"Oman", -"Oregon":"Oregon", -"Pakistan":"Pakistan", -"Palau":"Palau", -"Palestine":"Territoris Palestins", -"Palestine Region":"Territoris Palestins", -"Panama":"Panamà", -"Papua New Guinea":"Papua Nova Guinea", -"Paraguay":"Paraguai", -"Pennsylvania":"Pennsilvània", -"People's Republic of China":"Xina", -"Peru":"Perú", -"Peru_North":"Perú — nord", -"Peru_South":"Perú — sud", -"Philippines":"Filipines", -"Philippines_Luzon_Manila":"Metròpoli de Manila", -"Philippines_Luzon_North":"Luzon — nord", -"Philippines_Luzon_South":"Luzon — sud", -"Philippines_Mindanao":"Mindanao", -"Philippines_Visayas":"Visayas", -"Pitcairn Islands":"Pitcairn", -"Poland":"Polònia", -"Poland_Greater Poland Voivodeship":"Voivodat de Gran Polònia", -"Poland_Kuyavian-Pomeranian Voivodeship":"Voivodat de Kuyavian-Pomerània", -"Poland_Lesser Poland Voivodeship":"Voivodat de Polònia Menor", -"Poland_Lodz Voivodeship":"Voivodat de Łódź", -"Poland_Lower Silesian Voivodeship":"Voivodat de Baixa Silèsia", -"Poland_Lublin Voivodeship":"Voivodat de Lublin", -"Poland_Lubusz Voivodeship":"Voivodat de Lubusz", -"Poland_Masovian Voivodeship":"Voivodat de Masovian", -"Poland_Opole Voivodeship":"Voivodat d'Opole", -"Poland_Podlaskie Voivodeship":"Voivodat de Podlaskie", -"Poland_Pomeranian Voivodeship":"Voivodat de Pomerània", -"Poland_Silesian Voivodeship":"Voivodat de Silèsia", -"Poland_Subcarpathian Voivodeship":"Voivodat de Podkarpackie", -"Poland_Swietokrzyskie Voivodeship":"Voivodat de Świętokrzyskie", -"Poland_Warmian-Masurian Voivodeship":"Voivodat de Warmian-Masurian", -"Poland_West Pomeranian Voivodeship":"Voivodat de Pomerània Occidental", -"Portugal":"Portugal", -"Portugal_North":"Portugal — nord", -"Portugal_South":"Portugal — sud", -"Qatar":"Qatar", -"Republic of Kosovo":"Kosovo", -"Romania":"Romania", -"Romania_Centre":"Centre", -"Romania_North_East":"Nord-est", -"Romania_North_West":"Nord-oest", -"Romania_South":"Sud", -"Romania_South_East":"Sud-est", -"Romania_South_West":"Sud-oest", -"Romania_West":"Oest", -"Russia_Altai Krai":"Altai Krai", -"Russia_Altai Republic":"República d'Altai", -"Russia_Amur Oblast":"Óblast d'Amur", -"Russia_Arkhangelsk Oblast_Central":"Óblast d'Arkhangelsk — centre", -"Russia_Arkhangelsk Oblast_North":"Província d'Arkhangelsk — nord", -"Russia_Astrakhan Oblast":"Óblast d'Astrakhan", -"Russia_Bashkortostan":"República de Baixkortostan", -"Russia_Belgorod Oblast":"Óblast de Belgorod", -"Russia_Bryansk Oblast":"Óblast de Bryansk", -"Russia_Buryatia":"República de Buryat", -"Russia_Chechen Republic":"República de Txetxènia", -"Russia_Chelyabinsk Oblast":"Província de Txeliàbinsk", -"Russia_Chukotka Autonomous Okrug":"Ókrug autònom de Txukotka", -"Russia_Chuvashia":"República de Txuvaix", -"Russia_Ingushetia":"República d'Ingushetia", -"Russia_Irkutsk Oblast":"Óblast d'Irkutsk", -"Russia_Ivanovo Oblast":"Óblast d'Ivanovo", -"Russia_Jewish Autonomous Oblast":"Óblast Autònom Jueu", -"Russia_Kabardino-Balkaria":"República de Kabardino-Balkar", -"Russia_Kaliningrad Oblast":"Óblast de Kaliningrad", -"Russia_Kaluga Oblast":"Óblast de Kaluga", -"Russia_Kamchatka Krai":"Krai de Kamtxatka", -"Russia_Karachay-Cherkessia":"República de Karachay-Cherkess", -"Russia_Kemerov Oblast":"Óblast de Kemerovo", -"Russia_Khabarovsk Krai":"Krai de Khabarovsk", -"Russia_Khakassia":"República de Khakassia", -"Russia_Kirov Oblast":"Óblast de Kirov", -"Russia_Komi Republic":"República de Komi", -"Russia_Kostroma Oblast":"Óblast de Kostroma", -"Russia_Krasnodar Krai":"Krasnodar Krai — nord", -"Russia_Krasnodar Krai_Adygeya":"Krasnodar Krai, República d'Adygea", -"Russia_Krasnoyarsk Krai":"Krasnoyarsk Krai", -"Russia_Kurgan Oblast":"Óblast de Kurgan", -"Russia_Kursk Oblast":"Óblast de Kursk", -"Russia_Leningradskaya Oblast_Karelsky":"Óblast de Leningrad — nord", -"Russia_Leningradskaya Oblast_Southeast":"Óblast de Leningrad — sud", -"Russia_Lipetsk Oblast":"Óblast de Lipetsk", -"Russia_Magadan Oblast":"Óblast de Magadan", -"Russia_Mari El":"República de Mari El", -"Russia_Moscow":"Moscou", -"Russia_Moscow Oblast":"Óblast de Moscou", -"Russia_Murmansk Oblast":"Óblast de Murmansk", -"Russia_Nenets Autonomous Okrug":"Okrug autònom de Nenets", -"Russia_Nizhny Novgorod Oblast":"Óblast de Nizhni Novgorod", -"Russia_North Ossetia-Alania":"República d'Ossètia del Nord-Alania", -"Russia_Novgorod Oblast":"Óblast de Novgorod", -"Russia_Novosibirsk Oblast":"Província de Novosibirsk", -"Russia_Omsk Oblast":"Óblast d'Omsk", -"Russia_Orenburg Oblast":"Óblast d'Orenburg", -"Russia_Oryol Oblast":"Óblast d'Oryol", -"Russia_Penza Oblast":"Óblast de Penza", -"Russia_Perm Krai":"Krai de Perm", -"Russia_Primorsky Krai":"Krai de Primorski", -"Russia_Pskov Oblast":"Óblast de Pskov", -"Russia_Republic of Dagestan":"República de Daguestan", -"Russia_Republic of Kalmykia":"República de Kalmykia", -"Russia_Republic of Karelia":"República de Carèlia", -"Russia_Republic of Mordovia":"República de Mordòvia", -"Russia_Rostov Oblast":"Óblast de Rostov", -"Russia_Ryazan Oblast":"Óblast de Ryazan", -"Russia_Saint Petersburg":"Sant Petersburg", -"Russia_Sakha Republic":"República de Sakha", -"Russia_Sakhalin Oblast":"Província de Sakhalín", -"Russia_Samara Oblast":"Óblast de Samara", -"Russia_Saratov Oblast":"Óblast de Saratov", -"Russia_Smolensk Oblast":"Óblast de Smolensk", -"Russia_Stavropol Krai":"Krai de Stavropol", -"Russia_Sverdlovsk Oblast":"Óblast de Sverdlovsk", -"Russia_Tambov Oblast":"Óblast de Tambov", -"Russia_Tatarstan":"República de Tatarstan", -"Russia_Tomsk Oblast":"Óblast de Tomsk", -"Russia_Tula Oblast":"Óblast de Tula", -"Russia_Tuva":"República de Tuva", -"Russia_Tver Oblast":"Óblast de Tver", -"Russia_Tyumen Oblast":"Óblast de Tyumen", -"Russia_Udmurt Republic":"República Udmurt", -"Russia_Ulyanovsk Oblast":"Óblast d'Uliànovsk", -"Russia_Vladimir Oblast":"Óblast de Vladimir", -"Russia_Volgograd Oblast":"Óblast de Volgograd", -"Russia_Vologda Oblast":"Óblast de Vologda", -"Russia_Voronezh Oblast":"Óblast de Voronezh", -"Russia_Yamalo-Nenets Autonomous Okrug":"Okrug autònom Yamalo-Nenets", -"Russia_Yaroslavl Oblast":"Província de Iaroslavl", -"Russia_Yugra":"Okrug autònom Khanty-Mansi", -"Russia_Zabaykalsky Krai":"Krai de Zabaykalski", -"Russian Federation":"Rússia", -"Rwanda":"Ruanda", -"Sahrawi Arab Democratic Republic":"República Àrab Sharaui Democràtica", -"Saint Barthelemy":"Saint-Barthélemy", -"Saint Helena Ascension and Tristan da Cunha":"Santa Helena, Ascensió i Tristan da Cunha", -"Saint Kitts and Nevis":"Saint Kitts i Nevis", -"Saint Lucia":"Saint Lucia", -"Saint Martin":"Saint Martin", -"Saint Vincent and the Grenadines":"Saint Vincent i les granades", -"Samoa":"Samoa", -"San Marino":"San Marino", -"Sao Tome and Principe":"Sao Tomé i Príncipe", -"Saudi Arabia":"Aràbia Saudita", -"Senegal":"Senegal", -"Serbia":"Sèrbia", -"Seychelles":"Seychelles", -"Sierra Leone":"Sierra Leone", -"Singapore":"Singapur", -"Slovakia":"Eslovàquia", -"Slovakia_Region of Banska Bystrica":"Regió de Banská Bystrica", -"Slovakia_Region of Bratislava":"Regió de Bratislava", -"Slovakia_Region of Kosice":"Regió de Koiceice", -"Slovakia_Region of Nitra":"Regió de Nitra", -"Slovakia_Region of Presov":"Regió de Preovov", -"Slovakia_Region of Trencin":"Regió de Trenčín", -"Slovakia_Region of Trnava":"Regió de Trnava", -"Slovakia_Region of Zilina":"Regió de Žilina", -"Slovenia":"Eslovènia", -"Solomon Islands":"Illes Salomó", -"Somalia":"Somàlia", -"South Africa":"Sud-àfrica", -"South Africa_Eastern Cape":"Cap oriental", -"South Africa_Free State":"Estat lliure", -"South Africa_Gauteng":"Gauteng", -"South Africa_KwaZulu-Natal":"KwaZulu-Natal", -"South Africa_Limpopo":"Limpopo", -"South Africa_Mpumalanga":"Mpumalanga", -"South Africa_North West":"Nord-oest", -"South Africa_Northern Cape":"Cap septentrional", -"South Africa_Western Cape":"Cap occidental", -"South Carolina":"Carolina del Sud", -"South Georgia and the South Sandwich Islands":"Geòrgia del Sud i les Illes Sandwich del Sud", -"South Korea":"Corea del Sud", -"South Korea_North":"Corea del Sud — nord", -"South Korea_South":"Corea del Sud — sud", -"South Ossetia":"Ossètia del Sud", -"South Sudan":"Sudan del Sud", -"Spain":"Espanya", -"Spain_Andalusia":"Andalusia", -"Spain_Aragon":"Aragó", -"Spain_Balearic Islands":"Illes Balears", -"Spain_Basque Country":"País Basc", -"Spain_Canary Islands":"Illes Canàries", -"Spain_Cantabria":"Cantàbria", -"Spain_Castile and Leon":"Castella i Lleó", -"Spain_Castile-La Mancha":"Castella-la Manxa", -"Spain_Catalonia_Provincia de Barcelona":"Catalunya – Barcelona", -"Spain_Catalonia_Provincia de Girona":"Catalunya – Girona", -"Spain_Catalonia_Provincia de Lleida":"Catalunya – Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Catalunya – Tarragona", -"Spain_Ceuta":"Ceuta", -"Spain_Community of Madrid":"Comunitat de Madrid", -"Spain_Comunidad Foral de Navarra":"Navarra", -"Spain_Extremadura":"Extremadura", -"Spain_Galicia":"Galícia", -"Spain_La Rioja":"La Rioja", -"Spain_Melilla":"Melilla", -"Spain_Principado de Asturias":"Astúries", -"Spain_Region de Murcia":"Regió de Múrcia", -"Spain_Valencian Community":"País Valencià", -"Sri Lanka":"Sri Lanka", -"Sudan":"Sudan", -"Suriname":"Surinari", -"Swaziland":"Eswatini", -"Sweden":"Suècia", -"Sweden_Bergslagen":"Bergslagen", -"Sweden_Malardalen":"Regió capital", -"Sweden_Mellannorrland":"Mellannorrland", -"Sweden_Norra Sverige":"Nord de Suècia", -"Sweden_Ostra Gotaland":"Glandtaland oriental", -"Sweden_Sodra Gotaland":"Glandtaland meridional", -"Sweden_Vastra Gotaland":"Glandtaland occidental", -"Switzerland":"Suïssa", -"Switzerland_Central":"Suïssa central", -"Switzerland_Eastern":"Suïssa oriental", -"Switzerland_Espace Mittelland":"Espace Mittelland", -"Switzerland_Lake Geneva region":"Regió del llac de Ginebra", -"Switzerland_Northwestern":"Nord-oest de Suïssa", -"Switzerland_Ticino":"Ticino", -"Switzerland_Zurich":"Zuric", -"Syria":"Síria", -"Taiwan":"Taiwan", -"Tajikistan":"Tadjikistan", -"Tanzania":"Tanzània", -"Tennessee":"Tennessee", -"Texas":"Texas", -"Thailand":"Tailàndia", -"Thailand_North":"Tailàndia — nord", -"Thailand_South":"Tailàndia — sud", -"The Bahamas":"Bahames", -"The Gambia":"Gàmbia", -"Togo":"Togo", -"Tokelau":"Tokelau", -"Tonga":"Tonga", -"Trinidad and Tobago":"Trinitat i Tobago", -"Tunisia":"Tunísia", -"Turkey":"Turquia", -"Turkey_Aegean Region":"Regió de l'Egeu", -"Turkey_Black Sea Region":"Regió del mar Negre", -"Turkey_Eastern Anatolia Region":"Regió d'Anatòlia Oriental", -"Turkey_Marmara Region":"Regió de la Màrmara", -"Turkey_Mediterranean Region":"Regió mediterrània", -"Turkey_Southeastern Anatolia Region":"Regió del sud-est d'Anatòlia", -"Turkmenistan":"Turkmenistan", -"Turks and Caicos Islands":"Illes Turks i Caicos", -"Tuvalu":"Tuvalu", -"UK_England_East Midlands":"East Midlands", -"UK_England_East of England_Essex":"Est d'Anglaterra — Essex", -"UK_England_East of England_Norfolk":"Est d'Anglaterra — Norfolk", -"UK_England_Greater London":"Gran Londres", -"UK_England_North East England":"Nord-est d'Anglaterra", -"UK_England_North West England":"Nord-oest d'Anglaterra", -"UK_England_South East_Brighton":"Sud-est d’Anglaterra— Brighton", -"UK_England_South East_Oxford":"Sud-est d’Anglaterra — Oxford", -"UK_England_South West England_Bristol":"Sud-oest d’Anglaterra — Bristol", -"UK_England_South West England_Cornwall":"Anglaterra del sud-oest — Cornualla", -"UK_England_West Midlands":"West Midlands", -"UK_England_Yorkshire and the Humber":"Yorkshire and the Humber", -"UK_Northern Ireland":"Irlanda del Nord", -"UK_Scotland_North":"Escòcia — nord", -"UK_Scotland_South":"Escòcia — sud", -"UK_Wales":"Gal·les", -"US_Alabama_Birmingham":"Birmingham", -"US_Alabama_Montgomery":"Montgomery", -"US_Alaska":"Alaska", -"US_Arizona_Flagstaff":"Flagstaff", -"US_Arizona_Phoenix":"Phoenix", -"US_Arizona_Tucson":"Tucson", -"US_Arkansas":"Arkansas", -"US_California_Bakersfield_Bakersfield":"Bakersfield", -"US_California_Bakersfield_Lancaster":"Lancaster", -"US_California_Chico":"Chico", -"US_California_LA":"Los Angeles", -"US_California_LA North":"Los Angeles — nord", -"US_California_Redding":"Redding", -"US_California_Sacramento_Fresno":"Fresno", -"US_California_Sacramento_Sacramento":"Sacramento", -"US_California_Sacramento_Stockton":"Stockton", -"US_California_San Diego":"San Diego", -"US_California_Santa_Clara_Palo Alto":"San Francisco", -"US_California_Santa_Clara_Santa Cruz":"Santa Cruz", -"US_Colorado_Aspen":"Aspen", -"US_Colorado_Denver":"Denver", -"US_Colorado_South":"Colorado — sud", -"US_Connecticut":"Connecticut", -"US_Delaware":"Delaware", -"US_Florida_Jacksonville":"Jacksonville", -"US_Florida_Miami":"Miami", -"US_Florida_Orlando":"Orlando", -"US_Florida_Tampa":"Tampa", -"US_Georgia":"Geòrgia", -"US_Georgia_Atlanta":"Atlanta", -"US_Georgia_Macon":"Macon", -"US_Georgia_North":"Geòrgia — nord", -"US_Georgia_South":"Geòrgia — sud", -"US_Guam":"Guam", -"US_Hawaii":"Hawaii", -"US_Idaho":"Idaho", -"US_Illinois_Chickago":"Chicago", -"US_Illinois_Elgin":"Elgin", -"US_Illinois_Rockford":"Rockford", -"US_Illinois_South":"Illinois — sud", -"US_Illinois_Springfield":"Springfield", -"US_Indiana_North":"Indiana — nord", -"US_Indiana_South":"Indiana — sud", -"US_Iowa_Des Moines":"Des Moines", -"US_Iowa_Waterloo":"Waterloo", -"US_Iowa_West":"Iowa — oest", -"US_Kansas_East":"Kansas — est", -"US_Kansas_West":"Kansas — oest", -"US_Kentucky_East":"Kentucky — est", -"US_Kentucky_West":"Kentucky — oest", -"US_Louisiana_Central":"Louisiana — oest", -"US_Louisiana_New Orleans":"Nova Orleans", -"US_Maine":"Maine", -"US_Maryland_Baltimore":"Baltimore", -"US_Maryland_and_DC":"West, Washington, DC", -"US_Massachusetts_Boston":"Boston", -"US_Massachusetts_Central":"Worcester", -"US_Massachusetts_Plymouth":"Plymouth", -"US_Massachusetts_Southeastern":"Barnstable", -"US_Massachusetts_West":"Springfield", -"US_Michigan_Detroit":"Detroit", -"US_Michigan_North":"Michigan — nord", -"US_Michigan_South":"Michigan — sud", -"US_Minnesota_Minneapolis":"Minneapolis", -"US_Minnesota_North":"Minnesota — nord", -"US_Minnesota_Rochester":"Rochester", -"US_Minnesota_Saint Cloud":"St. Cloud", -"US_Mississippi":"Mississipí", -"US_Missouri_East":"Missouri — est", -"US_Missouri_West":"Missouri — oest", -"US_Montana":"Montana", -"US_Nebraska":"Nebraska", -"US_Nevada":"Nevada", -"US_New Hampshire":"Nou Hampshire", -"US_New Jersey_North":"Nova Jersey — nord", -"US_New Jersey_South":"Nova Jersey — sud", -"US_New Mexico":"Nou Mèxic", -"US_New York_East":"Nova York — Long Island", -"US_New York_New York":"Nova York — Nova York", -"US_New York_North":"Nova York — nord", -"US_New York_West":"Nova York — oest", -"US_North Carolina_Asheville":"Asheville", -"US_North Carolina_Charlotte":"Charlotte", -"US_North Carolina_Greensboro":"Greensboro", -"US_North Carolina_Raleigh":"Raleigh", -"US_North Carolina_Wilmington":"Wilmington", -"US_North Carolina_Wilson":"Wilson", -"US_North Dakota_Bismarck":"Bismarck", -"US_North Dakota_East":"Fargo", -"US_North Dakota_Minot":"Minot", -"US_Ohio_Cleveland":"Cleveland", -"US_Ohio_Dayton":"Dayton", -"US_Oklahoma_East":"Oklahoma — est", -"US_Oklahoma_West":"Oklahoma — oest", -"US_Oregon_Eugene":"Eugene", -"US_Oregon_Portland":"Portland", -"US_Oregon_West":"Oregon — est", -"US_Pennsylvania_Central":"Altoona", -"US_Pennsylvania_Pittsburgh":"Pittsburgh", -"US_Pennsylvania_Reading":"Reading", -"US_Pennsylvania_Scranton":"Scranton", -"US_Puerto Rico":"Puerto Rico", -"US_Rhode Island":"Rhode Island", -"US_South Carolina_Columbia":"Columbia", -"US_South Carolina_Florence":"Florence", -"US_South Dakota":"Dakota del Sud", -"US_Tennessee_East":"Tennessee — est", -"US_Tennessee_West":"Tennessee — oest", -"US_Texas_Austin":"Austin", -"US_Texas_Dallas":"Dallas", -"US_Texas_Houston":"Houston", -"US_Texas_Northwest":"Amarillo", -"US_Texas_San Antonio":"San Antonio", -"US_Texas_Southwest":"Laredo", -"US_Texas_Tyler":"Tyler", -"US_Texas_Wako":"Waco", -"US_Texas_West":"Odessa", -"US_United States Minor Outlying Islands":"Illes Menors dels Estats Units", -"US_Utah":"Utah", -"US_Vermont":"Vermont", -"US_Virginia_Chesapeake":"Chesapeake", -"US_Virginia_Lynchburg":"Lynchburg", -"US_Virginia_Richmond":"Richmond", -"US_Virginia_Roanoke":"Roanoke", -"US_Washington_Coast":"Tacoma", -"US_Washington_Seattle":"Seattle", -"US_Washington_Yakima":"Yakima", -"US_West Virginia":"Virgínia Occidental", -"US_Wisconsin_Milwaukee":"Milwaukee", -"US_Wisconsin_North":"North Wisconsin", -"US_Wyoming":"Wyoming", -"Uganda":"Uganda", -"Ukraine":"Ucraïna", -"Ukraine_Cherkasy Oblast":"Província de Txerkasy", -"Ukraine_Chernihiv Oblast":"Província de Txerníhiv", -"Ukraine_Chernivtsi Oblast":"Província de Chernivtsi", -"Ukraine_Dnipropetrovsk Oblast":"Província de Dnipropetrovsk", -"Ukraine_Donetsk Oblast":"Província de Donetsk", -"Ukraine_Ivano-Frankivsk Oblast":"Província d'Ivano-Frankivsk", -"Ukraine_Kharkiv Oblast":"Província de Kharkiv", -"Ukraine_Kherson Oblast":"Província de Kherson", -"Ukraine_Khmelnytskyi Oblast":"Província de Khmelnitski", -"Ukraine_Kirovohrad Oblast":"Província de Kirovohrad", -"Ukraine_Kyiv Oblast":"Província de Kíiv", -"Ukraine_Luhansk Oblast":"Província de Luhansk", -"Ukraine_Lviv Oblast":"Província de Lviv", -"Ukraine_Mykolaiv Oblast":"Província de Mykolaiv", -"Ukraine_Odessa Oblast":"Província d'Odessa", -"Ukraine_Poltava Oblast":"Província de Poltava", -"Ukraine_Rivne Oblast":"Província de Rivne", -"Ukraine_Sumy Oblast":"Província de Sumy", -"Ukraine_Ternopil Oblast":"Província de Ternopil", -"Ukraine_Vinnytsia Oblast":"Província de Vinnytsia", -"Ukraine_Volyn Oblast":"Província de Volyn", -"Ukraine_Zakarpattia Oblast":"Província de Zakarpattia", -"Ukraine_Zaporizhia Oblast":"Província de Zaporizhzhya", -"Ukraine_Zhytomyr Oblast":"Província de Zhytomyr", -"United Arab Emirates":"Emirats Àrabs Units", -"United Kingdom":"Regne Unit", -"United States Virgin Islands":"Illes Verges dels Estats Units", -"United States of America":"Estats Units d'Amèrica", -"Uruguay":"Uruguai", -"Uzbekistan":"Uzbekistan", -"Vanuatu":"Vanuatu", -"Venezuela":"Veneçuela", -"Vietnam":"Vietnam", -"Virginia":"Virgínia", -"Wallis and Futuna":"Wallis i Futuna", -"Washington":"Washington", -"Willis Island":"Illa Willis", -"Wisconsin":"Wisconsin", -"Yemen":"Iemen", -"Zambia":"Zàmbia", -"Zimbabwe":"Zimbàbue", -"Argentina_Santa Fe":"Província de Santa Fe", -"Australia_Brisbane":"Brisbane", -"Australia_Sydney":"Sydney", -"Austria_Styria_Graz":"Estíria — Graz", -"Austria_Styria_Leoben":"Estíria — Leoben", -"Austria_Upper Austria_Linz":"Alta Àustria — Linz", -"Austria_Upper Austria_Wels":"Alta Àustria — Wels", -"Brazil_Goias_Brasilia":"Goiás — Brasília", -"Brazil_Goias_North":"Goiás — nord", -"Brazil_North Region_East":"Regió del Nord — est", -"Brazil_North Region_West":"Regió del Nord — oest", -"Brazil_Northeast Region_East":"Regió nord-est — est", -"Brazil_Northeast Region_West":"Regió nord-est — oest", -"Brazil_Parana_East":"Paranà — est", -"Brazil_Parana_West":"Paranà — oest", -"Brazil_South Region_East":"Regió del sud — est", -"Brazil_South Region_West":"Regió del sud — oest", -"Bulgaria_East":"Bulgària — est", -"Bulgaria_West":"Bulgària — oest", -"Canada_Ontario_Northeastern_W":"Wawa", -"Chile_Central":"Xile — centre", -"Congo-Kinshasa_Kivu":"Kivu", -"Congo-Kinshasa_West":"Congo — oest", -"Croatia_Central":"Croàcia — centre", -"Croatia_West":"Croàcia — oest", -"Ecuador_East":"Equador — est", -"Ecuador_West":"Equador — oest", -"Finland_Eastern Finland_North":"Finlàndia oriental — nord", -"Finland_Eastern Finland_South":"Finlàndia oriental — sud", -"Finland_Western Finland_Jyvaskyla":"Finlàndia occidental — Jyväskylä", -"Finland_Western Finland_Tampere":"Finlàndia occidental — Tampere", -"France_Free County_North":"Franc Comtat — nord", -"France_Free County_South":"Franc Comtat — sud", -"France_Pays de la Loire_Loire-Atlantique_Nantes":"Loira Atlàntic — Nantes", -"France_Pays de la Loire_Loire-Atlantique_Saint-Nazaire":"Loira Atlàntic — Saint-Nazaire", -"Germany_Free State of Bavaria_Upper Bavaria_South":"Alta Baviera — sud", -"India_Karnataka_North":"Karnataka — nord", -"India_Karnataka_South":"Karnataka — sud", -"Iran_East":"Iran — est", -"Iraq_North":"Iraq — nord", -"Iraq_South":"Iraq — sud", -"Japan_Chubu Region_Aichi_Nagoya":"Aichi — Nagoya", -"Japan_Chubu Region_Aichi_Toyohashi":"Aichi — Toyohashi", -"Japan_Hokkaido Region_Sapporo":"Sapporo", -"Japan_Kinki Region_Osaka_Osaka":"Ōsaka", -"Japan_Kinki Region_Osaka_West":"Ōsaka — oest", -"Kazakhstan_North":"Kazakhstan — nord", -"Kazakhstan_South":"Kazakhstan — sud", -"Lithuania_East":"Lituània — est", -"Lithuania_West":"Lituània — oest", -"Mexico_Chihuahua":"Chihuahua", -"Mexico_Sonora":"Sonora", -"Nepal_Kathmandu":"Katmandú", -"Nepal_Madhyamanchal":"Regió central", -"Nepal_Purwanchal":"Regió oriental", -"Nigeria_North":"Nigèria — nord", -"Nigeria_South":"Nigèria — sud", -"Norway_Hordaland":"Hordaland", -"Norway_Nordland":"Nordland", -"Norway_North Trondelag":"Nord-Trøndelag", -"Norway_Rogaland":"Rogaland", -"Norway_South Trondelag":"Sør-Trøndelag", -"Peru_Lima":"Lima", -"Portugal_Islands":"Illes de Portugal", -"Portugal_Viseu":"Viseu", -"Russia_Krasnoyarsk Krai_North":"Krai de Krasnoyarsk — nord", -"Russia_Krasnoyarsk Krai_South":"Krai de Krasnoyarsk — sud", -"Russia_Moscow Oblast_East":"Óblast de Moscou — est", -"Russia_Moscow Oblast_West":"Óblast de Moscou — oest", -"Russia_Perm Krai_North":"Krai del Perm — nord", -"Russia_Perm Krai_South":"Krai del Perm — sud", -"Russia_Republic of Karelia_North":"República de Carèlia — nord", -"Russia_Republic of Karelia_South":"República de Carèlia — sud", -"Russia_Sverdlovsk Oblast_North":"Óblast de Sverdlovsk — nord", -"Russia_Sverdlovsk Oblast_Ekaterinburg":"Província de Sverdlovsk — Yekaterinburg", -"Russia_Yugra_Khanty":"Yugra — Khanty-Mansiysk", -"Russia_Yugra_Surgut":"Yugra — Surgut", -"Saudi Arabia_North":"Aràbia Saudita — nord", -"Saudi Arabia_South":"Aràbia Saudita — sud", -"Slovenia_East":"Eslovènia — est", -"Slovenia_West":"Eslovènia — oest", -"Spain_Andalusia_Granada":"Andalusia — Granada", -"Spain_Andalusia_Sevilla":"Andalusia — Sevilla", -"Spain_Castile and Leon_East":"Castella i Lleó — est", -"Spain_Castile and Leon_West":"Castella i Lleó — oest", -"Spain_Galicia_North":"Galícia — nord", -"Spain_Galicia_South":"Galícia — sud", -"Sudan_East":"Sudan — est", -"Sudan_West":"Sudan — oest", -"Sweden_Stockholm":"Estocolm", -"Switzerland_Espace Mittelland_Bern":"Espace Mittelland — Berna", -"Switzerland_Espace Mittelland_East":"Espace Mittelland — est", -"Taiwan_North":"Taiwan — nord", -"Taiwan_South":"Taiwan — sud", -"Thailand_Central":"Tailàndia — centre", -"Turkey_Central Anatolia Region_Ankara":"Anatòlia Central — Ankara", -"Turkey_Central Anatolia Region_Kayseri":"Anatòlia Central — Kayseri", -"Turkey_Marmara Region_Bursa":"Regió de la Màrmara — Bursa", -"Turkey_Marmara Region_Istanbul":"Regió de Marmara — Istanbul", -"US_Arkansas_North":"Arkansas — nord", -"US_Arkansas_South":"Arkansas — sud", -"US_Florida_Gainesvile":"Gainesville", -"US_Idaho_North":"Idaho — nord", -"US_Idaho_South":"Idaho — sud", -"US_Indiana_Evansville":"Evansville", -"US_Indiana_Indianapolis":"Indianapolis", -"US_Kansas_Wichita":"Wichita", -"US_Kentucky_Louisville":"Louisville", -"US_Michigan_Grand Rapids":"Grand Rapids", -"US_Michigan_Lansing":"Lansing", -"US_Mississippi_Gulfport":"Gulfport", -"US_Mississippi_North":"Mississipí — nord", -"US_Missouri_Kansas":"Kansas City", -"US_Missouri_Springfield":"Springfield", -"US_Missouri_St Louis":"St. Louis", -"US_Montana_East":"Montana — est", -"US_Montana_West":"Montana — oest", -"US_Nebraska_East":"Nebraska — est", -"US_Nebraska_West":"Nebraska — oest", -"US_New Mexico_Albuquerque":"Albuquerque", -"US_New Mexico_Roswell":"Roswell", -"US_Ohio_Cincinnati":"Cincinnati", -"US_Ohio_Columbus":"Columbus", -"US_Ohio_Toledo":"Toledo", -"US_Oklahoma_Oklahoma":"Oklahoma City", -"US_Oklahoma_Tulsa":"Tulsa", -"US_South Carolina_Charleston":"Charleston", -"US_Texas_Amarillo":"Amarillo", -"US_Texas_Lubbock":"Lubbock", -"US_Utah_North":"Utah — nord", -"US_Utah_South":"Utah — sud", -"US_Virginia_Alexandria":"Alexandria", -"US_Wisconsin_Eau Claire":"Eau Claire", -"US_Wisconsin_Madison":"Madison", -"Venezuela_North":"Veneçuela — nord", -"Venezuela_South":"Veneçuela — sud", -"Argentina_Buenos Aires_Buenos Aires":"Buenos Aires", -"Canada_Quebek_Lachute":"Lachute", -"Canada_Saskatchewan_Regina":"Regina", -"Canada_Saskatchewan_Saskatoon":"Saskatoon", -"Germany_Lower Saxony_Braunschweig":"Braunschweig", -"Germany_Saxony-Anhalt_Halle":"Saxònia-Anhalt — Halle", -"Germany_Saxony-Anhalt_Magdeburg":"Saxònia-Anhalt — Magdeburg", -"Germany_Schleswig-Holstein_Flensburg":"Schleswig-Holstein — Flensburg", -"Germany_Schleswig-Holstein_Kiel":"Schleswig-Holstein — Kiel", -"Portugal_Porto":"Porto", -"UK_England_North West England_Lancaster":"North West England — Lancaster", -"UK_England_North West England_Manchester":"North West England — Manchester", -"US_Florida_Gainesville":"Gainesville", -"US_Texas_Victoria":"Victoria", -"US_Virginia_Norfolk":"Norfolk", -"Abkhazia Description":"Pitsunda, Gudauta, Sukhum", -"Afghanistan Description":"Kabul, Kandahar, Tokzar", -"Albania Description":"Tiranë, Kavaje, Shkoder", -"Algeria_Central Description":"Batna, Djelfa, Biskra", -"Algeria_Coast Description":"Algiers, Oran, Constantine", -"Andorra Description":"Andorra la Vella, La Massana, Ordino", -"Angola Description":"Luanda, Lobito, Namibe", -"Anguilla Description":"The Valley, George Hill, Stoney Ground", -"Antarctica Description":"McMurdo Station, Stația științifică chileeană „Villa Las Estrellas”, Rocky Cove", -"Antigua and Barbuda Description":"St. John's, English Harbour, Freetown", -"Argentina_Buenos Aires_Buenos Aires Description":"Buenos Aires, José C. Paz, González Catán", -"Argentina_Buenos Aires_North Description":"Dolores, Pinamar, Villa Gesell", -"Argentina_Buenos Aires_South Description":"Bahía Blanca, Miramar, Tandil", -"Argentina_Cuyo Description":"San Juan, San Rafael, San Luis", -"Argentina_Mesopotamia Description":"Federación, Paraná, Alvear", -"Argentina_Northwest Description":"San Miguel de Tucumán, San Fernando del Valle de Catamarca, San Salvador de Jujuy", -"Argentina_Pampas Description":"Córdoba, Santa Rosa, Río Cuarto", -"Argentina_Patagonia Description":"Cutral Co, Viedma, Comodoro Rivadavia", -"Argentina_Santa Fe Description":"Rosario, Santa Fe, Las Parejas", -"Armenia Description":"Yerevan, Ashtarak, Gyumri", -"Australia_Brisbane Description":"Brisbane, Redcliffe, Gold Coast", -"Australia_Melbourne Description":"Melbourne, Geelong, Yering", -"Australia_New South Wales Description":"Barham, Tuncurry, Tocumwal", -"Australia_Northern Territory Description":"Darwin, Tennant Creek, Mutitjulu", -"Australia_Queensland Description":"Charleville, Winton, Townsville", -"Australia_South Australia Description":"Adelaide, Port Lincoln, Murray Bridge", -"Australia_Sydney Description":"Sydney, Canberra, Newcastle", -"Australia_Tasmania Description":"Hobart, Strahan, Huonville", -"Australia_Victoria Description":"Wangaratta, Bendigo, Ballarat", -"Australia_Western Australia Description":"Perth, Joondalup, Kalgoorlie", -"Austria_Burgenland Description":"Oberpullendorf, Eisenstadt, Mattersburg", -"Austria_Carinthia Description":"Klagenfurt, Villach, Wolfsberg", -"Austria_Lower Austria_West Description":"St. Pölten", -"Austria_Lower Austria_Wien Description":"Vienna, Wiener Neustadt", -"Austria_Salzburg Description":"Salzburg, Oberndorf bei Salzburg, Abtenau", -"Austria_Styria_Graz Description":"Graz, Feldbach, Voitsberg", -"Austria_Styria_Leoben Description":"Eisenerz, Mariazell, Knittelfeld", -"Austria_Tyrol Description":"Innsbruck, Kufstein, Schwaz", -"Austria_Upper Austria_Linz Description":"Linz, Steyr, Ansfelden", -"Austria_Upper Austria_Wels Description":"Attnang-Puchheim, Wels, Schwanenstadt", -"Austria_Vorarlberg Description":"Dornbirn, Feldkirch, Bregenz", -"Azerbaijan Description":"Baku, Sumgayit, Ganja", -"Bahrain Description":"Manama, Riffa, Muharraq", -"Bangladesh Description":"Sylhet, Dhaka, Comilla", -"Barbados Description":"Bridgetown, Oistins, Speightstown", -"Belarus_Brest Region Description":"Brest, Pinsk, Baranovichi", -"Belarus_Homiel Region Description":"Homel, Mazyr, Zhlobin", -"Belarus_Hrodna Region Description":"Hrodna, Lida, Vawkavysk", -"Belarus_Maglieu Region Description":"Mahilyow, Babruysk, Čerykaŭ", -"Belarus_Minsk Region Description":"Minsk, Barysaw, Soligorsk", -"Belarus_Vitebsk Region Description":"Vitebsk, Orsha, Navapolatsk", -"Belgium_Antwerp Description":"Antwerp, Zwijndrecht, Berchem", -"Belgium_East Flanders Description":"Ghent, Deinze, Sint-Martens-Latem", -"Belgium_Flemish Brabant Description":"Brussels, Schaerbeek - Schaarbeek, Anderlecht", -"Belgium_Hainaut Description":"Mons, Charleroi, La Louvière", -"Belgium_Liege Description":"Liège, Seraing, Verviers", -"Belgium_Limburg Description":"Houthalen-Helchteren, Maasmechelen, Hasselt", -"Belgium_Luxembourg Description":"Arlon, Marche-en-Famenne, Bastogne", -"Belgium_Namur Description":"Namur, Mettet, Saint-Marc", -"Belgium_Walloon Brabant Description":"Braine-l'Alleud, Wavre, Ottignies-Louvain-la-Neuve", -"Belgium_West Flanders Description":"Bruges, Koksijde, Nieuwpoort", -"Belize Description":"Benque Viejo del Carmen, Belize City, Belmopan", -"Benin Description":"Natitingou, Abomey, Djougou", -"Bermuda Description":"St. George's, Hamilton, Somerset", -"Bhutan Description":"Thimphu, Ha, Mongar", -"Bolivia_North Description":"La Paz, Santa Cruz de la Sierra, El Alto", -"Bolivia_South Description":"Sucre, Cochabamba, Tupiza", -"Bosnia and Herzegovina_Brcko district of Bosnia and Herzegowina Description":"Brčko, Dubrave, Rašljani", -"Bosnia and Herzegovina_Entity Federation of Bosnia and Herzegovina Description":"Sarajevo, Mostar", -"Bosnia and Herzegovina_Republic of Srpska Description":"Banja Luka, Bijeljina, Derventa", -"Botswana Description":"Gaborone, Tsabong, Mochudi", -"Brazil_Bahia Description":"Salvador, Feira de Santana, Vitória da Conquista", -"Brazil_Goias_Brasilia Description":"Brasília, Goiânia, Aparecida de Goiânia", -"Brazil_Goias_North Description":"Goianésia, Jaraguá, Porangatu", -"Brazil_Mato Grosso Description":"Cuiabá, Várzea Grande, Rondonopolis", -"Brazil_Mato Grosso Do Sul Description":"Campo Grande, Dourados, Três Lagoas", -"Brazil_North Region_East Description":"Belém, Ananindeua, Macapa", -"Brazil_North Region_West Description":"Manaus, Porto Velho, Rio Branco", -"Brazil_Northeast Region_East Description":"Recife, Maceió, Jaboatão dos Guararapes", -"Brazil_Northeast Region_West Description":"Fortaleza, São Luís, Teresina", -"Brazil_Paraiba Description":"João Pessoa, Campina Grande, Santa Rita", -"Brazil_Parana_East Description":"Curitiba, Ponta Grossa, São José dos Pinhais", -"Brazil_Parana_West Description":"Londrina, Maringa, Cascavel", -"Brazil_Rio Grande do Norte Description":"Natal, Mossoró, Parnamirim", -"Brazil_Santa Catarina Description":"Joinville, Florianópolis, Blumenau", -"Brazil_South Region_East Description":"Porto Alegre, Caxias do Sul, Canoas", -"Brazil_South Region_West Description":"Santa Maria, Passo Fundo, Uruguaiana", -"Brazil_Southeast Region_Espirito Santo Description":"Serra, Vila Velha, Cariacica", -"Brazil_Southeast Region_Minas Gerais_Contagem Description":"Belo Horizonte, Contagem, Juiz de Fora", -"Brazil_Southeast Region_Minas Gerais_North Description":"Uberlandia, Montes Claros, Uberaba", -"Brazil_Southeast Region_Rio de Janeiro Description":"Rio de Janeiro, São Gonçalo, Duque de Caxias", -"Brazil_Southeast Region_Sao Paulo_Campinas Description":"Campinas, Sorocaba, Jundiaí", -"Brazil_Southeast Region_Sao Paulo_City Description":"São Paulo, Guarulhos, São Bernardo do Campo", -"Brazil_Southeast Region_Sao Paulo_West Description":"Ribeirão Preto, São José do Rio Preto, Franca", -"British Indian Ocean Territory Description":"Seabreeze Village, Camp Justice", -"British Virgin Islands Description":"Spanish Town, Road Town, East End", -"Brunei Description":"Bandar Seri Begawan, Muara, Seria", -"Bulgaria_East Description":"Varna, Burgas, Dobrich", -"Bulgaria_West Description":"Sofia, Plovdiv, Pleven", -"Burkina Faso Description":"Ouagadougou, Bobo-Dioulasso", -"Burundi Description":"Bujumbura, Bubanza, Cibitoke", -"Cambodia Description":"Phnom Penh, Kampong Speu, Takeo", -"Cameroon_Central Description":"Yaounde, Kousséri, Kribi", -"Cameroon_West Description":"Douala, Buea, Bamenda", -"Canada_Alberta_Edmonton Description":"Edmonton, Lacombe, Wetaskiwin", -"Canada_Alberta_North Description":"Grande Prairie, Peace River, Fort McMurray", -"Canada_Alberta_South Description":"Calgary, Chestermere, Lethbridge", -"Canada_British Columbia_Central Description":"Williams Lake, Quesnel, Prince George", -"Canada_British Columbia_Far_North Description":"East Pine, Tumbler Ridge, Hudson's Hope", -"Canada_British Columbia_Islands Description":"Saanich, Nanaimo, Victoria", -"Canada_British Columbia_North Description":"Prince Rupert, Terrace, Kitimat", -"Canada_British Columbia_Northeast Description":"Muskwa, Fort Nelson, Fontas", -"Canada_British Columbia_Southeast Description":"Merritt, Revelstoke, Vernon", -"Canada_British Columbia_Vancouver Description":"Vancouver, Surrey, Powell River", -"Canada_Labrador_North Description":"Nain, Postville, Hopedale", -"Canada_Labrador_South Description":"L'Anse-au-Clair, L'Anse-au-Clair, Forteau", -"Canada_Labrador_West Description":"Churchill Falls, Happy Valley-Goose Bay, Happy Valley - Goose Bay", -"Canada_Manitoba_Northeast Description":"Caribou, Manigotagan, English Brook", -"Canada_Manitoba_Northwest Description":"Young Point, Cormorant, Pickerel Narrows", -"Canada_Manitoba_South Description":"Foxwarren, Shoal Lake, Brandon", -"Canada_Manitoba_Winnipeg Description":"Winnipeg, Portage La Prairie, Killarney", -"Canada_New Brunswick Description":"Edmundston, Fredericton, Campbellton", -"Canada_Newfoundland_East Description":"Mount Pearl, St John's, Badger", -"Canada_Newfoundland_North Description":"St. Anthony, Kippens, Gallants", -"Canada_Newfoundland_South Description":"Fortune, Lamaline, Seal Cove", -"Canada_Newfoundland_West Description":"Codroy Valley, Port Aux Basques, Margaree", -"Canada_Northwest Territories_East Description":"Łutselk’e, Rocher River, Fork Lake", -"Canada_Northwest Territories_North Description":"Norman Wells, Inuvik, Fort Simpson", -"Canada_Northwest Territories_Yellowknife Description":"Yellowknife, Hay River, Fort Smith", -"Canada_Nova Scotia_Halifax Description":"Halifax, Bedford, Yarmouth", -"Canada_Nova Scotia_Sydney Description":"Sydney, Inverness, Westville", -"Canada_Nunavut_North Description":"CFB Alert, Grise Fiord, Eureka", -"Canada_Nunavut_South Description":"Repulse Bay, Arctic Bay, Naujaat", -"Canada_Ontario_Bame Description":"Barrie, Wasaga Beach, Deep River", -"Canada_Ontario_Kingston Description":"Ottawa, Belleville, Peterborough", -"Canada_Ontario_London Description":"London, Welland, Woodstock", -"Canada_Ontario_Northeastern_Central Description":"Timmins, Timmins, Iroquois Falls", -"Canada_Ontario_Northeastern_North Description":"Moose Factory, Moosonee, Kashechewan", -"Canada_Ontario_Northeastern_S Description":"Sudbury, Onaping, Dowling", -"Canada_Ontario_Northeastern_SE Description":"Englehart, Temagami, Mattawa", -"Canada_Ontario_Northeastern_SW Description":"Sault Ste. Marie, Sault Ste. Marie, Bruce Mines", -"Canada_Ontario_Northeastern_W Description":"Wawa, Dubreuilville, White River", -"Canada_Ontario_Northern Description":"Thunder Bay, Geraldton, Longlac", -"Canada_Ontario_Northwestern Description":"Pikangikum, Peawanuck, Sandy Lake", -"Canada_Ontario_Toronto Description":"Toronto, Guelph, Mississauga", -"Canada_Prince Edward Island Description":"Summerside, Charlottetown, Borden", -"Canada_Quebec_Quebec Description":"Quebec, Sherbrooke, Drummondville", -"Canada_Quebek_Far North Description":"Radisson, Akulivik, Inukjuak", -"Canada_Quebek_Lachute Description":"Gatineau, Maniwaki, Mansfield-et-Pontefract", -"Canada_Quebek_Montreal Description":"Montreal, Granby, Laval", -"Canada_Quebek_North Description":"Sept-Îles, Port-Cartier, Fermont", -"Canada_Quebek_Southeast_Rimouski Description":"Gaspé, Rimouski, Saint-Pascal", -"Canada_Quebek_Southeast_Saguenay Description":"Baie-Comeau, Saguenay, Saint-Félicien", -"Canada_Quebek_West_Chibougamau Description":"Chapais, Chibougamau, La Tuque", -"Canada_Quebek_West_Rouyn-Noranda Description":"Rouyn-Noranda, Lebel-sur-Quévillon, Senneterre", -"Canada_Saskatchewan_North Description":"Meadow Lake, Blaine Lake, Saint Walburg", -"Canada_Saskatchewan_Regina Description":"Melfort, Melville, Regina", -"Canada_Saskatchewan_Saskatoon Description":"Saskatoon, Warman, Hague", -"Canada_Yukon_North Description":"Ross River, Mayo, Dawson City", -"Canada_Yukon_Whitehorse Description":"Watson Lake, Whitehorse, Haines Junction", -"Cape Verde Description":"Praia, Ribeira Grande, Cidade de Espargos", -"Caribisch Nederland Description":"San Nicolaas, Willemstad, Oranjestad", -"Cayman Islands Description":"George Town, West Bay, West End", -"Central African Republic Description":"Bangui, Bouar, Baoro", -"Chad Description":"N'Djamena, Mao, Bol", -"Chile_Central Description":"Santiago, Pichilemu, San Antonio", -"Chile_North Description":"Hanga Roa, Iquique, Coquimbo", -"Chile_South Description":"Valdivia, Talcahuano, Coronel", -"China_Anhui Description":"Hefei, 包河区, 蜀山区", -"China_Chongqing Description":"Chongqing, Changshou, Kai", -"China_Fujian Description":"Longyan, Sanming, Shaowu", -"China_Gansu Description":"Lanzhou, Hongliuwan, Dangchengwan", -"China_Guangdong Description":"Guangzhou, Shenzhen, Jiāngmén", -"China_Guangxi Description":"Guigang, Dongxing, Wuzhou", -"China_Guizhou Description":"Guiyang, Liupanshui, Weining", -"China_Hebei Description":"Beijing, Tianjin, Shijiazhuang", -"China_Heilongjiang Description":"Harbin, Jixi, Ning'an", -"China_Henan Description":"Zhengzhou, 水磨村, Wugang", -"China_Hubei Description":"Wuhan, Jīngzhōu City, Dangyang", -"China_Hunan Description":"Changsha, Lianyuan, Liling", -"China_Inner Mongolia Description":"Hohhot, Baotou, Erenhot", -"China_Jiangsu Description":"Nanjing, Taixing, Xinyi", -"China_Jiangxi Description":"Ganzhou, Shangrao, Yichun", -"China_Jilin Description":"Changchun, Jilin, Meihekou", -"China_Liaoning Description":"Shenyang, Lingyuan, Wafangdian", -"China_Ningxia Hui Description":"Zhongwei, Wuzhong, Qingtongxia", -"China_Qinghai Description":"Dulan, Delingha, Gyêgu", -"China_Shaanxi Description":"Xi'an, Baoji, Hanzhong", -"China_Shandong Description":"Jinan, Tai'an, Zibo", -"China_Shanghai Description":"Shanghai, Jinshan, Putuo", -"China_Shanxi Description":"Taiyuan, Changzhi, Huozhou", -"China_Sichuan Description":"Chengdu, Panzhihua, Yibin", -"China_Tibet Autonomous Region Description":"Gya'gya, Chabkha, Shelkar", -"China_Xinjiang Description":"Kashgar, Tumxuk, Hotan", -"China_Yunnan Description":"Kunming, Zhedao, Yongbei", -"China_Zhejiang Description":"Jiande, Hangzhou, Lin'an", -"Colombia_East Description":"Mocoa, Villavicencio, Florencia", -"Colombia_North Description":"Cúcuta, Medellín, Cartagena", -"Colombia_West Description":"Bogota, Cali, Soacha", -"Comoros Description":"Moroni, Mutsamudu, Bazimini", -"Congo-Brazzaville Description":"Brazzaville, Pointe-Noire, Impfondo", -"Congo-Kinshasa_Kivu Description":"Bukavu, Beni, Goma", -"Congo-Kinshasa_West Description":"Kinshasa, Mbuji-Mayi, Lubumbashi", -"Cook Islands Description":"Rarotonga Muri, Avarua, Kimiangatau", -"Costa Rica Description":"San José, Palmira, Alajuela", -"Cote dIvoire Description":"Abidjan, Abobo, Yopougon", -"Crimea Description":"Sevastopol, Simferopol, Kerch", -"Croatia_Central Description":"Zagreb, Osijek, Ozalj", -"Croatia_West Description":"Split, Rijeka, Opatija", -"Cuba Description":"Havana, Santiago de Cuba, Cienfuegos", -"Cyprus Description":"Nicosia, Nicosia, Limassol", -"Czech_Jihovychod_Jihomoravsky kraj Description":"Brno, Znojmo", -"Czech_Jihovychod_Kraj Vysocina Description":"Jihlava, Třebíč", -"Czech_Jihozapad_Jihocesky kraj Description":"Budweis, Tábor, Písek", -"Czech_Jihozapad_Plzensky kraj Description":"Pilsen, Klatovy, Rokycany", -"Czech_Karlovasky kraj Description":"Carlsbad, Cheb, Sokolov", -"Czech_Moravskoslezsko Description":"Ostrava, Havířov, Karviná", -"Czech_Olomoucky kraj Description":"Olomouc, Prostějov, Přerov", -"Czech_Praha Description":"Prague, Netluky", -"Czech_Severovychod_Kralovehradecky kraj Description":"Hradec Králové, Náchod, Trutnov", -"Czech_Severovychod_Liberecky kraj Description":"Liberec, Jablonec nad Nisou, Hejnice", -"Czech_Severovychod_Pardubicky kraj Description":"Pardubice, Chrudim, Svitavy", -"Czech_Stredni Cechy_West Description":"Kladno, Mladá Boleslav, Mělník", -"Czech_Ustecky kraj Description":"Ústí nad Labem, Most, Chomutov", -"Czech_Zlinsky Kraj Description":"Zlín, Vsetín, Kroměříž", -"Denmark_Capital Region of Denmark Description":"Copenhagen, Skovlunde, Virum", -"Denmark_Central Denmark Region Description":"Aarhus, Juelsminde, Brabrand", -"Denmark_North Denmark Region Description":"Aalborg, Hjørring, Frederikshavn", -"Denmark_Region Zealand Description":"Roskilde, Næstved, Greve Strand", -"Denmark_Region of Southern Denmark Description":"Odense, Morud, Korup", -"Djibouti Description":"Djibouti, Randa, Yoboki", -"Dominica Description":"Roseau, Salisbury, Grand Bay", -"Dominican Republic Description":"Santo Domingo, Barahona, Azua", -"East Timor Description":"Dili, Pante Macassar, Viqueque", -"Ecuador_East Description":"Quito, Cuenca, Tena", -"Ecuador_West Description":"Guayaquil, Manta, Machala", -"Egypt Description":"Cairo, Alexandria, Giza", -"El Salvador Description":"San Salvador, Ahuachapan, Sonsonate", -"Equatorial Guinea Description":"Malabo, Mongomo, Bata", -"Eritrea Description":"ኣስመራ, Keren, Omhajer", -"Estonia_East Description":"Põltsamaa linn, Võru, Tartu", -"Estonia_West Description":"Tallinn, Pärnu, Maardu", -"Ethiopia Description":"Addis Ababa, Asella, Bahir Dar", -"Falkland Islands Description":"Stanley, Falkland Islands, Dunnose Head, Port Edgar", -"Faroe Islands Description":"Tórshavn, Klaksvík, Norðdepil", -"Federated States of Micronesia Description":"Palikir, Colonia, Tamworohi", -"Fiji Description":"Suva, Nasinu, Nadi", -"Finland_Eastern Finland_North Description":"Alapitkä, Koli, Kajaani", -"Finland_Eastern Finland_South Description":"Kuopio, Joensuu, Mikkeli", -"Finland_Northern Finland Description":"Oulu, Rovaniemi, Kokkola", -"Finland_Southern Finland_Helsinki Description":"Helsinki, Espoo, Vantaa", -"Finland_Southern Finland_Lappeenranta Description":"Kouvola, Lappeenranta, Kotka", -"Finland_Southern Finland_West Description":"Turku, Hämeenlinna, Salo", -"Finland_Western Finland_Jyvaskyla Description":"Jyväskylä, Lehtimäki, Kuorevesi", -"Finland_Western Finland_Tampere Description":"Tampere, Pori, Vaasa", -"France_Alsace_Bas-Rhin Description":"Strasbourg, Haguenau, Schiltigheim", -"France_Alsace_Haut-Rhin Description":"Mulhouse, Colmar, Saint-Louis", -"France_Aquitaine_Dordogne Description":"Périgueux, Bergerac, Sarlat-la-Canéda", -"France_Aquitaine_Gironde Description":"Bordeaux, Mérignac, Pessac", -"France_Aquitaine_Landes Description":"Mont-de-Marsan, Dax, Saint-Paul-lès-Dax", -"France_Aquitaine_Lot-et-Garonne Description":"Agen, Villeneuve-sur-Lot, Marmande", -"France_Aquitaine_Pyrenees-Atlantiques Description":"Pau, Bayonne, Anglet", -"France_Auvergne_Allier Description":"Montluçon, Vichy, Moulins", -"France_Auvergne_Cantal Description":"Aurillac, Saint-Flour, Arpajon-sur-Cère", -"France_Auvergne_Haute-Loire Description":"Le Puy-en-Velay, Monistrol-sur-Loire, Yssingeaux", -"France_Auvergne_Puy-de-Dome Description":"Clermont-Ferrand, Cournon-d'Auvergne, Riom", -"France_Brittany_Cotes-dArmor Description":"Saint-Brieuc, Kerbrézellic, Lannion", -"France_Brittany_Finistere Description":"Brest, Quimper, Le Relecq-Kerhuon", -"France_Brittany_Ille-et-Vilaine Description":"Rennes, Saint-Malo, Fougères", -"France_Brittany_Morbihan Description":"Lorient, Vannes, Lanester", -"France_Burgundy_Cote-dOr Description":"Dijon, Beaune, Chenôve", -"France_Burgundy_Nievre Description":"Nevers, Cosne-Cours-sur-Loire, Varennes-Vauzelles", -"France_Burgundy_Saone-et-Loire Description":"Chalon-sur-Saône, Mâcon, Le Creusot", -"France_Burgundy_Yonne Description":"Auxerre, Sens, Joigny", -"France_Centre-Val de Loire_Cher Description":"Bourges, Vierzon, Saint-Amand-Montrond", -"France_Centre-Val de Loire_Eure-et-Loir Description":"Chartres, Dreux, Lucé", -"France_Centre-Val de Loire_Indre Description":"Châteauroux, Issoudun, Déols", -"France_Centre-Val de Loire_Indre-et-Loire Description":"Tours, Joué-lès-Tours, Saint-Cyr-sur-Loire", -"France_Centre-Val de Loire_Loir-et-Cher Description":"Blois, Romorantin-Lanthenay, Vendôme", -"France_Centre-Val de Loire_Loiret Description":"Orléans, Fleury-les-Aubrais, Olivet", -"France_Champagne-Ardenne Description":"Reims, Troyes, Charleville-Mézières", -"France_Corsica Description":"Ajaccio, Bastia, Porto-Vecchio", -"France_Free County_North Description":"Besançon, Belfort, Montbéliard", -"France_Free County_South Description":"Pontarlier, Lons-le-Saunier, Saint-Claude", -"France_French Guiana Description":"Cayenne, Saint-Laurent-du-Maroni, Matoury", -"France_Ile-de-France_Essonne Description":"Évry, Corbeil-Essonnes, Massy", -"France_Ile-de-France_Hauts-de-Seine Description":"Boulogne-Billancourt, Nanterre, Courbevoie", -"France_Ile-de-France_Paris Description":"Paris, Campagne à Paris", -"France_Ile-de-France_Seine-Saint-Denis Description":"Saint-Denis, Montreuil, Aulnay-sous-Bois", -"France_Ile-de-France_Seine-et-Marne Description":"Chelles, Meaux, Jouarre", -"France_Ile-de-France_Val-dOise Description":"Argenteuil, Sarcelles, Cergy", -"France_Ile-de-France_Val-de-Marne Description":"Créteil, Vitry-sur-Seine, Champigny-sur-Marne", -"France_Ile-de-France_Yvelines Description":"Versailles, Sartrouville, Mantes-la-Jolie", -"France_Languedoc-Roussillon_Aude Description":"Narbonne, Carcassonne, ?", -"France_Languedoc-Roussillon_Gard Description":"Nîmes, Alès, Bagnols-sur-Cèze", -"France_Languedoc-Roussillon_Herault Description":"Montpellier, Béziers, Sète", -"France_Languedoc-Roussillon_Lozere Description":"Aumont-Aubrac, Mende, Marvejols", -"France_Languedoc-Roussillon_Pyrenees-Orientales Description":"Perpignan, Canet-en-Roussillon, Saint-Estève", -"France_Limousin Description":"Limoges, Brive-la-Gaillarde, Tulle", -"France_Lorraine_Meurthe-et-Moselle Description":"Nancy, Vandœuvre-lès-Nancy, Lunéville", -"France_Lorraine_Meuse Description":"Verdun, Bar-le-Duc, Commercy", -"France_Lorraine_Moselle Description":"Metz, Thionville, Montigny-lès-Metz", -"France_Lorraine_Vosges Description":"Épinal, Saint-Dié-des-Vosges, Gérardmer", -"France_Lower Normandy_Calvados Description":"Caen, Lisieux, Hérouville-Saint-Clair", -"France_Lower Normandy_Manche Description":"Cherbourg-Octeville, Cherbourg, Saint-Lô", -"France_Lower Normandy_Orne Description":"Alençon, Flers, Argentan", -"France_Midi-Pyrenees_Ariege Description":"Pamiers, Foix, Saint-Girons", -"France_Midi-Pyrenees_Aveyron Description":"Rodez, Millau, Villefranche-de-Rouergue", -"France_Midi-Pyrenees_Gers Description":"Auch, L'Isle-Jourdain, Condom", -"France_Midi-Pyrenees_Haute-Garonne Description":"Toulouse, Colomiers, Tournefeuille", -"France_Midi-Pyrenees_Hautes-Pyrenees Description":"Tarbes, Lourdes, Aureilhan", -"France_Midi-Pyrenees_Lot Description":"Cahors, Figeac, Gourdon", -"France_Midi-Pyrenees_Tarn Description":"Albi, Castres, Carmaux", -"France_Midi-Pyrenees_Tarn-et-Garonne Description":"Montauban, Castelsarrasin, Moissac", -"France_New Caledonia Description":"Poindimié, Nouméa, Ponérihouen", -"France_Nord-Pas-de-Calais_Lille Description":"Lille, Roubaix, Tourcoing", -"France_Nord-Pas-de-Calais_Nord Description":"Valenciennes, Douai, Cambrai", -"France_Nord-Pas-de-Calais_Pas-de-Calais Description":"Calais, Boulogne-sur-Mer, Arras", -"France_Pays de la Loire_Loire-Atlantique_Nantes Description":"Nantes, Saint-Herblain, Rezé", -"France_Pays de la Loire_Loire-Atlantique_Saint-Nazaire Description":"Saint-Nazaire, Guérande, La Baule-Escoublac", -"France_Pays de la Loire_Maine-et-Loire Description":"Angers, Cholet, Chemillé", -"France_Pays de la Loire_Mayenne Description":"Laval, Mayenne, Château-Gontier", -"France_Pays de la Loire_Sarthe Description":"Le Mans, La Flèche, Sablé-sur-Sarthe", -"France_Pays de la Loire_Vendee Description":"La Roche-sur-Yon, Challans, Les Herbiers", -"France_Picardy_Aisne Description":"Saint-Quentin, Soissons, Laon", -"France_Picardy_Oise Description":"Beauvais, Compiègne, Creil", -"France_Picardy_Somme Description":"Amiens, Abbeville, Albert", -"France_Poitou-Charentes_Charente Description":"Angoulême, Roumazières, Cognac", -"France_Poitou-Charentes_Charente-Maritime Description":"La Rochelle, Saintes, Rochefort", -"France_Poitou-Charentes_Deux-Sevres Description":"Niort, Bressuire, Parthenay", -"France_Poitou-Charentes_Vienne Description":"Poitiers, Châtellerault, Buxerolles", -"France_Provence-Alpes-Cote dAzur_Alpes-de-Haute-Provence Description":"Manosque, Digne-les-Bains, Sisteron", -"France_Provence-Alpes-Cote dAzur_Bouches-du-Rhone Description":"Marseille, Aix-en-Provence, Arles", -"France_Provence-Alpes-Cote dAzur_Hautes-Alpes Description":"Gap, Briançon, Embrun", -"France_Provence-Alpes-Cote dAzur_Maritime Alps Description":"Nice, Antibes, Cannes", -"France_Provence-Alpes-Cote dAzur_Var Description":"Toulon, La Seyne-sur-Mer, Hyères", -"France_Provence-Alpes-Cote dAzur_Vaucluse Description":"Avignon, Carpentras, Orange", -"France_Rhone-Alpes_Ain Description":"Bourg-en-Bresse, Oyonnax, Ambérieu-en-Bugey", -"France_Rhone-Alpes_Ardeche Description":"Annonay, Aubenas, Guilherand-Granges", -"France_Rhone-Alpes_Drome Description":"Valence, Montélimar, Romans-sur-Isère", -"France_Rhone-Alpes_Haute-Savoie Description":"Annecy, Thonon-les-Bains, Annemasse", -"France_Rhone-Alpes_Isere Description":"Grenoble, Saint-Martin-d'Hères, Échirolles", -"France_Rhone-Alpes_Loire Description":"Saint-Étienne, Roanne, Saint-Chamond", -"France_Rhone-Alpes_Rhone Description":"Lyon, Villeurbanne, Vénissieux", -"France_Rhone-Alpes_Savoie Description":"Chambéry, Aix-les-Bains, Albertville", -"France_Southern Islands Description":"Le Port, Saint-Denis, Coconi", -"France_Upper Normandy Description":"Le Havre, Rouen, Évreux", -"French Polynesia Description":"Vaitape, Vaitahu, Tiputa", -"Gabon Description":"Libreville, Port-Gentil, Sangala", -"Georgia Description":"Tbilisi, Kutaisi, Batumi", -"Germany_Baden-Wurttemberg_Regierungsbezirk Freiburg Description":"Freiburg im Breisgau, Villingen-Schwenningen, Constance", -"Germany_Baden-Wurttemberg_Regierungsbezirk Karlsruhe Description":"Mannheim, Karlsruhe, Heidelberg", -"Germany_Baden-Wurttemberg_Regierungsbezirk Stuttgart_Heilbronn Description":"Heilbronn, Schwäbisch Hall, Crailsheim", -"Germany_Baden-Wurttemberg_Regierungsbezirk Stuttgart_Stuttgart Description":"Stuttgart, Esslingen am Neckar, Ludwigsburg", -"Germany_Baden-Wurttemberg_Regierungsbezirk Tubingen Description":"Ulm, Reutlingen, Tübingen", -"Germany_Berlin Description":"Berlin, Falkenberg, Siedlung Grüneck", -"Germany_Brandenburg_North Description":"Brandenburg an der Havel, Potsdam, Panketal", -"Germany_Brandenburg_South Description":"Frankfurt (Oder), Cottbus, Cottbus", -"Germany_Free State of Bavaria_Lower Bavaria Description":"Landshut, Passau, Straubing", -"Germany_Free State of Bavaria_Lower Franconia Description":"Würzburg, Aschaffenburg, Schweinfurt", -"Germany_Free State of Bavaria_Middle Franconia Description":"Nuremberg, Fürth, Erlangen", -"Germany_Free State of Bavaria_Swabia Description":"Augsburg, Kempten (Allgäu), Neu-Ulm", -"Germany_Free State of Bavaria_Upper Bavaria_East Description":"Rosenheim, Rosenheim", -"Germany_Free State of Bavaria_Upper Bavaria_Ingolstadt Description":"Ingolstadt, Freising, Neuburg an der Donau", -"Germany_Free State of Bavaria_Upper Bavaria_Munchen Description":"Munich, Dachau", -"Germany_Free State of Bavaria_Upper Bavaria_South Description":"Pfistern, Schongau, Hohenpeißenberg", -"Germany_Free State of Bavaria_Upper Franconia Description":"Bayreuth, Bamberg, Hof", -"Germany_Free State of Bavaria_Upper Palatinate Description":"Regensburg, Amberg, Weiden in der Oberpfalz", -"Germany_Hamburg_main Description":"Hamburg, Nettelnburg, Fünfhausen", -"Germany_Hesse_Regierungsbezirk Darmstadt Description":"Frankfurt am Main, Wiesbaden, Darmstadt", -"Germany_Hesse_Regierungsbezirk Giessen Description":"Lauterbach, Gießen, Marburg", -"Germany_Hesse_Regierungsbezirk Kassel Description":"Kassel, Fulda, Vöhl", -"Germany_Lower Saxony_Braunschweig Description":"Brunswick, Göttingen, Wolfsburg", -"Germany_Lower Saxony_Bremen_Bremen Description":"Bremen, Bremerhaven, Uchte", -"Germany_Lower Saxony_Bremen_Munster Description":"Rotenburg (Wümme), Winsen (Luhe), Buxtehude", -"Germany_Lower Saxony_Hannover Description":"Hanover, Hildesheim, Bad Nenndorf", -"Germany_Lower Saxony_Oldenburg Description":"Osnabrück, Oldenburg, Nordhorn", -"Germany_Mecklenburg-Vorpommern Description":"Rostock, Schwerin, Wismar", -"Germany_North Rhine-Westphalia_Regierungsbezirk Arnsberg_Arnsberg Description":"Siegen, Arnsberg, Lüdenscheid", -"Germany_North Rhine-Westphalia_Regierungsbezirk Arnsberg_Dortmund Description":"Dortmund, Bochum, Hagen", -"Germany_North Rhine-Westphalia_Regierungsbezirk Detmold Description":"Bielefeld, Paderborn, Gütersloh", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Dusseldorf Description":"Düsseldorf, Wuppertal, Mönchengladbach", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Mulheim Description":"Essen, Duisburg, Krefeld", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Wesel Description":"Wesel, Kleve, Geldern", -"Germany_North Rhine-Westphalia_Regierungsbezirk Koln_Aachen Description":"Aachen, Düren, Simmerath", -"Germany_North Rhine-Westphalia_Regierungsbezirk Koln_Koln Description":"Cologne, Bonn, Leverkusen", -"Germany_North Rhine-Westphalia_Regierungsbezirk Munster_Munster Description":"Münster, Rheine, Ahlen", -"Germany_North Rhine-Westphalia_Regierungsbezirk Munster_Recklinghausen Description":"Gelsenkirchen, Bottrop, Recklinghausen", -"Germany_Rhineland-Palatinate_Koblenz Description":"Koblenz, Trier, Neuwied", -"Germany_Rhineland-Palatinate_South Description":"Mainz, Ludwigshafen am Rhein, Kaiserslautern", -"Germany_Saarland Description":"Saarbruecken, Neunkirchen (Saar), Homburg", -"Germany_Saxony-Anhalt_Halle Description":"Halle (Saale), Dessau-Roßlau, Zerbst/Anhalt", -"Germany_Saxony-Anhalt_Magdeburg Description":"Magdeburg, Halberstadt, Aschersleben", -"Germany_Saxony_Dresden Description":"Dresden, Görlitz, Schirgiswalde-Kirschau", -"Germany_Saxony_Leipzig Description":"Leipzig, Chemnitz, Zwickau", -"Germany_Schleswig-Holstein_Flensburg Description":"Flensburg, Elmshorn, Pinneberg", -"Germany_Schleswig-Holstein_Kiel Description":"Kiel, Lübeck, Neumünster", -"Germany_Thuringia Description":"Erfurt, Jena, Gera", -"Ghana Description":"Accra, Kumasi, Wechiau", -"Gibraltar Description":"Gibraltar, Catalan Bay", -"Greece_Decentralized Administration of Aegean Description":"Kos, Parikia, Naoussa", -"Greece_Decentralized Administration of Attica Description":"Athens, Egaleo, Kamatero", -"Greece_Decentralized Administration of Crete Description":"Heraklion, Elounda, Chania", -"Greece_Decentralized Administration of Epirus - Western Macedonia Description":"Eani, Ioannina, Galatini", -"Greece_Decentralized Administration of Macedonia and Thrace Description":"Thessaloniki, Makrochori, Platy", -"Greece_Decentralized Administration of Thessaly - Central Greece Description":"Chalkida, Larissa, Volos", -"Greece_Decentralized Administration of West Greece Description":"Patras, Lefkas, Kalamata", -"Greenland Description":"Kangaatsiaq, Qaqortoq, Paamiut", -"Grenada Description":"St. George's, Gouyave, Calivigny", -"Guadeloupe Description":"Les Abymes, Baie-Mahault, Le Gosier", -"Guatemala Description":"Guatemala City, Quetzaltenango (Xela), Santo Tomas De Castilla", -"Guernsey Description":"Saint Peter Port, St Anne, The Bridge", -"Guinea Description":"Conakry, Coyah, Nzérékoré", -"Guinea-Bissau Description":"Bissau, Mansôa, Bubaque", -"Guyana Description":"Georgetown, New Amsterdam, Port Kaituma", -"Haiti Description":"Port-au-Prince, Carrefour, Tabarre", -"Honduras Description":"Tegucigalpa, San Pedro Sula, Santa Barbara", -"Hungary_Kozep-Magyarorszag Description":"Budapest, Érd, Dunakeszi", -"Hungary_Northern Great Plain Description":"Debrecen, Szeged, Miskolc", -"Hungary_Transdanubia Description":"Pécs, Győr, Székesfehérvár", -"Iceland Description":"Reykjavik, Patreksfjörður, Grundarfjörður", -"India_Andaman and Nicobar Islands Description":"Port Blair, Wandoor, Ferrargunj", -"India_Andhra Pradesh Description":"Vijayawada, Visakhapatnam, Guntur", -"India_Arunachal Pradesh Description":"Koloriang, Along", -"India_Assam Description":"Guwahati, Silchar, Jorhat", -"India_Bihar Description":"Buxar, Patna, Gaya", -"India_Chandigarh Description":"Chandigarh, Palsora, Kaheri", -"India_Chhattisgarh Description":"Bilaspur, Ambikapur, Bhilai", -"India_Delhi Description":"Delhi, New Delhi, Nankheri", -"India_Goa Description":"Panaji, Margao, Bicholim", -"India_Gujarat Description":"Ahmedabad, Jamnagar, Surat", -"India_Haryana Description":"Panchkula, Rewari, Rohtak", -"India_Himachal Pradesh Description":"Nurpur, Mandi, Bharmour", -"India_Jammu and Kashmir Description":"Srinagar, Jammu, Udhampur", -"India_Jharkhand Description":"Ranchi, Dhanbad, Jamshedpur", -"India_Karnataka_North Description":"Belagavi, Hubballi, Mangaluru", -"India_Karnataka_South Description":"Bengaluru, Mysuru, Kolar Gold Fields", -"India_Kerala Description":"Thiruvananthapuram, Ernakulam, Thrissur", -"India_Lakshadweep Description":"Kavaratti, Minicoy, agatti village center", -"India_Madhya Pradesh Description":"Indore, Bhopal, Gwalior", -"India_Maharashtra Description":"Mumbai, Pune, Nagpur", -"India_Manipur Description":"Imphal, Imphal, Jiribam", -"India_Meghalaya Description":"Shillong, Garobandha, Betasing", -"India_Mizoram Description":"Aizawl, Lunglei, Mamit", -"India_Nagaland Description":"Kohima, Peren", -"India_Odisha Description":"Cuttack, Rourkela, Brahmapur", -"India_Punjab Description":"Jalandhar, Amritsar, Bathinda", -"India_Rajasthan Description":"Jaipur, Jodhpur, Kota", -"India_Sikkim Description":"Gangtok, Gayzing, Jorethang", -"India_Tamil Nadu Description":"Chennai, Kanyakumari, Namakkal", -"India_Telangana Description":"Hyderabad, Warangal, Khammam", -"India_Tripura Description":"Agartala, Bisramganj, Belonia", -"India_Uttar Pradesh Description":"Allahabad, Lucknow, Varanasi", -"India_Uttarakhand Description":"Dehradun, Roorkee, Haridwār", -"India_West Bengal Description":"Kolkata, Siliguri, Asansol", -"Indonesia_Central Description":"Makassar, Samarinda, Pontianak", -"Indonesia_East Description":"Sorong, Timika, Manokwari", -"Indonesia_Jawa Barat Description":"Jakarta, Bandung, Tangerang Selatan", -"Indonesia_Jawa Tengah Description":"Semarang, Yogyakarta, Surakarta", -"Indonesia_Jawa Timur Description":"Sumenep, Tulungagung, Batu", -"Indonesia_Nusa Tenggara Description":"Denpasar, Semarapura, Tambolaka", -"Indonesia_West Description":"Medan, SIak Sri Indrapura, Lampung Town", -"Iran_East Description":"Mashhad, Zahedan, Yazd", -"Iran_North Description":"Tehran, Karaj, Tabriz", -"Iran_South Description":"Isfahan, Shiraz, Ahvaz", -"Iraq_North Description":"Mosul, Erbil, Kirkuk", -"Iraq_South Description":"Baghdad, Karbala, Nasiriyah", -"Ireland_Connacht Description":"Galway City, Swinford, Mohill", -"Ireland_Leinster Description":"Dublin, Durrow, Prosperous", -"Ireland_Munster Description":"Cork, Caherciveen", -"Ireland_Northern Counties Description":"Glencolumbkille, Ardara, Glenties", -"Isle of Man Description":"Douglas, Onchan", -"Israel Description":"Tel Aviv-Yafo, Herzliya, Modiin-Maccabim-Reut", -"Italy_Abruzzo Description":"Pescara, Rosciolo, Pineto", -"Italy_Aosta Valley Description":"Quart, Aosta, Aosta", -"Italy_Apulia Description":"Bari, Taranto, Foggia", -"Italy_Basilicata Description":"Potenza, Matera, Melfi", -"Italy_Calabria Description":"Reggio di Calabria, Catanzaro, Cosenza", -"Italy_Campania Description":"Naples, Salerno, Torre del Greco", -"Italy_Emilia-Romagna_Bologna Description":"Bologna, Imola, Casalecchio di Reno", -"Italy_Emilia-Romagna_Ferrara Description":"Ferrara, Longastrino, Anita", -"Italy_Emilia-Romagna_Forli-Cesena Description":"Forlì, Cesena, Cesenatico", -"Italy_Emilia-Romagna_Modena Description":"Modena, Carpi, Sassuolo", -"Italy_Emilia-Romagna_Parma Description":"Parma, Fidenza, Salsomaggiore Terme", -"Italy_Emilia-Romagna_Piacenza Description":"Piacenza, San Nicolò a Trebbia, Ziano Piacentino", -"Italy_Emilia-Romagna_Ravenna Description":"Ravenna, Faenza, Lugo", -"Italy_Emilia-Romagna_Reggio Emilia Description":"Reggio nell'Emilia, Scandiano, Casalgrande", -"Italy_Emilia-Romagna_Rimini Description":"Rimini, Riccione, Santarcangelo di Romagna", -"Italy_Friuli-Venezia Giulia_Gorizia Description":"Gorizia, Monfalcone, Ronchi dei Legionari", -"Italy_Friuli-Venezia Giulia_Pordenone Description":"Pordenone, Sacile, San Vito al Tagliamento", -"Italy_Friuli-Venezia Giulia_Trieste Description":"Triest, Muggia / Milje, Aurisina / Nabrežina", -"Italy_Friuli-Venezia Giulia_Udine Description":"Udine, Codroipo, Cervignano del Friuli", -"Italy_Lazio Description":"Rome, Latina, Fiumicino", -"Italy_Liguria Description":"Genoa, La Spezia, La Spezia", -"Italy_Lombardy_Bergamo Description":"Bergamo, Tagliuno, Treviglio", -"Italy_Lombardy_Brescia Description":"Brescia, Bossotti, Lumezzane", -"Italy_Lombardy_Como Description":"Como, Como, Cantù", -"Italy_Lombardy_Cremona Description":"Cremona, Cremona, Trescore Cremasco", -"Italy_Lombardy_Lecco Description":"Lecco, Merate, Calolziocorte", -"Italy_Lombardy_Lodi Description":"Lodi, Codogno, Casalpusterlengo", -"Italy_Lombardy_Mantua Description":"Mantua, Mantua, Suzzara", -"Italy_Lombardy_Milan Description":"Milan, Sesto San Giovanni, Cinisello Balsamo", -"Italy_Lombardy_Monza and Brianza Description":"Monza, Besana in Brianza, Seregno", -"Italy_Lombardy_Pavia Description":"Pavia, Vigevano, Buscarella", -"Italy_Lombardy_Sondrio Description":"Sondrio, Sondrio, Morbegno", -"Italy_Lombardy_Varese Description":"Busto Arsizio, Varese, Gallarate", -"Italy_Marche Description":"Ancona, Pesaro", -"Italy_Molise Description":"Campobasso, Termoli, Isernia", -"Italy_Piemont_Alessandria Description":"Alessandria, Casale Monferrato, Novi Ligure", -"Italy_Piemont_Asti Description":"Asti, Canelli, Nizza Monferrato", -"Italy_Piemont_Biella Description":"Biella, Biella, Cossato", -"Italy_Piemont_Cuneo Description":"Cuneo, Verduno, Bergolo", -"Italy_Piemont_Novara Description":"Novara, Borgomanero, Trecate", -"Italy_Piemont_Torino Description":"Turin, Moncalieri, Rivoli", -"Italy_Piemont_Verbano-Cusio-Ossola Description":"Verbania, Domodossola, Omegna", -"Italy_Piemont_Vercelli Description":"Vercelli, Borgosesia, Santhià", -"Italy_Sardinia Description":"Casteddu/Cagliari, Sassari, Cuartu Sant'Aleni/Quartu Sant'Elena", -"Italy_Sicily Description":"Palermo, Catania, Messina", -"Italy_Trentino-Alto Adige Sudtirol Description":"Trento, Bolzano, Rovereto", -"Italy_Tuscany_Grosseto Description":"Arezzo, Monteriggioni, Grosseto", -"Italy_Tuscany_Massa e Carrara Description":"Lucca, Florence, Prato", -"Italy_Umbria Description":"Perugia, Terni, Foligno", -"Italy_Veneto_Belluno Description":"Belluno, Feltre, Sedico", -"Italy_Veneto_Padova Description":"Padua, Cittadella, Selvazzano Dentro", -"Italy_Veneto_Rovigo Description":"Rovigo, Badia Polesine, Adria", -"Italy_Veneto_Treviso Description":"Treviso, Conegliano, Castelfranco Veneto", -"Italy_Veneto_Venezia Description":"Venice, Mestre, Chioggia", -"Italy_Veneto_Verona Description":"Verona, Villafranca di Verona, Legnago", -"Italy_Veneto_Vicenza Description":"Vicenza, Bassano del Grappa, Schio", -"Jamaica Description":"Kingston, Montego Bay, Spanish Town", -"Japan_Chubu Region_Aichi_Nagoya Description":"Nagoya, Tsushima, Kiyosu", -"Japan_Chubu Region_Aichi_Toyohashi Description":"Tahara, Gamagori, Nishio", -"Japan_Chubu Region_Fukui Description":"Obama, Fukui, Sakai", -"Japan_Chubu Region_Gifu Description":"Gifu, Hida, Ena", -"Japan_Chubu Region_Ishikawa Description":"Kanazawa, Komatsu, Hakusan", -"Japan_Chubu Region_Nagano Description":"Okaya, Omachi, Nagano", -"Japan_Chubu Region_Niigata Description":"Niigata, Myoko, Sado", -"Japan_Chubu Region_Shizuoka Description":"Hamamatsu, Kosai, Fukuroi", -"Japan_Chubu Region_Toyama Description":"Toyama, Takaoka, Imizu", -"Japan_Chubu Region_Yamanashi Description":"Hokuto, Kofu, Nirasaki", -"Japan_Chugoku Region_Hiroshima Description":"Hiroshima, Ōtake, Kure", -"Japan_Chugoku Region_Okayama Description":"Okayama, Niimi, Kasaoka", -"Japan_Chugoku Region_Shimane Description":"Masuda, Gotsu, Hamada", -"Japan_Chugoku Region_Tottori Description":"Sakai-Minato, Kurayoshi, Yonago", -"Japan_Chugoku Region_Yamaguchi Description":"Nagato, Sanyo-Onoda, Shimonoseki", -"Japan_Hokkaido Region_East Description":"Kushiro, Nemuro, Obihiro", -"Japan_Hokkaido Region_North Description":"Asahikawa, Furano, Shibetsu", -"Japan_Hokkaido Region_Sapporo Description":"Sapporo, Ishikari, Iwamizawa", -"Japan_Hokkaido Region_West Description":"Hokuto, Date, Noboribetsu", -"Japan_Kanto_Chiba Description":"Tateyama, Kamagaya, Minamiboso", -"Japan_Kanto_Gunma Description":"Fujioka, Midori, Numata", -"Japan_Kanto_Ibaraki Description":"Inashiki, Hokota, Ishioka", -"Japan_Kanto_Kanagawa Description":"Yokohama, Sagamihara, Fujisawa", -"Japan_Kanto_Saitama Description":"Saitama, Kawaguchi, Hannō", -"Japan_Kanto_Tochigi Description":"Ashikaga, Kanuma, Sano", -"Japan_Kanto_Tokyo Description":"Tokyo, Setagaya, Hachiōji", -"Japan_Kinki Region_Mie Description":"Kumano, Tsu, Kameyama", -"Japan_Kinki Region_Nara Description":"Nara, Kashihara, Ikoma", -"Japan_Kinki Region_Osaka_Osaka Description":"Osaka, Ashiya, Sennan", -"Japan_Kinki Region_Osaka_West Description":"Kobe, Himeji, Ako", -"Japan_Kinki Region_Wakayama Description":"Wakayama, Tanabe, Kinokawa", -"Japan_Kyushu Region_Fukuoka Description":"Fukuoka, Kitakyūshū, Itoshima", -"Japan_Kyushu Region_Kagoshima Description":"Kagoshima, Satsumasendai, Minamisatsuma", -"Japan_Kyushu Region_Kumamoto Description":"Kumamoto, Amakusa, Kamiamakusa", -"Japan_Kyushu Region_Miyazaki Description":"Ebino, Kushima, Miyakonojo", -"Japan_Kyushu Region_Nagasaki Description":"Nagasaki, Goshima, Hirado", -"Japan_Kyushu Region_Oita Description":"Ōita, Yufu, Taketa", -"Japan_Kyushu Region_Okinawa Description":"Naha, Okinawa, Uruma", -"Japan_Kyushu Region_Saga Description":"Imari, Karatsu, Takeo", -"Japan_Shikoku Region_Ehime Description":"Matsuyama, Yawatahama, Uwajima", -"Japan_Shikoku Region_Kagawa Description":"Takamatsu, Tadotsu, Sakaide", -"Japan_Shikoku Region_Kochi Description":"Sukumo, Shimanto, Tosa-Shimizu", -"Japan_Shikoku Region_Kyoto Description":"Kyoto, Kyotango, Fukuchiyama", -"Japan_Shikoku Region_Tokushima Description":"Miyoshi, Awa, Yoshinogawa", -"Japan_Tohoku_Akita Description":"Oga, Nikaho, Daisen", -"Japan_Tohoku_Aomori Description":"Hirakawa, Towada, Aomori", -"Japan_Tohoku_Fukushima Description":"Kitakata, Sukagawa, Shirakawa", -"Japan_Tohoku_Iwate Description":"Morioka, Hachimantai, Ninohe", -"Japan_Tohoku_Miyagi Description":"Sendai, Higashimatsushima, Tome", -"Japan_Tohoku_Yamagata Description":"Nanyo, Higashine, Obanazawa", -"Jersey Description":"Saint Helier, St. Saviour, St. John", -"Jerusalem Description":"Jerusalem, 'Anata, Al-Walaja", -"Jordan Description":"Amman, Zarqa, Irbid", -"Kazakhstan_North Description":"Astana, Karaganda, Pavlodar", -"Kazakhstan_South Description":"Almaty, Shymkent, Aktobe", -"Kenya Description":"Nairobi, Kisumu, Kitale", -"Kingdom of Lesotho Description":"Maseru, Butha-Buthe, Mohale's Hoek", -"Kiribati Description":"Betio, Kabuna, Bairiki", -"Kuwait Description":"Kuwait City, Al Ahmadi, Jahra", -"Kyrgyzstan Description":"Bishkek, Osh, Balykchy", -"Laos Description":"Vientiane, Pakxan, Oudomxay", -"Latvia Description":"Riga, Daugavpils, Liepāja", -"Lebanon Description":"Beirut, Zahle, Sidon", -"Liberia Description":"Monrovia, Sanniquellie, Fish Town City", -"Libya Description":"Tripoli, Benghazi, Misrata", -"Liechtenstein Description":"Vaduz, Schaan, Triesen", -"Lithuania_East Description":"Vilnius, Kaunas, Alytus", -"Lithuania_West Description":"Klaipėda, Šiauliai, Panevėžys", -"Luxembourg Description":"Luxembourg, Mondorf-les-Bains, Esch-sur-Alzette", -"Macedonia Description":"Skopje, Ohrid, Kavadarci", -"Madagascar Description":"Antananarivo, Toamasina, Fianarantsoa", -"Malawi Description":"Lilongwe, Blantyre, Mzuzu", -"Malaysia Description":"Kuala Lumpur, Petaling Jaya, Kota Kinabalu", -"Maldives Description":"Feridhoo, Malé, Dhiggiri", -"Mali Description":"Bamako, Koulikoro, Ségou", -"Malta Description":"Valletta, Victoria, Zebbug", -"Marshall Islands Description":"Majuro, Jelter, Ebeye", -"Martinique Description":"Fort-de-France, Saint-Esprit, Schœlcher", -"Mauritania Description":"Nouakchott, Aleg, Ayoun el Atrous", -"Mauritius Description":"Port Louis, Flic en Flac, Rose Hill", -"Mexico_California Description":"Tijuana, Mexicali, La Paz", -"Mexico_Central_East Description":"Monterrey, Saltillo, Torreón", -"Mexico_Central_West Description":"Guadalajara, Aguascalientes, Zapopan", -"Mexico_Chihuahua Description":"Ciudad Juárez, Chihuahua, Ciudad Acuña", -"Mexico_East Description":"Mérida, Villahermosa, Cancún", -"Mexico_Mexico Description":"Mexico City, Puebla, Cuautitlán Izcalli", -"Mexico_Sonora Description":"Hermosillo, Ciudad Obregon, Heroica Nogales", -"Mexico_South Description":"León, Querétaro, Acapulco", -"Moldova Description":"Chișinău, Tiraspol, Bălți", -"Monaco Description":"Monaco, Monaco", -"Mongolia Description":"Ulaanbaatar, Khovd, Erdenet", -"Montenegro Description":"Podgorica, Niksic, Tuzi", -"Montserrat Description":"Brades, Salem", -"Morocco_Doukkala-Abda Description":"Casablanca, Marrakesh, Safi ⴰⵙⴼⵉ آسفي", -"Morocco_Rabat-Sale-Zemmour-Zaer Description":"Fez, Rabat, Salé ⵙⵍⴰ سلا", -"Morocco_Southern Description":"Meknès ⴰⵎⴽⵏⴰⵙ مكناس, Agadir, Oujda", -"Morocco_Western Sahara Description":"Laayoune, Guelmim, Assa ⴰⵙⵙⴰ آسـا", -"Mozambique Description":"Maputo, Matola, Praia de Bilene", -"Myanmar Description":"Yangon, Naypyidaw, Mandalay", -"Nagorno-Karabakh Description":"Stepanakert, Stepanakert, Hadrut", -"Namibia Description":"Windhoek, Opuwo, Eenhana", -"Nauru Description":"Yaren, Buada, Orro", -"Nepal_Kathmandu Description":"Kathmandu, Kathmandu, Patan", -"Nepal_Madhyamanchal Description":"Bharatpur, Birganj", -"Nepal_Purwanchal Description":"sarang pada, campa bazzar, Kerkha bajar", -"Nepal_West Description":"Butwal, Pokhara, Nepalgunj Sub Metropolitan City", -"Netherlands_Drenthe Description":"Assen, Emmen, Hoogeveen", -"Netherlands_Flevoland Description":"Almere, Lelystad, Dronten", -"Netherlands_Friesland Description":"Leeuwarden, Drachten, Sneek", -"Netherlands_Gelderland_Nijmegen Description":"Nijmegen, Groesbeek, Tiel", -"Netherlands_Gelderland_North Description":"Apeldoorn, Arnhem, Ede", -"Netherlands_Gelderland_Zutphen Description":"Doetinchem, Zutphen, Winterswijk", -"Netherlands_Groningen Description":"Groningen, Leek, Bedum", -"Netherlands_Limburg Description":"Maastricht, Venlo, Heerlen", -"Netherlands_North Brabant_Eindhoven Description":"'s-Hertogenbosch, Eindhoven, Helmond", -"Netherlands_North Brabant_Roosendaal Description":"Steenbergen, Roosendaal, Bergen op Zoom", -"Netherlands_North Brabant_Tiburg Description":"Tilburg, Breda, Baarle-Hertog", -"Netherlands_North Brabant_Uden Description":"Oss, Uden, Deurne", -"Netherlands_North Holland_Alkmaar Description":"Alkmaar, Hoorn, Den Helder", -"Netherlands_North Holland_Amsterdam Description":"Amsterdam, Haarlem, Hilversum", -"Netherlands_North Holland_Zaandam Description":"Purmerend, Zaandam, Beverwijk", -"Netherlands_Overijssel_Enschede Description":"Enschede, Hengelo, Almelo", -"Netherlands_Overijssel_Zwolle Description":"Zwolle, Deventer, Kampen", -"Netherlands_South Holland_Brielle Description":"Spijkenisse, Hellevoetsluis, Oud-Beijerland", -"Netherlands_South Holland_Den Haag Description":"The Hague, Zoetermeer, Delft", -"Netherlands_South Holland_Leiden Description":"Leiden, Alphen aan den Rijn, Leiderdorp", -"Netherlands_South Holland_Rotterdam Description":"Rotterdam, Dordrecht, Schiedam", -"Netherlands_Utrecht_Amersfoort Description":"Amersfoort, Veenendaal, Zeist", -"Netherlands_Utrecht_Utrecht Description":"Utrecht, Nieuwegein, Houten", -"Netherlands_Zeeland Description":"Middelburg, Vlissingen, Goes", -"New Zealand North_Auckland Description":"Auckland, Hamilton, Tauranga", -"New Zealand North_Wellington Description":"Wellington, Lower Hutt, Palmerston North", -"New Zealand South_Canterbury Description":"Christchurch, Nelson, Waimate", -"New Zealand South_Southland Description":"Dunedin, Invercargill, Tuatapere", -"Nicaragua Description":"Managua, Matagalpa, Bluefields", -"Niger Description":"Niamey, Maradi, Zinder", -"Nigeria_North Description":"Kano, Maiduguri, Sokoto", -"Nigeria_South Description":"Lagos, Ibadan, Abuja", -"Niue Description":"Alofi, Liku, Lakepa", -"North Korea Description":"Pyongyang, Hamhung, Nampo", -"Norway_Central Description":"Oslo, Sandvika, Drammen", -"Norway_Hedmark Description":"Brumunddal, Hamar, Elverum", -"Norway_Hordaland Description":"Bergen, Leirvik, Vossevangen", -"Norway_Jan Mayen Description":"Olonkin City", -"Norway_Nordland Description":"Bodø, Brønnøysund, Mosjøen", -"Norway_North Trondelag Description":"Kolvereid, Stjørdal, Steinkjer", -"Norway_Northern Description":"Tromsø, Finnsnes, Hammerfest", -"Norway_Oppland Description":"Lom, Raufoss, Gjøvik", -"Norway_Rogaland Description":"Stavanger, Sandnes, Haugesund", -"Norway_South Trondelag Description":"Trondheim, Røros, Titran", -"Norway_Southern Description":"Fredrikstad, Kristiansand, Sarpsborg", -"Norway_Svalbard Description":"Grumantbyen, Pyramiden, Longyearbyen", -"Norway_Western Description":"Ålesund, Molde", -"Oman Description":"Muscat, Al Khasal, As Suwaiq", -"Pakistan Description":"Karachi, Lahore, Faisalabad", -"Palau Description":"Melekeok, Palau, Koror", -"Palestine Description":"Gaza, Modi'in Illit, Nablus", -"Panama Description":"Panama, Santiago de Veraguas, Colón", -"Papua New Guinea Description":"Port Moresby, Lae, Vanimo", -"Paraguay Description":"Asuncion, San Lorenzo, Ciudad del Este", -"Peru_Lima Description":"Lima, Ica, Nazca", -"Peru_North Description":"Chiclayo, Iquitos, Piura", -"Peru_South Description":"Arequipa, Abancay, Moquegua", -"Philippines_Luzon_Manila Description":"Manila, Quezon City, Pasig", -"Philippines_Luzon_North Description":"Angeles, Palayan, Malolos", -"Philippines_Luzon_South Description":"Puerto Princesa, Masbate, Calapan", -"Philippines_Mindanao Description":"Zamboanga City, General Santos, Koronadal", -"Philippines_Visayas Description":"Bacolod, Cebu City, Tagbilaran", -"Pitcairn Islands Description":"Adamstown", -"Poland_Greater Poland Voivodeship Description":"Poznan, Kalisz, Jaraczewo", -"Poland_Kuyavian-Pomeranian Voivodeship Description":"Bydgoszcz, Toruń, Włocławek", -"Poland_Lesser Poland Voivodeship Description":"Krakow, Tarnów, Nowy Sącz", -"Poland_Lodz Voivodeship Description":"Łódź, Piotrków Trybunalski, Pabianice", -"Poland_Lower Silesian Voivodeship Description":"Wrocław, Wałbrzych, Legnica", -"Poland_Lublin Voivodeship Description":"Lublin, Chełm, Zamość", -"Poland_Lubusz Voivodeship Description":"Gorzów Wielkopolski, Zielona Góra, Lubniewice", -"Poland_Masovian Voivodeship Description":"Warsaw, Radom, Płock", -"Poland_Opole Voivodeship Description":"Opole, Biała, Baborów", -"Poland_Podlaskie Voivodeship Description":"Białystok, Czyżew, Suwałki", -"Poland_Pomeranian Voivodeship Description":"Gdańsk, Gdynia, Słupsk", -"Poland_Silesian Voivodeship Description":"Katowice, Częstochowa, Sosnowiec", -"Poland_Subcarpathian Voivodeship Description":"Rzeszów, Jedlicze, Dynów", -"Poland_Swietokrzyskie Voivodeship Description":"Kielce, Ostrowiec Świętokrzyski, Starachowice", -"Poland_Warmian-Masurian Voivodeship Description":"Olsztyn, Elbląg, Elk", -"Poland_West Pomeranian Voivodeship Description":"Szczecin, Koszalin, Redło", -"Portugal_Islands Description":"Funchal, Madalena, Calheta", -"Portugal_Porto Description":"Vila Nova de Gaia, Porto, Braga", -"Portugal_South Description":"Lisbon, Odivelas, Setúbal", -"Portugal_Viseu Description":"Viseu, Santo Adrião de Vizela, Felgueiras", -"Qatar Description":"Doha, Al-Rayyan, Barwa City", -"Republic of Kosovo Description":"Pristina, Mitrovica e Veriut, Ferizaj", -"Romania_Centre Description":"Brasov, Sibiu, Târgu Mureș", -"Romania_North_East Description":"Iași, Bacău, Botoșani", -"Romania_North_West Description":"Cluj-Napoca, Dej, Oradea", -"Romania_South Description":"Bucharest, Ploiești, Pitești", -"Romania_South_East Description":"Constanța, Galați, Brăila", -"Romania_South_West Description":"Craiova, Slatina, Râmnicu Vâlcea", -"Romania_West Description":"Timișoara, Arad, Reșița", -"Russia_Altai Krai Description":"Barnaul, Biysk, Rubtsovsk", -"Russia_Altai Republic Description":"Gorno-Altaysk, Mayma, Kosh-Agach", -"Russia_Amur Oblast Description":"Blagoveshchensk, Belogorsk, Svobodny", -"Russia_Arkhangelsk Oblast_Central Description":"Arkhangelsk, Severodvinsk, Novodvinsk", -"Russia_Arkhangelsk Oblast_North Description":"Kotlas, Koryazhma, Vychegodskiy", -"Russia_Astrakhan Oblast Description":"Astrakhan, Gospitomnika, Akhtubinsk", -"Russia_Bashkortostan Description":"Ufa, Sterlitamak, Salavat", -"Russia_Belgorod Oblast Description":"Belgorod, Stary Oskol, Gubkin", -"Russia_Bryansk Oblast Description":"Bryansk, Novozybkov, Клинцы", -"Russia_Buryatia Description":"Ulan-Ude, Selenduma, Джида", -"Russia_Chechen Republic Description":"Grozny, Urus-Martan, Shali", -"Russia_Chelyabinsk Oblast Description":"Chelyabinsk, Magnitogorsk, Zlatoust", -"Russia_Chukotka Autonomous Okrug Description":"Anadyr, Bilibino, Pevek", -"Russia_Chuvashia Description":"Cheboksary, Novocheboksarsk, Kanash", -"Russia_Ingushetia Description":"Nazran, Ordzhonikidzevskaya, Karabulak", -"Russia_Irkutsk Oblast Description":"Irkutsk, Bratsk, Angarsk", -"Russia_Ivanovo Oblast Description":"Ivanovo, Kineshma, Shuya", -"Russia_Jewish Autonomous Oblast Description":"Birobidzhan, Облучье, Николаевка", -"Russia_Kabardino-Balkaria Description":"Nalchik, Prokhladny, Baksan", -"Russia_Kaliningrad Oblast Description":"Kaliningrad, Sovetsk, Chernyakhovsk", -"Russia_Kaluga Oblast Description":"Kaluga, Obninsk, Babynino", -"Russia_Kamchatka Krai Description":"Petropavlovsk-Kamchatsky, Yelizovo, Vilyuchinsk", -"Russia_Karachay-Cherkessia Description":"Cherkessk, Pregradnaya, Ust-Dzheguta", -"Russia_Kemerov Oblast Description":"Kemerovo, Novokuznetsk, Prokopyevsk", -"Russia_Khabarovsk Krai Description":"Khabarovsk, Komsomolsk-on-Amur, Amursk", -"Russia_Khakassia Description":"Abakan, Chernogorsk, Sayanogorsk", -"Russia_Kirov Oblast Description":"Kirov, Kirovo-Chepetsk, Slobodskoy", -"Russia_Komi Republic Description":"Syktyvkar, Ukhta, Vorkuta", -"Russia_Kostroma Oblast Description":"Kostroma, Buy, Sharya", -"Russia_Krasnodar Krai Description":"Krasnodar, Novorossiysk, Armavir", -"Russia_Krasnodar Krai_Adygeya Description":"Sochi, Maykop, Gelendzhik", -"Russia_Krasnoyarsk Krai_North Description":"Norilsk, Dudinka, Северо-Енисейский", -"Russia_Krasnoyarsk Krai_South Description":"Krasnoyarsk, Achinsk, Kansk", -"Russia_Kurgan Oblast Description":"Kurgan, Shadrinsk, Варгаши", -"Russia_Kursk Oblast Description":"Kursk, Железногорск, Kurchatov", -"Russia_Leningradskaya Oblast_Karelsky Description":"Vyborg, Vsevolozhsk, Sertolovo", -"Russia_Leningradskaya Oblast_Southeast Description":"Gatchina, Sosnoviy Bor, Tikhvin", -"Russia_Lipetsk Oblast Description":"Lipetsk, Yelets, Gryazi", -"Russia_Magadan Oblast Description":"Magadan, Ola, Susuman", -"Russia_Mari El Description":"Yoshkar-Ola, Volzhsk, Kozmodemyansk", -"Russia_Moscow Description":"Moscow, Khimki, Troitsk", -"Russia_Moscow Oblast_East Description":"Balashikha, Podolsk, Korolyov", -"Russia_Moscow Oblast_West Description":"Zelenograd, Odintsovo, Krasnogorsk", -"Russia_Murmansk Oblast Description":"Murmansk, Apatity, Severomorsk", -"Russia_Nenets Autonomous Okrug Description":"Красное, Nar'yan-Mar, Искателей", -"Russia_Nizhny Novgorod Oblast Description":"Nizhny Novgorod, Dzerzhinsk, Arzamas", -"Russia_North Ossetia-Alania Description":"Vladikavkaz, Mozdok, Beslan", -"Russia_Novgorod Oblast Description":"Veliky Novgorod, Borovichi, Staraya Russa", -"Russia_Novosibirsk Oblast Description":"Novosibirsk, Berdsk, Iskitim", -"Russia_Omsk Oblast Description":"Omsk, Tara, Исилькуль", -"Russia_Orenburg Oblast Description":"Orenburg, Orsk, Novotroitsk", -"Russia_Oryol Oblast Description":"Oryol, Livny, Mtsensk", -"Russia_Penza Oblast Description":"Penza, Kuznetsk, Zarecnyy", -"Russia_Perm Krai_North Description":"Berezniki, Solikamsk, Lysva", -"Russia_Perm Krai_South Description":"Perm, Chaikovsky, Kungur", -"Russia_Primorsky Krai Description":"Vladivostok, Ussurijsk, Nahodka", -"Russia_Pskov Oblast Description":"Pskov, Velikiye Luki, Ostrov", -"Russia_Republic of Dagestan Description":"Makhachkala, Khasavyurt, Derbent", -"Russia_Republic of Kalmykia Description":"Elista, Lagan, Tsagan Aman", -"Russia_Republic of Karelia_North Description":"Kostomuksha, Segezha, Kem", -"Russia_Republic of Karelia_South Description":"Petrozavodsk, Kondopoga, Sortavala", -"Russia_Republic of Mordovia Description":"Saransk, Рузаевка, Kovylkino", -"Russia_Rostov Oblast Description":"Rostov-on-Don, Taganrog, Shakhty", -"Russia_Ryazan Oblast Description":"Ryazan, Kasimov, Skopin", -"Russia_Saint Petersburg Description":"Saint Petersburg, Kolpino, Pushkin", -"Russia_Sakha Republic Description":"Yakutsk, Neryungri, Mirny", -"Russia_Sakhalin Oblast Description":"Yuzhno-Sakhalinsk, Korsakov, Kholmsk", -"Russia_Samara Oblast Description":"Samara, Tolyatti, Syzran", -"Russia_Saratov Oblast Description":"Saratov, Engels, Balakovo", -"Russia_Smolensk Oblast Description":"Smolensk, Вязьма, Roslavl", -"Russia_Stavropol Krai Description":"Stavropol, Pyatigorsk, Kislovodsk", -"Russia_Sverdlovsk Oblast_Ekaterinburg Description":"Yekaterinburg, Kamensk-Uralsky, Pervouralsk", -"Russia_Sverdlovsk Oblast_North Description":"Nizhny Tagil, Serov, Novouralsk", -"Russia_Tambov Oblast Description":"Tambov, Michurinsk, Rasskazovo", -"Russia_Tatarstan Description":"Kazan, Naberezhnye Chelny, Nizhnekamsk", -"Russia_Tomsk Oblast Description":"Tomsk, Seversk, Strezhevoy", -"Russia_Tula Oblast Description":"Tula, Novomoskovsk, Donskoj", -"Russia_Tuva Description":"Kyzyl, Kaa-Khem, Ak-Dovurak", -"Russia_Tver Oblast Description":"Tver, Rzhev, Vysnij Volocek", -"Russia_Tyumen Oblast Description":"Tyumen, Tobolsk, Ishim", -"Russia_Udmurt Republic Description":"Izhevsk, Sarapul, Votkinsk", -"Russia_Ulyanovsk Oblast Description":"Ulyanovsk, Dimitrovgrad, Inza", -"Russia_Vladimir Oblast Description":"Vladimir, Kovrov, Murom", -"Russia_Volgograd Oblast Description":"Volgograd, Volzhskiy, Kamyshin", -"Russia_Vologda Oblast Description":"Vologda, Cherepovets, Сокол", -"Russia_Voronezh Oblast Description":"Voronezh, Borisoglebsk, Rossosh", -"Russia_Yamalo-Nenets Autonomous Okrug Description":"Novy Urengoy, Noyabrsk, Salekhard", -"Russia_Yaroslavl Oblast Description":"Yaroslavl, Rybinsk, Pereslavl-Zalessky", -"Russia_Yugra_Khanty Description":"Khanty-Mansiysk, Nyagan, Uray", -"Russia_Yugra_Surgut Description":"Surgut, Nizhnevartovsk, Nefteyugansk", -"Russia_Zabaykalsky Krai Description":"Chita, Krasnokamensk, Borzya", -"Rwanda Description":"Kigali, Gisenyi, Huye", -"Sahrawi Arab Democratic Republic Description":"Lagouira ⵍⴳⵡⵉⵔⴰ الكويرة, Tifariti ⵜⵉⴼⴰⵔⵉⵜⵉ تيفاريتي, Mijik", -"Saint Barthelemy Description":"Gustavia", -"Saint Helena Ascension and Tristan da Cunha Description":"Jamestown, Half Tree Hollow, Georgetown", -"Saint Kitts and Nevis Description":"Basseterre, Charlestown, Newcastle", -"Saint Lucia Description":"Castries, Castries, Soufriere", -"Saint Martin Description":"Philipsburg, Cul-de-Sac, Cole Bay", -"Saint Vincent and the Grenadines Description":"Kingstown, Clifton, Ashton", -"Samoa Description":"Āpia, Sālelologa, Asau", -"San Marino Description":"City of San Marino, Serravalle, Borgo Maggiore", -"Sao Tome and Principe Description":"São Tomé, Neves, São João dos Angolares", -"Saudi Arabia_North Description":"Jeddah, Mecca, Medina", -"Saudi Arabia_South Description":"Riyadh, Hofuf, Dammam", -"Senegal Description":"Dakar, Pikine, Fatick", -"Serbia Description":"Belgrade, Novi Sad, Nis", -"Seychelles Description":"Victoria, Port Launay, Bel Ombre", -"Sierra Leone Description":"Freetown, Bo, Kambia", -"Singapore Description":"Singapore, Ladang, Rocky Hill", -"Slovakia_Region of Banska Bystrica Description":"Banská Bystrica, Zvolen, Lučenec", -"Slovakia_Region of Bratislava Description":"Bratislava, Petržalka, Ružinov", -"Slovakia_Region of Kosice Description":"Košice, gelnica, Michalovce", -"Slovakia_Region of Nitra Description":"Nitra, Nové Zámky", -"Slovakia_Region of Presov Description":"Prešov, Poprad, Humenné", -"Slovakia_Region of Trencin Description":"Trenčín, Prievidza, Považská Bystrica", -"Slovakia_Region of Trnava Description":"Trnava, Trnava, Piešťany", -"Slovakia_Region of Zilina Description":"Žilina, Martin, Liptovský Mikuláš", -"Slovenia_East Description":"Maribor, Dobova, Kisovec", -"Slovenia_West Description":"Ljubljana, Jagodje, Naklo", -"Solomon Islands Description":"Buala, Lata, Honiara", -"Somalia Description":"Mogadishu, Baardheere, Baidoa", -"South Africa_Eastern Cape Description":"Port Elizabeth, Grahamstown, Mthatha", -"South Africa_Free State Description":"Botshabelo, Thaba Nchu, Welkom", -"South Africa_Gauteng Description":"Johannesburg, Pretoria, Soweto", -"South Africa_KwaZulu-Natal Description":"Durban, Ladysmith, Pietermaritzburg", -"South Africa_Limpopo Description":"Mokopane, Louis Trichardt, Polokwane", -"South Africa_Mpumalanga Description":"Emalahleni, Nelspruit, Secunda", -"South Africa_North West Description":"Mafikeng, Rustenburg, Klerksdorp", -"South Africa_Northern Cape Description":"Upington, Kimberley, Pofadder", -"South Africa_Western Cape Description":"Cape Town, Mitchells Plain, Khayelitsha", -"South Georgia and the South Sandwich Islands Description":"Husvik, King Edward Point, Grytviken", -"South Korea_North Description":"Seoul, Incheon, Daejeon", -"South Korea_South Description":"Busan, Daegu, Changwon", -"South Ossetia Description":"Tskhinval, Khumisarta, Chitiani", -"South Sudan Description":"Juba, Yambio, Leer", -"Spain_Andalusia_Granada Description":"Granada, Almeria, Jaén", -"Spain_Andalusia_Sevilla Description":"Málaga, Seville, Córdoba", -"Spain_Aragon Description":"Zaragoza, Teruel, Huesca", -"Spain_Balearic Islands Description":"Palma de Mallorca, Ibiza city, Santa Eulària des Riu", -"Spain_Basque Country Description":"Bilbao, Vitoria-Gasteiz, Donostia-San Sebastián", -"Spain_Canary Islands Description":"Las Palmas de Gran Canaria, Santa Cruz de Tenerife, Arrecife", -"Spain_Cantabria Description":"Santander, Tanos, San Román de la Llanilla", -"Spain_Castile and Leon_East Description":"Burgos, Valladolid, Palencia", -"Spain_Castile and Leon_West Description":"Salamanca, León, Zamora", -"Spain_Castile-La Mancha Description":"Albacete, Guadalajara, Cuenca", -"Spain_Catalonia_Provincia de Barcelona Description":"Barcelona, l'Hospitalet de Llobregat, Badalona", -"Spain_Catalonia_Provincia de Girona Description":"Sant Antoni, Girona, Figueres", -"Spain_Catalonia_Provincia de Lleida Description":"Lleida, Mollerussa, Balaguer", -"Spain_Catalonia_Provincia de Tarragona Description":"Tarragona, Reus, el Vendrell", -"Spain_Ceuta Description":"Ceuta, Fronteriza", -"Spain_Community of Madrid Description":"Madrid, Móstoles, Alcalá de Henares", -"Spain_Comunidad Foral de Navarra Description":"Pamplona, Tudela, Barañáin", -"Spain_Extremadura Description":"Badajoz, Mérida, Cáceres", -"Spain_Galicia_North Description":"A Coruña, Lugo, Santiago de Compostela", -"Spain_Galicia_South Description":"Vigo, Ourense, Pontevedra", -"Spain_La Rioja Description":"Logroño, Arnedo, Calahorra", -"Spain_Melilla Description":"Melilla", -"Spain_Principado de Asturias Description":"Oviedo / Uviéu, Xixón, Avilés", -"Spain_Region de Murcia Description":"Murcia, Cartagena, Lorca", -"Spain_Valencian Community Description":"Valencia, Alacant/Alicante, Castellón de la Plana", -"Sri Lanka Description":"Colombo, Kandy, Rambukkana", -"Sudan_East Description":"Port Sudan, Kassala, El Hawata", -"Sudan_West Description":"Khartoum, Omdurman, Nyala", -"Suriname Description":"Paramaribo, Groningen, Brokopondo", -"Swaziland Description":"Mbabane, Sidvokodvo, Bulembu", -"Sweden_Bergslagen Description":"Örebro, Gävle, Karlstad", -"Sweden_Malardalen Description":"Uppsala, Västerås, Eskilstuna", -"Sweden_Mellannorrland Description":"Sundsvall, Östersund, Örnsköldsvik", -"Sweden_Norra Sverige Description":"Umeå, Luleå, Piteå", -"Sweden_Ostra Gotaland Description":"Linköping, Norrköping, Jönköping", -"Sweden_Sodra Gotaland Description":"Malmö, Helsingborg, Lund", -"Sweden_Stockholm Description":"Stockholm, Huddinge, Nacka", -"Sweden_Vastra Gotaland Description":"Gothenburg, Borås, Mölndal", -"Switzerland_Central Description":"Lucerne, Oberarth, Emmen", -"Switzerland_Eastern Description":"St. Gallen, Schaffhausen, Chur", -"Switzerland_Espace Mittelland_Bern Description":"Bern, Biel/Bienne, Köniz", -"Switzerland_Espace Mittelland_East Description":"Thun, Langenthal, Steffisburg", -"Switzerland_Lake Geneva region Description":"Geneva, Lausanne, Vernier", -"Switzerland_Northwestern Description":"Basel, Lenzburg, Riehen", -"Switzerland_Ticino Description":"Lugano, Bellinzona, Locarno", -"Switzerland_Zurich Description":"Zurich, Winterthur, Illnau", -"Syria Description":"Damascus, Aleppo, Homs", -"Taiwan_North Description":"Taipei City, Taoyuan District, Taichung City", -"Taiwan_South Description":"Kaohsiung City, Tainan City, Chiayi City", -"Tajikistan Description":"Dushanbe, Khujand, Shahrinav", -"Tanzania Description":"Dar es Salaam, Dodoma, Kigoma", -"Thailand_Central Description":"Nam Som, Nakhon Ratchasima, Udon Thani", -"Thailand_North Description":"Chiang Mai, Santi Suk District, Mae Ai", -"Thailand_South Description":"Bangkok, Nonthaburi, Chaophraya Surasak", -"The Bahamas Description":"Nassau, Freeport, Tarpum Bay", -"The Gambia Description":"Banjul, Serrekunda, Wassu", -"Togo Description":"Lomé, Dapaong, Niamtougou", -"Tokelau Description":"Tokelau", -"Tonga Description":"Nuku'alofa, Ma'ufanga, Neiafu", -"Trinidad and Tobago Description":"Port of Spain, San Fernando, Chaguanas", -"Tunisia Description":"Tunis, Sfax, Ariana", -"Turkey_Aegean Region Description":"Izmir, Denizli, Muğla", -"Turkey_Black Sea Region Description":"Bolu, Samsun, Trabzon", -"Turkey_Central Anatolia Region_Ankara Description":"Ankara, Eskişehir, Konya", -"Turkey_Central Anatolia Region_Kayseri Description":"Kırşehir, Sivas, Nevşehir", -"Turkey_Eastern Anatolia Region Description":"Muş, Ağrı, Van", -"Turkey_Marmara Region_Bursa Description":"Bursa, Çanakkale, Yalova", -"Turkey_Marmara Region_Istanbul Description":"Istanbul, Edirne, Tekirdağ", -"Turkey_Mediterranean Region Description":"Antalya, Burdur, Antakya", -"Turkey_Southeastern Anatolia Region Description":"Gaziantep, Şanlıurfa, Adıyaman", -"Turkmenistan Description":"Ashgabat, Dashoguz, Türkmenabat", -"Turks and Caicos Islands Description":"Cockburn Town, Providenciales, Cockburn Harbor", -"Tuvalu Description":"Funafuti, Vaiaku, Tokelau", -"UK_England_East Midlands Description":"Nottingham, Leicester, Derby", -"UK_England_East of England_Essex Description":"Luton, Colchester, Southend-on-Sea", -"UK_England_East of England_Norfolk Description":"Norwich, Peterborough, Cambridge", -"UK_England_Greater London Description":"London, Croydon, Ilford", -"UK_England_North East England Description":"Sunderland, Newcastle upon Tyne", -"UK_England_North West England_Lancaster Description":"Blackpool, Whitehaven, Egremont", -"UK_England_North West England_Manchester Description":"Manchester, Liverpool, Salford", -"UK_England_South East_Brighton Description":"Brighton, Royal Tunbridge Wells, Maidstone", -"UK_England_South East_Oxford Description":"Southampton, Milton Keynes, Portsmouth", -"UK_England_South West England_Bristol Description":"Bristol, City of Bath, Bournemouth", -"UK_England_South West England_Cornwall Description":"Plymouth, Exeter, St Ives", -"UK_England_West Midlands Description":"Birmingham, Coventry, Wolverhampton", -"UK_England_Yorkshire and the Humber Description":"Sheffield, Wakefield, Bradford", -"UK_Northern Ireland Description":"Newry, Belfast, Londonderry/Derry", -"UK_Scotland_North Description":"Aberdeen, Dundee, Tobermory", -"UK_Scotland_South Description":"Glasgow, Edinburgh, Millport", -"UK_Wales Description":"Cardiff, Swansea, Newport", -"US_Alabama_Birmingham Description":"Warrior, Vestavia Hills, Scottsboro", -"US_Alabama_Montgomery Description":"Creola, Centreville, Valley", -"US_Alaska Description":"Scammon Bay, McGrath, Fort Wainright", -"US_Arizona_Flagstaff Description":"Cottonwood, Holbrook, Show Low", -"US_Arizona_Phoenix Description":"Phoenix, Mesa, Mesa", -"US_Arizona_Tucson Description":"Tucson, South Tucson, Bisbee", -"US_Arkansas_North Description":"Ward, Cabot, Des Arc", -"US_Arkansas_South Description":"Stamps, Rockport, Rockport", -"US_California_Bakersfield_Bakersfield Description":"Arroyo Grande, Pismo Beach, Maricopa", -"US_California_Bakersfield_Lancaster Description":"Hesperia, Big Bear Lake, Holtville", -"US_California_Chico Description":"Tehama, Cloverdale, Cloverdale", -"US_California_LA Description":"Los Angeles, Long Beach, Rosemead", -"US_California_LA North Description":"Santa Barbara, Ojai, Avalon", -"US_California_Redding Description":"Ferndale, Rio Dell, Arcata", -"US_California_Sacramento_Fresno Description":"Fresno, Selma, Bishop", -"US_California_Sacramento_Sacramento Description":"Sacramento, West Sacramento, Placerville", -"US_California_Sacramento_Stockton Description":"Ceres, Ione, Tracy", -"US_California_San Diego Description":"San Diego, San Marcos, Banning", -"US_California_Santa_Clara_Palo Alto Description":"San José, San Francisco, Los Altos", -"US_California_Santa_Clara_Santa Cruz Description":"Seaside, Gonzales, Gonzales", -"US_Colorado_Aspen Description":"Central City, Black Hawk, Woodland Park", -"US_Colorado_Denver Description":"Denver, Colorado Springs, Commerce City", -"US_Colorado_South Description":"Salida, Walsenburg, Las Animas", -"US_Connecticut Description":"East Haven, Groton, Thomaston", -"US_Delaware Description":"City of Seaford, Rehoboth Beach, Milford", -"US_Florida_Gainesville Description":"Gainesville, Palm Bay, Melbourne", -"US_Florida_Jacksonville Description":"Jacksonville, Panama City Beach, Lynn Haven", -"US_Florida_Miami Description":"Miami, Marco Island, Fort Lauderdale", -"US_Florida_Orlando Description":"Orlando, Deltona, Kissimmee", -"US_Florida_Tampa Description":"Oldsmar, Tampa, Saint Petersburg", -"US_Georgia_Atlanta Description":"Atlanta, Chamblee, Walnut Grove", -"US_Georgia_Macon Description":"Grovetown, Perry, Byron", -"US_Georgia_North Description":"Emerson, Jefferson, Cartersville", -"US_Georgia_South Description":"De Soto, Santa Claus, Pearson", -"US_Guam Description":"Dededo Flea (Market), Tumon Golf Driving Range, San José", -"US_Hawaii Description":"Hilo, Kailua-Kona, Kahului", -"US_Idaho_North Description":"Huetter, Peck, Hayden", -"US_Idaho_South Description":"Arco, Middleton, Greenleaf", -"US_Illinois_Chickago Description":"Chicago, Palos Hills, Park City", -"US_Illinois_Elgin Description":"Geneva, Country Club Hills, Wheaton", -"US_Illinois_Rockford Description":"Princeton, Prophetstown, Moline", -"US_Illinois_South Description":"Casey, Wamac, Mount Vernon", -"US_Illinois_Springfield Description":"Mount Pulaski, Lacon, Kewanee", -"US_Indiana_Evansville Description":"Rockport, New Albany, Princeton", -"US_Indiana_Indianapolis Description":"Indianapolis, Connersville, Greensburg", -"US_Indiana_North Description":"Elwood, Kokomo, Whiting", -"US_Iowa_Des Moines Description":"Indianola, Slater, Martensdale", -"US_Iowa_Waterloo Description":"Dixon, Floyd, Elma", -"US_Iowa_West Description":"Churdan, Orange City, Paton", -"US_Kansas_East Description":"Benedict, Coffeyville, Severance", -"US_Kansas_West Description":"Burr Oak, Hunter, Randolph", -"US_Kansas_Wichita Description":"Whitewater, Cedar Point, Sublette", -"US_Kentucky_East Description":"Hyden, Stanton, Pineville", -"US_Kentucky_Louisville Description":"Louisville, Fordsville, Meadowview Estates", -"US_Kentucky_West Description":"Marion, Corydon, Barlow", -"US_Louisiana_Central Description":"Pineville, Marksville, Bunkie", -"US_Louisiana_New Orleans Description":"Bogalusa, Gonzales, Plaquemine", -"US_Maine Description":"Westbrook, Brewer, South Portland", -"US_Maryland_Baltimore Description":"Baltimore, Pocomoke City, Crisfield", -"US_Maryland_and_DC Description":"Washington, D.C., Gaithersburg, Bowie", -"US_Massachusetts_Boston Description":"Boston, Lowell, Cambridge", -"US_Massachusetts_Central Description":"Fitchburg, Southbridge, Leominster", -"US_Massachusetts_Plymouth Description":"Brockton, New Bedford, Fall River", -"US_Massachusetts_Southeastern Description":"Barnstable, Falmouth, Yarmouth", -"US_Massachusetts_West Description":"Greenfield, Springfield", -"US_Michigan_Detroit Description":"Detroit, Hamtramck, Keego Harbor", -"US_Michigan_Grand Rapids Description":"Manton, Whitehall, Muskegon", -"US_Michigan_Lansing Description":"City of Burton, Lapeer, Tawas City", -"US_Michigan_North Description":"Caspian, Iron Mountain, Gaastra", -"US_Minnesota_Minneapolis Description":"Lindstrom, Forest Lake, Greenfield", -"US_Minnesota_North Description":"Erskine, Gully, Hackensack", -"US_Minnesota_Rochester Description":"Arco, New Auburn, Welcome", -"US_Minnesota_Saint Cloud Description":"Brooten, St. Rosa, Genola", -"US_Mississippi_Gulfport Description":"D'Iberville, Ocean Springs, Lucedale", -"US_Mississippi_North Description":"Rolling Fork, Leland, Collins", -"US_Missouri_East Description":"Scott City, Ellington, Viburnum", -"US_Missouri_Kansas Description":"Kansas City, Belton, Gallatin", -"US_Missouri_Springfield Description":"Conway, Osceola, Battlefield", -"US_Missouri_St Louis Description":"Queen City, La Grange, Fulton", -"US_Montana_East Description":"Harlem, Hobson, Colstrip", -"US_Montana_West Description":"Cut Bank, Kalispell, Shelby", -"US_Nebraska_East Description":"Omaha, Stanton, Pawnee City", -"US_Nebraska_West Description":"Bassett, Long Pine, Bloomfield", -"US_Nevada Description":"Las Vegas, Winnemucca, Caliente", -"US_New Hampshire Description":"Somersworth, Laconia, Franklin", -"US_New Jersey_North Description":"Hackensack, Garfield, Lambertville", -"US_New Jersey_South Description":"Absecon, Long Branch, Margate City", -"US_New Mexico_Albuquerque Description":"Albuquerque, Raton, Bloomfield", -"US_New Mexico_Roswell Description":"Eunice, Socorro, Jal", -"US_New York_East Description":"Brookhaven, New Rochelle, Mount Vernon", -"US_New York_New York Description":"New York, New York City, Inwood", -"US_New York_North Description":"City of Cohoes, City of Schenectady, Beacon", -"US_New York_West Description":"Oswego, Jamestown, North Tonawanda", -"US_North Carolina_Asheville Description":"Morganton, Brevard, Marion", -"US_North Carolina_Charlotte Description":"Charlotte, Shelby, Statesville", -"US_North Carolina_Greensboro Description":"Thomasville, Hamlet, Albemarle", -"US_North Carolina_Raleigh Description":"Raleigh, Roxboro, Graham", -"US_North Carolina_Wilmington Description":"Clinton, Boiling Spring Lakes, Laurinburg", -"US_North Carolina_Wilson Description":"New Bern, Havelock, Elizabeth City", -"US_North Dakota_Bismarck Description":"Zap, Reeder, Stanton", -"US_North Dakota_East Description":"Harwood, Cavalier, Lakota", -"US_North Dakota_Minot Description":"Makoti, Bowdon, Kramer", -"US_Ohio_Cincinnati Description":"St. Bernard, Centerville, Madeira", -"US_Ohio_Cleveland Description":"Streetsboro, Willoughby Hills, Avon Lake", -"US_Ohio_Columbus Description":"Columbus, Pickerington, Reynoldsburg", -"US_Ohio_Toledo Description":"Bucyrus, Crestline, Maumee", -"US_Oklahoma_East Description":"Ada, Coalgate, Konawa", -"US_Oklahoma_Oklahoma Description":"Oklahoma City, Noble, Del City", -"US_Oklahoma_Tulsa Description":"Shidler, Prague, Beggs", -"US_Oklahoma_West Description":"Cherokee, Thomas, Perry", -"US_Oregon_Eugene Description":"Albany, Medford, Coos Bay", -"US_Oregon_Portland Description":"Salem, Newport, Government Camp", -"US_Oregon_West Description":"Bend, The Dalles, Klamath Falls", -"US_Pennsylvania_Central Description":"DuBois, St. Marys, Latrobe", -"US_Pennsylvania_Pittsburgh Description":"New Kensington, Uniontown, Monongahela", -"US_Pennsylvania_Reading Description":"Philadelphia, Coatesville, Reading", -"US_Pennsylvania_Scranton Description":"Carbondale, Pittston, Williamsport", -"US_Puerto Rico Description":"San Juan, Mayaguez, Ponce", -"US_Rhode Island Description":"Narragansett, Providence, Warwick", -"US_South Carolina_Charleston Description":"Barnwell, Goose Creek, Folly Beach", -"US_South Carolina_Columbia Description":"Belton, Travelers Rest, Walhalla", -"US_South Carolina_Florence Description":"Tega Cay, Bishopville, Johnsonville", -"US_South Dakota Description":"Irene, Centerville, Baltic", -"US_Tennessee_East Description":"Pigeon Forge, Celina, Friendsville", -"US_Tennessee_West Description":"Memphis, Nashville, Medina", -"US_Texas_Amarillo Description":"Pampa, Jolly, Howardwick", -"US_Texas_Austin Description":"Austin, Hutto, Belton", -"US_Texas_Dallas Description":"Dallas, Fort Worth, Rowlett", -"US_Texas_Houston Description":"Houston, Seabrook, Plum Grove", -"US_Texas_Lubbock Description":"Sudan, Ralls, Goree", -"US_Texas_San Antonio Description":"San Antonio, Rockport, Mathis", -"US_Texas_Southwest Description":"Leakey, Camp Wood, Carrizo Springs", -"US_Texas_Tyler Description":"Troup, Cottonwood, Fate", -"US_Texas_Victoria Description":"Niederwald, Lockhart, Palacios", -"US_Texas_Wako Description":"Calvert, Golinda, Bruceville-Eddy", -"US_Texas_West Description":"El Paso, Westbrook, Stanton", -"US_United States Minor Outlying Islands Description":"Lulu Town, Millersville", -"US_Utah_North Description":"Holladay, South Ogden, Murray", -"US_Utah_South Description":"Parowan, Hildale, Enoch", -"US_Vermont Description":"Saint Albans, Barre, South Burlington", -"US_Virginia_Alexandria Description":"Fairfax, Fredericksburg, Falls Church", -"US_Virginia_Lynchburg Description":"Lynchburg City, Bedford, Staunton", -"US_Virginia_Norfolk Description":"Virginia Beach, Poquoson City, Franklin City", -"US_Virginia_Richmond Description":"Emporia, Colonial Heights, Richmond", -"US_Virginia_Roanoke Description":"Galax, Norton, Radford City", -"US_Washington_Coast Description":"Raymond, Camas, Port Townsend", -"US_Washington_Seattle Description":"Seattle, Edmonds, Sultan", -"US_Washington_Yakima Description":"Pullman, Grand Coulee, White Salmon", -"US_West Virginia Description":"Stonewood, Bluefield, Mullens", -"US_Wisconsin_Eau Claire Description":"Durand, Fountain City, River Falls", -"US_Wisconsin_Madison Description":"Edgerton, Mineral Point, Brodhead", -"US_Wisconsin_Milwaukee Description":"Milwaukee, Lake Mills, Brillion", -"US_Wisconsin_North Description":"Montreal, Tomahawk, Marinette", -"US_Wyoming Description":"Worland, Rawlins, Kemmerer", -"Uganda Description":"Kampala, Yumbe, Kanoni", -"Ukraine_Cherkasy Oblast Description":"Cherkasy, Uman, Smila", -"Ukraine_Chernihiv Oblast Description":"Chernihiv, Nizhyn, Pryluky", -"Ukraine_Chernivtsi Oblast Description":"Chernivtsi, Storozhynets, Zastavna", -"Ukraine_Dnipropetrovsk Oblast Description":"Dnipropetrovsk, Krivoy Rog, Dniprodzerzhynsk", -"Ukraine_Donetsk Oblast Description":"Donetsk, Mariupol, Makiivka", -"Ukraine_Ivano-Frankivsk Oblast Description":"Ivano-Frankivsk, Kalush, Kolomyia", -"Ukraine_Kharkiv Oblast Description":"Kharkiv, Lozova, Kupiansk", -"Ukraine_Kherson Oblast Description":"Kherson, Nova Kakhovka, Наддніпрянське", -"Ukraine_Khmelnytskyi Oblast Description":"Khmelnytskyi, Kamianets-Podilskyi, Shepetivka", -"Ukraine_Kirovohrad Oblast Description":"Kirovohrad, Oleksandriia, Svitlovodsk", -"Ukraine_Kyiv Oblast Description":"Kyiv, Bila Tserkva, Brovary", -"Ukraine_Luhansk Oblast Description":"Luhansk, Alchevsk, Sievierodonetsk", -"Ukraine_Lviv Oblast Description":"Lviv, Sambir City Council, Drohobych", -"Ukraine_Mykolaiv Oblast Description":"Mykolaiv, Pervomaisk, Yuzhnoukrainsk", -"Ukraine_Odessa Oblast Description":"Odessa, Izmail, Chornomorsk", -"Ukraine_Poltava Oblast Description":"Poltava, Kremenchuk, Komsomolsk", -"Ukraine_Rivne Oblast Description":"Rivne, Kuznetsovsk, Dubno", -"Ukraine_Sumy Oblast Description":"Sumy, Konotop, Shostka", -"Ukraine_Ternopil Oblast Description":"Ternopil, Chortkiv, Kremenets", -"Ukraine_Vinnytsia Oblast Description":"Vinnytsia, Ворошиловка, Zhmerynka", -"Ukraine_Volyn Oblast Description":"Lutsk, Kovel, Novovolynsk", -"Ukraine_Zakarpattia Oblast Description":"Uzhhorod, Mukacheve, Khust", -"Ukraine_Zaporizhia Oblast Description":"Zaporizhzhia, Melitopol, Berdiansk", -"Ukraine_Zhytomyr Oblast Description":"Zhytomyr, Berdychiv, Korosten", -"United Arab Emirates Description":"Abu Dhabi, Dubai, Ajman", -"United States Virgin Islands Description":"Frederiksted, Christiansted, Christiansted", -"Uruguay Description":"Montevideo, Ciudad de la Costa, Salto", -"Uzbekistan Description":"Tashkent, Kokand, Namangan", -"Vanuatu Description":"Port Vila, Vao Mainland, Saratamata", -"Venezuela_North Description":"Valencia, Barquisimeto, Maracay", -"Venezuela_South Description":"Maracaibo, Ciudad Guayana, San Cristóbal", -"Vietnam Description":"Hanoi, Ho Chi Minh City, Vung Tau", -"Wallis and Futuna Description":"Mata-Utu, Fiua, Tavai", -"Yemen Description":"Sana'a, Sanʿaʾ, Aden", -"Zambia Description":"Lusaka, Kitwe, Ndola", -"Zimbabwe Description":"Harare, Hwange, Masvingo", -"United States of America Short":"USA", -"Bosnia and Herzegovina Short":"B&H", -"Palestine Region Short":"Palestine", -"United Kingdom Short":"UK", -"Czech Republic Short":"Czechia", -"Argentina_Buenos Aires_North Short":"Buenos Aires", -"Argentina_Buenos Aires_South Short":"Buenos Aires", -"Austria_Lower Austria_West Short":"Lower Austria", -"Brazil_Southeast Region_Minas Gerais_North Short":"Minas Gerais", -"Brazil_Southeast Region_Sao Paulo_West Short":"São Paulo", -"Czech_Stredni Cechy_East Short":"Central Bohemian Region", -"Czech_Stredni Cechy_West Short":"Central Bohemian Region", -"Finland_Southern Finland_West Short":"Southwest Finland", -"Germany_Brandenburg_North Short":"Brandenburg", -"Germany_Brandenburg_South Short":"Brandenburg", -"Germany_Rhineland-Palatinate_South Short":"Rhineland-Palatinate", -"Mexico_Central_East Short":"Nuevo León", -"Mexico_Central_West Short":"Nayarit", -"Netherlands_Gelderland_North Short":"Gelderland", -"Norway_Central Short":"Oslo", -"Philippines_Luzon_North Short":"Luzon", -"Philippines_Luzon_South Short":"Luzon", -"Romania_North_East Short":"Nord-Est", -"Romania_North_West Short":"Nord-Vest", -"Romania_South Short":"Sud", -"Romania_South_East Short":"Sud-Est", -"Romania_South_West Short":"Sud-Vest", -"Romania_West Short":"Vest", -"Russia_Arkhangelsk Oblast_Central Short":"Arkhangelsk Oblast", -"Russia_Arkhangelsk Oblast_North Short":"Arkhangelsk Oblast", -"Switzerland_Central Short":"Central Switzerland", -"UK_Scotland_North Short":"Scotland", -"UK_Scotland_South Short":"Scotland", -"Brazil_Goias_North Short":"Goiás", -"Brazil_North Region_East Short":"North Region", -"Brazil_North Region_West Short":"North Region", -"Brazil_Northeast Region_East Short":"Northeast Region", -"Brazil_Northeast Region_West Short":"Northeast Region", -"Brazil_Parana_East Short":"Paraná", -"Brazil_Parana_West Short":"Paraná", -"Brazil_South Region_East Short":"Southern Region", -"Brazil_South Region_West Short":"Southern Region", -"Congo-Kinshasa Short":"Congo", -"Finland_Eastern Finland_North Short":"Eastern Finland", -"Finland_Eastern Finland_South Short":"Eastern Finland", -"France_Free County_North Short":"Franche-Comté", -"France_Free County_South Short":"Franche-Comté", -"India_Karnataka_North Short":"Karnataka", -"India_Karnataka_South Short":"Karnataka", -"Russia_Krasnoyarsk Krai_North Short":"Krasnoyarsk Krai", -"Russia_Krasnoyarsk Krai_South Short":"Krasnoyarsk Krai", -"Russia_Moscow Oblast_East Short":"Moscow Oblast", -"Russia_Moscow Oblast_West Short":"Moscow Oblast", -"Russia_Perm Krai_North Short":"Perm Krai", -"Russia_Perm Krai_South Short":"Perm Krai", -"Russia_Republic of Karelia_North Short":"Republic of Karelia", -"Russia_Republic of Karelia_South Short":"Republic of Karelia", -"Russia_Sverdlovsk Oblast_North Short":"Sverdlovsk Oblast", -"Spain_Castile and Leon_East Short":"Castile and León", -"Spain_Castile and Leon_West Short":"Castile and León", -"Spain_Galicia_North Short":"Galicia", -"Spain_Galicia_South Short":"Galicia", -"Switzerland_Espace Mittelland_East Short":"Espace Mittelland" -} diff --git a/data/countries-strings/cs.json/localize.json b/data/countries-strings/cs.json/localize.json index c9d9618d74..2f502aa83a 100644 --- a/data/countries-strings/cs.json/localize.json +++ b/data/countries-strings/cs.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Kantábrie", "Spain_Castile and Leon":"Kastilie a León", "Spain_Castile-La Mancha":"Kastilie-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Katalánsko – Provincie Barcelona", -"Spain_Catalonia_Provincia de Girona":"Katalánsko – Provincie Girona", -"Spain_Catalonia_Provincia de Lleida":"Katalánsko – Provincie Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Katalánsko – Provincie Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Provincie Barcelona", +"Spain_Catalonia_Provincia de Girona":"Provincie Girona", +"Spain_Catalonia_Provincia de Lleida":"Provincie Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Provincie Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/da.json/localize.json b/data/countries-strings/da.json/localize.json index 5f9212533a..a28c6109b8 100644 --- a/data/countries-strings/da.json/localize.json +++ b/data/countries-strings/da.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Kantabrien", "Spain_Castile and Leon":"Castilla y León", "Spain_Castile-La Mancha":"Castilla-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Catalonien – Barcelona", -"Spain_Catalonia_Provincia de Girona":"Catalonien – Girona", -"Spain_Catalonia_Provincia de Lleida":"Catalonien – Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Catalonien – Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona", +"Spain_Catalonia_Provincia de Girona":"Girona (provins)", +"Spain_Catalonia_Provincia de Lleida":"Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/de.json/localize.json b/data/countries-strings/de.json/localize.json index 648358b701..5ee47a46e1 100644 --- a/data/countries-strings/de.json/localize.json +++ b/data/countries-strings/de.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Kantabrien", "Spain_Castile and Leon":"Kastilien und León", "Spain_Castile-La Mancha":"Kastilien-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Katalonien – Provinz Barcelona", -"Spain_Catalonia_Provincia de Girona":"Katalonien – Provinz Girona", -"Spain_Catalonia_Provincia de Lleida":"Katalonien – Provinz Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Katalonien – Provinz Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Provinz Barcelona", +"Spain_Catalonia_Provincia de Girona":"Provinz Girona", +"Spain_Catalonia_Provincia de Lleida":"Provinz Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Autonome Gemeinschaft Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/el.json/localize.json b/data/countries-strings/el.json/localize.json index bf20aff6c3..58c77a9284 100644 --- a/data/countries-strings/el.json/localize.json +++ b/data/countries-strings/el.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Κανταβρία", "Spain_Castile and Leon":"Καστίλλη και Λεόν", "Spain_Castile-La Mancha":"Καστίλη - Λα Μάντσα", -"Spain_Catalonia_Provincia de Barcelona":"Καταλονία – Επαρχία της Βαρκελώνης", -"Spain_Catalonia_Provincia de Girona":"Καταλονία – Επαρχία της Γκιρόνα", -"Spain_Catalonia_Provincia de Lleida":"Καταλονία – Επαρχία Λέιντα", -"Spain_Catalonia_Provincia de Tarragona":"Καταλονία – Επαρχία Ταραγόνα", +"Spain_Catalonia_Provincia de Barcelona":"Επαρχία της Βαρκελώνης", +"Spain_Catalonia_Provincia de Girona":"Επαρχία της Γκιρόνα", +"Spain_Catalonia_Provincia de Lleida":"Επαρχία Λέιντα", +"Spain_Catalonia_Provincia de Tarragona":"Επαρχία Ταραγόνα", "Spain_Ceuta":"Θέουτα", "Spain_Community of Madrid":"Κοινότητα της Μαδρίτης", "Spain_Comunidad Foral de Navarra":"Ναβάρρα", diff --git a/data/countries-strings/en.json/localize.json b/data/countries-strings/en.json/localize.json index ff569bd4f1..5073450dfe 100644 --- a/data/countries-strings/en.json/localize.json +++ b/data/countries-strings/en.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabria", "Spain_Castile and Leon":"Castile and León", "Spain_Castile-La Mancha":"Castile-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Catalonia – Barcelona Province", -"Spain_Catalonia_Provincia de Girona":"Catalonia – Girona Province", -"Spain_Catalonia_Provincia de Lleida":"Catalonia – Lleida Province", -"Spain_Catalonia_Provincia de Tarragona":"Catalonia – Tarragona Province", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona Province", +"Spain_Catalonia_Provincia de Girona":"Girona Province", +"Spain_Catalonia_Provincia de Lleida":"Lleida Province", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona Province", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Community of Madrid", "Spain_Comunidad Foral de Navarra":"Navarre", diff --git a/data/countries-strings/es.json/localize.json b/data/countries-strings/es.json/localize.json index 2d06b4d554..7c2e236671 100644 --- a/data/countries-strings/es.json/localize.json +++ b/data/countries-strings/es.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabria", "Spain_Castile and Leon":"Castilla y León", "Spain_Castile-La Mancha":"Castilla-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Cataluña – Provincia de Barcelona", -"Spain_Catalonia_Provincia de Girona":"Cataluña – Provincia de Gerona", -"Spain_Catalonia_Provincia de Lleida":"Cataluña – Provincia de Lérida", -"Spain_Catalonia_Provincia de Tarragona":"Cataluña – Provincia de Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Provincia de Barcelona", +"Spain_Catalonia_Provincia de Girona":"Provincia de Gerona", +"Spain_Catalonia_Provincia de Lleida":"Provincia de Lérida", +"Spain_Catalonia_Provincia de Tarragona":"Provincia de Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Comunidad de Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", @@ -2216,10 +2216,10 @@ "Spain_Castile and Leon_East Description":"Valladolid, Palencia", "Spain_Castile and Leon_West Description":"Salamanca, Zamora", "Spain_Castile-La Mancha Description":"Guadalajara, Cuenca", -"Spain_Catalonia_Provincia de Barcelona Description":"Barcelona, Hospitalet de Llobregat, Badalona", -"Spain_Catalonia_Provincia de Girona Description":"San Antonio, Gerona, Figueras", -"Spain_Catalonia_Provincia de Lleida Description":"Lérida, Mollerussa, Balaguer", -"Spain_Catalonia_Provincia de Tarragona Description":"Tarragona, Reus, Vendrell", +"Spain_Catalonia_Provincia de Barcelona Description":"Barcelona, Hospitalet de Llobregat", +"Spain_Catalonia_Provincia de Girona Description":"Gerona, Figueras", +"Spain_Catalonia_Provincia de Lleida Description":"Lérida", +"Spain_Catalonia_Provincia de Tarragona Description":"Tarragona, Reus, el Vendrell", "Spain_Ceuta Description":"Ceuta, Fronteriza", "Spain_Community of Madrid Description":"Alcalá de Henares", "Spain_Comunidad Foral de Navarra Description":"Pamplona, Tudela", diff --git a/data/countries-strings/et.json/localize.json b/data/countries-strings/et.json/localize.json deleted file mode 100644 index c846f3603c..0000000000 --- a/data/countries-strings/et.json/localize.json +++ /dev/null @@ -1,2553 +0,0 @@ -{ -"Abkhazia":"Abhaasia", -"Afghanistan":"Afganistan", -"Alabama":"Alabama", -"Albania":"Albaania", -"Algeria":"Alžeeria", -"Algeria_Central":"Alžeeria - Keskosa", -"Algeria_Coast":"Alžeeria - Põhi", -"Andorra":"Andorra", -"Angola":"Angola", -"Anguilla":"Anguilla", -"Antarctica":"Antarktika", -"Antigua and Barbuda":"Antigua ja Barbuda", -"Argentina":"Argentiina", -"Argentina_Buenos Aires_North":"Buenos Aires - Põhi", -"Argentina_Buenos Aires_South":"Buenos Aires - Lõuna", -"Argentina_Cuyo":"Cuyo", -"Argentina_Mesopotamia":"Mesopotaamia", -"Argentina_Northwest":"Loode-Argentiina", -"Argentina_Pampas":"Pampa", -"Argentina_Patagonia":"Patagoonia", -"Arizona":"Arizona", -"Armenia":"Armeenia", -"Australia":"Austraalia", -"Australia_Melbourne":"Melbourne", -"Australia_New South Wales":"Uus Lõuna-Wales", -"Australia_Northern Territory":"Põhjaterritoorium", -"Australia_Queensland":"Queensland", -"Australia_South Australia":"Lõuna-Austraalia", -"Australia_Tasmania":"Tasmaania", -"Australia_Victoria":"Victoria", -"Australia_Western Australia":"Lääne-Austraalia", -"Austria":"Austria", -"Austria_Burgenland":"Burgenland", -"Austria_Carinthia":"Kärnten", -"Austria_Lower Austria_West":"Alam-Austria - Lääs", -"Austria_Lower Austria_Wien":"Viin", -"Austria_Salzburg":"Salzburg", -"Austria_Styria":"Steiermark", -"Austria_Tyrol":"Tirool", -"Austria_Upper Austria":"Ülem-Austria", -"Austria_Vorarlberg":"Vorarlberg", -"Azerbaijan":"Aserbaidžaan", -"Azerbaijan Region":"Aserbaidžaan", -"Bahrain":"Bahrein", -"Bangladesh":"Bangladesh", -"Barbados":"Barbados", -"Belarus":"Valgevene", -"Belarus_Brest Region":"Bresti piirkond", -"Belarus_Homiel Region":"Gomeli piirkond", -"Belarus_Hrodna Region":"Grodno piirkond", -"Belarus_Maglieu Region":"Mogilevi piirkond", -"Belarus_Minsk Region":"Minski piirkond", -"Belarus_Vitebsk Region":"Vitebski piirkond", -"Belgium":"Belgia", -"Belgium_Antwerp":"Antwerpeni maakond", -"Belgium_East Flanders":"Ida-Flandria maakond", -"Belgium_Flemish Brabant":"Flaami Brabanti maakond", -"Belgium_Hainaut":"Hainaut maakond", -"Belgium_Liege":"Liège'i maakond", -"Belgium_Limburg":"Limburgi maakond", -"Belgium_Luxembourg":"Luksemburgi maakond", -"Belgium_Namur":"Namuri maakond", -"Belgium_Walloon Brabant":"Valloonia Brabanti maakond", -"Belgium_West Flanders":"Lääne-Flandria maakond", -"Belize":"Belize", -"Benin":"Benin", -"Bermuda":"Bermuda", -"Bhutan":"Bhutan", -"Bolivia":"Boliivia", -"Bolivia_North":"Boliivia - Põhi", -"Bolivia_South":"Boliivia - Lõuna", -"Bosnia and Herzegovina":"Bosnia ja Hertsegoviina", -"Bosnia and Herzegovina_Brcko district of Bosnia and Herzegowina":"Brčko piirkond", -"Bosnia and Herzegovina_Entity Federation of Bosnia and Herzegovina":"Bosnia ja Hertsegoviina Föderatsioon", -"Bosnia and Herzegovina_Republic of Srpska":"Serbia Vabariik", -"Botswana":"Botswana", -"Brazil":"Brasiilia", -"Brazil_Bahia":"Bahia", -"Brazil_Goias":"Goiás", -"Brazil_Mato Grosso":"Mato Grosso", -"Brazil_Mato Grosso Do Sul":"Mato Grosso do Sul", -"Brazil_North Region":"Põhjapiirkond, Brasiilia", -"Brazil_Northeast Region":"Kirdepiirkond", -"Brazil_Paraiba":"Paraíba", -"Brazil_Parana":"Paraná", -"Brazil_Rio Grande do Norte":"Rio Grande do Norte", -"Brazil_Santa Catarina":"Santa Catarina", -"Brazil_South Region":"Lõuna-Brasiilia", -"Brazil_Southeast Region_Espirito Santo":"Espírito Santo", -"Brazil_Southeast Region_Minas Gerais_Contagem":"Minas Gerais — Contagem", -"Brazil_Southeast Region_Minas Gerais_North":"Minas Gerais - Põhi", -"Brazil_Southeast Region_Rio de Janeiro":"Rio de Janeiro", -"Brazil_Southeast Region_Sao Paulo_Campinas":"São Paulo — Campinas", -"Brazil_Southeast Region_Sao Paulo_City":"São Paulo — Santos", -"Brazil_Southeast Region_Sao Paulo_West":"São Paulo — Ribeirão Preto", -"British Indian Ocean Territory":"Briti India ookeani territoorium", -"British Virgin Islands":"Briti Neitsisaared", -"Brunei":"Brunei", -"Bulgaria":"Bulgaaria", -"Burkina Faso":"Burkina Faso", -"Burundi":"Burundi", -"California":"Kalifornia", -"Cambodia":"Kambodža", -"Cameroon":"Kamerun", -"Cameroon_Central":"Kamerun - Keskosa", -"Cameroon_West":"Kamerun - Lääs", -"Campo de Hielo Sur":"Lõuna-Patagoonia jääväli", -"Canada":"Kanada", -"Canada_Alberta":"Alberta", -"Canada_Alberta_Edmonton":"Edmonton", -"Canada_Alberta_North":"Alberta - Põhi", -"Canada_Alberta_South":"Alberta - Lõuna", -"Canada_British Columbia":"Briti Kolumbia", -"Canada_British Columbia_Central":"Briti Kolumbia - Keskosa", -"Canada_British Columbia_Far_North":"Briti Kolumbia - Ida", -"Canada_British Columbia_Islands":"Vancouveri saar", -"Canada_British Columbia_North":"Briti Kolumbia - Lääs", -"Canada_British Columbia_Northeast":"Briti Kolumbia - Põhi", -"Canada_British Columbia_Southeast":"Kelowna", -"Canada_British Columbia_Vancouver":"Vancouver", -"Canada_Labrador":"Labrador", -"Canada_Labrador_North":"Labrador - Põhi", -"Canada_Labrador_South":"Labrador - Lõuna", -"Canada_Labrador_West":"Labrador - Lääs", -"Canada_Manitoba":"Manitoba", -"Canada_Manitoba_Northeast":"Manitoba — Põhi", -"Canada_Manitoba_Northwest":"Manitoba — Lääs", -"Canada_Manitoba_South":"Brandon", -"Canada_Manitoba_Winnipeg":"Winnipeg", -"Canada_New Brunswick":"New Brunswick", -"Canada_Newfoundland":"Newfoundland", -"Canada_Newfoundland_East":"Newfoundland — Ida", -"Canada_Newfoundland_North":"Newfoundland — Põhi", -"Canada_Newfoundland_South":"Newfoundland — Lõuna", -"Canada_Newfoundland_West":"Newfoundland — Lääs", -"Canada_Northwest Territories":"Loodeterritooriumid", -"Canada_Northwest Territories_East":"Loodeterritooriumid - Ida", -"Canada_Northwest Territories_North":"Loodeterritooriumid - Põhi", -"Canada_Northwest Territories_Yellowknife":"Yellowknife", -"Canada_Nova Scotia":"Nova Scotia", -"Canada_Nova Scotia_Halifax":"Halifax", -"Canada_Nova Scotia_Sydney":"Sydney", -"Canada_Nunavut":"Nunavut", -"Canada_Nunavut_North":"Nunavut - Põhi", -"Canada_Nunavut_South":"Nunavut - Lõuna", -"Canada_Ontario":"Ontario", -"Canada_Ontario_Bame":"Barrie", -"Canada_Ontario_Kingston":"Kingston", -"Canada_Ontario_London":"London", -"Canada_Ontario_Northeastern_Central":"Timmins", -"Canada_Ontario_Northeastern_North":"Moose Factory", -"Canada_Ontario_Northeastern_S":"Greater Sudbury", -"Canada_Ontario_Northeastern_SE":"North Bay", -"Canada_Ontario_Northeastern_SW":"Sault Ste. Marie", -"Canada_Ontario_Northeastern_Wawa":"Wawa", -"Canada_Ontario_Northern":"Thunder Bay", -"Canada_Ontario_Northwestern":"Ontario - Põhi", -"Canada_Ontario_Toronto":"Toronto", -"Canada_Prince Edward Island":"Prints Edwardi saar", -"Canada_Quebec":"Quebec", -"Canada_Quebec_Quebec":"Quebec", -"Canada_Quebek_Far North":"Quebec - Põhi", -"Canada_Quebek_Montreal":"Montreal", -"Canada_Quebek_North":"Sept-Îles", -"Canada_Quebek_Southeast_Rimouski":"Rimouski", -"Canada_Quebek_Southeast_Saguenay":"Saguenay", -"Canada_Quebek_West_Chibougamau":"Chibougamau", -"Canada_Quebek_West_Rouyn-Noranda":"Rouyn-Noranda", -"Canada_Saskatchewan":"Saskatchewan", -"Canada_Saskatchewan_North":"Saskatchewan — Põhi", -"Canada_Saskatchewan_South":"Saskatchewan — Lõuna", -"Canada_Yukon":"Yukon", -"Canada_Yukon_North":"Yukon - Põhi", -"Canada_Yukon_Whitehorse":"Whitehorse", -"Cape Verde":"Roheneemesaared", -"Caribees":"Väikesed Antillid", -"Caribisch Nederland":"Aruba, Curaçao ja Kariibi mere piirkonna Holland", -"Cayman Islands":"Kaimani saared", -"Central African Republic":"Kesk-Aafrika Vabariik", -"Central Anatolia Region":"Kesk-Anatoolia piirkond", -"Chad":"Tšaad", -"Chile":"Tšiili", -"Chile_North":"Tšiili - Põhi", -"Chile_South":"Tšiili - Lõuna", -"China_Anhui":"Anhui", -"China_Chongqing":"Chongqing", -"China_Fujian":"Fujian", -"China_Gansu":"Gansu", -"China_Guangdong":"Guangdong", -"China_Guangxi":"Guangxi", -"China_Guizhou":"Guizhou", -"China_Hebei":"Hebei", -"China_Heilongjiang":"Heilongjiang", -"China_Henan":"Henan", -"China_Hubei":"Hubei", -"China_Hunan":"Hunan", -"China_Inner Mongolia":"Sise-Mongoolia", -"China_Jiangsu":"Jiangsu", -"China_Jiangxi":"Jiangxi", -"China_Jilin":"Jilin", -"China_Liaoning":"Liaoning", -"China_Ningxia Hui":"Ningxia", -"China_Qinghai":"Qinghai", -"China_Shaanxi":"Shaanxi", -"China_Shandong":"Shandong", -"China_Shanghai":"Shanghái", -"China_Shanxi":"Shanxi", -"China_Sichuan":"Sichuan", -"China_Tibet Autonomous Region":"Tiibeti autonoomne piirkond", -"China_Xinjiang":"Xinjiangi uiguuri autonoomne piirkond", -"China_Yunnan":"Yunnan", -"China_Zhejiang":"Zhejiang", -"Colombia":"Kolumbia", -"Colombia_East":"Kolumbia - Ida", -"Colombia_North":"Kolumbia - Põhi", -"Colombia_West":"Kolumbia - Lääs", -"Colorado":"Colorado", -"Comoros":"Komoorid", -"Congo-Brazzaville":"Kongo Vabariik", -"Congo-Kinshasa":"Kongo Demokraatlik Vabariik", -"Cook Islands":"Cooki saared", -"Costa Rica":"Costa Rica", -"Cote dIvoire":"Elevandiluurannik", -"Crimea":"Krimmi poolsaar", -"Croatia":"Horvaatia", -"Cuba":"Kuuba", -"Cyprus":"Küpros", -"Czech Republic":"Tšehhi Vabariik", -"Czech_Jihovychod_Jihomoravsky kraj":"Lõuna-Moravi piirkond", -"Czech_Jihovychod_Kraj Vysocina":"Vysočina piirkond", -"Czech_Jihozapad_Jihocesky kraj":"Lõuna-Böömimaa piirkond", -"Czech_Jihozapad_Plzensky kraj":"Pilseni piirkond", -"Czech_Karlovasky kraj":"Karlovy Vary piirkond", -"Czech_Moravskoslezsko":"Moraavia-Sileesia piirkond", -"Czech_Olomoucky kraj":"Olomouci piirkond", -"Czech_Praha":"Praha", -"Czech_Severovychod_Kralovehradecky kraj":"Hradec Králové piirkond", -"Czech_Severovychod_Liberecky kraj":"Libereci piirkond", -"Czech_Severovychod_Pardubicky kraj":"Pardubice piirkond", -"Czech_Stredni Cechy_East":"Kesk-Böömimaa piirkond – Ida", -"Czech_Stredni Cechy_West":"Kesk-Böömimaa piirkond – Lääs", -"Czech_Ustecky kraj":"Ústí nad Labemi piirkond", -"Czech_Zlinsky Kraj":"Zlini piirkond", -"Denmark":"Taani", -"Denmark_Capital Region of Denmark":"Taani pealinna piirkond", -"Denmark_Central Denmark Region":"Kesk-Taani piirkond", -"Denmark_North Denmark Region":"Põhja-Taani piirkond", -"Denmark_Region Zealand":"Själlandi piirkond", -"Denmark_Region of Southern Denmark":"Lõuna-Taani piirkond", -"Djibouti":"Djibouti", -"Dominica":"Dominica", -"Dominican Republic":"Dominikaani Vabariik", -"East Timor":"Ida-Timor", -"Ecuador":"Ecuador", -"Egypt":"Egiptus", -"El Salvador":"El Salvador", -"Equatorial Guinea":"Ekvatoriaal-Guinea", -"Eritrea":"Eritrea", -"Estonia":"Eesti", -"Estonia_East":"Eesti - Ida", -"Estonia_West":"Eesti - Lääs", -"Ethiopia":"Etioopia", -"Falkland Islands":"Falklandi saared", -"Faroe Islands":"Fääri saared", -"Federated States of Micronesia":"Mikroneesia", -"Fiji":"Fidži", -"Finland":"Soome", -"Finland_Eastern Finland":"Ida-Soome", -"Finland_Northern Finland":"Põhja-Soome", -"Finland_Southern Finland_Helsinki":"Lõuna-Soome - Helsingi", -"Finland_Southern Finland_Lappeenranta":"Lõuna-Soome - Lappeenranta", -"Finland_Southern Finland_West":"Edela-Soome", -"Finland_Western Finland":"Lääne-Soome", -"Florida":"Florida", -"France":"Prantsusmaa", -"France_Alsace":"Alsace", -"France_Alsace_Bas-Rhin":"Alam-Rein", -"France_Alsace_Haut-Rhin":"Ülem-Rein", -"France_Aquitaine":"Akvitaania", -"France_Aquitaine_Dordogne":"Dordogne", -"France_Aquitaine_Gironde":"Gironde", -"France_Aquitaine_Landes":"Landes", -"France_Aquitaine_Lot-et-Garonne":"Lot-et-Garonne", -"France_Aquitaine_Pyrenees-Atlantiques":"Atlandi-Püreneed", -"France_Auvergne":"Auvergne", -"France_Auvergne_Allier":"Allier", -"France_Auvergne_Cantal":"Cantal", -"France_Auvergne_Haute-Loire":"Ülem-Loire", -"France_Auvergne_Puy-de-Dome":"Puy-de-Dôme", -"France_Brittany":"Bretagne", -"France_Brittany_Cotes-dArmor":"Côtes-d'Armor", -"France_Brittany_Finistere":"Finistère", -"France_Brittany_Ille-et-Vilaine":"Ille-et-Vilaine", -"France_Brittany_Morbihan":"Morbihan", -"France_Burgundy":"Burgundia", -"France_Burgundy_Cote-dOr":"Côte-d'Or", -"France_Burgundy_Nievre":"Nièvre", -"France_Burgundy_Saone-et-Loire":"Saône-et-Loire", -"France_Burgundy_Yonne":"Yonne", -"France_Centre-Val de Loire":"Kesk-Loire'i org", -"France_Centre-Val de Loire_Cher":"Cher", -"France_Centre-Val de Loire_Eure-et-Loir":"Eure-et-Loir", -"France_Centre-Val de Loire_Indre":"Indre", -"France_Centre-Val de Loire_Indre-et-Loire":"Indre-et-Loire", -"France_Centre-Val de Loire_Loir-et-Cher":"Loir-et-Cher", -"France_Centre-Val de Loire_Loiret":"Loiret", -"France_Champagne-Ardenne":"Champagne-Ardenne", -"France_Corsica":"Korsika", -"France_Free County":"Franche-Comté", -"France_French Guiana":"Prantsuse Guajaana", -"France_Ile-de-France":"Île-de-France", -"France_Ile-de-France_Essonne":"Essonne", -"France_Ile-de-France_Hauts-de-Seine":"Hauts-de-Seine", -"France_Ile-de-France_Paris":"Pariis", -"France_Ile-de-France_Seine-Saint-Denis":"Seine-Saint-Denis", -"France_Ile-de-France_Seine-et-Marne":"Seine-et-Marne", -"France_Ile-de-France_Val-dOise":"Val-d'Oise", -"France_Ile-de-France_Val-de-Marne":"Val-de-Marne", -"France_Ile-de-France_Yvelines":"Yvelines", -"France_Languedoc-Roussillon":"Languedoc-Roussillon", -"France_Languedoc-Roussillon_Aude":"Aude", -"France_Languedoc-Roussillon_Gard":"Gard", -"France_Languedoc-Roussillon_Herault":"Hérault", -"France_Languedoc-Roussillon_Lozere":"Lozère", -"France_Languedoc-Roussillon_Pyrenees-Orientales":"Pyrénées-Orientales", -"France_Limousin":"Limousin", -"France_Lorraine":"Lorraine", -"France_Lorraine_Meurthe-et-Moselle":"Meurthe-et-Moselle", -"France_Lorraine_Meuse":"Meuse", -"France_Lorraine_Moselle":"Moselle", -"France_Lorraine_Vosges":"Vosges", -"France_Lower Normandy":"Alam-Normandia", -"France_Lower Normandy_Calvados":"Calvados", -"France_Lower Normandy_Manche":"Manche", -"France_Lower Normandy_Orne":"Orne", -"France_Midi-Pyrenees":"Midi-Pyrénées", -"France_Midi-Pyrenees_Ariege":"Ariège", -"France_Midi-Pyrenees_Aveyron":"Aveyron", -"France_Midi-Pyrenees_Gers":"Gers", -"France_Midi-Pyrenees_Haute-Garonne":"Ülem-Garonne", -"France_Midi-Pyrenees_Hautes-Pyrenees":"Ülem-Püreneed", -"France_Midi-Pyrenees_Lot":"Lot", -"France_Midi-Pyrenees_Tarn":"Tarn", -"France_Midi-Pyrenees_Tarn-et-Garonne":"Tarn-et-Garonne", -"France_New Caledonia":"Uus-Kaledoonia", -"France_Nord-Pas-de-Calais":"Nord-Pas-de-Calais", -"France_Nord-Pas-de-Calais_Lille":"Lille", -"France_Nord-Pas-de-Calais_Nord":"Nord", -"France_Nord-Pas-de-Calais_Pas-de-Calais":"Pas-de-Calais", -"France_Pays de la Loire":"Pays de la Loire", -"France_Pays de la Loire_Loire-Atlantique":"Loire-Atlantique", -"France_Pays de la Loire_Maine-et-Loire":"Maine-et-Loire", -"France_Pays de la Loire_Mayenne":"Mayenne", -"France_Pays de la Loire_Sarthe":"Sarthe", -"France_Pays de la Loire_Vendee":"Vendée", -"France_Picardy":"Pikardia", -"France_Picardy_Aisne":"Aisne", -"France_Picardy_Oise":"Oise", -"France_Picardy_Somme":"Somme", -"France_Poitou-Charentes":"Poitou-Charentes", -"France_Poitou-Charentes_Charente":"Charente", -"France_Poitou-Charentes_Charente-Maritime":"Charente-Maritime", -"France_Poitou-Charentes_Deux-Sevres":"Deux-Sèvres", -"France_Poitou-Charentes_Vienne":"Vienne", -"France_Provence-Alpes-Cote dAzur":"Provence-Alpes-Côte d'Azur", -"France_Provence-Alpes-Cote dAzur_Alpes-de-Haute-Provence":"Alpes-de-Haute-Provence", -"France_Provence-Alpes-Cote dAzur_Bouches-du-Rhone":"Bouches-du-Rhône", -"France_Provence-Alpes-Cote dAzur_Hautes-Alpes":"Hautes-Alpes", -"France_Provence-Alpes-Cote dAzur_Maritime Alps":"Alpes-Maritimes", -"France_Provence-Alpes-Cote dAzur_Var":"Var", -"France_Provence-Alpes-Cote dAzur_Vaucluse":"Vaucluse", -"France_Rhone-Alpes":"Rhône-Alpes", -"France_Rhone-Alpes_Ain":"Ain", -"France_Rhone-Alpes_Ardeche":"Ardèche", -"France_Rhone-Alpes_Drome":"Drôme", -"France_Rhone-Alpes_Haute-Savoie":"Haute-Savoie", -"France_Rhone-Alpes_Isere":"Isère", -"France_Rhone-Alpes_Loire":"Loire", -"France_Rhone-Alpes_Rhone":"Rhône", -"France_Rhone-Alpes_Savoie":"Savoie", -"France_Southern Islands":"Prantsuse lõuna- ja Antarktika maad", -"France_Upper Normandy":"Ülem-Normandia", -"French Polynesia":"Prantsuse Polüneesia", -"Gabon":"Gabon", -"Georgia Region":"Gruusia", -"Georgia":"Gruusia", -"Germany":"Saksamaa", -"Germany_Baden-Wurttemberg":"Baden-Württemberg", -"Germany_Baden-Wurttemberg_Regierungsbezirk Freiburg":"Freiburg im Breisgau", -"Germany_Baden-Wurttemberg_Regierungsbezirk Karlsruhe":"Karlsruhe", -"Germany_Baden-Wurttemberg_Regierungsbezirk Stuttgart_Heilbronn":"Stuttgart — Heilbronn", -"Germany_Baden-Wurttemberg_Regierungsbezirk Stuttgart_Stuttgart":"Stuttgart — Stuttgart", -"Germany_Baden-Wurttemberg_Regierungsbezirk Tubingen":"Tübingen", -"Germany_Berlin":"Berliin", -"Germany_Brandenburg_North":"Brandenburg — Põhi", -"Germany_Brandenburg_South":"Brandenburg — Lõuna", -"Germany_Free State of Bavaria":"Baieri", -"Germany_Free State of Bavaria_Lower Bavaria":"Alam-Baieri", -"Germany_Free State of Bavaria_Lower Franconia":"Alam-Frangoonia", -"Germany_Free State of Bavaria_Middle Franconia":"Kesk-Frangoonia", -"Germany_Free State of Bavaria_Swabia":"Švaabimaa", -"Germany_Free State of Bavaria_Upper Bavaria_East":"Ülem-Baieri - Ida", -"Germany_Free State of Bavaria_Upper Bavaria_Ingolstadt":"Ülem-Baieri - Ingolstadt", -"Germany_Free State of Bavaria_Upper Bavaria_Munchen":"Ülem-Baieri - München", -"Germany_Free State of Bavaria_Upper Franconia":"Ülem-Frangoonia", -"Germany_Free State of Bavaria_Upper Palatinate":"Ülem-Pfalz", -"Germany_Hamburg_main":"Hamburg", -"Germany_Hesse":"Hesse", -"Germany_Hesse_Regierungsbezirk Darmstadt":"Darmstadt", -"Germany_Hesse_Regierungsbezirk Giessen":"Giessen", -"Germany_Hesse_Regierungsbezirk Kassel":"Kassel", -"Germany_Lower Saxony":"Alam-Saksimaa", -"Germany_Lower Saxony_Bremen_Bremen":"Bremen", -"Germany_Lower Saxony_Bremen_Munster":"Lüneburg", -"Germany_Lower Saxony_Hannover":"Hannover", -"Germany_Lower Saxony_Oldenburg":"Oldenburg", -"Germany_Mecklenburg-Vorpommern":"Mecklenburg-Vorpommern", -"Germany_North Rhine-Westphalia":"Nordrhein-Westfalen", -"Germany_North Rhine-Westphalia_Regierungsbezirk Arnsberg_Arnsberg":"Arnsberg — Arnsberg", -"Germany_North Rhine-Westphalia_Regierungsbezirk Arnsberg_Dortmund":"Arnsberg — Dortmund", -"Germany_North Rhine-Westphalia_Regierungsbezirk Detmold":"Detmold", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Dusseldorf":"Düsseldorf — Düsseldorf", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Mulheim":"Düsseldorf — Mülheim an der Ruhr", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Wesel":"Düsseldorf — Wesel", -"Germany_North Rhine-Westphalia_Regierungsbezirk Koln_Aachen":"Köln — Aachen", -"Germany_North Rhine-Westphalia_Regierungsbezirk Koln_Koln":"Köln — Köln", -"Germany_North Rhine-Westphalia_Regierungsbezirk Munster_Munster":"Münster — Münster", -"Germany_North Rhine-Westphalia_Regierungsbezirk Munster_Recklinghausen":"Münster — Recklinghausen", -"Germany_Rhineland-Palatinate_Koblenz":"Rheinland-Pfalz – Koblenz", -"Germany_Rhineland-Palatinate_South":"Rheinland-Pfalz – Mainz", -"Germany_Saarland":"Saarland", -"Germany_Saxony-Anhalt":"Saksimaa-Anhalt", -"Germany_Saxony_Dresden":"Saksimaa - Dresden", -"Germany_Saxony_Leipzig":"Saksimaa - Leipzig", -"Germany_Schleswig-Holstein":"Schleswig-Holstein", -"Germany_Thuringia":"Tüüringi", -"Ghana":"Ghana", -"Gibraltar":"Gibraltar", -"Greece":"Kreeka", -"Greece_Decentralized Administration of Aegean":"Egeuse", -"Greece_Decentralized Administration of Attica":"Atika", -"Greece_Decentralized Administration of Crete":"Kreeta", -"Greece_Decentralized Administration of Epirus - Western Macedonia":"Epeiros ja Lääne-Makedoonia", -"Greece_Decentralized Administration of Macedonia and Thrace":"Makedoonia ja Traakia", -"Greece_Decentralized Administration of Thessaly - Central Greece":"Tessaalia ja Kesk-Kreeka", -"Greece_Decentralized Administration of West Greece":"Peloponnesos", -"Greenland":"Gröönimaa", -"Grenada":"Grenada", -"Guadeloupe":"Guadeloupe", -"Guatemala":"Guatemala", -"Guernsey":"Guernsey", -"Guinea":"Guinea", -"Guinea-Bissau":"Guinea-Bissau", -"Guyana":"Guyana", -"Haiti":"Haiti", -"Honduras":"Honduras", -"Hungary":"Ungari", -"Hungary_Kozep-Magyarorszag":"Kesk-Ungari", -"Hungary_Northern Great Plain":"Ungari - Ida", -"Hungary_Transdanubia":"Ungari - Lääs", -"Iceland":"Island", -"Illinois":"Illinois", -"India":"India", -"India_Andaman and Nicobar Islands":"Andamani ja Nicobari saared", -"India_Andhra Pradesh":"Andhra Pradesh", -"India_Arunachal Pradesh":"Arunachal Pradesh", -"India_Assam":"Assam", -"India_Bihar":"Bihar", -"India_Chandigarh":"Chandigarh", -"India_Chhattisgarh":"Chhattisgarh", -"India_Delhi":"Delhi", -"India_Goa":"Goa", -"India_Gujarat":"Gujarat", -"India_Haryana":"Haryana", -"India_Himachal Pradesh":"Himachal Pradesh", -"India_Jammu and Kashmir":"Jammu ja Kashmir", -"India_Jharkhand":"Jharkhand", -"India_Karnataka":"Karnataka", -"India_Kerala":"Kerala", -"India_Lakshadweep":"Lakshadweep", -"India_Madhya Pradesh":"Madhya Pradesh", -"India_Maharashtra":"Maharashtra", -"India_Manipur":"Manipur", -"India_Meghalaya":"Meghalaya", -"India_Mizoram":"Mizoram", -"India_Nagaland":"Nagaland", -"India_Odisha":"Odisha", -"India_Punjab":"Punjab", -"India_Rajasthan":"Rajasthan", -"India_Sikkim":"Sikkim", -"India_Tamil Nadu":"Tamil Nadu", -"India_Telangana":"Telangana", -"India_Tripura":"Tripura", -"India_Uttar Pradesh":"Uttar Pradesh", -"India_Uttarakhand":"Uttarakhand", -"India_West Bengal":"Lääne-Bengal", -"Indiana":"Indiana", -"Indonesia":"Indoneesia", -"Indonesia_Central":"Sulawesi, Kalimantan", -"Indonesia_East":"Indoneesia - Ida", -"Indonesia_Jawa Barat":"Lääne-Jaava maakond", -"Indonesia_Jawa Tengah":"Kesk-Jaava maakond", -"Indonesia_Jawa Timur":"Ida-Jaava maakond", -"Indonesia_Nusa Tenggara":"Väikesed Sunda saared", -"Indonesia_West":"Sumatra", -"Iowa":"Iowa", -"Iran":"Iraan", -"Iran_North":"Iraan - Põhi", -"Iran_South":"Iraan - Lõuna", -"Iraq":"Iraak", -"Ireland":"Iirimaa", -"Ireland_Connacht":"Connacht", -"Ireland_Leinster":"Leinster", -"Ireland_Munster":"Munster", -"Ireland_Northern Counties":"Ulster", -"Isle of Man":"Isle of Man", -"Israel":"Iisrael", -"Israel Region":"Iisrael", -"Italy":"Itaalia", -"Italy_Abruzzo":"Abruzzo", -"Italy_Aosta Valley":"Aosta org", -"Italy_Apulia":"Apulia", -"Italy_Basilicata":"Basilicata", -"Italy_Calabria":"Calabria", -"Italy_Campania":"Campania", -"Italy_Emilia":"Emilia-Romagna", -"Italy_Emilia-Romagna_Bologna":"Bologna maakond", -"Italy_Emilia-Romagna_Ferrara":"Ferrara maakond", -"Italy_Emilia-Romagna_Forli-Cesena":"Forlì-Cesena maakond", -"Italy_Emilia-Romagna_Modena":"Modena maakond", -"Italy_Emilia-Romagna_Parma":"Parma maakond", -"Italy_Emilia-Romagna_Piacenza":"Piacenza maakond", -"Italy_Emilia-Romagna_Ravenna":"Ravenna maakond", -"Italy_Emilia-Romagna_Reggio Emilia":"Reggio Emilia maakond", -"Italy_Emilia-Romagna_Rimini":"Rimini maakond", -"Italy_Friuli":"Friuli–Venezia Giulia", -"Italy_Friuli-Venezia Giulia_Gorizia":"Gorizia maakond", -"Italy_Friuli-Venezia Giulia_Pordenone":"Pordenone maakond", -"Italy_Friuli-Venezia Giulia_Trieste":"Trieste maakond", -"Italy_Friuli-Venezia Giulia_Udine":"Udine maakond", -"Italy_Lazio":"Lazio", -"Italy_Liguria":"Liguria", -"Italy_Lombardy":"Lombardia", -"Italy_Lombardy_Bergamo":"Bergamo maakond", -"Italy_Lombardy_Brescia":"Brescia maakond", -"Italy_Lombardy_Como":"Como maakond", -"Italy_Lombardy_Cremona":"Cremona maakond", -"Italy_Lombardy_Lecco":"Lecco maakond", -"Italy_Lombardy_Lodi":"Lodi maakond", -"Italy_Lombardy_Mantua":"Mantua maakond", -"Italy_Lombardy_Milan":"Milano maakond", -"Italy_Lombardy_Monza and Brianza":"Monza ja Brianza maakond", -"Italy_Lombardy_Pavia":"Pavia maakond", -"Italy_Lombardy_Sondrio":"Sondrio maakond", -"Italy_Lombardy_Varese":"Varese maakond", -"Italy_Marche":"Marche", -"Italy_Molise":"Molise", -"Italy_Piemont":"Piedmont", -"Italy_Piemont_Alessandria":"Alessandria maakond", -"Italy_Piemont_Asti":"Asti maakond", -"Italy_Piemont_Biella":"Biella maakond", -"Italy_Piemont_Cuneo":"Cuneo maakond", -"Italy_Piemont_Novara":"Novara maakond", -"Italy_Piemont_Torino":"Torino maakond", -"Italy_Piemont_Verbano-Cusio-Ossola":"Verbano-Cusio-Ossola", -"Italy_Piemont_Vercelli":"Vercelli maakond", -"Italy_Sardinia":"Sardiinia", -"Italy_Sicily":"Sitsiilia", -"Italy_Trentino-Alto Adige Sudtirol":"Trentino-Lõuna-Tirool", -"Italy_Tuscany_Grosseto":"Toscana - Grosseto maakond", -"Italy_Tuscany_Massa e Carrara":"Toscana - Massa ja Carrara maakond", -"Italy_Umbria":"Umbria", -"Italy_Veneto":"Veneto", -"Italy_Veneto_Belluno":"Belluno maakond", -"Italy_Veneto_Padova":"Padua maakond", -"Italy_Veneto_Rovigo":"Rovigo maakond", -"Italy_Veneto_Treviso":"Treviso maakond", -"Italy_Veneto_Venezia":"Veneetsia maakond", -"Italy_Veneto_Verona":"Verona maakond", -"Italy_Veneto_Vicenza":"Vicenza maakond", -"Jamaica":"Jamaica", -"Japan":"Jaapan", -"Japan_Chubu Region":"Chūbu piirkond", -"Japan_Chubu Region_Aichi":"Aichi prefektuur", -"Japan_Chubu Region_Fukui":"Fukui prefektuur", -"Japan_Chubu Region_Gifu":"Gifu prefektuur", -"Japan_Chubu Region_Ishikawa":"Ishikawa prefektuur", -"Japan_Chubu Region_Nagano":"Nagano prefektuur", -"Japan_Chubu Region_Niigata":"Niigata prefektuur", -"Japan_Chubu Region_Shizuoka":"Shizuoka prefektuur", -"Japan_Chubu Region_Toyama":"Toyama prefektuur", -"Japan_Chubu Region_Yamanashi":"Yamanashi prefektuur", -"Japan_Chugoku Region":"Chūgoku piirkond", -"Japan_Chugoku Region_Hiroshima":"Hiroshima prefektuur", -"Japan_Chugoku Region_Okayama":"Okayama prefektuur", -"Japan_Chugoku Region_Shimane":"Shimane prefektuur", -"Japan_Chugoku Region_Tottori":"Tottori prefektuur", -"Japan_Chugoku Region_Yamaguchi":"Yamaguchi prefektuur", -"Japan_Hokkaido Region":"Hokkaido", -"Japan_Hokkaido Region_East":"Hokkaido - Ida", -"Japan_Hokkaido Region_North":"Hokkaido - Põhi", -"Japan_Hokkaido Region_West":"Hokkaido - Lääs", -"Japan_Kanto":"Kanto piirkond", -"Japan_Kanto_Chiba":"Chiba prefektuur", -"Japan_Kanto_Gunma":"Gunma prefektuur", -"Japan_Kanto_Ibaraki":"Ibaraki prefektuur", -"Japan_Kanto_Kanagawa":"Kanagawa prefektuur", -"Japan_Kanto_Saitama":"Saitama prefektuur", -"Japan_Kanto_Tochigi":"Tochigi prefektuur", -"Japan_Kanto_Tokyo":"Tokyo prefektuur", -"Japan_Kinki Region":"Kansai piirkond", -"Japan_Kinki Region_Mie":"Mie prefektuur", -"Japan_Kinki Region_Nara":"Nara prefektuur", -"Japan_Kinki Region_Osaka":"Osaka prefektuur", -"Japan_Kinki Region_Wakayama":"Wakayama prefektuur", -"Japan_Kyushu Region":"Kyushu", -"Japan_Kyushu Region_Fukuoka":"Fukuoka prefektuur", -"Japan_Kyushu Region_Kagoshima":"Kagoshima prefektuur", -"Japan_Kyushu Region_Kumamoto":"Kumamoto prefektuur", -"Japan_Kyushu Region_Miyazaki":"Miyazaki prefektuur", -"Japan_Kyushu Region_Nagasaki":"Nagasaki prefektuur", -"Japan_Kyushu Region_Oita":"Oita prefektuur", -"Japan_Kyushu Region_Okinawa":"Okinawa prefektuur", -"Japan_Kyushu Region_Saga":"Saga prefektuur", -"Japan_Shikoku Region":"Shikoku", -"Japan_Shikoku Region_Ehime":"Ehime prefektuur", -"Japan_Shikoku Region_Kagawa":"Kagawa prefektuur", -"Japan_Shikoku Region_Kochi":"Kochi prefektuur", -"Japan_Shikoku Region_Kyoto":"Kyoto prefektuur", -"Japan_Shikoku Region_Tokushima":"Tokushima prefektuur", -"Japan_Tohoku":"Tohoku piirkond", -"Japan_Tohoku_Akita":"Akita prefektuur", -"Japan_Tohoku_Aomori":"Aomori prefektuur", -"Japan_Tohoku_Fukushima":"Fukushima prefektuur", -"Japan_Tohoku_Iwate":"Iwate prefektuur", -"Japan_Tohoku_Miyagi":"Miyagi prefektuur", -"Japan_Tohoku_Yamagata":"Yamagata prefektuur", -"Jersey":"Jersey", -"Jerusalem":"Jeruusalemm", -"Jordan":"Jordaania", -"Kansas":"Kansas", -"Kazakhstan":"Kasahstan", -"Kentucky":"Kentucky", -"Kenya":"Keenia", -"Kingdom of Lesotho":"Lesotho", -"Kiribati":"Kiribati", -"Kuwait":"Kuveit", -"Kyrgyzstan":"Kõrgõzstan", -"Laos":"Laos", -"Latvia":"Läti", -"Lebanon":"Liibanon", -"Liberia":"Libeeria", -"Libya":"Liibüa", -"Liechtenstein":"Liechtenstein", -"Lithuania":"Leedu", -"Louisiana":"Louisiana", -"Luxembourg":"Luksemburg", -"Macedonia":"Makedoonia", -"Madagascar":"Madagaskar", -"Malawi":"Malawi", -"Malaysia":"Malaisia", -"Maldives":"Maldiivid", -"Mali":"Mali", -"Malta":"Malta", -"Marshall Islands":"Marshalli saared", -"Martinique":"Martinique", -"Maryland":"Maryland", -"Massachusetts":"Massachusetts", -"Mauritania":"Mauritaania", -"Mauritius":"Mauritius", -"Mexico":"Mehhiko", -"Mexico_California":"Baja California", -"Mexico_Central_East":"Nuevo León", -"Mexico_Central_West":"Nayarit", -"Mexico_East":"Mehhiko - Ida", -"Mexico_Mexico":"Mexico City", -"Mexico_North":"Mehhiko - Põhi", -"Mexico_South":"Mehhiko - Lõuna", -"Michigan":"Michigan", -"Minnesota":"Minnesota", -"Missouri":"Missouri", -"Moldova":"Moldova", -"Monaco":"Monaco", -"Mongolia":"Mongoolia", -"Montenegro":"Montenegro", -"Montserrat":"Montserrat", -"Morocco":"Maroko", -"Morocco_Doukkala-Abda":"Doukkala-Abda", -"Morocco_Rabat-Sale-Zemmour-Zaer":"Rabat-Salé-Zemmour-Zaer", -"Morocco_Southern":"Maroko - Lõuna", -"Morocco_Western Sahara":"Lääne-Sahara", -"Mozambique":"Mosambiik", -"Myanmar":"Myanmar", -"Nagorno-Karabakh":"Nagorno-Karabakh", -"Namibia":"Namiibia", -"Nauru":"Nauru", -"Nepal":"Nepal", -"Nepal_East":"Nepal - Ida", -"Nepal_West":"Nepal - Lääs", -"Netherlands":"Holland", -"Netherlands_Drenthe":"Drenthe", -"Netherlands_Flevoland":"Flevoland", -"Netherlands_Friesland":"Friisimaa", -"Netherlands_Gelderland_Nijmegen":"Gelderland — Nijmegen", -"Netherlands_Gelderland_North":"Gelderland — Apeldoorn", -"Netherlands_Gelderland_Zutphen":"Gelderland — Zutphen", -"Netherlands_Groningen":"Groningen", -"Netherlands_Limburg":"Limburg", -"Netherlands_North Brabant_Eindhoven":"Põhja-Brabant - Eindhoven", -"Netherlands_North Brabant_Roosendaal":"Põhja-Brabant — Roosendaal", -"Netherlands_North Brabant_Tiburg":"Põhja-Brabant — Tilburg", -"Netherlands_North Brabant_Uden":"Põhja-Brabant — Uden", -"Netherlands_North Holland_Alkmaar":"Põhja-Holland - Alkmaar", -"Netherlands_North Holland_Amsterdam":"Põhja-Holland - Amsterdam", -"Netherlands_North Holland_Zaandam":"Põhja-Holland - Zaanstad", -"Netherlands_Overijssel_Enschede":"Overijssel — Enschede", -"Netherlands_Overijssel_Zwolle":"Overijssel — Zwolle", -"Netherlands_South Holland_Brielle":"Lõuna-Holland - Brielle", -"Netherlands_South Holland_Den Haag":"Lõuna-Holland - Haag", -"Netherlands_South Holland_Leiden":"Lõuna-Holland - Leiden", -"Netherlands_South Holland_Rotterdam":"Lõuna-Holland - Rotterdam", -"Netherlands_Utrecht_Amersfoort":"Utrecht — Amersfoort", -"Netherlands_Utrecht_Utrecht":"Utrecht — Utrecht", -"Netherlands_Zeeland":"Zeeland", -"New Jersey":"New Jersey", -"New York":"New York", -"New Zealand":"Uus-Meremaa", -"New Zealand North_Auckland":"Põhi - Auckland", -"New Zealand North_Wellington":"Põhi - Wellington", -"New Zealand South_Canterbury":"Lõuna - Canterbury piirkond", -"New Zealand South_Southland":"Lõuna - Southland", -"Nicaragua":"Nicaragua", -"Niger":"Niger", -"Nigeria":"Nigeeria", -"Niue":"Niue", -"North Carolina":"Põhja-Carolina", -"North Dakota":"Põhja-Dakota", -"North Korea":"Põhja-Korea", -"Norway":"Norra", -"Norway_Bouvet Island":"Bouvet' saar", -"Norway_Central":"Oslo", -"Norway_Hedmark":"Hedmark", -"Norway_Jan Mayen":"Jan Mayen", -"Norway_Northern":"Põhja-Norra", -"Norway_Oppland":"Oppland", -"Norway_Southern":"Lõuna-Norra", -"Norway_Svalbard":"Svalbard", -"Norway_Trondelag":"Trøndelag", -"Norway_Western":"Lääne-Norra", -"Ohio":"Ohio", -"Oklahoma":"Oklahoma", -"Oman":"Omaan", -"Oregon":"Oregon", -"Pakistan":"Pakistan", -"Palau":"Palau", -"Palestine":"Palestiina alad", -"Palestine Region":"Palestiina alad", -"Panama":"Panama", -"Papua New Guinea":"Paapua Uus-Guinea", -"Paraguay":"Paraguay", -"Pennsylvania":"Pennsylvania", -"People's Republic of China":"Hiina", -"Peru":"Peruu", -"Peru_North":"Peruu - Põhi", -"Peru_South":"Peruu - Lõuna", -"Philippines":"Filipiinid", -"Philippines_Luzon_Manila":"Metro Manila", -"Philippines_Luzon_North":"Luzon - Põhi", -"Philippines_Luzon_South":"Luzon - Lõuna", -"Philippines_Mindanao":"Mindanao", -"Philippines_Visayas":"Visayas", -"Pitcairn Islands":"Pitcairn", -"Poland":"Poola", -"Poland_Greater Poland Voivodeship":"Suur-Poola vojevoodkond", -"Poland_Kuyavian-Pomeranian Voivodeship":"Kuyavia-Pommeri vojevoodkond", -"Poland_Lesser Poland Voivodeship":"Väike-Poola vojevoodkond", -"Poland_Lodz Voivodeship":"Łódźi vojevoodkond", -"Poland_Lower Silesian Voivodeship":"Alam-Sileesia vojevoodkond", -"Poland_Lublin Voivodeship":"Lublini vojevoodkond", -"Poland_Lubusz Voivodeship":"Lubuszi vojevoodkond", -"Poland_Masovian Voivodeship":"Masoovia vojevoodkond", -"Poland_Opole Voivodeship":"Opole vojevoodkond", -"Poland_Podlaskie Voivodeship":"Podlaskie vojevoodkond", -"Poland_Pomeranian Voivodeship":"Pommeri vojevoodkond", -"Poland_Silesian Voivodeship":"Sileesia vojevoodkond", -"Poland_Subcarpathian Voivodeship":"Podkarpackie vojevoodkond", -"Poland_Swietokrzyskie Voivodeship":"Świętokrzyskie vojevoodkond", -"Poland_Warmian-Masurian Voivodeship":"Warmia-Masuuria vojevoodkond", -"Poland_West Pomeranian Voivodeship":"Lääne-Pommeri vojevoodkond", -"Portugal":"Portugal", -"Portugal_North":"Portugal - Põhi", -"Portugal_South":"Portugal - Põhi", -"Qatar":"Katar", -"Republic of Kosovo":"Kosovo", -"Romania":"Rumeenia", -"Romania_Centre":"Kesk-Rumeenia", -"Romania_North_East":"Kirde-Rumeenia", -"Romania_North_West":"Loode-Rumeenia", -"Romania_South":"Lõuna-Rumeenia", -"Romania_South_East":"Kagu-Rumeenia", -"Romania_South_West":"Edela-Rumeenia", -"Romania_West":"Lääne-Rumeenia", -"Russia_Altai Krai":"Altai krai", -"Russia_Altai Republic":"Altai Vabariik", -"Russia_Amur Oblast":"Amuuri oblast", -"Russia_Arkhangelsk Oblast_Central":"Arhangelski oblast - keskosa", -"Russia_Arkhangelsk Oblast_North":"Arhangelski oblast - Põhi", -"Russia_Astrakhan Oblast":"Astrahani oblast", -"Russia_Bashkortostan":"Baškortostani Vabariik", -"Russia_Belgorod Oblast":"Belgorodi oblast", -"Russia_Bryansk Oblast":"Brjanski oblast", -"Russia_Buryatia":"Burjaadi Vabariik", -"Russia_Chechen Republic":"Tšetšeenia Vabariik", -"Russia_Chelyabinsk Oblast":"Tšeljabinski oblast", -"Russia_Chukotka Autonomous Okrug":"Tšukotka autonoomne ringkond", -"Russia_Chuvashia":"Tšuvassi Vabariik", -"Russia_Ingushetia":"Inguššia Vabariik", -"Russia_Irkutsk Oblast":"Irkutski oblast", -"Russia_Ivanovo Oblast":"Ivanovo oblast", -"Russia_Jewish Autonomous Oblast":"Juudi autonoomne oblast", -"Russia_Kabardino-Balkaria":"Kabardino-Balkari Vabariik", -"Russia_Kaliningrad Oblast":"Kaliningradi oblast", -"Russia_Kaluga Oblast":"Kaluga oblast", -"Russia_Kamchatka Krai":"Kamtšatka krai", -"Russia_Karachay-Cherkessia":"Karatšai-Tšerkessi Vabariik", -"Russia_Kemerov Oblast":"Kemerovo oblast", -"Russia_Khabarovsk Krai":"Habarovski krai", -"Russia_Khakassia":"Hakassia Vabariik", -"Russia_Kirov Oblast":"Kirovi oblast", -"Russia_Komi Republic":"Komi Vabariik", -"Russia_Kostroma Oblast":"Kostroma oblast", -"Russia_Krasnodar Krai":"Krasnodari krai - Põhi", -"Russia_Krasnodar Krai_Adygeya":"Krasnodari krai, Adygea Vabariik", -"Russia_Krasnoyarsk Krai":"Krasnojarsk krai", -"Russia_Kurgan Oblast":"Kurgani oblast", -"Russia_Kursk Oblast":"Kurski oblast", -"Russia_Leningradskaya Oblast_Karelsky":"Leningradi oblast - Põhi", -"Russia_Leningradskaya Oblast_Southeast":"Leningradi oblast - Lõuna", -"Russia_Lipetsk Oblast":"Libetski oblast", -"Russia_Magadan Oblast":"Magadani oblast", -"Russia_Mari El":"Mari El Vabariik", -"Russia_Moscow":"Moskva", -"Russia_Moscow Oblast":"Moskva oblast", -"Russia_Murmansk Oblast":"Murmanski oblast", -"Russia_Nenets Autonomous Okrug":"Neenetsi autonoomne ringkond", -"Russia_Nizhny Novgorod Oblast":"Nižni Novgorodi oblast", -"Russia_North Ossetia-Alania":"Põhja-Osseetia-Alania Vabariik", -"Russia_Novgorod Oblast":"Novgorodi oblast", -"Russia_Novosibirsk Oblast":"Novosibirski oblast", -"Russia_Omsk Oblast":"Omski oblast", -"Russia_Orenburg Oblast":"Orenburgi oblast", -"Russia_Oryol Oblast":"Oryoli oblast", -"Russia_Penza Oblast":"Penza oblast", -"Russia_Perm Krai":"Permi krai", -"Russia_Primorsky Krai":"Primorski krai", -"Russia_Pskov Oblast":"Pihkva oblast", -"Russia_Republic of Dagestan":"Dagestani Vabariik", -"Russia_Republic of Kalmykia":"Kalmõkkia Vabariik", -"Russia_Republic of Karelia":"Karjala Vabariik", -"Russia_Republic of Mordovia":"Mordva Vabariik", -"Russia_Rostov Oblast":"Rostovi oblast", -"Russia_Ryazan Oblast":"Rjazani oblast", -"Russia_Saint Petersburg":"Peterburi", -"Russia_Sakha Republic":"Sakha Vabariik", -"Russia_Sakhalin Oblast":"Sahhalini oblast", -"Russia_Samara Oblast":"Samara oblast", -"Russia_Saratov Oblast":"Saratovi oblast", -"Russia_Smolensk Oblast":"Smolenski oblast", -"Russia_Stavropol Krai":"Stavropoli krai", -"Russia_Sverdlovsk Oblast":"Sverdlovski oblast", -"Russia_Tambov Oblast":"Tambovi oblast", -"Russia_Tatarstan":"Tatarstani Vabariik", -"Russia_Tomsk Oblast":"Tomski oblast", -"Russia_Tula Oblast":"Tula oblast", -"Russia_Tuva":"Tuva Vabariik", -"Russia_Tver Oblast":"Tveri oblast", -"Russia_Tyumen Oblast":"Tjumeni oblast", -"Russia_Udmurt Republic":"Udmurdi Vabariik", -"Russia_Ulyanovsk Oblast":"Uljanovski oblast", -"Russia_Vladimir Oblast":"Vladimiri oblast", -"Russia_Volgograd Oblast":"Volgogradi oblast", -"Russia_Vologda Oblast":"Vologda oblast", -"Russia_Voronezh Oblast":"Voroneži oblast", -"Russia_Yamalo-Nenets Autonomous Okrug":"Jamalo-Neenetsi autonoomne üksus", -"Russia_Yaroslavl Oblast":"Jaroslavli oblast", -"Russia_Yugra":"Hanti-Mansi autonoomne üksus", -"Russia_Zabaykalsky Krai":"Trans-Baikali krai", -"Russian Federation":"Venemaa", -"Rwanda":"Ruanda", -"Sahrawi Arab Democratic Republic":"Sahara Araabia Demokraatlik Vabariik", -"Saint Barthelemy":"Saint-Barthélemy", -"Saint Helena Ascension and Tristan da Cunha":"Santa Helena, Ascension ja Tristan da Cunha", -"Saint Kitts and Nevis":"Saint Kitts ja Nevis", -"Saint Lucia":"Santa Lucia", -"Saint Martin":"Saint-Martin", -"Saint Vincent and the Grenadines":"Saint Vincent ja Grenadiinid", -"Samoa":"Samoa", -"San Marino":"San Marino", -"Sao Tome and Principe":"São Tome ja Principe", -"Saudi Arabia":"Saudi Araabia", -"Senegal":"Senegal", -"Serbia":"Serbia", -"Seychelles":"Seišellid", -"Sierra Leone":"Sierra Leone", -"Singapore":"Singapur", -"Slovakia":"Slovakkia", -"Slovakia_Region of Banska Bystrica":"Banská Bystrica piirkond", -"Slovakia_Region of Bratislava":"Bratislava piirkond", -"Slovakia_Region of Kosice":"Košice piirkond", -"Slovakia_Region of Nitra":"Nitra piirkond", -"Slovakia_Region of Presov":"Prešovi piirkond", -"Slovakia_Region of Trencin":"Trenčíni piirkond", -"Slovakia_Region of Trnava":"Trnava piirkond", -"Slovakia_Region of Zilina":"Žilina piirkond", -"Slovenia":"Sloveenia", -"Solomon Islands":"Saalomoni saared", -"Somalia":"Somaalia", -"South Africa":"Lõuna-Aafrika", -"South Africa_Eastern Cape":"Eastern Cape", -"South Africa_Free State":"Free State", -"South Africa_Gauteng":"Gauteng", -"South Africa_KwaZulu-Natal":"KwaZulu-Natal", -"South Africa_Limpopo":"Limpopo", -"South Africa_Mpumalanga":"Mpumalanga", -"South Africa_North West":"North West", -"South Africa_Northern Cape":"Northern Cape", -"South Africa_Western Cape":"Western Cape", -"South Carolina":"Lõuna-Carolina", -"South Georgia and the South Sandwich Islands":"Lõuna-Georgia ja Lõuna-Sandwichi saared", -"South Korea":"Lõuna-Korea", -"South Korea_North":"Lõuna-Korea - Põhi", -"South Korea_South":"Lõuna-Korea - Lõuna", -"South Ossetia":"Lõuna-Osseetia", -"South Sudan":"Lõuna-Sudaan", -"Spain":"Hispaania", -"Spain_Andalusia":"Andaluusia", -"Spain_Aragon":"Aragon", -"Spain_Balearic Islands":"Baleaari saared", -"Spain_Basque Country":"Baskimaa", -"Spain_Canary Islands":"Kanaari saared", -"Spain_Cantabria":"Cantabria", -"Spain_Castile and Leon":"Kastiilia ja León", -"Spain_Castile-La Mancha":"Castile-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Kataloonia – Barcelona maakond", -"Spain_Catalonia_Provincia de Girona":"Kataloonia – Girona maakond", -"Spain_Catalonia_Provincia de Lleida":"Kataloonia – Lleida maakond", -"Spain_Catalonia_Provincia de Tarragona":"Kataloonia – Tarragona maakond", -"Spain_Ceuta":"Ceuta", -"Spain_Community of Madrid":"Madridi kogukond", -"Spain_Comunidad Foral de Navarra":"Navarra", -"Spain_Extremadura":"Extremadura", -"Spain_Galicia":"Galicia", -"Spain_La Rioja":"La Rioja", -"Spain_Melilla":"Melilla", -"Spain_Principado de Asturias":"Astuuria", -"Spain_Region de Murcia":"Murcia piirkond", -"Spain_Valencian Community":"Valencia", -"Sri Lanka":"Sri Lanka", -"Sudan":"Sudaan", -"Suriname":"Suriname", -"Swaziland":"Eswatini", -"Sweden":"Rootsi", -"Sweden_Bergslagen":"Bergslagen", -"Sweden_Malardalen":"Pealinna piirkond", -"Sweden_Mellannorrland":"Keskn-Norland", -"Sweden_Norra Sverige":"Põhja-Rootsi", -"Sweden_Ostra Gotaland":"Ida-Götaland", -"Sweden_Sodra Gotaland":"Lõuna-Götaland", -"Sweden_Vastra Gotaland":"Lääne-Götaland", -"Switzerland":"Šveits", -"Switzerland_Central":"Kesk-Šveits", -"Switzerland_Eastern":"Ida-Šveits", -"Switzerland_Espace Mittelland":"Espace Mittelland", -"Switzerland_Lake Geneva region":"Genfi järve piirkond", -"Switzerland_Northwestern":"Loode-Šveits", -"Switzerland_Ticino":"Ticino", -"Switzerland_Zurich":"Zürich", -"Syria":"Süüria", -"Taiwan":"Taiwan", -"Tajikistan":"Tadžikistan", -"Tanzania":"Tansaania", -"Tennessee":"Tennessee", -"Texas":"Texas", -"Thailand":"Tai", -"Thailand_North":"Tai - Põhi", -"Thailand_South":"Tai - Lõuna", -"The Bahamas":"Bahama saared", -"The Gambia":"Gambia", -"Togo":"Togo", -"Tokelau":"Tokelau", -"Tonga":"Tonga", -"Trinidad and Tobago":"Trinidad ja Tobago", -"Tunisia":"Tuneesia", -"Turkey":"Türgi", -"Turkey_Aegean Region":"Egeuse mere piirkond", -"Turkey_Black Sea Region":"Musta mere piirkond", -"Turkey_Eastern Anatolia Region":"Ida-Anatoolia piirkond", -"Turkey_Marmara Region":"Marmara piirkond", -"Turkey_Mediterranean Region":"Vahemere piirkond", -"Turkey_Southeastern Anatolia Region":"Kagu-Anatoolia piirkond", -"Turkmenistan":"Türkmenistan", -"Turks and Caicos Islands":"Turksi ja Caicose saared", -"Tuvalu":"Tuvalu", -"UK_England_East Midlands":"Ida-Midlands", -"UK_England_East of England_Essex":"Ida-Inglismaa - Essex", -"UK_England_East of England_Norfolk":"Ida-Inglismaa - Norfolk", -"UK_England_Greater London":"Suur-London", -"UK_England_North East England":"Kirde-Inglismaa", -"UK_England_North West England":"Loode-Inglismaa", -"UK_England_South East_Brighton":"Kagu-Inglismaa - Brighton", -"UK_England_South East_Oxford":"Kagu-Inglismaa - Oxford", -"UK_England_South West England_Bristol":"Edela-Inglismaa - Bristol", -"UK_England_South West England_Cornwall":"Edela-Inglismaa - Cornwall", -"UK_England_West Midlands":"Lääne-Midlands", -"UK_England_Yorkshire and the Humber":"Yorkshire ja Humber", -"UK_Northern Ireland":"Põhja-Iirimaa", -"UK_Scotland_North":"Šotimaa - Põhi", -"UK_Scotland_South":"Šotimaa - Lõuna", -"UK_Wales":"Wales", -"US_Alabama_Birmingham":"Birmingham", -"US_Alabama_Montgomery":"Montgomery", -"US_Alaska":"Alaska", -"US_Arizona_Flagstaff":"Flagstaff", -"US_Arizona_Phoenix":"Phoenix", -"US_Arizona_Tucson":"Tucson", -"US_Arkansas":"Arkansas", -"US_California_Bakersfield_Bakersfield":"Bakersfield", -"US_California_Bakersfield_Lancaster":"Lancaster", -"US_California_Chico":"Chico", -"US_California_LA":"Los Angeles", -"US_California_LA North":"Los Angeles — Põhi", -"US_California_Redding":"Redding", -"US_California_Sacramento_Fresno":"Fresno", -"US_California_Sacramento_Sacramento":"Sacramento", -"US_California_Sacramento_Stockton":"Stockton", -"US_California_San Diego":"San Diego", -"US_California_Santa_Clara_Palo Alto":"San Francisco", -"US_California_Santa_Clara_Santa Cruz":"Santa Cruz", -"US_Colorado_Aspen":"Aspen", -"US_Colorado_Denver":"Denver", -"US_Colorado_South":"Colorado — Lõuna", -"US_Connecticut":"Connecticut", -"US_Delaware":"Delaware", -"US_Florida_Jacksonville":"Jacksonville", -"US_Florida_Miami":"Miami", -"US_Florida_Orlando":"Orlando", -"US_Florida_Tampa":"Tampa", -"US_Georgia":"Georgia", -"US_Georgia_Atlanta":"Atlanta", -"US_Georgia_Macon":"Macon", -"US_Georgia_North":"Georgia - Põhi", -"US_Georgia_South":"Georgia - Lõuna", -"US_Guam":"Guam", -"US_Hawaii":"Hawaii", -"US_Idaho":"Idaho", -"US_Illinois_Chickago":"Chicago", -"US_Illinois_Elgin":"Elgin", -"US_Illinois_Rockford":"Rockford", -"US_Illinois_South":"Illinois - Lõuna", -"US_Illinois_Springfield":"Springfield", -"US_Indiana_North":"Indiana - Põhi", -"US_Indiana_South":"Indiana - Lõuna", -"US_Iowa_Des Moines":"Des Moines", -"US_Iowa_Waterloo":"Waterloo", -"US_Iowa_West":"Iowa - Lääs", -"US_Kansas_East":"Kansas - Ida", -"US_Kansas_West":"Kansas - Lääs", -"US_Kentucky_East":"Kentucky - Ida", -"US_Kentucky_West":"Kentucky - Lääs", -"US_Louisiana_Central":"Luisiana - Lääs", -"US_Louisiana_New Orleans":"New Orleans", -"US_Maine":"Maine", -"US_Maryland_Baltimore":"Baltimore", -"US_Maryland_and_DC":"Lääs, Washington D.C.", -"US_Massachusetts_Boston":"Boston", -"US_Massachusetts_Central":"Worcester", -"US_Massachusetts_Plymouth":"Plymouth", -"US_Massachusetts_Southeastern":"Barnstable", -"US_Massachusetts_West":"Springfield", -"US_Michigan_Detroit":"Detroit", -"US_Michigan_North":"Michigan — Põhi", -"US_Michigan_South":"Michigan — Lõuna", -"US_Minnesota_Minneapolis":"Minneapolis", -"US_Minnesota_North":"Minnesota — Põhi", -"US_Minnesota_Rochester":"Rochester", -"US_Minnesota_Saint Cloud":"St. Cloud", -"US_Mississippi":"Mississippi", -"US_Missouri_East":"Missouri — Ida", -"US_Missouri_West":"Missouri — Lääs", -"US_Montana":"Montana", -"US_Nebraska":"Nebraska", -"US_Nevada":"Nevada", -"US_New Hampshire":"New Hampshire", -"US_New Jersey_North":"New Jersey — Põhi", -"US_New Jersey_South":"New Jersey — Lõuna", -"US_New Mexico":"New Mexico", -"US_New York_East":"New York — Long Island", -"US_New York_New York":"New York — New York City", -"US_New York_North":"New York — Põhi", -"US_New York_West":"New York — Lääs", -"US_North Carolina_Asheville":"Asheville", -"US_North Carolina_Charlotte":"Charlotte", -"US_North Carolina_Greensboro":"Greensboro", -"US_North Carolina_Raleigh":"Raleigh", -"US_North Carolina_Wilmington":"Wilmington", -"US_North Carolina_Wilson":"Wilson", -"US_North Dakota_Bismarck":"Bismarck", -"US_North Dakota_East":"Fargo", -"US_North Dakota_Minot":"Minot", -"US_Ohio_Cleveland":"Cleveland", -"US_Ohio_Dayton":"Dayton", -"US_Oklahoma_East":"Oklahoma — Ida", -"US_Oklahoma_West":"Oklahoma - Lääs", -"US_Oregon_Eugene":"Eugene", -"US_Oregon_Portland":"Portland", -"US_Oregon_West":"Oregon - Ida", -"US_Pennsylvania_Central":"Altoona", -"US_Pennsylvania_Pittsburgh":"Pittsburgh", -"US_Pennsylvania_Reading":"Reading", -"US_Pennsylvania_Scranton":"Scranton", -"US_Puerto Rico":"Puerto Rico", -"US_Rhode Island":"Rhode Island", -"US_South Carolina_Columbia":"Columbia", -"US_South Carolina_Florence":"Florence", -"US_South Dakota":"Lõuna-Dakota", -"US_Tennessee_East":"Tennessee — Ida", -"US_Tennessee_West":"Tennessee — Lääs", -"US_Texas_Austin":"Austin", -"US_Texas_Dallas":"Dallas", -"US_Texas_Houston":"Houston", -"US_Texas_Northwest":"Amarillo", -"US_Texas_San Antonio":"San Antonio", -"US_Texas_Southwest":"Laredo", -"US_Texas_Tyler":"Tyler", -"US_Texas_Wako":"Waco", -"US_Texas_West":"Odessa", -"US_United States Minor Outlying Islands":"USA väikesed kõrvalsaared", -"US_Utah":"Utah", -"US_Vermont":"Vermont", -"US_Virginia_Chesapeake":"Chesapeake", -"US_Virginia_Lynchburg":"Lynchburg", -"US_Virginia_Richmond":"Richmond", -"US_Virginia_Roanoke":"Roanoke", -"US_Washington_Coast":"Tacoma", -"US_Washington_Seattle":"Seattle", -"US_Washington_Yakima":"Yakima", -"US_West Virginia":"Lääne-Virginia", -"US_Wisconsin_Milwaukee":"Milwaukee", -"US_Wisconsin_North":"Põhja-Wisconsin", -"US_Wyoming":"Wyoming", -"Uganda":"Uganda", -"Ukraine":"Ukraina", -"Ukraine_Cherkasy Oblast":"Tšerkassi oblast", -"Ukraine_Chernihiv Oblast":"Tšernihivi oblast", -"Ukraine_Chernivtsi Oblast":"Tšernivtsi oblast", -"Ukraine_Dnipropetrovsk Oblast":"Dnipropetrovski oblast", -"Ukraine_Donetsk Oblast":"Donetski oblast", -"Ukraine_Ivano-Frankivsk Oblast":"Ivano-Frankivski oblast", -"Ukraine_Kharkiv Oblast":"Harkivi oblast", -"Ukraine_Kherson Oblast":"Hersoni oblast", -"Ukraine_Khmelnytskyi Oblast":"Hmelnõtski oblast", -"Ukraine_Kirovohrad Oblast":"Kirovohradi oblast", -"Ukraine_Kyiv Oblast":"Kiievi oblast", -"Ukraine_Luhansk Oblast":"Luhanski oblast", -"Ukraine_Lviv Oblast":"Lvivi oblast", -"Ukraine_Mykolaiv Oblast":"Mykolaivi oblast", -"Ukraine_Odessa Oblast":"Odessa oblast", -"Ukraine_Poltava Oblast":"Poltava oblast", -"Ukraine_Rivne Oblast":"Rivne oblast", -"Ukraine_Sumy Oblast":"Sumy oblast", -"Ukraine_Ternopil Oblast":"Ternopili oblast", -"Ukraine_Vinnytsia Oblast":"Vinnõtsja oblast", -"Ukraine_Volyn Oblast":"Volõni oblast", -"Ukraine_Zakarpattia Oblast":"Zakarpattia oblast", -"Ukraine_Zaporizhia Oblast":"Zaporižžja oblast", -"Ukraine_Zhytomyr Oblast":"Žõtomõri oblast", -"United Arab Emirates":"Araabia Ühendemiraadid", -"United Kingdom":"Ühendkuningriik", -"United States Virgin Islands":"Ameerika Ühendriikide Neitsisaared", -"United States of America":"Ameerika Ühendriigid", -"Uruguay":"Uruguay", -"Uzbekistan":"Usbekistan", -"Vanuatu":"Vanuatu", -"Venezuela":"Venezuela", -"Vietnam":"Vietnam", -"Virginia":"Virginia", -"Wallis and Futuna":"Wallis ja Futuna", -"Washington":"Washington", -"Willis Island":"Willise saar", -"Wisconsin":"Wisconsin", -"Yemen":"Jeemen", -"Zambia":"Sambia", -"Zimbabwe":"Zimbabwe", -"Argentina_Santa Fe":"Santa Fe maakond", -"Australia_Brisbane":"Brisbane", -"Australia_Sydney":"Sydney", -"Austria_Styria_Graz":"Steiermark – Graz", -"Austria_Styria_Leoben":"Steiermark – Leoben", -"Austria_Upper Austria_Linz":"Ülem-Austria — Linz", -"Austria_Upper Austria_Wels":"Ülem-Austria - Wels", -"Brazil_Goias_Brasilia":"Goiás — Brasilia", -"Brazil_Goias_North":"Goiás - Põhi", -"Brazil_North Region_East":"Põhjapiirkond - Ida", -"Brazil_North Region_West":"Põhjapiirkond - Lääs", -"Brazil_Northeast Region_East":"Kirdepiirkond - Ida", -"Brazil_Northeast Region_West":"Kirdepiirkond - Lääs", -"Brazil_Parana_East":"Paraná - Ida", -"Brazil_Parana_West":"Paraná - Lääs", -"Brazil_South Region_East":"Lõunapiirkond - Ida", -"Brazil_South Region_West":"Lõunapiirkond - Lääs", -"Bulgaria_East":"Bulgaaria - Ida", -"Bulgaria_West":"Bulgaaria - Lääs", -"Canada_Ontario_Northeastern_W":"Wawa", -"Chile_Central":"Tšiili - Keskosa", -"Congo-Kinshasa_Kivu":"Kivu", -"Congo-Kinshasa_West":"Kongo - Lääs", -"Croatia_Central":"Horvaatia - Keskosa", -"Croatia_West":"Horvaatia - Lääs", -"Ecuador_East":"Ecuador - Ida", -"Ecuador_West":"Ecuador - Lääs", -"Finland_Eastern Finland_North":"Ida-Soome — Põhi", -"Finland_Eastern Finland_South":"Ida-Soome — Lõuna", -"Finland_Western Finland_Jyvaskyla":"Lääne-Soome - Jyväskylä", -"Finland_Western Finland_Tampere":"Lääne-Soome - Tampere", -"France_Free County_North":"Franche-Comté - Põhi", -"France_Free County_South":"Franche-Comté - Lõuna", -"France_Pays de la Loire_Loire-Atlantique_Nantes":"Loire-Atlantique — Nantes", -"France_Pays de la Loire_Loire-Atlantique_Saint-Nazaire":"Loire-Atlantique — Saint-Nazaire", -"Germany_Free State of Bavaria_Upper Bavaria_South":"Ülem-Baieri - Lõuna", -"India_Karnataka_North":"Karnataka - Põhi", -"India_Karnataka_South":"Karnataka - Lõuna", -"Iran_East":"Iraan - Ida", -"Iraq_North":"Iraak - Põhi", -"Iraq_South":"Iraak - Lõuna", -"Japan_Chubu Region_Aichi_Nagoya":"Aichi — Nagoya", -"Japan_Chubu Region_Aichi_Toyohashi":"Aichi — Toyohashi", -"Japan_Hokkaido Region_Sapporo":"Sapporo", -"Japan_Kinki Region_Osaka_Osaka":"Osaka", -"Japan_Kinki Region_Osaka_West":"Osaka - Lääs", -"Kazakhstan_North":"Kasahstan - Põhi", -"Kazakhstan_South":"Kasahstan - Lõuna", -"Lithuania_East":"Leedu - Ida", -"Lithuania_West":"Leedu - Lääs", -"Mexico_Chihuahua":"Chihuahua", -"Mexico_Sonora":"Sonora", -"Nepal_Kathmandu":"Kathmandu", -"Nepal_Madhyamanchal":"Keskpiirkond", -"Nepal_Purwanchal":"Idapiirkond", -"Nigeria_North":"Nigeeria - Põhi", -"Nigeria_South":"Nigeeria - Lõuna", -"Norway_Hordaland":"Hordaland", -"Norway_Nordland":"Nordland", -"Norway_North Trondelag":"Põhja-Trøndelag", -"Norway_Rogaland":"Rogaland", -"Norway_South Trondelag":"Sør-Trøndelag", -"Peru_Lima":"Lima", -"Portugal_Islands":"Portugali saared", -"Portugal_Viseu":"Viseu", -"Russia_Krasnoyarsk Krai_North":"Krasnojarski krai - Põhi", -"Russia_Krasnoyarsk Krai_South":"Krasnojarski krai - Lõuna", -"Russia_Moscow Oblast_East":"Moskva oblast - Ida", -"Russia_Moscow Oblast_West":"Moskva oblast - Lääs", -"Russia_Perm Krai_North":"Permi krai - Põhi", -"Russia_Perm Krai_South":"Permi krai - Lõuna", -"Russia_Republic of Karelia_North":"Karjala Vabariik - Põhi", -"Russia_Republic of Karelia_South":"Karjala Vabariik - Lõuna", -"Russia_Sverdlovsk Oblast_North":"Sverdlovski oblast - Põhi", -"Russia_Sverdlovsk Oblast_Ekaterinburg":"Sverdlovski oblast - Jekaterinburg", -"Russia_Yugra_Khanty":"Yugra - Hantõ-Mansiiski", -"Russia_Yugra_Surgut":"Yugra — Surgut", -"Saudi Arabia_North":"Saudi Araabia - Põhi", -"Saudi Arabia_South":"Saudi Araabia - Lõuna", -"Slovenia_East":"Sloveenia - Ida", -"Slovenia_West":"Sloveenia - Lääs", -"Spain_Andalusia_Granada":"Andaluusia - Granada", -"Spain_Andalusia_Sevilla":"Andaluusia - Sevilla", -"Spain_Castile and Leon_East":"Kastiilia ja León – Ida", -"Spain_Castile and Leon_West":"Kastiilia ja León – Lääs", -"Spain_Galicia_North":"Galicia - Põhi", -"Spain_Galicia_South":"Galicia — Lõuna", -"Sudan_East":"Sudaan - Ida", -"Sudan_West":"Sudaan - Lääs", -"Sweden_Stockholm":"Stockholm", -"Switzerland_Espace Mittelland_Bern":"Espace Mittelland — Bern", -"Switzerland_Espace Mittelland_East":"Espace Mittelland — Ida", -"Taiwan_North":"Taiwan - Põhi", -"Taiwan_South":"Taiwan - Lõuna", -"Thailand_Central":"Tai - Keskosa", -"Turkey_Central Anatolia Region_Ankara":"Kesk-Anatoolia - Ankara", -"Turkey_Central Anatolia Region_Kayseri":"Kesk-Anatoolia - Kayseri", -"Turkey_Marmara Region_Bursa":"Marmara piirkond - Bursa", -"Turkey_Marmara Region_Istanbul":"Marmara piirkond - Istanbul", -"US_Arkansas_North":"Arkansas - Põhi", -"US_Arkansas_South":"Arkansas - Lõuna", -"US_Florida_Gainesvile":"Gainesville", -"US_Idaho_North":"Idaho - Põhi", -"US_Idaho_South":"Idaho - Lõuna", -"US_Indiana_Evansville":"Evansville", -"US_Indiana_Indianapolis":"Indianapolis", -"US_Kansas_Wichita":"Wichita", -"US_Kentucky_Louisville":"Louisville", -"US_Michigan_Grand Rapids":"Grand Rapids", -"US_Michigan_Lansing":"Lansing", -"US_Mississippi_Gulfport":"Gulfport", -"US_Mississippi_North":"Mississippi - Põhi", -"US_Missouri_Kansas":"Kansas City", -"US_Missouri_Springfield":"Springfield", -"US_Missouri_St Louis":"St. Louis", -"US_Montana_East":"Montana - Ida", -"US_Montana_West":"Montana - Lääs", -"US_Nebraska_East":"Nebraska - Ida", -"US_Nebraska_West":"Nebraska - Lääs", -"US_New Mexico_Albuquerque":"Albuquerque", -"US_New Mexico_Roswell":"Roswell", -"US_Ohio_Cincinnati":"Cincinnati", -"US_Ohio_Columbus":"Columbus", -"US_Ohio_Toledo":"Toledo", -"US_Oklahoma_Oklahoma":"Oklahoma City", -"US_Oklahoma_Tulsa":"Tulsa", -"US_South Carolina_Charleston":"Charleston", -"US_Texas_Amarillo":"Amarillo", -"US_Texas_Lubbock":"Lubbock", -"US_Utah_North":"Utah — Põhi", -"US_Utah_South":"Utah - Lõuna", -"US_Virginia_Alexandria":"Alexandria", -"US_Wisconsin_Eau Claire":"Eau Claire", -"US_Wisconsin_Madison":"Madison", -"Venezuela_North":"Venezuela - Põhi", -"Venezuela_South":"Venezuela - Lõuna", -"Argentina_Buenos Aires_Buenos Aires":"Buenos Aires", -"Canada_Quebek_Lachute":"Lachute", -"Canada_Saskatchewan_Regina":"Regina", -"Canada_Saskatchewan_Saskatoon":"Saskatoon", -"Germany_Lower Saxony_Braunschweig":"Braunschweig", -"Germany_Saxony-Anhalt_Halle":"Saksimaa-Anhalt - Halle", -"Germany_Saxony-Anhalt_Magdeburg":"Saksimaa-Anhalt - Magdeburg", -"Germany_Schleswig-Holstein_Flensburg":"Schleswig-Holstein — Flensburg", -"Germany_Schleswig-Holstein_Kiel":"Schleswig-Holstein — Kiel", -"Portugal_Porto":"Porto", -"UK_England_North West England_Lancaster":"Loode-Inglismaa – Lancaster", -"UK_England_North West England_Manchester":"Loode-Inglismaa – Manchester", -"US_Florida_Gainesville":"Gainesville", -"US_Texas_Victoria":"Victoria", -"US_Virginia_Norfolk":"Norfolk", -"Abkhazia Description":"Pitsunda, Gudauta, Sukhum", -"Afghanistan Description":"Kabul, Kandahar, Tokzar", -"Albania Description":"Tiranë, Kavaje, Shkoder", -"Algeria_Central Description":"Batna, Djelfa, Biskra", -"Algeria_Coast Description":"Alžiir, Oran, Constantine", -"Andorra Description":"Andorra la Vella, La Massana, Ordino", -"Angola Description":"Luanda, Lobito, Namibe", -"Anguilla Description":"The Valley, George Hill, Stoney Ground", -"Antarctica Description":"McMurdo jaam, Stația științifică Tšiili \"Villa Las Estrellas\", Rocky Cove", -"Antigua and Barbuda Description":"St. John's, Inglise sadam, Freetown", -"Argentina_Buenos Aires_Buenos Aires Description":"Buenos Aires, José C. Paz, González Catán", -"Argentina_Buenos Aires_North Description":"Dolores, Pinamar, Villa Gesell", -"Argentina_Buenos Aires_South Description":"Bahía Blanca, Miramar, Tandil", -"Argentina_Cuyo Description":"San Juan, San Rafael, San Luis", -"Argentina_Mesopotamia Description":"Federación, Paraná, Alvear", -"Argentina_Northwest Description":"San Miguel de Tucumán, San Fernando del Valle de Catamarca, San Salvador de Jujuy", -"Argentina_Pampas Description":"Córdoba, Santa Rosa, Río Cuarto", -"Argentina_Patagonia Description":"Cutral Co, Viedma, Comodoro Rivadavia", -"Argentina_Santa Fe Description":"Rosario, Santa Fe, Las Parejas", -"Armenia Description":"Jerevan, Ashtarak, Gyumri", -"Australia_Brisbane Description":"Brisbane, Redcliffe, Gold Coast", -"Australia_Melbourne Description":"Melbourne, Geelong, Yering", -"Australia_New South Wales Description":"Barham, Tuncurry, Tocumwal", -"Australia_Northern Territory Description":"Darwin, Tennant Creek, Mutitjulu", -"Australia_Queensland Description":"Charleville, Winton, Townsville", -"Australia_South Australia Description":"Adelaide, Port Lincoln, Murray Bridge", -"Australia_Sydney Description":"Sydney, Canberra, Newcastle", -"Australia_Tasmania Description":"Hobart, Strahan, Huonville", -"Australia_Victoria Description":"Wangaratta, Bendigo, Ballarat", -"Australia_Western Australia Description":"Perth, Joondalup, Kalgoorlie", -"Austria_Burgenland Description":"Oberpullendorf, Eisenstadt, Mattersburg", -"Austria_Carinthia Description":"Klagenfurt, Villach, Wolfsberg", -"Austria_Lower Austria_West Description":"St. Pölten", -"Austria_Lower Austria_Wien Description":"Viin, Wiener Neustadt", -"Austria_Salzburg Description":"Salzburg, Oberndorf bei Salzburg, Abtenau", -"Austria_Styria_Graz Description":"Graz, Feldbach, Voitsberg", -"Austria_Styria_Leoben Description":"Eisenerz, Mariazell, Knittelfeld", -"Austria_Tyrol Description":"Innsbruck, Kufstein, Schwaz", -"Austria_Upper Austria_Linz Description":"Linz, Steyr, Ansfelden", -"Austria_Upper Austria_Wels Description":"Attnang-Puchheim, Wels, Schwanenstadt", -"Austria_Vorarlberg Description":"Dornbirn, Feldkirch, Bregenz", -"Azerbaijan Description":"Baku, Sumgayit, Ganja", -"Bahrain Description":"Manama, Riffa, Muharraq", -"Bangladesh Description":"Sylhet, Dhaka, Comilla", -"Barbados Description":"Bridgetown, Oistins, Speightstown", -"Belarus_Brest Region Description":"Brest, Pinsk, Baranovichi", -"Belarus_Homiel Region Description":"Homel, Mazyr, Zhlobin", -"Belarus_Hrodna Region Description":"Hrodna, Lida, Vawkavysk", -"Belarus_Maglieu Region Description":"Mahilyow, Babruysk, Čerykaŭ", -"Belarus_Minsk Region Description":"Minsk, Barysaw, Soligorsk", -"Belarus_Vitebsk Region Description":"Vitebsk, Orsha, Navapolatsk", -"Belgium_Antwerp Description":"Antwerpen, Zwijndrecht, Berchem", -"Belgium_East Flanders Description":"Ghent, Deinze, Sint-Martens-Latem", -"Belgium_Flemish Brabant Description":"Brüssel, Schaerbeek – Schaarbeek, Anderlecht", -"Belgium_Hainaut Description":"Mons, Charleroi, La Louvière", -"Belgium_Liege Description":"Liège, Seraing, Verviers", -"Belgium_Limburg Description":"Houthalen-Helchteren, Maasmechelen, Hasselt", -"Belgium_Luxembourg Description":"Arlon, Marche-en-Famenne, Bastogne", -"Belgium_Namur Description":"Namur, Mettet, Saint-Marc", -"Belgium_Walloon Brabant Description":"Braine-l'Alleud, Wavre, Ottignies-Louvain-la-Neuve", -"Belgium_West Flanders Description":"Bruges, Koksijde, Nieuwpoort", -"Belize Description":"Benque Viejo del Carmen, Belize City, Belmopan", -"Benin Description":"Natitingou, Abomey, Djougou", -"Bermuda Description":"St. George's, Hamilton, Somerset", -"Bhutan Description":"Thimphu, Ha, Mongar", -"Bolivia_North Description":"La Paz, Santa Cruz de la Sierra, El Alto", -"Bolivia_South Description":"Sucre, Cochabamba, Tupiza", -"Bosnia and Herzegovina_Brcko district of Bosnia and Herzegowina Description":"Brčko, Dubrave, Rašljani", -"Bosnia and Herzegovina_Entity Federation of Bosnia and Herzegovina Description":"Sarajevo, Mostar", -"Bosnia and Herzegovina_Republic of Srpska Description":"Banja Luka, Bijeljina, Derventa", -"Botswana Description":"Gaborone, Tsabong, Mochudi", -"Brazil_Bahia Description":"Salvador, Feira de Santana, Vitória da Conquista", -"Brazil_Goias_Brasilia Description":"Brasília, Goiânia, Aparecida de Goiânia", -"Brazil_Goias_North Description":"Goianésia, Jaraguá, Porangatu", -"Brazil_Mato Grosso Description":"Cuiabá, Várzea Grande, Rondonopolis", -"Brazil_Mato Grosso Do Sul Description":"Campo Grande, Dourados, Três Lagoas", -"Brazil_North Region_East Description":"Belém, Ananindeua, Macapa", -"Brazil_North Region_West Description":"Manaus, Porto Velho, Rio Branco", -"Brazil_Northeast Region_East Description":"Recife, Maceió, Jaboatão dos Guararapes", -"Brazil_Northeast Region_West Description":"Fortaleza, São Luís, Teresina", -"Brazil_Paraiba Description":"João Pessoa, Campina Grande, Santa Rita", -"Brazil_Parana_East Description":"Curitiba, Ponta Grossa, São José dos Pinhais", -"Brazil_Parana_West Description":"Londrina, Maringa, Cascavel", -"Brazil_Rio Grande do Norte Description":"Natal, Mossoró, Parnamirim", -"Brazil_Santa Catarina Description":"Joinville, Florianópolis, Blumenau", -"Brazil_South Region_East Description":"Porto Alegre, Caxias do Sul, Canoas", -"Brazil_South Region_West Description":"Santa Maria, Passo Fundo, Uruguaiana", -"Brazil_Southeast Region_Espirito Santo Description":"Serra, Vila Velha, Cariacica", -"Brazil_Southeast Region_Minas Gerais_Contagem Description":"Belo Horizonte, Contagem, Juiz de Fora", -"Brazil_Southeast Region_Minas Gerais_North Description":"Uberlandia, Montes Claros, Uberaba", -"Brazil_Southeast Region_Rio de Janeiro Description":"Rio de Janeiro, São Gonçalo, Duque de Caxias", -"Brazil_Southeast Region_Sao Paulo_Campinas Description":"Campinas, Sorocaba, Jundiaí", -"Brazil_Southeast Region_Sao Paulo_City Description":"São Paulo, Guarulhos, São Bernardo do Campo", -"Brazil_Southeast Region_Sao Paulo_West Description":"Ribeirão Preto, São José do Rio Preto, Franca", -"British Indian Ocean Territory Description":"Seabreeze Village, Camp Justice", -"British Virgin Islands Description":"Spanish Town, Road Town, East End", -"Brunei Description":"Bandar Seri Begawan, Muara, Seria", -"Bulgaria_East Description":"Varna, Burgas, Dobrich", -"Bulgaria_West Description":"Sofia, Plovdiv, Pleven", -"Burkina Faso Description":"Ouagadougou, Bobo-Dioulasso", -"Burundi Description":"Bujumbura, Bubanza, Cibitoke", -"Cambodia Description":"Phnom Penh, Kampong Speu, Takeo", -"Cameroon_Central Description":"Yaounde, Kousséri, Kribi", -"Cameroon_West Description":"Douala, Buea, Bamenda", -"Canada_Alberta_Edmonton Description":"Edmonton, Lacombe, Wetaskiwin", -"Canada_Alberta_North Description":"Grande Prairie, Peace River, Fort McMurray", -"Canada_Alberta_South Description":"Calgary, Chestermere, Lethbridge", -"Canada_British Columbia_Central Description":"Williams Lake, Quesnel, Prince George", -"Canada_British Columbia_Far_North Description":"East Pine, Tumbler Ridge, Hudson's Hope", -"Canada_British Columbia_Islands Description":"Saanich, Nanaimo, Victoria", -"Canada_British Columbia_North Description":"Prince Rupert, Terrace, Kitimat", -"Canada_British Columbia_Northeast Description":"Muskwa, Fort Nelson, Fontas", -"Canada_British Columbia_Southeast Description":"Merritt, Revelstoke, Vernon", -"Canada_British Columbia_Vancouver Description":"Vancouver, Surrey, Powell River", -"Canada_Labrador_North Description":"Nain, Postville, Hopedale", -"Canada_Labrador_South Description":"L'Anse-au-Clair, L'Anse-au-Clair, Forteau", -"Canada_Labrador_West Description":"Churchill Falls, Happy Valley-Goose Bay, Happy Valley - Goose Bay", -"Canada_Manitoba_Northeast Description":"Caribou, Manigotagan, English Brook", -"Canada_Manitoba_Northwest Description":"Young Point, Cormorant, Pickerel Narrows", -"Canada_Manitoba_South Description":"Foxwarren, Shoal Lake, Brandon", -"Canada_Manitoba_Winnipeg Description":"Winnipeg, Portage La Prairie, Killarney", -"Canada_New Brunswick Description":"Edmundston, Fredericton, Campbellton", -"Canada_Newfoundland_East Description":"Mount Pearl, St John's, Badger", -"Canada_Newfoundland_North Description":"St. Anthony, Kippens, Gallants", -"Canada_Newfoundland_South Description":"Fortune, Lamaline, Seal Cove", -"Canada_Newfoundland_West Description":"Codroy Valley, Port Aux Basques, Margaree", -"Canada_Northwest Territories_East Description":"Łutselk’e, Rocher River, Fork Lake", -"Canada_Northwest Territories_North Description":"Norman Wells, Inuvik, Fort Simpson", -"Canada_Northwest Territories_Yellowknife Description":"Yellowknife, Hay River, Fort Smith", -"Canada_Nova Scotia_Halifax Description":"Halifax, Bedford, Yarmouth", -"Canada_Nova Scotia_Sydney Description":"Sydney, Inverness, Westville", -"Canada_Nunavut_North Description":"CFB Alert, Grise Fiord, Eureka", -"Canada_Nunavut_South Description":"Repulse Bay, Arctic Bay, Naujaat", -"Canada_Ontario_Bame Description":"Barrie, Wasaga Beach, Deep River", -"Canada_Ontario_Kingston Description":"Ottawa, Belleville, Peterborough", -"Canada_Ontario_London Description":"London, Welland, Woodstock", -"Canada_Ontario_Northeastern_Central Description":"Timmins, Timmins, Iroquois Falls", -"Canada_Ontario_Northeastern_North Description":"Moose Factory, Moosonee, Kashechewan", -"Canada_Ontario_Northeastern_S Description":"Sudbury, Onaping, Dowling", -"Canada_Ontario_Northeastern_SE Description":"Englehart, Temagami, Mattawa", -"Canada_Ontario_Northeastern_SW Description":"Sault Ste. Marie, Sault Ste. Marie, Bruce Mines", -"Canada_Ontario_Northeastern_W Description":"Wawa, Dubreuilville, White River", -"Canada_Ontario_Northern Description":"Thunder Bay, Geraldton, Longlac", -"Canada_Ontario_Northwestern Description":"Pikangikum, Peawanuck, Sandy Lake", -"Canada_Ontario_Toronto Description":"Toronto, Guelph, Mississauga", -"Canada_Prince Edward Island Description":"Summerside, Charlottetown, Borden", -"Canada_Quebec_Quebec Description":"Quebec, Sherbrooke, Drummondville", -"Canada_Quebek_Far North Description":"Radisson, Akulivik, Inukjuak", -"Canada_Quebek_Lachute Description":"Gatineau, Maniwaki, Mansfield-et-Pontefract", -"Canada_Quebek_Montreal Description":"Montreal, Granby, Laval", -"Canada_Quebek_North Description":"Sept-Îles, Port-Cartier, Fermont", -"Canada_Quebek_Southeast_Rimouski Description":"Gaspé, Rimouski, Saint-Pascal", -"Canada_Quebek_Southeast_Saguenay Description":"Baie-Comeau, Saguenay, Saint-Félicien", -"Canada_Quebek_West_Chibougamau Description":"Chapais, Chibougamau, La Tuque", -"Canada_Quebek_West_Rouyn-Noranda Description":"Rouyn-Noranda, Lebel-sur-Quévillon, Senneterre", -"Canada_Saskatchewan_North Description":"Meadow Lake, Blaine Lake, Saint Walburg", -"Canada_Saskatchewan_Regina Description":"Melfort, Melville, Regina", -"Canada_Saskatchewan_Saskatoon Description":"Saskatoon, Warman, Hague", -"Canada_Yukon_North Description":"Ross River, Mayo, Dawson City", -"Canada_Yukon_Whitehorse Description":"Watson Lake, Whitehorse, Haines Junction", -"Cape Verde Description":"Praia, Ribeira Grande, Cidade de Espargos", -"Caribisch Nederland Description":"San Nicolaas, Willemstad, Oranjestad", -"Cayman Islands Description":"George Town, West Bay, West End", -"Central African Republic Description":"Bangui, Bouar, Baoro", -"Chad Description":"N'Djamena, Mao, Bol", -"Chile_Central Description":"Santiago, Pichilemu, San Antonio", -"Chile_North Description":"Hanga Roa, Iquique, Coquimbo", -"Chile_South Description":"Valdivia, Talcahuano, Coronel", -"China_Anhui Description":"Hefei, 包河区, 蜀山区", -"China_Chongqing Description":"Chongqing, Changshou, Kai", -"China_Fujian Description":"Longyan, Sanming, Shaowu", -"China_Gansu Description":"Lanzhou, Hongliuwan, Dangchengwan", -"China_Guangdong Description":"Guangzhou, Shenzhen, Jiāngmén", -"China_Guangxi Description":"Guigang, Dongxing, Wuzhou", -"China_Guizhou Description":"Guiyang, Liupanshui, Weining", -"China_Hebei Description":"Peking, Tianjin, Shijiazhuang", -"China_Heilongjiang Description":"Harbin, Jixi, Ning'an", -"China_Henan Description":"Zhengzhou, 水磨村, Wugang", -"China_Hubei Description":"Wuhan, Jīngzhōu City, Dangyang", -"China_Hunan Description":"Changsha, Lianyuan, Liling", -"China_Inner Mongolia Description":"Hohhot, Baotou, Erenhot", -"China_Jiangsu Description":"Nanjing, Taixing, Xinyi", -"China_Jiangxi Description":"Ganzhou, Shangrao, Yichun", -"China_Jilin Description":"Changchun, Jilin, Meihekou", -"China_Liaoning Description":"Shenyang, Lingyuan, Wafangdian", -"China_Ningxia Hui Description":"Zhongwei, Wuzhong, Qingtongxia", -"China_Qinghai Description":"Dulan, Delingha, Gyêgu", -"China_Shaanxi Description":"Xi'an, Baoji, Hanzhong", -"China_Shandong Description":"Jinan, Tai'an, Zibo", -"China_Shanghai Description":"Shanghai, Jinshan, Putuo", -"China_Shanxi Description":"Taiyuan, Changzhi, Huozhou", -"China_Sichuan Description":"Chengdu, Panzhihua, Yibin", -"China_Tibet Autonomous Region Description":"Gya'gya, Chabkha, Shelkar", -"China_Xinjiang Description":"Kashgar, Tumxuk, Hotan", -"China_Yunnan Description":"Kunming, Zhedao, Yongbei", -"China_Zhejiang Description":"Jiande, Hangzhou, Lin'an", -"Colombia_East Description":"Mocoa, Villavicencio, Florencia", -"Colombia_North Description":"Cúcuta, Medellín, Cartagena", -"Colombia_West Description":"Bogota, Cali, Soacha", -"Comoros Description":"Moroni, Mutsamudu, Bazimini", -"Congo-Brazzaville Description":"Brazzaville, Pointe-Noire, Impfondo", -"Congo-Kinshasa_Kivu Description":"Bukavu, Beni, Goma", -"Congo-Kinshasa_West Description":"Kinshasa, Mbuji-Mayi, Lubumbashi", -"Cook Islands Description":"Rarotonga Muri, Avarua, Kimiangatau", -"Costa Rica Description":"San José, Palmira, Alajuela", -"Cote dIvoire Description":"Abidjan, Abobo, Yopougon", -"Crimea Description":"Sevastopol, Simferopol, Kertš", -"Croatia_Central Description":"Zagreb, Osijek, Ozalj", -"Croatia_West Description":"Split, Rijeka, Opatija", -"Cuba Description":"Havana, Santiago de Cuba, Cienfuegos", -"Cyprus Description":"Nicosia, Nicosia, Limassol", -"Czech_Jihovychod_Jihomoravsky kraj Description":"Brno, Znojmo", -"Czech_Jihovychod_Kraj Vysocina Description":"Jihlava, Třebíč", -"Czech_Jihozapad_Jihocesky kraj Description":"Budweis, Tábor, Písek", -"Czech_Jihozapad_Plzensky kraj Description":"Pilsen, Klatovy, Rokycany", -"Czech_Karlovasky kraj Description":"Carlsbad, Cheb, Sokolov", -"Czech_Moravskoslezsko Description":"Ostrava, Havířov, Karviná", -"Czech_Olomoucky kraj Description":"Olomouc, Prostějov, Přerov", -"Czech_Praha Description":"Praha, Netluky", -"Czech_Severovychod_Kralovehradecky kraj Description":"Hradec Králové, Náchod, Trutnov", -"Czech_Severovychod_Liberecky kraj Description":"Liberec, Jablonec nad Nisou, Hejnice", -"Czech_Severovychod_Pardubicky kraj Description":"Pardubice, Chrudim, Svitavy", -"Czech_Stredni Cechy_West Description":"Kladno, Mladá Boleslav, Mělník", -"Czech_Ustecky kraj Description":"Ústí nad Labem, Most, Chomutov", -"Czech_Zlinsky Kraj Description":"Zlín, Vsetín, Kroměříž", -"Denmark_Capital Region of Denmark Description":"Kopenhaagen, Skovlunde, Virum", -"Denmark_Central Denmark Region Description":"Aarhus, Juelsminde, Brabrand", -"Denmark_North Denmark Region Description":"Aalborg, Hjørring, Frederikshavn", -"Denmark_Region Zealand Description":"Roskilde, Næstved, Greve Strand", -"Denmark_Region of Southern Denmark Description":"Odense, Morud, Korup", -"Djibouti Description":"Djibouti, Randa, Yoboki", -"Dominica Description":"Roseau, Salisbury, Grand Bay", -"Dominican Republic Description":"Santo Domingo, Barahona, Azua", -"East Timor Description":"Dili, Pante Macassar, Viqueque", -"Ecuador_East Description":"Quito, Cuenca, Tena", -"Ecuador_West Description":"Guayaquil, Manta, Machala", -"Egypt Description":"Kairo, Alexandria, Giza", -"El Salvador Description":"San Salvador, Ahuachapan, Sonsonate", -"Equatorial Guinea Description":"Malabo, Mongomo, Bata", -"Eritrea Description":"ኣስመራ, Keren, Omhajer", -"Estonia_East Description":"Põltsamaa linn, Võru, Tartu", -"Estonia_West Description":"Tallinn, Pärnu, Maardu", -"Ethiopia Description":"Addis Ababa, Asella, Bahir Dar", -"Falkland Islands Description":"Stanley, Falklandi saared, Dunnose Head, Port Edgar", -"Faroe Islands Description":"Tórshavn, Klaksvík, Norðdepil", -"Federated States of Micronesia Description":"Palikir, Colonia, Tamworohi", -"Fiji Description":"Suva, Nasinu, Nadi", -"Finland_Eastern Finland_North Description":"Alapitkä, Koli, Kajaani", -"Finland_Eastern Finland_South Description":"Kuopio, Joensuu, Mikkeli", -"Finland_Northern Finland Description":"Oulu, Rovaniemi, Kokkola", -"Finland_Southern Finland_Helsinki Description":"Helsingi, Espoo, Vantaa", -"Finland_Southern Finland_Lappeenranta Description":"Kouvola, Lappeenranta, Kotka", -"Finland_Southern Finland_West Description":"Turku, Hämeenlinna, Salo", -"Finland_Western Finland_Jyvaskyla Description":"Jyväskylä, Lehtimäki, Kuorevesi", -"Finland_Western Finland_Tampere Description":"Tampere, Pori, Vaasa", -"France_Alsace_Bas-Rhin Description":"Strasbourg, Haguenau, Schiltigheim", -"France_Alsace_Haut-Rhin Description":"Mulhouse, Colmar, Saint-Louis", -"France_Aquitaine_Dordogne Description":"Périgueux, Bergerac, Sarlat-la-Canéda", -"France_Aquitaine_Gironde Description":"Bordeaux, Mérignac, Pessac", -"France_Aquitaine_Landes Description":"Mont-de-Marsan, Dax, Saint-Paul-lès-Dax", -"France_Aquitaine_Lot-et-Garonne Description":"Agen, Villeneuve-sur-Lot, Marmande", -"France_Aquitaine_Pyrenees-Atlantiques Description":"Pau, Bayonne, Anglet", -"France_Auvergne_Allier Description":"Montluçon, Vichy, Moulins", -"France_Auvergne_Cantal Description":"Aurillac, Saint-Flour, Arpajon-sur-Cère", -"France_Auvergne_Haute-Loire Description":"Le Puy-en-Velay, Monistrol-sur-Loire, Yssingeaux", -"France_Auvergne_Puy-de-Dome Description":"Clermont-Ferrand, Cournon-d'Auvergne, Riom", -"France_Brittany_Cotes-dArmor Description":"Saint-Brieuc, Kerbrézellic, Lannion", -"France_Brittany_Finistere Description":"Brest, Quimper, Le Relecq-Kerhuon", -"France_Brittany_Ille-et-Vilaine Description":"Rennes, Saint-Malo, Fougères", -"France_Brittany_Morbihan Description":"Lorient, Vannes, Lanester", -"France_Burgundy_Cote-dOr Description":"Dijon, Beaune, Chenôve", -"France_Burgundy_Nievre Description":"Nevers, Cosne-Cours-sur-Loire, Varennes-Vauzelles", -"France_Burgundy_Saone-et-Loire Description":"Chalon-sur-Saône, Mâcon, Le Creusot", -"France_Burgundy_Yonne Description":"Auxerre, Sens, Joigny", -"France_Centre-Val de Loire_Cher Description":"Bourges, Vierzon, Saint-Amand-Montrond", -"France_Centre-Val de Loire_Eure-et-Loir Description":"Chartres, Dreux, Lucé", -"France_Centre-Val de Loire_Indre Description":"Châteauroux, Issoudun, Déols", -"France_Centre-Val de Loire_Indre-et-Loire Description":"Tours, Joué-lès-Tours, Saint-Cyr-sur-Loire", -"France_Centre-Val de Loire_Loir-et-Cher Description":"Blois, Romorantin-Lanthenay, Vendôme", -"France_Centre-Val de Loire_Loiret Description":"Orléans, Fleury-les-Aubrais, Olivet", -"France_Champagne-Ardenne Description":"Reims, Troyes, Charleville-Mézières", -"France_Corsica Description":"Ajaccio, Bastia, Porto-Vecchio", -"France_Free County_North Description":"Besançon, Belfort, Montbéliard", -"France_Free County_South Description":"Pontarlier, Lons-le-Saunier, Saint-Claude", -"France_French Guiana Description":"Cayenne, Saint-Laurent-du-Maroni, Matoury", -"France_Ile-de-France_Essonne Description":"Évry, Corbeil-Essonnes, Massy", -"France_Ile-de-France_Hauts-de-Seine Description":"Boulogne-Billancourt, Nanterre, Courbevoie", -"France_Ile-de-France_Paris Description":"Pariis, Campagne à Paris", -"France_Ile-de-France_Seine-Saint-Denis Description":"Saint-Denis, Montreuil, Aulnay-sous-Bois", -"France_Ile-de-France_Seine-et-Marne Description":"Chelles, Meaux, Jouarre", -"France_Ile-de-France_Val-dOise Description":"Argenteuil, Sarcelles, Cergy", -"France_Ile-de-France_Val-de-Marne Description":"Créteil, Vitry-sur-Seine, Champigny-sur-Marne", -"France_Ile-de-France_Yvelines Description":"Versailles, Sartrouville, Mantes-la-Jolie", -"France_Languedoc-Roussillon_Aude Description":"Narbonne, Carcassonne, ?", -"France_Languedoc-Roussillon_Gard Description":"Nîmes, Alès, Bagnols-sur-Cèze", -"France_Languedoc-Roussillon_Herault Description":"Montpellier, Béziers, Sète", -"France_Languedoc-Roussillon_Lozere Description":"Aumont-Aubrac, Mende, Marvejols", -"France_Languedoc-Roussillon_Pyrenees-Orientales Description":"Perpignan, Canet-en-Roussillon, Saint-Estève", -"France_Limousin Description":"Limoges, Brive-la-Gaillarde, Tulle", -"France_Lorraine_Meurthe-et-Moselle Description":"Nancy, Vandœuvre-lès-Nancy, Lunéville", -"France_Lorraine_Meuse Description":"Verdun, Bar-le-Duc, Commercy", -"France_Lorraine_Moselle Description":"Metz, Thionville, Montigny-lès-Metz", -"France_Lorraine_Vosges Description":"Épinal, Saint-Dié-des-Vosges, Gérardmer", -"France_Lower Normandy_Calvados Description":"Caen, Lisieux, Hérouville-Saint-Clair", -"France_Lower Normandy_Manche Description":"Cherbourg-Octeville, Cherbourg, Saint-Lô", -"France_Lower Normandy_Orne Description":"Alençon, Flers, Argentan", -"France_Midi-Pyrenees_Ariege Description":"Pamiers, Foix, Saint-Girons", -"France_Midi-Pyrenees_Aveyron Description":"Rodez, Millau, Villefranche-de-Rouergue", -"France_Midi-Pyrenees_Gers Description":"Auch, L'Isle-Jourdain, Condom", -"France_Midi-Pyrenees_Haute-Garonne Description":"Toulouse, Colomiers, Tournefeuille", -"France_Midi-Pyrenees_Hautes-Pyrenees Description":"Tarbes, Lourdes, Aureilhan", -"France_Midi-Pyrenees_Lot Description":"Cahors, Figeac, Gourdon", -"France_Midi-Pyrenees_Tarn Description":"Albi, Castres, Carmaux", -"France_Midi-Pyrenees_Tarn-et-Garonne Description":"Montauban, Castelsarrasin, Moissac", -"France_New Caledonia Description":"Poindimié, Nouméa, Ponérihouen", -"France_Nord-Pas-de-Calais_Lille Description":"Lille, Roubaix, Tourcoing", -"France_Nord-Pas-de-Calais_Nord Description":"Valenciennes, Douai, Cambrai", -"France_Nord-Pas-de-Calais_Pas-de-Calais Description":"Calais, Boulogne-sur-Mer, Arras", -"France_Pays de la Loire_Loire-Atlantique_Nantes Description":"Nantes, Saint-Herblain, Rezé", -"France_Pays de la Loire_Loire-Atlantique_Saint-Nazaire Description":"Saint-Nazaire, Guérande, La Baule-Escoublac", -"France_Pays de la Loire_Maine-et-Loire Description":"Angers, Cholet, Chemillé", -"France_Pays de la Loire_Mayenne Description":"Laval, Mayenne, Château-Gontier", -"France_Pays de la Loire_Sarthe Description":"Le Mans, La Flèche, Sablé-sur-Sarthe", -"France_Pays de la Loire_Vendee Description":"La Roche-sur-Yon, Challans, Les Herbiers", -"France_Picardy_Aisne Description":"Saint-Quentin, Soissons, Laon", -"France_Picardy_Oise Description":"Beauvais, Compiègne, Creil", -"France_Picardy_Somme Description":"Amiens, Abbeville, Albert", -"France_Poitou-Charentes_Charente Description":"Angoulême, Roumazières, Cognac", -"France_Poitou-Charentes_Charente-Maritime Description":"La Rochelle, Saintes, Rochefort", -"France_Poitou-Charentes_Deux-Sevres Description":"Niort, Bressuire, Parthenay", -"France_Poitou-Charentes_Vienne Description":"Poitiers, Châtellerault, Buxerolles", -"France_Provence-Alpes-Cote dAzur_Alpes-de-Haute-Provence Description":"Manosque, Digne-les-Bains, Sisteron", -"France_Provence-Alpes-Cote dAzur_Bouches-du-Rhone Description":"Marseille, Aix-en-Provence, Arles", -"France_Provence-Alpes-Cote dAzur_Hautes-Alpes Description":"Gap, Briançon, Embrun", -"France_Provence-Alpes-Cote dAzur_Maritime Alps Description":"Nizza, Antibes, Cannes", -"France_Provence-Alpes-Cote dAzur_Var Description":"Toulon, La Seyne-sur-Mer, Hyères", -"France_Provence-Alpes-Cote dAzur_Vaucluse Description":"Avignon, Carpentras, Orange", -"France_Rhone-Alpes_Ain Description":"Bourg-en-Bresse, Oyonnax, Ambérieu-en-Bugey", -"France_Rhone-Alpes_Ardeche Description":"Annonay, Aubenas, Guilherand-Granges", -"France_Rhone-Alpes_Drome Description":"Valence, Montélimar, Romans-sur-Isère", -"France_Rhone-Alpes_Haute-Savoie Description":"Annecy, Thonon-les-Bains, Annemasse", -"France_Rhone-Alpes_Isere Description":"Grenoble, Saint-Martin-d'Hères, Échirolles", -"France_Rhone-Alpes_Loire Description":"Saint-Étienne, Roanne, Saint-Chamond", -"France_Rhone-Alpes_Rhone Description":"Lyon, Villeurbanne, Vénissieux", -"France_Rhone-Alpes_Savoie Description":"Chambéry, Aix-les-Bains, Albertville", -"France_Southern Islands Description":"Le Port, Saint-Denis, Coconi", -"France_Upper Normandy Description":"Le Havre, Rouen, Évreux", -"French Polynesia Description":"Vaitape, Vaitahu, Tiputa", -"Gabon Description":"Libreville, Port-Gentil, Sangala", -"Georgia Description":"Tbilisi, Kutaisi, Batumi", -"Germany_Baden-Wurttemberg_Regierungsbezirk Freiburg Description":"Freiburg im Breisgau, Villingen-Schwenningen, Constance", -"Germany_Baden-Wurttemberg_Regierungsbezirk Karlsruhe Description":"Mannheim, Karlsruhe, Heidelberg", -"Germany_Baden-Wurttemberg_Regierungsbezirk Stuttgart_Heilbronn Description":"Heilbronn, Schwäbisch Hall, Crailsheim", -"Germany_Baden-Wurttemberg_Regierungsbezirk Stuttgart_Stuttgart Description":"Stuttgart, Esslingen am Neckar, Ludwigsburg", -"Germany_Baden-Wurttemberg_Regierungsbezirk Tubingen Description":"Ulm, Reutlingen, Tübingen", -"Germany_Berlin Description":"Berliin, Falkenberg, Siedlung Grüneck", -"Germany_Brandenburg_North Description":"Brandenburg an der Havel, Potsdam, Panketal", -"Germany_Brandenburg_South Description":"Frankfurt (Oder), Cottbus, Cottbus", -"Germany_Free State of Bavaria_Lower Bavaria Description":"Landshut, Passau, Straubing", -"Germany_Free State of Bavaria_Lower Franconia Description":"Würzburg, Aschaffenburg, Schweinfurt", -"Germany_Free State of Bavaria_Middle Franconia Description":"Nürnberg, Fürth, Erlangen", -"Germany_Free State of Bavaria_Swabia Description":"Augsburg, Kempten (Allgäu), Neu-Ulm", -"Germany_Free State of Bavaria_Upper Bavaria_East Description":"Rosenheim, Rosenheim", -"Germany_Free State of Bavaria_Upper Bavaria_Ingolstadt Description":"Ingolstadt, Freising, Neuburg an der Donau", -"Germany_Free State of Bavaria_Upper Bavaria_Munchen Description":"München, Dachau", -"Germany_Free State of Bavaria_Upper Bavaria_South Description":"Pfistern, Schongau, Hohenpeißenberg", -"Germany_Free State of Bavaria_Upper Franconia Description":"Bayreuth, Bamberg, Hof", -"Germany_Free State of Bavaria_Upper Palatinate Description":"Regensburg, Amberg, Weiden in der Oberpfalz", -"Germany_Hamburg_main Description":"Hamburg, Nettelnburg, Fünfhausen", -"Germany_Hesse_Regierungsbezirk Darmstadt Description":"Frankfurt am Main, Wiesbaden, Darmstadt", -"Germany_Hesse_Regierungsbezirk Giessen Description":"Lauterbach, Gießen, Marburg", -"Germany_Hesse_Regierungsbezirk Kassel Description":"Kassel, Fulda, Vöhl", -"Germany_Lower Saxony_Braunschweig Description":"Brunswick, Göttingen, Wolfsburg", -"Germany_Lower Saxony_Bremen_Bremen Description":"Bremen, Bremerhaven, Uchte", -"Germany_Lower Saxony_Bremen_Munster Description":"Rotenburg (Wümme), Winsen (Luhe), Buxtehude", -"Germany_Lower Saxony_Hannover Description":"Hanover, Hildesheim, Bad Nenndorf", -"Germany_Lower Saxony_Oldenburg Description":"Osnabrück, Oldenburg, Nordhorn", -"Germany_Mecklenburg-Vorpommern Description":"Rostock, Schwerin, Wismar", -"Germany_North Rhine-Westphalia_Regierungsbezirk Arnsberg_Arnsberg Description":"Siegen, Arnsberg, Lüdenscheid", -"Germany_North Rhine-Westphalia_Regierungsbezirk Arnsberg_Dortmund Description":"Dortmund, Bochum, Hagen", -"Germany_North Rhine-Westphalia_Regierungsbezirk Detmold Description":"Bielefeld, Paderborn, Gütersloh", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Dusseldorf Description":"Düsseldorf, Wuppertal, Mönchengladbach", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Mulheim Description":"Essen, Duisburg, Krefeld", -"Germany_North Rhine-Westphalia_Regierungsbezirk Dusseldorf_Wesel Description":"Wesel, Kleve, Geldern", -"Germany_North Rhine-Westphalia_Regierungsbezirk Koln_Aachen Description":"Aachen, Düren, Simmerath", -"Germany_North Rhine-Westphalia_Regierungsbezirk Koln_Koln Description":"Köln, Bonn, Leverkusen", -"Germany_North Rhine-Westphalia_Regierungsbezirk Munster_Munster Description":"Münster, Rheine, Ahlen", -"Germany_North Rhine-Westphalia_Regierungsbezirk Munster_Recklinghausen Description":"Gelsenkirchen, Bottrop, Recklinghausen", -"Germany_Rhineland-Palatinate_Koblenz Description":"Koblenz, Trier, Neuwied", -"Germany_Rhineland-Palatinate_South Description":"Mainz, Ludwigshafen am Rhein, Kaiserslautern", -"Germany_Saarland Description":"Saarbruecken, Neunkirchen (Saar), Homburg", -"Germany_Saxony-Anhalt_Halle Description":"Halle (Saale), Dessau-Roßlau, Zerbst/Anhalt", -"Germany_Saxony-Anhalt_Magdeburg Description":"Magdeburg, Halberstadt, Aschersleben", -"Germany_Saxony_Dresden Description":"Dresden, Görlitz, Schirgiswalde-Kirschau", -"Germany_Saxony_Leipzig Description":"Leipzig, Chemnitz, Zwickau", -"Germany_Schleswig-Holstein_Flensburg Description":"Flensburg, Elmshorn, Pinneberg", -"Germany_Schleswig-Holstein_Kiel Description":"Kiel, Lübeck, Neumünster", -"Germany_Thuringia Description":"Erfurt, Jena, Gera", -"Ghana Description":"Accra, Kumasi, Wechiau", -"Gibraltar Description":"Gibraltar, Kataloonia laht", -"Greece_Decentralized Administration of Aegean Description":"Kos, Parikia, Naoussa", -"Greece_Decentralized Administration of Attica Description":"Ateena, Egaleo, Kamatero", -"Greece_Decentralized Administration of Crete Description":"Heraklion, Elounda, Chania", -"Greece_Decentralized Administration of Epirus - Western Macedonia Description":"Eani, Ioannina, Galatini", -"Greece_Decentralized Administration of Macedonia and Thrace Description":"Thessaloniki, Makrochori, Platy", -"Greece_Decentralized Administration of Thessaly - Central Greece Description":"Chalkida, Larissa, Volos", -"Greece_Decentralized Administration of West Greece Description":"Patras, Lefkas, Kalamata", -"Greenland Description":"Kangaatsiaq, Qaqortoq, Paamiut", -"Grenada Description":"St. George's, Gouyave, Calivigny", -"Guadeloupe Description":"Les Abymes, Baie-Mahault, Le Gosier", -"Guatemala Description":"Guatemala City, Quetzaltenango (Xela), Santo Tomas De Castilla", -"Guernsey Description":"Saint Peter Port, St Anne, The Bridge", -"Guinea Description":"Conakry, Coyah, Nzérékoré", -"Guinea-Bissau Description":"Bissau, Mansôa, Bubaque", -"Guyana Description":"Georgetown, New Amsterdam, Port Kaituma", -"Haiti Description":"Port-au-Prince, Carrefour, Tabarre", -"Honduras Description":"Tegucigalpa, San Pedro Sula, Santa Barbara", -"Hungary_Kozep-Magyarorszag Description":"Budapest, Érd, Dunakeszi", -"Hungary_Northern Great Plain Description":"Debrecen, Szeged, Miskolc", -"Hungary_Transdanubia Description":"Pécs, Győr, Székesfehérvár", -"Iceland Description":"Reykjavik, Patreksfjörður, Grundarfjörður", -"India_Andaman and Nicobar Islands Description":"Port Blair, Wandoor, Ferrargunj", -"India_Andhra Pradesh Description":"Vijayawada, Visakhapatnam, Guntur", -"India_Arunachal Pradesh Description":"Koloriang, Along", -"India_Assam Description":"Guwahati, Silchar, Jorhat", -"India_Bihar Description":"Buxar, Patna, Gaya", -"India_Chandigarh Description":"Chandigarh, Palsora, Kaheri", -"India_Chhattisgarh Description":"Bilaspur, Ambikapur, Bhilai", -"India_Delhi Description":"Delhi, New Delhi, Nankheri", -"India_Goa Description":"Panaji, Margao, Bicholim", -"India_Gujarat Description":"Ahmedabad, Jamnagar, Surat", -"India_Haryana Description":"Panchkula, Rewari, Rohtak", -"India_Himachal Pradesh Description":"Nurpur, Mandi, Bharmour", -"India_Jammu and Kashmir Description":"Srinagar, Jammu, Udhampur", -"India_Jharkhand Description":"Ranchi, Dhanbad, Jamshedpur", -"India_Karnataka_North Description":"Belagavi, Hubballi, Mangaluru", -"India_Karnataka_South Description":"Bengaluru, Mysuru, Kolar Gold Fields", -"India_Kerala Description":"Thiruvananthapuram, Ernakulam, Thrissur", -"India_Lakshadweep Description":"Kavaratti, Minicoy, agatti village center", -"India_Madhya Pradesh Description":"Indore, Bhopal, Gwalior", -"India_Maharashtra Description":"Mumbai, Pune, Nagpur", -"India_Manipur Description":"Imphal, Imphal, Jiribam", -"India_Meghalaya Description":"Shillong, Garobandha, Betasing", -"India_Mizoram Description":"Aizawl, Lunglei, Mamit", -"India_Nagaland Description":"Kohima, Peren", -"India_Odisha Description":"Cuttack, Rourkela, Brahmapur", -"India_Punjab Description":"Jalandhar, Amritsar, Bathinda", -"India_Rajasthan Description":"Jaipur, Jodhpur, Kota", -"India_Sikkim Description":"Gangtok, Gayzing, Jorethang", -"India_Tamil Nadu Description":"Chennai, Kanyakumari, Namakkal", -"India_Telangana Description":"Hyderabad, Warangal, Khammam", -"India_Tripura Description":"Agartala, Bisramganj, Belonia", -"India_Uttar Pradesh Description":"Allahabad, Lucknow, Varanasi", -"India_Uttarakhand Description":"Dehradun, Roorkee, Haridwār", -"India_West Bengal Description":"Kolkata, Siliguri, Asansol", -"Indonesia_Central Description":"Makassar, Samarinda, Pontianak", -"Indonesia_East Description":"Sorong, Timika, Manokwari", -"Indonesia_Jawa Barat Description":"Jakarta, Bandung, Tangerang Selatan", -"Indonesia_Jawa Tengah Description":"Semarang, Yogyakarta, Surakarta", -"Indonesia_Jawa Timur Description":"Sumenep, Tulungagung, Batu", -"Indonesia_Nusa Tenggara Description":"Denpasar, Semarapura, Tambolaka", -"Indonesia_West Description":"Medan, SIak Sri Indrapura, Lampung Town", -"Iran_East Description":"Mashhad, Zahedan, Yazd", -"Iran_North Description":"Teheran, Karaj, Tabriz", -"Iran_South Description":"Isfahan, Shiraz, Ahvaz", -"Iraq_North Description":"Mosul, Erbil, Kirkuk", -"Iraq_South Description":"Bagdad, Karbala, Nasiriyah", -"Ireland_Connacht Description":"Galway City, Swinford, Mohill", -"Ireland_Leinster Description":"Dublin, Durrow, Prosperous", -"Ireland_Munster Description":"Cork, Caherciveen", -"Ireland_Northern Counties Description":"Glencolumbkille, Ardara, Glenties", -"Isle of Man Description":"Douglas, Onchan", -"Israel Description":"Tel Aviv-Yafo, Herzliya, Modiin-Maccabim-Reut", -"Italy_Abruzzo Description":"Pescara, Rosciolo, Pineto", -"Italy_Aosta Valley Description":"Quart, Aosta, Aosta", -"Italy_Apulia Description":"Bari, Taranto, Foggia", -"Italy_Basilicata Description":"Potenza, Matera, Melfi", -"Italy_Calabria Description":"Reggio di Calabria, Catanzaro, Cosenza", -"Italy_Campania Description":"Napoli, Salerno, Torre del Greco", -"Italy_Emilia-Romagna_Bologna Description":"Bologna, Imola, Casalecchio di Reno", -"Italy_Emilia-Romagna_Ferrara Description":"Ferrara, Longastrino, Anita", -"Italy_Emilia-Romagna_Forli-Cesena Description":"Forlì, Cesena, Cesenatico", -"Italy_Emilia-Romagna_Modena Description":"Modena, Carpi, Sassuolo", -"Italy_Emilia-Romagna_Parma Description":"Parma, Fidenza, Salsomaggiore Terme", -"Italy_Emilia-Romagna_Piacenza Description":"Piacenza, San Nicolò a Trebbia, Ziano Piacentino", -"Italy_Emilia-Romagna_Ravenna Description":"Ravenna, Faenza, Lugo", -"Italy_Emilia-Romagna_Reggio Emilia Description":"Reggio nell'Emilia, Scandiano, Casalgrande", -"Italy_Emilia-Romagna_Rimini Description":"Rimini, Riccione, Santarcangelo di Romagna", -"Italy_Friuli-Venezia Giulia_Gorizia Description":"Gorizia, Monfalcone, Ronchi dei Legionari", -"Italy_Friuli-Venezia Giulia_Pordenone Description":"Pordenone, Sacile, San Vito al Tagliamento", -"Italy_Friuli-Venezia Giulia_Trieste Description":"Triest, Muggia / Milje, Aurisina / Nabrežina", -"Italy_Friuli-Venezia Giulia_Udine Description":"Udine, Codroipo, Cervignano del Friuli", -"Italy_Lazio Description":"Rooma, Latina, Fiumicino", -"Italy_Liguria Description":"Genoa, La Spezia, La Spezia", -"Italy_Lombardy_Bergamo Description":"Bergamo, Tagliuno, Treviglio", -"Italy_Lombardy_Brescia Description":"Brescia, Bossotti, Lumezzane", -"Italy_Lombardy_Como Description":"Como, Como, Cantù", -"Italy_Lombardy_Cremona Description":"Cremona, Cremona, Trescore Cremasco", -"Italy_Lombardy_Lecco Description":"Lecco, Merate, Calolziocorte", -"Italy_Lombardy_Lodi Description":"Lodi, Codogno, Casalpusterlengo", -"Italy_Lombardy_Mantua Description":"Mantua, Mantua, Suzzara", -"Italy_Lombardy_Milan Description":"Milano, Sesto San Giovanni, Cinisello Balsamo", -"Italy_Lombardy_Monza and Brianza Description":"Monza, Besana in Brianza, Seregno", -"Italy_Lombardy_Pavia Description":"Pavia, Vigevano, Buscarella", -"Italy_Lombardy_Sondrio Description":"Sondrio, Sondrio, Morbegno", -"Italy_Lombardy_Varese Description":"Busto Arsizio, Varese, Gallarate", -"Italy_Marche Description":"Ancona, Pesaro", -"Italy_Molise Description":"Campobasso, Termoli, Isernia", -"Italy_Piemont_Alessandria Description":"Alessandria, Casale Monferrato, Novi Ligure", -"Italy_Piemont_Asti Description":"Asti, Canelli, Nizza Monferrato", -"Italy_Piemont_Biella Description":"Biella, Biella, Cossato", -"Italy_Piemont_Cuneo Description":"Cuneo, Verduno, Bergolo", -"Italy_Piemont_Novara Description":"Novara, Borgomanero, Trecate", -"Italy_Piemont_Torino Description":"Torino, Moncalieri, Rivoli", -"Italy_Piemont_Verbano-Cusio-Ossola Description":"Verbania, Domodossola, Omegna", -"Italy_Piemont_Vercelli Description":"Vercelli, Borgosesia, Santhià", -"Italy_Sardinia Description":"Casteddu/Cagliari, Sassari, Cuartu Sant'Aleni/Quartu Sant'Elena", -"Italy_Sicily Description":"Palermo, Catania, Messina", -"Italy_Trentino-Alto Adige Sudtirol Description":"Trento, Bolzano, Rovereto", -"Italy_Tuscany_Grosseto Description":"Arezzo, Monteriggioni, Grosseto", -"Italy_Tuscany_Massa e Carrara Description":"Lucca, Florence, Prato", -"Italy_Umbria Description":"Perugia, Terni, Foligno", -"Italy_Veneto_Belluno Description":"Belluno, Feltre, Sedico", -"Italy_Veneto_Padova Description":"Padua, Cittadella, Selvazzano Dentro", -"Italy_Veneto_Rovigo Description":"Rovigo, Badia Polesine, Adria", -"Italy_Veneto_Treviso Description":"Treviso, Conegliano, Castelfranco Veneto", -"Italy_Veneto_Venezia Description":"Veneetsia, Mestre, Chioggia", -"Italy_Veneto_Verona Description":"Verona, Villafranca di Verona, Legnago", -"Italy_Veneto_Vicenza Description":"Vicenza, Bassano del Grappa, Schio", -"Jamaica Description":"Kingston, Montego Bay, Spanish Town", -"Japan_Chubu Region_Aichi_Nagoya Description":"Nagoya, Tsushima, Kiyosu", -"Japan_Chubu Region_Aichi_Toyohashi Description":"Tahara, Gamagori, Nishio", -"Japan_Chubu Region_Fukui Description":"Obama, Fukui, Sakai", -"Japan_Chubu Region_Gifu Description":"Gifu, Hida, Ena", -"Japan_Chubu Region_Ishikawa Description":"Kanazawa, Komatsu, Hakusan", -"Japan_Chubu Region_Nagano Description":"Okaya, Omachi, Nagano", -"Japan_Chubu Region_Niigata Description":"Niigata, Myoko, Sado", -"Japan_Chubu Region_Shizuoka Description":"Hamamatsu, Kosai, Fukuroi", -"Japan_Chubu Region_Toyama Description":"Toyama, Takaoka, Imizu", -"Japan_Chubu Region_Yamanashi Description":"Hokuto, Kofu, Nirasaki", -"Japan_Chugoku Region_Hiroshima Description":"Hiroshima, Ōtake, Kure", -"Japan_Chugoku Region_Okayama Description":"Okayama, Niimi, Kasaoka", -"Japan_Chugoku Region_Shimane Description":"Masuda, Gotsu, Hamada", -"Japan_Chugoku Region_Tottori Description":"Sakai-Minato, Kurayoshi, Yonago", -"Japan_Chugoku Region_Yamaguchi Description":"Nagato, Sanyo-Onoda, Shimonoseki", -"Japan_Hokkaido Region_East Description":"Kushiro, Nemuro, Obihiro", -"Japan_Hokkaido Region_North Description":"Asahikawa, Furano, Shibetsu", -"Japan_Hokkaido Region_Sapporo Description":"Sapporo, Ishikari, Iwamizawa", -"Japan_Hokkaido Region_West Description":"Hokuto, Date, Noboribetsu", -"Japan_Kanto_Chiba Description":"Tateyama, Kamagaya, Minamiboso", -"Japan_Kanto_Gunma Description":"Fujioka, Midori, Numata", -"Japan_Kanto_Ibaraki Description":"Inashiki, Hokota, Ishioka", -"Japan_Kanto_Kanagawa Description":"Yokohama, Sagamihara, Fujisawa", -"Japan_Kanto_Saitama Description":"Saitama, Kawaguchi, Hannō", -"Japan_Kanto_Tochigi Description":"Ashikaga, Kanuma, Sano", -"Japan_Kanto_Tokyo Description":"Tokyo, Setagaya, Hachiōji", -"Japan_Kinki Region_Mie Description":"Kumano, Tsu, Kameyama", -"Japan_Kinki Region_Nara Description":"Nara, Kashihara, Ikoma", -"Japan_Kinki Region_Osaka_Osaka Description":"Osaka, Ashiya, Sennan", -"Japan_Kinki Region_Osaka_West Description":"Kobe, Himeji, Ako", -"Japan_Kinki Region_Wakayama Description":"Wakayama, Tanabe, Kinokawa", -"Japan_Kyushu Region_Fukuoka Description":"Fukuoka, Kitakyūshū, Itoshima", -"Japan_Kyushu Region_Kagoshima Description":"Kagoshima, Satsumasendai, Minamisatsuma", -"Japan_Kyushu Region_Kumamoto Description":"Kumamoto, Amakusa, Kamiamakusa", -"Japan_Kyushu Region_Miyazaki Description":"Ebino, Kushima, Miyakonojo", -"Japan_Kyushu Region_Nagasaki Description":"Nagasaki, Goshima, Hirado", -"Japan_Kyushu Region_Oita Description":"Ōita, Yufu, Taketa", -"Japan_Kyushu Region_Okinawa Description":"Naha, Okinawa, Uruma", -"Japan_Kyushu Region_Saga Description":"Imari, Karatsu, Takeo", -"Japan_Shikoku Region_Ehime Description":"Matsuyama, Yawatahama, Uwajima", -"Japan_Shikoku Region_Kagawa Description":"Takamatsu, Tadotsu, Sakaide", -"Japan_Shikoku Region_Kochi Description":"Sukumo, Shimanto, Tosa-Shimizu", -"Japan_Shikoku Region_Kyoto Description":"Kyoto, Kyotango, Fukuchiyama", -"Japan_Shikoku Region_Tokushima Description":"Miyoshi, Awa, Yoshinogawa", -"Japan_Tohoku_Akita Description":"Oga, Nikaho, Daisen", -"Japan_Tohoku_Aomori Description":"Hirakawa, Towada, Aomori", -"Japan_Tohoku_Fukushima Description":"Kitakata, Sukagawa, Shirakawa", -"Japan_Tohoku_Iwate Description":"Morioka, Hachimantai, Ninohe", -"Japan_Tohoku_Miyagi Description":"Sendai, Higashimatsushima, Tome", -"Japan_Tohoku_Yamagata Description":"Nanyo, Higashine, Obanazawa", -"Jersey Description":"Saint Helier, St. Saviour, St. John", -"Jerusalem Description":"Jerusalemm, 'Anata, Al-Walaja", -"Jordan Description":"Amman, Zarqa, Irbid", -"Kazakhstan_North Description":"Astana, Karaganda, Pavlodar", -"Kazakhstan_South Description":"Almatõ, Shymkent, Aktobe", -"Kenya Description":"Nairobi, Kisumu, Kitale", -"Kingdom of Lesotho Description":"Maseru, Butha-Buthe, Mohale's Hoek", -"Kiribati Description":"Betio, Kabuna, Bairiki", -"Kuwait Description":"Kuwait City, Al Ahmadi, Jahra", -"Kyrgyzstan Description":"Bishkek, Osh, Balykchy", -"Laos Description":"Vientiane, Pakxan, Oudomxay", -"Latvia Description":"Riia, Daugavpils, Liepāja", -"Lebanon Description":"Beirut, Zahle, Sidon", -"Liberia Description":"Monrovia, Sanniquellie, Fish Town City", -"Libya Description":"Tripoli, Benghazi, Misrata", -"Liechtenstein Description":"Vaduz, Schaan, Triesen", -"Lithuania_East Description":"Vilnius, Kaunas, Alytus", -"Lithuania_West Description":"Klaipėda, Šiauliai, Panevėžys", -"Luxembourg Description":"Luksemburg, Mondorf-les-Bains, Esch-sur-Alzette", -"Macedonia Description":"Skopje, Ohrid, Kavadarci", -"Madagascar Description":"Antananarivo, Toamasina, Fianarantsoa", -"Malawi Description":"Lilongwe, Blantyre, Mzuzu", -"Malaysia Description":"Kuala Lumpur, Petaling Jaya, Kota Kinabalu", -"Maldives Description":"Feridhoo, Malé, Dhiggiri", -"Mali Description":"Bamako, Koulikoro, Ségou", -"Malta Description":"Valletta, Victoria, Zebbug", -"Marshall Islands Description":"Majuro, Jelter, Ebeye", -"Martinique Description":"Fort-de-France, Saint-Esprit, Schœlcher", -"Mauritania Description":"Nouakchott, Aleg, Ayoun el Atrous", -"Mauritius Description":"Port Louis, Flic en Flac, Rose Hill", -"Mexico_California Description":"Tijuana, Mexicali, La Paz", -"Mexico_Central_East Description":"Monterrey, Saltillo, Torreón", -"Mexico_Central_West Description":"Guadalajara, Aguascalientes, Zapopan", -"Mexico_Chihuahua Description":"Ciudad Juárez, Chihuahua, Ciudad Acuña", -"Mexico_East Description":"Mérida, Villahermosa, Cancún", -"Mexico_Mexico Description":"Mexico City, Puebla, Cuautitlán Izcalli", -"Mexico_Sonora Description":"Hermosillo, Ciudad Obregon, Heroica Nogales", -"Mexico_South Description":"León, Querétaro, Acapulco", -"Moldova Description":"Chișinău, Tiraspol, Bălți", -"Monaco Description":"Monaco, Monaco", -"Mongolia Description":"Ulaanbaatar, Khovd, Erdenet", -"Montenegro Description":"Podgorica, Niksic, Tuzi", -"Montserrat Description":"Brades, Salem", -"Morocco_Doukkala-Abda Description":"Casablanca, Marrakesh, Safi ⴰⵙⴼⵉ آسفي", -"Morocco_Rabat-Sale-Zemmour-Zaer Description":"Fez, Rabat, Salé ⵙⵍⴰ سلا", -"Morocco_Southern Description":"Meknès ⴰⵎⴽⵏⴰⵙ مكناس, Agadir, Oujda", -"Morocco_Western Sahara Description":"Laayoune, Guelmim, Assa ⴰⵙⵙⴰ آسـا", -"Mozambique Description":"Maputo, Matola, Praia de Bilene", -"Myanmar Description":"Yangon, Naypyidaw, Mandalay", -"Nagorno-Karabakh Description":"Stepanakert, Stepanakert, Hadrut", -"Namibia Description":"Windhoek, Opuwo, Eenhana", -"Nauru Description":"Yaren, Buada, Orro", -"Nepal_Kathmandu Description":"Kathmandu, Kathmandu, Patan", -"Nepal_Madhyamanchal Description":"Bharatpur, Birganj", -"Nepal_Purwanchal Description":"sarang pada, campa bazzar, Kerkha bajar", -"Nepal_West Description":"Butwal, Pokhara, Nepalgunj Sub Metropolitan City", -"Netherlands_Drenthe Description":"Assen, Emmen, Hoogeveen", -"Netherlands_Flevoland Description":"Almere, Lelystad, Dronten", -"Netherlands_Friesland Description":"Leeuwarden, Drachten, Sneek", -"Netherlands_Gelderland_Nijmegen Description":"Nijmegen, Groesbeek, Tiel", -"Netherlands_Gelderland_North Description":"Apeldoorn, Arnhem, Ede", -"Netherlands_Gelderland_Zutphen Description":"Doetinchem, Zutphen, Winterswijk", -"Netherlands_Groningen Description":"Groningen, Leek, Bedum", -"Netherlands_Limburg Description":"Maastricht, Venlo, Heerlen", -"Netherlands_North Brabant_Eindhoven Description":"'s-Hertogenbosch, Eindhoven, Helmond", -"Netherlands_North Brabant_Roosendaal Description":"Steenbergen, Roosendaal, Bergen op Zoom", -"Netherlands_North Brabant_Tiburg Description":"Tilburg, Breda, Baarle-Hertog", -"Netherlands_North Brabant_Uden Description":"Oss, Uden, Deurne", -"Netherlands_North Holland_Alkmaar Description":"Alkmaar, Hoorn, Den Helder", -"Netherlands_North Holland_Amsterdam Description":"Amsterdam, Haarlem, Hilversum", -"Netherlands_North Holland_Zaandam Description":"Purmerend, Zaandam, Beverwijk", -"Netherlands_Overijssel_Enschede Description":"Enschede, Hengelo, Almelo", -"Netherlands_Overijssel_Zwolle Description":"Zwolle, Deventer, Kampen", -"Netherlands_South Holland_Brielle Description":"Spijkenisse, Hellevoetsluis, Oud-Beijerland", -"Netherlands_South Holland_Den Haag Description":"Haag, Zoetermeer, Delft", -"Netherlands_South Holland_Leiden Description":"Leiden, Alphen aan den Rijn, Leiderdorp", -"Netherlands_South Holland_Rotterdam Description":"Rotterdam, Dordrecht, Schiedam", -"Netherlands_Utrecht_Amersfoort Description":"Amersfoort, Veenendaal, Zeist", -"Netherlands_Utrecht_Utrecht Description":"Utrecht, Nieuwegein, Houten", -"Netherlands_Zeeland Description":"Middelburg, Vlissingen, Goes", -"New Zealand North_Auckland Description":"Auckland, Hamilton, Tauranga", -"New Zealand North_Wellington Description":"Wellington, Lower Hutt, Palmerston North", -"New Zealand South_Canterbury Description":"Christchurch, Nelson, Waimate", -"New Zealand South_Southland Description":"Dunedin, Invercargill, Tuatapere", -"Nicaragua Description":"Managua, Matagalpa, Bluefields", -"Niger Description":"Niamey, Maradi, Zinder", -"Nigeria_North Description":"Kano, Maiduguri, Sokoto", -"Nigeria_South Description":"Lagos, Ibadan, Abuja", -"Niue Description":"Alofi, Liku, Lakepa", -"North Korea Description":"Pyongyang, Hamhung, Nampo", -"Norway_Central Description":"Oslo, Sandvika, Drammen", -"Norway_Hedmark Description":"Brumunddal, Hamar, Elverum", -"Norway_Hordaland Description":"Bergen, Leirvik, Vossevangen", -"Norway_Jan Mayen Description":"Olonkin City", -"Norway_Nordland Description":"Bodø, Brønnøysund, Mosjøen", -"Norway_North Trondelag Description":"Kolvereid, Stjørdal, Steinkjer", -"Norway_Northern Description":"Tromsø, Finnsnes, Hammerfest", -"Norway_Oppland Description":"Lom, Raufoss, Gjøvik", -"Norway_Rogaland Description":"Stavanger, Sandnes, Haugesund", -"Norway_South Trondelag Description":"Trondheim, Røros, Titran", -"Norway_Southern Description":"Fredrikstad, Kristiansand, Sarpsborg", -"Norway_Svalbard Description":"Grumantbyen, Pyramiden, Longyearbyen", -"Norway_Western Description":"Ålesund, Molde", -"Oman Description":"Muscat, Al Khasal, As Suwaiq", -"Pakistan Description":"Karachi, Lahore, Faisalabad", -"Palau Description":"Melekeok, Palau, Koror", -"Palestine Description":"Gaza, Modi'in Illit, Nablus", -"Panama Description":"Panama, Santiago de Veraguas, Colón", -"Papua New Guinea Description":"Port Moresby, Lae, Vanimo", -"Paraguay Description":"Asuncion, San Lorenzo, Ciudad del Este", -"Peru_Lima Description":"Lima, Ica, Nazca", -"Peru_North Description":"Chiclayo, Iquitos, Piura", -"Peru_South Description":"Arequipa, Abancay, Moquegua", -"Philippines_Luzon_Manila Description":"Manila, Quezon City, Pasig", -"Philippines_Luzon_North Description":"Angeles, Palayan, Malolos", -"Philippines_Luzon_South Description":"Puerto Princesa, Masbate, Calapan", -"Philippines_Mindanao Description":"Zamboanga City, General Santos, Koronadal", -"Philippines_Visayas Description":"Bacolod, Cebu City, Tagbilaran", -"Pitcairn Islands Description":"Adamstown", -"Poland_Greater Poland Voivodeship Description":"Poznan, Kalisz, Jaraczewo", -"Poland_Kuyavian-Pomeranian Voivodeship Description":"Bydgoszcz, Toruń, Włocławek", -"Poland_Lesser Poland Voivodeship Description":"Krakow, Tarnów, Nowy Sącz", -"Poland_Lodz Voivodeship Description":"Łódź, Piotrków Trybunalski, Pabianice", -"Poland_Lower Silesian Voivodeship Description":"Wrocław, Wałbrzych, Legnica", -"Poland_Lublin Voivodeship Description":"Lublin, Chełm, Zamość", -"Poland_Lubusz Voivodeship Description":"Gorzów Wielkopolski, Zielona Góra, Lubniewice", -"Poland_Masovian Voivodeship Description":"Varssavi, Radom, Płock", -"Poland_Opole Voivodeship Description":"Opole, Biała, Baborów", -"Poland_Podlaskie Voivodeship Description":"Białystok, Czyżew, Suwałki", -"Poland_Pomeranian Voivodeship Description":"Gdańsk, Gdynia, Słupsk", -"Poland_Silesian Voivodeship Description":"Katowice, Częstochowa, Sosnowiec", -"Poland_Subcarpathian Voivodeship Description":"Rzeszów, Jedlicze, Dynów", -"Poland_Swietokrzyskie Voivodeship Description":"Kielce, Ostrowiec Świętokrzyski, Starachowice", -"Poland_Warmian-Masurian Voivodeship Description":"Olsztyn, Elbląg, Elk", -"Poland_West Pomeranian Voivodeship Description":"Szczecin, Koszalin, Redło", -"Portugal_Islands Description":"Funchal, Madalena, Calheta", -"Portugal_Porto Description":"Vila Nova de Gaia, Porto, Braga", -"Portugal_South Description":"Lissabon, Odivelas, Setúbal", -"Portugal_Viseu Description":"Viseu, Santo Adrião de Vizela, Felgueiras", -"Qatar Description":"Doha, Al-Rayyan, Barwa City", -"Republic of Kosovo Description":"Pristina, Mitrovica e Veriut, Ferizaj", -"Romania_Centre Description":"Brasov, Sibiu, Târgu Mureș", -"Romania_North_East Description":"Iași, Bacău, Botoșani", -"Romania_North_West Description":"Cluj-Napoca, Dej, Oradea", -"Romania_South Description":"Bukarest, Ploiești, Pitești", -"Romania_South_East Description":"Constanța, Galați, Brăila", -"Romania_South_West Description":"Craiova, Slatina, Râmnicu Vâlcea", -"Romania_West Description":"Timișoara, Arad, Reșița", -"Russia_Altai Krai Description":"Barnaul, Biysk, Rubtsovsk", -"Russia_Altai Republic Description":"Gorno-Altaysk, Mayma, Kosh-Agach", -"Russia_Amur Oblast Description":"Blagoveshchensk, Belogorsk, Svobodny", -"Russia_Arkhangelsk Oblast_Central Description":"Arhangelsk, Severodvinsk, Novodvinsk", -"Russia_Arkhangelsk Oblast_North Description":"Kotlas, Koryazhma, Vychegodskiy", -"Russia_Astrakhan Oblast Description":"Astrahan, Gospitomnika, Akhtubinsk", -"Russia_Bashkortostan Description":"Ufa, Sterlitamak, Salavat", -"Russia_Belgorod Oblast Description":"Belgorod, Stary Oskol, Gubkin", -"Russia_Bryansk Oblast Description":"Bryansk, Novozybkov, Клинцы", -"Russia_Buryatia Description":"Ulan-Ude, Selenduma, Джида", -"Russia_Chechen Republic Description":"Groznõi, Urus-Martan, Shali", -"Russia_Chelyabinsk Oblast Description":"Tšeljabinsk, Magnitogorsk, Zlatoust", -"Russia_Chukotka Autonomous Okrug Description":"Anadyr, Bilibino, Pevek", -"Russia_Chuvashia Description":"Cheboksary, Novocheboksarsk, Kanash", -"Russia_Ingushetia Description":"Nazran, Ordzhonikidzevskaya, Karabulak", -"Russia_Irkutsk Oblast Description":"Irkutsk, Bratsk, Angarsk", -"Russia_Ivanovo Oblast Description":"Ivanovo, Kineshma, Shuya", -"Russia_Jewish Autonomous Oblast Description":"Birobidzhan, Облучье, Николаевка", -"Russia_Kabardino-Balkaria Description":"Nalchik, Prokhladny, Baksan", -"Russia_Kaliningrad Oblast Description":"Kaliningrad, Sovetsk, Tšernjahhovski", -"Russia_Kaluga Oblast Description":"Kaluga, Obninsk, Babynino", -"Russia_Kamchatka Krai Description":"Petropavlovsk-Kamchatsky, Yelizovo, Vilyuchinsk", -"Russia_Karachay-Cherkessia Description":"Tšerkessk, Pregradnaja, Ust-Džeguta", -"Russia_Kemerov Oblast Description":"Kemerovo, Novokuznetsk, Prokopyevsk", -"Russia_Khabarovsk Krai Description":"Habarovsk, Komsomolsk Amuuri ääres, Amursk", -"Russia_Khakassia Description":"Abakan, Tšernogorsk, Sayanogorsk", -"Russia_Kirov Oblast Description":"Kirov, Kirovo-Tšepetsk, Slobodskoi", -"Russia_Komi Republic Description":"Syktyvkar, Ukhta, Vorkuta", -"Russia_Kostroma Oblast Description":"Kostroma, Buy, Sharya", -"Russia_Krasnodar Krai Description":"Krasnodar, Novorossiysk, Armavir", -"Russia_Krasnodar Krai_Adygeya Description":"Sotši, Maikop, Gelendžik", -"Russia_Krasnoyarsk Krai_North Description":"Norilsk, Dudinka, Северо-Енисейский", -"Russia_Krasnoyarsk Krai_South Description":"Krasnojarsk, Atšinsk, Kansk", -"Russia_Kurgan Oblast Description":"Kurgan, Shadrinsk, Варгаши", -"Russia_Kursk Oblast Description":"Kursk, Железногорск, Kurchatov", -"Russia_Leningradskaya Oblast_Karelsky Description":"Viiburi, Vsevoložski, Sertolovo", -"Russia_Leningradskaya Oblast_Southeast Description":"Gatšina, Sosnovi Bor, Tihvin", -"Russia_Lipetsk Oblast Description":"Lipetsk, Yelets, Gryazi", -"Russia_Magadan Oblast Description":"Magadan, Ola, Susuman", -"Russia_Mari El Description":"Yoshkar-Ola, Volzhsk, Kozmodemyansk", -"Russia_Moscow Description":"Moskva, Himki, Troitsk", -"Russia_Moscow Oblast_East Description":"Balašiha, Podolsk, Koroljov", -"Russia_Moscow Oblast_West Description":"Zelenograd, Odintsovo, Krasnogorsk", -"Russia_Murmansk Oblast Description":"Murmansk, Apatity, Severomorsk", -"Russia_Nenets Autonomous Okrug Description":"Красное, Nar'yan-Mar, Искателей", -"Russia_Nizhny Novgorod Oblast Description":"Nizhny Novgorod, Dzerzhinsk, Arzamas", -"Russia_North Ossetia-Alania Description":"Vladikavkaz, Mozdok, Beslan", -"Russia_Novgorod Oblast Description":"Veliky Novgorod, Borovichi, Staraya Russa", -"Russia_Novosibirsk Oblast Description":"Novosibirsk, Berdsk, Iskitim", -"Russia_Omsk Oblast Description":"Omsk, Tara, Исилькуль", -"Russia_Orenburg Oblast Description":"Orenburg, Orsk, Novotroitsk", -"Russia_Oryol Oblast Description":"Oryol, Livny, Mtsensk", -"Russia_Penza Oblast Description":"Penza, Kuznetsk, Zarecnyy", -"Russia_Perm Krai_North Description":"Berezniki, Solikamsk, Lysva", -"Russia_Perm Krai_South Description":"Perm, Chaikovsky, Kungur", -"Russia_Primorsky Krai Description":"Vladivostok, Ussurijsk, Nahodka", -"Russia_Pskov Oblast Description":"Pihkva, Velikije Luki, Ostrov", -"Russia_Republic of Dagestan Description":"Makhachkala, Khasavyurt, Derbent", -"Russia_Republic of Kalmykia Description":"Elista, Lagan, Tsagan Aman", -"Russia_Republic of Karelia_North Description":"Kostomuksha, Segezha, Kem", -"Russia_Republic of Karelia_South Description":"Petrozavodsk, Kondopoga, Sortavala", -"Russia_Republic of Mordovia Description":"Saransk, Рузаевка, Kovylkino", -"Russia_Rostov Oblast Description":"Rostov-on-Don, Taganrog, Shakhty", -"Russia_Ryazan Oblast Description":"Ryazan, Kasimov, Skopin", -"Russia_Saint Petersburg Description":"Peterburi, Kolpino, Puškin", -"Russia_Sakha Republic Description":"Yakutsk, Neryungri, Mirny", -"Russia_Sakhalin Oblast Description":"Yuzhno-Sakhalinsk, Korsakov, Kholmsk", -"Russia_Samara Oblast Description":"Samara, Tolyatti, Syzran", -"Russia_Saratov Oblast Description":"Saratov, Engels, Balakovo", -"Russia_Smolensk Oblast Description":"Smolensk, Вязьма, Roslavl", -"Russia_Stavropol Krai Description":"Stavropol, Pyatigorsk, Kislovodsk", -"Russia_Sverdlovsk Oblast_Ekaterinburg Description":"Jekaterinburg, Kamensk-Uralski, Pervouralsk", -"Russia_Sverdlovsk Oblast_North Description":"Nizhny Tagil, Serov, Novouralsk", -"Russia_Tambov Oblast Description":"Tambov, Michurinsk, Rasskazovo", -"Russia_Tatarstan Description":"Kazan, Naberezhnye Chelny, Nizhnekamsk", -"Russia_Tomsk Oblast Description":"Tomsk, Seversk, Strezhevoy", -"Russia_Tula Oblast Description":"Tula, Novomoskovsk, Donskoj", -"Russia_Tuva Description":"Kyzyl, Kaa-Khem, Ak-Dovurak", -"Russia_Tver Oblast Description":"Tver, Rzhev, Vysnij Volocek", -"Russia_Tyumen Oblast Description":"Tyumen, Tobolsk, Ishim", -"Russia_Udmurt Republic Description":"Izhevsk, Sarapul, Votkinsk", -"Russia_Ulyanovsk Oblast Description":"Uljanovsk, Dimitrovgrad, Inza", -"Russia_Vladimir Oblast Description":"Vladimir, Kovrov, Murom", -"Russia_Volgograd Oblast Description":"Volgograd, Volzhskiy, Kamyshin", -"Russia_Vologda Oblast Description":"Vologda, Cherepovets, Сокол", -"Russia_Voronezh Oblast Description":"Voronež, Borisoglebsk, Rossosh", -"Russia_Yamalo-Nenets Autonomous Okrug Description":"Novy Urengoy, Noyabrsk, Salekhard", -"Russia_Yaroslavl Oblast Description":"Jaroslavl, Rybinsk, Pereslavl-Zalessky", -"Russia_Yugra_Khanty Description":"Hantõ-Mansiysk, Nyagan, Uray", -"Russia_Yugra_Surgut Description":"Surgut, Nizhnevartovsk, Nefteyugansk", -"Russia_Zabaykalsky Krai Description":"Chita, Krasnokamensk, Borzya", -"Rwanda Description":"Kigali, Gisenyi, Huye", -"Sahrawi Arab Democratic Republic Description":"Lagouira ⵍⴳⵡⵉⵔⴰ الكويرة, Tifariti ⵜⵉⴼⴰⵔⵉⵜⵉ تيفاريتي, Mijik", -"Saint Barthelemy Description":"Gustavia", -"Saint Helena Ascension and Tristan da Cunha Description":"Jamestown, Half Tree Hollow, Georgetown", -"Saint Kitts and Nevis Description":"Basseterre, Charlestown, Newcastle", -"Saint Lucia Description":"Castries, Castries, Soufriere", -"Saint Martin Description":"Philipsburg, Cul-de-Sac, Cole Bay", -"Saint Vincent and the Grenadines Description":"Kingstown, Clifton, Ashton", -"Samoa Description":"Āpia, Sālelologa, Asau", -"San Marino Description":"San Marino, Chita, Krasnokamensk, Borzya", -"Sao Tome and Principe Description":"São Tomé, Neves, São João dos Angolares", -"Saudi Arabia_North Description":"Jeddah, Mecca, Medina", -"Saudi Arabia_South Description":"Riyadh, Hofuf, Dammam", -"Senegal Description":"Dakar, Pikine, Fatick", -"Serbia Description":"Belgrad, Novi Sad, Nis", -"Seychelles Description":"Victoria, Port Launay, Bel Ombre", -"Sierra Leone Description":"Freetown, Bo, Kambia", -"Singapore Description":"Singapur, Ladang, Rocky Hill", -"Slovakia_Region of Banska Bystrica Description":"Banská Bystrica, Zvolen, Lučenec", -"Slovakia_Region of Bratislava Description":"Bratislava, Petržalka, Ružinov", -"Slovakia_Region of Kosice Description":"Košice, gelnica, Michalovce", -"Slovakia_Region of Nitra Description":"Nitra, Nové Zámky", -"Slovakia_Region of Presov Description":"Prešov, Poprad, Humenné", -"Slovakia_Region of Trencin Description":"Trenčín, Prievidza, Považská Bystrica", -"Slovakia_Region of Trnava Description":"Trnava, Trnava, Piešťany", -"Slovakia_Region of Zilina Description":"Žilina, Martin, Liptovský Mikuláš", -"Slovenia_East Description":"Maribor, Dobova, Kisovec", -"Slovenia_West Description":"Ljubljana, Jagodje, Naklo", -"Solomon Islands Description":"Buala, Lata, Honiara", -"Somalia Description":"Mogadishu, Baardheere, Baidoa", -"South Africa_Eastern Cape Description":"Port Elizabeth, Grahamstown, Mthatha", -"South Africa_Free State Description":"Botshabelo, Thaba Nchu, Welkom", -"South Africa_Gauteng Description":"Johannesburg, Pretoria, Soweto", -"South Africa_KwaZulu-Natal Description":"Durban, Ladysmith, Pietermaritzburg", -"South Africa_Limpopo Description":"Mokopane, Louis Trichardt, Polokwane", -"South Africa_Mpumalanga Description":"Emalahleni, Nelspruit, Secunda", -"South Africa_North West Description":"Mafikeng, Rustenburg, Klerksdorp", -"South Africa_Northern Cape Description":"Upington, Kimberley, Pofadder", -"South Africa_Western Cape Description":"Kaplinn, Mitchells Plain, Khayelitsha", -"South Georgia and the South Sandwich Islands Description":"Husvik, King Edward Point, Grytviken", -"South Korea_North Description":"Seoul, Incheon, Daejeon", -"South Korea_South Description":"Busan, Daegu, Changwon", -"South Ossetia Description":"Tskhinval, Khumisarta, Chitiani", -"South Sudan Description":"Juba, Yambio, Leer", -"Spain_Andalusia_Granada Description":"Granada, Almeria, Jaén", -"Spain_Andalusia_Sevilla Description":"Málaga, Sevilla, Córdoba", -"Spain_Aragon Description":"Zaragoza, Teruel, Huesca", -"Spain_Balearic Islands Description":"Palma de Mallorca, Ibiza city, Santa Eulària des Riu", -"Spain_Basque Country Description":"Bilbao, Vitoria-Gasteiz, Donostia-San Sebastián", -"Spain_Canary Islands Description":"Las Palmas de Gran Canaria, Santa Cruz de Tenerife, Arrecife", -"Spain_Cantabria Description":"Santander, Tanos, San Román de la Llanilla", -"Spain_Castile and Leon_East Description":"Burgos, Valladolid, Palencia", -"Spain_Castile and Leon_West Description":"Salamanca, León, Zamora", -"Spain_Castile-La Mancha Description":"Albacete, Guadalajara, Cuenca", -"Spain_Catalonia_Provincia de Barcelona Description":"Barcelona, l'Hospitalet de Llobregat, Badalona", -"Spain_Catalonia_Provincia de Girona Description":"Sant Antoni, Girona, Figueres", -"Spain_Catalonia_Provincia de Lleida Description":"Lleida, Mollerussa, Balaguer", -"Spain_Catalonia_Provincia de Tarragona Description":"Tarragona, Reus, el Vendrell", -"Spain_Ceuta Description":"Ceuta, Fronteriza", -"Spain_Community of Madrid Description":"Madrid, Móstoles, Alcalá de Henares", -"Spain_Comunidad Foral de Navarra Description":"Pamplona, Tudela, Barañáin", -"Spain_Extremadura Description":"Badajoz, Mérida, Cáceres", -"Spain_Galicia_North Description":"A Coruña, Lugo, Santiago de Compostela", -"Spain_Galicia_South Description":"Vigo, Ourense, Pontevedra", -"Spain_La Rioja Description":"Logroño, Arnedo, Calahorra", -"Spain_Melilla Description":"Melilla", -"Spain_Principado de Asturias Description":"Oviedo / Uviéu, Xixón, Avilés", -"Spain_Region de Murcia Description":"Murcia, Cartagena, Lorca", -"Spain_Valencian Community Description":"Valencia, Alacant/Alicante, Castellón de la Plana", -"Sri Lanka Description":"Colombo, Kandy, Rambukkana", -"Sudan_East Description":"Port Sudan, Kassala, El Hawata", -"Sudan_West Description":"Khartoum, Omdurman, Nyala", -"Suriname Description":"Paramaribo, Groningen, Brokopondo", -"Swaziland Description":"Mbabane, Sidvokodvo, Bulembu", -"Sweden_Bergslagen Description":"Örebro, Gävle, Karlstad", -"Sweden_Malardalen Description":"Uppsala, Västerås, Eskilstuna", -"Sweden_Mellannorrland Description":"Sundsvall, Östersund, Örnsköldsvik", -"Sweden_Norra Sverige Description":"Umeå, Luleå, Piteå", -"Sweden_Ostra Gotaland Description":"Linköping, Norrköping, Jönköping", -"Sweden_Sodra Gotaland Description":"Malmö, Helsingborg, Lund", -"Sweden_Stockholm Description":"Stockholm, Huddinge, Nacka", -"Sweden_Vastra Gotaland Description":"Gothenburg, Borås, Mölndal", -"Switzerland_Central Description":"Luzern, Oberarth, Emmen", -"Switzerland_Eastern Description":"St. Gallen, Schaffhausen, Chur", -"Switzerland_Espace Mittelland_Bern Description":"Bern, Biel/Bienne, Köniz", -"Switzerland_Espace Mittelland_East Description":"Thun, Langenthal, Steffisburg", -"Switzerland_Lake Geneva region Description":"Genf, Lausanne, Vernier", -"Switzerland_Northwestern Description":"Basel, Lenzburg, Riehen", -"Switzerland_Ticino Description":"Lugano, Bellinzona, Locarno", -"Switzerland_Zurich Description":"Zürich, Winterthur, Illnau", -"Syria Description":"Damaskus, Aleppo, Homs", -"Taiwan_North Description":"Taipei City, Taoyuan District, Taichung City", -"Taiwan_South Description":"Kaohsiung City, Tainan City, Chiayi City", -"Tajikistan Description":"Dušanbe, Hudžand, Šahrinav", -"Tanzania Description":"Dar es Salaam, Dodoma, Kigoma", -"Thailand_Central Description":"Nam Som, Nakhon Ratchasima, Udon Thani", -"Thailand_North Description":"Chiang Mai, Santi Suk District, Mae Ai", -"Thailand_South Description":"Bangkok, Nonthaburi, Chaophraya Surasak", -"The Bahamas Description":"Nassau, Freeport, Tarpum Bay", -"The Gambia Description":"Banjul, Serrekunda, Wassu", -"Togo Description":"Lomé, Dapaong, Niamtougou", -"Tokelau Description":"Tokelau", -"Tonga Description":"Nuku'alofa, Ma'ufanga, Neiafu", -"Trinidad and Tobago Description":"Port of Spain, San Fernando, Chaguanas", -"Tunisia Description":"Tunis, Sfax, Ariana", -"Turkey_Aegean Region Description":"Izmir, Denizli, Muğla", -"Turkey_Black Sea Region Description":"Bolu, Samsun, Trabzon", -"Turkey_Central Anatolia Region_Ankara Description":"Ankara, Eskişehir, Konya", -"Turkey_Central Anatolia Region_Kayseri Description":"Kırşehir, Sivas, Nevşehir", -"Turkey_Eastern Anatolia Region Description":"Muş, Ağrı, Van", -"Turkey_Marmara Region_Bursa Description":"Bursa, Çanakkale, Yalova", -"Turkey_Marmara Region_Istanbul Description":"Istanbul, Edirne, Tekirdağ", -"Turkey_Mediterranean Region Description":"Antalya, Burdur, Antakya", -"Turkey_Southeastern Anatolia Region Description":"Gaziantep, Şanlıurfa, Adıyaman", -"Turkmenistan Description":"Ashgabat, Dashoguz, Türkmenabat", -"Turks and Caicos Islands Description":"Cockburn Town, Providenciales, Cockburn Harbor", -"Tuvalu Description":"Funafuti, Vaiaku, Tokelau", -"UK_England_East Midlands Description":"Nottingham, Leicester, Derby", -"UK_England_East of England_Essex Description":"Luton, Colchester, Southend-on-Sea", -"UK_England_East of England_Norfolk Description":"Norwich, Peterborough, Cambridge", -"UK_England_Greater London Description":"London, Croydon, Ilford", -"UK_England_North East England Description":"Sunderland, Newcastle upon Tyne", -"UK_England_North West England_Lancaster Description":"Blackpool, Whitehaven, Egremont", -"UK_England_North West England_Manchester Description":"Manchester, Liverpool, Salford", -"UK_England_South East_Brighton Description":"Brighton, Royal Tunbridge Wells, Maidstone", -"UK_England_South East_Oxford Description":"Southampton, Milton Keynes, Portsmouth", -"UK_England_South West England_Bristol Description":"Bristol, City of Bath, Bournemouth", -"UK_England_South West England_Cornwall Description":"Plymouth, Exeter, St Ives", -"UK_England_West Midlands Description":"Birmingham, Coventry, Wolverhampton", -"UK_England_Yorkshire and the Humber Description":"Sheffield, Wakefield, Bradford", -"UK_Northern Ireland Description":"Newry, Belfast, Londonderry/Derry", -"UK_Scotland_North Description":"Aberdeen, Dundee, Tobermory", -"UK_Scotland_South Description":"Glasgow, Edinburgh, Millport", -"UK_Wales Description":"Cardiff, Swansea, Newport", -"US_Alabama_Birmingham Description":"Warrior, Vestavia Hills, Scottsboro", -"US_Alabama_Montgomery Description":"Creola, Centreville, Valley", -"US_Alaska Description":"Scammon Bay, McGrath, Fort Wainright", -"US_Arizona_Flagstaff Description":"Cottonwood, Holbrook, Show Low", -"US_Arizona_Phoenix Description":"Phoenix, Mesa, Mesa", -"US_Arizona_Tucson Description":"Tucson, South Tucson, Bisbee", -"US_Arkansas_North Description":"Ward, Cabot, Des Arc", -"US_Arkansas_South Description":"Stamps, Rockport, Rockport", -"US_California_Bakersfield_Bakersfield Description":"Arroyo Grande, Pismo Beach, Maricopa", -"US_California_Bakersfield_Lancaster Description":"Hesperia, Big Bear Lake, Holtville", -"US_California_Chico Description":"Tehama, Cloverdale, Cloverdale", -"US_California_LA Description":"Los Angeles, Long Beach, Rosemead", -"US_California_LA North Description":"Santa Barbara, Ojai, Avalon", -"US_California_Redding Description":"Ferndale, Rio Dell, Arcata", -"US_California_Sacramento_Fresno Description":"Fresno, Selma, Bishop", -"US_California_Sacramento_Sacramento Description":"Sacramento, West Sacramento, Placerville", -"US_California_Sacramento_Stockton Description":"Ceres, Ione, Tracy", -"US_California_San Diego Description":"San Diego, San Marcos, Banning", -"US_California_Santa_Clara_Palo Alto Description":"San José, San Francisco, Los Altos", -"US_California_Santa_Clara_Santa Cruz Description":"Seaside, Gonzales, Gonzales", -"US_Colorado_Aspen Description":"Central City, Black Hawk, Woodland Park", -"US_Colorado_Denver Description":"Denver, Colorado Springs, Commerce City", -"US_Colorado_South Description":"Salida, Walsenburg, Las Animas", -"US_Connecticut Description":"East Haven, Groton, Thomaston", -"US_Delaware Description":"City of Seaford, Rehoboth Beach, Milford", -"US_Florida_Gainesville Description":"Gainesville, Palm Bay, Melbourne", -"US_Florida_Jacksonville Description":"Jacksonville, Panama City Beach, Lynn Haven", -"US_Florida_Miami Description":"Miami, Marco Island, Fort Lauderdale", -"US_Florida_Orlando Description":"Orlando, Deltona, Kissimmee", -"US_Florida_Tampa Description":"Oldsmar, Tampa, Saint Petersburg", -"US_Georgia_Atlanta Description":"Atlanta, Chamblee, Walnut Grove", -"US_Georgia_Macon Description":"Grovetown, Perry, Byron", -"US_Georgia_North Description":"Emerson, Jefferson, Cartersville", -"US_Georgia_South Description":"De Soto, Santa Claus, Pearson", -"US_Guam Description":"Dededo Flea (Market), Tumon Golf Driving Range, San José", -"US_Hawaii Description":"Hilo, Kailua-Kona, Kahului", -"US_Idaho_North Description":"Huetter, Peck, Hayden", -"US_Idaho_South Description":"Arco, Middleton, Greenleaf", -"US_Illinois_Chickago Description":"Chicago, Palos Hills, Park City", -"US_Illinois_Elgin Description":"Geneva, Country Club Hills, Wheaton", -"US_Illinois_Rockford Description":"Princeton, Prophetstown, Moline", -"US_Illinois_South Description":"Casey, Wamac, Mount Vernon", -"US_Illinois_Springfield Description":"Mount Pulaski, Lacon, Kewanee", -"US_Indiana_Evansville Description":"Rockport, New Albany, Princeton", -"US_Indiana_Indianapolis Description":"Indianapolis, Connersville, Greensburg", -"US_Indiana_North Description":"Elwood, Kokomo, Whiting", -"US_Iowa_Des Moines Description":"Indianola, Slater, Martensdale", -"US_Iowa_Waterloo Description":"Dixon, Floyd, Elma", -"US_Iowa_West Description":"Churdan, Orange City, Paton", -"US_Kansas_East Description":"Benedict, Coffeyville, Severance", -"US_Kansas_West Description":"Burr Oak, Hunter, Randolph", -"US_Kansas_Wichita Description":"Whitewater, Cedar Point, Sublette", -"US_Kentucky_East Description":"Hyden, Stanton, Pineville", -"US_Kentucky_Louisville Description":"Louisville, Fordsville, Meadowview Estates", -"US_Kentucky_West Description":"Marion, Corydon, Barlow", -"US_Louisiana_Central Description":"Pineville, Marksville, Bunkie", -"US_Louisiana_New Orleans Description":"Bogalusa, Gonzales, Plaquemine", -"US_Maine Description":"Westbrook, Brewer, South Portland", -"US_Maryland_Baltimore Description":"Baltimore, Pocomoke City, Crisfield", -"US_Maryland_and_DC Description":"Washington, D.C., Gaithersburg, Bowie", -"US_Massachusetts_Boston Description":"Boston, Lowell, Cambridge", -"US_Massachusetts_Central Description":"Fitchburg, Southbridge, Leominster", -"US_Massachusetts_Plymouth Description":"Brockton, New Bedford, Fall River", -"US_Massachusetts_Southeastern Description":"Barnstable, Falmouth, Yarmouth", -"US_Massachusetts_West Description":"Greenfield, Springfield", -"US_Michigan_Detroit Description":"Detroit, Hamtramck, Keego Harbor", -"US_Michigan_Grand Rapids Description":"Manton, Whitehall, Muskegon", -"US_Michigan_Lansing Description":"City of Burton, Lapeer, Tawas City", -"US_Michigan_North Description":"Caspian, Iron Mountain, Gaastra", -"US_Minnesota_Minneapolis Description":"Lindstrom, Forest Lake, Greenfield", -"US_Minnesota_North Description":"Erskine, Gully, Hackensack", -"US_Minnesota_Rochester Description":"Arco, New Auburn, Welcome", -"US_Minnesota_Saint Cloud Description":"Brooten, St. Rosa, Genola", -"US_Mississippi_Gulfport Description":"D'Iberville, Ocean Springs, Lucedale", -"US_Mississippi_North Description":"Rolling Fork, Leland, Collins", -"US_Missouri_East Description":"Scott City, Ellington, Viburnum", -"US_Missouri_Kansas Description":"Kansas City, Belton, Gallatin", -"US_Missouri_Springfield Description":"Conway, Osceola, Battlefield", -"US_Missouri_St Louis Description":"Queen City, La Grange, Fulton", -"US_Montana_East Description":"Harlem, Hobson, Colstrip", -"US_Montana_West Description":"Cut Bank, Kalispell, Shelby", -"US_Nebraska_East Description":"Omaha, Stanton, Pawnee City", -"US_Nebraska_West Description":"Bassett, Long Pine, Bloomfield", -"US_Nevada Description":"Las Vegas, Winnemucca, Caliente", -"US_New Hampshire Description":"Somersworth, Laconia, Franklin", -"US_New Jersey_North Description":"Hackensack, Garfield, Lambertville", -"US_New Jersey_South Description":"Absecon, Long Branch, Margate City", -"US_New Mexico_Albuquerque Description":"Albuquerque, Raton, Bloomfield", -"US_New Mexico_Roswell Description":"Eunice, Socorro, Jal", -"US_New York_East Description":"Brookhaven, New Rochelle, Mount Vernon", -"US_New York_New York Description":"New York, New York City, Inwood", -"US_New York_North Description":"City of Cohoes, City of Schenectady, Beacon", -"US_New York_West Description":"Oswego, Jamestown, North Tonawanda", -"US_North Carolina_Asheville Description":"Morganton, Brevard, Marion", -"US_North Carolina_Charlotte Description":"Charlotte, Shelby, Statesville", -"US_North Carolina_Greensboro Description":"Thomasville, Hamlet, Albemarle", -"US_North Carolina_Raleigh Description":"Raleigh, Roxboro, Graham", -"US_North Carolina_Wilmington Description":"Clinton, Boiling Spring Lakes, Laurinburg", -"US_North Carolina_Wilson Description":"New Bern, Havelock, Elizabeth City", -"US_North Dakota_Bismarck Description":"Zap, Reeder, Stanton", -"US_North Dakota_East Description":"Harwood, Cavalier, Lakota", -"US_North Dakota_Minot Description":"Makoti, Bowdon, Kramer", -"US_Ohio_Cincinnati Description":"St. Bernard, Centerville, Madeira", -"US_Ohio_Cleveland Description":"Streetsboro, Willoughby Hills, Avon Lake", -"US_Ohio_Columbus Description":"Columbus, Pickerington, Reynoldsburg", -"US_Ohio_Toledo Description":"Bucyrus, Crestline, Maumee", -"US_Oklahoma_East Description":"Ada, Coalgate, Konawa", -"US_Oklahoma_Oklahoma Description":"Oklahoma City, Noble, Del City", -"US_Oklahoma_Tulsa Description":"Shidler, Prague, Beggs", -"US_Oklahoma_West Description":"Cherokee, Thomas, Perry", -"US_Oregon_Eugene Description":"Albany, Medford, Coos Bay", -"US_Oregon_Portland Description":"Salem, Newport, Government Camp", -"US_Oregon_West Description":"Bend, The Dalles, Klamath Falls", -"US_Pennsylvania_Central Description":"DuBois, St. Marys, Latrobe", -"US_Pennsylvania_Pittsburgh Description":"New Kensington, Uniontown, Monongahela", -"US_Pennsylvania_Reading Description":"Philadelphia, Coatesville, Reading", -"US_Pennsylvania_Scranton Description":"Carbondale, Pittston, Williamsport", -"US_Puerto Rico Description":"San Juan, Mayaguez, Ponce", -"US_Rhode Island Description":"Narragansett, Providence, Warwick", -"US_South Carolina_Charleston Description":"Barnwell, Goose Creek, Folly Beach", -"US_South Carolina_Columbia Description":"Belton, Travelers Rest, Walhalla", -"US_South Carolina_Florence Description":"Tega Cay, Bishopville, Johnsonville", -"US_South Dakota Description":"Irene, Centerville, Baltic", -"US_Tennessee_East Description":"Pigeon Forge, Celina, Friendsville", -"US_Tennessee_West Description":"Memphis, Nashville, Medina", -"US_Texas_Amarillo Description":"Pampa, Jolly, Howardwick", -"US_Texas_Austin Description":"Austin, Hutto, Belton", -"US_Texas_Dallas Description":"Dallas, Fort Worth, Rowlett", -"US_Texas_Houston Description":"Houston, Seabrook, Plum Grove", -"US_Texas_Lubbock Description":"Sudan, Ralls, Goree", -"US_Texas_San Antonio Description":"San Antonio, Rockport, Mathis", -"US_Texas_Southwest Description":"Leakey, Camp Wood, Carrizo Springs", -"US_Texas_Tyler Description":"Troup, Cottonwood, Fate", -"US_Texas_Victoria Description":"Niederwald, Lockhart, Palacios", -"US_Texas_Wako Description":"Calvert, Golinda, Bruceville-Eddy", -"US_Texas_West Description":"El Paso, Westbrook, Stanton", -"US_United States Minor Outlying Islands Description":"Lulu Town, Millersville", -"US_Utah_North Description":"Holladay, South Ogden, Murray", -"US_Utah_South Description":"Parowan, Hildale, Enoch", -"US_Vermont Description":"Saint Albans, Barre, South Burlington", -"US_Virginia_Alexandria Description":"Fairfax, Fredericksburg, Falls Church", -"US_Virginia_Lynchburg Description":"Lynchburg City, Bedford, Staunton", -"US_Virginia_Norfolk Description":"Virginia Beach, Poquoson City, Franklin City", -"US_Virginia_Richmond Description":"Emporia, Colonial Heights, Richmond", -"US_Virginia_Roanoke Description":"Galax, Norton, Radford City", -"US_Washington_Coast Description":"Raymond, Camas, Port Townsend", -"US_Washington_Seattle Description":"Seattle, Edmonds, Sultan", -"US_Washington_Yakima Description":"Pullman, Grand Coulee, White Salmon", -"US_West Virginia Description":"Stonewood, Bluefield, Mullens", -"US_Wisconsin_Eau Claire Description":"Durand, Fountain City, River Falls", -"US_Wisconsin_Madison Description":"Edgerton, Mineral Point, Brodhead", -"US_Wisconsin_Milwaukee Description":"Milwaukee, Lake Mills, Brillion", -"US_Wisconsin_North Description":"Montreal, Tomahawk, Marinette", -"US_Wyoming Description":"Worland, Rawlins, Kemmerer", -"Uganda Description":"Kampala, Yumbe, Kanoni", -"Ukraine_Cherkasy Oblast Description":"Tšerkasõ, Uman, Smila", -"Ukraine_Chernihiv Oblast Description":"Tšernihiv, Nižõn, Pryluky", -"Ukraine_Chernivtsi Oblast Description":"Tšernivtsi, Storožinets, Zastavna", -"Ukraine_Dnipropetrovsk Oblast Description":"Dnipropetrovsk, Krivoy Rog, Dniprodzerzhynsk", -"Ukraine_Donetsk Oblast Description":"Donetsk, Mariupol, Makiivka", -"Ukraine_Ivano-Frankivsk Oblast Description":"Ivano-Frankivsk, Kalush, Kolomyia", -"Ukraine_Kharkiv Oblast Description":"Harkiv, Lozova, Kupiansk", -"Ukraine_Kherson Oblast Description":"Herson, Nova Kahhovka, Наддніпрянське", -"Ukraine_Khmelnytskyi Oblast Description":"Hmelnõtski, Kamianets-Podilski, Šepetivka", -"Ukraine_Kirovohrad Oblast Description":"Kirovohrad, Oleksandriia, Svitlovodsk", -"Ukraine_Kyiv Oblast Description":"Kiiev, Bila Tserkva, Brovary", -"Ukraine_Luhansk Oblast Description":"Luhansk, Alchevsk, Sievierodonetsk", -"Ukraine_Lviv Oblast Description":"Lviv, Sambiri linnavolikogu, Drohobych", -"Ukraine_Mykolaiv Oblast Description":"Mykolaiv, Pervomaisk, Yuzhnoukrainsk", -"Ukraine_Odessa Oblast Description":"Odessa, Izmail, Chornomorsk", -"Ukraine_Poltava Oblast Description":"Poltava, Krementšuk, Komsomolsk", -"Ukraine_Rivne Oblast Description":"Rivne, Kuznetsovsk, Dubno", -"Ukraine_Sumy Oblast Description":"Sumy, Konotop, Shostka", -"Ukraine_Ternopil Oblast Description":"Ternopil, Chortkiv, Kremenets", -"Ukraine_Vinnytsia Oblast Description":"Vinnõtsja, Ворошиловка, Zhmerynka", -"Ukraine_Volyn Oblast Description":"Lutsk, Kovel, Novovolynsk", -"Ukraine_Zakarpattia Oblast Description":"Uzhhorod, Mukacheve, Khust", -"Ukraine_Zaporizhia Oblast Description":"Zaporižži, Melitopol, Berdiansk", -"Ukraine_Zhytomyr Oblast Description":"Žõtomõr, Berdõtšiv, Korosten", -"United Arab Emirates Description":"Abu Dhabi, Dubai, Ajman", -"United States Virgin Islands Description":"Frederiksted, Christiansted, Christiansted", -"Uruguay Description":"Montevideo, Ciudad de la Costa, Salto", -"Uzbekistan Description":"Taškent, Kokand, Namangan", -"Vanuatu Description":"Port Vila, Vao Mainland, Saratamata", -"Venezuela_North Description":"Valencia, Barquisimeto, Maracay", -"Venezuela_South Description":"Maracaibo, Ciudad Guayana, San Cristóbal", -"Vietnam Description":"Hanoi, Ho Chi Minh City, Vung Tau", -"Wallis and Futuna Description":"Mata-Utu, Fiua, Tavai", -"Yemen Description":"Sana'a, Sanʿaʾ, Aden", -"Zambia Description":"Lusaka, Kitwe, Ndola", -"Zimbabwe Description":"Harare, Hwange, Masvingo", -"United States of America Short":"USA", -"Bosnia and Herzegovina Short":"B&H", -"Palestine Region Short":"Palestiina", -"United Kingdom Short":"UK", -"Czech Republic Short":"Tšehhi", -"Argentina_Buenos Aires_North Short":"Buenos Aires", -"Argentina_Buenos Aires_South Short":"Buenos Aires", -"Austria_Lower Austria_West Short":"Alam-Austria", -"Brazil_Southeast Region_Minas Gerais_North Short":"Minas Gerais", -"Brazil_Southeast Region_Sao Paulo_West Short":"São Paulo", -"Czech_Stredni Cechy_East Short":"Kesk-Böömimaa piirkond", -"Czech_Stredni Cechy_West Short":"Kesk-Böömimaa piirkond", -"Finland_Southern Finland_West Short":"Edela-Soome", -"Germany_Brandenburg_North Short":"Brandenburg", -"Germany_Brandenburg_South Short":"Brandenburg", -"Germany_Rhineland-Palatinate_South Short":"Rheinland-Pfalz", -"Mexico_Central_East Short":"Nuevo León", -"Mexico_Central_West Short":"Nayarit", -"Netherlands_Gelderland_North Short":"Gelderland", -"Norway_Central Short":"Oslo", -"Philippines_Luzon_North Short":"Luzon", -"Philippines_Luzon_South Short":"Luzon", -"Romania_North_East Short":"Kirde-Rumeenia", -"Romania_North_West Short":"Loode-Rumeenia", -"Romania_South Short":"Lõuna-Rumeenia", -"Romania_South_East Short":"Edela-Rumeenia", -"Romania_South_West Short":"Edel", -"Romania_West Short":"Lääs", -"Russia_Arkhangelsk Oblast_Central Short":"Arhangelski oblast", -"Russia_Arkhangelsk Oblast_North Short":"Arhangelski oblast", -"Switzerland_Central Short":"Kesk-Šveits", -"UK_Scotland_North Short":"Šotimaa", -"UK_Scotland_South Short":"Šotimaa", -"Brazil_Goias_North Short":"Goiás", -"Brazil_North Region_East Short":"Põhjapiirkond", -"Brazil_North Region_West Short":"Põhjapiirkond", -"Brazil_Northeast Region_East Short":"Kirdepiirkond", -"Brazil_Northeast Region_West Short":"Kirdepiirkond", -"Brazil_Parana_East Short":"Paraná", -"Brazil_Parana_West Short":"Paraná", -"Brazil_South Region_East Short":"Lõunapiirkond", -"Brazil_South Region_West Short":"Lõunapiirkond", -"Congo-Kinshasa Short":"Kongo", -"Finland_Eastern Finland_North Short":"Ida-Soome", -"Finland_Eastern Finland_South Short":"Ida-Soome", -"France_Free County_North Short":"Franche-Comté", -"France_Free County_South Short":"Franche-Comté", -"India_Karnataka_North Short":"Karnataka", -"India_Karnataka_South Short":"Karnataka", -"Russia_Krasnoyarsk Krai_North Short":"Krasnojarski krai", -"Russia_Krasnoyarsk Krai_South Short":"Krasnojarski krai", -"Russia_Moscow Oblast_East Short":"Moskva oblast", -"Russia_Moscow Oblast_West Short":"Moskva oblast", -"Russia_Perm Krai_North Short":"Permi krai", -"Russia_Perm Krai_South Short":"Permi krai", -"Russia_Republic of Karelia_North Short":"Karjala Vabariik", -"Russia_Republic of Karelia_South Short":"Karjala Vabariik", -"Russia_Sverdlovsk Oblast_North Short":"Sverdlovski oblast", -"Spain_Castile and Leon_East Short":"Kastiilia ja León", -"Spain_Castile and Leon_West Short":"Kastiilia ja León", -"Spain_Galicia_North Short":"Galicia", -"Spain_Galicia_South Short":"Galicia", -"Switzerland_Espace Mittelland_East Short":"Espace Mittelland" -} diff --git a/data/countries-strings/eu.json/localize.json b/data/countries-strings/eu.json/localize.json index 0cd28e7b3e..be0305ee60 100644 --- a/data/countries-strings/eu.json/localize.json +++ b/data/countries-strings/eu.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Kantabria", "Spain_Castile and Leon":"Gaztela eta Leon", "Spain_Castile-La Mancha":"Gaztela-Mantxa", -"Spain_Catalonia_Provincia de Barcelona":"Katalunia – Bartzelonako probintzia", -"Spain_Catalonia_Provincia de Girona":"Katalunia – Gironako probintzia", -"Spain_Catalonia_Provincia de Lleida":"Katalunia – Lleidako probintzia", -"Spain_Catalonia_Provincia de Tarragona":"Katalunia – Tarragonako probintzia", +"Spain_Catalonia_Provincia de Barcelona":"Bartzelonako probintzia", +"Spain_Catalonia_Provincia de Girona":"Gironako probintzia", +"Spain_Catalonia_Provincia de Lleida":"Lleidako probintzia", +"Spain_Catalonia_Provincia de Tarragona":"Tarragonako probintzia", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrilgo Erkidegoa", "Spain_Comunidad Foral de Navarra":"Nafarroa", diff --git a/data/countries-strings/fi.json/localize.json b/data/countries-strings/fi.json/localize.json index 32868b0509..31074ebe23 100644 --- a/data/countries-strings/fi.json/localize.json +++ b/data/countries-strings/fi.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Kantabria", "Spain_Castile and Leon":"Kastilia ja León", "Spain_Castile-La Mancha":"Kastilia- La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Katalonia – Barcelona", -"Spain_Catalonia_Provincia de Girona":"Katalonia – Girona", -"Spain_Catalonia_Provincia de Lleida":"Katalonia – leida", -"Spain_Catalonia_Provincia de Tarragona":"Katalonia – Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona", +"Spain_Catalonia_Provincia de Girona":"Girona", +"Spain_Catalonia_Provincia de Lleida":"Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/fr.json/localize.json b/data/countries-strings/fr.json/localize.json index ee9fff14c6..2caa992ee8 100644 --- a/data/countries-strings/fr.json/localize.json +++ b/data/countries-strings/fr.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabrie", "Spain_Castile and Leon":"Castille-et-León", "Spain_Castile-La Mancha":"Castille-La Manche", -"Spain_Catalonia_Provincia de Barcelona":"Catalogne – Province de Barcelone", -"Spain_Catalonia_Provincia de Girona":"Catalogne – Province de Gérone", -"Spain_Catalonia_Provincia de Lleida":"Catalogne – Province de Lérida", -"Spain_Catalonia_Provincia de Tarragona":"Catalogne – Province de Tarragone", +"Spain_Catalonia_Provincia de Barcelona":"Province de Barcelone", +"Spain_Catalonia_Provincia de Girona":"Province de Gérone", +"Spain_Catalonia_Provincia de Lleida":"province de Lérida", +"Spain_Catalonia_Provincia de Tarragona":"Province de Tarragone", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"communauté de Madrid", "Spain_Comunidad Foral de Navarra":"communauté forale de Navarre", diff --git a/data/countries-strings/he.json/localize.json b/data/countries-strings/he.json/localize.json index 015a7dc4a5..3bd6f64336 100644 --- a/data/countries-strings/he.json/localize.json +++ b/data/countries-strings/he.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"קנטבריה", "Spain_Castile and Leon":"קסטיליה ולאון", "Spain_Castile-La Mancha":"קסטיליה-לה מנצ'ה", -"Spain_Catalonia_Provincia de Barcelona":"קטלוניה – מחוז ברצלונה", -"Spain_Catalonia_Provincia de Girona":"קטלוניה – מחוז ז'ירונה", -"Spain_Catalonia_Provincia de Lleida":"קטלוניה – מחוז ג'ירונה", -"Spain_Catalonia_Provincia de Tarragona":"קטלוניה – מחוז טרגונה", +"Spain_Catalonia_Provincia de Barcelona":"", +"Spain_Catalonia_Provincia de Girona":"מחוז ז'ירונה", +"Spain_Catalonia_Provincia de Lleida":"", +"Spain_Catalonia_Provincia de Tarragona":"מחוז טרגונה", "Spain_Ceuta":"סאוטה", "Spain_Community of Madrid":"מדריד", "Spain_Comunidad Foral de Navarra":"נווארה", diff --git a/data/countries-strings/hu.json/localize.json b/data/countries-strings/hu.json/localize.json index 7eb726b67b..66d9a21c55 100644 --- a/data/countries-strings/hu.json/localize.json +++ b/data/countries-strings/hu.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Kantábria", "Spain_Castile and Leon":"Kasztília és León", "Spain_Castile-La Mancha":"Kasztília-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Katalónia – Barcelona tartomány", -"Spain_Catalonia_Provincia de Girona":"Katalónia – Girona", -"Spain_Catalonia_Provincia de Lleida":"Katalónia – Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Katalónia – Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona tartomány", +"Spain_Catalonia_Provincia de Girona":"Girona", +"Spain_Catalonia_Provincia de Lleida":"Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrid tartomány", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/id.json/localize.json b/data/countries-strings/id.json/localize.json index d8832603d0..c001035604 100644 --- a/data/countries-strings/id.json/localize.json +++ b/data/countries-strings/id.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabria", "Spain_Castile and Leon":"Castilla y León", "Spain_Castile-La Mancha":"Castilla-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Catalunya – Provinsi Barcelona", -"Spain_Catalonia_Provincia de Girona":"Catalunya – Provinsi Girona", -"Spain_Catalonia_Provincia de Lleida":"Catalunya – Provinsi Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Catalunya – Provinsi Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Provinsi Barcelona", +"Spain_Catalonia_Provincia de Girona":"Provinsi Girona", +"Spain_Catalonia_Provincia de Lleida":"Provinsi Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Provinsi Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/it.json/localize.json b/data/countries-strings/it.json/localize.json index e94f43a682..c7010847f3 100644 --- a/data/countries-strings/it.json/localize.json +++ b/data/countries-strings/it.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabria", "Spain_Castile and Leon":"Castiglia e León", "Spain_Castile-La Mancha":"Castiglia-La Mancia", -"Spain_Catalonia_Provincia de Barcelona":"Catalogna – Provincia di Barcellona", -"Spain_Catalonia_Provincia de Girona":"Catalogna – Provincia di Girona", -"Spain_Catalonia_Provincia de Lleida":"Catalogna – Provincia di Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Catalogna – Provincia di Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Provincia di Barcellona", +"Spain_Catalonia_Provincia de Girona":"Provincia di Girona", +"Spain_Catalonia_Provincia de Lleida":"Provincia di Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Provincia di Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"comunità di Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/ja.json/localize.json b/data/countries-strings/ja.json/localize.json index d086c7baee..2d10de60ab 100644 --- a/data/countries-strings/ja.json/localize.json +++ b/data/countries-strings/ja.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"カンタブリア州", "Spain_Castile and Leon":"カスティーリャ・レオン州", "Spain_Castile-La Mancha":"カスティーリャ・ラ・マンチャ州", -"Spain_Catalonia_Provincia de Barcelona":"カタロニア – バルセロナ県", -"Spain_Catalonia_Provincia de Girona":"カタロニア – ジローナ県", -"Spain_Catalonia_Provincia de Lleida":"カタロニア – リェイダ県", -"Spain_Catalonia_Provincia de Tarragona":"カタロニア – タラゴナ県", +"Spain_Catalonia_Provincia de Barcelona":"バルセロナ県", +"Spain_Catalonia_Provincia de Girona":"ジローナ県", +"Spain_Catalonia_Provincia de Lleida":"リェイダ県", +"Spain_Catalonia_Provincia de Tarragona":"タラゴナ県", "Spain_Ceuta":"セウタ", "Spain_Community of Madrid":"マドリード州", "Spain_Comunidad Foral de Navarra":"ナバラ州", diff --git a/data/countries-strings/ko.json/localize.json b/data/countries-strings/ko.json/localize.json index a23a99c8fb..fa89640d8f 100644 --- a/data/countries-strings/ko.json/localize.json +++ b/data/countries-strings/ko.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"칸타브리아 지방", "Spain_Castile and Leon":"카스티야이레온 지방", "Spain_Castile-La Mancha":"카스티야라만차 지방", -"Spain_Catalonia_Provincia de Barcelona":"카탈로니아 – 바르셀로나 주", -"Spain_Catalonia_Provincia de Girona":"카탈로니아 – 지로나 주", -"Spain_Catalonia_Provincia de Lleida":"카탈로니아 – 예이다 주", -"Spain_Catalonia_Provincia de Tarragona":"카탈로니아 – 타라고나 주", +"Spain_Catalonia_Provincia de Barcelona":"바르셀로나 주", +"Spain_Catalonia_Provincia de Girona":"지로나 주", +"Spain_Catalonia_Provincia de Lleida":"예이다 주", +"Spain_Catalonia_Provincia de Tarragona":"타라고나 주", "Spain_Ceuta":"세우타", "Spain_Community of Madrid":"마드리드 지방", "Spain_Comunidad Foral de Navarra":"나바라 지방", diff --git a/data/countries-strings/mr.json/localize.json b/data/countries-strings/mr.json/localize.json index 526d518144..10b9cd97cb 100644 --- a/data/countries-strings/mr.json/localize.json +++ b/data/countries-strings/mr.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabria", "Spain_Castile and Leon":"Castile and León", "Spain_Castile-La Mancha":"Castile-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Catalonia – Barcelona Province", -"Spain_Catalonia_Provincia de Girona":"Catalonia – Girona Province", -"Spain_Catalonia_Provincia de Lleida":"Catalonia – Lleida Province", -"Spain_Catalonia_Provincia de Tarragona":"Catalonia – Tarragona Province", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona Province", +"Spain_Catalonia_Provincia de Girona":"Girona Province", +"Spain_Catalonia_Provincia de Lleida":"Lleida Province", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona Province", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Community of Madrid", "Spain_Comunidad Foral de Navarra":"Navarre", diff --git a/data/countries-strings/nb.json/localize.json b/data/countries-strings/nb.json/localize.json index 69b9c1190a..8d25cfade8 100644 --- a/data/countries-strings/nb.json/localize.json +++ b/data/countries-strings/nb.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabria", "Spain_Castile and Leon":"Castilla y León", "Spain_Castile-La Mancha":"Castilla-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Catalonia – Barcelona", -"Spain_Catalonia_Provincia de Girona":"Catalonia – Girona", -"Spain_Catalonia_Provincia de Lleida":"Catalonia – Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Catalonia – Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona", +"Spain_Catalonia_Provincia de Girona":"Girona", +"Spain_Catalonia_Provincia de Lleida":"Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/nl.json/localize.json b/data/countries-strings/nl.json/localize.json index de97566c03..6042786c6b 100644 --- a/data/countries-strings/nl.json/localize.json +++ b/data/countries-strings/nl.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabrië", "Spain_Castile and Leon":"Castilië en León", "Spain_Castile-La Mancha":"Castilië-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Catalonië – Barcelona", -"Spain_Catalonia_Provincia de Girona":"Catalonië – Gerona", -"Spain_Catalonia_Provincia de Lleida":"Catalonië – Lerida", -"Spain_Catalonia_Provincia de Tarragona":"Catalonië – Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona", +"Spain_Catalonia_Provincia de Girona":"Gerona", +"Spain_Catalonia_Provincia de Lleida":"Lerida", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/pl.json/localize.json b/data/countries-strings/pl.json/localize.json index b33d4a5d3a..c5640de199 100644 --- a/data/countries-strings/pl.json/localize.json +++ b/data/countries-strings/pl.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Kantabria", "Spain_Castile and Leon":"Kastylia i León", "Spain_Castile-La Mancha":"Kastylia-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Katalonia – Barcelona", -"Spain_Catalonia_Provincia de Girona":"Katalonia – Girona", -"Spain_Catalonia_Provincia de Lleida":"Katalonia – Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Katalonia – Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona", +"Spain_Catalonia_Provincia de Girona":"Girona", +"Spain_Catalonia_Provincia de Lleida":"Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madryt", "Spain_Comunidad Foral de Navarra":"Nawarra", diff --git a/data/countries-strings/pt.json/localize.json b/data/countries-strings/pt.json/localize.json index 1da7c98403..64a2867610 100644 --- a/data/countries-strings/pt.json/localize.json +++ b/data/countries-strings/pt.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantábria", "Spain_Castile and Leon":"Castela e Leão", "Spain_Castile-La Mancha":"Castela-Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Catalunha – Província de Barcelona", -"Spain_Catalonia_Provincia de Girona":"Catalunha – Província de Girona", -"Spain_Catalonia_Provincia de Lleida":"Catalunha – Província de Lérida", -"Spain_Catalonia_Provincia de Tarragona":"Catalunha – Província de Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona", +"Spain_Catalonia_Provincia de Girona":"Girona", +"Spain_Catalonia_Provincia de Lleida":"Província de Lérida", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Comunidade autónoma de Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/ro.json/localize.json b/data/countries-strings/ro.json/localize.json index dc3ef02a94..da931acdeb 100644 --- a/data/countries-strings/ro.json/localize.json +++ b/data/countries-strings/ro.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabria", "Spain_Castile and Leon":"Castilia și León", "Spain_Castile-La Mancha":"Castilia-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Catalonia – Provincia Barcelona", -"Spain_Catalonia_Provincia de Girona":"Catalonia – Provincia Girona", -"Spain_Catalonia_Provincia de Lleida":"Catalonia – Provincia Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Catalonia – Provincia Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Provincia Barcelona", +"Spain_Catalonia_Provincia de Girona":"Provincia Girona", +"Spain_Catalonia_Provincia de Lleida":"Provincia Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Provincia Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/ru.json/localize.json b/data/countries-strings/ru.json/localize.json index 9e9e004ff4..2b767158d2 100644 --- a/data/countries-strings/ru.json/localize.json +++ b/data/countries-strings/ru.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Кантабрия", "Spain_Castile and Leon":"Кастилия и Леон", "Spain_Castile-La Mancha":"Кастилия — Ла-Манча", -"Spain_Catalonia_Provincia de Barcelona":"Каталония – Барселона", -"Spain_Catalonia_Provincia de Girona":"Каталония – Херона", -"Spain_Catalonia_Provincia de Lleida":"Каталония – Лерида", -"Spain_Catalonia_Provincia de Tarragona":"Каталония – Таррагона", +"Spain_Catalonia_Provincia de Barcelona":"Барселона", +"Spain_Catalonia_Provincia de Girona":"Херона", +"Spain_Catalonia_Provincia de Lleida":"Лерида", +"Spain_Catalonia_Provincia de Tarragona":"Таррагона", "Spain_Ceuta":"Сеута", "Spain_Community of Madrid":"Мадрид", "Spain_Comunidad Foral de Navarra":"Наварра", diff --git a/data/countries-strings/sk.json/localize.json b/data/countries-strings/sk.json/localize.json index e501da128e..6b15d61b26 100644 --- a/data/countries-strings/sk.json/localize.json +++ b/data/countries-strings/sk.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Kantábria", "Spain_Castile and Leon":"Castile and León", "Spain_Castile-La Mancha":"Castile-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Katalánsko – Barcelona Province", -"Spain_Catalonia_Provincia de Girona":"Katalánsko – Girona Province", -"Spain_Catalonia_Provincia de Lleida":"Katalánsko – Lleida Province", -"Spain_Catalonia_Provincia de Tarragona":"Katalánsko – Tarragona Province", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona Province", +"Spain_Catalonia_Provincia de Girona":"Girona Province", +"Spain_Catalonia_Provincia de Lleida":"Lleida Province", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona Province", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madridské spoločenstvo", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/sv.json/localize.json b/data/countries-strings/sv.json/localize.json index 739e2695c5..68926cfa9b 100644 --- a/data/countries-strings/sv.json/localize.json +++ b/data/countries-strings/sv.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Kantabrien", "Spain_Castile and Leon":"Kastilien och León", "Spain_Castile-La Mancha":"Kastilien-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Katalonien – Barcelona", -"Spain_Catalonia_Provincia de Girona":"Katalonien – Girona", -"Spain_Catalonia_Provincia de Lleida":"Katalonien – Lleida", -"Spain_Catalonia_Provincia de Tarragona":"Katalonien – Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona", +"Spain_Catalonia_Provincia de Girona":"Girona", +"Spain_Catalonia_Provincia de Lleida":"Lleida", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/th.json/localize.json b/data/countries-strings/th.json/localize.json index dfab5f95c6..9fdd266b5b 100644 --- a/data/countries-strings/th.json/localize.json +++ b/data/countries-strings/th.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"แคว้นกันตาเบรีย", "Spain_Castile and Leon":"แคว้นคาสตีลและเลออน", "Spain_Castile-La Mancha":"แคว้นคาสตีล-ลามันชา", -"Spain_Catalonia_Provincia de Barcelona":"คาตาโลเนีย – จังหวัดบาร์เซโลนา", -"Spain_Catalonia_Provincia de Girona":"คาตาโลเนีย – จังหวัดกิโรนา", -"Spain_Catalonia_Provincia de Lleida":"คาตาโลเนีย – จังหวัดเลดา", -"Spain_Catalonia_Provincia de Tarragona":"คาตาโลเนีย – จังหวัดทาร์ราโกนา", +"Spain_Catalonia_Provincia de Barcelona":"จังหวัดบาร์เซโลนา", +"Spain_Catalonia_Provincia de Girona":"จังหวัดกิโรนา", +"Spain_Catalonia_Provincia de Lleida":"จังหวัดเลดา", +"Spain_Catalonia_Provincia de Tarragona":"จังหวัดทาร์ราโกนา", "Spain_Ceuta":"เซวตา", "Spain_Community of Madrid":"แคว้นมาดริด", "Spain_Comunidad Foral de Navarra":"แคว้นนาวาร์", diff --git a/data/countries-strings/tr.json/localize.json b/data/countries-strings/tr.json/localize.json index 8753646ef4..6d3080ee22 100644 --- a/data/countries-strings/tr.json/localize.json +++ b/data/countries-strings/tr.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Kantabria", "Spain_Castile and Leon":"Kastilya ve Leon", "Spain_Castile-La Mancha":"Kastilya-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Katalonya – Barselona ili", -"Spain_Catalonia_Provincia de Girona":"Katalonya – Gerona ili", -"Spain_Catalonia_Provincia de Lleida":"Katalonya – Lérida ili", -"Spain_Catalonia_Provincia de Tarragona":"Katalonya – Tarragona İli", +"Spain_Catalonia_Provincia de Barcelona":"Barselona ili", +"Spain_Catalonia_Provincia de Girona":"Gerona ili", +"Spain_Catalonia_Provincia de Lleida":"Lérida ili", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona İli", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/uk.json/localize.json b/data/countries-strings/uk.json/localize.json index b757380c65..3c512590f3 100644 --- a/data/countries-strings/uk.json/localize.json +++ b/data/countries-strings/uk.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Кантабрія", "Spain_Castile and Leon":"Кастилія-і-Леон", "Spain_Castile-La Mancha":"Кастилія — Ла-Манча", -"Spain_Catalonia_Provincia de Barcelona":"Каталонія – Барселона", -"Spain_Catalonia_Provincia de Girona":"Каталонія – Жирона", -"Spain_Catalonia_Provincia de Lleida":"Каталонія – Льєйда", -"Spain_Catalonia_Provincia de Tarragona":"Каталонія – Таррагона", +"Spain_Catalonia_Provincia de Barcelona":"Барселона", +"Spain_Catalonia_Provincia de Girona":"Жирона", +"Spain_Catalonia_Provincia de Lleida":"Льєйда", +"Spain_Catalonia_Provincia de Tarragona":"Таррагона", "Spain_Ceuta":"Сеута", "Spain_Community of Madrid":"Мадрид", "Spain_Comunidad Foral de Navarra":"Наварра", diff --git a/data/countries-strings/vi.json/localize.json b/data/countries-strings/vi.json/localize.json index 50ac88c203..be31800810 100644 --- a/data/countries-strings/vi.json/localize.json +++ b/data/countries-strings/vi.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"Cantabria", "Spain_Castile and Leon":"Castilla và León", "Spain_Castile-La Mancha":"Castile-La Mancha", -"Spain_Catalonia_Provincia de Barcelona":"Catalonia – Barcelona", -"Spain_Catalonia_Provincia de Girona":"Catalonia – Girona", -"Spain_Catalonia_Provincia de Lleida":"Catalonia – Lérida", -"Spain_Catalonia_Provincia de Tarragona":"Catalonia – Tarragona", +"Spain_Catalonia_Provincia de Barcelona":"Barcelona", +"Spain_Catalonia_Provincia de Girona":"Girona", +"Spain_Catalonia_Provincia de Lleida":"Lérida", +"Spain_Catalonia_Provincia de Tarragona":"Tarragona", "Spain_Ceuta":"Ceuta", "Spain_Community of Madrid":"Cộng đồng Madrid", "Spain_Comunidad Foral de Navarra":"Navarra", diff --git a/data/countries-strings/zh-Hans.json/localize.json b/data/countries-strings/zh-Hans.json/localize.json index a2a387c67b..09284e7f79 100644 --- a/data/countries-strings/zh-Hans.json/localize.json +++ b/data/countries-strings/zh-Hans.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"坎塔布里亚", "Spain_Castile and Leon":"卡斯蒂利亚-莱昂", "Spain_Castile-La Mancha":"卡斯蒂利亚-拉曼恰", -"Spain_Catalonia_Provincia de Barcelona":"加泰罗尼亚 – 巴塞罗那省", -"Spain_Catalonia_Provincia de Girona":"加泰罗尼亚 – 赫罗纳省", -"Spain_Catalonia_Provincia de Lleida":"加泰罗尼亚 – 莱里达省", -"Spain_Catalonia_Provincia de Tarragona":"加泰罗尼亚 – 塔拉戈纳省", +"Spain_Catalonia_Provincia de Barcelona":"巴塞罗那省", +"Spain_Catalonia_Provincia de Girona":"赫罗纳省", +"Spain_Catalonia_Provincia de Lleida":"莱里达省", +"Spain_Catalonia_Provincia de Tarragona":"塔拉戈纳省", "Spain_Ceuta":"休达", "Spain_Community of Madrid":"马德里自治区", "Spain_Comunidad Foral de Navarra":"纳瓦拉", diff --git a/data/countries-strings/zh-Hant.json/localize.json b/data/countries-strings/zh-Hant.json/localize.json index 0d16a1b5a6..b9d4ac2536 100644 --- a/data/countries-strings/zh-Hant.json/localize.json +++ b/data/countries-strings/zh-Hant.json/localize.json @@ -942,10 +942,10 @@ "Spain_Cantabria":"坎塔布里亞", "Spain_Castile and Leon":"卡斯蒂利亞-萊昂", "Spain_Castile-La Mancha":"卡斯蒂利亞-拉曼恰", -"Spain_Catalonia_Provincia de Barcelona":"加泰羅尼亞 – 巴塞羅那省", -"Spain_Catalonia_Provincia de Girona":"加泰羅尼亞 – 赫羅納省", -"Spain_Catalonia_Provincia de Lleida":"加泰羅尼亞 – 萊里達省", -"Spain_Catalonia_Provincia de Tarragona":"加泰羅尼亞 – 塔拉戈納省", +"Spain_Catalonia_Provincia de Barcelona":"巴塞羅那省", +"Spain_Catalonia_Provincia de Girona":"赫羅納省", +"Spain_Catalonia_Provincia de Lleida":"萊里達省", +"Spain_Catalonia_Provincia de Tarragona":"塔拉戈納省", "Spain_Ceuta":"休達", "Spain_Community of Madrid":"馬德里自治區", "Spain_Comunidad Foral de Navarra":"納瓦拉", diff --git a/data/countries_names.txt b/data/countries_names.txt index a9c2a0abe4..63681529f3 100644 --- a/data/countries_names.txt +++ b/data/countries_names.txt @@ -32475,152 +32475,140 @@ sk = Castile-La Mancha [Spain_Catalonia_Provincia de Barcelona] - en = Catalonia – Barcelona Province - ru = Каталония – Барселона - ar = كاتالونيا – برشلونة - be = Каталонія – правінцыя Барселона - bg = Каталуния – Барселона + en = Barcelona Province + ru = Барселона + ar = برشلونة ca = Catalunya – Barcelona - cs = Katalánsko – Provincie Barcelona - da = Catalonien – Barcelona - nl = Catalonië – Barcelona - fa = کاتالونیا – بارسلون - fi = Katalonia – Barcelona - fr = Catalogne – Province de Barcelone - de = Katalonien – Provinz Barcelona - hu = Katalónia – Barcelona tartomány - id = Catalunya – Provinsi Barcelona - it = Catalogna – Provincia di Barcellona - ja = カタロニア – バルセロナ県 - ko = 카탈로니아 – 바르셀로나 주 - nb = Catalonia – Barcelona - pl = Katalonia – Barcelona - pt = Catalunha – Província de Barcelona - ro = Catalonia – Provincia Barcelona - es = Cataluña – Provincia de Barcelona - et = Kataloonia – Barcelona maakond - eu = Katalunia – Bartzelonako probintzia - sv = Katalonien – Barcelona - th = คาตาโลเนีย – จังหวัดบาร์เซโลนา - tr = Katalonya – Barselona ili - uk = Каталонія – Барселона - vi = Catalonia – Barcelona - zh-Hans = 加泰罗尼亚 – 巴塞罗那省 - zh-Hant = 加泰羅尼亞 – 巴塞羅那省 - el = Καταλονία – Επαρχία της Βαρκελώνης - he = קטלוניה – מחוז ברצלונה - sk = Katalánsko – Barcelona Province + cs = Provincie Barcelona + da = Barcelona + nl = Barcelona + fi = Barcelona + fr = Province de Barcelone + de = Provinz Barcelona + hu = Barcelona tartomány + id = Provinsi Barcelona + it = Provincia di Barcellona + ja = バルセロナ県 + ko = 바르셀로나 주 + nb = Barcelona + pl = Barcelona + pt = Barcelona + ro = Provincia Barcelona + es = Provincia de Barcelona + et = Barcelona maakond + eu = Bartzelonako probintzia + sv = Barcelona + th = จังหวัดบาร์เซโลนา + tr = Barselona ili + uk = Барселона + vi = Barcelona + zh-Hans = 巴塞罗那省 + zh-Hant = 巴塞羅那省 + el = Επαρχία της Βαρκελώνης + he = + sk = Barcelona Province [Spain_Catalonia_Provincia de Girona] - en = Catalonia – Girona Province - ru = Каталония – Херона - ar = كاتالونيا – جرندة - be = Каталонія – правінцыя Жирона - bg = Каталуния – Жирона + en = Girona Province + ru = Херона + ar = جرندة ca = Catalunya – Girona - cs = Katalánsko – Provincie Girona - da = Catalonien – Girona - nl = Catalonië – Gerona - fa = کاتالونیا – خیرونا - fi = Katalonia – Girona - fr = Catalogne – Province de Gérone - de = Katalonien – Provinz Girona - hu = Katalónia – Girona - id = Catalunya – Provinsi Girona - it = Catalogna – Provincia di Girona - ja = カタロニア – ジローナ県 - ko = 카탈로니아 – 지로나 주 - nb = Catalonia – Girona - pl = Katalonia – Girona - pt = Catalunha – Província de Girona - ro = Catalonia – Provincia Girona - es = Cataluña – Provincia de Gerona - et = Kataloonia – Girona maakond - eu = Katalunia – Gironako probintzia - sv = Katalonien – Girona - th = คาตาโลเนีย – จังหวัดกิโรนา - tr = Katalonya – Gerona ili - uk = Каталонія – Жирона - vi = Catalonia – Girona - zh-Hans = 加泰罗尼亚 – 赫罗纳省 - zh-Hant = 加泰羅尼亞 – 赫羅納省 - el = Καταλονία – Επαρχία της Γκιρόνα - he = קטלוניה – מחוז ז'ירונה - sk = Katalánsko – Girona Province + cs = Provincie Girona + da = Girona (provins) + nl = Gerona + fi = Girona + fr = Province de Gérone + de = Provinz Girona + hu = Girona + id = Provinsi Girona + it = Provincia di Girona + ja = ジローナ県 + ko = 지로나 주 + nb = Girona + pl = Girona + pt = Girona + ro = Provincia Girona + es = Provincia de Gerona + et = Girona maakond + eu = Gironako probintzia + sv = Girona + th = จังหวัดกิโรนา + tr = Gerona ili + uk = Жирона + vi = Girona + zh-Hans = 赫罗纳省 + zh-Hant = 赫羅納省 + el = Επαρχία της Γκιρόνα + he = מחוז ז'ירונה + sk = Girona Province [Spain_Catalonia_Provincia de Lleida] - en = Catalonia – Lleida Province - ru = Каталония – Лерида - ar = كاتالونيا – لاردة - be = Каталонія – правінцыя Лерыда - bg = Каталуния – Лерида + en = Lleida Province + ru = Лерида + ar = لاردة ca = Catalunya – Lleida - cs = Katalánsko – Provincie Lleida - da = Catalonien – Lleida - nl = Catalonië – Lerida - fa = کاتالونیا – لیدا - fi = Katalonia – leida - fr = Catalogne – Province de Lérida - de = Katalonien – Provinz Lleida - hu = Katalónia – Lleida - id = Catalunya – Provinsi Lleida - it = Catalogna – Provincia di Lleida - ja = カタロニア – リェイダ県 - ko = 카탈로니아 – 예이다 주 - nb = Catalonia – Lleida - pl = Katalonia – Lleida - pt = Catalunha – Província de Lérida - ro = Catalonia – Provincia Lleida - es = Cataluña – Provincia de Lérida - et = Kataloonia – Lleida maakond - eu = Katalunia – Lleidako probintzia - sv = Katalonien – Lleida - th = คาตาโลเนีย – จังหวัดเลดา - tr = Katalonya – Lérida ili - uk = Каталонія – Льєйда - vi = Catalonia – Lérida - zh-Hans = 加泰罗尼亚 – 莱里达省 - zh-Hant = 加泰羅尼亞 – 萊里達省 - el = Καταλονία – Επαρχία Λέιντα - he = קטלוניה – מחוז ג'ירונה - sk = Katalánsko – Lleida Province + cs = Provincie Lleida + da = Lleida + nl = Lerida + fi = Lleida + fr = province de Lérida + de = Provinz Lleida + hu = Lleida + id = Provinsi Lleida + it = Provincia di Lleida + ja = リェイダ県 + ko = 예이다 주 + nb = Lleida + pl = Lleida + pt = Província de Lérida + ro = Provincia Lleida + es = Provincia de Lérida + et = Lleida maakond + eu = Lleidako probintzia + sv = Lleida + th = จังหวัดเลดา + tr = Lérida ili + uk = Льєйда + vi = Lérida + zh-Hans = 莱里达省 + zh-Hant = 萊里達省 + el = Επαρχία Λέιντα + he = + sk = Lleida Province [Spain_Catalonia_Provincia de Tarragona] - en = Catalonia – Tarragona Province - ru = Каталония – Таррагона - ar = كاتالونيا – طراغونة - be = Каталонія – правінцыя Таррагона - bg = Каталуния – Тарагона + en = Tarragona Province + ru = Таррагона + ar = طراغونة ca = Catalunya – Tarragona - cs = Katalánsko – Provincie Tarragona - da = Catalonien – Tarragona - nl = Catalonië – Tarragona - fa = کاتالونیا – تاراگونا - fi = Katalonia – Tarragona - fr = Catalogne – Province de Tarragone - de = Katalonien – Provinz Tarragona - hu = Katalónia – Tarragona - id = Catalunya – Provinsi Tarragona - it = Catalogna – Provincia di Tarragona - ja = カタロニア – タラゴナ県 - ko = 카탈로니아 – 타라고나 주 - nb = Catalonia – Tarragona - pl = Katalonia – Tarragona - pt = Catalunha – Província de Tarragona - ro = Catalonia – Provincia Tarragona - es = Cataluña – Provincia de Tarragona - et = Kataloonia – Tarragona maakond - eu = Katalunia – Tarragonako probintzia - sv = Katalonien – Tarragona - th = คาตาโลเนีย – จังหวัดทาร์ราโกนา - tr = Katalonya – Tarragona İli - uk = Каталонія – Таррагона - vi = Catalonia – Tarragona - zh-Hans = 加泰罗尼亚 – 塔拉戈纳省 - zh-Hant = 加泰羅尼亞 – 塔拉戈納省 - el = Καταλονία – Επαρχία Ταραγόνα - he = קטלוניה – מחוז טרגונה - sk = Katalánsko – Tarragona Province + cs = Provincie Tarragona + da = Tarragona + nl = Tarragona + fi = Tarragona + fr = Province de Tarragone + de = Tarragona + hu = Tarragona + id = Provinsi Tarragona + it = Provincia di Tarragona + ja = タラゴナ県 + ko = 타라고나 주 + nb = Tarragona + pl = Tarragona + pt = Tarragona + ro = Provincia Tarragona + es = Provincia de Tarragona + et = Tarragona maakond + eu = Tarragonako probintzia + sv = Tarragona + th = จังหวัดทาร์ราโกนา + tr = Tarragona İli + uk = Таррагона + vi = Tarragona + zh-Hans = 塔拉戈纳省 + zh-Hant = 塔拉戈納省 + el = Επαρχία Ταραγόνα + he = מחוז טרגונה + sk = Tarragona Province [Spain_Ceuta] en = Ceuta @@ -56620,7 +56608,7 @@ it = Barcellona ja = バルセロナ, バダロナ ko = 바달로나 - es = Barcelona, Hospitalet de Llobregat, Badalona + es = Barcelona, Hospitalet de Llobregat eu = Bartzelona, L'Hospitalet de Llobregat th = บาดาโลนา uk = Барселона, Бадалона @@ -56636,7 +56624,7 @@ ja = ジローナ ko = 지로나 pt = Gerunda - es = San Antonio, Gerona, Figueras + es = Gerona, Figueras eu = Girona, Figueres uk = Жірона el = Σαντ Αντόνιο, Γκιρόνα, Φιγκέρες @@ -56646,7 +56634,7 @@ en = Lleida, Mollerussa, Balaguer ru = Ллейда fr = Lérida - es = Lérida, Mollerussa, Balaguer + es = Lérida eu = Lerida el = Λέιντα, Μολερούσα, Μπαλαγκέρ @@ -56654,7 +56642,6 @@ en = Tarragona, Reus, el Vendrell ru = Таррагона, Реус ar = طراغونة - es = Tarragona, Reus, Vendrell fr = Tarragone ja = タラゴナ ko = 타라고나 diff --git a/data/drules_proto.bin b/data/drules_proto.bin index ee265f3e4d..1dd5603061 100644 Binary files a/data/drules_proto.bin and b/data/drules_proto.bin differ diff --git a/data/drules_proto.txt b/data/drules_proto.txt index 658bf48c49..7e7b56e2c4 100644 --- a/data/drules_proto.txt +++ b/data/drules_proto.txt @@ -14145,37 +14145,12 @@ cont { cont { name: "entrance" element { - scale: 19 + scale: 18 symbol { name: "entrance-s" apply_for_type: 1 priority: 16038 } - caption { - primary { - height: 10 - color: 6381914 - offset_x: 1 - text: "ref" - } - secondary { - height: 12 - offset_y: 10 - text: "addr:flats" - } - priority: 15038 - } - } -} -cont { - name: "entrance-main" - element { - scale: 18 - symbol { - name: "main_entrance-s" - apply_for_type: 1 - priority: 16038 - } caption { primary { height: 10 @@ -14189,7 +14164,7 @@ cont { element { scale: 19 symbol { - name: "main_entrance-s" + name: "entrance-s" apply_for_type: 1 priority: 16038 } diff --git a/data/drules_proto_clear.bin b/data/drules_proto_clear.bin index a548328b32..e80c954594 100644 Binary files a/data/drules_proto_clear.bin and b/data/drules_proto_clear.bin differ diff --git a/data/drules_proto_clear.txt b/data/drules_proto_clear.txt index dbb7d47297..f1feefa1b5 100644 --- a/data/drules_proto_clear.txt +++ b/data/drules_proto_clear.txt @@ -13914,37 +13914,12 @@ cont { cont { name: "entrance" element { - scale: 19 + scale: 18 symbol { name: "entrance-s" apply_for_type: 1 priority: 16038 } - caption { - primary { - height: 10 - color: 6381914 - offset_x: 1 - text: "ref" - } - secondary { - height: 12 - offset_y: 10 - text: "addr:flats" - } - priority: 15038 - } - } -} -cont { - name: "entrance-main" - element { - scale: 18 - symbol { - name: "main_entrance-s" - apply_for_type: 1 - priority: 16038 - } caption { primary { height: 10 @@ -13958,7 +13933,7 @@ cont { element { scale: 19 symbol { - name: "main_entrance-s" + name: "entrance-s" apply_for_type: 1 priority: 16038 } diff --git a/data/drules_proto_dark.bin b/data/drules_proto_dark.bin index c326d036d4..ddd51ccf0f 100644 Binary files a/data/drules_proto_dark.bin and b/data/drules_proto_dark.bin differ diff --git a/data/drules_proto_dark.txt b/data/drules_proto_dark.txt index d2823d4336..aeb1014a9b 100644 --- a/data/drules_proto_dark.txt +++ b/data/drules_proto_dark.txt @@ -13914,37 +13914,12 @@ cont { cont { name: "entrance" element { - scale: 19 + scale: 18 symbol { name: "entrance-s" apply_for_type: 1 priority: 16038 } - caption { - primary { - height: 10 - color: 5592405 - offset_x: 1 - text: "ref" - } - secondary { - height: 12 - offset_y: 10 - text: "addr:flats" - } - priority: 15038 - } - } -} -cont { - name: "entrance-main" - element { - scale: 18 - symbol { - name: "main_entrance-s" - apply_for_type: 1 - priority: 16038 - } caption { primary { height: 10 @@ -13958,7 +13933,7 @@ cont { element { scale: 19 symbol { - name: "main_entrance-s" + name: "entrance-s" apply_for_type: 1 priority: 16038 } diff --git a/data/editor.config b/data/editor.config index 3325b771c8..045f987e90 100644 --- a/data/editor.config +++ b/data/editor.config @@ -1,5 +1,5 @@ - + @@ -185,13 +170,15 @@ - + + - + + @@ -202,20 +189,23 @@ - + - + + - + + - + + @@ -223,62 +213,72 @@ - + + - + + - + + - + - + + - + + - + - + + - + + - + - + + - + + - + - + + @@ -289,7 +289,8 @@ - + + @@ -301,26 +302,28 @@ - + - + - + - + + - + + @@ -330,11 +333,12 @@ - + + - + @@ -343,16 +347,17 @@ - + - + + - + @@ -363,81 +368,86 @@ - + + - + + - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + - + + @@ -467,18 +477,20 @@ - + + - + + - + @@ -500,31 +512,33 @@ - + + - + - + - + - + - + - + - + + - + @@ -539,7 +553,7 @@ - + @@ -549,251 +563,326 @@ - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + - + - + + - + + - + + - + - + + - + + - + + - + - + + - + + - + + - + + - + + @@ -805,7 +894,8 @@ - + + @@ -821,19 +911,21 @@ - + + - + + - + - + - + @@ -841,13 +933,13 @@ - + - + - + @@ -887,13 +979,14 @@ - + + - + @@ -912,67 +1005,70 @@ - + - + - + - + - + - + - + + - + - + - + - + - + - + - + - + + - + - + - + - + + - + - + @@ -1060,10 +1161,12 @@ - + + - + + @@ -1078,4 +1181,4 @@ - + diff --git a/data/mapcss-mapping.csv b/data/mapcss-mapping.csv index a2a2ce4a06..2190088520 100644 --- a/data/mapcss-mapping.csv +++ b/data/mapcss-mapping.csv @@ -880,7 +880,7 @@ area:highway|motorway;879; area:highway|trunk;880; deprecated|deprecated;881;x entrance;[entrance];;ref;addr:flats;882; -entrance|main;[entrance=main];;ref;addr:flats;883; +deprecated|deprecated;883;x tourism|artwork;885; railway|subway|red;[railway=subway][colour=red];x;name;int_name;886;railway|subway|tunnel railway|subway|blue;[railway=subway][colour=blue];x;name;int_name;887;railway|subway|tunnel diff --git a/data/resources-6plus_clear/symbols.png b/data/resources-6plus_clear/symbols.png index c5e1cc7ada..302f0c6243 100644 Binary files a/data/resources-6plus_clear/symbols.png and b/data/resources-6plus_clear/symbols.png differ diff --git a/data/resources-6plus_clear/symbols.sdf b/data/resources-6plus_clear/symbols.sdf index 386d6a8521..be79affa02 100644 --- a/data/resources-6plus_clear/symbols.sdf +++ b/data/resources-6plus_clear/symbols.sdf @@ -109,7 +109,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -133,22 +133,22 @@ - + - + - + - + @@ -157,271 +157,271 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + @@ -429,259 +429,258 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources-6plus_dark/symbols.png b/data/resources-6plus_dark/symbols.png index 525a0323c8..ce7ed023e8 100644 Binary files a/data/resources-6plus_dark/symbols.png and b/data/resources-6plus_dark/symbols.png differ diff --git a/data/resources-6plus_dark/symbols.sdf b/data/resources-6plus_dark/symbols.sdf index 573a855e1d..7ea00020b8 100644 --- a/data/resources-6plus_dark/symbols.sdf +++ b/data/resources-6plus_dark/symbols.sdf @@ -106,7 +106,7 @@ - + @@ -117,7 +117,7 @@ - + @@ -130,22 +130,22 @@ - + - + - + - + @@ -154,533 +154,532 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources-hdpi_clear/symbols.png b/data/resources-hdpi_clear/symbols.png index adc33796eb..3addf4c457 100644 Binary files a/data/resources-hdpi_clear/symbols.png and b/data/resources-hdpi_clear/symbols.png differ diff --git a/data/resources-hdpi_clear/symbols.sdf b/data/resources-hdpi_clear/symbols.sdf index 369bdeccd7..3e5c4f314c 100644 --- a/data/resources-hdpi_clear/symbols.sdf +++ b/data/resources-hdpi_clear/symbols.sdf @@ -109,7 +109,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -133,22 +133,22 @@ - + - + - + - + @@ -157,531 +157,530 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources-hdpi_dark/symbols.png b/data/resources-hdpi_dark/symbols.png index 873090ac6e..6aa18ee6d3 100644 Binary files a/data/resources-hdpi_dark/symbols.png and b/data/resources-hdpi_dark/symbols.png differ diff --git a/data/resources-hdpi_dark/symbols.sdf b/data/resources-hdpi_dark/symbols.sdf index 03f73b4931..30393b34dc 100644 --- a/data/resources-hdpi_dark/symbols.sdf +++ b/data/resources-hdpi_dark/symbols.sdf @@ -155,532 +155,531 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources-mdpi_clear/symbols.png b/data/resources-mdpi_clear/symbols.png index 44ba86989a..e3486102ae 100644 Binary files a/data/resources-mdpi_clear/symbols.png and b/data/resources-mdpi_clear/symbols.png differ diff --git a/data/resources-mdpi_clear/symbols.sdf b/data/resources-mdpi_clear/symbols.sdf index 0cf6d5e13e..3f2eee076b 100644 --- a/data/resources-mdpi_clear/symbols.sdf +++ b/data/resources-mdpi_clear/symbols.sdf @@ -109,7 +109,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -133,22 +133,22 @@ - + - + - + - + @@ -157,253 +157,253 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -411,277 +411,276 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources-mdpi_dark/symbols.png b/data/resources-mdpi_dark/symbols.png index 8d10f4cd94..f959f20584 100644 Binary files a/data/resources-mdpi_dark/symbols.png and b/data/resources-mdpi_dark/symbols.png differ diff --git a/data/resources-mdpi_dark/symbols.sdf b/data/resources-mdpi_dark/symbols.sdf index 212a2e6131..982cf54d92 100644 --- a/data/resources-mdpi_dark/symbols.sdf +++ b/data/resources-mdpi_dark/symbols.sdf @@ -155,532 +155,531 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - - - + + + + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources-xhdpi_clear/symbols.png b/data/resources-xhdpi_clear/symbols.png index b7d21a89d4..d956cb7910 100644 Binary files a/data/resources-xhdpi_clear/symbols.png and b/data/resources-xhdpi_clear/symbols.png differ diff --git a/data/resources-xhdpi_clear/symbols.sdf b/data/resources-xhdpi_clear/symbols.sdf index 080e3797a1..f9daef1110 100644 --- a/data/resources-xhdpi_clear/symbols.sdf +++ b/data/resources-xhdpi_clear/symbols.sdf @@ -109,7 +109,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -133,22 +133,22 @@ - + - + - + - + @@ -157,531 +157,530 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources-xhdpi_dark/symbols.png b/data/resources-xhdpi_dark/symbols.png index 656ee3ddf7..620d265e6e 100644 Binary files a/data/resources-xhdpi_dark/symbols.png and b/data/resources-xhdpi_dark/symbols.png differ diff --git a/data/resources-xhdpi_dark/symbols.sdf b/data/resources-xhdpi_dark/symbols.sdf index 6f5095fb8a..a21f031e72 100644 --- a/data/resources-xhdpi_dark/symbols.sdf +++ b/data/resources-xhdpi_dark/symbols.sdf @@ -155,532 +155,531 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/data/resources-xxhdpi_clear/symbols.png b/data/resources-xxhdpi_clear/symbols.png index 1f054873c0..e26e587778 100644 Binary files a/data/resources-xxhdpi_clear/symbols.png and b/data/resources-xxhdpi_clear/symbols.png differ diff --git a/data/resources-xxhdpi_clear/symbols.sdf b/data/resources-xxhdpi_clear/symbols.sdf index 44b63100cf..3470ef1782 100644 --- a/data/resources-xxhdpi_clear/symbols.sdf +++ b/data/resources-xxhdpi_clear/symbols.sdf @@ -109,7 +109,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -133,22 +133,22 @@ - + - + - + - + @@ -157,253 +157,253 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -413,275 +413,274 @@ - - - - - - + + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources-xxhdpi_dark/symbols.png b/data/resources-xxhdpi_dark/symbols.png index 3cc7a1c958..657413e3c0 100644 Binary files a/data/resources-xxhdpi_dark/symbols.png and b/data/resources-xxhdpi_dark/symbols.png differ diff --git a/data/resources-xxhdpi_dark/symbols.sdf b/data/resources-xxhdpi_dark/symbols.sdf index bba07af37d..7640ffe7b8 100644 --- a/data/resources-xxhdpi_dark/symbols.sdf +++ b/data/resources-xxhdpi_dark/symbols.sdf @@ -155,532 +155,531 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources-xxxhdpi_clear/symbols.png b/data/resources-xxxhdpi_clear/symbols.png index 80dc32a0cd..59f36d8e6d 100644 Binary files a/data/resources-xxxhdpi_clear/symbols.png and b/data/resources-xxxhdpi_clear/symbols.png differ diff --git a/data/resources-xxxhdpi_clear/symbols.sdf b/data/resources-xxxhdpi_clear/symbols.sdf index e992c7c651..42351955fd 100644 --- a/data/resources-xxxhdpi_clear/symbols.sdf +++ b/data/resources-xxxhdpi_clear/symbols.sdf @@ -109,7 +109,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -133,22 +133,22 @@ - + - + - + - + @@ -157,253 +157,253 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -411,277 +411,276 @@ - - - - - - - - - - - - + + + + + + + + + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/resources-xxxhdpi_dark/symbols.png b/data/resources-xxxhdpi_dark/symbols.png index c2c49e98d8..aadee0d072 100644 Binary files a/data/resources-xxxhdpi_dark/symbols.png and b/data/resources-xxxhdpi_dark/symbols.png differ diff --git a/data/resources-xxxhdpi_dark/symbols.sdf b/data/resources-xxxhdpi_dark/symbols.sdf index 57fdeff69a..60ef92e588 100644 --- a/data/resources-xxxhdpi_dark/symbols.sdf +++ b/data/resources-xxxhdpi_dark/symbols.sdf @@ -155,532 +155,531 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/strings/types_strings.txt b/data/strings/types_strings.txt index cd7c161c8b..934af9ba91 100644 --- a/data/strings/types_strings.txt +++ b/data/strings/types_strings.txt @@ -9123,7 +9123,6 @@ zh-Hant = 緊急電話 [type.entrance] - comment = This is for secondary entrances, for main entrances see type.entrance.main en = Entrance ar = مدخل cs = Vchod @@ -9158,47 +9157,6 @@ zh-Hans = 入口 zh-Hant = 入口 - [type.entrance.main] - comment = This is for main/primary entrances, for secondary entrances see type.entrance - en = Main Entrance - ar = ﻲﺴﻴﺋﺮﻟﺍ ﻞﺧﺪﻤﻟﺍ - be = Галоўны ўваход - bg = Главния вход - ca = Entrada principal - cs = Hlavní vchod - da = Hovedindgang - de = Haupteingang - el = Κύρια είσοδος - es = Entrada principal - et = Peasissekäik - eu = Sarrera Nagusia - fa = ﯽﻠﺻﺍ ﯼﺩﻭﺭﻭ - fi = Pääsisäänkäynti - fr = Entrée principale - he = תישארה הסינכ - hu = Főbejárat - id = Pintu masuk utama - it = Entrata principale - ja = 正面玄関 - ko = 정문 - mr = मुख्य प्रवेशद्वार - nb = Hovedinngang - nl = Hoofdingang - pl = Główne wejście - pt = Entrada principal - pt-BR = Entrada principal - ro = Intrarea principala - ru = Главный вход - sk = Hlavný vchod - sv = Huvudentré - sw = Mlango Mkuu - th = ทางเข้าหลัก - tr = Ana giriş - uk = Головний вхід - vi = Lối vào chính - zh-Hans = 主要入口 - zh-Hant = 主要入口 - [type.healthcare.laboratory] en = Medical Laboratory ar = مختبر طبي diff --git a/data/styles/clear/include/Basemap_label.mapcss b/data/styles/clear/include/Basemap_label.mapcss index a3f8c191d3..7a527b8ef5 100644 --- a/data/styles/clear/include/Basemap_label.mapcss +++ b/data/styles/clear/include/Basemap_label.mapcss @@ -668,8 +668,7 @@ node|z16-[building]::int_name, area|z16-[addr:housenumber][addr:street]::int_name, node|z16-[addr:housenumber][addr:street]::int_name {text:int_name;text-color: @building_label;text-position: center;} -node|z19-[entrance], -node|z18-[entrance=main], +node|z18-[entrance], node|z18-[amenity=loading_dock], {text-color: @building_label;} @@ -717,11 +716,9 @@ area|z18-[addr:housenumber][addr:street]::int_name, node|z18-[addr:housenumber][addr:street]::int_name {font-size: 10;} -node|z19-[entrance], +node|z18-[entrance], node|z18-[amenity=loading_dock], {icon-image: entrance-s.svg;font-size: 10;text: ref;text-offset-x: 1;} -node|z18-[entrance=main], -{icon-image: main_entrance-s.svg;font-size: 10;text: ref;text-offset-x: 1;} node|z19-[entrance]::flats {text: "addr:flats";font-size: 12;text-offset-y: 10;} diff --git a/data/styles/clear/style-clear/symbols/entrance-s.svg b/data/styles/clear/style-clear/symbols/entrance-s.svg index f5b2bcae7f..7d85190250 100644 --- a/data/styles/clear/style-clear/symbols/entrance-s.svg +++ b/data/styles/clear/style-clear/symbols/entrance-s.svg @@ -1,6 +1,4 @@ - - - - - - + + + + \ No newline at end of file diff --git a/data/styles/clear/style-clear/symbols/main_entrance-s.svg b/data/styles/clear/style-clear/symbols/main_entrance-s.svg deleted file mode 100644 index aac781f75d..0000000000 --- a/data/styles/clear/style-clear/symbols/main_entrance-s.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/styles/clear/style-night/symbols/entrance-s.svg b/data/styles/clear/style-night/symbols/entrance-s.svg index 3e43194d5e..9e2a3ddd1f 100644 --- a/data/styles/clear/style-night/symbols/entrance-s.svg +++ b/data/styles/clear/style-night/symbols/entrance-s.svg @@ -1,6 +1,4 @@ - - - - - + + + \ No newline at end of file diff --git a/data/styles/clear/style-night/symbols/main_entrance-s.svg b/data/styles/clear/style-night/symbols/main_entrance-s.svg deleted file mode 100644 index 438e0aa3ba..0000000000 --- a/data/styles/clear/style-night/symbols/main_entrance-s.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/data/types.txt b/data/types.txt index 527c091977..c9ca7facce 100644 --- a/data/types.txt +++ b/data/types.txt @@ -880,7 +880,7 @@ mapswithme *area:highway|trunk mapswithme *entrance -*entrance|main +mapswithme mapswithme *tourism|artwork railway|subway|tunnel diff --git a/data/visibility.txt b/data/visibility.txt index 20fa7e9c84..16864e4f38 100644 --- a/data/visibility.txt +++ b/data/visibility.txt @@ -338,9 +338,7 @@ world 00000000000000000000 + fire_hydrant 00000000000000000000 - phone 00000000000000000000 - {} - entrance 00000000000000000000 + - main 00000000000000000000 - - {} + entrance 00000000000000000000 - healthcare 00000000000000000000 + laboratory 00000000000000000000 - physiotherapist 00000000000000000000 - diff --git a/drape_frontend/drape_engine.cpp b/drape_frontend/drape_engine.cpp index d142894e0c..440aefbbe4 100644 --- a/drape_frontend/drape_engine.cpp +++ b/drape_frontend/drape_engine.cpp @@ -204,6 +204,14 @@ void DrapeEngine::Rotate(double azimuth, bool isAnim) AddUserEvent(make_unique_dp(azimuth, isAnim, nullptr /* parallelAnimCreator */)); } +void DrapeEngine::ScaleAndSetCenter(m2::PointD const & centerPt, double scaleFactor, bool isAnim, + bool trackVisibleViewport) +{ + PostUserEvent(make_unique_dp(scaleFactor, centerPt, isAnim, + trackVisibleViewport, + nullptr /* parallelAnimCreator */)); +} + void DrapeEngine::SetModelViewCenter(m2::PointD const & centerPt, int zoom, bool isAnim, bool trackVisibleViewport) { diff --git a/drape_frontend/drape_engine.hpp b/drape_frontend/drape_engine.hpp index 8b368a4f3f..6cc60655b0 100644 --- a/drape_frontend/drape_engine.hpp +++ b/drape_frontend/drape_engine.hpp @@ -131,6 +131,9 @@ public: void Move(double factorX, double factorY, bool isAnim); void Rotate(double azimuth, bool isAnim); + void ScaleAndSetCenter(m2::PointD const & centerPt, double scaleFactor, bool isAnim, + bool trackVisibleViewport); + // If zoom == -1 then current zoom will not be changed. void SetModelViewCenter(m2::PointD const & centerPt, int zoom, bool isAnim, bool trackVisibleViewport); diff --git a/drape_frontend/screen_animations.cpp b/drape_frontend/screen_animations.cpp index 5046dadd96..50e3b36e57 100644 --- a/drape_frontend/screen_animations.cpp +++ b/drape_frontend/screen_animations.cpp @@ -92,7 +92,7 @@ drape_ptr GetPrettyFollowAnimation(ScreenBase const & startSc auto moveAnim = make_unique_dp(); moveAnim->SetMove(startScreen.GetOrg(), tmp.GetOrg(), viewportRect, tmp.GetScale()); - moveAnim->SetMaxDuration(kMaxAnimationTimeSec * 0.5); + moveAnim->SetMaxDuration(kMaxAnimationTimeSec); sequenceAnim->AddAnimation(move(moveAnim)); } @@ -138,7 +138,7 @@ drape_ptr GetFollowAnimation(ScreenBase const & startScreen, bool isAutoZoom) { auto anim = make_unique_dp(startScreen, userPos, endPixelPos, targetScale, targetAngle, isAutoZoom); - anim->SetMaxDuration(kMaxAnimationTimeSec * 0.5); + anim->SetMaxDuration(kMaxAnimationTimeSec); return anim; } diff --git a/drape_frontend/user_event_stream.cpp b/drape_frontend/user_event_stream.cpp index 6834fc388f..f0529cd072 100644 --- a/drape_frontend/user_event_stream.cpp +++ b/drape_frontend/user_event_stream.cpp @@ -44,47 +44,6 @@ size_t GetValidTouchesCount(std::array const & touches) return result; } - -drape_ptr createMapFollowAnimation( - ScreenBase const ¤tScreen, ScreenBase const & endScreen, m2::PointD const & userPos, - m2::PointD const & pixelPos, int preferredZoomLevel, double targetAngle, - bool isAutoScale, Animation::TAction const & onFinishAction = nullptr, TAnimationCreator const & parallelAnimCreator = nullptr) -{ - drape_ptr anim; - double const moveDuration = PositionInterpolator::GetMoveDuration(currentScreen.GetOrg(), endScreen.GetOrg(), - currentScreen.PixelRectIn3d(), - (currentScreen.GetScale() + endScreen.GetScale()) / 2.0); - if (moveDuration > kMaxAnimationTimeSec) - { - // Run pretty move animation if we are far from userPos. - anim = GetPrettyFollowAnimation(currentScreen, userPos, endScreen.GetScale(), targetAngle, pixelPos); - } - else - { - // Run follow-and-rotate animation. - anim = GetFollowAnimation(currentScreen, userPos, endScreen.GetScale(), targetAngle, pixelPos, isAutoScale); - } - - if (preferredZoomLevel != kDoNotChangeZoom) - { - anim->SetCouldBeInterrupted(false); - anim->SetCouldBeBlended(false); - } - - anim->SetOnFinishAction(onFinishAction); - - if (parallelAnimCreator != nullptr) - { - drape_ptr parallelAnim = make_unique_dp(); - parallelAnim->SetCustomType(kParallelFollowAnim); - parallelAnim->AddAnimation(parallelAnimCreator(anim->GetType() == Animation::Type::MapFollow ? make_ref(anim) - : nullptr)); - parallelAnim->AddAnimation(std::move(anim)); - return parallelAnim; - } - - return anim; -} } // namespace #ifdef DEBUG @@ -436,6 +395,7 @@ bool UserEventStream::OnSetCenter(ref_ptr centerEvent) { m2::PointD const & center = centerEvent->GetCenter(); auto const zoom = centerEvent->GetZoom(); + auto const scaleFactor = centerEvent->GetScaleFactor(); if (centerEvent->TrackVisibleViewport()) { @@ -449,15 +409,11 @@ bool UserEventStream::OnSetCenter(ref_ptr centerEvent) { screen.SetFromParams(center, screen.GetAngle(), GetScreenScale(zoom)); screen.MatchGandP3d(center, m_visibleViewport.Center()); - if (centerEvent->IsAnim()) - { - ShrinkAndScaleInto(screen, df::GetWorldRect()); - drape_ptr anim = createMapFollowAnimation( - GetCurrentScreen(), screen, center, m_visibleViewport.Center(), - zoom, screen.GetAngle(), false); - m_animationSystem.CombineAnimation(std::move(anim)); - return false; - } + } + else if (scaleFactor > 0.0) + { + screen.SetOrg(center); + ApplyScale(m_visibleViewport.Center(), scaleFactor, screen); } else { @@ -644,10 +600,42 @@ bool UserEventStream::SetFollowAndRotate(m2::PointD const & userPos, m2::PointD if (isAnim) { - drape_ptr anim = createMapFollowAnimation( - currentScreen, screen, userPos, pixelPos, preferredZoomLevel, - -azimuth, isAutoScale, onFinishAction, parallelAnimCreator); - m_animationSystem.CombineAnimation(std::move(anim)); + drape_ptr anim; + double const moveDuration = PositionInterpolator::GetMoveDuration(currentScreen.GetOrg(), screen.GetOrg(), + currentScreen.PixelRectIn3d(), + (currentScreen.GetScale() + screen.GetScale()) / 2.0); + if (moveDuration > kMaxAnimationTimeSec) + { + // Run pretty move animation if we are far from userPos. + anim = GetPrettyFollowAnimation(currentScreen, userPos, screen.GetScale(), -azimuth, pixelPos); + } + else + { + // Run follow-and-rotate animation. + anim = GetFollowAnimation(currentScreen, userPos, screen.GetScale(), -azimuth, pixelPos, isAutoScale); + } + + if (preferredZoomLevel != kDoNotChangeZoom) + { + anim->SetCouldBeInterrupted(false); + anim->SetCouldBeBlended(false); + } + + anim->SetOnFinishAction(onFinishAction); + + if (parallelAnimCreator != nullptr) + { + drape_ptr parallelAnim = make_unique_dp(); + parallelAnim->SetCustomType(kParallelFollowAnim); + parallelAnim->AddAnimation(parallelAnimCreator(anim->GetType() == Animation::Type::MapFollow ? make_ref(anim) + : nullptr)); + parallelAnim->AddAnimation(move(anim)); + m_animationSystem.CombineAnimation(move(parallelAnim)); + } + else + { + m_animationSystem.CombineAnimation(move(anim)); + } return false; } diff --git a/drape_frontend/user_event_stream.hpp b/drape_frontend/user_event_stream.hpp index 0f8bb705ae..86def97619 100644 --- a/drape_frontend/user_event_stream.hpp +++ b/drape_frontend/user_event_stream.hpp @@ -164,15 +164,28 @@ public: TAnimationCreator const & parallelAnimCreator) : m_center(center) , m_zoom(zoom) + , m_scaleFactor(0.0) , m_isAnim(isAnim) , m_trackVisibleViewport(trackVisibleViewport) , m_parallelAnimCreator(parallelAnimCreator) {} + SetCenterEvent(double scaleFactor, m2::PointD const & center, + bool isAnim, bool trackVisibleViewport, + TAnimationCreator const & parallelAnimCreator) + : m_center(center) + , m_zoom(-1) + , m_scaleFactor(scaleFactor) + , m_isAnim(isAnim) + , m_trackVisibleViewport(trackVisibleViewport) + , m_parallelAnimCreator(parallelAnimCreator) + {} + EventType GetType() const override { return UserEvent::EventType::SetCenter; } m2::PointD const & GetCenter() const { return m_center; } int GetZoom() const { return m_zoom; } + double GetScaleFactor() const { return m_scaleFactor; } bool IsAnim() const { return m_isAnim; } bool TrackVisibleViewport() const { return m_trackVisibleViewport; } TAnimationCreator const & GetParallelAnimCreator() const { return m_parallelAnimCreator; } @@ -180,6 +193,8 @@ public: private: m2::PointD m_center; // center point in mercator int m_zoom; // if zoom == -1, then zoom level will not change + double m_scaleFactor; // this parameter is used when zoom == -1, + // if scaleFactor <= 0.0, then scale will not change bool m_isAnim; bool m_trackVisibleViewport; TAnimationCreator m_parallelAnimCreator; diff --git a/editor/config_loader.cpp b/editor/config_loader.cpp index abbe4975ba..911f568ffb 100644 --- a/editor/config_loader.cpp +++ b/editor/config_loader.cpp @@ -21,8 +21,8 @@ namespace { using platform::HttpClient; -constexpr char kConfigFileName[] = "editor.config"; -constexpr char kHashFileName[] = "editor.config.hash"; +auto const kConfigFileName = "editor.config"; +auto const kHashFileName = "editor.config.hash"; auto constexpr kSynchroTimeout = std::chrono::hours(4); auto constexpr kRemoteHashUrl = "https://cdn.organicmaps.app/editor.config.date"; @@ -149,10 +149,9 @@ void ConfigLoader::LoadFromLocal(pugi::xml_document & doc) if (reader) reader->ReadAsString(content); - auto const result = doc.load_buffer(content.data(), content.size()); - if (!result) + if (!doc.load_buffer(content.data(), content.size())) { - LOG(LERROR, (kConfigFileName, "can not be loaded:", result.description(), "error offset:", result.offset)); + LOG(LERROR, ("Config can not be loaded.")); doc.reset(); } } diff --git a/editor/editor_config.cpp b/editor/editor_config.cpp index e638f00148..fbc2f22221 100644 --- a/editor/editor_config.cpp +++ b/editor/editor_config.cpp @@ -83,7 +83,7 @@ bool TypeDescriptionFromXml(pugi::xml_node const & root, pugi::xml_node const & auto const node = xNode.node(); std::string const groupName = node.attribute("group").value(); - std::string const xpath = "/omaps/editor/fields/field_group[@name='" + groupName + "']"; + std::string const xpath = "/mapsme/editor/fields/field_group[@name='" + groupName + "']"; auto const group = root.select_node(xpath.data()).node(); ASSERT(group, ("No such group", groupName)); @@ -110,7 +110,7 @@ bool TypeDescriptionFromXml(pugi::xml_node const & root, pugi::xml_node const & std::vector GetPrioritizedTypes(pugi::xml_node const & node) { std::vector result; - for (auto const & xNode : node.select_nodes("/omaps/editor/types/type[@id]")) + for (auto const & xNode : node.select_nodes("/mapsme/editor/types/type[@id]")) result.push_back(xNode.node()); stable_sort(begin(result), end(result), [](pugi::xml_node const & lhs, pugi::xml_node const & rhs) { @@ -164,7 +164,7 @@ bool EditorConfig::GetTypeDescription(std::vector classificatorType std::vector EditorConfig::GetTypesThatCanBeAdded() const { auto const xpathResult = - m_document.select_nodes("/omaps/editor/types/type[not(@can_add='no' or @editable='no')]"); + m_document.select_nodes("/mapsme/editor/types/type[not(@can_add='no' or @editable='no')]"); std::vector result; for (auto const & xNode : xpathResult) diff --git a/editor/editor_tests/config_loader_test.cpp b/editor/editor_tests/config_loader_test.cpp index b100b57bc9..1718b3ef52 100644 --- a/editor/editor_tests/config_loader_test.cpp +++ b/editor/editor_tests/config_loader_test.cpp @@ -16,11 +16,11 @@ using platform::tests_support::ScopedFile; void CheckGeneralTags(pugi::xml_document const & doc) { - auto const types = doc.select_nodes("/omaps/editor/types"); + auto const types = doc.select_nodes("/mapsme/editor/types"); TEST(!types.empty(), ()); - auto const fields = doc.select_nodes("/omaps/editor/fields"); + auto const fields = doc.select_nodes("/mapsme/editor/fields"); TEST(!fields.empty(), ()); - auto const preferred_types = doc.select_nodes("/omaps/editor/preferred_types"); + auto const preferred_types = doc.select_nodes("/mapsme/editor/preferred_types"); TEST(!preferred_types.empty(), ()); } diff --git a/editor/editor_tests/editor_config_test.cpp b/editor/editor_tests/editor_config_test.cpp index d2932e5d81..cb5c4b9070 100644 --- a/editor/editor_tests/editor_config_test.cpp +++ b/editor/editor_tests/editor_config_test.cpp @@ -10,11 +10,10 @@ UNIT_TEST(EditorConfig_TypeDescription) using EType = feature::Metadata::EType; using Fields = editor::TypeAggregatedDescription::FeatureFields; - Fields const poiInternet = { + Fields const poi = { EType::FMD_OPEN_HOURS, EType::FMD_PHONE_NUMBER, EType::FMD_WEBSITE, - EType::FMD_INTERNET, EType::FMD_EMAIL, EType::FMD_LEVEL, EType::FMD_CONTACT_FACEBOOK, @@ -45,7 +44,10 @@ UNIT_TEST(EditorConfig_TypeDescription) TEST(config.GetTypeDescription({"shop-toys"}, desc), ()); TEST(desc.IsNameEditable(), ()); TEST(desc.IsAddressEditable(), ()); - TEST_EQUAL(desc.GetEditableFields(), poiInternet, ()); + auto fields = poi; + fields.push_back(EType::FMD_INTERNET); + base::SortUnique(fields); + TEST_EQUAL(desc.GetEditableFields(), fields, ()); } { // Test that amenity-bank is selected as it goes first in config. @@ -53,14 +55,17 @@ UNIT_TEST(EditorConfig_TypeDescription) TEST(config.GetTypeDescription({"amenity-bicycle_rental", "amenity-bank"}, desc), ()); TEST(desc.IsNameEditable(), ()); TEST(desc.IsAddressEditable(), ()); - TEST_EQUAL(desc.GetEditableFields(), poiInternet, ()); + auto fields = poi; + fields.push_back(EType::FMD_INTERNET); + base::SortUnique(fields); + TEST_EQUAL(desc.GetEditableFields(), fields, ()); } { // Testing type inheritance editor::TypeAggregatedDescription desc; TEST(config.GetTypeDescription({"amenity-place_of_worship-christian"}, desc), ()); TEST(desc.IsNameEditable(), ()); - TEST_EQUAL(desc.GetEditableFields(), poiInternet, ()); + TEST_EQUAL(desc.GetEditableFields(), poi, ()); } { // Testing long type inheritance on a fake object diff --git a/editor/editor_tests/osm_editor_test.cpp b/editor/editor_tests/osm_editor_test.cpp index a54d7848e5..e8f253250d 100644 --- a/editor/editor_tests/osm_editor_test.cpp +++ b/editor/editor_tests/osm_editor_test.cpp @@ -162,7 +162,7 @@ void GenerateUploadedFeature(MwmSet::MwmId const & mwmId, osm::EditableMapObject const & emo, pugi::xml_document & out) { - pugi::xml_node root = out.append_child("omaps"); + pugi::xml_node root = out.append_child("mapsme"); root.append_attribute("format_version") = 1; pugi::xml_node mwmNode = root.append_child("mwm"); @@ -1327,43 +1327,6 @@ bool EditorTest::RemoveMwm(MwmSet::MwmId const & mwmId) m_mwmFiles.erase(it); return true; } - -void EditorTest::LoadExistingEditsXml() -{ - char const * data = R"( - - - - - - - - - - - - - - - )"; - - ConstructTestMwm([](editor::testing::TestMwmBuilder &) - { - }); - - pugi::xml_document doc; - TEST(doc.load(data), ()); - - auto memStorage = std::make_unique(); - memStorage->Save(doc); - - auto & editor = osm::Editor::Instance(); - editor.SetStorageForTesting(std::move(memStorage)); - - editor.LoadEdits(); - TEST_EQUAL(editor.m_features.Get()->size(), 1, ()); -} - } // namespace testing } // namespace editor @@ -1464,6 +1427,4 @@ UNIT_CLASS_TEST(EditorTest, SaveEditedFeatureTest) } UNIT_CLASS_TEST(EditorTest, SaveTransactionTest) { EditorTest::SaveTransactionTest(); } - -UNIT_CLASS_TEST(EditorTest, LoadEditsXml) { LoadExistingEditsXml(); } } // namespace diff --git a/editor/editor_tests/osm_editor_test.hpp b/editor/editor_tests/osm_editor_test.hpp index d6e33a1cbb..0c4407f544 100644 --- a/editor/editor_tests/osm_editor_test.hpp +++ b/editor/editor_tests/osm_editor_test.hpp @@ -46,7 +46,6 @@ public: void LoadMapEditsTest(); void SaveEditedFeatureTest(); void SaveTransactionTest(); - void LoadExistingEditsXml(); private: template diff --git a/editor/osm_editor.cpp b/editor/osm_editor.cpp index 4a178c957a..5aaa51f31b 100644 --- a/editor/osm_editor.cpp +++ b/editor/osm_editor.cpp @@ -41,7 +41,7 @@ using std::move, std::make_shared, std::string; namespace { -constexpr char const * kXmlRootNode = "omaps"; +constexpr char const * kXmlRootNode = "mapsme"; constexpr char const * kXmlMwmNode = "mwm"; constexpr char const * kDeleteSection = "delete"; constexpr char const * kModifySection = "modify"; @@ -168,12 +168,7 @@ void Editor::LoadEdits() m_features.Set(make_shared()); auto loadedFeatures = make_shared(); - auto rootNode = doc.child(kXmlRootNode); - // Migrate clients with an old root node. - if (!rootNode) - rootNode = doc.child("mapsme"); - // TODO: Empty rootNode is an OK case for the current logic and unit tests. Check if there is a better way to do it. - for (auto const & mwm : rootNode.children(kXmlMwmNode)) + for (auto const & mwm : doc.child(kXmlRootNode).children(kXmlMwmNode)) { string const mapName = mwm.attribute("name").as_string(""); int64_t const mapVersion = mwm.attribute("version").as_llong(0); diff --git a/generator/generator_tests/osm_type_test.cpp b/generator/generator_tests/osm_type_test.cpp index 12b0d2d50b..d39a10f1bd 100644 --- a/generator/generator_tests/osm_type_test.cpp +++ b/generator/generator_tests/osm_type_test.cpp @@ -210,7 +210,7 @@ UNIT_CLASS_TEST(TestWithClassificator, OsmType_Address) {"addr:housenumber", "41"}, {"addr:postcode", "8050"}, {"addr:street", "Leutschenbachstrasse"}, - {"entrance", "home"}, + {"entrance", "main"}, {"survey:date", "2020-12-17"}, {"wheelchair", "no"}, }; diff --git a/indexer/indexer_tests/search_string_utils_test.cpp b/indexer/indexer_tests/search_string_utils_test.cpp index 97d8c250b2..acdc5b5cbc 100644 --- a/indexer/indexer_tests/search_string_utils_test.cpp +++ b/indexer/indexer_tests/search_string_utils_test.cpp @@ -4,7 +4,9 @@ #include "base/string_utils.hpp" +#include #include +#include #include namespace search_string_utils_test @@ -109,7 +111,7 @@ UNIT_TEST(NormalizeAndSimplifyString_Contains) TEST(!ContainsNormalized(kTestStr, "z"), ()); } -UNIT_TEST(Street_Synonym) +UNIT_TEST(StreetSynonym) { TEST(TestStreetSynonym("street"), ()); TEST(TestStreetSynonym("улица"), ()); @@ -119,10 +121,10 @@ UNIT_TEST(Street_Synonym) TEST(!TestStreetSynonym("strase"), ()); TEST(TestStreetSynonymWithMisprints("strase"), ()); -// TEST(TestStreetSynonym("boulevard"), ()); -// TEST(TestStreetSynonymWithMisprints("boulevard"), ()); -// TEST(!TestStreetSynonym("boulevrd"), ()); -// TEST(TestStreetSynonymWithMisprints("boulevrd"), ()); + TEST(TestStreetSynonym("boulevard"), ()); + TEST(TestStreetSynonymWithMisprints("boulevard"), ()); + TEST(!TestStreetSynonym("boulevrd"), ()); + TEST(TestStreetSynonymWithMisprints("boulevrd"), ()); TEST(TestStreetSynonym("avenue"), ()); TEST(TestStreetSynonymWithMisprints("avenue"), ()); @@ -130,57 +132,34 @@ UNIT_TEST(Street_Synonym) TEST(TestStreetSynonymWithMisprints("aveneu"), ()); TEST(!TestStreetSynonymWithMisprints("abcdefg"), ()); - - TEST(TestStreetSynonym("g."), ()); - TEST(TestStreetSynonymWithMisprints("g."), ()); - - TEST(!TestStreetSynonymWithMisprints("ву"), ()); - TEST(TestStreetSynonymWithMisprints("вул"), ()); - - TEST(!TestStreetSynonymWithMisprints("gat"), ()); - TEST(!TestStreetSynonymWithMisprints("sok"), ()); - TEST(!TestStreetSynonymWithMisprints("ca"), ()); - - // soka -> sokak - TEST(TestStreetSynonymWithMisprints("soka"), ()); - TEST(!TestStreetSynonym("soka"), ()); } -UNIT_TEST(Street_PrefixMatch) +UNIT_TEST(StreetPrefixMatch) { - TEST(TestStreetPrefixMatch("у"), ()); - TEST(TestStreetPrefixMatch("ул"), ()); - TEST(TestStreetPrefixMatch("ули"), ()); + TEST(TestStreetPrefixMatch("п"), ()); + TEST(TestStreetPrefixMatch("пр"), ()); + TEST(TestStreetPrefixMatch("про"), ()); + TEST(TestStreetPrefixMatch("прое"), ()); + TEST(TestStreetPrefixMatch("проез"), ()); + TEST(TestStreetPrefixMatch("проезд"), ()); + TEST(!TestStreetPrefixMatch("проездд"), ()); - TEST(TestStreetPrefixMatch("gat"), ()); - TEST(TestStreetPrefixMatch("sok"), ()); - TEST(TestStreetPrefixMatch("ca"), ()); - TEST(TestStreetPrefixMatch("ву"), ()); - -// TEST(TestStreetPrefixMatch("п"), ()); -// TEST(TestStreetPrefixMatch("пр"), ()); -// TEST(TestStreetPrefixMatch("про"), ()); -// TEST(TestStreetPrefixMatch("прое"), ()); -// TEST(TestStreetPrefixMatch("проез"), ()); -// TEST(TestStreetPrefixMatch("проезд"), ()); -// TEST(!TestStreetPrefixMatch("проездд"), ()); - -// TEST(TestStreetPrefixMatchWithMisprints("пр"), ()); -// TEST(!TestStreetPrefixMatch("пре"), ()); -// TEST(!TestStreetPrefixMatchWithMisprints("пре"), ()); -// TEST(!TestStreetPrefixMatch("преу"), ()); -// TEST(TestStreetPrefixMatchWithMisprints("преу"), ()); -// TEST(!TestStreetPrefixMatch("преул"), ()); -// TEST(TestStreetPrefixMatchWithMisprints("преул"), ()); -// TEST(!TestStreetPrefixMatch("преуло"), ()); -// TEST(TestStreetPrefixMatchWithMisprints("преуло"), ()); -// TEST(!TestStreetPrefixMatch("преулок"), ()); -// TEST(TestStreetPrefixMatchWithMisprints("преулок"), ()); -// TEST(!TestStreetPrefixMatch("преулак"), ()); -// TEST(!TestStreetPrefixMatchWithMisprints("преулак"), ()); + TEST(TestStreetPrefixMatchWithMisprints("пр"), ()); + TEST(!TestStreetPrefixMatch("пре"), ()); + TEST(!TestStreetPrefixMatchWithMisprints("пре"), ()); + TEST(!TestStreetPrefixMatch("преу"), ()); + TEST(TestStreetPrefixMatchWithMisprints("преу"), ()); + TEST(!TestStreetPrefixMatch("преул"), ()); + TEST(TestStreetPrefixMatchWithMisprints("преул"), ()); + TEST(!TestStreetPrefixMatch("преуло"), ()); + TEST(TestStreetPrefixMatchWithMisprints("преуло"), ()); + TEST(!TestStreetPrefixMatch("преулок"), ()); + TEST(TestStreetPrefixMatchWithMisprints("преулок"), ()); + TEST(!TestStreetPrefixMatch("преулак"), ()); + TEST(!TestStreetPrefixMatchWithMisprints("преулак"), ()); } -UNIT_TEST(Street_TokensFilter) +UNIT_TEST(StreetTokensFilter) { using List = vector>; @@ -217,7 +196,7 @@ UNIT_TEST(Street_TokensFilter) } { - List expected = {{"набережная", 50}}; + List expected = {{"улица", 100}, {"набережная", 50}}; List actual; Utf8StreetTokensFilter filter(actual); @@ -228,7 +207,7 @@ UNIT_TEST(Street_TokensFilter) } { - List expected = {{"набережная", 1}, {"проспект", 2}}; + List expected = {{"улица", 0}, {"набережная", 1}, {"проспект", 2}}; List actual; Utf8StreetTokensFilter filter(actual); @@ -240,7 +219,8 @@ UNIT_TEST(Street_TokensFilter) } { - List expected = {{"ленинский", 0}, {"пропект", 1}}; + List expectedWithMisprints = {{"ленинский", 0}}; + List expectedWithoutMisprints = {{"ленинский", 0}, {"пропект", 1}}; List actualWithMisprints; List actualWithoutMisprints; @@ -252,12 +232,13 @@ UNIT_TEST(Street_TokensFilter) filterWithMisprints.Put("пропект", false /* isPrefix */, 1 /* tag */); filterWithoutMisprints.Put("пропект", false /* isPrefix */, 1 /* tag */); - TEST_EQUAL(expected, actualWithMisprints, ()); - TEST_EQUAL(expected, actualWithoutMisprints, ()); + TEST_EQUAL(expectedWithMisprints, actualWithMisprints, ()); + TEST_EQUAL(expectedWithoutMisprints, actualWithoutMisprints, ()); } { - List expected = {{"набрежная", 1}}; + List expectedWithMisprints = {{"улица", 0}, {"набрежная", 1}}; + List expectedWithoutMisprints = {{"набрежная", 1}}; List actualWithMisprints; List actualWithoutMisprints; @@ -269,8 +250,8 @@ UNIT_TEST(Street_TokensFilter) filterWithMisprints.Put("набрежная", false /* isPrefix */, 1 /* tag */); filterWithoutMisprints.Put("набрежная", false /* isPrefix */, 1 /* tag */); - TEST_EQUAL(expected, actualWithMisprints, ()); - TEST_EQUAL(expected, actualWithoutMisprints, ()); + TEST_EQUAL(expectedWithMisprints, actualWithMisprints, ()); + TEST_EQUAL(expectedWithoutMisprints, actualWithoutMisprints, ()); } } diff --git a/indexer/search_string_utils.cpp b/indexer/search_string_utils.cpp index 622827070c..1525c0caff 100644 --- a/indexer/search_string_utils.cpp +++ b/indexer/search_string_utils.cpp @@ -16,29 +16,22 @@ namespace search { -using std::string; +using namespace std; using namespace strings; namespace { -std::vector const kAllowedMisprints = { - MakeUniString("ckq"), - MakeUniString("eyjiu"), - MakeUniString("gh"), - MakeUniString("pf"), - MakeUniString("vw"), - MakeUniString("ао"), - MakeUniString("еиэ"), - MakeUniString("шщ"), +vector const kAllowedMisprints = { + strings::MakeUniString("ckq"), + strings::MakeUniString("eyjiu"), + strings::MakeUniString("gh"), + strings::MakeUniString("pf"), + strings::MakeUniString("vw"), + strings::MakeUniString("ао"), + strings::MakeUniString("еиэ"), + strings::MakeUniString("шщ"), }; -std::pair const kPreprocessReplacements[] = { - {MakeUniString("пр-т"), MakeUniString("проспект")}, - {MakeUniString("пр-д"), MakeUniString("проезд")}, - {MakeUniString("наб-я"), MakeUniString("набережная")} -}; - - void TransliterateHiraganaToKatakana(UniString & s) { // Transliteration is heavy. Check we have any hiragana symbol before transliteration. @@ -47,43 +40,42 @@ void TransliterateHiraganaToKatakana(UniString & s) InitTransliterationInstanceWithDefaultDirs(); string out; - if (Transliteration::Instance().TransliterateForce(ToUtf8(s), "Hiragana-Katakana", out)) + if (Transliteration::Instance().TransliterateForce(strings::ToUtf8(s), "Hiragana-Katakana", out)) s = MakeUniString(out); } } // namespace -size_t GetMaxErrorsForToken(UniString const & token) +size_t GetMaxErrorsForToken(strings::UniString const & token) { - bool const digitsOnly = std::all_of(token.begin(), token.end(), ::isdigit); + bool const digitsOnly = all_of(token.begin(), token.end(), ::isdigit); if (digitsOnly) return 0; return GetMaxErrorsForTokenLength(token.size()); } -LevenshteinDFA BuildLevenshteinDFA(UniString const & s) +strings::LevenshteinDFA BuildLevenshteinDFA(strings::UniString const & s) { ASSERT(!s.empty(), ()); // In search we use LevenshteinDFAs for fuzzy matching. But due to // performance reasons, we limit prefix misprints to fixed set of substitutions defined in // kAllowedMisprints and skipped letters. - return LevenshteinDFA(s, 1 /* prefixSize */, kAllowedMisprints, GetMaxErrorsForToken(s)); + return strings::LevenshteinDFA(s, 1 /* prefixSize */, kAllowedMisprints, GetMaxErrorsForToken(s)); } -LevenshteinDFA BuildLevenshteinDFA_Category(UniString const & s) +strings::LevenshteinDFA BuildLevenshteinDFA_Category(strings::UniString const & s) { // https://github.com/organicmaps/organicmaps/issues/3655 - // Separate DFA for categories (_Category) to avoid fancy matchings like: + // Separate DFA for categories (token's length <= 4 means no errors allowed) to avoid fancy matchings like: // cafe <-> care // ecco -> eco // shop <-> shoe - // warte -> waste - /// @todo "hote" doesn't match "hotel" now. Allow prefix search for categories? + /// @todo "hote" doesn't match "hotel" now. Should allow _adding_ symbols when size == 4. ASSERT(!s.empty(), ()); - return LevenshteinDFA(s, 1 /* prefixSize */, kAllowedMisprints, GetMaxErrorsForToken_Category(s.size())); + return strings::LevenshteinDFA(s, 1 /* prefixSize */, kAllowedMisprints, GetMaxErrorsForTokenLength(s.size() - 1)); } -UniString NormalizeAndSimplifyString(std::string_view s) +UniString NormalizeAndSimplifyString(string_view s) { UniString uniString = MakeUniString(s); for (size_t i = 0; i < uniString.size(); ++i) @@ -143,7 +135,7 @@ UniString NormalizeAndSimplifyString(std::string_view s) }); // Replace sequence of spaces with single one. - uniString.erase(std::unique(uniString.begin(), uniString.end(), [](UniChar l, UniChar r) + uniString.erase(unique(uniString.begin(), uniString.end(), [](UniChar l, UniChar r) { return (l == r && l == ' '); }), uniString.end()); @@ -175,11 +167,15 @@ UniString NormalizeAndSimplifyString(std::string_view s) */ } -void PreprocessBeforeTokenization(UniString & query) +void PreprocessBeforeTokenization(strings::UniString & query) { search::Delimiters const delims; + vector> const replacements = { + {MakeUniString("пр-т"), MakeUniString("проспект")}, + {MakeUniString("пр-д"), MakeUniString("проезд")}, + {MakeUniString("наб-я"), MakeUniString("набережная")}}; - for (auto const & replacement : kPreprocessReplacements) + for (auto const & replacement : replacements) { auto start = query.begin(); while ((start = std::search(start, query.end(), replacement.first.begin(), @@ -188,7 +184,7 @@ void PreprocessBeforeTokenization(UniString & query) auto end = start + replacement.first.size(); if ((start == query.begin() || delims(*(start - 1))) && (end == query.end() || delims(*end))) { - auto const dist = std::distance(query.begin(), start); + auto const dist = distance(query.begin(), start); query.Replace(start, end, replacement.second.begin(), replacement.second.end()); start = query.begin() + dist; } @@ -203,14 +199,14 @@ UniString FeatureTypeToString(uint32_t type) return UniString(s.begin(), s.end()); } -std::vector NormalizeAndTokenizeString(std::string_view s) +std::vector NormalizeAndTokenizeString(std::string_view s) { - std::vector tokens; + std::vector tokens; ForEachNormalizedToken(s, base::MakeBackInsertFunctor(tokens)); return tokens; } -bool TokenizeStringAndCheckIfLastTokenIsPrefix(std::string_view s, std::vector & tokens) +bool TokenizeStringAndCheckIfLastTokenIsPrefix(std::string_view s, std::vector & tokens) { auto const uniString = NormalizeAndSimplifyString(s); @@ -256,8 +252,8 @@ public: void Swap(BooleanSum & rhs) { - std::swap(m_value, rhs.m_value); - std::swap(m_empty, rhs.m_empty); + swap(m_value, rhs.m_value); + swap(m_empty, rhs.m_empty); } bool m_value; @@ -279,11 +275,11 @@ public: bool MatchWithMisprints(DFA const & dfa) const { using TrieIt = Trie::Iterator; - using State = std::pair; + using State = pair; auto const trieRoot = m_strings.GetRootIterator(); - std::queue q; + queue q; q.emplace(trieRoot, dfa.Begin()); while (!q.empty()) @@ -294,14 +290,13 @@ public: auto const & currTrieIt = p.first; auto const & currDfaIt = p.second; - if (currDfaIt.Accepts() && !currTrieIt.GetValues().Empty()) + if (currDfaIt.Accepts()) return true; - currTrieIt.ForEachMove([&q, &currDfaIt](UniChar const & c, TrieIt const & nextTrieIt) - { + currTrieIt.ForEachMove([&q, &currDfaIt](UniChar const & c, TrieIt const & nextTrieIt) { auto nextDfaIt = currDfaIt; nextDfaIt.Move(c); - DFAMove(nextDfaIt, nextTrieIt.GetLabel()); + strings::DFAMove(nextDfaIt, nextTrieIt.GetLabel()); if (!nextDfaIt.Rejects()) q.emplace(nextTrieIt, nextDfaIt); }); @@ -311,80 +306,114 @@ public: } private: - // Keep only *very-common-used* synonyms here (can increase search index, otherwise). - // Too many synonyms increases entropy only and produces messy results .. + /// @todo Print most common street tokens for each country on generator stage + /// (OSM ground truth) and compare with these synonyms. StreetsSynonymsHolder() { char const * affics[] = { // Russian - Русский - "улица", "ул", + "аллея", "бульвар", "набережная", "переулок", "площадь", "проезд", "проспект", "шоссе", "тупик", "улица", "тракт", "ал", "бул", "наб", "пер", "пл", "пр", "просп", "ш", "туп", "ул", "тр", // English - English - "street", "st", "road", "rd", "drive", "dr", "lane", "ln", "avenue", "av", + "street", "st", "avenue", "av", "ave", "square", "sq", "road", "rd", "boulevard", "blvd", "drive", "dr", "highway", "hwy", "lane", "ln", "way", "circle", "place", "pl", // Belarusian - Беларуская мова - "вуліца", "вул", + "вуліца", "вул", "завулак", "набярэжная", "плошча", "пл", "праезд", "праспект", "пр", "тракт", "тр", "тупік", - // Arabic - "شارع", + // Bulgarian - Български + "булевард", "бул", "площад", "пл", "улица", "ул", "квартал", "кв", - // Armenian - "փողոց", + /// @todo Do not use popular POI (carrefour) or Street name (rambla) tokens as generic street synonyms. + /// This POIs (Carrefour supermarket) and Streets (La Rambla - most popular street in Barcelona) + /// will be lost in search results, otherwise. + /// Should reconsider candidates fetching and sorting logic from scratch to make correct processing. + + // Canada + "allee", "alley", "autoroute", "aut", "bypass", "byway", /*"carrefour", "carref",*/ "côte", "expressway", "freeway", "fwy", "pky", "pkwy", + /// @todo Do not use next _common search_ (e.g. 'park' is a prefix of 'parkway') tokens as generic street synonyms. + /// Should reconsider streets matching logic to get this synonyms back. + //"line", "link", "loop", "parkway", "parkvej", "path", "pathway", "route", "trail", "walk" // Catalan language (Barcelona, Valencia, ...) - "carrer", + "avinguda", "carrer", /*"rambla", "ronda",*/ "passeig", "passatge", "travessera", // Croatian - Hrvatski - "ulica", // Also common used transcription from RU + "šetalište", "trg", "ulica", "ul", "poljana", + + // Czech - Čeština + "ulice", "ul", "náměstí", "nám", "nábřeží", "nábr", + + // Danish - Dansk + "plads", "alle", "gade", "vej", + + // Dutch - Nederlands + "laan", "ln.", "straat", "steenweg", "stwg", "st", + + // Estonian - Eesti + "maantee", "mnt", "puiestee", "tee", "pst", + + // Finnish - Suomi + "kaari", "kri", "katu", "kuja", "kj", "kylä", "polku", "tie", "t", "tori", "väylä", "vlä", // French - Français - "rue", - - // Georgia - "ქუჩა", + "rue", "avenue", "carré", "cercle", "route", "boulevard", "drive", "autoroute", "lane", "chemin", // German - Deutsch - "straße", "str", + "allee", "al", "brücke", "br", "chaussee", "gasse", "gr", "pfad", "straße", "str", "weg", "platz", // Hungarian - Magyar - "utca", "út", + "utca", "út", "u.", "tér", "körút", "krt.", "rakpart", "rkp.", - // Indonesia - "jalan", + // Italian - Italiano + "corso", "piazza", "piazzale", "strada", "via", "viale", "calle", "fondamenta", - // Italian - Italiano - "via", - - /// @todo Also expect that this synonyms should be in categories.txt list, but we dont support lt, lv langs now. - /// @{ // Latvian - Latviešu - "iela", + "iela", "laukums", + // Lithuanian - Lietuvių - "gatvė", "g.", - ///@} + "gatvė", "g.", "aikštė", "a", "prospektas", "pr.", "pl", "kel", + + // Nepalese - नेपाली + "मार्ग", "marg", + + // Norwegian - Norsk + // Details here: https://github.com/organicmaps/organicmaps/issues/3616 + "vei", "veien", "veg", "vegen", "vn", "gata", "gate", "gaten", "gt", "plass", "plassen", "sving", "sv", "allé", + + // Polish - Polski + "aleja", "aleje", "aleji", "alejach", "aleją", "plac", "placu", "placem", "ulica", "ulicy", // Portuguese - Português - "rua", + "rua", "r.", "travessa", "tr.", "praça", "pç.", "avenida", "quadrado", "estrada", "boulevard", "carro", "auto-estrada", "lane", "caminho", - // Romanian - Română (Moldova) - "strada", + // Romanian - Română + "bul", "bdul", "blv", "bulevard", "bulevardu", "calea", "cal", "piața", "pţa", "pța", "strada", "stra", "stradela", "sdla", "stradă", "unitate", "autostradă", "lane", + + // Slovenian - Slovenščina + "cesta", "ulica", "trg", "nabrežje", // Spanish - Español - "calle", "avenida", + "avenida", "avd", "avda", "bulevar", "bulev", "calle", "calleja", "cllja", "callejón", "callej", "cjon", "callejuela", "cjla", "callizo", "cllzo", "calzada", "czada", "costera", "coste", "plza", "pza", "plazoleta", "pzta", "plazuela", "plzla", "tránsito", "trans", "transversal", "trval", "trasera", "tras", "travesía", "trva", "paseo", "plaça", + + // Swedish - Svenska + "väg", "vägen", "gata", "gatan", "gränd", "gränden", "stig", "stigen", "plats", "platsen", "allé", // Turkish - Türkçe - "sokağı", "sokak", "sk", + "sokak", "sk.", "sok", "sokağı", "cadde", "cad", "cd", "caddesi", "bulvar", "bulvarı", "blv.", // Ukrainian - Українська - "вулиця", "вул", + "дорога", "провулок", "площа", "шосе", "вулиця", "дор", "пров", "вул", // Vietnamese - Tiếng Việt - "đường", + "quốc lộ", "ql", "tỉnh lộ", "tl", "Đại lộ", "Đl", "Đường", "Đ", "Đường sắt", "Đs", "Đường phố", "Đp", "vuông", "con Đường", "Đại lộ", "Đường cao tốc", }; for (auto const * s : affics) - m_strings.Add(NormalizeAndSimplifyString(s), true /* end of string */); + { + UniString const us = NormalizeAndSimplifyString(s); + m_strings.Add(us, true /* end of string */); + } } Trie m_strings; @@ -413,13 +442,13 @@ string DropLastToken(string const & str) return string(str.begin(), iter.base()); } -UniString GetStreetNameAsKey(std::string_view name, bool ignoreStreetSynonyms) +UniString GetStreetNameAsKey(string_view name, bool ignoreStreetSynonyms) { if (name.empty()) return UniString(); UniString res; - Tokenize(name, kStreetTokensSeparator, [&](std::string_view v) + Tokenize(name, kStreetTokensSeparator, [&](string_view v) { UniString const s = NormalizeAndSimplifyString(v); if (!ignoreStreetSynonyms || !IsStreetSynonym(s)) @@ -444,7 +473,7 @@ bool IsStreetSynonymWithMisprints(UniString const & s) bool IsStreetSynonymPrefixWithMisprints(UniString const & s) { - auto const dfa = PrefixDFAModifier(BuildLevenshteinDFA(s)); + auto const dfa = strings::PrefixDFAModifier(BuildLevenshteinDFA(s)); return StreetsSynonymsHolder::Instance().MatchWithMisprints(dfa); } @@ -456,35 +485,29 @@ bool ContainsNormalized(string const & str, string const & substr) } // StreetTokensFilter ------------------------------------------------------------------------------ -void StreetTokensFilter::Put(UniString const & token, bool isPrefix, size_t tag) +void StreetTokensFilter::Put(strings::UniString const & token, bool isPrefix, size_t tag) { - if (isPrefix) - { - if (m_withMisprints) - { - if (IsStreetSynonymPrefixWithMisprints(token)) - return; - } - else - { - if (IsStreetSynonymPrefix(token)) - return; - } - } - else - { - if (m_withMisprints) - { - if (IsStreetSynonymWithMisprints(token)) - return; - } - else - { - if (IsStreetSynonym(token)) - return; - } - } + using IsStreetChecker = std::function; - m_callback(token, tag); + IsStreetChecker isStreet = m_withMisprints ? IsStreetSynonymWithMisprints : IsStreetSynonym; + IsStreetChecker isStreetPrefix = + m_withMisprints ? IsStreetSynonymPrefixWithMisprints : IsStreetSynonymPrefix; + + auto const isStreetSynonym = isStreet(token); + if ((isPrefix && isStreetPrefix(token)) || (!isPrefix && isStreetSynonym)) + { + ++m_numSynonyms; + if (m_numSynonyms == 1) + { + m_delayedToken = token; + m_delayedTag = tag; + return; + } + + // Do not emit delayed token for incomplete street synonym. + if ((!isPrefix || isStreetSynonym) && m_numSynonyms == 2) + EmitToken(m_delayedToken, m_delayedTag); + } + EmitToken(token, tag); } } // namespace search diff --git a/indexer/search_string_utils.hpp b/indexer/search_string_utils.hpp index 7e306ab72b..eebcf87b1f 100644 --- a/indexer/search_string_utils.hpp +++ b/indexer/search_string_utils.hpp @@ -19,16 +19,6 @@ inline constexpr size_t GetMaxErrorsForTokenLength(size_t length) return 1; return 2; } - -inline constexpr size_t GetMaxErrorsForToken_Category(size_t length) -{ - if (length < 7) - return 0; - if (length < 10) - return 1; - return 2; -} - size_t GetMaxErrorsForToken(strings::UniString const & token); strings::LevenshteinDFA BuildLevenshteinDFA(strings::UniString const & s); @@ -125,6 +115,14 @@ public: void Put(strings::UniString const & token, bool isPrefix, size_t tag); private: + using Cell = std::pair; + + inline void EmitToken(strings::UniString const & token, size_t tag) { m_callback(token, tag); } + + strings::UniString m_delayedToken; + size_t m_delayedTag = 0; + size_t m_numSynonyms = 0; + Callback m_callback; bool m_withMisprints = false; }; diff --git a/iphone/Maps/Classes/MapViewController.mm b/iphone/Maps/Classes/MapViewController.mm index bd258b3885..cce48bc7e7 100644 --- a/iphone/Maps/Classes/MapViewController.mm +++ b/iphone/Maps/Classes/MapViewController.mm @@ -356,14 +356,6 @@ NSString *const kPP2BookmarkEditingSegue = @"PP2BookmarkEditing"; */ } -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; - // Cold start deep links should be handled when the map is initialized. - // Otherwise PP container view is nil, or there is no animation/selection of the point. - if (DeepLinkHandler.shared.isLaunchedByDeeplink) - (void)[DeepLinkHandler.shared handleDeepLink]; -} - - (void)viewDidLayoutSubviews { [super viewDidLayoutSubviews]; if (!self.mapView.drapeEngineCreated) diff --git a/iphone/Maps/Core/DeepLink/DeepLinkHandler.swift b/iphone/Maps/Core/DeepLink/DeepLinkHandler.swift index 8b7b2d1a39..1928dcba98 100644 --- a/iphone/Maps/Core/DeepLink/DeepLinkHandler.swift +++ b/iphone/Maps/Core/DeepLink/DeepLinkHandler.swift @@ -16,11 +16,6 @@ } func applicationDidOpenUrl(_ url: URL) -> Bool { - // On the cold start, isLaunchedByDeeplink is set and handleDeepLink() call is delayed - // until the map view will be fully initialized. - guard !isLaunchedByDeeplink else { return true } - - // On the hot start, link can be processed immediately. self.url = url return handleDeepLink(url: url) } diff --git a/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings index dedd509286..2c27701f76 100644 --- a/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "هاتف الطوارئ"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "مدخل"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "ﻲﺴﻴﺋﺮﻟﺍ ﻞﺧﺪﻤﻟﺍ"; - "type.healthcare.laboratory" = "مختبر طبي"; "type.healthcare.physiotherapist" = "اخصائي علاج طبيعي"; diff --git a/iphone/Maps/LocalizedStrings/be.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/be.lproj/Localizable.strings index d6494f83f4..bc4dd0516b 100644 --- a/iphone/Maps/LocalizedStrings/be.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/be.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Emergency Phone"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrance"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Галоўны ўваход"; - "type.healthcare.laboratory" = "Медыцынская лабараторыя"; "type.healthcare.physiotherapist" = "Фізіятэрапеўт"; diff --git a/iphone/Maps/LocalizedStrings/bg.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/bg.lproj/Localizable.strings index 7ce7b38acc..8b2d07c2ef 100644 --- a/iphone/Maps/LocalizedStrings/bg.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/bg.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Emergency Phone"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrance"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Главния вход"; - "type.healthcare.laboratory" = "Медицинска лаборатория"; "type.healthcare.physiotherapist" = "Физиотерапевт"; diff --git a/iphone/Maps/LocalizedStrings/ca.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ca.lproj/Localizable.strings index ee8d3ea12d..e6302320b0 100644 --- a/iphone/Maps/LocalizedStrings/ca.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ca.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Emergency Phone"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrance"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Entrada principal"; - "type.healthcare.laboratory" = "Medical Laboratory"; "type.healthcare.physiotherapist" = "Physiotherapist"; diff --git a/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings index d985490471..5e48689a1a 100644 --- a/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Tísňového volání"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Vchod"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Hlavní vchod"; - "type.healthcare.laboratory" = "Lékařská laboratoř"; "type.healthcare.physiotherapist" = "Fyzioterapeut"; diff --git a/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings index 36e2dd1f17..2238e00248 100644 --- a/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Nødtelefon"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Indgang"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Hovedindgang"; - "type.healthcare.laboratory" = "Medicinsk laboratorium"; "type.healthcare.physiotherapist" = "Fysioterapeut"; diff --git a/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings index d3076e7e79..bd19bcd738 100644 --- a/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Notruftelefon"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Eingang"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Haupteingang"; - "type.healthcare.laboratory" = "Medizinisches Labor"; "type.healthcare.physiotherapist" = "Physiotherapeut"; diff --git a/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings index 03648804a7..455a7ec8c7 100644 --- a/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Τηλέφωνο έκτακτης ανάγκης"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Είσοδος"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Κύρια είσοδος"; - "type.healthcare.laboratory" = "Ιατρικό Εργαστήριο"; "type.healthcare.physiotherapist" = "Φυσικοθεραπευτής"; diff --git a/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings index aac3db26f7..1f01f3c464 100644 --- a/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Emergency Phone"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrance"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Main Entrance"; - "type.healthcare.laboratory" = "Medical Laboratory"; "type.healthcare.physiotherapist" = "Physiotherapist"; diff --git a/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings index f7e2e40fe4..62ac24c891 100644 --- a/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Emergency Phone"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrance"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Main Entrance"; - "type.healthcare.laboratory" = "Medical Laboratory"; "type.healthcare.physiotherapist" = "Physiotherapist"; diff --git a/iphone/Maps/LocalizedStrings/es-MX.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/es-MX.lproj/Localizable.strings index 90781d7429..ce1108bbd1 100644 --- a/iphone/Maps/LocalizedStrings/es-MX.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/es-MX.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Teléfono de emergencias"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrada"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Entrada principal"; - "type.healthcare.laboratory" = "Laboratorio médico"; "type.healthcare.physiotherapist" = "Fisioterapeuta"; diff --git a/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings index 4bc762048b..6c94662704 100644 --- a/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Teléfono de emergencias"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrada"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Entrada principal"; - "type.healthcare.laboratory" = "Laboratorio médico"; "type.healthcare.physiotherapist" = "Fisioterapeuta"; diff --git a/iphone/Maps/LocalizedStrings/et.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/et.lproj/Localizable.strings index 87a49c3b03..fe649d8f86 100644 --- a/iphone/Maps/LocalizedStrings/et.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/et.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Hädaabi telefon"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Sissepääs"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Peasissekäik"; - "type.healthcare.laboratory" = "Meditsiinilabor"; "type.healthcare.physiotherapist" = "Füsioterapeut"; diff --git a/iphone/Maps/LocalizedStrings/eu.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/eu.lproj/Localizable.strings index 667521a7cb..5d24824ff3 100644 --- a/iphone/Maps/LocalizedStrings/eu.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/eu.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Larrialdi zenbakia"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Sarrera"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Sarrera Nagusia"; - "type.healthcare.laboratory" = "Medikuntza laborategia"; "type.healthcare.physiotherapist" = "Fisioterapeuta"; diff --git a/iphone/Maps/LocalizedStrings/fa.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fa.lproj/Localizable.strings index d254a31ad1..b76cb22634 100644 --- a/iphone/Maps/LocalizedStrings/fa.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/fa.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "تلفن اضطراری"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "ورودی"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "ﯽﻠﺻﺍ ﯼﺩﻭﺭﻭ"; - "type.healthcare.laboratory" = "ﯽﮑﺷﺰﭘ ﻩﺎﮕﺸﯾﺎﻣﺯﺁ"; "type.healthcare.physiotherapist" = "فیزیوتراپیست"; diff --git a/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings index 8f0049a51e..a5dfd0033a 100644 --- a/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Hätäpuhelin"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Sisäänkäynti"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Pääsisäänkäynti"; - "type.healthcare.laboratory" = "Lääketieteellinen laboratorio"; "type.healthcare.physiotherapist" = "Fysioterapeutti"; diff --git a/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings index 4cbad8ee8a..9afb589419 100644 --- a/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Téléphone d'urgence"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrée"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Entrée principale"; - "type.healthcare.laboratory" = "Laboratoire médical"; "type.healthcare.physiotherapist" = "Physiothérapeute"; diff --git a/iphone/Maps/LocalizedStrings/he.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/he.lproj/Localizable.strings index ee2f208dd9..ecb32efc93 100644 --- a/iphone/Maps/LocalizedStrings/he.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/he.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Emergency Phone"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrance"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "תישארה הסינכ"; - "type.healthcare.laboratory" = "תיאופר הדבעמ"; "type.healthcare.physiotherapist" = "פיזיותרפיסט"; diff --git a/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings index bc9e046f1d..52be1c11cc 100644 --- a/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Sürgősségi telefon"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Bejárat"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Főbejárat"; - "type.healthcare.laboratory" = "Orvosi laboratórium"; "type.healthcare.physiotherapist" = "Fizioterapeuta"; diff --git a/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings index cc0f98744e..98f6059596 100644 --- a/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Telepon darurat"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Pintu masuk"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Pintu masuk utama"; - "type.healthcare.laboratory" = "Laboratorium medis"; "type.healthcare.physiotherapist" = "Fisioterapis"; diff --git a/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings index bfd74a613d..e6e3aac5a4 100644 --- a/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Telefono di emergenza"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Ingresso"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Entrata principale"; - "type.healthcare.laboratory" = "Laboratorio Medico"; "type.healthcare.physiotherapist" = "Fisioterapista"; diff --git a/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings index 9801cf1b5a..e37c3b2d70 100644 --- a/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "緊急電話"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "エントランス"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "正面玄関"; - "type.healthcare.laboratory" = "医療研究所"; "type.healthcare.physiotherapist" = "理学療法士"; diff --git a/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings index e5edefe734..d1e1544171 100644 --- a/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "긴급 전화"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "입구"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "정문"; - "type.healthcare.laboratory" = "의료 연구실"; "type.healthcare.physiotherapist" = "물리치료사"; diff --git a/iphone/Maps/LocalizedStrings/mr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/mr.lproj/Localizable.strings index b4c12c266c..440e598620 100644 --- a/iphone/Maps/LocalizedStrings/mr.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/mr.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "संकटकालीन फोन"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "प्रवेशद्वार"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "मुख्य प्रवेशद्वार"; - "type.healthcare.laboratory" = "वैद्यकीय प्रयोगशाळा"; "type.healthcare.physiotherapist" = "फिजिओथेरपिस्ट"; diff --git a/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings index 435f12f2ac..d757cad830 100644 --- a/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Nødtelefon"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Inngang"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Hovedinngang"; - "type.healthcare.laboratory" = "Medisinsk laboratorium"; "type.healthcare.physiotherapist" = "Fysioterapeut"; diff --git a/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings index 0e7e720274..aedbef4040 100644 --- a/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Praatpaal"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Ingang"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Hoofdingang"; - "type.healthcare.laboratory" = "Medisch laboratorium"; "type.healthcare.physiotherapist" = "Fysiotherapeut"; diff --git a/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings index 9330c94c4a..97f7ac2769 100644 --- a/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Telefon alarmowy"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Wejście"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Główne wejście"; - "type.healthcare.laboratory" = "Laboratorium Medyczne"; "type.healthcare.physiotherapist" = "Fizjoterapeuta"; diff --git a/iphone/Maps/LocalizedStrings/pt-BR.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/pt-BR.lproj/Localizable.strings index 5ca737985a..ed1960067e 100644 --- a/iphone/Maps/LocalizedStrings/pt-BR.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/pt-BR.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Telefone de emergência"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrada"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Entrada principal"; - "type.healthcare.laboratory" = "Laboratório médico"; "type.healthcare.physiotherapist" = "Fisioterapeuta"; diff --git a/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings index 460f668864..34a1725ac5 100644 --- a/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Telefone de emergência"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrada"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Entrada principal"; - "type.healthcare.laboratory" = "Laboratório médico"; "type.healthcare.physiotherapist" = "Fisioterapeuta"; diff --git a/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings index 4cd793af76..a8a616b353 100644 --- a/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Telefon de urgență"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Intrare"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Intrarea principala"; - "type.healthcare.laboratory" = "Laborator medical"; "type.healthcare.physiotherapist" = "Fizioterapeut"; diff --git a/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings index ce1a3b7aa8..7d3483a18b 100644 --- a/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Телефон для экстренных вызовов"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Вход"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Главный вход"; - "type.healthcare.laboratory" = "Медицинская лаборатория"; "type.healthcare.physiotherapist" = "Физиотерапевт"; diff --git a/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings index 155dfba8cf..dbc440edf8 100644 --- a/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Tiesňového volania"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Vstup"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Hlavný vchod"; - "type.healthcare.laboratory" = "Lekárske laboratórium"; "type.healthcare.physiotherapist" = "Fyzioterapeut"; diff --git a/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings index 3539a9eb6d..cbaf9930c8 100644 --- a/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Nödtelefon"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entré"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Huvudentré"; - "type.healthcare.laboratory" = "Medicinskt laboratorium"; "type.healthcare.physiotherapist" = "Fysioterapeut"; diff --git a/iphone/Maps/LocalizedStrings/sw.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sw.lproj/Localizable.strings index f81f54ee44..29069dc633 100644 --- a/iphone/Maps/LocalizedStrings/sw.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/sw.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Emergency Phone"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Entrance"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Mlango Mkuu"; - "type.healthcare.laboratory" = "Maabara ya Matibabu"; "type.healthcare.physiotherapist" = "Mtaalamu wa Physiotherapist"; diff --git a/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings index 9c45767a4c..6a87be4064 100644 --- a/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "โทรศัพท์ฉุกเฉิน"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "ทางเข้า"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "ทางเข้าหลัก"; - "type.healthcare.laboratory" = "ห้องปฏิบัติการทางการแพทย์"; "type.healthcare.physiotherapist" = "นักกายภาพบำบัด"; diff --git a/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings index 5772d6d29c..3db05ebedf 100644 --- a/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Acil Telefon"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Giriş"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Ana giriş"; - "type.healthcare.laboratory" = "Tıbbi Laboratuvar"; "type.healthcare.physiotherapist" = "Fizyoterapist"; diff --git a/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings index 26c12ca60f..cb0bcbfd95 100644 --- a/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Аварійний телефон"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Вхід"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Головний вхід"; - "type.healthcare.laboratory" = "Медична лабораторія"; "type.healthcare.physiotherapist" = "Фізіотерапевт"; diff --git a/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings index 7b7a4bf0cb..df589956ef 100644 --- a/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "Điện thoại khẩn cấp"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "Lối vào"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "Lối vào chính"; - "type.healthcare.laboratory" = "Phòng thí nghiệm y tế"; "type.healthcare.physiotherapist" = "Nhà vật lý trị liệu"; diff --git a/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings index 4c459bbe1a..cb5d570222 100644 --- a/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "紧急电话"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "入口"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "主要入口"; - "type.healthcare.laboratory" = "医学实验室"; "type.healthcare.physiotherapist" = "物理治疗师"; diff --git a/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings index ca0dfb5f2c..38da37ec01 100644 --- a/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings @@ -1849,12 +1849,8 @@ "type.emergency.phone" = "緊急電話"; -/* This is for secondary entrances, for main entrances see type.entrance.main */ "type.entrance" = "入口"; -/* This is for main/primary entrances, for secondary entrances see type.entrance */ -"type.entrance.main" = "主要入口"; - "type.healthcare.laboratory" = "醫學實驗室"; "type.healthcare.physiotherapist" = "物理治療師"; diff --git a/map/framework.cpp b/map/framework.cpp index c44382f380..e2658f2de8 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -1798,8 +1798,6 @@ bool Framework::ShowMapForURL(string const & url) } m_currentPlacePageInfo = BuildPlacePageInfo(info); - if (!name.empty()) - m_currentPlacePageInfo->SetCustomName(name); ActivateMapSelection(); } diff --git a/routing/routing_tests/turns_sound_test.cpp b/routing/routing_tests/turns_sound_test.cpp index 764200f36b..d362d9c146 100644 --- a/routing/routing_tests/turns_sound_test.cpp +++ b/routing/routing_tests/turns_sound_test.cpp @@ -3,10 +3,13 @@ #include "routing/turns_notification_manager.hpp" #include "routing/turns_sound_settings.hpp" +#include "platform/location.hpp" + #include namespace turns_sound_test { +using namespace location; using namespace std; using routing::turns::CarDirection; using routing::turns::TurnItemDist; @@ -16,7 +19,7 @@ using routing::turns::sound::Settings; // An error to compare two double after conversion feet to meters. double const kEps = 1.; -UNIT_TEST(TurnNotificationSettings_MetersTest) +UNIT_TEST(TurnNotificationSettingsMetersTest) { Settings const settings(20 /* notificationTimeSeconds */, 200 /* minNotificationDistanceUnits */, 700 /* maxNotificationDistanceUnits */, 5 /* m_startBeforeSeconds */, @@ -47,7 +50,7 @@ UNIT_TEST(TurnNotificationSettings_MetersTest) TEST_EQUAL(settings.ComputeDistToPronounceDistM(200. /* speedMetersPerSecond */), 150., ()); } -UNIT_TEST(TurnNotificationSettings_FeetTest) +UNIT_TEST(TurnNotificationSettingsFeetTest) { Settings const settings(20 /* notificationTimeSeconds */, 500 /* minNotificationDistanceUnits */, 2000 /* maxNotificationDistanceUnits */, 5 /* m_startBeforeSeconds */, @@ -66,7 +69,7 @@ UNIT_TEST(TurnNotificationSettings_FeetTest) TEST_EQUAL(settings.RoundByPresetSoundedDistancesUnits(0 /* distanceInUnits */), 200, ()); } -UNIT_TEST(TurnNotificationSettings_NotValidTest) +UNIT_TEST(TurnNotificationSettingsNotValidTest) { Settings settings1(20 /* notificationTimeSeconds */, 500 /* minNotificationDistanceUnits */, 2000 /* maxNotificationDistanceUnits */, 5 /* m_startBeforeSeconds */, @@ -85,7 +88,7 @@ UNIT_TEST(TurnNotificationSettings_NotValidTest) TEST(!settings2.IsValid(), ()); } -UNIT_TEST(TurnsSound_MetersTest) +UNIT_TEST(TurnsSoundMetersTest) { string const engShortJson = "\ @@ -177,7 +180,7 @@ UNIT_TEST(TurnsSound_MetersTest) // - Two turns; // - They are close to each other; // So the first notification of the second turn shall be skipped. -UNIT_TEST(TurnsSound_MetersTwoTurnsTest) +UNIT_TEST(TurnsSoundMetersTwoTurnsTest) { string const engShortJson = "\ @@ -248,7 +251,7 @@ UNIT_TEST(TurnsSound_MetersTwoTurnsTest) TEST(notificationManager.IsEnabled(), ()); } -UNIT_TEST(TurnsSound_FeetTest) +UNIT_TEST(TurnsSoundFeetTest) { string const engShortJson = "\ @@ -325,13 +328,12 @@ UNIT_TEST(TurnsSound_FeetTest) TEST(notificationManager.IsEnabled(), ()); } -UNIT_TEST(TurnsSound_ComposedTurnTest) +UNIT_TEST(TurnsSoundComposedTurnTest) { string const engShortJson = "\ {\ \"in_600_meters\":\"In 600 meters.\",\ - \"in_200_meters\":\"In 200 meters.\",\ \"make_a_right_turn\":\"Turn right.\",\ \"enter_the_roundabout\":\"Enter the roundabout.\",\ \"then\":\"Then.\",\ @@ -355,7 +357,7 @@ UNIT_TEST(TurnsSound_ComposedTurnTest) // 620 meters till the first turn. turnNotifications.clear(); vector const turns2 = {{{5 /* idx */, CarDirection::TurnRight}, 620. /* m_distMeters */}, - {{10 /* idx */, CarDirection::EnterRoundAbout}, 665. /* m_distMeters */}}; + {{10 /* idx */, CarDirection::EnterRoundAbout}, 820. /* m_distMeters */}}; vector const expectedNotification2 = {{"In 600 meters. Turn right."}, {"Then. Enter the roundabout."}}; notificationManager.GenerateTurnNotifications(turns2, turnNotifications); @@ -375,7 +377,7 @@ UNIT_TEST(TurnsSound_ComposedTurnTest) vector const turns4 = {{{5 /* idx */, CarDirection::TurnRight}, 20. /* m_distMeters */}, {{10 /* idx */, CarDirection::EnterRoundAbout}, 220. /* m_distMeters */}}; vector const expectedNotification4 = {{"Turn right."}, - {"Then. In 200 meters. Enter the roundabout."}}; + {"Then. Enter the roundabout."}}; notificationManager.GenerateTurnNotifications(turns4, turnNotifications); TEST_EQUAL(turnNotifications, expectedNotification4, ()); TEST_EQUAL(notificationManager.GetSecondTurnNotification(), CarDirection::EnterRoundAbout, ()); @@ -398,7 +400,7 @@ UNIT_TEST(TurnsSound_ComposedTurnTest) TEST_EQUAL(notificationManager.GetSecondTurnNotification(), CarDirection::None, ()); } -UNIT_TEST(TurnsSound_RoundaboutTurnTest) +UNIT_TEST(TurnsSoundRoundaboutTurnTest) { string const engShortJson = "\ @@ -409,7 +411,6 @@ UNIT_TEST(TurnsSound_RoundaboutTurnTest) \"take_the_2_exit\":\"Take the second exit.\",\ \"take_the_4_exit\":\"Take the fourth exit.\",\ \"in_600_meters\":\"In 600 meters.\",\ - \"in_1_kilometer\":\"In 1 kilometer.\",\ \"then\":\"Then.\"\ }"; auto notificationManager = NotificationManager::CreateNotificationManagerForTesting( @@ -435,7 +436,7 @@ UNIT_TEST(TurnsSound_RoundaboutTurnTest) {{10 /* idx */, CarDirection::LeaveRoundAbout, 2 /* m_exitNum */}, 1620. /* m_distMeters */}}; vector const expectedNotification2 = {{"In 600 meters. Enter the roundabout."}, - {"Then. In 1 kilometer. Take the second exit."}}; + {"Then. Take the second exit."}}; notificationManager.GenerateTurnNotifications(turns2, turnNotifications); TEST_EQUAL(turnNotifications, expectedNotification2, ()); TEST_EQUAL(notificationManager.GetSecondTurnNotification(), CarDirection::None, ()); @@ -446,7 +447,7 @@ UNIT_TEST(TurnsSound_RoundaboutTurnTest) {{10 /* idx */, CarDirection::LeaveRoundAbout, 2 /* m_exitNum */}, 1003. /* m_distMeters */}}; vector const expectedNotification3 = {{"Enter the roundabout."}, - {"Then. In 1 kilometer. Take the second exit."}}; + {"Then. Take the second exit."}}; notificationManager.GenerateTurnNotifications(turns3, turnNotifications); TEST_EQUAL(turnNotifications, expectedNotification3, ()); TEST_EQUAL(notificationManager.GetSecondTurnNotification(), CarDirection::None, ()); @@ -485,7 +486,7 @@ UNIT_TEST(TurnsSound_RoundaboutTurnTest) {{20 /* idx */, CarDirection::LeaveRoundAbout, 1 /* m_exitNum */}, 1005. /* m_distMeters */}}; vector const expectedNotification7 = {{"Enter the roundabout."}, - {"Then. In 1 kilometer. Take the first exit."}}; + {"Then. Take the first exit."}}; notificationManager.GenerateTurnNotifications( turns7, turnNotifications); // The first notification fast forwarding. notificationManager.GenerateTurnNotifications(turns7, turnNotifications); @@ -506,7 +507,7 @@ UNIT_TEST(TurnsSound_RoundaboutTurnTest) vector const turns9 = {{{25 /* idx */, CarDirection::EnterRoundAbout, 4 /* m_exitNum */}, 620. /* m_distMeters */}, {{30 /* idx */, CarDirection::LeaveRoundAbout, 4 /* m_exitNum */}, - 665. /* m_distMeters */}}; + 920. /* m_distMeters */}}; vector const expectedNotification9 = {{"In 600 meters. Enter the roundabout."}, {"Then. Take the fourth exit."}}; notificationManager.GenerateTurnNotifications(turns9, turnNotifications); diff --git a/routing/routing_tests/turns_tts_text_tests.cpp b/routing/routing_tests/turns_tts_text_tests.cpp index 236da541b8..77f4b34081 100644 --- a/routing/routing_tests/turns_tts_text_tests.cpp +++ b/routing/routing_tests/turns_tts_text_tests.cpp @@ -24,9 +24,9 @@ UNIT_TEST(GetDistanceTextIdMetersTest) Notification const notification1(500, 0, false, CarDirection::TurnRight, measurement_utils::Units::Metric); TEST_EQUAL(GetDistanceTextId(notification1), "in_500_meters", ()); -// Notification const notification2(500, 0, true, CarDirection::TurnRight, -// measurement_utils::Units::Metric); -// TEST_EQUAL(GetDistanceTextId(notification2), "then", ()); + Notification const notification2(500, 0, true, CarDirection::TurnRight, + measurement_utils::Units::Metric); + TEST_EQUAL(GetDistanceTextId(notification2), "then", ()); Notification const notification3(200, 0, false, CarDirection::TurnRight, measurement_utils::Units::Metric); TEST_EQUAL(GetDistanceTextId(notification3), "in_200_meters", ()); @@ -42,9 +42,9 @@ UNIT_TEST(GetDistanceTextIdFeetTest) Notification const notification1(500, 0, false, CarDirection::TurnRight, measurement_utils::Units::Imperial); TEST_EQUAL(GetDistanceTextId(notification1), "in_500_feet", ()); -// Notification const notification2(500, 0, true, CarDirection::TurnRight, -// measurement_utils::Units::Imperial); -// TEST_EQUAL(GetDistanceTextId(notification2), "then", ()); + Notification const notification2(500, 0, true, CarDirection::TurnRight, + measurement_utils::Units::Imperial); + TEST_EQUAL(GetDistanceTextId(notification2), "then", ()); Notification const notification3(800, 0, false, CarDirection::TurnRight, measurement_utils::Units::Imperial); TEST_EQUAL(GetDistanceTextId(notification3), "in_800_feet", ()); diff --git a/routing/turns_notification_manager.cpp b/routing/turns_notification_manager.cpp index d33d2cd11a..347fd447f4 100644 --- a/routing/turns_notification_manager.cpp +++ b/routing/turns_notification_manager.cpp @@ -1,26 +1,18 @@ #include "routing/turns_notification_manager.hpp" +#include "platform/location.hpp" + #include "base/assert.hpp" #include #include -namespace routing -{ -namespace turns -{ -namespace sound -{ - namespace { -// If the distance between two sequential turns is less than kSecondTurnThresholdDistM -// the information about the second turn will be shown or pronounced -// when the user is approaching to the first one with "Then.". -double constexpr kSecondTurnThresholdDistM = 400.0; -// If the distance between two sequential turns is less than kDistanceNotifyThresholdM -// the notification will *not* append second distance, (like "In 500 meters. Turn left. Then. Turn right.") -double constexpr kDistanceNotifyThresholdM = 50.0; +// If the distance between two sequential turns is less than kMaxTurnDistM +// the information about the second turn will be shown or pronounced when the user is +// approaching to the first one. +double constexpr kMaxTurnDistM = 400.0; // Returns true if the closest turn is an entrance to a roundabout and the second is // an exit form a roundabout. @@ -35,6 +27,12 @@ bool IsClassicEntranceToRoundabout(routing::turns::TurnItemDist const & firstTur } } // namespace +namespace routing +{ +namespace turns +{ +namespace sound +{ NotificationManager::NotificationManager() : m_enabled(false) , m_speedMetersPerSecond(0.0) @@ -106,35 +104,24 @@ void NotificationManager::GenerateTurnNotifications(std::vector co return; if (firstNotification.empty()) return; - turnNotifications.emplace_back(std::move(firstNotification)); + turnNotifications.emplace_back(move(firstNotification)); // Generating notifications like "Then turn left" if necessary. if (turns.size() < 2) return; TurnItemDist const & secondTurn = turns[1]; ASSERT_LESS_OR_EQUAL(firstTurn.m_distMeters, secondTurn.m_distMeters, ()); - - double distBetweenTurnsMeters = secondTurn.m_distMeters - firstTurn.m_distMeters; - ASSERT_GREATER_OR_EQUAL(distBetweenTurnsMeters, 0, ()); - if (distBetweenTurnsMeters > kSecondTurnThresholdDistM && + if (secondTurn.m_distMeters - firstTurn.m_distMeters > kMaxTurnDistM && !IsClassicEntranceToRoundabout(firstTurn, secondTurn)) { return; } - - if (distBetweenTurnsMeters < kDistanceNotifyThresholdM) - { - // distanceUnits is not used because of "Then" is used - distBetweenTurnsMeters = 0; - } - std::string secondNotification = GenerateTurnText( - distBetweenTurnsMeters, secondTurn.m_turnItem.m_exitNum, + 0 /* distanceUnits is not used because of "Then" is used */, secondTurn.m_turnItem.m_exitNum, true, secondTurn.m_turnItem, m_settings.GetLengthUnits()); if (secondNotification.empty()) return; - turnNotifications.emplace_back(std::move(secondNotification)); - + turnNotifications.emplace_back(move(secondNotification)); // Turn notification with word "Then" (about the second turn) will be pronounced. // When this second turn become the first one the first notification about the turn // shall be skipped. @@ -282,7 +269,7 @@ CarDirection NotificationManager::GenerateSecondTurnNotification(std::vector kSecondTurnThresholdDistM) + if (distBetweenTurnsMeters > kMaxTurnDistM) return CarDirection::None; uint32_t const startPronounceDistMeters = diff --git a/routing/turns_sound_settings.cpp b/routing/turns_sound_settings.cpp index 71f6ac6967..66a9536fa3 100644 --- a/routing/turns_sound_settings.cpp +++ b/routing/turns_sound_settings.cpp @@ -2,6 +2,8 @@ #include "platform/measurement_utils.hpp" +#include "base/string_utils.hpp" + #include namespace routing diff --git a/routing/turns_tts_text.cpp b/routing/turns_tts_text.cpp index c720f58e9e..af1768c3fe 100644 --- a/routing/turns_tts_text.cpp +++ b/routing/turns_tts_text.cpp @@ -6,13 +6,7 @@ #include #include #include - -namespace routing -{ -namespace turns -{ -namespace sound -{ +#include namespace { @@ -35,6 +29,12 @@ template std::string DistToTextId(TIter begin, TIter end, uint32_t } } // namespace +namespace routing +{ +namespace turns +{ +namespace sound +{ void GetTtsText::SetLocale(std::string const & locale) { m_getCurLang = platform::GetTextByIdFactory(platform::TextSource::TtsSound, locale); @@ -54,25 +54,17 @@ std::string GetTtsText::GetTurnNotification(Notification const & notification) c { if (notification.m_useThenInsteadOfDistance && notification.m_turnDirPedestrian == PedestrianDirection::None) - return {}; + return std::string{}; } if (notification.m_useThenInsteadOfDistance && notification.m_turnDir == CarDirection::None) - return {}; + return std::string{}; std::string const dirStr = GetTextById(GetDirectionTextId(notification)); if (dirStr.empty()) - return {}; + return std::string{}; - std::string distStr; - if (notification.m_useThenInsteadOfDistance) - { - distStr = GetTextById("then"); - if (notification.m_distanceUnits > 0) - distStr = distStr + " " + GetTextById(GetDistanceTextId(notification)); - } - else - distStr = GetTextById(GetDistanceTextId(notification)); + std::string const distStr = GetTextById(GetDistanceTextId(notification)); return distStr + " " + dirStr; } @@ -86,7 +78,7 @@ std::string GetTtsText::GetLocale() const if (m_getCurLang == nullptr) { ASSERT(false, ()); - return {}; + return std::string{}; } return m_getCurLang->GetLocale(); } @@ -98,15 +90,15 @@ std::string GetTtsText::GetTextById(std::string const & textId) const if (m_getCurLang == nullptr) { ASSERT(false, ()); - return {}; + return std::string{}; } return (*m_getCurLang)(textId); } std::string GetDistanceTextId(Notification const & notification) { -// if (notification.m_useThenInsteadOfDistance) -// return "then"; + if (notification.m_useThenInsteadOfDistance) + return "then"; switch (notification.m_lengthUnits) { @@ -118,7 +110,7 @@ std::string GetDistanceTextId(Notification const & notification) notification.m_distanceUnits); } ASSERT(false, ()); - return {}; + return std::string{}; } std::string GetRoundaboutTextId(Notification const & notification) diff --git a/search/geocoder.cpp b/search/geocoder.cpp index 5d190a4064..5316b95306 100644 --- a/search/geocoder.cpp +++ b/search/geocoder.cpp @@ -290,7 +290,7 @@ unique_ptr GetWorldContext(DataSource const & dataSource) dataSource.GetMwmsInfo(infos); MwmSet::MwmHandle handle = indexer::FindWorld(dataSource, infos); if (handle.IsAlive()) - return make_unique(std::move(handle)); + return make_unique(move(handle)); return {}; } @@ -356,14 +356,6 @@ void Geocoder::SetParams(Params const & params) m_params = params; - auto const MakeRequest = [this](size_t i, auto & request) - { - FillRequestFromToken(m_params.GetToken(i), request); - for (auto const & index : m_params.GetTypeIndices(i)) - request.m_categories.emplace_back(FeatureTypeToString(index)); - request.SetLangs(m_params.GetLangs()); - }; - m_tokenRequests.clear(); m_prefixTokenRequest.Clear(); for (size_t i = 0; i < m_params.GetNumTokens(); ++i) @@ -371,11 +363,19 @@ void Geocoder::SetParams(Params const & params) if (!m_params.IsPrefixToken(i)) { m_tokenRequests.emplace_back(); - MakeRequest(i, m_tokenRequests.back()); + auto & request = m_tokenRequests.back(); + FillRequestFromToken(m_params.GetToken(i), request); + for (auto const & index : m_params.GetTypeIndices(i)) + request.m_categories.emplace_back(FeatureTypeToString(index)); + request.SetLangs(m_params.GetLangs()); } else { - MakeRequest(i, m_prefixTokenRequest); + auto & request = m_prefixTokenRequest; + FillRequestFromToken(m_params.GetToken(i), request); + for (auto const & index : m_params.GetTypeIndices(i)) + request.m_categories.emplace_back(FeatureTypeToString(index)); + request.SetLangs(m_params.GetLangs()); } } @@ -554,7 +554,7 @@ void Geocoder::GoImpl(vector const & infos, bool inViewport) // All MwmIds are unique during the application lifetime, so // it's ok to save MwmId. m_worldId = handle.GetId(); - m_context = make_unique(std::move(handle)); + m_context = make_unique(move(handle)); if (value.HasSearchIndex()) { @@ -584,7 +584,7 @@ void Geocoder::GoImpl(vector const & infos, bool inViewport) // intersecting with position and viewport. auto processCountry = [&](unique_ptr context, bool updatePreranker) { ASSERT(context, ()); - m_context = std::move(context); + m_context = move(context); SCOPE_GUARD(cleanup, [&]() { LOG(LDEBUG, (m_context->GetName(), "geocoding complete.")); @@ -907,7 +907,7 @@ void Geocoder::ForEachCountry(ExtendedMwmInfos const & extendedInfos, Fn && fn) continue; bool const updatePreranker = i + 1 >= extendedInfos.m_firstBatchSize; auto const & mwmType = extendedInfos.m_infos[i].m_type; - if (fn(make_unique(std::move(handle), mwmType), updatePreranker) == + if (fn(make_unique(move(handle), mwmType), updatePreranker) == base::ControlFlow::Break) { break; @@ -1188,7 +1188,7 @@ void Geocoder::WithPostcodes(BaseContext & ctx, Fn && fn) } m_postcodes.m_tokenRange = tokenRange; - m_postcodes.m_countryFeatures = std::move(postcodes); + m_postcodes.m_countryFeatures = move(postcodes); if (ctx.AllTokensUsed() && CityHasPostcode(ctx)) { @@ -1205,23 +1205,16 @@ void Geocoder::GreedilyMatchStreets(BaseContext & ctx, CentersFilter const & cen { TRACE(GreedilyMatchStreets); - ProcessStreets(ctx, centers, ctx.m_streets); + // Match streets without suburbs. + vector predictions; + StreetsMatcher::Go(ctx, ctx.m_streets, *m_filter, m_params, predictions); + + for (auto const & prediction : predictions) + CreateStreetsLayerAndMatchLowerLayers(ctx, prediction, centers); GreedilyMatchStreetsWithSuburbs(ctx, centers); } -void Geocoder::ProcessStreets(BaseContext & ctx, CentersFilter const & centers, CBV const & streets) -{ - using PredictionT = StreetsMatcher::Prediction; - vector predictions; - StreetsMatcher::Go(ctx, streets, *m_filter, m_params, predictions); - - // Iterating from best to worst predictions here. Make "Relaxed" results for the best prediction only - // to avoid dummy streets results, matched by very _common_ tokens. - for (size_t i = 0; i < predictions.size(); ++i) - CreateStreetsLayerAndMatchLowerLayers(ctx, predictions[i], centers, i == 0 /* makeRelaxed */); -} - void Geocoder::GreedilyMatchStreetsWithSuburbs(BaseContext & ctx, CentersFilter const & centers) { TRACE(GreedilyMatchStreetsWithSuburbs); @@ -1263,7 +1256,11 @@ void Geocoder::GreedilyMatchStreetsWithSuburbs(BaseContext & ctx, CentersFilter auto const suburbCBV = RetrieveGeometryFeatures(*m_context, rect, RectId::Suburb); auto const suburbStreets = ctx.m_streets.Intersect(suburbCBV); - ProcessStreets(ctx, centers, suburbStreets); + vector predictions; + StreetsMatcher::Go(ctx, suburbStreets, *m_filter, m_params, predictions); + + for (auto const & prediction : predictions) + CreateStreetsLayerAndMatchLowerLayers(ctx, prediction, centers); MatchPOIsAndBuildings(ctx, 0 /* curToken */, suburbCBV); }); @@ -1345,7 +1342,7 @@ void Geocoder::CentersFilter::ProcessStreets(std::vector & streets, Ge void Geocoder::CreateStreetsLayerAndMatchLowerLayers(BaseContext & ctx, StreetsMatcher::Prediction const & prediction, - CentersFilter const & centers, bool makeRelaxed) + CentersFilter const & centers) { auto & layers = ctx.m_layers; @@ -1370,7 +1367,7 @@ void Geocoder::CreateStreetsLayerAndMatchLowerLayers(BaseContext & ctx, MatchPOIsAndBuildings(ctx, 0 /* curToken */, CBV::GetFull()); // A relaxed best effort parse: at least show the street if we can find one. - if (makeRelaxed && numEmitted == ctx.m_numEmitted && ctx.SkipUsedTokens(0) != ctx.m_numTokens) + if (numEmitted == ctx.m_numEmitted && ctx.SkipUsedTokens(0) != ctx.m_numTokens) { TRACE(Relaxed); FindPaths(ctx); diff --git a/search/geocoder.hpp b/search/geocoder.hpp index 32828046cf..9d597f378d 100644 --- a/search/geocoder.hpp +++ b/search/geocoder.hpp @@ -254,9 +254,7 @@ private: void CreateStreetsLayerAndMatchLowerLayers(BaseContext & ctx, StreetsMatcher::Prediction const & prediction, - CentersFilter const & centers, bool makeRelaxed); - - void ProcessStreets(BaseContext & ctx, CentersFilter const & centers, CBV const & streets); + CentersFilter const & centers); // Tries to find all paths in a search tree, where each edge is // marked with some substring of the query tokens. These paths are diff --git a/search/intermediate_result.cpp b/search/intermediate_result.cpp index 4ae9e1b8f3..9a16534511 100644 --- a/search/intermediate_result.cpp +++ b/search/intermediate_result.cpp @@ -150,8 +150,6 @@ std::string DebugPrint(PreRankerResult const & r) ostringstream os; os << "PreRankerResult " << "{ FID: " << r.GetId().m_index // index is enough here for debug purpose - << "; m_matchedTokensNumber: " << r.m_matchedTokensNumber - << "; m_isRelaxed: " << r.m_isRelaxed << "; " << DebugPrint(r.m_info) << " }"; return os.str(); diff --git a/search/intermediate_result.hpp b/search/intermediate_result.hpp index b6d16c4d24..85e9b6626d 100644 --- a/search/intermediate_result.hpp +++ b/search/intermediate_result.hpp @@ -62,15 +62,10 @@ public: std::vector const & GetProvenance() const { return m_provenance; } #endif - //size_t GetInnermostTokensNumber() const { return m_info.InnermostTokenRange().Size(); } - //size_t GetMatchedTokensNumber() const { return m_matchedTokensNumber; } +// size_t GetInnermostTokensNumber() const { return m_info.InnermostTokenRange().Size(); } + size_t GetMatchedTokensNumber() const { return m_matchedTokensNumber; } bool IsNotRelaxed() const { return !m_isRelaxed; } - bool SkipForViewportSearch(size_t queryTokensNumber) const - { - return m_isRelaxed || m_matchedTokensNumber + 1 < queryTokensNumber; - } - void SetRank(uint8_t rank) { m_info.m_rank = rank; } void SetPopularity(uint8_t popularity) { m_info.m_popularity = popularity; } void SetDistanceToPivot(double distance) { m_info.m_distanceToPivot = distance; } diff --git a/search/pre_ranker.cpp b/search/pre_ranker.cpp index cbb1179629..ab1bb79465 100644 --- a/search/pre_ranker.cpp +++ b/search/pre_ranker.cpp @@ -248,9 +248,8 @@ void PreRanker::FilterForViewportSearch() if (!m_params.m_viewport.IsPointInside(info.m_center)) return true; - // Better criteria than previous (at first glance). - /// @todo Probably, should show say 20-30 first results with honest ranking, but need to refactor a lot .. - return result.SkipForViewportSearch(m_params.m_numQueryTokens); + /// @todo Make some upper bound like for regular search, but not to erase partially matched results? + return result.GetMatchedTokensNumber() + 1 < m_params.m_numQueryTokens; }); // By VNG: Comment next statements to discard viewport filtering (displacement) for Debug purpose. @@ -265,7 +264,6 @@ void PreRanker::FilterRelaxedResults(bool lastUpdate) auto const iEnd = m_results.end(); if (lastUpdate) { - LOG(LDEBUG, ("Flush relaxed results number:", m_relaxedResults.size())); m_results.insert(iEnd, make_move_iterator(m_relaxedResults.begin()), make_move_iterator(m_relaxedResults.end())); m_relaxedResults.clear(); } diff --git a/search/processor.cpp b/search/processor.cpp index ac9204062d..4e3690e1b4 100644 --- a/search/processor.cpp +++ b/search/processor.cpp @@ -755,6 +755,7 @@ void Processor::InitParams(QueryParams & params) const } else { + // todo(@m, @y). Shall we match prefix tokens for categories? ForEachCategoryTypeFuzzy(tokenSlice, [&c, ¶ms](size_t i, uint32_t t) { uint32_t const index = c.GetIndexForType(t); diff --git a/search/query_params.cpp b/search/query_params.cpp index 70cdd8f4fd..9b64eb00aa 100644 --- a/search/query_params.cpp +++ b/search/query_params.cpp @@ -3,18 +3,22 @@ #include "search/ranking_utils.hpp" #include "search/token_range.hpp" +#include "indexer/feature_impl.hpp" + #include #include namespace search { using namespace std; +using namespace strings; namespace { // All synonyms should be lowercase. -/// @todo These should check the map language and use only the corresponding translation. +// @todo These should check the map language and use +// only the corresponding translation. map> const kSynonyms = { {"n", {"north"}}, {"w", {"west"}}, @@ -25,46 +29,21 @@ map> const kSynonyms = { {"sw", {"southwest"}}, {"se", {"southeast"}}, {"st", {"saint", "street"}}, - - {"al", {"allee", "alle"}}, - {"ave", {"avenue"}}, - /// @todo Should process synonyms with errors like "blvrd" -> "blvd". - /// @see HouseOnStreetSynonymsWithMisprints test. - {"blvd", {"boulevard"}}, - {"blvrd", {"boulevard"}}, - {"cir", {"circle"}}, - {"ct", {"court"}}, - {"hwy", {"highway"}}, - {"pl", {"place", "platz"}}, - {"rt", {"route"}}, - {"sq", {"square"}}, - - {"ал", {"аллея", "алея"}}, - {"бул", {"бульвар"}}, - {"зав", {"завулак"}}, - {"кв", {"квартал"}}, - {"наб", {"набережная", "набярэжная", "набережна"}}, - {"пер", {"переулок"}}, - {"пл", {"площадь", "площа"}}, - {"пр", {"проспект", "праспект", "провулок", "проезд", "праезд", "проїзд"}}, - {"туп", {"тупик", "тупік"}}, - {"ш", {"шоссе", "шаша", "шосе"}}, - + {"blvd", {"boulevard"}}, + {"cir", {"circle"}}, + {"ct", {"court"}}, + {"rt", {"route"}}, {"св", {"святой", "святого", "святая", "святые", "святых", "свято"}}, {"б", {"большая", "большой"}}, {"бол", {"большая", "большой"}}, {"м", {"малая", "малый"}}, {"мал", {"малая", "малый"}}, {"нов", {"новая", "новый"}}, - {"стар", {"старая", "старый"}}, -}; + {"стар", {"старая", "старый"}}}; } // namespace // QueryParams::Token ------------------------------------------------------------------------------ -void QueryParams::Token::AddSynonym(string const & s) -{ - AddSynonym(strings::MakeUniString(s)); -} +void QueryParams::Token::AddSynonym(string const & s) { AddSynonym(MakeUniString(s)); } void QueryParams::Token::AddSynonym(String const & s) { diff --git a/search/search_integration_tests/processor_test.cpp b/search/search_integration_tests/processor_test.cpp index 71e182876e..89ee90a425 100644 --- a/search/search_integration_tests/processor_test.cpp +++ b/search/search_integration_tests/processor_test.cpp @@ -144,8 +144,7 @@ UNIT_CLASS_TEST(ProcessorTest, Smoke) TestPOI lantern1({10.0005, 10.0005}, "lantern 1", "en"); TestPOI lantern2({10.0006, 10.0005}, "lantern 2", "en"); - // Was "Strada drive". - TestStreet stradaDrive({{-10.001, -10.001}, {-10, -10}, {-9.999, -9.999}}, "Boulevard drive", "en"); + TestStreet stradaDrive({{-10.001, -10.001}, {-10, -10}, {-9.999, -9.999}}, "Strada drive", "en"); TestBuilding terranceHouse({-10, -10}, "", "155", stradaDrive.GetName("en"), "en"); auto const worldId = BuildWorld([&](TestMwmBuilder & builder) @@ -210,7 +209,7 @@ UNIT_CLASS_TEST(ProcessorTest, Smoke) TEST(ResultsMatch(" ", Rules()), ()); } { - Rules rules = {ExactMatch(wonderlandId, quantumTeleport2)}; + Rules rules = {ExactMatch(wonderlandId, quantumTeleport2), ExactMatch(wonderlandId, feynmanStreet)}; TEST(ResultsMatch("teleport feynman street", rules), ()); } { @@ -221,14 +220,16 @@ UNIT_CLASS_TEST(ProcessorTest, Smoke) // Here we expect to find feynmanHouse (building next to Feynman street with housenumber '1 unit 1') // but not lantern1 (building next to Feynman street with name 'lantern 1') because '1' // looks like housenumber. - Rules rules = {ExactMatch(wonderlandId, feynmanHouse)}; + Rules rules = {ExactMatch(wonderlandId, feynmanHouse), + ExactMatch(wonderlandId, firstAprilStreet)}; TEST(ResultsMatch("feynman street 1", rules), ()); } { // Here we expect to find bohrHouse (building next to Bohr street with housenumber '1 unit 1') // but not lantern1 (building next to Bohr street with name 'lantern 1') because '1' looks like // housenumber. - Rules rules = {ExactMatch(wonderlandId, bohrHouse), ExactMatch(wonderlandId, hilbertHouse)}; + Rules rules = {ExactMatch(wonderlandId, bohrHouse), ExactMatch(wonderlandId, hilbertHouse), + ExactMatch(wonderlandId, firstAprilStreet)}; TEST(ResultsMatch("bohr street 1", rules), ()); } { @@ -263,7 +264,7 @@ UNIT_CLASS_TEST(ProcessorTest, Smoke) { Rules rules = {ExactMatch(wonderlandId, terranceHouse), ExactMatch(wonderlandId, stradaDrive)}; - TEST(ResultsMatch("Toronto boulevard dr 155", rules), ()); + TEST(ResultsMatch("Toronto strada drive 155", rules), ()); } } @@ -599,19 +600,19 @@ UNIT_CLASS_TEST(ProcessorTest, TestHouseNumbers) { Rules rules{ExactMatch(countryId, building100), ExactMatch(countryId, street)}; - TEST(OrderedResultsMatch("Зеленоград генералова к100 ", rules, "ru"), ()); + TEST(ResultsMatch("Зеленоград генералова к100 ", rules, "ru"), ()); } { Rules rules{ExactMatch(countryId, building200), ExactMatch(countryId, street)}; - TEST(OrderedResultsMatch("Зеленоград генералова к200 ", rules, "ru"), ()); + TEST(ResultsMatch("Зеленоград генералова к200 ", rules, "ru"), ()); } { Rules rules{ExactMatch(countryId, building200), ExactMatch(countryId, street)}; - TEST(OrderedResultsMatch("Зеленоград к200 генералова ", rules, "ru"), ()); + TEST(ResultsMatch("Зеленоград к200 генералова ", rules, "ru"), ()); } { Rules rules{ExactMatch(countryId, building300), ExactMatch(countryId, street)}; - TEST(OrderedResultsMatch("Зеленоград 300 строение 400 генералова ", rules, "ru"), ()); + TEST(ResultsMatch("Зеленоград 300 строение 400 генералова ", rules, "ru"), ()); } { Rules rules{ExactMatch(countryId, street)}; @@ -619,25 +620,35 @@ UNIT_CLASS_TEST(ProcessorTest, TestHouseNumbers) } { Rules rules{ExactMatch(countryId, building300), ExactMatch(countryId, street)}; - TEST(OrderedResultsMatch("Зеленоград генералова 300 строе", rules, "ru"), ()); + TEST(ResultsMatch("Зеленоград генералова 300 строе", rules, "ru"), ()); } { + auto request = MakeRequest("Зеленоград Генерала Генералова 115 ", "ru"); + + // Test exact matching result ranked first. + auto const & results = request->Results(); + TEST_GREATER(results.size(), 0, (results)); + TEST(IsResultMatches(results[0], ExactMatch(countryId, building115)), (results)); + Rules rules{ExactMatch(countryId, building115), ExactMatch(countryId, building115k1), ExactMatch(countryId, street)}; - TEST(OrderedResultsMatch("Зеленоград Генерала Генералова 115 ", rules, "ru"), ()); + TEST(ResultsMatch(results, rules), ()); } { + auto request = MakeRequest("Зеленоград Генерала Генералова 115к1 ", "ru"); + + // Test exact matching result ranked first. + auto const & results = request->Results(); + TEST_GREATER(results.size(), 0, (results)); + TEST(IsResultMatches(results[0], ExactMatch(countryId, building115k1)), (results)); + Rules rules{ExactMatch(countryId, building115k1), ExactMatch(countryId, building115), ExactMatch(countryId, street)}; - TEST(OrderedResultsMatch("Зеленоград Генерала Генералова 115к1 ", rules, "ru"), ()); + TEST(ResultsMatch(results, rules), ()); } { Rules rules{ExactMatch(countryId, building115), ExactMatch(countryId, street)}; - TEST(OrderedResultsMatch("Зеленоград Генерала Генералова 115к2 ", rules, "ru"), ()); - } - { - Rules rules{ExactMatch(countryId, street)}; - TEST(ResultsMatch("Генералова 666", rules, "ru"), ()); + TEST(ResultsMatch("Зеленоград Генерала Генералова 115к2 ", rules, "ru"), ()); } } @@ -907,7 +918,6 @@ UNIT_CLASS_TEST(ProcessorTest, TestCategorialSearch) { /// @todo We updated fuzzy match for categories: hote -> hotel is not matched now (4 letters input token). - /// Or reconsider prefix category matching. Rules const rules = {/*ExactMatch(wonderlandId, hotel1),*/ ExactMatch(wonderlandId, hotel2), ExactMatch(wonderlandId, hotelCafe), ExactMatch(testWorldId, homel), ExactMatch(wonderlandId, hotelDeVille)}; @@ -926,16 +936,24 @@ UNIT_CLASS_TEST(ProcessorTest, TestCategorialSearch) } { - Rules const rules = {/*ExactMatch(wonderlandId, hotel1),*/ ExactMatch(wonderlandId, hotel2), + Rules const rules = {ExactMatch(wonderlandId, hotel1), ExactMatch(wonderlandId, hotel2), ExactMatch(wonderlandId, hotelCafe), ExactMatch(testWorldId, homel), ExactMatch(wonderlandId, hotelDeVille)}; // Homel matches exactly, other features are matched by fuzzy names. TEST(ResultsMatch("homel ", rules), ()); + } + + { + Rules const rules = {ExactMatch(wonderlandId, hotel1), ExactMatch(wonderlandId, hotel2), + ExactMatch(wonderlandId, hotelCafe), ExactMatch(testWorldId, homel), + ExactMatch(wonderlandId, hotelDeVille)}; + // A typo in search: all features fit. TEST(ResultsMatch("hofel ", rules), ()); } { Rules const rules = {ExactMatch(wonderlandId, hotelDeVille)}; + TEST(ResultsMatch("hotel de ville ", rules), ()); } } @@ -1075,7 +1093,7 @@ UNIT_CLASS_TEST(ProcessorTest, FuzzyMatch) TEST(ResultsMatch("моксва ленинргадский черчиль", rules, "ru"), ()); TEST(ResultsMatch("food", rulesWithoutStreet, "ru"), ()); - //TEST(ResultsMatch("foood", rulesWithoutStreet, "ru"), ()); + TEST(ResultsMatch("foood", rulesWithoutStreet, "ru"), ()); TEST(ResultsMatch("fod", {}, "ru"), ()); Rules rulesMetro = {ExactMatch(id, metro)}; @@ -1150,13 +1168,12 @@ UNIT_CLASS_TEST(ProcessorTest, StopWords) { Rules rules = {ExactMatch(id, bakery)}; - TEST(ResultsMatch("la boulangerie ", rules, "fr"), ()); - TEST(ResultsMatch("la motviderie ", {}, "fr"), ()); + TEST(ResultsMatch("la boulangerie ", rules, "fr"), ()); } { - /// @todo I don't see any reason, why token/prefix results should differ here? + TEST(ResultsMatch("la motviderie ", {}, "fr"), ()); TEST(ResultsMatch("la la le la la la ", {ExactMatch(id, street)}, "fr"), ()); TEST(ResultsMatch("la la le la la la", {}, "fr"), ()); } @@ -1454,9 +1471,9 @@ UNIT_CLASS_TEST(ProcessorTest, PathsThroughLayers) TEST(ResultsMatch("computing street 0 supervised cafe ", {ruleSubpoi}), ()); // SUBPOI-BUILDING-STREET / COMPLEX_POI-BUILDING-STREET - TEST(ResultsMatch("computing street statistical learning cafe ", {ruleSubpoi}), ()); + TEST(ResultsMatch("computing street statistical learning cafe ", {ruleSubpoi, ruleStreet}), ()); TEST(ResultsMatch("computing street 0 cafe ", {ruleSubpoi}), ()); - TEST(ResultsMatch("computing street statistical learning office ", {rulePoi}), ()); + TEST(ResultsMatch("computing street statistical learning office ", {rulePoi, ruleStreet}), ()); TEST(ResultsMatch("computing street 0 office ", {rulePoi}), ()); // COMPLEX_POI-BUILDING / SUBPOI-BUILDING is not supported @@ -1466,11 +1483,11 @@ UNIT_CLASS_TEST(ProcessorTest, PathsThroughLayers) TEST(ResultsMatch("0 office ", {}), ()); // COMPLEX_POI-STREET / SUBPOI - STREET - TEST(ResultsMatch("computing street cafe ", {ruleSubpoi}), ()); - TEST(ResultsMatch("computing street office ", {rulePoi}), ()); + TEST(ResultsMatch("computing street cafe ", {ruleSubpoi, ruleStreet}), ()); + TEST(ResultsMatch("computing street office ", {rulePoi, ruleStreet}), ()); // BUILDING-STREET - TEST(ResultsMatch("computing street statistical learning ", {ruleBuilding}), ()); + TEST(ResultsMatch("computing street statistical learning ", {ruleBuilding, ruleStreet}), ()); TEST(ResultsMatch("computing street 0 ", {ruleBuilding}), ()); // COMPLEX_POI / SUBPOI @@ -1732,11 +1749,9 @@ UNIT_CLASS_TEST(ProcessorTest, SquareAsStreetTest) }); SetViewport(m2::RectD(0.0, 0.0, 1.0, 2.0)); - { - Rules const rules = { ExactMatch(countryId, nonameHouse) }; - TEST(OrderedResultsMatch("revolution square 3", rules), ()); - TEST(OrderedResultsMatch("revolution sq 3", rules), ()); + Rules rules = {ExactMatch(countryId, nonameHouse)}; + TEST(ResultsMatch("revolution square 3", rules), ()); } } @@ -2010,7 +2025,7 @@ UNIT_CLASS_TEST(ProcessorTest, StreetSynonymPrefix) SetViewport(m2::RectD(0.0, 0.0, 1.0, 2.0)); { - Rules rules = {ExactMatch(countryId, house)}; + Rules rules = {ExactMatch(countryId, house), ExactMatch(countryId, street)}; TEST(ResultsMatch("3 Boulevard Maloney Est", rules), ()); } } @@ -2074,45 +2089,31 @@ UNIT_CLASS_TEST(ProcessorTest, Strasse) UNIT_CLASS_TEST(ProcessorTest, StreetSynonymsWithMisprints) { TestStreet leninsky({{0.0, -1.0}, {0.0, 1.0}}, "Ленинский проспект", "ru"); - TestStreet leningradsky({{0.0, -1.0}, {0.0, 1.0}}, "Ленинградский проспект", "ru"); TestStreet nabrezhnaya({{1.0, -1.0}, {1.0, 1.0}}, "улица набрежная", "ru"); TestStreet naberezhnaya({{2.0, -1.0}, {2.0, 1.0}}, "улица набережная", "ru"); auto countryId = BuildCountry("Wonderland", [&](TestMwmBuilder & builder) { builder.Add(leninsky); - builder.Add(leningradsky); builder.Add(nabrezhnaya); builder.Add(naberezhnaya); }); SetViewport(m2::RectD(0.0, -1.0, 2.0, 1.0)); { - Rules const rules = {ExactMatch(countryId, leninsky)}; - TEST(ResultsMatch("ленинский", rules), ()); + Rules rules = {ExactMatch(countryId, leninsky)}; TEST(ResultsMatch("ленинский проспект", rules), ()); TEST(ResultsMatch("ленинский пропект", rules), ()); - - // 2 errors + common _street_ token - TEST(ResultsMatch("ленинская улица", rules, "ru"), ()); - - TEST(ResultsMatch("ленинский street", rules, "en"), ()); - TEST(ResultsMatch("ленинский gatvė", rules, "lt"), ()); - - TEST(ResultsMatch("ленинский gade", rules, "da"), ()); - TEST(ResultsMatch("ленинский straat", rules, "nl"), ()); + TEST(ResultsMatch("ленинский", rules), ()); } { Rules rules = {ExactMatch(countryId, nabrezhnaya), ExactMatch(countryId, naberezhnaya)}; TEST(ResultsMatch("улица набрежная", rules), ()); TEST(ResultsMatch("набрежная", rules), ()); + } + { + Rules rules = {ExactMatch(countryId, naberezhnaya)}; TEST(ResultsMatch("улица набережная", rules), ()); - - TEST(ResultsMatch("набрежная street", rules, "en"), ()); - TEST(ResultsMatch("набрежная gatvė", rules, "lt"), ()); - - TEST(ResultsMatch("набрежная gade", rules, "da"), ()); - TEST(ResultsMatch("набрежная straat", rules, "nl"), ()); } } @@ -2195,6 +2196,11 @@ UNIT_CLASS_TEST(ProcessorTest, StreetSynonymPrefixMatch) TEST(ResultsMatch("Yesenina cafe ", rules), ()); TEST(ResultsMatch("Cafe Yesenina ", rules), ()); TEST(ResultsMatch("Cafe Yesenina", rules), ()); + } + { + Rules rules = {ExactMatch(countryId, cafe), ExactMatch(countryId, yesenina)}; + // Prefix match with misprints to street synonym gives street as additional result + // but we still can find the cafe. TEST(ResultsMatch("Yesenina cafe", rules), ()); } } @@ -2216,10 +2222,8 @@ UNIT_CLASS_TEST(ProcessorTest, SynonymMisprintsTest) { Rules rules = {ExactMatch(wonderlandId, bolshaya), ExactMatch(wonderlandId, bolnaya)}; - TEST(OrderedResultsMatch("большая дмитровка", - { ExactMatch(wonderlandId, bolshaya), ExactMatch(wonderlandId, bolnaya) }), ()); - TEST(OrderedResultsMatch("больная дмировка", - { ExactMatch(wonderlandId, bolnaya), ExactMatch(wonderlandId, bolshaya) }), ()); + TEST(ResultsMatch("большая дмитровка", rules), ()); + TEST(ResultsMatch("больная дмитровка", rules), ()); } { Rules rules = {ExactMatch(wonderlandId, bolshaya)}; @@ -2227,12 +2231,10 @@ UNIT_CLASS_TEST(ProcessorTest, SynonymMisprintsTest) TEST(ResultsMatch("б дмитровка", rules), ()); } { - /// @todo Results are controversial here, despite 2-errors matching. // "southeast" and "southwest" len is 9 and Levenstein distance is 2. - TEST(OrderedResultsMatch("southeast street", - { ExactMatch(wonderlandId, se), ExactMatch(wonderlandId, sw) }), ()); - TEST(OrderedResultsMatch("southwest street", - { ExactMatch(wonderlandId, sw), ExactMatch(wonderlandId, se) }), ()); + Rules rules = {ExactMatch(wonderlandId, sw), ExactMatch(wonderlandId, se)}; + TEST(ResultsMatch("southeast street", rules), ()); + TEST(ResultsMatch("southwest street", rules), ()); } { Rules rules = {ExactMatch(wonderlandId, sw)}; @@ -2246,38 +2248,6 @@ UNIT_CLASS_TEST(ProcessorTest, SynonymMisprintsTest) } } -UNIT_CLASS_TEST(ProcessorTest, StreetsFallback) -{ - TestStreet st1({{-0.5, -0.5}, {0.5, -0.5}}, "1st north street", "en"); - TestStreet st2({{-0.5, 0.5}, {0.5, 0.5}}, "2nd north street", "en"); - TestStreet rue1({{-1.5, -1.5}, {1.5, -1.5}}, "rue la foo", "fr"); - TestStreet rue2({{-1.5, 1.5}, {1.5, 1.5}}, "avenue la bar", "fr"); - - auto wonderlandId = BuildCountry("Wonderland", [&](TestMwmBuilder & builder) - { - builder.Add(st1); - builder.Add(st2); - builder.Add(rue1); - builder.Add(rue2); - }); - - { - TEST(ResultsMatch("1st street", { ExactMatch(wonderlandId, st1) }), ()); - TEST(ResultsMatch("2nd street", { ExactMatch(wonderlandId, st2) }), ()); - - TEST(ResultsMatch("rue foo", { ExactMatch(wonderlandId, rue1) }, "fr"), ()); - TEST(ResultsMatch("rue bar", { ExactMatch(wonderlandId, rue2) }, "fr"), ()); - - TEST(ResultsMatch("avenue la foo", { ExactMatch(wonderlandId, rue1) }, "fr"), ()); - TEST(ResultsMatch("av la bar", { ExactMatch(wonderlandId, rue2) }, "fr"), ()); - } - - { - TEST(OrderedResultsMatch("1st north street", { ExactMatch(wonderlandId, st1) }), ()); - TEST(OrderedResultsMatch("2nd north street", { ExactMatch(wonderlandId, st2) }), ()); - } -} - UNIT_CLASS_TEST(ProcessorTest, VillagePostcodes) { TestVillage marckolsheim({0, 0}, "Marckolsheim", "en", 10 /* rank */); @@ -2557,17 +2527,13 @@ UNIT_CLASS_TEST(ProcessorTest, ViewportFilter) params.m_viewport = m2::RectD(-1.0, -1.0, 1.0, 1.0); params.m_mode = Mode::Viewport; - /// @todo If we gonna show "relaxed" street result, will be a lot of dummies: - /// https://github.com/organicmaps/organicmaps/issues/4190 - // |street23| should not appear in viewport search because it has 2 unmatched tokens. // |street8| has 1 unmatched token. - //Rules const rules = {ExactMatch(countryId, street8)}; - Rules const rules; + Rules const rulesViewport = {ExactMatch(countryId, street8)}; TestSearchRequest request(m_engine, params); request.Run(); - TEST(ResultsMatch(request.Results(), rules), ()); + TEST(ResultsMatch(request.Results(), rulesViewport), ()); } { @@ -2577,13 +2543,13 @@ UNIT_CLASS_TEST(ProcessorTest, ViewportFilter) params.m_viewport = m2::RectD(-1.0, -1.0, 1.0, 1.0); params.m_mode = Mode::Everywhere; - /// @todo |street23| should be in everywhere search results because everywhere search mode does not - /// have matched tokens number restriction. Or not? - Rules const rules = {ExactMatch(countryId, street8)/*, ExactMatch(countryId, street23) */ }; + // |street23| should be in everywhere search results because everywhere search mode does not + // have matched tokens number restriction. + Rules const rulesViewport = {ExactMatch(countryId, street23), ExactMatch(countryId, street8)}; TestSearchRequest request(m_engine, params); request.Run(); - TEST(ResultsMatch(request.Results(), rules), ()); + TEST(ResultsMatch(request.Results(), rulesViewport), ()); } } @@ -3220,11 +3186,13 @@ UNIT_CLASS_TEST(ProcessorTest, ComplexPoi_Rank) SetViewport({-0.5, -0.5, 0.5, 0.5}); - Rules const rules = { - ExactMatch(countryId, telekom), - ExactMatch(countryId, poiInMall) - }; - TEST(OrderedResultsMatch("Telekom shop", rules), ()); + auto request = MakeRequest("Telekom shop"); + auto const & results = request->Results(); + + TEST_EQUAL(results.size(), 2, ()); + + TEST(ResultsMatch({results[0]}, {ExactMatch(countryId, telekom)}), ()); + TEST(ResultsMatch({results[1]}, {ExactMatch(countryId, poiInMall)}), ()); } UNIT_CLASS_TEST(ProcessorTest, Place_Region) @@ -3281,52 +3249,4 @@ UNIT_CLASS_TEST(ProcessorTest, FuzzyCategories) } } -UNIT_CLASS_TEST(ProcessorTest, StreetCategories) -{ - std::string const lang = "en"; - - TestStreet street({{-1, -1}, {1, 1}}, "Avenida Santa Fe", lang); - street.SetType({"highway", "secondary"}); - - TestPOI bus({0, 0}, "Avenida Santa Fe", lang); - bus.SetTypes({{"highway", "bus_stop"}}); - - TestPOI shop({-0.5, -0.5}, "Galerías Bond Street", lang); - shop.SetTypes({{"shop", "department_store"}}); - - auto wonderlandId = BuildCountry("Wonderland", [&](TestMwmBuilder & builder) - { - builder.Add(street); - builder.Add(bus); - builder.Add(shop); - }); - - SetViewport(m2::RectD(-0.5, -0.5, 0.5, 0.5)); - - { - Rules const rules = { - ExactMatch(wonderlandId, bus), - ExactMatch(wonderlandId, street) - }; - TEST(OrderedResultsMatch("avenida santa fe ", rules), ()); - } - - { - Rules const rules = { - ExactMatch(wonderlandId, street), - ExactMatch(wonderlandId, bus), - ExactMatch(wonderlandId, shop), - }; - TEST(OrderedResultsMatch("avenida santa fe street ", rules), ()); - } - - { - Rules const rules = { - ExactMatch(wonderlandId, street), - ExactMatch(wonderlandId, bus), - }; - TEST(OrderedResultsMatch(MakeRequest("avenida santa fe улица ", "ru")->Results(), rules), ()); - } -} - } // namespace processor_test diff --git a/search/search_tests/feature_offset_match_tests.cpp b/search/search_tests/feature_offset_match_tests.cpp index 35309f1417..f68bf4ecbb 100644 --- a/search/search_tests/feature_offset_match_tests.cpp +++ b/search/search_tests/feature_offset_match_tests.cpp @@ -3,8 +3,8 @@ #include "search/feature_offset_match.hpp" #include "indexer/trie.hpp" -#include "indexer/search_string_utils.hpp" +#include "base/dfa_helpers.hpp" #include "base/mem_trie.hpp" #include "base/string_utils.hpp" @@ -14,15 +14,15 @@ namespace feature_offset_match_tests { -using namespace strings; +using namespace base; using namespace std; -using Key = UniString; +using Key = strings::UniString; using Value = uint32_t; -using ValueList = base::VectorValues; -using Trie = base::MemTrie; -using DFA = LevenshteinDFA; -using PrefixDFA = PrefixDFAModifier; +using ValueList = VectorValues; +using Trie = MemTrie; +using DFA = strings::LevenshteinDFA; +using PrefixDFA = strings::PrefixDFAModifier; UNIT_TEST(MatchInTrieTest) { @@ -31,7 +31,7 @@ UNIT_TEST(MatchInTrieTest) vector> const data = {{"hotel", 1}, {"homel", 2}, {"hotel", 3}}; for (auto const & kv : data) - trie.Add(MakeUniString(kv.first), kv.second); + trie.Add(strings::MakeUniString(kv.first), kv.second); trie::MemTrieIterator const rootIterator(trie.GetRootIterator()); map vals; @@ -49,12 +49,6 @@ UNIT_TEST(MatchInTrieTest) TEST(vals.at(2), (vals)); TEST(!vals.at(1), (vals)); TEST(!vals.at(3), (vals)); - - vals.clear(); - auto const hoDFA = search::BuildLevenshteinDFA(MakeUniString("ho")); - // If somebody cares about return value - it indicates existing of node in trie, but not the actual values. - TEST(search::impl::MatchInTrie(rootIterator, nullptr, 0 /* prefixSize */, hoDFA, saveResult), ()); - TEST(vals.empty(), (vals)); } UNIT_TEST(MatchPrefixInTrieTest) @@ -64,7 +58,7 @@ UNIT_TEST(MatchPrefixInTrieTest) vector> const data = {{"лермонтовъ", 1}, {"лермонтово", 2}}; for (auto const & kv : data) - trie.Add(MakeUniString(kv.first), kv.second); + trie.Add(strings::MakeUniString(kv.first), kv.second); trie::MemTrieIterator const rootIterator(trie.GetRootIterator()); map vals; diff --git a/search/search_tests/house_numbers_matcher_test.cpp b/search/search_tests/house_numbers_matcher_test.cpp index e29e569334..29dea8d741 100644 --- a/search/search_tests/house_numbers_matcher_test.cpp +++ b/search/search_tests/house_numbers_matcher_test.cpp @@ -190,10 +190,4 @@ UNIT_TEST(LooksLikeHouseNumber_Smoke) TEST(LooksLikeHouseNumber("д 16", false /* isPrefix */), ()); TEST(LooksLikeHouseNumber("дом 16", false /* isPrefix */), ()); TEST(LooksLikeHouseNumber("дом 14 д 1", false /* isPrefix */), ()); - - TEST(!LooksLikeHouseNumber("улица", false /* isPrefix */), ()); - /// @todo By VNG: Don't know is it supposed or not, but next tokens are _looks like house numbers_! - /// @see g_strings in house_numbers_matching.cpp - TEST(LooksLikeHouseNumber("avenida", false /* isPrefix */), ()); - TEST(LooksLikeHouseNumber("street", false /* isPrefix */), ()); } diff --git a/search/search_tests_support/helpers.cpp b/search/search_tests_support/helpers.cpp index 72b036e30c..fedf400045 100644 --- a/search/search_tests_support/helpers.cpp +++ b/search/search_tests_support/helpers.cpp @@ -27,8 +27,7 @@ void SearchTestBase::SetViewport(ms::LatLon const & ll, double radiusM) SetViewport(mercator::MetersToXY(ll.m_lon, ll.m_lat, radiusM)); } -bool SearchTestBase::CategoryMatch(std::string const & query, Rules const & rules, - string const & locale /* = "en" */) +bool SearchTestBase::CategoryMatch(std::string const & query, Rules const & rules, string const & locale) { TestSearchRequest request(m_engine, query, locale, Mode::Everywhere, m_viewport); request.SetCategorial(); @@ -38,44 +37,19 @@ bool SearchTestBase::CategoryMatch(std::string const & query, Rules const & rule } bool SearchTestBase::ResultsMatch(std::string const & query, Rules const & rules, - std::string const & locale /* = "en" */, - Mode mode /* = Mode::Everywhere */) + std::string const & locale /* = "en" */, + Mode mode /* = Mode::Everywhere */) { TestSearchRequest request(m_engine, query, locale, mode, m_viewport); request.Run(); return MatchResults(m_dataSource, rules, request.Results()); } -bool SearchTestBase::OrderedResultsMatch(std::string const & query, Rules const & rules, - std::string const & locale /* = "en" */, - Mode mode /* = Mode::Everywhere */) -{ - TestSearchRequest request(m_engine, query, locale, mode, m_viewport); - request.Run(); - return OrderedResultsMatch(request.Results(), rules); -} - bool SearchTestBase::ResultsMatch(vector const & results, Rules const & rules) { return MatchResults(m_dataSource, rules, results); } -bool SearchTestBase::OrderedResultsMatch(std::vector const & results, Rules const & rules) -{ - if (results.size() != rules.size()) - return false; - - for (size_t i = 0; i < results.size(); ++i) - { - if (!ResultMatches(m_dataSource, rules[i], results[i])) - { - LOG(LWARNING, ("Not matched:", rules[i], results[i])); - return false; - } - } - return true; -} - bool SearchTestBase::ResultsMatch(SearchParams const & params, Rules const & rules) { TestSearchRequest request(m_engine, params); diff --git a/search/search_tests_support/helpers.hpp b/search/search_tests_support/helpers.hpp index 2e24fba2ab..2c7378a9e6 100644 --- a/search/search_tests_support/helpers.hpp +++ b/search/search_tests_support/helpers.hpp @@ -35,14 +35,7 @@ public: bool ResultsMatch(std::string const & query, Rules const & rules, std::string const & locale = "en", Mode mode = Mode::Everywhere); - - bool OrderedResultsMatch(std::string const & query, Rules const & rules, - std::string const & locale = "en", - Mode mode = Mode::Everywhere); - bool ResultsMatch(std::vector const & results, Rules const & rules); - bool OrderedResultsMatch(std::vector const & results, Rules const & rules); - bool ResultsMatch(SearchParams const & params, Rules const & rules); bool IsResultMatches(Result const & result, Rule const & rule); diff --git a/search/streets_matcher.cpp b/search/streets_matcher.cpp index 1a643d8c85..99e7bf0c30 100644 --- a/search/streets_matcher.cpp +++ b/search/streets_matcher.cpp @@ -5,6 +5,7 @@ #include "indexer/search_string_utils.hpp" +#include "base/logging.hpp" #include "base/stl_helpers.hpp" #include @@ -68,9 +69,12 @@ void FindStreets(BaseContext const & ctx, CBV const & candidates, FeaturesFilter // When true, no bit vectors were intersected with |streets| at all. bool emptyIntersection = true; - auto emit = [&]() - { - if (streets.IsEmpty() || emptyIntersection || lastToken == curToken) + // When true, |streets| is in the incomplete state and can't be + // used for creation of street layers. + bool incomplete = false; + + auto emit = [&]() { + if (streets.IsEmpty() || emptyIntersection || incomplete || lastToken == curToken) return; CBV fs(streets); @@ -97,27 +101,41 @@ void FindStreets(BaseContext const & ctx, CBV const & candidates, FeaturesFilter ASSERT_LESS_OR_EQUAL(fs.PopCount(), fa.PopCount(), ()); prediction.m_prob = static_cast(fs.PopCount()) / static_cast(fa.PopCount()); - prediction.m_features = std::move(fs); + prediction.m_features = move(fs); prediction.m_hash = prediction.m_features.Hash(); prediction.m_withMisprints = withMisprints; }; - StreetTokensFilter streetsFilter([&](strings::UniString const &, size_t tag) - { - auto buffer = streets.Intersect(ctx.m_features[tag].m_features); - ASSERT_EQUAL(tag, curToken, ()); + StreetTokensFilter streetsFilter( + [&](strings::UniString const & /* token */, size_t tag) { + auto buffer = streets.Intersect(ctx.m_features[tag].m_features); + if (tag < curToken) + { + // This is the case for delayed + // street synonym. Therefore, + // |streets| is temporarily in the + // incomplete state. + streets = buffer; + all = all.Intersect(ctx.m_features[tag].m_features); + emptyIntersection = false; - // |streets| will become empty after - // the intersection. Therefore we need - // to create streets layer right now. - if (buffer.IsEmpty()) - emit(); + incomplete = true; + return; + } + ASSERT_EQUAL(tag, curToken, ()); - streets = buffer; - all = all.Intersect(ctx.m_features[tag].m_features); - emptyIntersection = false; + // |streets| will become empty after + // the intersection. Therefore we need + // to create streets layer right now. + if (buffer.IsEmpty()) + emit(); - }, withMisprints); + streets = buffer; + all = all.Intersect(ctx.m_features[tag].m_features); + emptyIntersection = false; + incomplete = false; + }, + withMisprints); for (; curToken < ctx.m_numTokens && !ctx.IsTokenUsed(curToken) && !streets.IsEmpty(); ++curToken) { diff --git a/search/utils.hpp b/search/utils.hpp index bf4b9fb283..cabfcf71f4 100644 --- a/search/utils.hpp +++ b/search/utils.hpp @@ -59,12 +59,10 @@ void ForEachCategoryTypeFuzzy(StringSliceBase const & slice, Locales const & loc for (size_t i = 0; i < slice.Size(); ++i) { - /// @todo We build dfa twice for each token: here and in geocoder.cpp. - /// A possible optimization is to build each dfa once and save it. Note that - /// dfas for the prefix tokens differ, i.e. we ignore slice.IsPrefix(i) here. - + // todo(@m, @y). We build dfa twice for each token: here and in geocoder.cpp. + // A possible optimization is to build each dfa once and save it. Note that + // dfas for the prefix tokens differ, i.e. we ignore slice.IsPrefix(i) here. SearchTrieRequest request; - /// @todo Shall we match prefix tokens for categories? request.m_names.push_back(BuildLevenshteinDFA_Category(slice.Get(i))); request.SetLangs(locales); diff --git a/tools/python/maps_generator/README.md b/tools/python/maps_generator/README.md index 192fb19567..8813ffef44 100644 --- a/tools/python/maps_generator/README.md +++ b/tools/python/maps_generator/README.md @@ -1,20 +1,23 @@ # maps_generator -`maps_generator` is the Python CLI for generating .mwm maps for the Organic Maps application. This tool functions as the driver for the `generator_tool` C++ executable. +It's tool for generation maps for the Organic Maps application. -**Use the `generator_tool` and application from the same release. The application does not support -maps built by a generator_tool newer than the app.** +Note: **Use generator_tool and application from the same release. Application does not support +maps built by generator_tool newer than app.** ## What are maps? -Maps are .mwm binary files with special meta-information for rendering, searching, routing, and other use cases. -Files from [data/borders](https://github.com/organicmaps/organicmaps/tree/master/data/borders) define map boundaries for each individual file. The world is segmented into separate files by these boundaries, with the intent of having managebly small files to download. These files are referred to as *maps* or *countries*. A country is referring to one of these files, not necesarily a geographic country. Also note that there are two special countries called *World* and *WorldCoasts*. These are small simplified maps of the world and coastlines used when other maps have not yet been downloaded. +Maps are data with special meta information for drawing, quick searching and routing and for other. +Files from [data/borders](https://github.com/organicmaps/organicmaps/tree/master/data/borders) define map boundaries. +Further we will call it countries or simply maps. +But there are two special maps: World and WorldCoasts. They are used when other maps have not been downloaded. +Further we will call them world and coastlines. ## Setup -You must have Python version >= 3.6 and complete the following steps: +You must have Python version not lower than 3.6 and complete the following steps: -1. Switch to the branch of your app's version (see the note of #maps_generator section). +0. Switch to the branch of your app's version (see the note of #maps_generator section). For example, if you use OMaps 9.2.3 you should do: ```sh @@ -23,43 +26,35 @@ git checkout release-92 The app version can be found in the "About" section in the settings menu of OMaps. -2. Build and install the generator_tool. - -```sh -./tools/unix/build_omim.sh -r generator_tool -./tools/unix/build_omim.sh -r world_roads_builder_tool -``` - -3. Change directory: +1. [Build and install generator_tool.](https://github.com/organicmaps/organicmaps/blob/master/docs/INSTALL.md#desktop-app) +2. Change directory: ```sh $ cd omim/tools/python/maps_generator ``` -4. Install dependencies: +3. Install dependencies: ```sh maps_generator$ pip3 install -r requirements_dev.txt ``` -5. 1 Make the ini configuration file: +4. Make ini file: ```sh maps_generator$ cp var/etc/map_generator.ini.default var/etc/map_generator.ini ``` -6. Edit the ini file: +5. Edit ini file: ```sh maps_generator$ vim var/etc/map_generator.ini ``` -Here is a sample ini that will download an OSM PBF file for the Yukon Territories, Canada from [GEOFABRIK](https://www.geofabrik.de/). You can replace the *osm.pbf* and *osm.pbf.md5* with other areas instead. Note that an entire planet file currently takes 40+ hours on a server with 256GB of RAM. Unless you have a machine this large, it is recommended to use a smaller extract. - ```ini [Main] # If the flag DEBUG is set a special small planet file will be downloaded. -DEBUG: 0 +DEBUG: 1 # The path where the planet will be downloaded and the maps are generated. MAIN_OUT_PATH: ~/maps_build # The path where caches for nodes, ways, relations are stored. @@ -68,15 +63,17 @@ MAIN_OUT_PATH: ~/maps_build [Developer] # The path where the generator_tool will be searched. -# Usually this is in the same parent directory of the organicmaps repo. BUILD_PATH: ~/omim-build-release -# The path to the organicmaps repo -OMIM_PATH: ~/code/organicmaps +# The path to the project directory omim. +OMIM_PATH: ~/omim [Generator tool] -# The path to the data folder in the repository. +# The path to the omim/data. USER_RESOURCE_PATH: ${Developer:OMIM_PATH}/data +# Do not change it. This is determined automatically. +# NODE_STORAGE: map + [Osm tools] # The path to the osmctools sources. @@ -87,46 +84,34 @@ OSM_TOOLS_PATH: ~/osmctools [Stages] # Run osmupdate tool for planet. -# You can set this to 1 if you would like osmupdate to apply updates to an out-of-date osm.pbf NEED_PLANET_UPDATE: 0 # Auto detection. THREADS_COUNT_FEATURES_STAGE: 0 -# If you want to calculate diffs, you need to specify, where old maps are. +# If you want to calculate diffs, you need to specify, where old maps are DATA_ARCHIVE_DIR: ${Generator tool:USER_RESOURCE_PATH} -# How many versions in the archive to use for diff calculation. +# You may specify, how many versions in the archive to use for diff calculation DIFF_VERSION_DEPTH: 2 [Logging] # The path where maps_generator log will be saved. -# Defaults to $MAIN_OUT_PATH/generation.log # LOG_FILE_PATH: generation.log [External] -# Note: If you want to set a directory name you have to add "/" to the end of url. -# In each field where you need to specify a URL, you can specify the path to the file system using file:///path/to/file -# It is recommended to start with an https:// path to an osm.pbf and osm.pbf.mdf file. - # The url to the planet file. -PLANET_URL: https://download.geofabrik.de/north-america/canada/yukon-latest.osm.pbf +# PLANET_URL: # The url to the file with md5 sum of the planet. -PLANET_MD5_URL: https://download.geofabrik.de/north-america/canada/yukon-latest.osm.pbf.md5 +# PLANET_MD5_URL: # The base url to WorldCoasts.geom and WorldCoasts.rawgeom (without file name). # Files latest_coasts.geom and latest_coasts.rawgeom must be at this URL. # For example, if PLANET_COASTS_URL = https://somesite.com/download/ # The https://somesite.com/download/latest_coasts.geom url will be used to download latest_coasts.geom and # the https://somesite.com/download/latest_coasts.rawgeom url will be used to download latest_coasts.rawgeom. # PLANET_COASTS_URL: -# Set to 'true' to build special routing section in World.mwm for alerting about absent regions without which the -# route can't be built. This should be true for any non-planet build. -NEED_BUILD_WORLD_ROADS: true # The url to the subway file. SUBWAY_URL: https://cdn.organicmaps.app/subway.json -# The url of the location with the transit files extracted from GTFS. -# TRANSIT_URL: - # Urls for production maps generation. # UGC_URL: # HOTELS_URL: @@ -139,34 +124,26 @@ SUBWAY_URL: https://cdn.organicmaps.app/subway.json # UK_POSTCODES_URL: # US_POSTCODES_URL: + [Common] # Auto detection. THREADS_COUNT: 0 + [Stats] # Path to rules for calculating statistics by type STATS_TYPES_CONFIG: ${Developer:OMIM_PATH}/tools/python/maps_generator/var/etc/stats_types_config.txt ``` -### Notes +##### Note 1: In each field where you need to specify a URL, you can specify the path to the file system using file:///path/to/file -In each field where you need to specify a URL, you can specify the path to the file system using `file:///path/to/file`. +##### Note 2: You can manually generate subway layer file for SUBWAY_URL parameter. See [instructions](https://github.com/organicmaps/organicmaps/tree/master/docs/SUBWAY_GENERATION.md). -You can manually generate a subway layer file with the SUBWAY_URL parameter. See [instructions](https://github.com/organicmaps/organicmaps/tree/master/docs/SUBWAY_GENERATION.md). - -## Basic Usage - -Make sure you are in the `tools/python` directory when running the CLI. Unless you have URLs for coastline files, skip the coastline. +## Usage ```sh -cd tools/python -python -m maps_generator --countries="Canada_Yukon_North, Canada_Yukon_Whitehorse" --skip="Coastline" -``` - -## Help - -```sh -python$ python -m maps_generator -h +$ cd omim/tools/python +python$ python3.6 -m maps_generator -h ``` ``` @@ -218,19 +195,22 @@ optional arguments: --order ORDER Mwm generation order. ``` -If you are not from the Organic Maps team, then you do not need the option --production when generating maps. +If you are not from the maps.me team, then you do not need the option --production when generating maps. -It is recommended to have 1TB of hard disk space with 256+GB of RAM to generate the entire planet. Expect the job to take about 40 hours. +To generate maps for the whole planet you need 400 GB of hard disk space and a computer with more than 64 GB RAM. -Because different maps take varying amounts of time to generate, you can provide an ordered list of maps. -This way, you can choose which maps you would like to see completed first in a long build. -The default is `var/etc/mwm_generation_order.txt`, and you can override this behavior with the option -`--order=/path/to/mwm_generation_order.txt`. +If you want to generate a lot of maps, then it may be important for you to order the generation of maps. +Because different maps take different amounts of time to generate. +Using a list with maps order can reduce build time on a multi-core computer. +The order from: var/etc/mwm_generation_order.txt is used by default. +You can override this behavior with the option --order=/path/to/mwm_generation_order.txt You can calculate this list yourself from the statistics, which is calculated with each generation. -## More Examples +### Examples -### Japan with coastlines +#### Non-standard planet with coastlines + +If you want to generate maps for Japan you must complete the following steps: 1. Open https://download.geofabrik.de/asia/japan.html and copy url of osm.pbf and md5sum files. 2. Edit ini file: @@ -250,26 +230,24 @@ PLANET_MD5_URL: https://download.geofabrik.de/asia/japan-latest.osm.pbf.md5 ... ``` -To build an entire country with coastlines, you need to download the *latest_coasts.geom* and *latest_coasts.rawgeom* files and specify their path in the config. You don't need to download these files if the whole planet is built. They are generated in the process of building the whole planet. - 3. Run ```sh -python$ python -m maps_generator --countries="World, WorldCoasts, Japan_*" +python$ python3.6 -m maps_generator --countries="World, WorldCoasts, Japan_*" ``` -### Rebuild stages +#### Rebuild stages: -For example, you changed routing code in the project and want to regenerate maps. +For example, you changed routing code in omim project and want to regenerate maps. You must have previous generation. You may regenerate from stage routing only for two mwms: ```sh -python$ python -m maps_generator -c --from_stage="Routing" --countries="Japan_Kinki Region_Osaka_Osaka, Japan_Chugoku Region_Tottori" +python$ python3.6 -m maps_generator -c --from_stage="Routing" --countries="Japan_Kinki Region_Osaka_Osaka, Japan_Chugoku Region_Tottori" ``` -To generate maps with the coastline, you need more time and you need the planet to contain a continuous coastline. +##### Note: To generate maps with the coastline, you need more time and you need the planet to contain a continuous coastline. -### Extract without coastlines +#### Non-standard planet without coastlines If you want to generate maps for Moscow you must complete the following steps: @@ -294,12 +272,12 @@ PLANET_MD5_URL: https://download.geofabrik.de/russia/central-fed-district-latest 3. Run ```sh -python$ python -m maps_generator --countries="Japan_Chugoku Region_Tottori" --skip="Coastline" +python$ python3.6 -m maps_generator --countries="Russia_Moscow" --skip="Coastline" ``` -### Custom maps from GeoJSON +#### Generate all possible mwms from .osm.pbf file -If you have an OSM PBF file and want to cut custom map regions, you can use a polygon feature in a GeoJSON file. This is a useful alternative if you want a custom area, or you do not want to figure out which countrie(s) apply to the area you need. +If you have some .osm.pbf file, want to cut some area from it and generate maps from this area, but don't want to think what mwms got into this .osm.pbf file, you may follow the steps: 1. If you don't already have the .osm.pbf file, download applicable area of the world in .osm.pbf format, for example from [Geofabrik](http://download.geofabrik.de/index.html). 2. Generate area in geojson format of the territory in which you are interested. You can do it via [geojson.io](http://geojson.io/). Select the area on the map and copy corresponding part of the resulting geojson. You need to copy the contents of the `features: [ { ... } ]`, without features array, but with inner braces: `{...}`. For example, here is the full geojson of the rectangle area around Melbourne: @@ -359,7 +337,7 @@ osmium extract -p borders.geojson germany-latest.osm.pbf -o germany_part.osm.pbf 5. Run the `maps_generator` tool: ```sh -python$ python -m maps_generator --skip="Coastline" --without_countries="World*" +python$ python3.6 -m maps_generator --skip="Coastline" --without_countries="World*" ``` In this example we skipped generation of the World\* files because they are ones of the most time- and resources-consuming mwms.