从简体中文转换为繁体中文

时间:2011-05-13 23:05:58

标签: php localization internationalization cjk

如果网站使用简体中文翻译进行本地化/国际化...

  • 是否可以可靠 自动将文本转换为 高品质的繁体中文 方式是什么?
  • 如果是这样,它会是一个非常高的质量,还是翻译人员调整的好起点?
  • 是否有开源工具(理想情况下是PHP) 这样的转换?
  • 转换效果更好一种方式(简化 - >传统方式,反之亦然)?

6 个答案:

答案 0 :(得分:22)

简答:不,不可靠+高品质。除非市场对您不重要,否则我不会推荐使用自动化工具,您可能会冒某些令人尴尬的公开尴尬风险。您可能会发现一些本地化公司更乐意从优质的简体中文翻译开始并使其适应传统,但您也可能会发现许多公司更愿意从英语资源开始。

更长的答案:在某些情况下,只有字形不同,并且它们具有不同的unicode代码点。但是,中华人民共和国与台湾/香港之间也存在一些惯用语和词汇差异,如果不处理,你的质量将受到影响。技术术语可能更成问题或更少,这取决于术语变得普遍使用的时代。其中一些问题可能会被自动化工具捕获,但不是全部。当然,如果您采用自动转换的方式,请确保您从每个目标市场的QA团队获得回报。

此外,还存在社会政治问题。例如,您可以在台湾使用像“中华民国”这样的术语,但如果它出现在您的简体中文版本(有时是您的英文版本),这将使中国政府感到气馁;如果您在中国有实际的子公司或合伙人,则可能仅根据颠覆性术语逮捕工作人员。 (这不是中国独有的;巴基斯坦/印度和土耳其也有类似的问题)。将“台湾”称为“国家”,可能会遇到类似的麻烦。

答案 1 :(得分:9)

作为一名土生土长的香港人,我同意@JasonTrue:不要这样做。您可能会在台湾和香港冒险并冒犯您的潜在用户。

但是 ,如果您仍然坚持这样做,请查看how Wikipedia does it; here是一个实现(注释许可证)。

答案 2 :(得分:4)

  

是否有可能以高质量的方式可靠地自动将文本转换为繁体中文?

其他答案都集中在困难上,但这些都是夸大其词。有一点是大部分角色完全相同。第二件事是'简化'形式正是这样:传统字符的简化形式。这意味着传统和简化字符之间通常存在1对1的关系。

  

如果是这样,它是否会成为极高的质量,或者只是翻译人员调整的良好起点?

需要调整一些事情。

  

是否有开源工具(理想情况下是PHP)进行此类转换?

虽然您可能想查看google translate api,但我并不知道。

  

转换效果更好吗?简化 - >传统,反之亦然?

一些字符在简化字母表中失去了区别。例如,面(面粉)被简化为与面(面,面)相同的特征。出于这个原因,传统的&>简化会稍微准确一些。

我还想指出,传统字符并非仅在台湾使用(它们可以在香港找到,偶尔也可以在大陆找到)


我找到了thisthis。但是,需要创建一个帐户才能下载。从来没有自己使用过该网站,所以我无法保证它。

答案 3 :(得分:4)

从根本上说,简体中文词有很多缺失的含义。世界上没有任何编程语言能够将简体中文准确地转换成繁体中文。您只会对目标受众(香港,澳门,台湾)造成混淆。

从简体中文到繁体中文翻译失败的一个完美例子是“后”。在简化形式中,它有两个含义,“后面”或“后面”。但是,当您尝试将其转换回繁体中文时,可以有两个以上的角色选择:后“后”或后“后”。我遇到的一个有趣的例子是翻译者将“皇后大道”皇后大道改为“皇后大道”,字面意思是皇后大道。

除非您的翻译算法超级智能,否则必然会产生错误。所以你最好聘请一位能说流利两种中文的译员。

答案 4 :(得分:0)

我对任何形式的中文都一无所知,但是通过查看this Wikipedia page中的例子,我倾向于认为自动转换是可能的,因为许多短语似乎使用相同数量的字符和甚至是一些相同的角色。

我使用多字节ord()函数运行a quick test,我看不到任何允许自动转换的模式而不使用(巨大的?)查找转换表。

Traditional Chinese 漢字
Simplified Chinese  汉字

function mb_ord($string)
{
    if (is_array($result = unpack('N', iconv('UTF-8', 'UCS-4BE', $string))) === true)
    {
        return $result[1];
    }

    return false;
}

var_dump(mb_ord('漢'), mb_ord('字')); // 28450, 23383
var_dump(mb_ord('汉'), mb_ord('字')); // 27721, 23383

这可能是开始构建LUTT的好地方:

我得到this other linked answer似乎(在某种程度上)同意我的推理:

  

有几个国家   中文是主要的书面语言。   他们之间的主要区别是   他们是否使用简化或   传统字符, 但有   还有一些细微的区域差异 (in   词汇等)。

答案 5 :(得分:0)

简短回答:是的。这很容易。您可以先将它从UTF-8转换为BIG5,然后有很多工具可以将BIG5转换为GBK,然后就可以将GBK转换为UTF-8。