AngularJS Translation
Translation i18n
To apply internationalization feature in your project,
we need angular translate.(angular-translate).
Example
In this example, as localization file, I used angular-translate-loader-static-files
bower.json
{
"name": "testapp",
"version": "0.0.1",
"dependencies": {
"angular": "~1.4.5",
"angular-translate": "~2.8.0",
"angular-translate-loader-static-files": "~2.8.0"
},
"private": true
}
translate.ejs
<!DOCTYPE html>
<html ng-app="appModule">
<head>
<title>{{'TITLE' | translate}}</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<link rel='stylesheet' href='/bower/bootstrap/dist/css/bootstrap.css' />
<script src="/bower/angular/angular.min.js"></script>
<script src="/bower/angular-translate/angular-translate.min.js"></script>
<script src="/bower/angular-translate-loader-static-files/angular-translate-loader-static-files.min.js"></script>
<script src="/javascripts/translate/app.js"></script>
<script src="/javascripts/translate/controller.js"></script>
</head>
<body ng-controller="pageController">
<div class="container-fluid">
</div>
</div>
</div>
</body>
</html>
The translation target is TITLE in title tag.
Translation file is under public/translate
en.json
{
"TITLE" : "ABC"
}
ja.json
{
"TITLE" : "こんにちは"
}
Javascript(Angular)
app.js
var app = angular.module("appModule",['pascalprecht.translate']);
controller.js
app.config(['$translateProvider', function($translateProvider) {
$translateProvider.useStaticFilesLoader({
prefix: '/translate/',
suffix: '.json'
});
$translateProvider.preferredLanguage('ja');
$translateProvider.fallbackLanguage('en');
$translateProvider.useMissingTranslationHandlerLog();
// $translateProvider.useLocalStorage();
}]);
app.controller('pageController', function($scope){
});
