1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-02-19 13:54:25 +01:00

offer slot from cart + [ongoing] refacto cart translations

This commit is contained in:
Sylvain 2017-02-22 09:44:15 +01:00
parent a463ad6a2a
commit 7a21a907a8
7 changed files with 130 additions and 112 deletions

View File

@ -111,14 +111,14 @@ Application.Directives.directive 'cart', [ '$rootScope', '$uibModal', 'dialogs',
Wallet.getWalletByUser {user_id: $scope.user.id}, (wallet) ->
amountToPay = helpers.getAmountToPay($scope.amountTotal, wallet.amount)
if $rootScope.currentUser.role isnt 'admin' and amountToPay > 0
if not $scope.isAdmin() and amountToPay > 0
payByStripe(reservation)
else
if $rootScope.currentUser.role is 'admin' or amountToPay is 0
if $scope.isAdmin() or amountToPay is 0
payOnSite(reservation)
else
# otherwise we alert, this error musn't occur when the current user is not admin
growl.error(_t('please_select_a_member_first'))
growl.error(_t('cart.please_select_a_member_first'))
##
@ -133,7 +133,7 @@ Application.Directives.directive 'cart', [ '$rootScope', '$uibModal', 'dialogs',
, -> # success
$scope.onSlotModifySuccess() if typeof $scope.onSlotModifySuccess == 'function'
, (err) -> # failure
growl.error(_t('unable_to_change_the_reservation'))
growl.error(_t('cart.unable_to_change_the_reservation'))
console.error(err)
@ -157,21 +157,6 @@ Application.Directives.directive 'cart', [ '$rootScope', '$uibModal', 'dialogs',
$scope.onSlotModifyUnselect() if typeof $scope.onSlotModifyUnselect == 'function'
$scope.events.placable = null
##
# Cancel the current booking modification, removing the previously booked slot from the selection
# @param e {Object} see https://docs.angularjs.org/guide/expression#-event-
##
$scope.removeSlotToModify = (e) ->
e.preventDefault()
if $scope.events.placable
$scope.events.placable.backgroundColor = 'white'
$scope.events.placable.title = ''
$scope.events.placable = null
$scope.events.modifiable.title = if $scope.currentUser.role isnt 'admin' then _t('i_ve_reserved') else _t('not_available')
$scope.events.modifiable.backgroundColor = 'white'
$scope.events.modifiable = null
uiCalendarConfig.calendars.calendar.fullCalendar 'rerenderEvents'
##
@ -186,6 +171,15 @@ Application.Directives.directive 'cart', [ '$rootScope', '$uibModal', 'dialogs',
##
# Check if the currently logged user has teh 'admin' role?
# @returns {boolean}
##
$scope.isAdmin = ->
$rootScope.currentUser and $rootScope.currentUser.role is 'admin'
### PRIVATE SCOPE ###
##
@ -265,14 +259,14 @@ Application.Directives.directive 'cart', [ '$rootScope', '$uibModal', 'dialogs',
dialogs.confirm
resolve:
object: ->
title: _t('confirmation_required')
msg: _t('do_you_really_want_to_cancel_this_reservation')
title: _t('cart.confirmation_required')
msg: _t('cart.do_you_really_want_to_cancel_this_reservation')
, -> # cancel confirmed
Slot.cancel {id: $scope.slot.id}, -> # successfully canceled
growl.success _t('reservation_was_cancelled_successfully')
growl.success _t('cart.reservation_was_cancelled_successfully')
$scope.onSlotCancelSuccess() if typeof $scope.onSlotCancelSuccess == 'function'
, -> # error while canceling
growl.error _t('cancellation_failed')
growl.error _t('cart.cancellation_failed')
@ -281,7 +275,7 @@ Application.Directives.directive 'cart', [ '$rootScope', '$uibModal', 'dialogs',
# @param slot {Object} fullCalendar event object
##
slotCanBeModified = (slot)->
return true if $rootScope.currentUser.role is 'admin'
return true if $scope.isAdmin()
slotStart = moment(slot.start)
now = moment()
if slot.can_modify and $scope.enableBookingMove and slotStart.diff(now, "hours") >= $scope.moveBookingDelay
@ -296,7 +290,7 @@ Application.Directives.directive 'cart', [ '$rootScope', '$uibModal', 'dialogs',
# @param slot {Object} fullCalendar event object
##
slotCanBeCanceled = (slot) ->
return true if $rootScope.currentUser.role is 'admin'
return true if $scope.isAdmin()
slotStart = moment(slot.start)
now = moment()
if slot.can_modify and $scope.enableBookingCancel and slotStart.diff(now, "hours") >= $scope.cancelBookingDelay
@ -334,7 +328,7 @@ Application.Directives.directive 'cart', [ '$rootScope', '$uibModal', 'dialogs',
setSlotsDetails(res.details)
else
# otherwise we alert, this error musn't occur when the current user is not admin
growl.warning(_t('please_select_a_member_first'))
growl.warning(_t('cart.please_select_a_member_first'))
$scope.amountTotal = null
@ -491,10 +485,10 @@ Application.Directives.directive 'cart', [ '$rootScope', '$uibModal', 'dialogs',
# Button label
if $scope.amount > 0
$scope.validButtonName = _t('confirm_payment_of_html', {ROLE:$rootScope.currentUser.role, AMOUNT:$filter('currency')($scope.amount)}, "messageformat")
$scope.validButtonName = _t('cart.confirm_payment_of_html', {ROLE:$rootScope.currentUser.role, AMOUNT:$filter('currency')($scope.amount)}, "messageformat")
else
if price.price > 0 and $scope.walletAmount == 0
$scope.validButtonName = _t('confirm_payment_of_html', {ROLE:$rootScope.currentUser.role, AMOUNT:$filter('currency')(price.price)}, "messageformat")
$scope.validButtonName = _t('cart.confirm_payment_of_html', {ROLE:$rootScope.currentUser.role, AMOUNT:$filter('currency')(price.price)}, "messageformat")
else
$scope.validButtonName = _t('confirm')
@ -508,7 +502,7 @@ Application.Directives.directive 'cart', [ '$rootScope', '$uibModal', 'dialogs',
$scope.attempting = true
, (response)->
$scope.alerts = []
$scope.alerts.push({msg: _t('a_problem_occured_during_the_payment_process_please_try_again_later'), type: 'danger' })
$scope.alerts.push({msg: _t('cart.a_problem_occured_during_the_payment_process_please_try_again_later'), type: 'danger' })
$scope.attempting = false
$scope.cancel = ->
$uibModalInstance.dismiss('cancel')

View File

@ -373,7 +373,7 @@ angular.module('application.router', ['ui.router']).
translations: [ 'Translations', (Translations) ->
Translations.query(['app.logged.machines_reserve', 'app.shared.plan_subscribe', 'app.shared.member_select',
'app.shared.stripe', 'app.shared.valid_reservation_modal', 'app.shared.confirm_modify_slot_modal',
'app.shared.wallet', 'app.shared.coupon_input']).$promise
'app.shared.wallet', 'app.shared.coupon_input', 'app.shared.cart']).$promise
]
.state 'app.admin.machines_edit',
url: '/machines/:id/edit'

View File

@ -1,23 +1,23 @@
<div class="widget panel b-a m m-t-lg" ng-if="user && !events.modifiable && !modifiedSlots">
<div class="panel-heading b-b small">
<h3 translate>{{ 'summary' }}</h3>
<h3 translate>{{ 'cart.summary' }}</h3>
</div>
<div class="widget-content no-bg auto wrapper" ng-show="events.reserved.length == 0 && (!events.paid || events.paid.length == 0)">
<p class="font-felt fleche-left text-lg"><%= image_tag("fleche-left.png", class: 'fleche-left visible-lg') %>
{{ 'select_one_or_more_slots_in_the_calendar' | translate }}</p>
{{ 'cart.select_one_or_more_slots_in_the_calendar' | translate }}</p>
</div>
<div class="widget-content no-bg auto wrapper" ng-if="events.reserved.length > 0">
<div class="font-sbold m-b-sm " translate>{{ 'you_ve_just_selected_the_slot' }}</div>
<div class="font-sbold m-b-sm " translate>{{ 'cart.you_ve_just_selected_the_slot' }}</div>
<div class="panel panel-default bg-light" ng-repeat="slot in events.reserved">
<div class="panel-body">
<div class="font-sbold text-u-c">{{ 'datetime_to_time' | translate:{START_DATETIME:(slot.start | amDateFormat:'LLLL'), END_TIME:(slot.end | amDateFormat:'LT') } }}</div>
<div class="text-base">{{ 'cost_of_a_machine_hour' | translate }} <span ng-class="{'text-blue': !slot.promo, 'red': slot.promo}">{{slot.price | currency}}</span></div>
<div ng-show="currentUser.role == 'admin'" class="m-t">
<label for="offerSlot" class="control-label m-r" translate>{{ 'offer_this_slot' }}</label>
<div class="font-sbold text-u-c">{{ 'cart.datetime_to_time' | translate:{START_DATETIME:(slot.start | amDateFormat:'LLLL'), END_TIME:(slot.end | amDateFormat:'LT') } }}</div>
<div class="text-base">{{ 'cart.cost_of_a_machine_hour' | translate }} <span ng-class="{'text-blue': !slot.promo, 'red': slot.promo}">{{slot.price | currency}}</span></div>
<div ng-show="isAdmin()" class="m-t">
<label for="offerSlot" class="control-label m-r" translate>{{ 'cart.offer_this_slot' }}</label>
<input bs-switch
ng-model="slot.offered"
id="offerSlot"
@ -30,27 +30,27 @@
</div>
</div>
<div>
<button class="btn btn-valid btn-warning btn-block text-u-c r-b" ng-click="validateSlot(slot)" ng-if="!slot.isValid" translate>{{ 'confirm_this_slot' }}</button>
<button class="btn btn-valid btn-warning btn-block text-u-c r-b" ng-click="validateSlot(slot)" ng-if="!slot.isValid" translate>{{ 'cart.confirm_this_slot' }}</button>
</div>
<div class="clear"><a class="pull-right m-b-sm text-u-l ng-scope m-r-sm" href="#" ng-click="removeSlot(slot, $index, $event)" ng-if="slot.isValid" translate>{{ 'remove_this_slot' }}</a></div>
<div class="clear"><a class="pull-right m-b-sm text-u-l ng-scope m-r-sm" href="#" ng-click="removeSlot(slot, $index, $event)" ng-if="slot.isValid" translate>{{ 'cart.remove_this_slot' }}</a></div>
</div>
<coupon show="isSlotsValid() && (!modePlans || selectedPlan)" coupon="coupon.applied" total="totalNoCoupon" user-id="{{user.id}}"></coupon>
<span ng-hide="fablabWithoutPlans">
<div ng-if="isSlotsValid() && !user.subscribed_plan" ng-show="!modePlans">
<p class="font-sbold text-base l-h-2x" translate>{{ 'to_benefit_from_attractive_prices' }}</p>
<div><button class="btn btn-warning-full rounded btn-block text-xs" ng-click="showPlans()" translate>{{ 'view_our_subscriptions' }}</button></div>
<p class="font-bold text-base text-u-c text-center m-b-xs" translate>{{ 'or' }}</p>
<p class="font-sbold text-base l-h-2x" translate>{{ 'cart.to_benefit_from_attractive_prices' }}</p>
<div><button class="btn btn-warning-full rounded btn-block text-xs" ng-click="showPlans()" translate>{{ 'cart.view_our_subscriptions' }}</button></div>
<p class="font-bold text-base text-u-c text-center m-b-xs" translate>{{ 'cart.or' }}</p>
</div>
<div ng-if="selectedPlan">
<div class="m-t-md m-b-sm text-base">{{ 'you_ve_just_selected_a_' | translate }} <br> <span class="font-sbold" translate>{{ '_subscription' }}</span> :</div>
<div class="m-t-md m-b-sm text-base">{{ 'cart.you_ve_just_selected_a_' | translate }} <br> <span class="font-sbold" translate>{{ 'cart._subscription' }}</span> :</div>
<div class="panel panel-default bg-light m-n">
<div class="panel-body m-b-md">
<div class="font-sbold text-u-c">{{selectedPlan | humanReadablePlanName }}</div>
<div class="text-base">{{ 'cost_of_the_subscription' | translate }} <span class="text-blue">{{selectedPlan.amount | currency}}</span></div>
<div class="text-base">{{ 'cart.cost_of_the_subscription' | translate }} <span class="text-blue">{{selectedPlan.amount | currency}}</span></div>
</div>
</div>
</div>
@ -59,29 +59,29 @@
</div>
<div class="panel-footer no-padder" ng-if="events.reserved.length > 0">
<button class="btn btn-valid btn-info btn-block p-l btn-lg text-u-c r-b text-base" ng-click="payCart()" ng-if="isSlotsValid() && (!modePlans || selectedPlan)">{{ 'confirm_and_pay' | translate }} {{amountTotal | currency}}</button>
<button class="btn btn-valid btn-info btn-block p-l btn-lg text-u-c r-b text-base" ng-click="payCart()" ng-if="isSlotsValid() && (!modePlans || selectedPlan)">{{ 'cart.confirm_and_pay' | translate }} {{amountTotal | currency}}</button>
</div>
<div class="widget-content no-bg auto wrapper" ng-show="events.paid && events.paid.length > 0">
{{ 'you_have_settled_the_following_machine_hours' | translate }} <strong>{{reservableName}}</strong>:
{{ 'cart.you_have_settled_the_following_machine_hours' | translate }} <strong>{{reservableName}}</strong>:
<div class="well well-warning m-t-sm" ng-repeat="paidSlot in events.paid">
<i class="font-sbold text-u-c">{{ 'datetime_to_time' | translate:{START_DATETIME:(paidSlot.start | amDateFormat:'LLLL'), END_TIME:(paidSlot.end | amDateFormat:'LT') } }}</i>
<div class="font-sbold">{{ 'cost_of_a_machine_hour' | translate }} {{paidSlot.price | currency}}</div>
<i class="font-sbold text-u-c">{{ 'cart.datetime_to_time' | translate:{START_DATETIME:(paidSlot.start | amDateFormat:'LLLL'), END_TIME:(paidSlot.end | amDateFormat:'LT') } }}</i>
<div class="font-sbold">{{ 'cart.cost_of_a_machine_hour' | translate }} {{paidSlot.price | currency}}</div>
</div>
<div ng-if="selectedPlan">
<div class="m-t-md m-b-sm text-base">{{ 'you_have_settled_a_' | translate }} <br> <span class="font-sbold" translate>{{ '_subscription' }}</span> :</div>
<div class="m-t-md m-b-sm text-base">{{ 'cart.you_have_settled_a_' | translate }} <br> <span class="font-sbold" translate>{{ 'cart._subscription' }}</span> :</div>
<div class="well well-warning m-t-sm">
<i class="font-sbold text-u-c">{{selectedPlan | humanReadablePlanName }}</i>
<div class="font-sbold">{{ 'cost_of_the_subscription' | translate }} {{selectedPlan.amount | currency}}</div>
<div class="font-sbold">{{ 'cart.cost_of_the_subscription' | translate }} {{selectedPlan.amount | currency}}</div>
</div>
</div>
<div class="m-t-md font-sbold">{{ 'total_' | translate }} {{amountTotal | currency}}</div>
<div class="m-t-md font-sbold">{{ 'cart.total_' | translate }} {{amountTotal | currency}}</div>
<div class="alert alert-success" ng-if="user.subscribed_plan">{{ 'thank_you_your_payment_has_been_successfully_registered' | translate }}<br>
{{ 'your_invoice_will_be_available_soon_from_your_' | translate }} <a ui-sref="app.logged.dashboard.invoices" translate>{{ 'dashboard' }}</a>
<div class="alert alert-success" ng-if="user.subscribed_plan">{{ 'cart.thank_you_your_payment_has_been_successfully_registered' | translate }}<br>
{{ 'cart.your_invoice_will_be_available_soon_from_your_' | translate }} <a ui-sref="app.logged.dashboard.invoices" translate>{{ 'cart.dashboard' }}</a>
</div>
</div>
@ -90,40 +90,40 @@
<div class="widget panel b-a m m-t-lg" ng-if="events.modifiable || modifiedSlots">
<div class="panel-heading b-b small">
<h3 translate>{{ 'summary' }}</h3>
<h3 translate>{{ 'cart.summary' }}</h3>
</div>
<div class="widget-content no-bg auto wrapper" ng-if="events.modifiable">
<div class="font-sbold m-b-sm " translate>{{ 'i_want_to_change_the_following_reservation' }}</div>
<div class="font-sbold m-b-sm " translate>{{ 'cart.i_want_to_change_the_following_reservation' }}</div>
<div class="panel panel-warning bg-yellow">
<div class="panel-body">
<div class="font-sbold text-u-c">{{ 'datetime_to_time' | translate:{START_DATETIME:(events.modifiable.start | amDateFormat:'LLLL'), END_TIME:(events.modifiable.end | amDateFormat:'LT') } }}</div>
<div class="font-sbold text-u-c">{{ 'cart.datetime_to_time' | translate:{START_DATETIME:(events.modifiable.start | amDateFormat:'LLLL'), END_TIME:(events.modifiable.end | amDateFormat:'LT') } }}</div>
</div>
<div class="clear"><a class="pull-right m-b-sm text-u-l ng-scope m-r-sm" href="#" ng-click="cancelModifySlot($event)" translate>{{ 'cancel_my_modification' }}</a></div>
<div class="clear"><a class="pull-right m-b-sm text-u-l ng-scope m-r-sm" href="#" ng-click="cancelModifySlot($event)" translate>{{ 'cart.cancel_my_modification' }}</a></div>
</div>
<div class="widget-content no-bg">
<p class="font-felt fleche-left text-lg"><%= image_tag("fleche-left.png", class: 'fleche-left visible-lg') %>
{{ 'select_a_new_slot_in_the_calendar' | translate }}</p>
{{ 'cart.select_a_new_slot_in_the_calendar' | translate }}</p>
</div>
<div class="panel panel-info bg-info text-white" ng-if="events.placable">
<div class="panel-body">
<div class="font-sbold text-u-c">{{ 'datetime_to_time' | translate:{START_DATETIME:(events.placable.start | amDateFormat:'LLLL'), END_TIME:(events.placable.end | amDateFormat:'LT') } }}</div>
<div class="font-sbold text-u-c">{{ 'cart.datetime_to_time' | translate:{START_DATETIME:(events.placable.start | amDateFormat:'LLLL'), END_TIME:(events.placable.end | amDateFormat:'LT') } }}</div>
</div>
<div class="clear"><a class="pull-right m-b-sm text-u-l ng-scope m-r-sm" href="#" ng-click="removeSlotToPlace($event)" translate>{{ 'cancel_my_selection' }}</a></div>
<div class="clear"><a class="pull-right m-b-sm text-u-l ng-scope m-r-sm" href="#" ng-click="removeSlotToPlace($event)" translate>{{ 'cart.cancel_my_selection' }}</a></div>
</div>
<div ng-if="events.placable && events.modifiable.tags.length > 0 && events.placable.tags.length > 0" ng-class="{'panel panel-danger bg-red': tagMissmatch()}">
<div class="panel-body">
<div id="fromTags">
{{ 'tags_of_the_original_slot' | translate }}<br/>
{{ 'cart.tags_of_the_original_slot' | translate }}<br/>
<span ng-repeat="tag in events.modifiable.tags">
<span class='label label-success text-white' title="{{tag.name}}">{{tag.name}}</span>
</span>
</div><br/>
<div id="toTags">
{{ 'tags_of_the_destination_slot' | translate }}<br/>
{{ 'cart.tags_of_the_destination_slot' | translate }}<br/>
<span ng-repeat="tag in events.placable.tags">
<span class='label label-success text-white' title="{{tag.name}}">{{tag.name}}</span>
</span>
@ -136,24 +136,24 @@
<div class="panel-footer no-padder" ng-if="events.modifiable && events.placable">
<button class="btn btn-invalid btn-default btn-block p-l btn-lg text-u-c r-n text-base" ng-click="cancelModifySlot()" translate>{{ 'cancel' }}</button>
<div>
<button class="btn btn-valid btn-info btn-block p-l btn-lg text-u-c r-b text-base" ng-click="modifySlot()" translate>{{ 'confirm_my_modification' }}</button>
<button class="btn btn-valid btn-info btn-block p-l btn-lg text-u-c r-b text-base" ng-click="modifySlot()" translate>{{ 'cart.confirm_my_modification' }}</button>
</div>
</div>
<div class="widget-content no-bg auto wrapper" ng-if="modifiedSlots">
<div class="font-sbold m-b-sm " translate>{{ 'your_booking_slot_was_successfully_moved_from_' }}</div>
<div class="font-sbold m-b-sm " translate>{{ 'cart.your_booking_slot_was_successfully_moved_from_' }}</div>
<div class="panel panel-default bg-light">
<div class="panel-body">
<div class="font-sbold text-u-c">{{ 'datetime_to_time' | translate:{START_DATETIME:(modifiedSlots.oldReservedSlot.start | amDateFormat:'LLLL'), END_TIME:(modifiedSlots.oldReservedSlot.end | amDateFormat:'LT') } }}</div>
<div class="font-sbold text-u-c">{{ 'cart.datetime_to_time' | translate:{START_DATETIME:(modifiedSlots.oldReservedSlot.start | amDateFormat:'LLLL'), END_TIME:(modifiedSlots.oldReservedSlot.end | amDateFormat:'LT') } }}</div>
</div>
</div>
<p class="text-center font-bold m-b-sm text-u-c" translate>{{ 'to_date' }}</p>
<p class="text-center font-bold m-b-sm text-u-c" translate>{{ 'cart.to_date' }}</p>
<div class="panel panel-success bg-success bg-light">
<div class="panel-body">
<div class="font-sbold text-u-c">{{ 'datetime_to_time' | translate:{START_DATETIME:(modifiedSlots.newReservedSlot.start | amDateFormat:'LLLL'), END_TIME:(modifiedSlots.newReservedSlot.end | amDateFormat:'LT') } }}</div>
<div class="font-sbold text-u-c">{{ 'cart.datetime_to_time' | translate:{START_DATETIME:(modifiedSlots.newReservedSlot.start | amDateFormat:'LLLL'), END_TIME:(modifiedSlots.newReservedSlot.end | amDateFormat:'LT') } }}</div>
</div>
</div>
</div>

View File

@ -98,32 +98,11 @@ en:
machines_reserve:
# book a machine
machine_planning: "Machine planning"
offer_this_slot: "Offer this slot"
confirm_this_slot: "Confirm this slot"
remove_this_slot: "Remove this slot"
to_benefit_from_attractive_prices: "To benefit from attractive prices"
view_our_subscriptions: "View our subscriptions"
cost_of_the_subscription: "Cost of the subscription"
you_have_settled_the_following_machine_hours: "You have settled the following machine hours:"
you_have_settled_a_: "You have settled a"
i_want_to_change_the_following_reservation: "I want to change the following reservation:"
cancel_my_modification: "Cancel my modification"
select_a_new_slot_in_the_calendar: "Select a new slot in the calendar"
cancel_my_selection: "Cancel my selection"
tags_of_the_original_slot: "Tags of the original slot:"
tags_of_the_destination_slot: "Tags of the destination slot:"
confirm_my_modification: "Confirm my modification"
your_booking_slot_was_successfully_moved_from_: "Your booking slot was successfully moved from"
i_ve_reserved: "J'ai réservé"
i_ve_reserved: "I've reserved"
not_available: "Not available"
unable_to_change_the_reservation: "Unable to change the reservation"
i_reserve: "I reserve"
i_shift: "I shift"
i_change: "I change"
do_you_really_want_to_cancel_this_reservation: "So you really want to cancel this reservation?"
reservation_was_cancelled_successfully: "Reservation was cancelled successfully."
cancellation_failed: "Cancellation failed."
a_problem_occured_during_the_payment_process_please_try_again_later: "A problem occurred during the payment process. Please try again later."
trainings_reserve:
# book a training

View File

@ -98,32 +98,11 @@ fr:
machines_reserve:
# réserver une machine
machine_planning: "Planning machine"
offer_this_slot: "Offrir ce créneau"
confirm_this_slot: "Valider ce créneau"
remove_this_slot: "Supprimer ce créneau"
to_benefit_from_attractive_prices: "Pour bénéficier de prix avantageux"
view_our_subscriptions: "Consultez nos abonnements"
cost_of_the_subscription: "Coût de l'abonnement"
you_have_settled_the_following_machine_hours: "Vous avez réglé les heures machines suivantes :"
you_have_settled_a_: "Vous avez réglé un"
i_want_to_change_the_following_reservation: "Je souhaite modifier ma réservation suivante :"
cancel_my_modification: "Annuler ma modification"
select_a_new_slot_in_the_calendar: "Sélectionnez un nouveau créneau dans le calendrier"
cancel_my_selection: "Annuler ma sélection"
tags_of_the_original_slot: "Étiquettes du créneau d'origine :"
tags_of_the_destination_slot: "Étiquettes du créneau de destination :"
confirm_my_modification: "Valider ma modification"
your_booking_slot_was_successfully_moved_from_: "Votre créneau de réservation a bien été déplacé du"
i_ve_reserved: "J'ai réservé"
not_available: "Non disponible"
unable_to_change_the_reservation: "Impossible de modifier la réservation"
i_reserve: "Je réserve"
i_shift: "Je déplace"
i_change: "Je change"
do_you_really_want_to_cancel_this_reservation: "Êtes-vous sur de vouloir annuler cette réservation ?"
reservation_was_cancelled_successfully: "La réservation a bien été annulée."
cancellation_failed: "L'annulation a échoué."
a_problem_occured_during_the_payment_process_please_try_again_later: "Il y a eu un problème lors de la procédure de paiement. Veuillez réessayer plus tard."
trainings_reserve:
# réserver une formation

View File

@ -412,4 +412,37 @@ en:
select_one_or_more_slots_in_the_calendar: "Select one or more slots in the calendar"
you_ve_just_selected_the_slot: "You've just selected the slot:"
datetime_to_time: "{{START_DATETIME}} to {{END_TIME}}" # angular interpolation, eg: Thursday, September 4 1986 8:30 PM to 10:00 PM
cost_of_a_machine_hour: "Cost of a machine hour"
cost_of_a_machine_hour: "Cost of a machine hour"
offer_this_slot: "Offer this slot"
confirm_this_slot: "Confirm this slot"
remove_this_slot: "Remove this slot"
to_benefit_from_attractive_prices: "To benefit from attractive prices"
view_our_subscriptions: "View our subscriptions"
or: "or"
you_ve_just_selected_a_: "You've just selected a"
_subscription: "subscription"
cost_of_the_subscription: "Cost of the subscription"
confirm_and_pay: "Confirm and pay"
you_have_settled_the_following_machine_hours: "You have settled the following machine hours:"
you_have_settled_a_: "You have settled a"
total_: "TOTAL :"
thank_you_your_payment_has_been_successfully_registered: "Thank you. Your payment has been successfully registered !"
your_invoice_will_be_available_soon_from_your_: "Your invoice will be available soon form your"
dashboard: "Dashboard"
i_want_to_change_the_following_reservation: "I want to change the following reservation:"
cancel_my_modification: "Cancel my modification"
select_a_new_slot_in_the_calendar: "Select a new slot in the calendar"
cancel_my_selection: "Cancel my selection"
tags_of_the_original_slot: "Tags of the original slot:"
tags_of_the_destination_slot: "Tags of the destination slot:"
confirm_my_modification: "Confirm my modification"
your_booking_slot_was_successfully_moved_from_: "Your booking slot was successfully moved from"
to_date: "to" # context: date. eg: "from 01/01 to 01/05"
please_select_a_member_first: "Please select a member first"
unable_to_change_the_reservation: "Unable to change the reservation"
confirmation_required: "Confirmation required"
do_you_really_want_to_cancel_this_reservation: "Do you really want to cancel this reservation?"
reservation_was_cancelled_successfully: "Reservation was cancelled successfully."
cancellation_failed: "Cancellation failed."
confirm_payment_of_html: "{ROLE, select, admin{Payment on site} other{Pay}}: {AMOUNT}" # messageFormat interpolation (context: confirm my payment of $20.00)
a_problem_occured_during_the_payment_process_please_try_again_later: "A problem occurred during the payment process. Please try again later."

View File

@ -412,4 +412,37 @@ fr:
select_one_or_more_slots_in_the_calendar: "Sélectionnez un ou plusieurs créneaux dans le calendrier"
you_ve_just_selected_the_slot: "Vous venez de sélectionner le créneau :"
datetime_to_time: "{{START_DATETIME}} à {{END_TIME}}" # angular interpolation, eg: Thursday, September 4 1986 8:30 PM to 10:00 PM
cost_of_a_machine_hour: "Coût de l'heure machine"
cost_of_a_machine_hour: "Coût de l'heure machine"
offer_this_slot: "Offrir ce créneau"
confirm_this_slot: "Valider ce créneau"
remove_this_slot: "Supprimer ce créneau"
to_benefit_from_attractive_prices: "Pour bénéficier de prix avantageux"
view_our_subscriptions: "Consultez nos abonnements"
or: "ou"
you_ve_just_selected_a_: "Vous venez de sélectionner un"
_subscription: "abonnement"
cost_of_the_subscription: "Coût de l'abonnement"
confirm_and_pay: "Valider et payer"
you_have_settled_the_following_machine_hours: "Vous avez réglé les heures machines suivantes :"
you_have_settled_a_: "Vous avez réglé un"
total_: "TOTAL :"
thank_you_your_payment_has_been_successfully_registered: "Merci. Votre paiement a bien été pris en compte !"
your_invoice_will_be_available_soon_from_your_: "Votre facture sera bientôt disponible depuis votre"
dashboard: "Tableau de bord"
i_want_to_change_the_following_reservation: "Je souhaite modifier ma réservation suivante :"
cancel_my_modification: "Annuler ma modification"
select_a_new_slot_in_the_calendar: "Sélectionnez un nouveau créneau dans le calendrier"
cancel_my_selection: "Annuler ma sélection"
tags_of_the_original_slot: "Étiquettes du créneau d'origine :"
tags_of_the_destination_slot: "Étiquettes du créneau de destination :"
confirm_my_modification: "Valider ma modification"
your_booking_slot_was_successfully_moved_from_: "Votre créneau de réservation a bien été déplacé du"
to_date: "au" # context: date. eg: "from 01/01 to 01/05"
please_select_a_member_first: "Veuillez tout d'abord sélectionner un membre"
unable_to_change_the_reservation: "Impossible de modifier la réservation"
confirmation_required: "Confirmation requise"
do_you_really_want_to_cancel_this_reservation: "Êtes-vous sur de vouloir annuler cette réservation ?"
reservation_was_cancelled_successfully: "La réservation a bien été annulée."
cancellation_failed: "L'annulation a échouée."
confirm_payment_of_html: "{ROLE, select, admin{Paiement sur place} other{Payer}} : {AMOUNT}" # messageFormat interpolation (contexte : valider mon paiement de 20,00 €)
a_problem_occured_during_the_payment_process_please_try_again_later: "Il y a eu un problème lors de la procédure de paiement. Veuillez réessayer plus tard."