2015-04-13 2 views
1

я хочу перевести свойство для извлечения данных из массива у меня есть массив как это:свойство переводить в угловом

<Country> 
<Id>183</Id> 
<Name_Ar>المملكة المتحدة</Name_Ar> 
<Name_En>United Kingdom</Name_En> 
</Country> 
<Country> 
<Id>1</Id> 
<Name_Ar>أفغانستان</Name_Ar> 
<Name_En>Afghanistan</Name_En> 
</Country> 

и у меня есть выбор с нг-опционами или нг-повторить

<select ng-model="employee.Nationality_Id"> <option ng-repeat="county in countries" value="{{county.Id}}">{{county.Name_En}}</option> </select> 

я хочу перевести свойство {{county.Name_En}} в {{county.Name_Ar}} , чтобы получить значение, основанное на текущем языке

+0

Здесь у вас есть xml-формат. angular-translate будет работать с json –

+0

без проблем, im работает с json, но есть ли какие-либо решения для моего дела? –

+0

angular-translate позаботится, если вы переключите язык. вам просто нужно предоставить json-объект для каждого языка и настроить угловой перевод на ваш проект. –

ответ

2

вместо выборки данных, как {{county.Name_En}} мы можем написать в другой формуле, как {{county["{{'Name' | tranlsate}}"]}}

, то мы добавим перевести переменную перевода массивов EN:

Name: 'Name_En' 

Ar:

Name: 'Name_Ar' 
+0

Если я делаю {{county ["{{'Name' | translate}}"]}}, я получаю сообщение об ошибке (Unterminated quote), потому что с первым закрытием}} угловой считает, что это конец интерполяции. Вы уверены, что можете использовать фильтр внутри ключа массива? Странно то, что он работает, когда я делаю это в директиве. Также вы написали неверный перевод в своем ответе;) – adiii4

Смежные вопросы