我正在为韩语名字做罗马字,我被困在这里,因为它不是从 A 到 B 的简单音译,而是更复杂一点:
通常名称由3 个音节组成(在 JavaScript 中被识别为3 个字符),姓氏是第一个,后面通常是由2 个(或较少见的 1 个)音节组成的名字。
不幸的是,姓氏和名字并不总是具有相同的罗马字母,我需要在名字的两个音节之间加一个“ - ”。
一些具体(和人为)的例子:
- 김김김 -> 金金金
- 이이김 -> Lee I-gim
- 이김야 -> Lee Gim-ya
为了对三个音节(字符)进行区分并尝试使它们出现,我编写了以下代码:
<!DOCTYPE html>
<html>
<body>
<script>
function separation() {
var str = document.getElementById("ttt").value;
var res1 = str.charAt(0);
var res2 = str.charAt(1);
var res3 = str.charAt(2);
document.getElementById("demo").innerHTML = res1+res2+res3;
}
var syllable_1 = {
'김' : 'Kim ',
'이' : 'Lee ',
'야' : 'Ya',
}
var syllable_2 = {
'김' : 'Gim',
'이' : 'I',
'야' : 'Ya',
}
var syllable_3 = {
'김' : '-gim',
'이' : '-i',
'야' : '-ya',
}
function hangul_to_roman(hangul) {
return syllable_1[hangul.charAt(0)] + syllable_2[hangul.charAt(1)] + ( hangul.length >= 3 ? syllable_3[hangul.charAt(2)] : "" );
}
</script>
<input type="text" id="ttt" value="김김이" onBlur="separation()">
<p id="demo"></p>
</body>
</html>
编辑:问题是我只能设法让韩语没有皈依。谁能告诉我如何纠正这个问题?
先感谢您 !