0

私は韓国語の名前のロマナイザーに取り組んでいますが、A から B への単純な音訳ではなく、もう少し複雑なものであるため、ここで立ち往生しています。

通常、名前は3 つの音節(JavaScript では3 文字として認識されます) で構成され、姓が最初の名前で、通常は2 つ (または 1 つの場合が少ない)の音節で構成される名が続きます。

残念ながら、苗字と名のローマ字表記が常に同じとは限らないため、名の 2 つの音節の間に「 - 」を挿入する必要があります。

いくつかの具体的な(そして人工的な)例:

  • 김김김 -> キムギムギム
  • 이이김 -> イ・イギム
  • 이김야 -> イ・ギムヤ

3 つの音節 (文字) の区別を操作して出現させるために、次のコードを書きました。

<!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>

編集:問題は、私が韓国語を未変換にすることしかできないことです。誰かがこれを修正する方法を教えてもらえますか?

前もって感謝します !

4

1 に答える 1

1

あなたが望むのは次のとおりだと思います:

function hangul_to_roman(hangul) {
    return syllable_1[hangul.charAt(0)] + syllable_2[hangul.charAt(1)] + ( hangul.length >= 3 ? syllable_3[hangul.charAt(2)] : "" );
}

機能は必要ありませんtransliteration

于 2014-11-01T11:41:44.443 に答える