Unicode 拉丁语<-&燃气轮机;ICU中的汉族转换?

Unicode 拉丁语<-&燃气轮机;ICU中的汉族转换?,unicode,cjk,icu,transliteration,Unicode,Cjk,Icu,Transliteration,我刚刚开始使用ICU4C在C++程序中实现ICU转换。我特别关注中文的音译 据介绍,该软件包支持“汉-拉丁”和“拉丁-汉”转换。作为一名学习汉语的学生,这似乎让我感到惊讶,因为如果没有高度先进的统计技术,拉丁语-汉语转换尤其困难(我见过的最接近的是谷歌音译,即使没有用户输入,它实际上也能很好地完成这项工作,但这对于目前的项目来说是不可行的),更不用说没有音标的转换了。我甚至怀疑这是否可能,如果不借助事实上的外来名称借用字符,例如比尔·莫瑞. 正如我们在本文中看到的,这是谷歌地图在其国际领域采取的


我刚刚开始使用ICU4C在C++程序中实现ICU转换。我特别关注中文的音译

据介绍,该软件包支持“汉-拉丁”和“拉丁-汉”转换。作为一名学习汉语的学生,这似乎让我感到惊讶,因为如果没有高度先进的统计技术,拉丁语-汉语转换尤其困难(我见过的最接近的是谷歌音译,即使没有用户输入,它实际上也能很好地完成这项工作,但这对于目前的项目来说是不可行的),更不用说没有音标的转换了。我甚至怀疑这是否可能,如果不借助事实上的外来名称借用字符,例如比尔·莫瑞. 正如我们在本文中看到的,这是谷歌地图在其国际领域采取的方法

无论如何,我愿意暂缓怀疑,在查阅文档和教程之后,我能够构造两个音译对象(to和from),并使用它们执行简单的音译

虽然Han-Latin的工作相当顺利(简单数据的准确率约为80%),但Latin-Han似乎根本不工作,返回输入的相同“拉丁”字符串,这与我使用的结果一致,也与我对汉语的了解一致。我设法找到了表,我认为这是用于两个来源的,正如我们所看到的:

我想这意味着,给定一个拼音字符串,它可能会复制原始文本,但事实似乎并非如此

我想我的一般问题是:这种转换在ICU或谷歌音译之外的任何东西上都可能实现吗?预期产量是多少?与此相关的是,如果不可能的话,是否有ICU实际支持的脚本对列表


感谢您抽出时间

注意,数据来自CLDR项目。ICU支持的脚本对很多,ICU将尝试使用轴心脚本(如从韩语到拉丁语再到俄语),这就是为什么您可以创建诸如“任意拉丁语”之类的音译词。您可以尝试浏览ICU和CLDR数据集。汉文拉丁语文件顶部的注释说它不是往返的

您好,感谢您的快速(权威)回复。很高兴知道数据的来源,我将调查CLDR以了解更多细节。不过,我还有一个更普遍的问题,那就是你或其他人能否提供一个例子,从拉丁语或类似拉丁语的输入中生成汉文本?我在在线演示中尝试了无数种组合,但没有任何结果。我知道旋转,但似乎我找不到旋转路线来生成汉字,即使是在往返上下文之外。不客气。我认为你是对的,这是一个难题,基本上是输入法所面临的问题,它最终会向用户提供不同的选择。您可以询问CLDR用户列表。
{ "Latin-Han", "file", "t_Hani_Latn", "REVERSE" },
{ "Han-Latin", "file", "t_Hani_Latn", "FORWARD" },