Перевести Ui-grid Angular
Я пытаюсь перевести Ui-grid на угловой, но не могу. я просто хочу перевести columnDefs
,
вот мой контроллер:
$scope.gridOptions = {
enableSorting: true,
columnDefs: [
{ name: 'نمایش', cellClass: "editCell", cellTemplate: '<i id="editBtn" tooltip-placement="left" tooltip="نمایش درخواست" class="fa fa-eye" ng-click="getExternalScopes().editUser(row.entity.RequestCode)" ></i>', headerClass: 'JobHeader' },
{
name: 'کد شهر', headerClass: 'cityHeader', field: 'CityCode', editableCellTemplate: self.editableCellTempate,
enableCellEdit: true
},
{ name: 'کد امور', field: 'RgnCode' },
{ name: 'شماره درخواست', field: 'RequestCode' },
],
};
я хочу перевести name in columnDefs
Любая идея?
4 ответа
Использование
- cellFilter: "перевести" для ячейки,
- headerCellFilter: 'перевести' для заголовка
- footerCellFilter: "перевод" для нижнего колонтитула
в colummDefs
Я использовал {field:'id', displayName:'ID_TRANSLATION_KEY', headerFilter:'translate'}
, Это работает как обычный перевод шаблона. Единственная проблема с вашим решением - вы можете потерять функциональность сортировки по умолчанию, предлагаемую компонентом (придется создавать свою) при использовании headerCellTemplate
, Я думаю, что это может кому-то помочь.
Если вы хотите перевести его вручную, используйте name в качестве имени поля в ваших данных, а затем установите displayName на то, что вы хотите.
Если вы хотите делать перевод на лету с помощью angular-translate, то, как сказал @YOU.
Использование displayName
а также $translate.instant('...')
:
{
name: 'CityCode',
displayName: $translate.instant('CityCode'),
headerClass: 'cityHeader',
editableCellTemplate: self.editableCellTempate,
enableCellEdit: true
}