Раскладка клавиатуры для языковых комбинаций, как правило, однозначная, поэтому, хотя вы можете получить локализованное имя текущей выбранной раскладки клавиатуры (или, в более общем случае, источник ввода), источник можно использовать для ввода текста много языков. Почему вы хотите это сделать?
При этом вы можете получить информацию о текущем источнике ввода текста, используя Службы ввода текста . Например:
TISInputSourceRef source = TISCopyCurrentKeyboardInputSource();
NSLog(@"languages: %@",
TISGetInputSourceProperty(source, kTISPropertyInputSourceLanguages));
NSLog(@"localized name: %@",
TISGetInputSourceProperty(source, kTISPropertyLocalizedName));
дает мне:
2009-04-23 14:30:17.581 sample[30688:10b] languages: (
en,
ca,
da,
de,
es,
eu,
fr,
ga,
gl,
gv,
id,
it,
kw,
ms,
nb,
nl,
nn,
om,
pt,
so,
sq,
sv,
sw
)
2009-04-23 14:30:17.584 sample[30688:10b] localized name: U.S.