В настоящее время я работаю над проектом, используя angular-translate. Цель для меня - создать карту перевода, которая позволяет разработчику изменять объектную модель без нарушения перевода.Вложенные фигурные скобки с AngularJS
Например, сказать, что я заказ сохранен в моей компетенции:
$scope.order = {
numberOfItems: 5,
// ...
};
и перевод, карту со свойством отображающего количества элементов:
var translationsEN = {
itemsNumber: "{{numberOfitems}} item(s)",
// ...
};
var translationsFR = {
itemsNumber: "{{numberOfItems}} article(s)",
// ...
};
С этой картой, я могу легко сделать это:
{{'itemsNumber' | translate:order}}
Но если разработчик хотел бы изменить название numberOfItems
собственность, он должен будет изменить карту перевода тоже, что довольно привередливые ... Итак, я изменил мою карту перевода для этого:
var translationsEN = {
itemsNumber: "{{number}} item(s)",
// ...
};
var translationsFR = {
itemsNumber: "{{number}} article(s)",
// ...
};
Теперь разработчик просто передать простой объект не с необходимыми значениями, например:
<span translate="order.misc.itemsNumber"
translate-values="{ number:{{order.numberOfItems}} }">
</span>
Но, как вы можете видеть, я больше не с помощью фильтров, но директивы. Я не могу найти способ сделать что-то вроде этого:
{{'order.misc.itemsNumber' | translate:'{ number:{{order.numberOfItems}} }'}}
Это не работает либо:
{{'order.misc.itemsNumber' | translate:'{ number:order.numberOfItems }'}}
Есть ли решение, которое позволяет мне использовать фильтры или я должен просто использовать директивы?
Это не работает, он отображает некоторые пустые значения: "пункт (ы)" и "статьи (s)" – Nesk