我有一个我称之为的翻译函数:_(“我的文字”)。
我正在尝试构建一个数组:
var data = {
_("region"):[
{"id": "vignoble","name": _("Vineyard") },
{"id": "sousvignoble","name": _("Sub Vineyard") },
{"id": "soussousvignoble","name": _("Sub Sub Vineyard") },
{"id": "appellation","name": _("Appellation") },
{"id": "denomination","name": _("Denomination") }
]};
它非常适合翻译属性“name”:_(“我的文本”),但会为第一级_(“区域”)抛出“语法错误:缺少:属性ID之后”。
我试图通过以下方式替换它: 1. function(){_(“region”)} 2.定义一个变量并用变量替换_(“region”),但是变量的名称打印而不是它的值
任何想法都会非常感激!
答案 0 :(得分:2)
您不能在对象文字中使用动态属性名称。您可以使用bracket notation:
在创建对象后分配属性var data = {};
data[_("region")] = [...];