韩语音节PHP或JavaScript Romanizer(或任何其他替代?)

时间:2013-10-23 14:39:41

标签: javascript php

我想制作一个从韩文字母(hangul)到拉丁字母(罗马字母)的音译器,但似乎(经过多次尝试没有成功)使用简单的关联数组不是适当的事情。

这是我到目前为止努力工作的方法:

https://gist.github.com/1154969

我尝试用韩语音节替换平假名,但我无法使其正常工作。

有没有人有解决方案?

2 个答案:

答案 0 :(得分:0)

对文本进行罗马化非常简单,但反过来却非常困难。例如日语(我比韩语更好),なん写成“nan”,第一个音节是“na”,第二个音节是“n”。你的代码必须以某种方式区分这两个音节,因为如果它将第一个n转换为ん而不是第二个音节,你的解析器将留下“an”,这是日语中不存在的音节。

以最基本的形式接近 的方法涉及一个关联数组。您不必一次性地将键替换为其值,而是必须首先查找最长的音节并一次性替换它们。首先,你要选择像“shi”这样的音节,像“na”这样的音节,最后是“n”这样的音节。如果你这样做,我所知道的所有亚洲语言都应该安全地转换回他们自己的字母表,但请记住,如果不同的音节具有相同的罗马化写作形式,这可能仍会导致问题。

答案 1 :(得分:0)

由于您只是想将原始字符串中的某些特定符号(hangul音节)扩展到其他预定义序列(罗马化),因此请使用对象查找的组合,其中将hangul存储为键,将romanization存储为值{{1通过函数生成替换的能力。

我会使用片假名作为示例的一部分,因为我也更了解日语:)但你只需要用正确的hangul填充替换表就可以了:

String.replace