translate app + add french translation
This commit is contained in:
parent
df10d8e3fe
commit
0266dd119b
|
@ -1,8 +1,8 @@
|
|||
'use strict';
|
||||
|
||||
// Configuring the Forms drop-down menus
|
||||
angular.module('forms').filter('formValidity',
|
||||
function(){
|
||||
angular.module('forms')
|
||||
.filter('formValidity', function(){
|
||||
return function(formObj){
|
||||
if(formObj && formObj.form_fields && formObj.visible_form_fields){
|
||||
|
||||
|
|
32
public/modules/forms/base/config/i18n/english.js
Normal file
32
public/modules/forms/base/config/i18n/english.js
Normal file
|
@ -0,0 +1,32 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('forms').config(['$translateProvider', function ($translateProvider) {
|
||||
|
||||
$translateProvider.translations('english', {
|
||||
FORM_SUCCESS: 'Form entry successfully submitted!',
|
||||
BACK_TO_FORM: 'Go back to Form',
|
||||
EDIT_FORM: 'Edit this TellForm',
|
||||
CREATE_FORM: 'Create this TellForm',
|
||||
ADVANCEMENT: '{{done}} out of {{total}} answered',
|
||||
CONTINUE_FORM: 'Continue to Form',
|
||||
REQUIRED: 'required',
|
||||
OPTIONAL: 'optional',
|
||||
ERROR_EMAIL_INVALID: 'Please enter a valid email address',
|
||||
ERROR_NOT_A_NUMBER: 'Please enter valid numbers only',
|
||||
ERROR_URL_INVALID: 'Please a valid url',
|
||||
OK: 'OK',
|
||||
ENTER: 'press ENTER',
|
||||
CONTINUE: 'Continue',
|
||||
LEGAL_ACCEPT: 'I accept',
|
||||
LEGAL_NO_ACCEPT: 'I don’t accept',
|
||||
DELETE: 'Delete',
|
||||
CANCEL: 'Cancel',
|
||||
UPLOAD_FILE: 'Upload your File'
|
||||
|
||||
});
|
||||
|
||||
$translateProvider.preferredLanguage('english')
|
||||
.fallbackLanguage('english')
|
||||
.useSanitizeValueStrategy('escape');
|
||||
|
||||
}]);
|
27
public/modules/forms/base/config/i18n/french.js
Normal file
27
public/modules/forms/base/config/i18n/french.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('forms').config(['$translateProvider', function ($translateProvider) {
|
||||
|
||||
$translateProvider.translations('french', {
|
||||
FORM_SUCCESS: 'Votre formulaire a été enregistré!',
|
||||
BACK_TO_FORM: 'Retourner au formulaire',
|
||||
EDIT_FORM: 'Éditer le Tellform',
|
||||
CREATE_FORM: 'Créer un TellForm',
|
||||
ADVANCEMENT: '{{done}} complétés sur {{total}}',
|
||||
CONTINUE_FORM: 'Aller au formulaire',
|
||||
REQUIRED: 'obligatoire',
|
||||
OPTIONAL: 'facultatif',
|
||||
ERROR_EMAIL_INVALID: 'Merci de rentrer une adresse mail valide',
|
||||
ERROR_NOT_A_NUMBER: 'Merce de ne rentrer que des nombres',
|
||||
ERROR_URL_INVALID: 'Merci de rentrer une url valide',
|
||||
OK: 'OK',
|
||||
ENTER: 'presser ENTRÉE',
|
||||
CONTINUE: 'Continuer',
|
||||
LEGAL_ACCEPT: 'J’accepte',
|
||||
LEGAL_NO_ACCEPT: 'Jen n’accepte pas',
|
||||
DELETE: 'Supprimer',
|
||||
CANCEL: 'Réinitialiser',
|
||||
UPLOAD_FILE: 'Envoyer des fichier'
|
||||
});
|
||||
|
||||
}]);
|
|
@ -1,10 +1,13 @@
|
|||
'use strict';
|
||||
|
||||
// SubmitForm controller
|
||||
angular.module('forms').controller('SubmitFormController', ['$scope', '$rootScope', '$state', 'myForm', 'Auth',
|
||||
function($scope, $rootScope, $state, myForm, Auth) {
|
||||
angular.module('forms').controller('SubmitFormController', [
|
||||
'$scope', '$rootScope', '$state', '$translate', 'myForm', 'Auth',
|
||||
function($scope, $rootScope, $state, $translate, myForm, Auth) {
|
||||
$scope.authentication = Auth;
|
||||
$scope.myform = myForm;
|
||||
console.log(myForm);
|
||||
$translate.use(myForm.language);
|
||||
|
||||
if(!$scope.myform.isLive){
|
||||
// Show navbar if form is not public AND user IS loggedin
|
||||
|
@ -19,6 +22,5 @@ angular.module('forms').controller('SubmitFormController', ['$scope', '$rootScop
|
|||
}else{
|
||||
$scope.hideNav = $rootScope.hideNav = true;
|
||||
}
|
||||
|
||||
}
|
||||
]);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
angular.module('forms', ['duScroll', 'ngResource', 'NodeForm.templates']);
|
||||
angular.module('forms', ['duScroll', 'ngResource', 'NodeForm.templates', 'pascalprecht.translate']);
|
||||
|
||||
angular.module('NodeForm', [
|
||||
'ui.select', 'cgBusy', 'ngSanitize', 'vButton', 'ngResource',
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -18,7 +18,7 @@ angular.module('forms').directive('fieldDirective', ['$http', '$compile', '$root
|
|||
if (__indexOf.call(supportedFields, type) >= 0) {
|
||||
templateUrl = templateUrl+type+'.html';
|
||||
}
|
||||
return $templateCache.get('../public/'+templateUrl);
|
||||
return $templateCache.get(templateUrl);
|
||||
};
|
||||
|
||||
return {
|
||||
|
|
|
@ -11,12 +11,17 @@ angular.module('forms').directive('submitFormDirective', ['$http', 'TimeCounter'
|
|||
$scope.authentication = $rootScope.authentication;
|
||||
$scope.noscroll = false;
|
||||
$scope.forms = {};
|
||||
$scope.form_fields_count = $scope.myform.visible_form_fields.filter(function(field){
|
||||
|
||||
var form_fields_count = $scope.myform.visible_form_fields.filter(function(field){
|
||||
if(field.fieldType === 'statement' || field.fieldType === 'rating'){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}).length;
|
||||
$scope.translateAdvancementData = {
|
||||
done: $filter('formValidity')($scope.myform),
|
||||
total: form_fields_count
|
||||
};
|
||||
|
||||
$scope.reloadForm = function(){
|
||||
//Reset Form
|
||||
|
@ -109,6 +114,11 @@ angular.module('forms').directive('submitFormDirective', ['$http', 'TimeCounter'
|
|||
$scope.selected._id = field_id;
|
||||
$scope.selected.index = field_index;
|
||||
|
||||
$scope.translateAdvancementData = {
|
||||
done: $filter('formValidity')($scope.myform),
|
||||
total: form_fields_count
|
||||
};
|
||||
|
||||
if(animateScroll){
|
||||
$scope.noscroll=true;
|
||||
setTimeout(function() {
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<div class="row form-actions">
|
||||
<p class="col-xs-3 col-xs-offset-3 text-center">
|
||||
<button class="btn btn-info" type="button">
|
||||
<a ng-click="exitpageData()" style="color:white; font-size: 1.6em; text-decoration: none;">Continue to Form</a>
|
||||
<a ng-click="exitpageData()" style="color:white; font-size: 1.6em; text-decoration: none;">{{ 'CONTINUE_FORM' | translate }}</a>
|
||||
</button>
|
||||
</p>
|
||||
</div>
|
|
@ -7,7 +7,7 @@
|
|||
<i class="fa fa-angle-double-right" aria-hidden="true"></i>
|
||||
</small>
|
||||
{{field.title}}
|
||||
<span class="required-error" ng-show="!field.required && !field.fieldValue">optional</span>
|
||||
<span class="required-error" ng-show="!field.required && !field.fieldValue">{{ 'OPTIONAL' | translate }}</span>
|
||||
</h3>
|
||||
<p class="col-xs-12">
|
||||
<small>{{field.description}}</small>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<i class="fa fa-angle-double-right" aria-hidden="true"></i>
|
||||
</small>
|
||||
{{field.title}}
|
||||
<span class="required-error" ng-show="!field.required">optional</span>
|
||||
<span class="required-error" ng-show="!field.required">{{ 'OPTIONAL' | translate }}</span>
|
||||
</h3>
|
||||
<p class="col-xs-12">
|
||||
<small>{{field.description}}</small>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<i class="fa fa-angle-double-right" aria-hidden="true"></i>
|
||||
</small>
|
||||
{{field.title}}
|
||||
<span class="required-error" ng-show="!field.required">optional</span>
|
||||
<span class="required-error" ng-show="!field.required">{{ 'OPTIONAL' | translate }}</span>
|
||||
</h3>
|
||||
<br>
|
||||
<p class="col-xs-12">{{field.description}}</p>
|
||||
|
@ -31,7 +31,7 @@
|
|||
<div class="letter" style="float:left">
|
||||
Y
|
||||
</div>
|
||||
<span> I accept </span>
|
||||
<span> {{ 'LEGAL_ACCEPT' | translate }} </span>
|
||||
</label>
|
||||
<label class="btn col-md-5 col-md-offset-1 col-xs-12"
|
||||
ng-class="{activeBtn: field.fieldValue == 'false'}">
|
||||
|
@ -46,7 +46,7 @@
|
|||
<div class="letter" style="float:left">
|
||||
N
|
||||
</div>
|
||||
<span>I don't accept </span>
|
||||
<span>{{ 'LEGAL_NO_ACCEPT' | translate }} </span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<i class="fa fa-angle-double-right" aria-hidden="true"></i>
|
||||
</small>
|
||||
{{field.title}}
|
||||
<span class="required-error" ng-show="!field.required">optional</span>
|
||||
<span class="required-error" ng-show="!field.required">{{ 'OPTIONAL' | translate }}</span>
|
||||
</h3>
|
||||
<p class="col-xs-12">
|
||||
<small>{{field.description}}</small>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<i class="fa fa-angle-double-right" aria-hidden="true"></i>
|
||||
</small>
|
||||
{{field.title}}
|
||||
<span class="required-error" ng-show="!field.required">optional</span>
|
||||
<span class="required-error" ng-show="!field.required">{{ 'OPTIONAL' | translate }}</span>
|
||||
</h3>
|
||||
<p class="col-xs-12">
|
||||
<small>{{field.description}}</small>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
ng-style="{'font-size': '1.3em', 'background-color':design.colors.buttonColor, 'color':design.colors.buttonTextColor}"
|
||||
ng-focused="setActiveField(field._id, index, true)"
|
||||
ng-click="$root.nextField()">
|
||||
Continue
|
||||
{{ 'CONTINUE' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -37,11 +37,11 @@
|
|||
ng-click="$root.nextField()"
|
||||
class="btn col-sm-5 col-xs-5">
|
||||
|
||||
OK <i class="fa fa-check"></i>
|
||||
{{ 'OK' | translate }} <i class="fa fa-check"></i>
|
||||
</button>
|
||||
<div class="col-sm-3 col-xs-6" style="margin-top:0.2em">
|
||||
<small style="color:#ddd; font-size:70%">
|
||||
press ENTER
|
||||
{{ 'ENTER' | translate }}
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
{{field.title}}
|
||||
|
||||
<span class="required-error" ng-show="!field.required">
|
||||
(optional)
|
||||
({{ 'OPTIONAL' | translate }})
|
||||
</span>
|
||||
</h3>
|
||||
|
||||
|
@ -40,9 +40,9 @@
|
|||
<div ng-show="forms.myForm.{{field.fieldType}}{{index}}.$invalid && !!forms.myForm.{{field.fieldType}}{{index}}.$viewValue " class="alert alert-danger" role="alert">
|
||||
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
|
||||
<span class="sr-only">Error:</span>
|
||||
<span ng-if="field.fieldType == 'email'"> Please enter a valid email address </span>
|
||||
<span ng-if="field.validateRegex"> Please enter valid numbers only </span>
|
||||
<span ng-if="field.fieldType == 'link'"> Please a valid url </span>
|
||||
<span ng-if="field.fieldType == 'email'"> {{ 'ERROR_EMAIL_INVALID' | translate }} </span>
|
||||
<span ng-if="field.validateRegex"> {{ 'ERROR_NOT_A_NUMBER' | translate }} </span>
|
||||
<span ng-if="field.fieldType == 'link'"> {{ 'ERROR_URL_INVALID' | translate }} </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -54,11 +54,11 @@
|
|||
ng-click="$root.nextField()"
|
||||
class="btn col-sm-5 col-xs-5">
|
||||
|
||||
OK <i class="fa fa-check"></i>
|
||||
{{ 'OK' | translate }} <i class="fa fa-check"></i>
|
||||
</button>
|
||||
<div class="col-xs-6 col-sm-3" style="margin-top:0.2em">
|
||||
<small style="color:#ddd; font-size:70%">
|
||||
press ENTER
|
||||
{{ 'ENTER' | translate }}
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
</small>
|
||||
{{field.title}}
|
||||
<span class="required-error" ng-show="!field.required">
|
||||
optional
|
||||
{{ 'OPTIONAL' | translate }}
|
||||
</span>
|
||||
</h3>
|
||||
<p class="row">
|
||||
|
@ -45,9 +45,16 @@
|
|||
|
||||
<input type="radio" value="false"
|
||||
style="opacity:0; margin-left:0px;"
|
||||
<<<<<<< df10d8e3fe9b17eb9b620a4261a8efd1126d780e
|
||||
ng-model="field.fieldValue"
|
||||
ng-model-options="{ debounce: 250 }"
|
||||
ng-required="field.required"
|
||||
=======
|
||||
ng-focus="setActiveField(field._id, index, true)"
|
||||
ng-model="field.fieldValue"
|
||||
ng-model-options="{ debounce: 250 }"
|
||||
ng-required="field.required"
|
||||
>>>>>>> translate app + add french translation
|
||||
ng-change="$root.nextField()"
|
||||
ng-disabled="field.disabled"/>
|
||||
|
||||
|
|
|
@ -58,6 +58,7 @@ ng-style="{'color':button.color}">
|
|||
</field-directive>
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
@ -97,7 +98,7 @@ ng-style="{'color':button.color}">
|
|||
|
||||
<div class="col-sm-2 hidden-xs" style="font-size: 75%; margin-top:3.25em">
|
||||
<small>
|
||||
press ENTER
|
||||
{{ 'ENTER' | translate }}
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -107,20 +108,20 @@ ng-style="{'color':button.color}">
|
|||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-sm-5 col-md-6 col-xs-5" ng-show="!myform.submitted">
|
||||
<p class="lead">{{myform | formValidity}} out of {{form_fields_count}} answered</p>
|
||||
<p class="lead">{{ 'ADVANCEMENT' | translate:translateAdvancementData }}</p>
|
||||
</div>
|
||||
<div class="col-md-6 col-md-offset-0 col-sm-offset-2 col-sm-3 col-xs-offset-1 col-xs-6 row">
|
||||
<div class="col-md-4 col-md-offset-2 hidden-sm hidden-xs" ng-if="!authentication.isAuthenticated()">
|
||||
<a href="/#!/forms" class="btn"
|
||||
ng-style="{'background-color':myform.design.colors.buttonColor, 'color':myform.design.colors.buttonTextColor}">
|
||||
Create a TellForm
|
||||
{{ 'CREATE_FORM' | translate }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-4 col-md-offset-2 hidden-sm hidden-xs" ng-if="authentication.isAuthenticated()">
|
||||
<a href="/#!/forms/{{myform._id}}/admin/create"
|
||||
ng-style="{'background-color':myform.design.colors.buttonColor, 'color':myform.design.colors.buttonTextColor}"
|
||||
class="btn">
|
||||
Edit this TellForm
|
||||
{{ 'EDIT_FORM' | translate }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-10 col-md-offset-0 col-sm-offset-2 col-xs-12 row">
|
||||
|
@ -149,13 +150,13 @@ ng-style="{'color':button.color}">
|
|||
style="padding-top: 5vh;">
|
||||
|
||||
<div class="field row text-center">
|
||||
<div class="col-xs-12 col-sm-12 col-md-6 col-md-offset-3 text-center">Form entry successfully submitted!</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-6 col-md-offset-3 text-center">{{ 'FROM_SUCCESS' | translate }}</div>
|
||||
</div>
|
||||
<div class="row form-actions">
|
||||
<p class="text-center">
|
||||
<button ng-click="reloadForm()" class="btn" type="button"
|
||||
ng-style="{'background-color':myform.design.colors.buttonColor, 'color':myform.design.colors.buttonTextColor}">
|
||||
<span style="font-size: 1.6em;"> Go back to Form</span>
|
||||
<span style="font-size: 1.6em;"> {{ 'BACK_TO_FORM' | translate }}</span>
|
||||
</button>
|
||||
</p>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue