gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 08:46:37 26 4
gpt4 key购买 nike

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

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

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

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com