6

I want have a multi language view with an ngTable. For do that, i set in my controller a $scope.translate (a valid json) who contains my traductions. In my view i want set my data-title like {{translate.code}} etc...

my view :

<table ng-table="tableParams" class="table ng-table-responsive">
        <tr ng-repeat="product in $data">
            <td data-title="'{{translate.code}}'" > <!-- display : {{translate.code}} -->
                {{product.code}}
            </td>
            <td data-title="['translate.reference']" > <!-- display : empty -->
                {{product.reference}}
            </td>
            <td data-title="'Label'" >
                {{product.label}}
            </td>
            <td data-title="'Size'" ng-show="manageSizeColor == true">
                {{product.size}}
            </td>
            <td data-title="'Quantity'" >
                <ac-quantity minquantity="1" cquantity="product.quantity"></ac-quantity>
            </td>
            <td data-title="'Price'">
                <b>{{product.price + currency}}</b>
            </td>
        </tr>
    </table>
Ema.H
  • 2,862
  • 3
  • 28
  • 41

3 Answers3

13

If you're using angularjs ~1.2 with angular-translate ~2.6.1, translation on data-title works like this:

<td data-title="'MY_TRANSLATION_ID' | translate" >
{{product.reference}}
</td>
RMalibiran
  • 131
  • 1
  • 3
10

I' ve finally found how do this, with this example : https://github.com/esvit/ng-table/issues/53

<td data-title="translate['reference']" >
   {{product.reference}}
</td>

where translate is the scope variable and ['reference'] is the property

Ema.H
  • 2,862
  • 3
  • 28
  • 41
0

you can also do this :

<td data-title="getColumnName('your.translate.code')">{{ resultat.number }}</td>

with in your controller :

$scope.getColumnName = function(column) {
    return $translate.instant(column);
}