我应该如何本地化现有的JavaScript Web应用程序?

我有一个非常棘手的任务:有一个现有的Web项目(2个HTML文件,一些插件,以及一个包含大约2000行代码的主要JavaScript文件),我现在必须进行本地化。 毫无疑问,这应该早点考虑过,但他们只是错过了它。 你会如何找到解决方案?

有一些元素只有几个文本元素,这些元素在最初加载页面时存在。 但是还有很多DOM元素和错误警报可以动态地附加和移除(使用jQuery)。

我想我将在服务器上使用具有唯一名称/数字的文本资源(哪种文件?)(即.NET / C#)。 在加载网页时,我可以检测用户代理的语言,然后将其发送到服务器,以便“它”准备正确的资源。 然后我应该有一个像getText(uniqueName)这样的方法,它通过AJAX从服务器请求正确的文本。 但这会产生大量的AJAX请求。

我只有一些想法,但还没有任何“真实”。

你能帮忙解决一下想法吗? 服务器必须处理什么,脚本将处理什么,以及如何处理?

谢谢。

我使用单独的.js文件,如strings-en.js 。 我根据用户数据库中的设置动态加载.js文件。

演示: http : //jsfiddle.net/ThinkingStiff/uUTkN/

字符串,en.js:

 var STRINGS = { "userLabel": "username", "userPlaceholder": "enter username..." //... }; 

HTML:

    

CSS:

 #user-label::after { content: ":"; } 

脚本:

 document.getElementById( 'user-label' ).textContent = STRINGS.userLabel; document.getElementById( 'user' ).setAttribute( 'placeholder', STRINGS.userPlaceholder ); 

输出:

在此处输入图像描述

如果您希望在resx文件中进行翻译,可能需要查看ASP.NET中JavaScript文件中的Localize文本

如果您想要纯客户端本地化,可以使用jquery.localize