【发布时间】:2014-11-01 11:10:17
【问题描述】:
我正在为韩语名字写一个罗马字母,我被困在这里,因为它不是从 A 到 B 的简单音译,而是更复杂一点:
名称通常由 3 个音节(在 JavaScript 中被识别为 3 个字符)组成,姓是第一个,并且通常后面跟着一个由 2(或更少为 1) 个音节。
不幸的是,姓氏和名字的罗马字母并不总是相同,我需要在名字的两个音节之间加上一个“-”。
一些具体的(和人为的)例子:
- 김김김 -> 金金金
- 이이김 -> 李一金
- 이김야 -> 李金雅
为了操作区分三个音节(字符)并尝试让它们出现,我写了如下代码:
<!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>
编辑:问题是我只设法让韩语不皈依。谁能告诉我如何纠正这个问题?
提前谢谢你!
【问题讨论】:
-
别管音译部分:您正在用每个下一个新片段替换 innerHTML。在将字符串写入
demo之前将其添加在一起。 -
现在好多了,谢谢
标签: javascript transliteration charat