Перевести 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
}
Другие вопросы по тегам