Aptem Опубликовано 16 июня, 2014 Поделиться Опубликовано 16 июня, 2014 Здравствуйте. Разработка на Delphi XE5. Как программно определить локаль, установленную на устройстве под управлением iOS? В Objective C это делается так: NSString *currentLanguage = [[NSLocale preferredLanguages] objectAtIndex:0]; Есть что-то подобное в Delphi? Спасибо. Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 16 июня, 2014 Администраторы Поделиться Опубликовано 16 июня, 2014 Добрый день, Например так, если использовать кроссплатформенный сервис FM: uses FMX.Platform; {$R *.fmx} procedure TForm2.Button1Click(Sender: TObject); var LocaleService: IFMXLocaleService; LangID: string; begin if TPlatformServices.Current.SupportsPlatformService(IFMXLocaleService, IInterface(LocaleService)) then LangID := LocaleService.GetCurrentLangID; end; Либо, как вы заметили, можно этого добиться используя на прямую iOS API: var CurrentLocale: NSLocale; LanguageISO: NSString; begin CurrentLocale := TNSLocale.Wrap(TNSLocale.OCClass.currentLocale); LanguageISO := TNSString.Wrap(CurrentLocale.objectForKey((NSLocaleLanguageCode as ILocalObject).GetObjectID)); // <-- Здесь берем то, что нужно от локали Result := UTF8ToString(LanguageISO.UTF8String); end; Aptem 1 Ссылка на комментарий
0 Aptem Опубликовано 17 июня, 2014 Автор Поделиться Опубликовано 17 июня, 2014 Большое спасибо, Ярослав! То, что нужно. Воспользовался кроссплатформенным сервисом FM, так как приложение тоже кроссплатформенное. Brovin Yaroslav 1 Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 17 июня, 2014 Администраторы Поделиться Опубликовано 17 июня, 2014 Не за что, обращайтесь. Ссылка на комментарий
Вопрос
Aptem
Здравствуйте.
Разработка на Delphi XE5.
Как программно определить локаль, установленную на устройстве под управлением iOS?
В Objective C это делается так:
Есть что-то подобное в Delphi?
Спасибо.
Ссылка на комментарий
3 ответа на этот вопрос
Рекомендуемые сообщения