多语言html SCORM内容的良好实践
Good practice for multilingual html SCORM content
这与其说是一个技术问题,不如说是一个理论问题。
我需要创建SCORM电子学习内容,纯HTML-CSS-Javascript没有任何服务器端技术,这个内容必须是多语言的。两个主要要求:多语言,而不是服务器端语言。
我的问题是实现这一点的最好方法是什么?这些是显而易见的选项:
- 在不同的文件夹中复制所需语言的html文件。
- 加载所有语言文件(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/相关文章:
- 我们可以使用任意的编程语言来动态化HTML页面吗
- 如何在使用 UIWebView 编辑 HTML 内容时正确调整输入语言更改 (LTR/RTL) 的文本对齐方式
- 使用HTML和任何服务器端语言(PHP,.net,ruby)制作的网站是否可以在每个具有浏览器的设备上工作
- Html+javascript处理网站中的语言
- 从'更改不同语言的图像;index.html'到'关于.html'
- 在PhpStorm中创建自定义语言,扩展所有html语言功能
- 动态更改语言时,应更新HTML lang属性
- 在HTML中更改语言时,在body标记中添加类
- 使用 JavaScript 动态更改 HTML 内容的语言
- 在 HTML 定位点中指定“语言”属性是否会更改事件行为
- javascript、php、html 和 mysql 查询中的多语言字符
- 我可以使用什么语言从 HTML 页面读取目录和文件
- 如何在没有 ajax 调用或服务器端语言的情况下包含 HTML/文本文件
- 多语言网站(HTML / javascript)
- 自己的HTML页面自己的语言/处理自己的标签
- HTML可以与JavaScript以外的任何其他语言一起使用吗
- Winjs通过HTML/Javascript获取系统语言
- 如何动态设置HTML语言属性
- 如何通过html属性设置语言编辑器
- 多语言html SCORM内容的良好实践