MLKDigitalInkRecognitionModelIdentifier
@interface MLKDigitalInkRecognitionModelIdentifier : NSObject
表示特定于语言、脚本和(可选)地区变体的数字墨水识别模型。
-
此模型的 BCP 47 合规语言标记。
声明
Objective-C
@property (nonatomic, readonly) NSString *_Nonnull languageTag;
-
语言子标记,即此识别模型的 ISO 639 语言代码(由 2 个或 3 个字母组成),例如
"en"
表示英语。声明
Objective-C
@property (nonatomic, readonly) NSString *_Nonnull languageSubtag;
-
文字子标记,即此识别模型中使用的脚本的四字母 ISO 15924 标准代码,例如
"Latn"
表示拉丁字母,"Arab"
表示阿拉伯文字。声明
Objective-C
@property (nonatomic, readonly, nullable) NSString *scriptSubtag;
-
地区子标记,即两个字母的 ISO 3166-1 Alpha 2 标准地区代码或由 UN M.49 标准定义的一组数字代码,例如
"DE"
表示德国,"002"
表示非洲。声明
Objective-C
@property (nonatomic, readonly, nullable) NSString *regionSubtag;
-
请改用
from(languageTag:)
。声明
Objective-C
- (nonnull instancetype)init;
-
返回与以 BCP 47 格式的
languageTag
编码的语言、脚本(如有)和区域(如有)最匹配的模型标识符。系统会尽可能匹配,也就是说,它使用以下启发法返回与提供的
languageTag
最匹配的模型标识符:- 如果找不到所请求语言子标记的模型标识符,但后者是受支持的宏语言的一部分,则与该宏语言进行匹配,例如,
"arb"
(标准阿拉伯语)将匹配"ar"
(阿拉伯语)。- 如果未提供脚本,并且没有为请求的语言子标记隐式任何脚本,则与任何脚本匹配。
- 如果提供或隐式脚本子标记是受支持脚本的子集,也应匹配后者,例如
"zh-Hant"
(中文、繁体中文)将匹配"zh-Hani"
(中文、汉语)。- 如果未指定地区子标记,则针对任何地区进行匹配,首选同样未指定地区的模型标识符,例如
"ro"
(罗马尼亚语)将匹配"ro-RO"
(罗马尼亚语、罗马尼亚)。- 如果指定了地区子标记但无法匹配,则匹配包含指定地区的区域,例如
"fr-DZ"
(法语、阿尔及利亚)将与"fr-002"
(法语、非洲)匹配。如果找不到模型标识符,则返回
nil
。声明
Objective-C
+ (nullable MLKDigitalInkRecognitionModelIdentifier *) modelIdentifierFromLanguageTag:(nonnull NSString *)languageTag error:(NSError *_Nullable *_Nullable)error;
参数
languageTag
表示所请求语言的 IETF BCP 47 语言标记。
error
可选的错误消息对象,如果无法解析
languageTag
,系统将填充此字段。返回值
与所提供的语言标记完全匹配的模型标识符,或最佳匹配,如果未找到适当的模型标识符,则为
nil
。如果无法解析语言标记,则也应设置为nil
。 - 如果找不到所请求语言子标记的模型标识符,但后者是受支持的宏语言的一部分,则与该宏语言进行匹配,例如,
-
返回与指定
languageTag
完全匹配的模型标识符。与
from(LanguageTag:)
的不同之处在于,它不会尝试解析languageTag
(因此不会生成错误),并且只会返回与languageTag
完全匹配的模型标识符(如果存在)。声明
Objective-C
+ (nullable MLKDigitalInkRecognitionModelIdentifier *) modelIdentifierForLanguageTag:(nonnull NSString *)languageTag;
参数
languageTag
所请求模型标识符的 IETF BCP 47 语言标记。
返回值
与提供的
languageTag
完全匹配的DigitalInkRecognitionModelIdentifier
,如果未找到,则为nil
。 -
返回所有可用模型标识符的集合。
声明
Objective-C
+ (nonnull NSSet<MLKDigitalInkRecognitionModelIdentifier *> *) allModelIdentifiers;
-
返回支持指定语言子标记的模型标识符集。
例如,对于
"en"
,这将返回一组包含enUs
(英语,美国)、enUk
(英语,英国)、enKe
(英语、肯尼亚)等的模型标识符。如果找不到支持语言子标记的模型标识符,则返回空集。
声明
Objective-C
+ (nonnull NSSet<MLKDigitalInkRecognitionModelIdentifier *> *) modelIdentifiersForLanguageSubtag:(nonnull NSString *)languageSubtag;
参数
languageSubtag
由 2 个或 3 个字母组成的 ISO 639 语言代码,例如
"en"
表示英语。返回值
支持所提供的
languageSubtag
的一组模型标识符可以为空。 -
返回支持指定脚本子标记的模型标识符集。
例如,对于
"Latn"
,这将返回一组包含enUs
(英语、美国)、frFr
(法语、法国)、guLatn
(古吉拉特语、拉丁字母)等的模型标识符。此函数还会返回支持给定脚本子标记超集的模型标识符,例如,对于
Hant
(Han,传统变体),此函数将返回zh-Hani
识别模型,因为Hant
是Hani
(Han,传统变体和简体变体)的子集。如果找不到支持脚本子标记的模型标识符,则返回空集。
声明
Objective-C
+ (nonnull NSSet<MLKDigitalInkRecognitionModelIdentifier *> *) modelIdentifiersForScriptSubtag:(nonnull NSString *)scriptSubtag;
参数
scriptSubtag
四个字母的 ISO 15924 标准代码,例如
"Latn"
表示拉丁字母,"Arab"
表示阿拉伯文字。返回值
支持所提供的
scriptSubtag
的一组模型标识符可以为空。 -
返回特定于指定区域子标记的模型标识符集。
例如,对于
"CH"
,这将返回一组包含deCh
(德语,瑞士)、frCh
(法语、瑞士)、itCh
(意大利语,瑞士)和rmCh
(罗马什语,瑞士)的模型标识符。此函数还会返回特定于包含指定区域子标记或包含指定区域子标记的区域的模型标识符,例如,搜索
DZ
(阿尔及利亚)将生成包含fr-002
(法语、非洲)识别模型的结果,反之亦然。如果找不到支持区域子标记的模型标识符,则返回空集。
声明
Objective-C
+ (nonnull NSSet<MLKDigitalInkRecognitionModelIdentifier *> *) modelIdentifiersForRegionSubtag:(nonnull NSString *)regionSubtag;
参数
regionSubtag
两个字母的 ISO 3166-1 Alpha 2 标准区域代码或联合国 M.49 标准定义的一个数字代码,例如
"DE"
表示德国,"002"
表示非洲。返回值
一组特定于所提供的
regionSubtag
的模型标识符可以为空。