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

Good practice for multilingual html SCORM content

本文关键字:语言 html SCORM      更新时间:2023-09-26

这与其说是一个技术问题,不如说是一个理论问题。

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

我的问题是实现这一点的最好方法是什么?这些是显而易见的选项:

  1. 在不同的文件夹中复制所需语言的html文件。
  2. 加载所有语言文件(xml或json格式),解析html dom并使用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>

你可以使用基于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-morehttp://net.tutsplus.com/tutorials/javascript-ajax/best-practices-when-working-with-javascript-templates/