This is an automated email from the git hooks/post-receive script. New commit to branch devel in repository pollen. See http://git.chorem.org/pollen.git commit 5e7f6db335cf208025f93851fbd32f40b4ec8d2a Author: Adrien Garandel <a.garandel@dralagen.fr> Date: Mon Jun 2 15:57:14 2014 +0200 translate menu bar --- pollen-ui-angular/src/main/webapp/i18n/en.js | 26 +++++++++++++++++ pollen-ui-angular/src/main/webapp/i18n/fr.js | 24 +++++++++++++++ pollen-ui-angular/src/main/webapp/index.html | 34 ++++++++++++---------- pollen-ui-angular/src/main/webapp/js/app.js | 15 +++++++++- .../src/main/webapp/js/conf.js.exemple | 3 ++ .../src/main/webapp/js/controllers/localeCtrl.js | 6 +++- .../src/main/webapp/partials/user-login.html | 14 +++++---- 7 files changed, 99 insertions(+), 23 deletions(-) diff --git a/pollen-ui-angular/src/main/webapp/i18n/en.js b/pollen-ui-angular/src/main/webapp/i18n/en.js new file mode 100644 index 0000000..2ed5f09 --- /dev/null +++ b/pollen-ui-angular/src/main/webapp/i18n/en.js @@ -0,0 +1,26 @@ +var translateEN = { + +'newPoll':'New', + +'admin' : 'Administration', +'admin.listPoll' : 'List of Polls', +'admin.listUser' : 'List of Users', +'admin.config' : 'Configuration', + +'logout' : 'Logout', +'login' : 'Login', +'user.edit' : 'Profile', +'user.listPollCreated' : 'Created Poll', +'user.listPollParticiped' : 'Participed Poll', +'user.listPollInvited' : 'Invited Poll', +'user.register' : 'Register', + +'user.mail' : 'e-mail', +'user.password' : 'Password', +'user.password2' : 'Confirm', +'user.rememberMe' : 'Remember Me', +'user.forgotPassword' : 'Forgot Password', + + + +} \ No newline at end of file diff --git a/pollen-ui-angular/src/main/webapp/i18n/fr.js b/pollen-ui-angular/src/main/webapp/i18n/fr.js new file mode 100644 index 0000000..6754b68 --- /dev/null +++ b/pollen-ui-angular/src/main/webapp/i18n/fr.js @@ -0,0 +1,24 @@ +var translateFR = { + +'newPoll':'Nouveau Sondage', + +'admin' : 'Administration', +'admin.listPoll' : 'Liste des Sondages', +'admin.listUser' : 'Liste des Utilisateurs', +'admin.config' : 'Configuration', + +'logout' : 'Deconnexion', +'login' : 'Connexion', +'user.edit' : 'Profile', +'user.listPollCreated' : 'Sondage Crée', +'user.listPollParticiped' : 'Sondage Participé', +'user.listPollInvited' : 'Sondage invité', +'user.register' : 'S\'enregistrer', + +'user.mail' : 'Courriel', +'user.password' : 'Mot de passe', +'user.password2' : 'Confirmation', +'user.rememberMe' : 'Connexion automatique', +'user.forgotPassword' : 'Mot de passe oublié', + +} \ No newline at end of file diff --git a/pollen-ui-angular/src/main/webapp/index.html b/pollen-ui-angular/src/main/webapp/index.html index 258f372..a43a8f2 100644 --- a/pollen-ui-angular/src/main/webapp/index.html +++ b/pollen-ui-angular/src/main/webapp/index.html @@ -28,12 +28,13 @@ <script src="js/conf.js"></script> - <script src="http://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-route.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-resource.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-cookies.min.js"></script> - <script src="http://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.11.0/ui-bootstrap-tpls.min.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/bower-angular-translate/2.0.1/angular-translate.min.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.11.0/ui-bootstrap-tpls.min.js"></script> <script src="js/libs/ckeditor/ckeditor.js"></script> <script src="js/app.js"></script> @@ -41,6 +42,9 @@ <script src="js/controllers/pollCtrl.js"></script> <script src="js/controllers/userCtrl.js"></script> <script src="js/controllers/localeCtrl.js"></script> + + <script src="i18n/fr.js"></script> + <script src="i18n/en.js"></script> </head> <body> @@ -51,7 +55,7 @@ </div> <ul class="nav navbar-nav pull-right" ng-controller="LocaleCtrl"> <li dropdown class="dropdown-toggle"> - <a> <img src="img/{{locale}}.png" /></a> + <a> <img ng:attr-src="{{localeURL}}" /></a> <ul class="dropdown-menu"> <li><a ng-click="switchLocale('fr')"><img src="img/fr.png" /> Français </a></li> <li><a ng-click="switchLocale('en')"><img src="img/en.png" /> English </a> </li> @@ -60,18 +64,18 @@ </ul> <div class="collapse navbar-collapse" ng-controller="UserLoginCtrl"> <ul class="nav navbar-nav"> - <li><a href="#/poll/create">Creer</a></li> + <li><a href="#/poll/create"> {{ 'newPoll' | translate }}</a></li> </ul> <ul class="nav navbar-nav pull-right"> <li ng-show="!currentUser.id"> - <a href="#/user/register/">S'enregistrer</a> + <a href="#/user/register/"> {{ 'user.register' | translate }} </a> </li> <li class="divider-vertical" ng-show="!currentUser.id"></li> <li ng-show="!currentUser.id" dropdown> <a href="#" role="button" class="dropdown-toggle"> - Connexion<strong class="caret"></strong> + {{ 'login' | translate }} <strong class="caret"></strong> </a> <div class="dropdown-menu form" role="menu" ng-click="$event.stopPropagation()"> @@ -81,13 +85,13 @@ <li class="dropdown" ng-show="currentUser.administrator"> <a href="#" role="button" class="dropdown-toggle" data-toggle="dropdown"> - Administration <strong class="caret"></strong> + {{ 'admin' | translate }} <strong class="caret"></strong> </a> <ul class="dropdown-menu" role="menu"> - <li><a href="#/poll/list">Liste Sondages</a></li> - <li><a href="#/user/list">List Users</a></li> - <li><a href="#/conf">Configuration</a></li> + <li><a href="#/poll/list">{{ 'admin.listPoll' | translate }}</a></li> + <li><a href="#/user/list">{{ 'admin.listUser' | translate }}</a></li> + <li><a href="#/conf">{{ 'admin.config' | translate }}</a></li> </ul> </li> @@ -98,27 +102,27 @@ <ul class="dropdown-menu" role="menu"> <li> - <a href="#/user/edit">Profile</a> + <a href="#/user/edit">{{ 'user.edit' | translate }}</a> </li> <li class="divider"></li> <li> - <a href="#/poll/list/created"> Sondage Créé </a> + <a href="#/poll/list/created"> {{ 'user.listPollCreated' | translate }} </a> </li> <li> - <a href="#/poll/list/participated"> Sondage Participé </a> + <a href="#/poll/list/participated"> {{ 'user.listPollParticiped' | translate }} </a> </li> <li> - <a href="#/poll/list/invited"> Sondage Invité </a> + <a href="#/poll/list/invited"> {{ 'user.listPollInvited' | translate }} </a> </li> <li class="divider"></li> <li> - <a ng-click="logout()">Deconnexion</a> + <a ng-click="logout()">{{ 'logout' | translate }}</a> </li> </ul> diff --git a/pollen-ui-angular/src/main/webapp/js/app.js b/pollen-ui-angular/src/main/webapp/js/app.js index d25969c..39a938b 100644 --- a/pollen-ui-angular/src/main/webapp/js/app.js +++ b/pollen-ui-angular/src/main/webapp/js/app.js @@ -18,7 +18,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * #L% */ -angular.module('pollen', ['pollenServices', 'ngRoute', 'pollControllers', 'userControllers', 'localeControllers', 'ui.bootstrap', 'ngCookies']) +angular.module('pollen', ['pollenServices', 'ngRoute', 'pollControllers', 'userControllers', 'localeControllers', 'ui.bootstrap', 'ngCookies', 'pascalprecht.translate']) .config(['$httpProvider', function($httpProvider) { // edit header for locale and sessionToken $httpProvider.interceptors.push('httpInterceptor'); @@ -74,6 +74,19 @@ angular.module('pollen', ['pollenServices', 'ngRoute', 'pollControllers', 'userC }]) +.config(['$translateProvider', function ($translateProvider) { + $translateProvider.translations('en', translateEN); + $translateProvider.translations('fr', translateFR); + + if (angular.isDefined(conf.defaultLanguage)) { + $translateProvider.preferredLanguage(conf.defaultLanguage); + $translateProvider.fallbackLanguage(conf.defaultLanguage); + } + else { + $translateProvider.preferredLanguage('en'); + $translateProvider.fallbackLanguage('en'); + } +}]) .directive('focusMe', function($timeout) { return { diff --git a/pollen-ui-angular/src/main/webapp/js/conf.js.exemple b/pollen-ui-angular/src/main/webapp/js/conf.js.exemple index adcbae6..06021c7 100644 --- a/pollen-ui-angular/src/main/webapp/js/conf.js.exemple +++ b/pollen-ui-angular/src/main/webapp/js/conf.js.exemple @@ -10,4 +10,7 @@ var conf = { // Favorite list number per page favoriteListDefaultPageSize : 15, + + // Default Language for i18n : 'en' or 'fr' + defaultLanguage: 'en', } \ No newline at end of file diff --git a/pollen-ui-angular/src/main/webapp/js/controllers/localeCtrl.js b/pollen-ui-angular/src/main/webapp/js/controllers/localeCtrl.js index fe18e24..ffe66de 100644 --- a/pollen-ui-angular/src/main/webapp/js/controllers/localeCtrl.js +++ b/pollen-ui-angular/src/main/webapp/js/controllers/localeCtrl.js @@ -19,14 +19,18 @@ * #L% */ angular.module('localeControllers', []) -.controller('LocaleCtrl', ['$scope', 'SessionStorage',function ($scope, SessionStorage) { +.controller('LocaleCtrl', ['$scope', '$translate', 'SessionStorage',function ($scope, $translate, SessionStorage) { $scope.locale = SessionStorage.get().locale; + $scope.localeURL = "img/"+$scope.locale+".png"; + $translate.use($scope.locale); $scope.switchLocale = function (locale) { //change locale if (locale != $scope.locale) { SessionStorage.save({locale:locale}); $scope.locale = locale; + $scope.localeURL = "img/"+locale+".png"; + $translate.use(locale); } } }]) diff --git a/pollen-ui-angular/src/main/webapp/partials/user-login.html b/pollen-ui-angular/src/main/webapp/partials/user-login.html index 9a6cf79..8797515 100644 --- a/pollen-ui-angular/src/main/webapp/partials/user-login.html +++ b/pollen-ui-angular/src/main/webapp/partials/user-login.html @@ -2,28 +2,30 @@ <div class="control-group"> <label class="control-label"> - Courriel + {{ 'user.mail' | translate }} <info-error error="restError.connexion" data="data.user"></info-error> </label> <input type="text" name='login' ng-model="data.user.login" class="form-control"/> </div> <div class="control-group"> - <label class="control-label" >Mot de Passe</label> + <label class="control-label" > + {{ 'user.password' | translate }} + </label> <input type="password" name='password' ng-model="data.user.password" class="form-control"/> - <span class="help-block hide"></span> </div> <div class="control-group"> <label class="control-label checkbox" > - <input type="checkbox" name='rememberMe' ng-model="data.user.rememberMe"> Connexion automatique + <input type="checkbox" name='rememberMe' ng-model="data.user.rememberMe"> + {{ 'user.rememberMe' | translate }} </label> </div> <div class="form-actions"> - <button type="submit" class="btn btn-primary">Connexion</button> + <button type="submit" class="btn btn-primary">{{ 'login' | translate }}</button> <hr/> - <a href="#/user/lostpassword">Mot de passe oublié</a> + <a href="#/user/lostpassword"> {{ 'user.forgotPassword' | translate }}</a> </div> </form> \ No newline at end of file -- To stop receiving notification emails like this one, please contact Chorem.org SCM administrator <admin+scm@chorem.org>.