考虑以下简单的HTML代码:
<input id="dict_field" type="text"/>
<button id="translate_btn" type="button" class="btn">translate</button>
用户输入内容并单击按钮会触发返回翻译的功能。
和JQuery代码:
$(document).ready(function(){
$('#translate_btn').click(function(){
var word = $('#dict_field').val();
var translation = "";
translation = translate(word (, dictionary?));
// For simplicity for now just display the result in the same input field
$('#dict_field').val(translation)
});
});
// pseudo code. How to implement this and build the dictionary I need?
function translate(word (, dictionary?)){
if word in dictionary.keys() -> return dictionary[word]
else return "no such word in dict"
}
鉴于以下内容:
建立地图/字典{key:value}来实现翻译功能/ API,有什么好方法,客观地#34;可以考虑任何细节,例如速度,可扩展性,成本等,同时考虑我的上述要求。
我对这类事情的经验不多,但我有一些想法,例如:
欣赏有价值的建议。谢谢你的帮助。
答案 0 :(得分:1)
将其存储为文本文件,例如CSV。
foo,bar
baz,quux
然后用ajax获取它,然后拆分它。您可以对此进行优化,但不一定非必要。
var dict = text
.split('\n')
.map(function(x) { return x.split(',') })
.reduce(function(acc, pair) { acc[pair[0]] = pair[1]; return acc }, {});
然后dict['bar'] === 'quux'
。
答案 1 :(得分:0)
您可以使用对象{"key":"value"}
或数组[["key", "value"]]
数组或对象数组或数组[{"key":"value0"}, {"key":"value1"}]
;后两者允许同一个词的多个定义,以处理模棱两可的语言;以及在数组或对象中包含与单词或术语相关的元数据的能力,例如audio representation of the spoken word。