Files
old-wiaas-legacy/api-wiaas/client/js/components/translate/translate.directive.js
2018-06-11 11:09:35 +02:00

43 lines
1.4 KiB
JavaScript

(function () {
global.dashModule.config(['$translateProvider', function ($translateProvider) {
$translateProvider.useUrlLoader('translate/api/getTranslation');
const lang = hasLanguageInStorage() ? localStorage.lang : 'en';
$translateProvider.preferredLanguage(lang);
$translateProvider.useSanitizeValueStrategy('escape');
}]);
global.dashModule
.controller('translateCtrl', ['$translate', '$scope', 'dataTableHelper', translateCtrl])
.directive('translateMain', [translateMain]);
function translateMain() {
return {
restrict: 'E',
templateUrl: 'translate/html/languagesTemplate'
};
}
function translateCtrl($translate, $scope, dataTableHelper) {
$scope.lang = hasLanguageInStorage() ? localStorage.lang : 'en';
$scope.changeLanguage = changeLanguage;
function changeLanguage() {
$translate.use($scope.lang).then(() => {
setLanguageInStorage($scope.lang);
dataTableHelper.setDataTableLanguage();
});
}
}
function hasLanguageInStorage() {
return typeof Storage !== 'undefined' && typeof localStorage.lang !== 'undefined';
}
function setLanguageInStorage(lang) {
if (typeof Storage !== 'undefined') {
localStorage.setItem('lang', lang);
}
}
})();