键盘布局到语言的组合通常是一对多的,因此,虽然您可以获取当前选定键盘布局的本地化名称(或者,更一般地说,输入源),但源可以用于在多种语言中键入文本。你为什么要这样做?
也就是说,您可以使用
Text Input Source Services
. 例如:
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.