Добрый день,
Например так, если использовать кроссплатформенный сервис 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;