Как создать транслитерацию ICU, используя CFStringTransform в Swift?

Я знаю, что Apple предоставляет 16 констант для представления преобразований ICU https://developer.apple.com/documentation/foundation/stringtransform

Я пробовал:

import Foundation
import CoreFoundation

var mutableString = NSMutableString(string: "ཆོས་")

var stringTransform = StringTransform(rawValue: "Any-Latin;")
var latinText = mutableString.applyingTransform(stringTransform, reverse: false)
print(latinText)

Но никакое преобразование не выполняется, я хотел бы увидеть код для некоторых других преобразований, например, с китайского на латиницу, чтобы я мог реализовать преобразование тибетского языка в латинский.

Я видел некоторый Java-код, чтобы сделать нечто подобное:

String rules = "x > y; x{a} > b; ";
 Transliterator tempTrans = Transliterator.createFromRules("temp", rules, Transliterator.FORWARD);
 tempTrans.setFilter(new UnicodeSet("[a]"));
 String tempResult = tempTrans.transform("xa");

где правило создается, а затем создается транслитератор на основе этого правила, но я не могу найти никакого примера для Swift.

Если кто-нибудь может указать мне в правильном направлении, это будет оценено. Я думал о создании правил транслитерации, а затем о создании тибетского-> латинского транслитератора, но я не знаю, с чего начать.

0 ответов

Другие вопросы по тегам