这更像是一个“理论”问题,而不是技术问题。
我需要创建SCORM电子学习内容,纯HTML-CSS-Javascript而不使用任何服务器端技术,这些内容必须是多语言的。两个主要要求:多语言,而不是服务器端语言。
我的问题是实现这一目标的最佳方法是什么?这些是显而易见的选择:
在第二种情况下,以文件方式加载文件,这样做的好方法是什么?我不喜欢这样的想法,因为html中的所有阻碍脚本标签:
<div>
<p><script> document.write(some_translatable_variable) </script></p>
</div>
而且我也不喜欢以下内容,因为它需要大量的ID并且维护起来非常困难:
//in json file lang.es.json
"some_translatable_variable" : "Esto está en español";
//In a loaded langs.js, using jquery:
$("#some_id").html("<p>"+some_translatable_variable+"<p>");
//the html code
<div id="some_id"> <!-- nothing here --> </div>
答案 0 :(得分:1)
您可以使用基于JavaScript的模板引擎,例如Mustache,Handlebars或Angular。
基本上,您在HTML中放置了占位符,而JavaScript会将占位符替换为您的文本。您无需管理大量ID。
如果需要,您可以插入其他语言的文字,只需注意布局问题,例如RTL语言和可能会破坏布局的很长句子。
以下是一些有关客户端模板的有用文章: http://coding.smashingmagazine.com/2012/12/05/client-side-templating/ http://engineering.linkedin.com/frontend/client-side-templating-throwdown-mustache-handlebars-dustjs-and-more http://net.tutsplus.com/tutorials/javascript-ajax/best-practices-when-working-with-javascript-templates/