#ios #localization #here-api
#iOS #локализация #здесь-api
Вопрос:
Я использую HERE iOS SDK и внедряю пошаговую навигацию.
Я хотел бы использовать язык по умолчанию для языков с нелатинскими символами.
Возможно ли принудительно выполнить currentManeuver.roadName
локализацию на указанный язык?
В документации говорится, что roadName
и другие свойства локализованы в соответствии с языковым стандартом региона, но не указано, можем ли мы это изменить.
Ответ №1:
Вы можете изменить язык отображения, используемый в навигационной карте (NMAMapView):
Objective C: useDisplayLanguageFromLocale:(nonnull NSLocale *)locale;
Swift: func useDisplayLanguage(fromLocale locale: Locale) -> Bool
Swift: NMANavigationManager.sharedInstance().map = <Your NMAMapView>
Комментарии:
1. К сожалению, у меня это не работает. Я попробовал устройство с греческим языком (iOS 12.1.4). Карта точно использует язык отображения, но
roadName
который я беру изcurrentManeuver
, по-прежнему содержит греческие буквы.2. Язык диспетчера навигации зависит от текущего языка вашего телефона (locale). Если вы измените это на английский (или не греческий язык), «roadName» из «currentManeuver» изменится соответствующим образом.
3. Хорошо, поэтому я не могу заставить его отображать дороги на определенном языке. Я думаю, что это может быть приятным улучшением, потому что в некоторых случаях определенные локали не поддерживаются, поэтому в этих случаях вы увидите приложение, например, с картой на английском языке, самовнушением на английском языке (можно установить язык результата для NMAAutoSuggestionRequest), но с маневрами на другом языке, что делает пользовательский интерфейс немного запутанным. Спасибо за поддержку.