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){

});

Ref

angular-translate
angular-translate-loader-static-files