Skip to content

Instantly share code, notes, and snippets.

@ekoneko
Created September 25, 2014 16:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ekoneko/3f894f644311f42605e0 to your computer and use it in GitHub Desktop.
Save ekoneko/3f894f644311f42605e0 to your computer and use it in GitHub Desktop.
angular
(function () {
'use strict';
/**
* init app
*/
var app = angular.module('inde-system', ['ngRoute', 'pascalprecht.translate', 'ngAnimate']);
/**
* expose provide & configure
*/
app.config([
'$translateProvider',
'$routeProvider',
'$controllerProvider',
'$compileProvider',
'$filterProvider',
'$httpProvider',
'$provide',
function ($translateProvider, $routeProvider, $controllerProvider, $compileProvider, $filterProvider, $httpProvider, $provide) {
app.translateProvider = $translateProvider;
app.routeProvider = $routeProvider;
app.controllerProvider = $controllerProvider;
app.filterProvider = $filterProvider;
app.httpProvider = $httpProvider;
app.provide = $provide;
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|javascript):/);
$routeProvider
.when('/:app/:controller', {
templateUrl: function (params) {
return '/app/' + params.app + '/' + params.controller + '/' + 'index.html';
},
resolve: {
load: function () {}
}
})
.when('/', {
redirectTo: '/index/index'
}).otherwise({
redirectTo: '/index/404'
});
}
]);
/**
* global controller
*/
app.controller('global-controller', ['$translate', '$scope', '$http', function ($translate, $scope, $http) {
$scope.siteName = 'Developer Platform';
/* language */
$scope.setLanguage = function (lang) {
$scope.language = lang;
if (app.translateProvider[lang]) {
$translate.use(lang);
return;
}
$http.get('/i18n/' + lang + '.json').success(function (result) {
app.translateProvider.translations(lang, result);
$translate.use(lang);
}).error(function () {
app.translateProvider.translations(lang, {});
// response loaded i18n failed
});
};
$scope.defaultLanguage = 'zh'; // default language
if (navigator && navigator.language) {
if (/^en/.test(navigator.language)) {
$scope.defaultLanguage = 'en';
} else if (/^zh/.test(navigator.language)) {
$scope.defaultLanguage = 'zh';
}
}
$scope.setLanguage($scope.defaultLanguage);
}]);
require.config({
baseUrl: '/'
});
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment