Как создать транслитерацию ICU, используя CFStringTransform в Swift? - PullRequest
0 голосов
/ 24 января 2019

Я знаю, что 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.

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

...