Added per-user coupon maximum usage count

This commit is contained in:
Franck Allimant
2014-05-17 10:20:26 +02:00
parent 9cdac6d50e
commit f8ccea1899
43 changed files with 4506 additions and 152 deletions

View File

@@ -25,24 +25,30 @@ return array(
'Administrator ID not found' => 'Administrator ID not found',
'Advertise this product as new' => 'Advertise this product as new',
'Alerts' => 'Alerts',
'All countries' => 'All countries',
'All shipping methods' => 'All shipping methods',
'Alpha code 2 *' => 'Alpha code 2 *',
'Alpha code 3 *' => 'Alpha code 3 *',
'Apply exchange rates on price in %sym' => 'Apply exchange rates on price in %sym',
'At least one of cart products categories is %op% <strong>%categories_list%</strong>' => 'At least one of cart products categories is %op% <strong>%categories_list%</strong>',
'Attribute ID:Attribute AV ID' => 'Attribute ID:Attribute AV ID',
'Auth mode' => 'Auth mode',
'Available quantity' => 'Available quantity',
'Available quantity *' => 'Available quantity *',
'Available shipping zones' => 'Available shipping zones',
'Bad tax list JSON' => 'Bad tax list JSON',
'Billing country condition' => 'Pays de facturation',
'Billing country' => 'Billing country',
'Billing coutry is' => 'Le pays de facturation est',
'Business ID' => 'Business ID',
'By cart total amount' => 'By cart total amount',
'Cannot find a default country. Please define one.' => 'Cannot find a default country. Please define one.',
'Cannot find the shop country. Please select a shop country.' => 'Cannot find the shop country. Please select a shop country.',
'Cannot instanciante module "%name%": the namespace is null. Maybe the model is not loaded ?' => 'Cannot instanciante module "%name%": the namespace is null. Maybe the model is not loaded ?',
'Cart item count condition' => 'Cart item count condition',
'Cart contains at least a product %op% <strong>%products_list%</strong>' => 'Cart contains at least a product %op% <strong>%products_list%</strong>',
'Cart contains categories condition' => 'Cart contains categories condition',
'Cart contains specific products' => 'Cart contains specific products',
'Cart item count' => 'Cart item count',
'Cart item count is' => 'Cart item count is',
'Cart total amount' => 'Cart total amount',
'Cart total amount is' => 'Cart total amount is',
'Category title *' => 'Category title *',
'Cellphone' => 'Cellphone',
@@ -61,16 +67,19 @@ return array(
'Country ID not found' => 'Country ID not found',
'Country area' => 'Country area',
'Country title *' => 'Country title *',
'Coupon %code is expired.' => 'Coupon %code is expired.',
'Critical' => 'Critical',
'Current Password' => 'Current Password',
'Customer is %op% <strong>%customer_list%</strong>' => 'Customer is %op% <strong>%customer_list%</strong>',
'Date \'%date\' is invalid, please enter a valid date using %fmt format' => 'Date \'%date\' is invalid, please enter a valid date using %fmt format',
'Debug' => 'Debug',
'Decimal places' => 'Decimal places',
'Default folder *' => 'Default folder *',
'Default product category *' => 'Default product category *',
'Default product sale element' => 'Default product sale element',
'Deleting document for %id% with parent id %parentId%' => 'Deleting document for %id% with parent id %parentId%',
'Deleting image for %id% with parent id %parentId%' => 'Deleting image for %id% with parent id %parentId%',
'Delivery country condition' => 'Pays de livraison',
'Delivery country' => 'Delivery country',
'Delivery coutry is' => 'Le pays de livraison est',
'Delivery module ID not found' => 'Delivery module ID not found',
'Description' => 'Description',
@@ -103,7 +112,9 @@ return array(
'First Name' => 'First Name',
'Firstname' => 'Firstname',
'Fixed Amount Discount' => 'Fixed Amount Discount',
'Fixed amount discount on selected categories' => 'Fixed amount discount on selected categories',
'Folder title *' => 'Folder title *',
'For one ore more customers' => 'For one ore more customers',
'Full Name' => 'Full Name',
'Greater than' => 'Greater than',
'Greater than or equals' => 'Greater than or equals',
@@ -140,6 +151,7 @@ return array(
'Loop must implements one of the following interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`' => 'Loop must implements one of the following interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`',
'Loop type \'%type\' is not defined.' => 'Loop type \'%type\' is not defined.',
'Make this address as my primary address' => 'Make this address as my primary address',
'Maximum usage count reached for coupon %code' => 'Maximum usage count reached for coupon %code',
'Message subject' => 'Message subject',
'Meta Description' => 'Meta Description',
'Meta Keywords' => 'Meta Keywords',
@@ -170,12 +182,14 @@ return array(
'Order address ID not found' => 'Order address ID not found',
'Order ref. %ref is now unpaid.' => 'Order ref. %ref is now unpaid.',
'Order ref. %ref, ID %id has been successfully paid.' => 'Order ref. %ref, ID %id has been successfully paid.',
'Overall' => 'Overall',
'Page Title' => 'Page Title',
'Parent category *' => 'Parent category *',
'Parent folder *' => 'Parent folder *',
'Password' => 'Password',
'Password *' => 'Password *',
'Password confirmation' => 'Password confirmation',
'Per customer' => 'Per customer',
'Percent Discount' => 'Percent Discount',
'Percentage of the product price' => 'Percentage of the product price',
'Phone' => 'Phone',
@@ -260,6 +274,9 @@ return array(
'Text Message' => 'Text Message',
'The TaxEngine should be passed to this form before using it.' => 'The TaxEngine should be passed to this form before using it.',
'The cart item count should match the condition' => 'The cart item count should match the condition',
'The coupon applies if the cart contains at least one product of the selected categories' => 'The coupon applies if the cart contains at least one product of the selected categories',
'The coupon applies if the cart contains at least one product of the specified product list' => 'The coupon applies if the cart contains at least one product of the specified product list',
'The coupon applies to some customers only' => 'The coupon applies to some customers only',
'The coupon applies to the selected delivery countries' => 'Ce code promo s\'applique seulement aux pays de facturation sélectionnés',
'The coupon is valid after a given date' => 'Le code promo est valide seulement à partir d\'une certaine date',
'The image which replaces an undefined country flag (%file) was not found. Please check unknown-flag-path configuration variable, and check that the image exists.' => 'The image which replaces an undefined country flag (%file) was not found. Please check unknown-flag-path configuration variable, and check that the image exists.',
@@ -268,6 +285,7 @@ return array(
'This condition is always true' => 'This condition is always true',
'This content is online.' => 'This content is online.',
'This coupon does not exists' => 'This coupon does not exists',
'This coupon subtracts the specified amount from the order total for each product of the selected categories. If the discount is greater than the total order, the customer will only pay the shipping, or nothing if the coupon also provides free shipping.' => 'This coupon subtracts the specified amount from the order total for each product of the selected categories. If the discount is greater than the total order, the customer will only pay the shipping, or nothing if the coupon also provides free shipping.',
'This coupon will offert a flat percentage off a shopper\'s entire order (not applied to shipping costs or tax rates). If the discount is greater than the total order corst, the customer will only pay the shipping, or nothing if the coupon also provides free shipping.' => 'This coupon will offert a flat percentage off a shopper\'s entire order (not applied to shipping costs or tax rates). If the discount is greater than the total order corst, the customer will only pay the shipping, or nothing if the coupon also provides free shipping.',
'This coupon will subtracts a set amount from the total cost of an order. If the discount is greater than the total order corst, the customer will only pay the shipping, or nothing if the coupon also provides free shipping.' => 'This coupon will subtracts a set amount from the total cost of an order. If the discount is greater than the total order corst, the customer will only pay the shipping, or nothing if the coupon also provides free shipping.',
'This email already exists.' => 'This email already exists.',

View File

@@ -67,6 +67,7 @@ return array(
'Country ID not found' => 'ID du pays non trouvé',
'Country area' => 'Zone du pays',
'Country title *' => 'Pays *',
'Coupon %code is expired.' => 'La date limite d\'utilisation du coupon %code est dépassée.',
'Critical' => 'Critique',
'Current Password' => 'Mot de passe actuel.',
'Customer is %op% <strong>%customer_list%</strong>' => 'Le client est %op% <strong>%customer_list%</strong> ',
@@ -149,6 +150,7 @@ return array(
'Loop must implements one of the following interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`' => 'Une boucle doit implémenter au moins une de ces interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`',
'Loop type \'%type\' is not defined.' => 'La boucle de type \'%type\' n\'existe pas.',
'Make this address as my primary address' => 'Choisir cette adresse comme adresse par défaut',
'Maximum usage count reached for coupon %code' => 'Le nombre maximum d\'utilisation pour le coupon %code est dépassé.',
'Message subject' => 'Sujet',
'Meta Description' => 'Meta description',
'Meta Keywords' => 'Meta keywords',
@@ -179,12 +181,14 @@ return array(
'Order address ID not found' => 'ID de l\'adresse de la commande non trouvé',
'Order ref. %ref is now unpaid.' => 'La commande %ref, ID %id est désormais non payée',
'Order ref. %ref, ID %id has been successfully paid.' => 'La commande ref. %ref, ID %id a été correctement payée',
'Overall' => 'Pour tous les clients',
'Page Title' => 'Titre de la page',
'Parent category *' => 'Catégorie parente *',
'Parent folder *' => 'Dossier parent *',
'Password' => 'Mot de passe',
'Password *' => 'Mot de passe *',
'Password confirmation' => 'Confirmation du mot de passe.',
'Per customer' => 'Par client',
'Percent Discount' => 'Remise en pourcentage de la commande',
'Percentage of the product price' => 'Pourcentage du prix du produit',
'Phone' => 'Téléphone',