i18n now working

This commit is contained in:
Athou
2014-08-10 15:20:04 +02:00
parent f9e7958e8b
commit 39be4fec4e
53 changed files with 5310 additions and 210 deletions

View File

@@ -1358,12 +1358,12 @@ module.controller('ManageUserCtrl', ['$scope', '$state', '$stateParams', 'AdminU
};
}]);
module.controller('SettingsCtrl', ['$scope', '$location', 'SettingsService', 'AnalyticsService', 'ServerService',
function($scope, $location, SettingsService, AnalyticsService, ServerService) {
module.controller('SettingsCtrl', ['$scope', '$location', 'SettingsService', 'AnalyticsService', 'LangService',
function($scope, $location, SettingsService, AnalyticsService, LangService) {
AnalyticsService.track();
$scope.ServerService = ServerService.get();
$scope.langs = LangService.langs;
$scope.themes = ['default', 'bootstrap', 'dark', 'ebraminio', 'MRACHINI', 'svetla', 'third'];
@@ -1487,18 +1487,19 @@ module.controller('LoginCtrl', ['$scope', '$location', 'SessionService', functio
};
}]);
module.controller('RegisterCtrl', ['$scope', '$location', 'SessionService', 'ServerService', function($scope, $location, SessionService, ServerService) {
$scope.ServerService = ServerService.get();
$scope.model = {};
module.controller('RegisterCtrl', ['$scope', '$location', 'SessionService', 'ServerService',
function($scope, $location, SessionService, ServerService) {
$scope.ServerService = ServerService.get();
$scope.model = {};
$scope.register = function() {
var success = function(data) {
$location.path('/');
$scope.$emit('emitReload');
};
var error = function(data) {
$scope.messages = data.data.errors;
};
SessionService.register($scope.model, success, error);
}
}]);
$scope.register = function() {
var success = function(data) {
$location.path('/');
$scope.$emit('emitReload');
};
var error = function(data) {
$scope.messages = data.data.errors;
};
SessionService.register($scope.model, success, error);
}
}]);

View File

@@ -21,7 +21,7 @@ module.directive('confirmClick', [function() {
restrict : 'A',
link : function(scope, element, attrs) {
element.bind('click', function(e) {
var message = attrs.confirmClick;
var message = scope.$eval(attrs.confirmClick);
if (message && !confirm(message)) {
e.stopImmediatePropagation();
e.preventDefault();

34
src/main/app/js/i18n.js Normal file
View File

@@ -0,0 +1,34 @@
var module = angular.module('commafeed.i18n', []);
module.service('LangService', [function() {
this.langs = {
'ar': 'العربية',
'ca': 'Català',
'en': 'English',
'es': 'Español',
'de': 'Deutsch',
'fa': 'فارسی',
'fr': 'Français',
'gl': 'Galician',
'glk': 'گیلکی',
'hu': 'Magyar',
'ja': '日本語',
'ko': '한국어',
'nl': 'Nederlands',
'nb': 'Norsk (bokmål)',
'nn': 'Norsk (nynorsk)',
'pt': 'Português',
'pl': 'Polski',
'ru': 'русский',
'fi': 'Suomi',
'sv': 'Svenska',
'zh': '简体中文',
'it': 'Italiano',
'tr': 'Türkçe',
'cy': 'Cymraeg',
'sk': 'Slovenčina',
'da': 'Danish',
'cs': 'Čeština',
'ms': 'Bahasa Malaysian'
}
}]);

View File

@@ -1,10 +1,25 @@
var app = angular.module('commafeed', ['ngRoute', 'ngTouch', 'ngAnimate', 'ui.utils', 'ui.bootstrap', 'ui.router', 'ui.select2',
'commafeed.directives', 'commafeed.controllers', 'commafeed.services', 'commafeed.filters', 'ngSanitize', 'infinite-scroll',
'ngGrid', 'chieffancypants.loadingBar']);
'commafeed.directives', 'commafeed.controllers', 'commafeed.services', 'commafeed.filters', 'commafeed.i18n', 'ngSanitize',
'infinite-scroll', 'ngGrid', 'chieffancypants.loadingBar', 'pascalprecht.translate']);
app.config([
'$routeProvider',
'$stateProvider',
'$urlRouterProvider',
'$httpProvider',
'$compileProvider',
'cfpLoadingBarProvider',
'$translateProvider',
function($routeProvider, $stateProvider, $urlRouterProvider, $httpProvider, $compileProvider, cfpLoadingBarProvider,
$translateProvider) {
// $translateProvider.useLocalStorage();
$translateProvider.useStaticFilesLoader({
prefix : '/i18n/',
suffix : '.js'
});
$translateProvider.preferredLanguage('en');
app.config(['$routeProvider', '$stateProvider', '$urlRouterProvider', '$httpProvider', '$compileProvider', 'cfpLoadingBarProvider',
function($routeProvider, $stateProvider, $urlRouterProvider, $httpProvider, $compileProvider, cfpLoadingBarProvider) {
cfpLoadingBarProvider.includeSpinner = false;
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|javascript):/);
@@ -121,7 +136,7 @@ app.config(['$routeProvider', '$stateProvider', '$urlRouterProvider', '$httpProv
templateUrl : 'templates/admin.metrics.html',
controller : 'MetricsCtrl'
});
$stateProvider.state('welcome', {
url : '/welcome',
templateUrl : 'templates/welcome.html'

View File

@@ -39,7 +39,7 @@ module.factory('SessionService', ['$resource', function($resource) {
return res;
}]);
module.factory('SettingsService', ['$resource', function($resource) {
module.factory('SettingsService', ['$resource', '$translate', function($resource, $translate) {
var res = $resource('rest/user/settings');
var s = {};
@@ -61,6 +61,7 @@ module.factory('SettingsService', ['$resource', function($resource) {
lang = 'ms-my';
}
moment.lang(lang, {});
$translate.use(lang);
if (callback) {
callback(data);
}