diff --git a/iphone/metadata/en-US/subtitle.txt b/iphone/metadata/en-US/subtitle.txt index e4197aa050..d4c39c08a2 100644 --- a/iphone/metadata/en-US/subtitle.txt +++ b/iphone/metadata/en-US/subtitle.txt @@ -1 +1 @@ -Privacy-Focused Navigation +GPS, Travel, Navigation diff --git a/iphone/metadata/es/description.txt b/iphone/metadata/es-ES/description.txt similarity index 100% rename from iphone/metadata/es/description.txt rename to iphone/metadata/es-ES/description.txt diff --git a/iphone/metadata/es-ES/keywords.txt b/iphone/metadata/es-ES/keywords.txt new file mode 100644 index 0000000000..1c1bd88225 --- /dev/null +++ b/iphone/metadata/es-ES/keywords.txt @@ -0,0 +1 @@ +mapas,desconectado,viaje,navegación,GPS,direcciones,ruta,caminata,bicicleta,ciclismo,openstreetmap diff --git a/iphone/metadata/es/marketing_url.txt b/iphone/metadata/es-ES/marketing_url.txt similarity index 100% rename from iphone/metadata/es/marketing_url.txt rename to iphone/metadata/es-ES/marketing_url.txt diff --git a/iphone/metadata/es-ES/name.txt b/iphone/metadata/es-ES/name.txt new file mode 100644 index 0000000000..ac6fd3c749 --- /dev/null +++ b/iphone/metadata/es-ES/name.txt @@ -0,0 +1 @@ +Organic Maps Offline Hike&Bike diff --git a/iphone/metadata/es/privacy_url.txt b/iphone/metadata/es-ES/privacy_url.txt similarity index 100% rename from iphone/metadata/es/privacy_url.txt rename to iphone/metadata/es-ES/privacy_url.txt diff --git a/iphone/metadata/es-ES/promotional_text.txt b/iphone/metadata/es-ES/promotional_text.txt new file mode 100644 index 0000000000..6a8ab63fed --- /dev/null +++ b/iphone/metadata/es-ES/promotional_text.txt @@ -0,0 +1 @@ +Por favor, informa de todos los problemas de los mapas directamente a OpenStreetMap. Y comunícanos cualquier error o problema. ¡Gracias! diff --git a/iphone/metadata/es-ES/release_notes.txt b/iphone/metadata/es-ES/release_notes.txt new file mode 120000 index 0000000000..457102d1e4 --- /dev/null +++ b/iphone/metadata/es-ES/release_notes.txt @@ -0,0 +1 @@ +../en-US/release_notes.txt \ No newline at end of file diff --git a/iphone/metadata/es-ES/subtitle.txt b/iphone/metadata/es-ES/subtitle.txt new file mode 100644 index 0000000000..1dad1d9710 --- /dev/null +++ b/iphone/metadata/es-ES/subtitle.txt @@ -0,0 +1 @@ +GPS, Viajes, Navegación diff --git a/iphone/metadata/es/support_url.txt b/iphone/metadata/es-ES/support_url.txt similarity index 100% rename from iphone/metadata/es/support_url.txt rename to iphone/metadata/es-ES/support_url.txt diff --git a/iphone/metadata/es/keywords.txt b/iphone/metadata/es/keywords.txt deleted file mode 100644 index 9ff6320236..0000000000 --- a/iphone/metadata/es/keywords.txt +++ /dev/null @@ -1 +0,0 @@ -maps,offline,travel,navigation,GPS,directions,route,hike,bike,cycling,openstreetmap,osm,trails,nav diff --git a/iphone/metadata/es/name.txt b/iphone/metadata/es/name.txt deleted file mode 100644 index 4cb7508cac..0000000000 --- a/iphone/metadata/es/name.txt +++ /dev/null @@ -1 +0,0 @@ -Organic Maps Senderismo y Bici sin conexión diff --git a/iphone/metadata/es/promotional_text.txt b/iphone/metadata/es/promotional_text.txt deleted file mode 100644 index 1e6073ac95..0000000000 --- a/iphone/metadata/es/promotional_text.txt +++ /dev/null @@ -1 +0,0 @@ -Por favor, informa de todos los problemas de los mapas directamente a OpenStreetMap. Y comunícanos cualquier error o problema, nuestro pequeño equipo estará encantado de escucharte. ¡Gracias! diff --git a/iphone/metadata/es/release_notes.txt b/iphone/metadata/es/release_notes.txt deleted file mode 100644 index b62b94e682..0000000000 --- a/iphone/metadata/es/release_notes.txt +++ /dev/null @@ -1,7 +0,0 @@ -- Nuevos datos de mapas OSM a partir del 02/10/2021 -- Añadido el tipo healthcare=laboratorio -- Corregidos algunos iconos de mapas y su visibilidad -- Arreglado un raro fallo de enrutamiento -- Corregidos los tipos de cruce, edificio=hotel, energía=subestación, ferrocarril=subterráneo, turismo=obra de arte -- Se ha corregido la falta de direcciones de algunos edificios con entradas. -- Arreglos menores de localización diff --git a/iphone/metadata/es/subtitle.txt b/iphone/metadata/es/subtitle.txt deleted file mode 100644 index fc6fa44020..0000000000 --- a/iphone/metadata/es/subtitle.txt +++ /dev/null @@ -1 +0,0 @@ -Navegación centrada en la privacidad diff --git a/tools/python/check_store_metadata.py b/tools/python/check_store_metadata.py index 75c4f44741..3693267c7f 100755 --- a/tools/python/check_store_metadata.py +++ b/tools/python/check_store_metadata.py @@ -10,6 +10,27 @@ from urllib.parse import urlparse os.chdir(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..", "..")) +# https://support.google.com/googleplay/android-developer/answer/9844778?visit_id=637740303439369859-3116807078&rd=1#zippy=%2Cview-list-of-available-languages +GPLAY_LOCALES = [ + "af", "am", "ar", "hy-AM", "az-AZ", "eu-ES", "be", "bn-BD", "bg", "my-MM", + "ca", "zh-HK", "zh-CN", "zh-TW", "hr", "cs-CZ", "da-DK", "nl-NL", "en-AU", + "en-CA", "en-IN", "en-SG", "en-GB", "en-US", "et", "fil", "fi-FI", "fr-FR", + "fr-CA", "gl-ES", "ka-GE", "de-DE", "el-GR", "iw-IL", "hi-IN", "hu-HU", + "is-IS", "id", "it-IT", "ja-JP", "kn-IN", "km-KH", "ko-KR", "ky-KG", + "lo-LA", "lv", "lt", "mk-MK", "ms", "ml-IN", "mr-IN", "mn-MN", "ne-NP", + "no-NO", "fa", "pl-PL", "pt-BR", "pt-PT", "ro", "rm", "ru-RU", "sr", + "si-LK", "sk", "sl", "es-419", "es-ES", "es-US", "sw", "sv-SE", "ta-IN", + "te-IN", "th", "tr-TR", "uk", "vi", "zu", +] + +# From a Fastline error message +APPSTORE_LOCALES = [ + "ar-SA", "ca", "cs", "da", "de-DE", "el", "en-AU", "en-CA", + "en-GB", "en-US", "es-ES", "es-MX", "fi", "fr-CA", "fr-FR", + "he", "hi", "hr", "hu", "id", "it", "ja", "ko", "ms", "nl-NL", + "no", "pl", "pt-BR", "pt-PT", "ro", "ru", "sk", "sv", "th", "tr", + "uk", "vi", "zh-Hans", "zh-Hant" +] def error(path, message, *args, **kwargs): print("❌", path + ":", message.format(*args, **kwargs), file=sys.stderr) @@ -62,7 +83,10 @@ def check_android(): ok = check_email(flavor + "contact-email.txt") and ok ok = check_exact(flavor + "default-language.txt", "en-US") and ok maxTitle = 30 if 'google' in flavor else 50 - for locale in glob.glob(flavor + 'listings/??-??/'): + for locale in glob.glob(flavor + 'listings/*/'): + if locale.split('/')[-2] not in GPLAY_LOCALES: + ok = error(locale, "unsupported locale") and ok + continue ok = check_text(locale + "title.txt", maxTitle) and ok ok = check_text(locale + "short-description.txt", 80) and ok ok = check_text(locale + "full-description.txt", 4000) and ok @@ -72,7 +96,10 @@ def check_android(): def check_ios(): ok = True - for locale in glob.glob('iphone/metadata/??-??/'): + for locale in glob.glob('iphone/metadata/*/'): + if locale.split('/')[-2] not in APPSTORE_LOCALES: + ok = error(locale, "unsupported locale") and ok + continue ok = check_text(locale + "name.txt", 30) and ok ok = check_text(locale + "subtitle.txt", 30) and ok ok = check_text(locale + "promotional_text.txt", 170) and ok