【メモ】Angular translateが動かなかった

仕事でJSフレームワークを使う必要があったので、Angularにして、
i18nをAngular Translateでやろうとしたら動かなかったのでメモ。

Angular Translate
AngularJS アプリケーションを国際化するには

まあバージョンが違うので上げたわけですが、その辺のせいでクッキーが正常に動かないとか、なんか諸々。
ストレージ関連を外したら動いたけどそういうこっちゃないだろってことで。

2系はよう知らんので、1系で。
動いた構成。
[html title=”ヘッダー”]









[/html]

[js title=”app.js”]
var app = angular.module(‘myApp’, [‘pascalprecht.translate’,’ngCookies’]);

app.config([‘$translateProvider’, function($translateProvider) {
$translateProvider.useStaticFilesLoader({
prefix: ‘assets/i18n/locale-‘,
suffix: ‘.json’
});
$translateProvider.useSanitizeValueStrategy(‘escaped’);
//戻り値がシステム依存になるので使わない
//$translateProvider.determinePreferredLanguage();
$translateProvider.preferredLanguage(‘ja’);
$translateProvider.fallbackLanguage(‘en’);
$translateProvider.useMissingTranslationHandlerLog();
$translateProvider.useLocalStorage();
}]);
[/js]

[js title=”controllers.js”]
angular.module(‘myApp’).controller(‘myCtrl’, [‘$translate’, ‘$scope’, function ($translate, $scope) {

$scope.changeLanguage = function (currentLang) {
if(currentLang === ‘ja’ || currentLang == ‘ja_jp’){
$translate.use(‘ja’);
} else if (currentLang === ‘en’){
$translate.use(‘en’);
} else {
$translate.use(‘ja’);
}
};

}]);
[/js]

[html title=”HTML中身”]
body ng-app=”myApp” ng-controller=”myCtrl”>

へっどらいん

ぱらぐらふ


[/html]

[js title=”JSON”]
{
“HEADLINE”: “日本語表示テスト”,
“PARAGRAPH”: “文章ですよ”,
“IMAGEURL”: {
“TOP”: “https://placeholdit.imgix.net/~text?txtsize=33&txt=%E6%97%A5%E6%9C%AC%E8%AA%9E&w=640&h=480”
},
“BUTTON_LANG_JA”: “日本語へ”,
“BUTTON_LANG_EN”: “英語へ”
}
[/js]

大した話じゃなかったけどめんどくさかったので。