我们决定为我们的网络应用程序添加对多种语言的支持。
我们在前端使用 Handlebars 进行模板化,在后端使用 Node + Jade 进行模板化。
对于未存储在数据库中的字符串(作为 UI 一部分的所有字符串),是否有推荐的解决方法?(我们将字符串添加到前端还是后端的模板有什么区别吗?)。
我们决定为我们的网络应用程序添加对多种语言的支持。
我们在前端使用 Handlebars 进行模板化,在后端使用 Node + Jade 进行模板化。
对于未存储在数据库中的字符串(作为 UI 一部分的所有字符串),是否有推荐的解决方法?(我们将字符串添加到前端还是后端的模板有什么区别吗?)。
我对基于 javascript 的本地化采用的一种方法是创建一组文件(每种语言一个文件),每个文件都包含一个语言对象,可以在客户端或节点中加载以提供本地化。您只需根据语言加载所需的文件。
这是一个简单的例子:
var localization = {
stringkey1: 'Some string value',
stringkey2: 'Some other value',
// etc.
}
显然,如果您有一个包含大量字符串的大型应用程序,您可能希望进一步分解本地化,这样您就不需要处理过大的对象。
这种方法的好处是您可以在服务器端和客户端使用相同的本地化库而无需任何修改。