javascript - 韩语罗马字 : it does not get everything romanized

标签 javascript transliteration

我正在研究音译脚本(将韩语音节转换为拉丁字母)。

问题是我的脚本只接受罗马化“갈라”、“갈”或“라”。它不会转换 '갈라라'、'라갈'、'갈 라'、'라라'、'갈갈' 等。

有人有解决办法吗?我真的很感激。

<script>

var hangul_syllable_to_roman2 = {
'갈라' : 'galla',
}
var hangul_syllable_to_roman = {
'갈' : 'gal',
'라' : 'ra',
}

function transliteration_hangul_to_roman(syllable) {
    var roman2 = hangul_syllable_to_roman2[syllable];
    var roman = hangul_syllable_to_roman[syllable];
        if (roman2 || roman) {
        return roman2 || roman;
        }
        else {
        return syllable;
        }
}

function afficher(form2) {
    var testin = document.form2.entree.value;
                 document.form2.sortie.value=transliteration_hangul_to_roman(testin);
}

</script>

    <div>
        <FORM NAME="form2">
            <textarea name="entree" value="input"></textarea>      
            <input type="button" name="bouton" value="Convertir" onClick="afficher(form2)">
            <textarea name="sortie" value="output"></textarea>
        </FORM>         
    </div>

最佳答案

您只能得到您定义的两种情况,因为您没有循环遍历整个输入字符串。

试试这个(未经测试!):

function transliteration_hangul_to_roman(syllable)
{
    var result = '', roman, roman2;
    while (syllable.length > 0)
    {
        roman2 = hangul_syllable_to_roman2[syllable.substr(0,2)];
        if (roman2)
        {
            result += roman2;
            syllable = syllable.substr(2);
        } else
        {
            roman = hangul_syllable_to_roman[syllable.substr(0,1)];
            if (roman)
                result += roman;
            else
                result += syllable.substr(0,1);
            syllable = syllable.substr(1);
        }
    }
    return result;
}

关于javascript - 韩语罗马字 : it does not get everything romanized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19689153/

相关文章:

javascript - Jquery 到 javascript 的转换帮助

javascript - 性能:大表格鼠标悬停效果

ruby - 如何将日语文本音译为 ASCII (Ruby)

search - Solr、特殊字符和拉丁文到西里尔文字符转换

javascript - 无论事件添加的顺序如何,如何强制 Javascript 事件首先运行?

javascript - 应用状态接口(interface)中的 NgRx 根状态键

javascript - 通过键值从 Javascript 中的嵌套数组对象中删除项目

ruby - 在 Ruby 中音译字符

java - icu4j音译英语到乌尔都语

java - 应使用哪种罗马化标准来改进 ICU4j 的阿拉伯语-拉丁语音译?