我正在尝试配置一个可以使用客户端JavaScript进行本地化的Web应用程序(因为它必须能够脱机运行)。我在我的JavaScript中设置了一个函数和一个JSON数组,如下所示:
var l10n = {
"getMessage": function(msg) {
return locales.en.msg;
}
}
和
var locales = {
"en": {
"applicationName": "This is the application name!",
"msg": "Looks like we've gotta problem."
}
}
但是,例如,如果我输入命令l10n.getMessage("applicationName")
,脚本总是返回“msg”字符串(“看起来我们有问题。”我已经把它放在那里进行调试)。
问题显然在我的l10n.getMessage()
功能上。据我所知,它可能是一个非常简单的解决方案,但凭借我的基本JavaScript知识,我无法解决如何解决它。我最好如何修复它,以便它返回所需字符串的消息?
提前感谢您的帮助!
答案 0 :(得分:2)
是的,它实际上是一个简单的语法修复。使用括号表示法使用变量从对象中检索属性:
var l10n = {
"getMessage": function(msg) {
return locales.en[msg];
}
};