已弃用的词素分析 API 的一项功能是“为日文/中文文本获取 rudy 文本”。如果您要求替换该特定功能,那么以下代码就是一个示例。但是,我不知道语素分析 API 中其他功能的替换。
CFStringRef testString = CFSTR("のちに検知されたトークンの範囲用として使用");
CFStringTokenizerRef tokenizer = CFStringTokenizerCreate(kCFAllocatorDefault,
testString,
CFRangeMake(0, CFStringGetLength(testString)),
kCFStringTokenizerUnitWordBoundary,
CFLocaleCreate(kCFAllocatorDefault, CFSTR("Japanese")));
do
{
if (CFStringTokenizerAdvanceToNextToken(tokenizer) == kCFStringTokenizerTokenNone) {
break;
}
CFStringRef originalToken = CFStringCreateWithSubstring(kCFAllocatorDefault,
testString,
CFStringTokenizerGetCurrentTokenRange(tokenizer));
// Get Latin transcription from the Japanese text
CFMutableStringRef convertedToken = (CFMutableStringRef)CFStringTokenizerCopyCurrentTokenAttribute(tokenizer,
kCFStringTokenizerAttributeLatinTranscription);
NSLog(@"token: %@ -> latin: %@", originalToken, convertedToken);
// Get kana from Latin transcription
CFStringTransform(convertedToken, NULL, kCFStringTransformLatinHiragana, false);
NSLog(@"token: %@ -> latin: %@", originalToken, convertedToken);
}
while (true);