@viur/shop-components 0.1.19 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/Shop.vue +7 -4
- package/src/ShopSummary.vue +11 -10
- package/src/Steps/ShopOrderConfirm.vue +1 -1
- package/src/Steps/ShopPaymentProvider.vue +10 -3
- package/src/Steps/ShopShippingMethod.vue +2 -2
- package/src/Steps/ShopUserDataGuest.vue +2 -2
- package/src/components/CardSelector.vue +3 -1
- package/src/components/PaymentOption.vue +16 -12
- package/src/components/PaymentSelector.vue +4 -2
- package/src/translations/de.js +8 -5
- package/src/translations/en.js +68 -4
- package/src/translations/fr.js +25 -16
package/package.json
CHANGED
package/src/Shop.vue
CHANGED
|
@@ -110,7 +110,7 @@ const state = reactive({
|
|
|
110
110
|
onBeforeMount(()=>{
|
|
111
111
|
getTranslations([props.language], "viur.shop.*").then((resp)=>{
|
|
112
112
|
state.translationsLoaded = true
|
|
113
|
-
})
|
|
113
|
+
})
|
|
114
114
|
shopStore.state.language = props.language
|
|
115
115
|
shopStore.state.showNodes = props.showCartNodes
|
|
116
116
|
shopStore.state.debug = props.debug
|
|
@@ -213,6 +213,11 @@ watch(()=>shopStore.state.currentTab, (newVal,oldVal)=>{
|
|
|
213
213
|
display: flex;
|
|
214
214
|
flex-direction: column;
|
|
215
215
|
grid-column: auto / span 12;
|
|
216
|
+
|
|
217
|
+
&.full-width {
|
|
218
|
+
grid-column: auto / span 12;
|
|
219
|
+
}
|
|
220
|
+
|
|
216
221
|
@media (min-width: 1024px) {
|
|
217
222
|
grid-column: auto / span var(--shop-main-columns);
|
|
218
223
|
}
|
|
@@ -247,9 +252,7 @@ watch(()=>shopStore.state.currentTab, (newVal,oldVal)=>{
|
|
|
247
252
|
grid-row-start: 2;
|
|
248
253
|
}
|
|
249
254
|
|
|
250
|
-
|
|
251
|
-
grid-column: auto / span 12;
|
|
252
|
-
}
|
|
255
|
+
|
|
253
256
|
|
|
254
257
|
.last-row {
|
|
255
258
|
grid-row-start: 3;
|
package/src/ShopSummary.vue
CHANGED
|
@@ -27,16 +27,6 @@
|
|
|
27
27
|
<sl-format-number lang="de" type="currency" currency="EUR" :value="state.shippingTotal">
|
|
28
28
|
</sl-format-number>
|
|
29
29
|
</div>
|
|
30
|
-
<div class="viur-shop-cart-sidebar-info viur-shop-cart-shipping-item" v-if="shopStore.state.order?.cart?.dest?.shipping">
|
|
31
|
-
<span v-html="$t('viur.shop.summary_delivery_time')"></span>
|
|
32
|
-
<span>
|
|
33
|
-
{{
|
|
34
|
-
shopStore.state.order?.cart?.dest?.shipping?.dest?.delivery_time_range ?
|
|
35
|
-
shopStore.state.order?.cart?.dest?.shipping?.dest?.delivery_time_range :
|
|
36
|
-
0
|
|
37
|
-
}} {{ shopStore.state.order?.cart?.dest?.shipping?.dest?.delivery_time_range === 1 ? "Tag" : "Tage" }}
|
|
38
|
-
</span>
|
|
39
|
-
</div>
|
|
40
30
|
<div class="viur-shop-cart-sidebar-info" v-if="shopStore.state.cartRoot.discount">
|
|
41
31
|
<span v-html="$t('viur.shop.summary_discount')"></span>
|
|
42
32
|
<sl-format-number lang="de" type="currency" currency="EUR" :value="state.discount">
|
|
@@ -58,6 +48,17 @@
|
|
|
58
48
|
<sl-format-number lang="de" type="currency" currency="EUR" :value="vatObj.value">
|
|
59
49
|
</sl-format-number>
|
|
60
50
|
</div>
|
|
51
|
+
<div class="viur-shop-cart-sidebar-info viur-shop-cart-shipping-item" v-if="shopStore.state.order?.cart?.dest?.shipping">
|
|
52
|
+
<span v-html="$t('viur.shop.summary_delivery_time')"></span>
|
|
53
|
+
<span>
|
|
54
|
+
{{
|
|
55
|
+
shopStore.state.order?.cart?.dest?.shipping?.dest?.delivery_time_range ?
|
|
56
|
+
shopStore.state.order?.cart?.dest?.shipping?.dest?.delivery_time_range :
|
|
57
|
+
0
|
|
58
|
+
}} {{ shopStore.state.order?.cart?.dest?.shipping?.dest?.delivery_time_range === 1 ? "Tag" : "Tage" }}
|
|
59
|
+
</span>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
61
62
|
<slot name="action-buttons" >
|
|
62
63
|
<div class="viur-shop-cart-sidebar-btn-wrap" v-if="false && !shopStore.state.order?.['is_paid']">
|
|
63
64
|
<sl-button variant="success" size="large">{{ $t("shop.summary_checkout") }}</sl-button>
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
</sl-bar>
|
|
77
77
|
|
|
78
78
|
<template v-if="shopStore.state.order?.['payment_provider'] !== null && shopStore.state.order?.['payment_provider'].startsWith('unzer-')">
|
|
79
|
-
<sl-dialog v-if="state.paymentPopup" label="
|
|
79
|
+
<sl-dialog v-if="state.paymentPopup" :label="$t('viur.shop.order_pay')" :open="state.paymentPopup" @sl-after-hide="state.paymentPopup=false">
|
|
80
80
|
<payment-provider-unzer @cancel="paymentCanceled"></payment-provider-unzer>
|
|
81
81
|
</sl-dialog>
|
|
82
82
|
</template>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<slot name="top_actions" v-if="shopStore.state.topActions"
|
|
3
|
-
nextName="
|
|
3
|
+
:nextName="$t('viur.shop.next')"
|
|
4
4
|
:activefunction="()=>shopStore.state.order?.['payment_provider']"
|
|
5
5
|
:nextfunction="()=>true"
|
|
6
6
|
>
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
</slot>
|
|
28
28
|
|
|
29
29
|
<slot
|
|
30
|
-
nextName="
|
|
30
|
+
:nextName="$t('viur.shop.next')"
|
|
31
31
|
:activefunction="()=>shopStore.state.order?.['payment_provider']"
|
|
32
32
|
:nextfunction="()=>true"
|
|
33
33
|
>
|
|
@@ -67,4 +67,11 @@ onBeforeMount(()=>{
|
|
|
67
67
|
state.selection = shopStore.state.order?.['payment_provider']
|
|
68
68
|
})
|
|
69
69
|
})
|
|
70
|
-
</script>
|
|
70
|
+
</script>
|
|
71
|
+
|
|
72
|
+
<style scoped>
|
|
73
|
+
sl-radio-group {
|
|
74
|
+
margin-bottom: var(--ignt-spacing-medium);
|
|
75
|
+
margin-top: var(--ignt-spacing-medium);
|
|
76
|
+
}
|
|
77
|
+
</style>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<slot name="top_actions" v-if="shopStore.state.topActions"
|
|
3
|
-
nextName="
|
|
3
|
+
:nextName="$t('viur.shop.next')"
|
|
4
4
|
:activefunction="()=>shopStore.state.cartRoot?.['shipping']"
|
|
5
5
|
:nextfunction="()=>nextStep"
|
|
6
6
|
>
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
</slot>
|
|
28
28
|
|
|
29
29
|
<slot
|
|
30
|
-
nextName="
|
|
30
|
+
:nextName="$t('viur.shop.next')"
|
|
31
31
|
:activefunction="()=>shopStore.state.cartRoot?.['shipping']"
|
|
32
32
|
:nextfunction="nextStep"
|
|
33
33
|
>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<slot name="top_actions" v-if="shopStore.state.topActions"
|
|
3
|
-
nextName="
|
|
3
|
+
:nextName="$t('viur.shop.next')"
|
|
4
4
|
:activefunction="()=>true"
|
|
5
5
|
:nextfunction="nextStep"
|
|
6
6
|
:hint="$t('messages.order_check_later')"
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
</slot>
|
|
33
33
|
|
|
34
34
|
<slot
|
|
35
|
-
nextName="
|
|
35
|
+
:nextName="$t('viur.shop.next')"
|
|
36
36
|
:activefunction="()=>true"
|
|
37
37
|
:nextfunction="nextStep"
|
|
38
38
|
:hint="$t('messages.order_check_later')"
|
|
@@ -51,12 +51,14 @@ onMounted(()=>{
|
|
|
51
51
|
|
|
52
52
|
<style scoped>
|
|
53
53
|
sl-radio-group {
|
|
54
|
-
margin-
|
|
54
|
+
margin-bottom: var(--ignt-spacing-medium);
|
|
55
|
+
margin-top: var(--ignt-spacing-medium);
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
sl-card {
|
|
58
59
|
width: calc(100% - 6px);
|
|
59
60
|
margin-left: 3px;
|
|
61
|
+
margin-top: var(--ignt-spacing-small);
|
|
60
62
|
&[selected]::part(base){
|
|
61
63
|
border:1px solid var(--sl-color-primary-500);
|
|
62
64
|
box-shadow: 0 0 0 var(--sl-focus-ring-width) var(--sl-input-focus-ring-color);
|
|
@@ -55,21 +55,25 @@
|
|
|
55
55
|
</script>
|
|
56
56
|
|
|
57
57
|
<style scoped>
|
|
58
|
-
|
|
58
|
+
sl-details {
|
|
59
|
+
margin-top: var(--ignt-spacing-small);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.payment-selection {
|
|
59
63
|
display: flex;
|
|
64
|
+
align-items: center;
|
|
65
|
+
flex-wrap: nowrap;
|
|
66
|
+
flex-direction: row;
|
|
67
|
+
align-content: center;
|
|
68
|
+
justify-content: space-between;
|
|
69
|
+
width: 100%;
|
|
70
|
+
|
|
71
|
+
.start {
|
|
72
|
+
display: flex;
|
|
60
73
|
align-items: center;
|
|
61
74
|
flex-wrap: nowrap;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
justify-content: space-between;
|
|
65
|
-
width: 100%;
|
|
66
|
-
|
|
67
|
-
.start{
|
|
68
|
-
display: flex;
|
|
69
|
-
align-items: center;
|
|
70
|
-
flex-wrap: nowrap;
|
|
71
|
-
gap:10px;
|
|
72
|
-
}
|
|
75
|
+
gap:10px;
|
|
76
|
+
}
|
|
73
77
|
}
|
|
74
78
|
|
|
75
79
|
.simple::part(content){
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
@change="optionChanged"
|
|
12
12
|
|
|
13
13
|
>
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
</payment-option>
|
|
16
16
|
|
|
17
17
|
</sl-details-group>
|
|
@@ -51,5 +51,7 @@ function optionChanged(type){
|
|
|
51
51
|
</script>
|
|
52
52
|
|
|
53
53
|
<style scoped>
|
|
54
|
-
|
|
54
|
+
sl-radio-group {
|
|
55
|
+
margin-bottom: var(--ignt-spacing-small);
|
|
56
|
+
}
|
|
55
57
|
</style>
|
package/src/translations/de.js
CHANGED
|
@@ -15,14 +15,17 @@ export default {
|
|
|
15
15
|
'order_ready_to_ship': 'Ihre Bestellung ist fertig für den Versand.',
|
|
16
16
|
'cart_empty': 'Es befinden sich noch keine Artikel im Warenkorb.',
|
|
17
17
|
'order_summary': 'Bestellzusammenfassung',
|
|
18
|
-
'deliverytime': 'Lieferzeit',
|
|
18
|
+
'deliverytime': 'Voraussichtliche Lieferzeit',
|
|
19
19
|
'day': 'Tag | Tage',
|
|
20
20
|
'availability': 'Verfügbarkeit',
|
|
21
21
|
'quantity': 'Anzahl',
|
|
22
22
|
'unit_price': 'Stückpreis',
|
|
23
23
|
'total_price': 'Gesamtpreis',
|
|
24
24
|
'article_number': 'Artikelnummer',
|
|
25
|
+
'payment': 'Zahlung',
|
|
25
26
|
'pay': 'Bezahlen',
|
|
27
|
+
'next': 'weiter',
|
|
28
|
+
'edit': 'bearbeiten',
|
|
26
29
|
'add_discount': 'Hinzufügen',
|
|
27
30
|
'add_discount_placeholder': 'Dein Rabattcode',
|
|
28
31
|
'use_shipping_as_billing_address': 'Lieferung zur Rechnungsadresse',
|
|
@@ -55,12 +58,12 @@ export default {
|
|
|
55
58
|
},
|
|
56
59
|
},
|
|
57
60
|
messages: {
|
|
58
|
-
loading: 'Daten werden abgefragt
|
|
59
|
-
updating: 'Daten werden aktualisiert
|
|
60
|
-
wait_for_payment: 'Warte auf Zahlung
|
|
61
|
+
loading: 'Daten werden abgefragt …',
|
|
62
|
+
updating: 'Daten werden aktualisiert …',
|
|
63
|
+
wait_for_payment: 'Warte auf Zahlung …',
|
|
61
64
|
remove_article_from_cart: 'Wollen sie den Artikel wirklich entfernen?',
|
|
62
65
|
order_check_later: 'Sie können Ihre Bestellung am Ende noch einmal überprüfen.',
|
|
63
66
|
email_equal_error: 'E-Mail-Adressen stimmen nicht überein.',
|
|
64
|
-
phone_equal_error:
|
|
67
|
+
phone_equal_error: 'Telefonnummern stimmen nicht überein.',
|
|
65
68
|
},
|
|
66
69
|
};
|
package/src/translations/en.js
CHANGED
|
@@ -1,5 +1,69 @@
|
|
|
1
1
|
export default {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
actions: {
|
|
3
|
+
add: 'Add',
|
|
4
|
+
cancel: 'Cancel',
|
|
5
|
+
delete: 'Delete',
|
|
6
|
+
},
|
|
7
|
+
viur: {
|
|
8
|
+
shop: {
|
|
9
|
+
'check_order': 'Review and submit',
|
|
10
|
+
'order_pay': 'Place binding order',
|
|
11
|
+
'order_number': 'Your order number',
|
|
12
|
+
'order_thanks': 'Thank you for your order',
|
|
13
|
+
'order_message': 'We have received your order and will process it as soon as possible.<br /> You will receive a confirmation email in a few minutes.',
|
|
14
|
+
'order_paid': 'Your payment has been received.',
|
|
15
|
+
'order_ready_to_ship': 'Your order is ready for shipping.',
|
|
16
|
+
'cart_empty': 'Your cart is currently empty.',
|
|
17
|
+
'order_summary': 'Order summary',
|
|
18
|
+
'deliverytime': 'Delivery time',
|
|
19
|
+
'day': 'Day | Days',
|
|
20
|
+
'availability': 'Availability',
|
|
21
|
+
'quantity': 'Quantity',
|
|
22
|
+
'unit_price': 'Unit price',
|
|
23
|
+
'total_price': 'Total price',
|
|
24
|
+
'article_number': 'Article number',
|
|
25
|
+
'payment': 'Payment',
|
|
26
|
+
'pay': 'Pay',
|
|
27
|
+
'next': 'next',
|
|
28
|
+
'edit': 'edit',
|
|
29
|
+
'add_discount': 'Add',
|
|
30
|
+
'add_discount_placeholder': 'Your discount code',
|
|
31
|
+
'use_shipping_as_billing_address': 'Use shipping address as billing address',
|
|
32
|
+
'no_valid_shipping_found': 'No valid shipping methods found.',
|
|
33
|
+
'error_message': 'An error has occurred.',
|
|
34
|
+
'free_shipping': 'Free shipping',
|
|
35
|
+
'proceed-checkout': 'Proceed to checkout',
|
|
36
|
+
'summary_headline': 'Summary',
|
|
37
|
+
'summary_subtotal': 'Subtotal',
|
|
38
|
+
'summary_shipping_total': 'Shipping and handling',
|
|
39
|
+
'summary_delivery_time': 'Delivery time',
|
|
40
|
+
'summary_discount': 'You save during the promotion period',
|
|
41
|
+
'summary_checkout': 'Proceed to checkout',
|
|
42
|
+
'summary_total': 'Total amount',
|
|
43
|
+
'summary_vat': 'incl. {percentage} VAT',
|
|
44
|
+
'discount_not_found': 'This discount code does not exist.',
|
|
45
|
+
'discount_not_active': 'This discount code is not active.',
|
|
46
|
+
'discount_not_available': 'This discount code is not available for this country.',
|
|
47
|
+
'discount_already_used': 'This discount code has already been used.',
|
|
48
|
+
'discount_invalid_period': 'The discount period has not yet started or has already ended.',
|
|
49
|
+
'discount_minimum_not_reached': 'The minimum order value of {{minimum_order_value}} € has not been reached.',
|
|
50
|
+
'discount_no_sale_article': 'The discount code cannot be applied to already discounted items.',
|
|
51
|
+
'discount_scope_not_satisfied': 'The discount code cannot be applied to this cart or these items.',
|
|
52
|
+
'order_step_cart': 'Cart',
|
|
53
|
+
'order_step_data': 'Details',
|
|
54
|
+
'order_step_shipping': 'Shipping method',
|
|
55
|
+
'order_step_payment': 'Payment method',
|
|
56
|
+
'order_step_verify': 'Review order',
|
|
57
|
+
'order_step_complete': 'Order complete',
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
messages: {
|
|
61
|
+
loading: 'Fetching data …',
|
|
62
|
+
updating: 'Updating data …',
|
|
63
|
+
wait_for_payment: 'Waiting for payment …',
|
|
64
|
+
remove_article_from_cart: 'Do you really want to remove this item?',
|
|
65
|
+
order_check_later: 'You will be able to review your order at the end.',
|
|
66
|
+
email_equal_error: 'Email addresses do not match.',
|
|
67
|
+
phone_equal_error: 'Phone numbers do not match.',
|
|
68
|
+
},
|
|
69
|
+
};
|
package/src/translations/fr.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
actions: {
|
|
3
|
-
add: '
|
|
4
|
-
cancel: '
|
|
5
|
-
delete: '
|
|
3
|
+
add: 'Ajouter',
|
|
4
|
+
cancel: 'Annuler',
|
|
5
|
+
delete: 'Supprimer',
|
|
6
6
|
},
|
|
7
7
|
viur: {
|
|
8
8
|
shop: {
|
|
@@ -10,9 +10,9 @@ export default {
|
|
|
10
10
|
'order_pay': 'Valider',
|
|
11
11
|
'order_number': 'N° de commande',
|
|
12
12
|
'order_thanks': 'Merci pour votre commande et l’intérêt porté à notre société.',
|
|
13
|
-
'order_message': '
|
|
14
|
-
'order_paid': '
|
|
15
|
-
'order_ready_to_ship': '
|
|
13
|
+
'order_message': 'Nous avons bien reçu votre commande et nous allons la traiter dans les plus brefs délais.<br /> Vous recevrez une confirmation par e-mail dans quelques minutes',
|
|
14
|
+
'order_paid': 'Nous avons bien reçu votre paiement',
|
|
15
|
+
'order_ready_to_ship': 'Votre commande est prête à être expédiée',
|
|
16
16
|
'cart_empty': 'Votre panier est vide.',
|
|
17
17
|
'order_summary': 'Envoyer la commande',
|
|
18
18
|
'deliverytime': 'Délai de livraison',
|
|
@@ -22,22 +22,25 @@ export default {
|
|
|
22
22
|
'unit_price': 'Prix par pièce',
|
|
23
23
|
'total_price': 'Montant total',
|
|
24
24
|
'article_number': 'Numéro d\'article',
|
|
25
|
+
'payment': 'Paiement',
|
|
25
26
|
'pay': 'Payer',
|
|
27
|
+
'next': 'continuer',
|
|
28
|
+
'edit': 'éditer',
|
|
26
29
|
'add_discount': 'Valider',
|
|
27
30
|
'add_discount_placeholder': 'Votre code promo',
|
|
28
|
-
'use_shipping_as_billing_address': '
|
|
29
|
-
'no_valid_shipping_found': '
|
|
30
|
-
'error_message': '
|
|
31
|
+
'use_shipping_as_billing_address': 'Livraison à l\'adresse de facturation',
|
|
32
|
+
'no_valid_shipping_found': 'Aucun mode d\'expédition correspondant trouvé.',
|
|
33
|
+
'error_message': 'Une erreur s\'est produite.',
|
|
31
34
|
'free_shipping': 'Livraison gratuite',
|
|
32
35
|
'proceed-checkout': 'Acheter cet article',
|
|
33
36
|
'summary_headline': 'Résumé',
|
|
34
37
|
'summary_subtotal': 'Sous-total',
|
|
35
38
|
'summary_shipping_total': 'Emballage et envoi',
|
|
36
|
-
'summary_delivery_time': '',
|
|
39
|
+
'summary_delivery_time': 'Délai de livraison',
|
|
37
40
|
'summary_discount': 'Vous économisez sur votre achat',
|
|
38
41
|
'summary_checkout': 'Acheter cet article',
|
|
39
42
|
'summary_total': 'Montant total',
|
|
40
|
-
'summary_vat': 'TVA incluse ({
|
|
43
|
+
'summary_vat': 'TVA incluse ({percentage})',
|
|
41
44
|
'discount_not_found': 'Ce code promo n’existe pas.',
|
|
42
45
|
'discount_not_active': 'Ce code promo n’est pas actif.',
|
|
43
46
|
'discount_not_available': 'Ce code promo n’est pas valable pour ce pays.',
|
|
@@ -46,15 +49,21 @@ export default {
|
|
|
46
49
|
'discount_minimum_not_reached': 'Le montant minimum de commande de {{minimum_order_value}} € n’a pas été atteint.',
|
|
47
50
|
'discount_no_sale_article': 'Bon d’achat non cumulable avec d’autres promotions en cours.',
|
|
48
51
|
'discount_scope_not_satisfied': 'Le code promo n’est pas applicable pour ce panier / cet ou ces article(s).',
|
|
52
|
+
'order_step_cart': 'Panier',
|
|
53
|
+
'order_step_data': 'Données',
|
|
54
|
+
'order_step_shipping': 'Mode de livraison',
|
|
55
|
+
'order_step_payment': 'Mode de paiement',
|
|
56
|
+
'order_step_verify': 'Vérifier la commande',
|
|
57
|
+
'order_step_complete': 'Commande terminée',
|
|
49
58
|
},
|
|
50
59
|
},
|
|
51
60
|
messages: {
|
|
52
|
-
loading: '
|
|
53
|
-
updating: '
|
|
54
|
-
wait_for_payment: '
|
|
61
|
+
loading: 'Données en cours de consultation …',
|
|
62
|
+
updating: 'Données en cours de mise à jour …',
|
|
63
|
+
wait_for_payment: 'Attente de paiement …',
|
|
55
64
|
remove_article_from_cart: 'Désirez-vous vraiment supprimer cet article du panier?',
|
|
56
65
|
order_check_later: 'Vous pourrez revérifier vos données avant de valider votre commande.',
|
|
57
|
-
email_equal_error:
|
|
58
|
-
phone_equal_error:
|
|
66
|
+
email_equal_error: 'Les adresses e-mail ne correspondent pas.',
|
|
67
|
+
phone_equal_error: 'Les numéros de téléphone ne correspondent pas.',
|
|
59
68
|
},
|
|
60
69
|
};
|