提问人:mmacaulay 提问时间:10/10/2008 最后编辑:sourcenouveaummacaulay 更新时间:7/21/2009 访问量:1542
ASP.Net:使用 Javascript 和 AJAX 构建多语言网站的方法
ASP.Net: Approaches to multilingual websites with Javascript and AJAX
问:
我们最近完成了英语和法语 ASP.Net 网站的第一阶段。我们开始使用资源文件来存储特定于语言的字符串,但由于该站点大量 ASP.Net 使用 AJAX 和 javascript,因此我们制定了一个解决方案,通过 ASP.Net 管道传递正确的文件,在那里我们可以捕获“标记”并将它们替换为从资源文件中提取的适当文本。
这是我参与的第二个有此类挑战的项目,第一个项目将文本字符串存储在数据库中,而不是 ASP.Net AJAX,它使用了 Prototype 库附带的 AJAX 工具,并将所有 Javascript 放入 aspx 文件中,以便可以在退出时替换标记。
我想知道的是,还有其他人遇到过类似的情况吗?你采取了什么方法?吸取了哪些经验教训?您是如何处理国际化日期格式之类的问题的?
答:
1赞
Joe Scylla
10/10/2008
#1
在我的主项目(一个使用 PHP 和 gettext 进行翻译的 RAD 框架)中,我们已经对 javascript 文件进行了大量准备操作,例如合并和缩小它们。在此准备中,我们解析 gettext-marker 并将它们替换为特定于语言的文本。
结果另存为 javascript 文件并正常包含在 html 中。
<script scr="var/scripts/en_GB-76909c49e9222ec2bb2f45e0a3c8baef80deb665.js"></script>
文件名包含 Locale 和用于缓存的哈希值。
日期和货币值在输出时始终从系统格式转换为区域设置格式,反之亦然。
0赞
Walter Rumsby
#2
为了在我们的应用程序中处理 il8n,我们动态创建一个 JavaScript 文件(基于我们感兴趣的语言环境),其中包含键和翻译,例如
LOCALISATIONS = {
'util.date.day.long': ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
'util.date.day.short': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
...
};
其他 JavaScript 代码将使用此对象来获取翻译后的文本。
评论