UI-Grid provides an i18nService that you can use to change the default language, add translations, or change existing translations.
The easiest way to set language is to use the ui-i18n directive in a div that contains the grid.
<div ui-i18n="{{lang}}">Only one ui-i18n directive is allowed. The current language setting is stored in the i18n service (singleton) so there is currently no way to have more than one language per app.
Another option is to use the i18nService and use the setCurrentLang method
i18nService.setCurrentLang('fr');
For an example using angular-translate to translate your headers, refer to http://plnkr.co/edit/KnrKTst5dWXvlZNeIy9c?p=preview
If you would like to get better performance out of your application, it is recommended that you take advantage of UI-Grid's multi-file support. By default ui-grid.core.js will contain just the english language, in order to load the other language follow the example bellow:
<script src="/release/ui-grid.core.js"></script> <script src="/release/i18n/ui-grid.language.[YOUR_LANGUAGE_HERE].js"></script> <!-- Alternatively you can load all languages provided with you grid by loading the following --> <script src="/release/i18n/ui-grid.language.all.js"></script>