到目前为止,我为我的JavaScript应用程序(使用jQuery UI构建)的i18n和l10n使用Globalize。这有效,但它将我的代码绑定到另一个特定的库。现在我正在寻找一种方法来解决这个问题,因为我重新使用了一些不支持i18n的源,我宁愿不改变它。我不是在为可以插入任何实现的i18n使用全局接口。总结:如何在不改变源代码的情况下将i18n和l10n支持添加到现有应用程序中?我不是在问这是否是一个好主意,我问是否可行以及如何。现有JavaScript应用程序的国际化和本地化
到目前为止,我想出了这些方法,但两者各有缺点:
如果我依靠的是使用jQuery的(我能在我的情况),我可以取代text/val/append等方法,即所有操作DOM的方法。但其中有相当多的,其中每个人都有一些不同。我还可以更进一步并取代DOM方法。
步行DOM并替换文本节点和表单值。这可行,但价格昂贵,动态变化难以检测,因为没有标准化的方法来做到这一点。
那些提供了国际化问题的部分解决方案,但对于l10n而言,这两者都不起作用。
您将如何解决向现有应用程序添加i18n和l10n支持的问题?
很好的例子。感谢您整理我的思想。 –