1

我们最近完成了英文和法文 ASP.Net 网站的第一阶段。我们使用资源文件来存储特定于语言的字符串,但由于该站点大量使用 ASP.Net AJAX 和 javascript,我们设计了一个解决方案,通过 ASP.Net 管道传递正确的文件,我们可以在其中捕获“令牌”并替换它们从资源文件中提取适当的文本。

这是我参与的第二个遇到此类挑战的项目,第一个项目将文本字符串存储在数据库中,而不是 ASP.Net AJAX,它使用 Prototype 库附带的 AJAX 工具并将将所有 Javascript 转换为 aspx 文件,以便可以在退出时替换标记。

我想知道的是,有没有其他人遇到过类似的情况?你采取了什么方法?吸取了哪些教训?您是如何处理国际化日期格式等问题的?

4

2 回答 2

1

在我的主要项目(一个使用 PHP 和 gettext 进行翻译的 RAD 框架)中,我们已经对 javascript 文件进行了很多准备操作,例如合并和缩小它们。在此准备工作中,我们解析 gettext-markers 并将它们替换为特定于语言的文本。

结果保存为 javascript 文件并正常包含在 html 中。

<script scr="var/scripts/en_GB-76909c49e9222ec2bb2f45e0a3c8baef80deb665.js"></script>

文件名包含区域设置和用于缓存的哈希值。

日期和货币值总是在输出时从系统格式转换为区域设置格式,反之亦然。

于 2008-10-10T15:04:31.043 回答
0

为了在我们的应用程序中处理 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 代码将使用此对象来获取翻译文本。

于 2009-07-20T23:33:54.180 回答