Я уже сохраняю данные о местах из Google Places SDK для IOS в базе данных Firestore и обнаружил пару проблем с названиями городов: даже они могут храниться либо на языке по умолчанию (например, EN), либо на языке текущего пользователя.на местном языке (то есть: ES), есть две проблемы:
1) Если города всегда хранятся на английском языке, как я могу показать эти города на местном языке пользователя, если он отличается от английского?
2) Если я храню все города на местном языке, как я могу подсчитать все записи, относящиеся к определенному городу, если их имена отличаются и не имеют уникального идентификатора?(например: Барселона, Барселона, Барцелона ..)
Это не проблема для стран, поскольку я могу использовать короткое имя в качестве идентификатора независимо от языка.Это позволяет мне сохранять и показывать страну на местном языке, а также подсчитывать количество записей из конкретной страны, используя код страны (короткое имя).
Пример кода, в котором я получаю название города,название страны и краткое название страны:
func retrievePlaceFieldsFromGoogle (placeFound: GMSPlace) {
// Let's assume the class Place has only 3 fields: city name, country name and country code
let place = Place()
if let address = placeFound.addressComponents {
for component in address {
for type in component.types {
if type == "locality" {
place.addressLocality = component.name
} else if type == "country" {
place.addressCountry = component.name
if let countryCode = component.shortName {
place.countryCode = countryCode
}
}
}
}
}
}
Следовательно, есть ли способ:
a) Сохранять названия городов в Google Местах на местном языке, но затем иметь возможность идентифицироватьгород независимо от языка?
b) Сохранять названия городов из Google Мест на языке по умолчанию, но затем отображать их на местном языке пользователя?
Если источники данных ограничены, возможно,Я мог бы реализовать своего рода функцию «перевода», но, учитывая огромное количество комбинаций языков и городов, это не похоже на вариант.