多语言html SCORM内容的良好实践

时间:2013-05-21 12:08:44

标签: javascript html multilingual scorm

这更像是一个“理论”问题,而不是技术问题。

我需要创建SCORM电子学习内容,纯HTML-CSS-Javascript而不使用任何服务器端技术,这些内容必须是多语言的。两个主要要求:多语言,而不是服务器端语言。

我的问题是实现这一目标的最佳方法是什么?这些是显而易见的选择:

  1. 为每种语言在不同文件夹中以所需语言复制html文件。
  2. 加载所有语言文件(例如xml或json中的ex),解析html dom 并使用javascript将这些内容置于内容中。
  3. 在第二种情况下,以文件方式加载文件,这样做的好方法是什么?我不喜欢这样的想法,因为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>
    

1 个答案:

答案 0 :(得分:1)

您可以使用基于JavaScript的模板引擎,例如MustacheHandlebarsAngular

基本上,您在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/