韩语罗马化器 :它不会让所有内容都罗马化
Korean romanizer : it does not get everything romanized
我正在研究音译脚本(将韩语音节转换为拉丁字母)。
问题是我的脚本只接受罗马化"갈라"、"갈"或"라"。它不会转换"갈라라"、"라갈"、"갈 라"、"라라"、"갈갈"等。
有人有解决方案吗?我真的很感激。
<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;
}
相关文章:
- Ajax发布表单序列化,发布引号'
- 序列化数据属性中对象的最可靠方法
- Javascript将数学动画化
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 使用javascript函数在页面初始化后加载jquery
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- 未捕获错误:无法在初始化之前调用方法;
- 如何在剑道网格初始化后设置pageSizes
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 最小化时暂停Javascript动画
- React redux初始化功能,无论状态变化如何
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular
- 对象未在Javascript中进行字符串化和解析
- 初始化父类中的变量(JavaScript/CoffeeScript 习语)
- 想限制韩语和中文
- 韩语罗马化器 :它不会让所有内容都罗马化
- 韩语音节PHP或JavaScript罗马化器(或任何其他替代方案?)
- 如何禁用文本字段中的非罗马化字符和符号?
- 日语/韩语进入MySQL表
- 如何在Javascript中打印罗马语言(例如西班牙语)/特殊字符