2016-05-13 12:48:06 +02:00
|
|
|
(function() {
|
|
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
angular
|
|
|
|
.module('harbor.services.i18n')
|
|
|
|
.factory('I18nService', I18nService);
|
|
|
|
|
2016-05-14 07:34:54 +02:00
|
|
|
I18nService.$inject = ['$cookies', '$window'];
|
2016-05-13 12:48:06 +02:00
|
|
|
|
2016-05-14 07:34:54 +02:00
|
|
|
function I18nService($cookies, $window) {
|
2016-05-13 12:48:06 +02:00
|
|
|
var languages = $.extend(true, {}, global_messages);
|
|
|
|
var defaultLanguage = navigator.language || 'en-US';
|
|
|
|
var languageNames = {
|
|
|
|
'en-US': 'English',
|
|
|
|
'zh-CN': '中文'
|
|
|
|
};
|
|
|
|
return tr;
|
|
|
|
function tr() {
|
|
|
|
return {
|
2016-05-13 13:16:57 +02:00
|
|
|
'setCurrentLanguage': function(language) {
|
2016-05-13 12:48:06 +02:00
|
|
|
if(!language){
|
|
|
|
language = defaultLanguage;
|
|
|
|
}
|
2016-05-14 19:22:18 +02:00
|
|
|
$cookies.put('language', language, {'path': '/'});
|
2016-05-14 07:34:54 +02:00
|
|
|
$window.location.reload();
|
2016-05-13 12:48:06 +02:00
|
|
|
},
|
|
|
|
'getCurrentLanguage': function() {
|
|
|
|
return $cookies.get('language') || defaultLanguage;
|
|
|
|
},
|
|
|
|
'getLanguageName': function(crrentLanguage) {
|
|
|
|
return languageNames[crrentLanguage];
|
|
|
|
},
|
|
|
|
'getValue': function(key, currentLanguage) {
|
|
|
|
return languages[key][currentLanguage];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
})();
|