Internationalization library for Angular applications.
Our key features
/locale-{part}-{lang}.json
Make sure that angular is already included in your project.
Then install mutant-ng-translate
:
npm install mutant-ng-translate
or
bower install mutant-ng-translate
Embed script to your HTML document:
<script src="https://github.com/accetone/mutant-ng-translate/raw/master/path/to/mutant-ng-translate.js"></script>
You can configure translate in angular configuration block:
angular
.module('MyApp', ['mutant-ng-translate'])
.config(['$translateProvider', function ($translateProvider) {
var $translate = $translateProvider.$get();
$translate.config({
defaultLang: 'en',
urlTemplate: '/locale-{part}-{lang}.json'
});
$translate.addParts('first', 'second');
}]);
You can add parts when you need them in any point of your angular application.
If you want to test library without configuring your backend server you can register translations manually:
angular
.module('MyApp', ['mutant-ng-translate'])
.config(['$translateProvider', function ($translateProvider) {
var $translate = $translateProvider.$get();
$translate.config({
defaultLang: 'en',
urlTemplate: '/locale-{part}-{lang}.json'
});
var translations = {
"HELLO-FOO": "Hello, Foo!"
};
$translate.translations('en', translations);
}]);
In your HTML files when you require translation you can use filter or directive attribute:
{{ "TRANSLATION-KEY" | translate }}
<div ng-translate="TRANSLATION-KEY"></div>
You can change current language with use
method:
$translate.use('fr');
You can find detailed docs here.
If you find error or want improve something, feel free to create issues and pull requests.
Install all dependenies with npm install
and bower install
. Then you can run tests with gulp tests
.
Licensed under MIT.