diff --git a/CHANGELOG.md b/CHANGELOG.md
index 73cabe7f4..f93028f66 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,9 @@
- Coupon effect inputs are now more customisable (input text, select, ajax, etc.. are usable) and unlimited amount of input for coupon effect are now possible too
- when a category is deleted, all subcategories are deleted
- delete products when categories are removed. Works only when the category is the default one for this product
-- Manager update exists now.
+- Manager update exists now. Rune php Thelia thelia:update
+- Coupon works now
+- Improved tax rule configuration
#2.0.0-beta2
diff --git a/core/lib/Thelia/Action/Cart.php b/core/lib/Thelia/Action/Cart.php
index 36ab41385..c1abd3034 100755
--- a/core/lib/Thelia/Action/Cart.php
+++ b/core/lib/Thelia/Action/Cart.php
@@ -186,11 +186,11 @@ class Cart extends BaseAction implements EventSubscriberInterface
/**
* try to attach a new item to an existing cart
*
- * @param \Thelia\Model\Cart $cart
- * @param int $productId
+ * @param \Thelia\Model\Cart $cart
+ * @param int $productId
* @param \Thelia\Model\ProductSaleElements $productSaleElements
- * @param float $quantity
- * @param ProductPrice $productPrice
+ * @param float $quantity
+ * @param ProductPrice $productPrice
*
* @return CartItem
*/
diff --git a/core/lib/Thelia/Action/Coupon.php b/core/lib/Thelia/Action/Coupon.php
index 84c1d444b..8751dae3b 100755
--- a/core/lib/Thelia/Action/Coupon.php
+++ b/core/lib/Thelia/Action/Coupon.php
@@ -130,7 +130,8 @@ class Coupon extends BaseAction implements EventSubscriberInterface
->getSession()
->getOrder()
->setDiscount($totalDiscount)
- ->save();
+ // ->save()
+ ;
}
}
@@ -210,7 +211,7 @@ class Coupon extends BaseAction implements EventSubscriberInterface
/** @var CouponManager $couponManager */
$couponManager = $this->container->get('thelia.coupon.manager');
- if($couponManager->isCouponRemovingPostage()) {
+ if ($couponManager->isCouponRemovingPostage()) {
$order = $event->getOrder();
$order->setPostage(0);
@@ -234,7 +235,7 @@ class Coupon extends BaseAction implements EventSubscriberInterface
$consumedCoupons = $request->getSession()->getConsumedCoupons();
if (is_array($consumedCoupons)) {
- foreach($consumedCoupons as $couponCode) {
+ foreach ($consumedCoupons as $couponCode) {
$couponQuery = CouponQuery::create();
$couponModel = $couponQuery->findOneByCode($couponCode);
$couponModel->setLocale($request->getSession()->getLang()->getLocale());
@@ -262,6 +263,8 @@ class Coupon extends BaseAction implements EventSubscriberInterface
$orderCoupon->save();
}
}
+
+ $request->getSession()->setConsumedCoupons(array());
}
/**
diff --git a/core/lib/Thelia/Action/Order.php b/core/lib/Thelia/Action/Order.php
index 9d7daaba7..1abe36508 100755
--- a/core/lib/Thelia/Action/Order.php
+++ b/core/lib/Thelia/Action/Order.php
@@ -30,7 +30,6 @@ use Thelia\Core\Event\Cart\CartEvent;
use Thelia\Core\Event\Order\OrderAddressEvent;
use Thelia\Core\Event\Order\OrderEvent;
use Thelia\Core\Event\TheliaEvents;
-use Thelia\Coupon\CouponManager;
use Thelia\Exception\TheliaProcessException;
use Thelia\Model\AddressQuery;
use Thelia\Model\ConfigQuery;
@@ -288,7 +287,8 @@ class Order extends BaseAction implements EventSubscriberInterface
$sessionOrder = new \Thelia\Model\Order();
$event->setOrder($sessionOrder);
$event->setPlacedOrder($placedOrder);
- $this->getSession()->setOrder($placedOrder);
+ $this->getSession()->setProcessedOrder($placedOrder);
+ $this->getSession()->setOrder(new \Thelia\Model\Order());
/* empty cart */
$this->getDispatcher()->dispatch(TheliaEvents::CART_CLEAR, new CartEvent($this->getCart($this->getRequest())));
diff --git a/core/lib/Thelia/Command/UpdateCommand.php b/core/lib/Thelia/Command/UpdateCommand.php
index 745a1b219..36f9aacb9 100644
--- a/core/lib/Thelia/Command/UpdateCommand.php
+++ b/core/lib/Thelia/Command/UpdateCommand.php
@@ -27,8 +27,6 @@ use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Thelia\Install\Exception\UpToDateException;
use Thelia\Install\Update;
-use Thelia\Model\ConfigQuery;
-
/**
* Class UpdateCommand
@@ -65,7 +63,7 @@ class UpdateCommand extends ContainerAwareCommand
'Your database is updated successfully !',
''
));
- } catch(PropelException $e) {
+ } catch (PropelException $e) {
$errorMsg = $e->getMessage();
$output->writeln(array(
@@ -81,4 +79,4 @@ class UpdateCommand extends ContainerAwareCommand
));
}
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Condition/ConditionCollection.php b/core/lib/Thelia/Condition/ConditionCollection.php
index be457bded..bedf5b337 100644
--- a/core/lib/Thelia/Condition/ConditionCollection.php
+++ b/core/lib/Thelia/Condition/ConditionCollection.php
@@ -26,7 +26,6 @@ namespace Thelia\Condition;
use ArrayAccess;
use Countable;
use Iterator;
-use Symfony\Component\DependencyInjection\ContainerInterface;
use Thelia\Condition\Implementation\ConditionInterface;
/**
@@ -201,4 +200,4 @@ class ConditionCollection implements Iterator, Countable, ArrayAccess
return json_encode($arrayToSerialize);
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Condition/ConditionEvaluator.php b/core/lib/Thelia/Condition/ConditionEvaluator.php
index 901a9161a..dd606fcd0 100644
--- a/core/lib/Thelia/Condition/ConditionEvaluator.php
+++ b/core/lib/Thelia/Condition/ConditionEvaluator.php
@@ -23,12 +23,10 @@
namespace Thelia\Condition;
-use Symfony\Component\DependencyInjection\ContainerInterface;
use Thelia\Condition\Implementation\ConditionInterface;
use Thelia\Condition\Operators;
use Thelia\Condition\ConditionCollection;
-
/**
* Validate Conditions
*
@@ -138,4 +136,4 @@ class ConditionEvaluator
return false;
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Condition/ConditionFactory.php b/core/lib/Thelia/Condition/ConditionFactory.php
index 431641659..72079fcc7 100644
--- a/core/lib/Thelia/Condition/ConditionFactory.php
+++ b/core/lib/Thelia/Condition/ConditionFactory.php
@@ -28,7 +28,6 @@ use Thelia\Condition\Implementation\ConditionInterface;
use Thelia\Coupon\FacadeInterface;
use Thelia\Condition\ConditionCollection;
-
/**
* Manage how Condition could interact with the current application state (Thelia)
*
@@ -114,7 +113,6 @@ class ConditionFactory
return $collection;
}
-
/**
* Build a Condition from form
*
@@ -123,7 +121,7 @@ class ConditionFactory
* @param array $values Values setting this Condition
*
* @throws \InvalidArgumentException
- * @return ConditionInterface Ready to use Condition or false
+ * @return ConditionInterface Ready to use Condition or false
*/
public function build($conditionServiceId, array $operators, array $values)
{
@@ -166,7 +164,6 @@ class ConditionFactory
*/
public function getInputsFromConditionInterface(ConditionInterface $condition)
{
-
return $condition->getValidators();
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Condition/ConditionOrganizer.php b/core/lib/Thelia/Condition/ConditionOrganizer.php
index ebcff5f7d..6dab6e92c 100644
--- a/core/lib/Thelia/Condition/ConditionOrganizer.php
+++ b/core/lib/Thelia/Condition/ConditionOrganizer.php
@@ -44,4 +44,4 @@ class ConditionOrganizer implements ConditionOrganizerInterface
// @todo: Implement organize() method.
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Condition/ConditionOrganizerInterface.php b/core/lib/Thelia/Condition/ConditionOrganizerInterface.php
index b34982cc7..ab5a9dff7 100644
--- a/core/lib/Thelia/Condition/ConditionOrganizerInterface.php
+++ b/core/lib/Thelia/Condition/ConditionOrganizerInterface.php
@@ -40,4 +40,4 @@ interface ConditionOrganizerInterface
* @return array Array of ConditionInterface sorted
*/
public function organize(array $conditions);
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Condition/Implementation/ConditionAbstract.php b/core/lib/Thelia/Condition/Implementation/ConditionAbstract.php
index ab0b404b3..48ec8ed1e 100644
--- a/core/lib/Thelia/Condition/Implementation/ConditionAbstract.php
+++ b/core/lib/Thelia/Condition/Implementation/ConditionAbstract.php
@@ -171,7 +171,6 @@ abstract class ConditionAbstract implements ConditionInterface
return $serializableCondition;
}
-
/**
* Check if currency if valid or not
*
@@ -232,7 +231,7 @@ abstract class ConditionAbstract implements ConditionInterface
$selectHtml = '';
$optionHtml = '';
$inputs = $this->getValidators();
- if(isset($inputs['inputs'][$inputKey])) {
+ if (isset($inputs['inputs'][$inputKey])) {
$operators = $inputs['inputs'][$inputKey]['availableOperators'];
foreach ($operators as $key => $operator) {
$selected = '';
@@ -282,6 +281,7 @@ abstract class ConditionAbstract implements ConditionInterface
';
+
return $html;
}
@@ -316,4 +316,4 @@ abstract class ConditionAbstract implements ConditionInterface
return $selectHtml;
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Condition/Implementation/ConditionInterface.php b/core/lib/Thelia/Condition/Implementation/ConditionInterface.php
index a123d2c10..0b4f3efe0 100644
--- a/core/lib/Thelia/Condition/Implementation/ConditionInterface.php
+++ b/core/lib/Thelia/Condition/Implementation/ConditionInterface.php
@@ -24,7 +24,6 @@
namespace Thelia\Condition\Implementation;
use Thelia\Condition\SerializableCondition;
-use Thelia\Core\Translation\Translator;
use Thelia\Coupon\FacadeInterface;
/**
@@ -41,7 +40,7 @@ interface ConditionInterface
*
* @param FacadeInterface $adapter Service adapter
*/
- function __construct(FacadeInterface $adapter);
+ public function __construct(FacadeInterface $adapter);
/**
* Get Condition Service id
@@ -75,7 +74,6 @@ interface ConditionInterface
*/
public function getAvailableOperators();
-
/**
* Get I18n name
*
diff --git a/core/lib/Thelia/Condition/Implementation/MatchForEveryone.php b/core/lib/Thelia/Condition/Implementation/MatchForEveryone.php
index e3452a830..48b7c250b 100644
--- a/core/lib/Thelia/Condition/Implementation/MatchForEveryone.php
+++ b/core/lib/Thelia/Condition/Implementation/MatchForEveryone.php
@@ -148,8 +148,7 @@ class MatchForEveryone extends ConditionAbstract
public function drawBackOfficeInputs()
{
// No input
-
return '';
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Condition/Implementation/MatchForTotalAmount.php b/core/lib/Thelia/Condition/Implementation/MatchForTotalAmount.php
index 4ffe2ebd4..7cbdd32df 100644
--- a/core/lib/Thelia/Condition/Implementation/MatchForTotalAmount.php
+++ b/core/lib/Thelia/Condition/Implementation/MatchForTotalAmount.php
@@ -23,7 +23,6 @@
namespace Thelia\Condition\Implementation;
-use Symfony\Component\Intl\Exception\NotImplementedException;
use Thelia\Condition\Implementation\ConditionAbstract;
use Thelia\Condition\Operators;
use Thelia\Exception\InvalidConditionOperatorException;
@@ -119,10 +118,8 @@ class MatchForTotalAmount extends ConditionAbstract
$this->isPriceValid($priceValue);
-
$this->isCurrencyValid($currencyValue);
-
$this->operators = array(
self::INPUT1 => $priceOperator,
self::INPUT2 => $currencyOperator,
@@ -335,4 +332,4 @@ class MatchForTotalAmount extends ConditionAbstract
return $selectHtml;
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Condition/Implementation/MatchForXArticles.php b/core/lib/Thelia/Condition/Implementation/MatchForXArticles.php
index 2d2df9c14..f1123b57b 100644
--- a/core/lib/Thelia/Condition/Implementation/MatchForXArticles.php
+++ b/core/lib/Thelia/Condition/Implementation/MatchForXArticles.php
@@ -247,6 +247,7 @@ class MatchForXArticles extends ConditionAbstract
';
+
return $html;
}
diff --git a/core/lib/Thelia/Condition/Operators.php b/core/lib/Thelia/Condition/Operators.php
index cc687acde..b6a8816ba 100644
--- a/core/lib/Thelia/Condition/Operators.php
+++ b/core/lib/Thelia/Condition/Operators.php
@@ -124,4 +124,4 @@ abstract class Operators
return $ret;
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Controller/Admin/CouponController.php b/core/lib/Thelia/Controller/Admin/CouponController.php
index 275f9b5de..68508903e 100755
--- a/core/lib/Thelia/Controller/Admin/CouponController.php
+++ b/core/lib/Thelia/Controller/Admin/CouponController.php
@@ -314,7 +314,6 @@ class CouponController extends BaseAdminController
/** @var ConditionInterface $condition */
$condition = $this->container->get($conditionId);
-
if ($inputs === null) {
return $this->pageNotFound();
}
@@ -723,6 +722,7 @@ class CouponController extends BaseAdminController
$args = array();
$args['conditions'] = $this->cleanConditionForTemplate($couponManager->getConditions());
+
return $this->render('coupon/conditions', $args);
}
diff --git a/core/lib/Thelia/Core/Event/Coupon/CouponCreateOrUpdateEvent.php b/core/lib/Thelia/Core/Event/Coupon/CouponCreateOrUpdateEvent.php
index de236ac3c..376db1d3f 100644
--- a/core/lib/Thelia/Core/Event/Coupon/CouponCreateOrUpdateEvent.php
+++ b/core/lib/Thelia/Core/Event/Coupon/CouponCreateOrUpdateEvent.php
@@ -87,10 +87,10 @@ class CouponCreateOrUpdateEvent extends ActionEvent
/**
* Constructor
*
- * @param string $code Coupon Code
- * @param string $serviceId Coupon Service id
- * @param string $title Coupon title
- * @param array $effects Coupon effects ready to be serialized
+ * @param string $code Coupon Code
+ * @param string $serviceId Coupon Service id
+ * @param string $title Coupon title
+ * @param array $effects Coupon effects ready to be serialized
* 'amount' key is mandatory and reflects
* the amount deduced from the cart
* @param string $shortDescription Coupon short description
diff --git a/core/lib/Thelia/Core/HttpFoundation/Session/Session.php b/core/lib/Thelia/Core/HttpFoundation/Session/Session.php
index b35bd4a13..5179d7e56 100755
--- a/core/lib/Thelia/Core/HttpFoundation/Session/Session.php
+++ b/core/lib/Thelia/Core/HttpFoundation/Session/Session.php
@@ -253,6 +253,26 @@ class Session extends BaseSession
return $this->get("thelia.order");
}
+ /**
+ * @param Order $order
+ * @return $this
+ */
+ public function setProcessedOrder(Order $order)
+ {
+ $this->set('thelia.order.processed', $order);
+
+ return $this;
+ }
+
+ /**
+ * Return an order already processed, usefull for payment modules
+ * @return Order
+ */
+ public function getProcessedOrder()
+ {
+ return $this->get('thelia.order.processed');
+ }
+
/**
* Set consumed coupons by the Customer
*
diff --git a/core/lib/Thelia/Core/Template/Assets/AssetManagerInterface.php b/core/lib/Thelia/Core/Template/Assets/AssetManagerInterface.php
index 09a7acd8d..dedb54d8e 100644
--- a/core/lib/Thelia/Core/Template/Assets/AssetManagerInterface.php
+++ b/core/lib/Thelia/Core/Template/Assets/AssetManagerInterface.php
@@ -23,7 +23,8 @@
namespace Thelia\Core\Template\Assets;
-interface AssetManagerInterface {
+interface AssetManagerInterface
+{
/**
* Prepare an asset directory by checking that no changes occured in
* the source directory. If any change is detected, the whole asset directory
@@ -45,23 +46,23 @@ interface AssetManagerInterface {
/**
* Generates assets from $asset_path in $output_path, using $filters.
*
- * @param $assetSource
- * @param $assetDirectoryBase
- * @param string $webAssetsDirectoryBase the full path to the asset file (or file collection, e.g. *.less)
+ * @param $assetSource
+ * @param $assetDirectoryBase
+ * @param string $webAssetsDirectoryBase the full path to the asset file (or file collection, e.g. *.less)
*
- * @param string $webAssetsTemplate the full disk path to the base assets output directory in the web space
- * @param $webAssetsKey
- * @param string $outputUrl the URL to the base assets output directory in the web space
+ * @param string $webAssetsTemplate the full disk path to the base assets output directory in the web space
+ * @param $webAssetsKey
+ * @param string $outputUrl the URL to the base assets output directory in the web space
*
- * @param string $assetType the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
- * @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
+ * @param string $assetType the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
+ * @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
*
- * @param boolean $debug true / false
+ * @param boolean $debug true / false
*
* @internal param string $web_assets_directory_base the full disk path to the base assets output directory in the web space
* @internal param string $output_url the URL to the base assets output directory in the web space
*
- * @return string The URL to the generated asset file.
+ * @return string The URL to the generated asset file.
*/
public function processAsset($assetSource, $assetDirectoryBase, $webAssetsDirectoryBase, $webAssetsTemplate, $webAssetsKey, $outputUrl, $assetType, $filters, $debug);
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Core/Template/Assets/AsseticAssetManager.php b/core/lib/Thelia/Core/Template/Assets/AsseticAssetManager.php
index 16f6c67c7..bca1ce1c7 100755
--- a/core/lib/Thelia/Core/Template/Assets/AsseticAssetManager.php
+++ b/core/lib/Thelia/Core/Template/Assets/AsseticAssetManager.php
@@ -51,7 +51,7 @@ class AsseticAssetManager implements AssetManagerInterface
/**
* Create a stamp form the modification time of the content of the given directory and all of its subdirectories
*
- * @param string $directory ther directory name
+ * @param string $directory ther directory name
* @return string the stamp of this directory
*/
protected function getStamp($directory)
@@ -76,7 +76,8 @@ class AsseticAssetManager implements AssetManagerInterface
*
* @return bool
*/
- protected function isSourceFile(\SplFileInfo $fileInfo) {
+ protected function isSourceFile(\SplFileInfo $fileInfo)
+ {
return in_array($fileInfo->getExtension(), $this->source_file_extensions);
}
@@ -84,9 +85,9 @@ class AsseticAssetManager implements AssetManagerInterface
* Recursively copy assets from the source directory to the destination
* directory in the web space, omitting source files.
*
- * @param Filesystem $fs
- * @param string $from_directory the source
- * @param string $to_directory the destination
+ * @param Filesystem $fs
+ * @param string $from_directory the source
+ * @param string $to_directory the destination
* @throws \RuntimeException if a problem occurs.
*/
protected function copyAssets(Filesystem $fs, $from_directory, $to_directory)
@@ -205,8 +206,7 @@ class AsseticAssetManager implements AssetManagerInterface
throw new \RuntimeException(
"Failed to create asset stamp file $stamp_file_path. Please check that your web server has the proper access rights to do that.");
}
- /* }
- else {
+ /* } else {
@fclose($fp);
}
*/
@@ -216,13 +216,13 @@ class AsseticAssetManager implements AssetManagerInterface
/**
* Decode the filters names, and initialize the Assetic FilterManager
*
- * @param FilterManager $filterManager the Assetic filter manager
- * @param string $filters a comma separated list of filter names
+ * @param FilterManager $filterManager the Assetic filter manager
+ * @param string $filters a comma separated list of filter names
* @throws \InvalidArgumentException if a wrong filter is passed
- * @return an array of filter names
+ * @return an array of filter names
*/
- protected function decodeAsseticFilters(FilterManager $filterManager, $filters) {
-
+ protected function decodeAsseticFilters(FilterManager $filterManager, $filters)
+ {
if (!empty($filters)) {
$filter_list = explode(',', $filters);
@@ -261,8 +261,7 @@ class AsseticAssetManager implements AssetManagerInterface
break;
}
}
- }
- else {
+ } else {
$filter_list = array();
}
@@ -272,20 +271,20 @@ class AsseticAssetManager implements AssetManagerInterface
/**
* Generates assets from $asset_path in $output_path, using $filters.
*
- * @param $assetSource
- * @param $assetDirectoryBase
- * @param string $webAssetsDirectoryBase the full path to the asset file (or file collection, e.g. *.less)
+ * @param $assetSource
+ * @param $assetDirectoryBase
+ * @param string $webAssetsDirectoryBase the full path to the asset file (or file collection, e.g. *.less)
*
- * @param string $webAssetsTemplate the full disk path to the base assets output directory in the web space
- * @param $webAssetsKey
- * @param string $outputUrl the URL to the base assets output directory in the web space
+ * @param string $webAssetsTemplate the full disk path to the base assets output directory in the web space
+ * @param $webAssetsKey
+ * @param string $outputUrl the URL to the base assets output directory in the web space
*
- * @param string $assetType the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
- * @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
+ * @param string $assetType the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
+ * @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
*
- * @param boolean $debug true / false
+ * @param boolean $debug true / false
*
- * @return string The URL to the generated asset file.
+ * @return string The URL to the generated asset file.
*/
public function processAsset($assetSource, $assetDirectoryBase, $webAssetsDirectoryBase, $webAssetsTemplate, $webAssetsKey, $outputUrl, $assetType, $filters, $debug)
{
diff --git a/core/lib/Thelia/Core/Template/Loop/Cart.php b/core/lib/Thelia/Core/Template/Loop/Cart.php
index 32c6d9ff2..aa7d65703 100755
--- a/core/lib/Thelia/Core/Template/Loop/Cart.php
+++ b/core/lib/Thelia/Core/Template/Loop/Cart.php
@@ -15,7 +15,6 @@ use Thelia\Core\Template\Element\LoopResult;
use Thelia\Core\Template\Element\LoopResultRow;
use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
-use Thelia\Model\CountryQuery;
use Thelia\TaxEngine\TaxEngine;
use Thelia\Type;
diff --git a/core/lib/Thelia/Core/Template/Loop/OrderCoupon.php b/core/lib/Thelia/Core/Template/Loop/OrderCoupon.php
index ed74a4dac..13335d4c8 100755
--- a/core/lib/Thelia/Core/Template/Loop/OrderCoupon.php
+++ b/core/lib/Thelia/Core/Template/Loop/OrderCoupon.php
@@ -25,8 +25,6 @@ namespace Thelia\Core\Template\Loop;
use Propel\Runtime\ActiveQuery\Criteria;
use Thelia\Condition\ConditionFactory;
-use Thelia\Condition\Implementation\ConditionInterface;
-use Thelia\Core\HttpFoundation\Request;
use Thelia\Core\Template\Element\BaseLoop;
use Thelia\Core\Template\Element\LoopResult;
use Thelia\Core\Template\Element\LoopResultRow;
@@ -35,7 +33,6 @@ use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
use Thelia\Model\OrderCouponQuery;
use Thelia\Model\OrderQuery;
-use Thelia\Type;
/**
*
diff --git a/core/lib/Thelia/Core/Template/Loop/Product.php b/core/lib/Thelia/Core/Template/Loop/Product.php
index 49bab69ec..8ee347f0a 100755
--- a/core/lib/Thelia/Core/Template/Loop/Product.php
+++ b/core/lib/Thelia/Core/Template/Loop/Product.php
@@ -36,7 +36,6 @@ use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Exception\TaxEngineException;
use Thelia\Model\CategoryQuery;
-use Thelia\Model\CountryQuery;
use Thelia\Model\CurrencyQuery;
use Thelia\Model\Map\ProductPriceTableMap;
use Thelia\Model\Map\ProductSaleElementsTableMap;
diff --git a/core/lib/Thelia/Core/Template/Loop/ProductSaleElements.php b/core/lib/Thelia/Core/Template/Loop/ProductSaleElements.php
index 319bb7fee..124f3d162 100755
--- a/core/lib/Thelia/Core/Template/Loop/ProductSaleElements.php
+++ b/core/lib/Thelia/Core/Template/Loop/ProductSaleElements.php
@@ -34,7 +34,6 @@ use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Exception\TaxEngineException;
use Thelia\Model\Base\ProductSaleElementsQuery;
-use Thelia\Model\CountryQuery;
use Thelia\Model\CurrencyQuery;
use Thelia\Model\Map\ProductSaleElementsTableMap;
use Thelia\TaxEngine\TaxEngine;
diff --git a/core/lib/Thelia/Core/Template/Loop/Template.php b/core/lib/Thelia/Core/Template/Loop/Template.php
index 9b6ae8a28..e6cf47288 100644
--- a/core/lib/Thelia/Core/Template/Loop/Template.php
+++ b/core/lib/Thelia/Core/Template/Loop/Template.php
@@ -23,19 +23,12 @@
namespace Thelia\Core\Template\Loop;
-use Propel\Runtime\ActiveQuery\Criteria;
-use Thelia\Core\Security\AccessManager;
-use Thelia\Core\Template\Element\BaseI18nLoop;
use Thelia\Core\Template\Element\LoopResult;
use Thelia\Core\Template\Element\LoopResultRow;
-use Thelia\Core\Template\Element\PropelSearchLoopInterface;
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
use Thelia\Core\Template\Loop\Argument\Argument;
-use Thelia\Model\ModuleQuery;
-
-use Thelia\Module\BaseModule;
use Thelia\Type;
use Thelia\Core\Template\TemplateHelper;
use Thelia\Core\Template\TemplateDefinition;
@@ -72,7 +65,8 @@ class Template extends BaseLoop implements ArraySearchLoopInterface
);
}
- public function buildArray() {
+ public function buildArray()
+ {
$type = $this->getArg('template-type')->getValue();
if ($type == 'front-office')
diff --git a/core/lib/Thelia/Core/Template/ParserInterface.php b/core/lib/Thelia/Core/Template/ParserInterface.php
index 08653f588..22badf688 100755
--- a/core/lib/Thelia/Core/Template/ParserInterface.php
+++ b/core/lib/Thelia/Core/Template/ParserInterface.php
@@ -43,20 +43,19 @@ interface ParserInterface
*
* @param unknown $templateType the template type (
*
- * @param string $templateName the template name
- * @param string $templateDirectory path to the template dirtectory
- * @param unknown $key ???
- * @param string $unshift ??? Etienne ?
+ * @param string $templateName the template name
+ * @param string $templateDirectory path to the template dirtectory
+ * @param unknown $key ???
+ * @param string $unshift ??? Etienne ?
*/
public function addTemplateDirectory($templateType, $templateName, $templateDirectory, $key, $unshift = false);
-
/**
* Return the registeted template directories for a givent template type
*
- * @param unknown $templateType
+ * @param unknown $templateType
* @throws InvalidArgumentException if the tempmateType is not defined
- * @return array: an array of defined templates directories for the given template type
+ * @return array: an array of defined templates directories for the given template type
*/
public function getTemplateDirectories($templateType);
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Core/Template/Smarty/Assets/SmartyAssetsManager.php b/core/lib/Thelia/Core/Template/Smarty/Assets/SmartyAssetsManager.php
index cb867b8c1..18e771336 100755
--- a/core/lib/Thelia/Core/Template/Smarty/Assets/SmartyAssetsManager.php
+++ b/core/lib/Thelia/Core/Template/Smarty/Assets/SmartyAssetsManager.php
@@ -23,7 +23,6 @@
namespace Thelia\Core\Template\Smarty\Assets;
-use Thelia\Core\Template\Assets\AsseticHelper;
use Thelia\Core\Template\TemplateDefinition;
use Thelia\Tools\URL;
use Thelia\Core\Template\Assets\AssetManagerInterface;
@@ -37,14 +36,14 @@ class SmartyAssetsManager
private $web_root;
private $path_relative_to_web_root;
- static private $assetsDirectory = null;
+ private static $assetsDirectory = null;
/**
* Creates a new SmartyAssetsManager instance
*
- * @param AssetManagerInterface $assetsManager an asset manager instance
- * @param string $web_root the disk path to the web root (with final /)
- * @param string $path_relative_to_web_root the path (relative to web root) where the assets will be generated
+ * @param AssetManagerInterface $assetsManager an asset manager instance
+ * @param string $web_root the disk path to the web root (with final /)
+ * @param string $path_relative_to_web_root the path (relative to web root) where the assets will be generated
*/
public function __construct(AssetManagerInterface $assetsManager, $web_root, $path_relative_to_web_root)
{
@@ -67,7 +66,7 @@ class SmartyAssetsManager
if (isset($templateDirectories[$templateDefinition->getName()])) {
/* create assets foreach registered directory : main @ modules */
- foreach($templateDirectories[$templateDefinition->getName()] as $key => $directory) {
+ foreach ($templateDirectories[$templateDefinition->getName()] as $key => $directory) {
$tpl_path = $directory . DS . self::$assetsDirectory;
@@ -95,7 +94,7 @@ class SmartyAssetsManager
/* we trick here relative thinking for file attribute */
$file = ltrim($file, '/');
- while(substr($file, 0, 3) == '../') {
+ while (substr($file, 0, 3) == '../') {
$file = substr($file, 3);
}
diff --git a/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php b/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php
index fe6e1cd0a..f652aaa01 100755
--- a/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php
+++ b/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php
@@ -14,8 +14,6 @@ use Thelia\Core\Template\Smarty\AbstractSmartyPlugin;
use Thelia\Core\Template\Exception\ResourceNotFoundException;
use Thelia\Core\Template\ParserContext;
use Thelia\Core\Template\TemplateDefinition;
-use Thelia\Model\ConfigQuery;
-use Thelia\Core\Template\TemplateHelper;
use Imagine\Exception\InvalidArgumentException;
use Thelia\Core\Translation\Translator;
@@ -72,7 +70,6 @@ class SmartyParser extends Smarty implements ParserInterface
$this->setCompileDir($compile_dir);
$this->setCacheDir($cache_dir);
-
$this->debugging = $debug;
// Prevent smarty ErrorException: Notice: Undefined index bla bla bla...
@@ -80,7 +77,7 @@ class SmartyParser extends Smarty implements ParserInterface
// Si on n'est pas en mode debug, activer le cache, avec une lifetime de 15mn, et en vérifiant que les templates sources n'ont pas été modifiés.
- if($debug) {
+ if ($debug) {
$this->setCaching(Smarty::CACHING_OFF);
$this->setForceCompile(true);
} else {
@@ -89,7 +86,6 @@ class SmartyParser extends Smarty implements ParserInterface
//$this->enableSecurity();
-
// The default HTTP status
$this->status = 200;
@@ -100,15 +96,15 @@ class SmartyParser extends Smarty implements ParserInterface
/**
* Add a template directory to the current template list
*
- * @param unknown $templateType the template type (a TemplateDefinition type constant)
- * @param string $templateName the template name
- * @param string $templateDirectory path to the template dirtectory
- * @param unknown $key ???
- * @param string $unshift ??? Etienne ?
+ * @param unknown $templateType the template type (a TemplateDefinition type constant)
+ * @param string $templateName the template name
+ * @param string $templateDirectory path to the template dirtectory
+ * @param unknown $key ???
+ * @param string $unshift ??? Etienne ?
*/
- public function addTemplateDirectory($templateType, $templateName, $templateDirectory, $key, $unshift = false) {
-
- if(true === $unshift && isset($this->templateDirectories[$templateType][$templateName])) {
+ public function addTemplateDirectory($templateType, $templateName, $templateDirectory, $key, $unshift = false)
+ {
+ if (true === $unshift && isset($this->templateDirectories[$templateType][$templateName])) {
$this->templateDirectories[$templateType][$templateName] = array_merge(
array(
@@ -124,7 +120,7 @@ class SmartyParser extends Smarty implements ParserInterface
/**
* Return the registeted template directories for a givent template type
*
- * @param unknown $templateType
+ * @param unknown $templateType
* @throws InvalidArgumentException
* @return multitype:
*/
@@ -176,7 +172,7 @@ class SmartyParser extends Smarty implements ParserInterface
/* do not pass array directly to addTemplateDir since we cant control on keys */
if (isset($this->templateDirectories[$templateDefinition->getType()][$templateDefinition->getName()])) {
- foreach($this->templateDirectories[$templateDefinition->getType()][$templateDefinition->getName()] as $key => $directory) {
+ foreach ($this->templateDirectories[$templateDefinition->getType()][$templateDefinition->getName()] as $key => $directory) {
$this->addTemplateDir($directory, $key);
}
}
@@ -194,9 +190,9 @@ class SmartyParser extends Smarty implements ParserInterface
/**
* Return a rendered template, either from file or ftom a string
*
- * @param string $resourceType either 'string' (rendering from a string) or 'file' (rendering a file)
+ * @param string $resourceType either 'string' (rendering from a string) or 'file' (rendering a file)
* @param string $resourceContent the resource content (a text, or a template file name)
- * @param array $parameters an associative array of names / value pairs
+ * @param array $parameters an associative array of names / value pairs
*
* @return string the rendered template text
*/
@@ -215,8 +211,8 @@ class SmartyParser extends Smarty implements ParserInterface
/**
* Return a rendered template file
*
- * @param string $realTemplateName the template name (from the template directory)
- * @param array $parameters an associative array of names / value pairs
+ * @param string $realTemplateName the template name (from the template directory)
+ * @param array $parameters an associative array of names / value pairs
* @return string the rendered template text
*/
public function render($realTemplateName, array $parameters = array())
@@ -231,8 +227,8 @@ class SmartyParser extends Smarty implements ParserInterface
/**
* Return a rendered template text
*
- * @param string $templateText the template text
- * @param array $parameters an associative array of names / value pairs
+ * @param string $templateText the template text
+ * @param array $parameters an associative array of names / value pairs
* @return string the rendered template text
*/
public function renderString($templateText, array $parameters = array())
@@ -298,4 +294,4 @@ class SmartyParser extends Smarty implements ParserInterface
}
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Core/Template/TemplateDefinition.php b/core/lib/Thelia/Core/Template/TemplateDefinition.php
index 7a4d1685c..28ac17866 100644
--- a/core/lib/Thelia/Core/Template/TemplateDefinition.php
+++ b/core/lib/Thelia/Core/Template/TemplateDefinition.php
@@ -57,13 +57,12 @@ class TemplateDefinition
*/
protected $type;
-
public function __construct($name, $type)
{
$this->name = $name;
$this->type = $type;
- switch($type) {
+ switch ($type) {
case TemplateDefinition::FRONT_OFFICE:
$this->path = self::FRONT_OFFICE_SUBDIR . $name;
break;
@@ -90,14 +89,17 @@ class TemplateDefinition
public function setName($name)
{
$this->name = $name;
+
return $this;
}
- public function getI18nPath() {
+ public function getI18nPath()
+ {
return $this->getPath() . DS . 'I18n';
}
- public function getAbsoluteI18nPath() {
+ public function getAbsoluteI18nPath()
+ {
return THELIA_TEMPLATE_DIR . $this->getI18nPath();
}
@@ -106,7 +108,8 @@ class TemplateDefinition
return $this->path;
}
- public function getAbsolutePath() {
+ public function getAbsolutePath()
+ {
return THELIA_TEMPLATE_DIR . $this->getPath();
}
@@ -115,13 +118,15 @@ class TemplateDefinition
return $this->getPath() . DS . 'configs';
}
- public function getAbsoluteConfigPath() {
+ public function getAbsoluteConfigPath()
+ {
return THELIA_TEMPLATE_DIR . $this->getConfigPath();
}
public function setPath($path)
{
$this->path = $path;
+
return $this;
}
@@ -133,13 +138,15 @@ class TemplateDefinition
public function setType($type)
{
$this->type = $type;
+
return $this;
}
/**
* Returns an iterator on the standard templates subdir names
*/
- public static function getStandardTemplatesSubdirsIterator() {
+ public static function getStandardTemplatesSubdirsIterator()
+ {
return new \ArrayIterator(self::$standardTemplatesSubdirs);
}
}
diff --git a/core/lib/Thelia/Core/Template/TemplateHelper.php b/core/lib/Thelia/Core/Template/TemplateHelper.php
index 000a5bfd5..a95d7b899 100644
--- a/core/lib/Thelia/Core/Template/TemplateHelper.php
+++ b/core/lib/Thelia/Core/Template/TemplateHelper.php
@@ -93,7 +93,8 @@ class TemplateHelper
/**
* Returns an array which contains all standard template definitions
*/
- public function getStandardTemplateDefinitions() {
+ public function getStandardTemplateDefinitions()
+ {
return array(
$this->getActiveFrontTemplate(),
$this->getActiveAdminTemplate(),
@@ -105,16 +106,16 @@ class TemplateHelper
/**
* Return a list of existing templates for a given template type
*
- * @param int $templateType the template type
- * @return An array of \Thelia\Core\Template\TemplateDefinition
+ * @param int $templateType the template type
+ * @return An array of \Thelia\Core\Template\TemplateDefinition
*/
- public function getList($templateType) {
-
+ public function getList($templateType)
+ {
$list = $exclude = array();
$tplIterator = TemplateDefinition::getStandardTemplatesSubdirsIterator();
- foreach($tplIterator as $type => $subdir) {
+ foreach ($tplIterator as $type => $subdir) {
if ($templateType == $type) {
diff --git a/core/lib/Thelia/Core/Thelia.php b/core/lib/Thelia/Core/Thelia.php
index 7a1d96750..844eb3d29 100755
--- a/core/lib/Thelia/Core/Thelia.php
+++ b/core/lib/Thelia/Core/Thelia.php
@@ -49,7 +49,6 @@ use Thelia\Config\DefinePropel;
use Thelia\Core\Template\TemplateDefinition;
use Thelia\Core\TheliaContainerBuilder;
use Thelia\Core\DependencyInjection\Loader\XmlFileLoader;
-use Thelia\Model\ConfigQuery;
use Symfony\Component\Config\FileLocator;
use Propel\Runtime\Propel;
@@ -110,12 +109,13 @@ class Thelia extends Kernel
* Add all module's standard templates to the parser environment
*
* @param TheliaParser $parser the parser
- * @param Module $module the Module.
+ * @param Module $module the Module.
*/
- protected function addStandardModuleTemplatesToParserEnvironment($parser, $module) {
+ protected function addStandardModuleTemplatesToParserEnvironment($parser, $module)
+ {
$stdTpls = TemplateDefinition::getStandardTemplatesSubdirsIterator();
- foreach($stdTpls as $templateType => $templateSubdirName) {
+ foreach ($stdTpls as $templateType => $templateSubdirName) {
$this->addModuleTemplateToParserEnvironment($parser, $module, $templateType, $templateSubdirName);
}
}
@@ -123,13 +123,13 @@ class Thelia extends Kernel
/**
* Add a module template directory to the parser environment
*
- * @param TheliaParser $parser the parser
- * @param Module $module the Module.
- * @param string $templateType the template type (one of the TemplateDefinition type constants)
- * @param string $templateSubdirName the template subdirectory name (one of the TemplateDefinition::XXX_SUBDIR constants)
+ * @param TheliaParser $parser the parser
+ * @param Module $module the Module.
+ * @param string $templateType the template type (one of the TemplateDefinition type constants)
+ * @param string $templateSubdirName the template subdirectory name (one of the TemplateDefinition::XXX_SUBDIR constants)
*/
- protected function addModuleTemplateToParserEnvironment($parser, $module, $templateType, $templateSubdirName) {
-
+ protected function addModuleTemplateToParserEnvironment($parser, $module, $templateType, $templateSubdirName)
+ {
// Get template path
$templateDirectory = $module->getAbsoluteTemplateDirectoryPath($templateSubdirName);
@@ -155,8 +155,7 @@ class Thelia extends Kernel
);
}
}
- }
- catch (\UnexpectedValueException $ex) {
+ } catch (\UnexpectedValueException $ex) {
// The directory does not exists, ignore it.
}
}
@@ -176,7 +175,7 @@ class Thelia extends Kernel
->depth(0)
->in(THELIA_ROOT . "/core/lib/Thelia/Config/Resources");
- foreach($finder as $file) {
+ foreach ($finder as $file) {
$loader->load($file->getBaseName());
}
@@ -219,7 +218,7 @@ class Thelia extends Kernel
// Standard templates (front, back, pdf, mail)
$th = TemplateHelper::getInstance();
- foreach($th->getStandardTemplateDefinitions() as $templateDefinition) {
+ foreach ($th->getStandardTemplateDefinitions() as $templateDefinition) {
if (is_dir($dir = $templateDefinition->getAbsoluteI18nPath())) {
$translationDirs[] = $dir;
}
@@ -370,4 +369,4 @@ class Thelia extends Kernel
//Nothing is load here but it's possible to load container configuration here.
//exemple in sf2 : $loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Coupon/BaseFacade.php b/core/lib/Thelia/Coupon/BaseFacade.php
index 3df562333..d1f1d22a6 100644
--- a/core/lib/Thelia/Coupon/BaseFacade.php
+++ b/core/lib/Thelia/Coupon/BaseFacade.php
@@ -57,9 +57,9 @@ class BaseFacade implements FacadeInterface
/**
* Constructor
*
- * @param ContainerInterface $container Service container
+ * @param ContainerInterface $container Service container
*/
- function __construct(ContainerInterface $container)
+ public function __construct(ContainerInterface $container)
{
$this->container = $container;
}
@@ -135,7 +135,6 @@ class BaseFacade implements FacadeInterface
return $this->getRequest()->getSession()->getCurrency()->getCode();
}
-
/**
* Return the number of Products in the Cart
*
@@ -202,7 +201,6 @@ class BaseFacade implements FacadeInterface
return $this->container->get('thelia.translator');
}
-
/**
* Return the main currency
* THe one used to set prices in BackOffice
@@ -234,7 +232,6 @@ class BaseFacade implements FacadeInterface
return $this->container->get('thelia.condition.validator');
}
-
/**
* Return all available currencies
*
diff --git a/core/lib/Thelia/Coupon/CouponFactory.php b/core/lib/Thelia/Coupon/CouponFactory.php
index e34ee9263..69eb75162 100644
--- a/core/lib/Thelia/Coupon/CouponFactory.php
+++ b/core/lib/Thelia/Coupon/CouponFactory.php
@@ -63,7 +63,7 @@ class CouponFactory
*
* @throws \Thelia\Exception\CouponExpiredException
* @throws \Thelia\Exception\InvalidConditionException
- * @return CouponInterface ready to be processed
+ * @return CouponInterface ready to be processed
*/
public function buildCouponFromCode($couponCode)
{
@@ -132,6 +132,4 @@ class CouponFactory
return clone $couponManager;
}
-
-
}
diff --git a/core/lib/Thelia/Coupon/CouponManager.php b/core/lib/Thelia/Coupon/CouponManager.php
index 22488559e..92fc8e572 100644
--- a/core/lib/Thelia/Coupon/CouponManager.php
+++ b/core/lib/Thelia/Coupon/CouponManager.php
@@ -43,9 +43,6 @@ class CouponManager
/** @var ContainerInterface Service Container */
protected $container = null;
- /** @var array CouponInterface to process*/
- protected $coupons = array();
-
/** @var array Available Coupons (Services) */
protected $availableCoupons = array();
@@ -61,10 +58,8 @@ class CouponManager
{
$this->container = $container;
$this->facade = $container->get('thelia.facade');
- $this->coupons = $this->facade->getCurrentCoupons();
}
-
/**
* Get Discount for the given Coupons
*
@@ -74,9 +69,9 @@ class CouponManager
public function getDiscount()
{
$discount = 0.00;
-
- if (count($this->coupons) > 0) {
- $couponsKept = $this->sortCoupons($this->coupons);
+ $coupons = $this->facade->getCurrentCoupons();
+ if (count($coupons) > 0) {
+ $couponsKept = $this->sortCoupons($coupons);
$discount = $this->getEffect($couponsKept);
@@ -96,11 +91,12 @@ class CouponManager
*/
public function isCouponRemovingPostage()
{
- if (count($this->coupons) == 0) {
+ $coupons = $this->facade->getCurrentCoupons();
+ if (count($coupons) == 0) {
return false;
}
- $couponsKept = $this->sortCoupons($this->coupons);
+ $couponsKept = $this->sortCoupons($coupons);
/** @var CouponInterface $coupon */
foreach ($couponsKept as $coupon) {
@@ -244,10 +240,10 @@ class CouponManager
$ret = $usageLeft;
}
- } catch(\Exception $e) {
+ } catch (\Exception $e) {
$ret = false;
}
return $ret;
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Coupon/FacadeInterface.php b/core/lib/Thelia/Coupon/FacadeInterface.php
index 2b78a49d6..9e93115d0 100644
--- a/core/lib/Thelia/Coupon/FacadeInterface.php
+++ b/core/lib/Thelia/Coupon/FacadeInterface.php
@@ -43,9 +43,9 @@ interface FacadeInterface
/**
* Constructor
*
- * @param ContainerInterface $container Service container
+ * @param ContainerInterface $container Service container
*/
- function __construct(ContainerInterface $container);
+ public function __construct(ContainerInterface $container);
/**
* Return a Cart a CouponManager can process
@@ -170,4 +170,4 @@ interface FacadeInterface
*/
public function getDispatcher();
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Coupon/Type/CouponAbstract.php b/core/lib/Thelia/Coupon/Type/CouponAbstract.php
index 5e83afb85..ac4893478 100644
--- a/core/lib/Thelia/Coupon/Type/CouponAbstract.php
+++ b/core/lib/Thelia/Coupon/Type/CouponAbstract.php
@@ -23,7 +23,6 @@
namespace Thelia\Coupon\Type;
-use Symfony\Component\Intl\Exception\NotImplementedException;
use Thelia\Condition\ConditionEvaluator;
use Thelia\Core\Translation\Translator;
use Thelia\Coupon\FacadeInterface;
@@ -62,7 +61,6 @@ abstract class CouponAbstract implements CouponInterface
/** @var ConditionEvaluator Condition validator */
protected $conditionEvaluator = null;
-
/** @var string Service Id */
protected $serviceId = null;
@@ -75,8 +73,6 @@ abstract class CouponAbstract implements CouponInterface
/** @var string Coupon code (ex: XMAS) */
protected $code = null;
-
-
/** @var string Coupon title (ex: Coupon for XMAS) */
protected $title = null;
@@ -86,8 +82,6 @@ abstract class CouponAbstract implements CouponInterface
/** @var string Coupon description */
protected $description = null;
-
-
/** @var bool if Coupon is enabled */
protected $isEnabled = false;
@@ -106,7 +100,6 @@ abstract class CouponAbstract implements CouponInterface
/** @var bool if Coupon is available for Products already on special offers */
protected $isAvailableOnSpecialOffers = false;
-
/**
* Constructor
*
@@ -146,9 +139,9 @@ abstract class CouponAbstract implements CouponInterface
* @param bool $isRemovingPostage If Coupon is removing postage
* @param bool $isAvailableOnSpecialOffers If available on Product already
* on special offer price
- * @param bool $isEnabled False if Coupon is disabled by admin
- * @param int $maxUsage How many usage left
- * @param \Datetime $expirationDate When the Code is expiring
+ * @param bool $isEnabled False if Coupon is disabled by admin
+ * @param int $maxUsage How many usage left
+ * @param \Datetime $expirationDate When the Code is expiring
*
* @return $this
*/
@@ -355,7 +348,6 @@ abstract class CouponAbstract implements CouponInterface
return $this->serviceId;
}
-
/**
* Check if the current state of the application is matching this Coupon conditions
* Thelia variables are given by the FacadeInterface
@@ -398,5 +390,4 @@ abstract class CouponAbstract implements CouponInterface
return $this->extendedInputs;
}
-
}
diff --git a/core/lib/Thelia/Coupon/Type/CouponInterface.php b/core/lib/Thelia/Coupon/Type/CouponInterface.php
index a45d6cbab..7f58d282c 100644
--- a/core/lib/Thelia/Coupon/Type/CouponInterface.php
+++ b/core/lib/Thelia/Coupon/Type/CouponInterface.php
@@ -76,9 +76,9 @@ interface CouponInterface
* @param bool $isRemovingPostage If Coupon is removing postage
* @param bool $isAvailableOnSpecialOffers If available on Product already
* on special offer price
- * @param bool $isEnabled False if Coupon is disabled by admin
- * @param int $maxUsage How many usage left
- * @param \Datetime $expirationDate When the Code is expiring
+ * @param bool $isEnabled False if Coupon is disabled by admin
+ * @param int $maxUsage How many usage left
+ * @param \Datetime $expirationDate When the Code is expiring
*/
public function set(
FacadeInterface $facade,
@@ -138,8 +138,6 @@ interface CouponInterface
*/
public function isRemovingPostage();
-
-
/**
* Return condition to validate the Coupon or not
*
@@ -173,7 +171,6 @@ interface CouponInterface
*/
public function isAvailableOnSpecialOffers();
-
/**
* Check if Coupon has been disabled by admin
*
@@ -196,7 +193,6 @@ interface CouponInterface
*/
public function isExpired();
-
/**
* Return effects generated by the coupon
* A positive value
diff --git a/core/lib/Thelia/Coupon/Type/RemoveXPercent.php b/core/lib/Thelia/Coupon/Type/RemoveXPercent.php
index 7d83de333..b6c13df1a 100644
--- a/core/lib/Thelia/Coupon/Type/RemoveXPercent.php
+++ b/core/lib/Thelia/Coupon/Type/RemoveXPercent.php
@@ -60,9 +60,9 @@ class RemoveXPercent extends CouponAbstract
* @param bool $isRemovingPostage If Coupon is removing postage
* @param bool $isAvailableOnSpecialOffers If available on Product already
* on special offer price
- * @param bool $isEnabled False if Coupon is disabled by admin
- * @param int $maxUsage How many usage left
- * @param \Datetime $expirationDate When the Code is expiring
+ * @param bool $isEnabled False if Coupon is disabled by admin
+ * @param int $maxUsage How many usage left
+ * @param \Datetime $expirationDate When the Code is expiring
*
* @return $this
*/
@@ -110,7 +110,6 @@ class RemoveXPercent extends CouponAbstract
return $basePrice * (( $this->percentage ) / 100);
}
-
/**
* Get I18n name
*
@@ -174,4 +173,4 @@ class RemoveXPercent extends CouponAbstract
return $html;
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Form/MailingSystemModificationForm.php b/core/lib/Thelia/Form/MailingSystemModificationForm.php
index 709c19144..144037a50 100644
--- a/core/lib/Thelia/Form/MailingSystemModificationForm.php
+++ b/core/lib/Thelia/Form/MailingSystemModificationForm.php
@@ -22,7 +22,6 @@
/*************************************************************************************/
namespace Thelia\Form;
-use Symfony\Component\Validator\Constraints;
use Symfony\Component\Validator\ExecutionContextInterface;
use Thelia\Core\Translation\Translator;
use Thelia\Model\ProfileQuery;
diff --git a/core/lib/Thelia/Install/BaseInstall.php b/core/lib/Thelia/Install/BaseInstall.php
index aa41140dd..2e602b1b6 100644
--- a/core/lib/Thelia/Install/BaseInstall.php
+++ b/core/lib/Thelia/Install/BaseInstall.php
@@ -53,9 +53,8 @@ abstract class BaseInstall
throw new AlreadyInstallException("Thelia is already installed");
}
-
$this->exec();
}
abstract public function exec();
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Install/CheckDatabaseConnection.php b/core/lib/Thelia/Install/CheckDatabaseConnection.php
index c9c2060f5..4a6d4a33b 100644
--- a/core/lib/Thelia/Install/CheckDatabaseConnection.php
+++ b/core/lib/Thelia/Install/CheckDatabaseConnection.php
@@ -24,12 +24,8 @@
namespace Thelia\Install;
use PDO;
-use RecursiveDirectoryIterator;
-use RecursiveIteratorIterator;
use Symfony\Component\Translation\TranslatorInterface;
use Thelia\Core\Translation\Translator;
-use Thelia\Install\Exception\InstallException;
-
/**
* Class CheckDatabaseConnection
diff --git a/core/lib/Thelia/Install/CheckPermission.php b/core/lib/Thelia/Install/CheckPermission.php
index efdaf6f04..38b6049dc 100644
--- a/core/lib/Thelia/Install/CheckPermission.php
+++ b/core/lib/Thelia/Install/CheckPermission.php
@@ -28,7 +28,6 @@ use RecursiveIteratorIterator;
use Symfony\Component\Translation\TranslatorInterface;
use Thelia\Core\Translation\Translator;
-
/**
* Class CheckPermission
*
@@ -164,9 +163,6 @@ class CheckPermission extends BaseInstall
}
}
-
-
-
return $this->isValid;
}
@@ -200,7 +196,6 @@ class CheckPermission extends BaseInstall
return (is_writable(THELIA_ROOT . $directory) === true);
}
-
/**
* Get Translated text about the directory state
*
@@ -269,7 +264,6 @@ class CheckPermission extends BaseInstall
return $translatedText;
}
-
/**
* Get Translated text about the directory state
* Not usable with CLI
@@ -382,7 +376,7 @@ class CheckPermission extends BaseInstall
{
$serverValueInBytes = $this->returnBytes(ini_get($key));
- if($serverValueInBytes == -1) {
+ if ($serverValueInBytes == -1) {
return true;
}
@@ -400,7 +394,7 @@ class CheckPermission extends BaseInstall
{
$val = trim($val);
$last = strtolower($val[strlen($val)-1]);
- switch($last) {
+ switch ($last) {
// The 'G' modifier is available since PHP 5.1.0
case 'g':
$val *= 1024;
diff --git a/core/lib/Thelia/Install/Database.php b/core/lib/Thelia/Install/Database.php
index d17bd7c3d..4fad6d4a2 100644
--- a/core/lib/Thelia/Install/Database.php
+++ b/core/lib/Thelia/Install/Database.php
@@ -23,7 +23,6 @@
namespace Thelia\Install;
-
/**
* Class Database
* @package Thelia\Install
@@ -112,4 +111,4 @@ class Database
)
);
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Install/Exception/AlreadyInstallException.php b/core/lib/Thelia/Install/Exception/AlreadyInstallException.php
index 1409c7cdd..b2ff1555e 100644
--- a/core/lib/Thelia/Install/Exception/AlreadyInstallException.php
+++ b/core/lib/Thelia/Install/Exception/AlreadyInstallException.php
@@ -23,7 +23,6 @@
namespace Thelia\Install\Exception;
-
/**
* Class AlreadyInstallException
* @package Thelia\Install\Exception
@@ -32,4 +31,4 @@ namespace Thelia\Install\Exception;
class AlreadyInstallException extends InstallException
{
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Install/Exception/InstallException.php b/core/lib/Thelia/Install/Exception/InstallException.php
index 6924bcfe5..2d0f45fe4 100644
--- a/core/lib/Thelia/Install/Exception/InstallException.php
+++ b/core/lib/Thelia/Install/Exception/InstallException.php
@@ -29,4 +29,4 @@ namespace Thelia\Install\Exception;
class InstallException extends \RuntimeException
{
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Install/Exception/UpToDateException.php b/core/lib/Thelia/Install/Exception/UpToDateException.php
index 45db7eb5a..e7401fe88 100644
--- a/core/lib/Thelia/Install/Exception/UpToDateException.php
+++ b/core/lib/Thelia/Install/Exception/UpToDateException.php
@@ -23,7 +23,6 @@
namespace Thelia\Install\Exception;
-
/**
* Class UpToDateException
* @package Thelia\Install\Exception
@@ -32,4 +31,4 @@ namespace Thelia\Install\Exception;
class UpToDateException extends InstallException
{
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Install/Update.php b/core/lib/Thelia/Install/Update.php
index 0a1011aec..923c8f1ab 100644
--- a/core/lib/Thelia/Install/Update.php
+++ b/core/lib/Thelia/Install/Update.php
@@ -29,13 +29,12 @@ use Thelia\Log\Tlog;
use Thelia\Model\ConfigQuery;
use Thelia\Model\Map\ProductTableMap;
-
/**
* Class Update
* @package Thelia\Install
* @author Manuel Raynaud
*/
-class Update
+class Update
{
protected static $version = array(
'0' => '2.0.0-beta1',
@@ -61,7 +60,7 @@ class Update
$currentVersion = ConfigQuery::read('thelia_version');
$logger->debug("start update process");
- if(true === $this->isLatestVersion($currentVersion)) {
+ if (true === $this->isLatestVersion($currentVersion)) {
$logger->debug("You already have the latest version. No update available");
throw new UpToDateException('You already have the latest version. No update available');
}
@@ -78,7 +77,7 @@ class Update
}
$con->commit();
$logger->debug('update successfully');
- } catch(PropelException $e) {
+ } catch (PropelException $e) {
$con->rollBack();
$logger->error(sprintf('error during update process with message : %s', $e->getMessage()));
throw $e;
@@ -99,4 +98,4 @@ class Update
ConfigQuery::write('thelia_version', $version);
}
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Mailer/MailerFactory.php b/core/lib/Thelia/Mailer/MailerFactory.php
index e4fee490e..00cb2cb32 100644
--- a/core/lib/Thelia/Mailer/MailerFactory.php
+++ b/core/lib/Thelia/Mailer/MailerFactory.php
@@ -27,13 +27,13 @@ use Thelia\Core\Event\MailTransporterEvent;
use Thelia\Core\Event\TheliaEvents;
use Thelia\Model\ConfigQuery;
-
/**
* Class MailerFactory
* @package Thelia\Mailer
* @author Manuel Raynaud
*/
-class MailerFactory {
+class MailerFactory
+{
/**
* @var \Swift_Mailer
*/
@@ -49,7 +49,7 @@ class MailerFactory {
$transporterEvent = new MailTransporterEvent();
$this->dispatcher->dispatch(TheliaEvents::MAILTRANSPORTER_CONFIG, $transporterEvent);
- if($transporterEvent->hasTransporter()) {
+ if ($transporterEvent->hasTransporter()) {
$transporter = $transporterEvent->getTransporter();
} else {
if (ConfigQuery::isSmtpEnable()) {
@@ -74,6 +74,7 @@ class MailerFactory {
->setTimeout(ConfigQuery::getSmtpTimeout())
->setSourceIp(ConfigQuery::getSmtpSourceIp())
;
+
return $smtpTransporter;
}
@@ -87,5 +88,4 @@ class MailerFactory {
return $this->swiftMailer;
}
-
-}
\ No newline at end of file
+}
diff --git a/core/lib/Thelia/Rewriting/RewritingResolver.php b/core/lib/Thelia/Rewriting/RewritingResolver.php
index 8edd0ebba..91be66b55 100755
--- a/core/lib/Thelia/Rewriting/RewritingResolver.php
+++ b/core/lib/Thelia/Rewriting/RewritingResolver.php
@@ -22,12 +22,8 @@
/*************************************************************************************/
namespace Thelia\Rewriting;
-use Propel\Runtime\ActiveQuery\Criteria;
-use Propel\Runtime\ActiveQuery\Join;
-use Thelia\Exception\RewritingUrlException;
use Thelia\Exception\UrlRewritingException;
use Thelia\Model\RewritingUrlQuery;
-use Thelia\Model\Map\RewritingUrlTableMap;
/**
* Class RewritingResolver
@@ -51,7 +47,7 @@ class RewritingResolver
{
$this->rewritingUrlQuery = new RewritingUrlQuery();
- if($url !== null) {
+ if ($url !== null) {
$this->load($url);
}
}
@@ -62,7 +58,7 @@ class RewritingResolver
$rewrittenUrl = urldecode($rewrittenUrl);
$this->search = $this->rewritingUrlQuery->getResolverSearch($rewrittenUrl);
- if($this->search->count() == 0) {
+ if ($this->search->count() == 0) {
throw new UrlRewritingException('URL NOT FOUND', UrlRewritingException::URL_NOT_FOUND);
}
@@ -76,16 +72,16 @@ class RewritingResolver
protected function getOtherParameters()
{
- if($this->search === null) {
+ if ($this->search === null) {
throw new UrlRewritingException('RESOLVER NULL SEARCH', UrlRewritingException::RESOLVER_NULL_SEARCH);
}
$otherParameters = array();
- foreach($this->search as $result) {
+ foreach ($this->search as $result) {
$parameter = $result->getParameter();
$value = $result->getValue();
- if(null !== $parameter) {
+ if (null !== $parameter) {
$otherParameters[$parameter] = $value;
}
}
@@ -93,5 +89,4 @@ class RewritingResolver
return $otherParameters;
}
-
}
diff --git a/core/lib/Thelia/Rewriting/RewritingRetriever.php b/core/lib/Thelia/Rewriting/RewritingRetriever.php
index ce6ada8e7..cfff07914 100755
--- a/core/lib/Thelia/Rewriting/RewritingRetriever.php
+++ b/core/lib/Thelia/Rewriting/RewritingRetriever.php
@@ -22,9 +22,7 @@
/*************************************************************************************/
namespace Thelia\Rewriting;
-use Propel\Runtime\ActiveQuery\Criteria;
use Thelia\Model\RewritingUrlQuery;
-use Thelia\Model\Map\RewritingUrlTableMap;
use Thelia\Tools\URL;
/**
@@ -46,7 +44,7 @@ class RewritingRetriever
{
$this->rewritingUrlQuery = new RewritingUrlQuery();
- if($view !== null && $viewLocale !== null) {
+ if ($view !== null && $viewLocale !== null) {
$this->load($view, $viewLocale, $viewId);
}
}
@@ -61,16 +59,16 @@ class RewritingRetriever
$this->search = $this->rewritingUrlQuery->getViewUrlQuery($view, $viewLocale, $viewId);
$allParametersWithoutView = array();
- if(null !== $viewId) {
+ if (null !== $viewId) {
$allParametersWithoutView['locale'] = $viewLocale;
}
- if(null !== $viewId) {
+ if (null !== $viewId) {
$allParametersWithoutView[$view . '_id'] = $viewId;
}
$this->rewrittenUrl = null;
$this->url = URL::getInstance()->viewUrl($view, $allParametersWithoutView);
- if($this->search !== null) {
+ if ($this->search !== null) {
$this->rewrittenUrl = URL::getInstance()->absoluteUrl(
$this->search->getUrl()
);
@@ -85,8 +83,9 @@ class RewritingRetriever
*/
public function loadSpecificUrl($view, $viewLocale, $viewId = null, $viewOtherParameters = array())
{
- if(empty($viewOtherParameters)) {
+ if (empty($viewOtherParameters)) {
$this->loadViewUrl($view, $viewLocale, $viewId);
+
return;
}
@@ -94,13 +93,13 @@ class RewritingRetriever
$allParametersWithoutView = $viewOtherParameters;
$allParametersWithoutView['locale'] = $viewLocale;
- if(null !== $viewId) {
+ if (null !== $viewId) {
$allParametersWithoutView[$view . '_id'] = $viewId;
}
$this->rewrittenUrl = null;
$this->url = URL::getInstance()->viewUrl($view, $allParametersWithoutView);
- if($this->search !== null) {
+ if ($this->search !== null) {
$this->rewrittenUrl = $this->search->getUrl();
}
}
diff --git a/core/lib/Thelia/TaxEngine/Calculator.php b/core/lib/Thelia/TaxEngine/Calculator.php
index a067f200d..c0f01ea1e 100755
--- a/core/lib/Thelia/TaxEngine/Calculator.php
+++ b/core/lib/Thelia/TaxEngine/Calculator.php
@@ -61,10 +61,10 @@ class Calculator
$this->country = null;
$this->taxRulesCollection = null;
- if($product->getId() === null) {
+ if ($product->getId() === null) {
throw new TaxEngineException('Product id is empty in Calculator::load', TaxEngineException::UNDEFINED_PRODUCT);
}
- if($country->getId() === null) {
+ if ($country->getId() === null) {
throw new TaxEngineException('Country id is empty in Calculator::load', TaxEngineException::UNDEFINED_COUNTRY);
}
@@ -82,13 +82,13 @@ class Calculator
$this->country = null;
$this->taxRulesCollection = null;
- if($taxRule->getId() === null) {
+ if ($taxRule->getId() === null) {
throw new TaxEngineException('TaxRule id is empty in Calculator::loadTaxRule', TaxEngineException::UNDEFINED_TAX_RULE);
}
- if($country->getId() === null) {
+ if ($country->getId() === null) {
throw new TaxEngineException('Country id is empty in Calculator::loadTaxRule', TaxEngineException::UNDEFINED_COUNTRY);
}
- if($product->getId() === null) {
+ if ($product->getId() === null) {
throw new TaxEngineException('Product id is empty in Calculator::load', TaxEngineException::UNDEFINED_PRODUCT);
}
@@ -120,15 +120,15 @@ class Calculator
*/
public function getTaxedPrice($untaxedPrice, &$taxCollection = null, $askedLocale = null)
{
- if(null === $this->taxRulesCollection) {
+ if (null === $this->taxRulesCollection) {
throw new TaxEngineException('Tax rules collection is empty in Calculator::getTaxedPrice', TaxEngineException::UNDEFINED_TAX_RULES_COLLECTION);
}
- if(null === $this->product) {
+ if (null === $this->product) {
throw new TaxEngineException('Product is empty in Calculator::getTaxedPrice', TaxEngineException::UNDEFINED_PRODUCT);
}
- if(false === filter_var($untaxedPrice, FILTER_VALIDATE_FLOAT)) {
+ if (false === filter_var($untaxedPrice, FILTER_VALIDATE_FLOAT)) {
throw new TaxEngineException('BAD AMOUNT FORMAT', TaxEngineException::BAD_AMOUNT_FORMAT);
}
@@ -136,16 +136,16 @@ class Calculator
$currentPosition = 1;
$currentTax = 0;
- if(null !== $taxCollection) {
+ if (null !== $taxCollection) {
$taxCollection = new OrderProductTaxCollection();
}
- foreach($this->taxRulesCollection as $taxRule) {
- $position = (int)$taxRule->getTaxRuleCountryPosition();
+ foreach ($this->taxRulesCollection as $taxRule) {
+ $position = (int) $taxRule->getTaxRuleCountryPosition();
$taxType = $taxRule->getTypeInstance();
$taxType->loadRequirements( $taxRule->getRequirements() );
- if($currentPosition !== $position) {
+ if ($currentPosition !== $position) {
$taxedPrice += $currentTax;
$currentTax = 0;
$currentPosition = $position;
@@ -154,7 +154,7 @@ class Calculator
$taxAmount = round($taxType->calculate($this->product, $taxedPrice), 2);
$currentTax += $taxAmount;
- if(null !== $taxCollection) {
+ if (null !== $taxCollection) {
$taxI18n = I18n::forceI18nRetrieving($askedLocale, 'Tax', $taxRule->getId());
$orderProductTax = new OrderProductTax();
$orderProductTax->setTitle($taxI18n->getTitle());
@@ -171,36 +171,36 @@ class Calculator
public function getUntaxedPrice($taxedPrice)
{
- if(null === $this->taxRulesCollection) {
+ if (null === $this->taxRulesCollection) {
throw new TaxEngineException('Tax rules collection is empty in Calculator::getTaxAmount', TaxEngineException::UNDEFINED_TAX_RULES_COLLECTION);
}
- if(null === $this->product) {
+ if (null === $this->product) {
throw new TaxEngineException('Product is empty in Calculator::getTaxedPrice', TaxEngineException::UNDEFINED_PRODUCT);
}
- if(false === filter_var($taxedPrice, FILTER_VALIDATE_FLOAT)) {
+ if (false === filter_var($taxedPrice, FILTER_VALIDATE_FLOAT)) {
throw new TaxEngineException('BAD AMOUNT FORMAT', TaxEngineException::BAD_AMOUNT_FORMAT);
}
$taxRule = $this->taxRulesCollection->getLast();
- if(null === $taxRule) {
+ if (null === $taxRule) {
throw new TaxEngineException('Tax rules collection got no tax ', TaxEngineException::NO_TAX_IN_TAX_RULES_COLLECTION);
}
$untaxedPrice = $taxedPrice;
- $currentPosition = (int)$taxRule->getTaxRuleCountryPosition();
+ $currentPosition = (int) $taxRule->getTaxRuleCountryPosition();
$currentFixTax = 0;
$currentTaxFactor = 0;
do {
- $position = (int)$taxRule->getTaxRuleCountryPosition();
+ $position = (int) $taxRule->getTaxRuleCountryPosition();
$taxType = $taxRule->getTypeInstance();
$taxType->loadRequirements( $taxRule->getRequirements() );
- if($currentPosition !== $position) {
+ if ($currentPosition !== $position) {
$untaxedPrice -= $currentFixTax;
$untaxedPrice = $untaxedPrice / (1+$currentTaxFactor);
$currentFixTax = 0;
@@ -211,8 +211,7 @@ class Calculator
$currentFixTax += $taxType->fixAmountRetriever($this->product);
$currentTaxFactor += $taxType->pricePercentRetriever();
-
- } while($taxRule = $this->taxRulesCollection->getPrevious());
+ } while ($taxRule = $this->taxRulesCollection->getPrevious());
$untaxedPrice -= $currentFixTax;
$untaxedPrice = $untaxedPrice / (1+$currentTaxFactor);
@@ -224,7 +223,7 @@ class Calculator
$untaxedPrice -= $taxType->fixAmountRetriever();
- } while($taxRule = $this->taxRulesCollection->getPrevious());
+ } while ($taxRule = $this->taxRulesCollection->getPrevious());
$taxRule = $this->taxRulesCollection->getLast();
@@ -238,7 +237,7 @@ class Calculator
$toto = true;
- } while($taxRule = $this->taxRulesCollection->getPrevious());
+ } while ($taxRule = $this->taxRulesCollection->getPrevious());
$untaxedPrice = $untaxedPrice / (1+$currentTaxFactor);*/
diff --git a/core/lib/Thelia/TaxEngine/TaxEngine.php b/core/lib/Thelia/TaxEngine/TaxEngine.php
index 36406dc59..f14db2205 100755
--- a/core/lib/Thelia/TaxEngine/TaxEngine.php
+++ b/core/lib/Thelia/TaxEngine/TaxEngine.php
@@ -42,13 +42,13 @@ class TaxEngine
*/
protected $session = null;
- static public function getInstance(Session $session = null)
+ public static function getInstance(Session $session = null)
{
- if(null === self::$instance) {
+ if (null === self::$instance) {
self::$instance = new TaxEngine();
}
- if(null !== self::$instance) {
+ if (null !== self::$instance) {
self::$instance->setSession($session);
}
@@ -85,7 +85,7 @@ class TaxEngine
$fileName = $directoryContent->getFilename();
$className = substr($fileName, 0, (1+strlen($directoryContent->getExtension())) * -1);
- if($className == "BaseTaxType") {
+ if ($className == "BaseTaxType") {
continue;
}
@@ -101,14 +101,14 @@ class TaxEngine
* Then look at the current customer default address country
* Else look at the default website country
*
- * @param bool $force result is static cached ; even if a below parameter change between 2 calls, we need to keep coherent results. but you can force it.
+ * @param bool $force result is static cached ; even if a below parameter change between 2 calls, we need to keep coherent results. but you can force it.
* @return null|TaxEngine
*/
public function getDeliveryCountry($force = false)
{
- if(false === $force || null === self::$taxCountry) {
+ if (false === $force || null === self::$taxCountry) {
/* is there a logged in customer ? */
- if(null !== $customer = $this->session->getCustomerUser()) {
+ if (null !== $customer = $this->session->getCustomerUser()) {
if (null !== $this->session->getOrder()
&& null !== $this->session->getOrder()->chosenDeliveryAddress
&& null !== $currentDeliveryAddress = AddressQuery::create()->findPk($this->session->getOrder()->chosenDeliveryAddress)) {
diff --git a/core/lib/Thelia/TaxEngine/TaxType/BaseTaxType.php b/core/lib/Thelia/TaxEngine/TaxType/BaseTaxType.php
index f8bdd8647..e5dd69a06 100755
--- a/core/lib/Thelia/TaxEngine/TaxType/BaseTaxType.php
+++ b/core/lib/Thelia/TaxEngine/TaxType/BaseTaxType.php
@@ -35,13 +35,13 @@ abstract class BaseTaxType
{
protected $requirements = null;
- public abstract function pricePercentRetriever();
+ abstract public function pricePercentRetriever();
- public abstract function fixAmountRetriever(Product $product);
+ abstract public function fixAmountRetriever(Product $product);
- public abstract function getRequirementsList();
+ abstract public function getRequirementsList();
- public abstract function getTitle();
+ abstract public function getTitle();
public function calculate(Product $product, $untaxedPrice)
{
@@ -52,20 +52,20 @@ abstract class BaseTaxType
{
$this->requirements = $this->getRequirementsList();
- if(!is_array($this->requirements)) {
+ if (!is_array($this->requirements)) {
throw new TaxEngineException('getRequirementsList must return an array', TaxEngineException::TAX_TYPE_BAD_ABSTRACT_METHOD);
}
- foreach($this->requirements as $requirement => $requirementType) {
- if(!$requirementType instanceof TypeInterface) {
+ foreach ($this->requirements as $requirement => $requirementType) {
+ if (!$requirementType instanceof TypeInterface) {
throw new TaxEngineException('getRequirementsList must return an array of TypeInterface', TaxEngineException::TAX_TYPE_BAD_ABSTRACT_METHOD);
}
- if(!array_key_exists($requirement, $requirementsValues)) {
+ if (!array_key_exists($requirement, $requirementsValues)) {
throw new TaxEngineException('Cannot load requirements : requirement value for `' . $requirement . '` not found', TaxEngineException::TAX_TYPE_REQUIREMENT_NOT_FOUND);
}
- if(!$requirementType->isValid($requirementsValues[$requirement])) {
+ if (!$requirementType->isValid($requirementsValues[$requirement])) {
throw new TaxEngineException('Requirement value for `' . $requirement . '` does not match required type', TaxEngineException::TAX_TYPE_BAD_REQUIREMENT_VALUE);
}
@@ -75,11 +75,11 @@ abstract class BaseTaxType
public function getRequirement($key)
{
- if($this->requirements === null) {
+ if ($this->requirements === null) {
throw new TaxEngineException('Requirements are empty in BaseTaxType::getRequirement', TaxEngineException::UNDEFINED_REQUIREMENTS);
}
- if(!array_key_exists($key, $this->requirements)) {
+ if (!array_key_exists($key, $this->requirements)) {
throw new TaxEngineException('Requirement value for `' . $key . '` does not exists in BaseTaxType::$requirements', TaxEngineException::UNDEFINED_REQUIREMENT_VALUE);
}
diff --git a/core/lib/Thelia/TaxEngine/TaxType/FeatureFixAmountTaxType.php b/core/lib/Thelia/TaxEngine/TaxType/FeatureFixAmountTaxType.php
index e623528c2..baae41055 100755
--- a/core/lib/Thelia/TaxEngine/TaxType/FeatureFixAmountTaxType.php
+++ b/core/lib/Thelia/TaxEngine/TaxType/FeatureFixAmountTaxType.php
@@ -52,7 +52,7 @@ class FeatureFixAmountTaxType extends BaseTaxType
$taxAmount = $query->getFreeTextValue();
$testInt = new FloatType();
- if(!$testInt->isValid($taxAmount)) {
+ if (!$testInt->isValid($taxAmount)) {
throw new TaxEngineException('Feature value does not match FLOAT format', TaxEngineException::FEATURE_BAD_EXPECTED_VALUE);
}
diff --git a/core/lib/Thelia/Tests/Coupon/CouponFactoryTest.php b/core/lib/Thelia/Tests/Coupon/CouponFactoryTest.php
index f4de7ee02..74d139c4e 100644
--- a/core/lib/Thelia/Tests/Coupon/CouponFactoryTest.php
+++ b/core/lib/Thelia/Tests/Coupon/CouponFactoryTest.php
@@ -406,7 +406,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
$couponManager = new RemoveXAmount($stubFacade);
-
$condition1 = new MatchForTotalAmount($stubFacade);
$operators = array(
MatchForTotalAmount::INPUT1 => Operators::SUPERIOR,
@@ -439,7 +438,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
->method('unserializeConditionCollection')
->will($this->returnValue($conditions));
-
$stubContainer->expects($this->any())
->method('get')
->will($this->onConsecutiveCalls($stubFacade, $couponManager, $stubConditionFactory));
diff --git a/install/insert.sql b/install/insert.sql
index c692ee994..86b26259b 100755
--- a/install/insert.sql
+++ b/install/insert.sql
@@ -1190,15 +1190,15 @@ INSERT INTO `country_i18n` (`id`, `locale`, `title`, `description`, `chapo`, `po
INSERT INTO `tax` (`id`, `type`, `serialized_requirements`, `created_at`, `updated_at`)
VALUES
- (1, 'PricePercentTaxType', 'eyJwZXJjZW50IjoxOS42fQ==', NOW(), NOW()),
- (2, 'PricePercentTaxType', 'eyJwZXJjZW50Ijo1LjV9', NOW(), NOW());
+ (1, 'PricePercentTaxType', 'eyJwZXJjZW50IjoiMjAifQ==', NOW(), NOW()),
+ (2, 'PricePercentTaxType', 'eyJwZXJjZW50IjoiMTAifQ==', NOW(), NOW());
INSERT INTO `tax_i18n` (`id`, `locale`, `title`)
VALUES
- (1, 'fr_FR', 'TVA française à 19.6%'),
- (1, 'en_US', 'French 19.6% VAT'),
- (2, 'fr_FR', 'TVA française à 5.5%'),
- (2, 'en_US', 'French 5.5% VAT');
+ (1, 'fr_FR', 'TVA française à 20%'),
+ (1, 'en_US', 'French 20% VAT'),
+ (2, 'fr_FR', 'TVA française à 10%'),
+ (2, 'en_US', 'French 10% VAT');
INSERT INTO `tax_rule` (`id`, `is_default`, `created_at`, `updated_at`)
VALUES
(1, 1, NOW(), NOW()),
@@ -1206,10 +1206,10 @@ INSERT INTO `tax_rule` (`id`, `is_default`, `created_at`, `updated_at`)
INSERT INTO `tax_rule_i18n` (`id`, `locale`, `title`)
VALUES
- (1, 'fr_FR', 'TVA française à 19.6%'),
- (1, 'en_US', 'French 19.6% VAT'),
- (2, 'fr_FR', 'TVA française à 5.5%'),
- (2, 'en_US', 'French 5.5% VAT');
+ (1, 'fr_FR', 'TVA française à 20%'),
+ (1, 'en_US', 'French 20% VAT'),
+ (2, 'fr_FR', 'TVA française à 10%'),
+ (2, 'en_US', 'French 10% VAT');
INSERT INTO `tax_rule_country` (`tax_rule_id`, `country_id`, `tax_id`, `position`, `created_at`, `updated_at`)
VALUES
diff --git a/templates/backOffice/default/I18n/en_US.php b/templates/backOffice/default/I18n/en_US.php
index c57410ab1..8663b8c48 100755
--- a/templates/backOffice/default/I18n/en_US.php
+++ b/templates/backOffice/default/I18n/en_US.php
@@ -1,723 +1,712 @@
'Thelia Back Office',
- 'Version %ver' => 'Version %ver',
- 'View site' => 'View site',
- 'View shop' => 'View shop',
- 'Profil' => 'Profile',
- 'Close administation session' => 'Close administation session',
- 'Logout' => 'Logout',
- 'Home' => 'Home',
- 'Customers' => 'Customers',
- 'Orders' => 'Orders',
- 'All orders' => 'All orders',
- 'Catalog' => 'Catalog',
- 'Folders' => 'Folders',
- 'Coupons' => 'Coupons',
- 'Configuration' => 'Configuration',
- 'Modules' => 'Modules',
- 'Search' => 'Search',
- 'Thelia, solution e-commerce libre' => 'Thelia, solution e-commerce libre',
- '© Thelia 2013' => '© Thelia 2013',
- 'Édité par OpenStudio' => 'Édité par OpenStudio',
- 'Forum Thelia' => 'Forum Thelia',
- 'Contributions Thelia' => 'Contributions Thelia',
- 'Thelia Mailing System' => 'Thelia Mailing System',
- 'Administration logs' => 'Administration logs',
- 'Show logs' => 'Show logs',
- 'Period' => 'Period',
- 'From' => 'From',
- 'To' => 'To',
- 'Administrators' => 'Administrators',
- 'Resources' => 'Resources',
- 'Taxes rules' => 'Taxes rules',
- 'Taxes' => 'Taxes',
- 'Create a new administrator' => 'Create a new administrator',
- 'Login' => 'Login',
- 'FirstName' => 'FirstName',
- 'LastName' => 'LastName',
- 'Profile' => 'Profile',
- 'Actions' => 'Actions',
- 'Superadministrator' => 'Superadministrator',
- 'Change this administrator' => 'Change this administrator',
- 'Password' => 'Password',
- 'Create' => 'Create',
- 'Cancel' => 'Cancel',
- 'Leave empty to keep current password' => 'Leave empty to keep current password',
- 'Update a new administrator' => 'Update a new administrator',
- 'Update' => 'Update',
- 'Delete administrator' => 'Delete administrator',
- 'Do you really want to delete this administrator ?' => 'Do you really want to delete this administrator ?',
- 'You can\'t delete this administrator' => 'You can\'t delete this administrator',
- 'They are some administrator which are linked to this administrator. Please edit/remove them before deleting this administrator.' => 'They are some administrator which are linked to this administrator. Please edit/remove them before deleting this administrator.',
- 'Label' => 'Label',
- 'Company' => 'Company',
- 'Firstname' => 'Firstname',
- 'Lastname' => 'Lastname',
- 'Address' => 'Address',
- 'Additional address' => 'Additional address',
- 'Zip code' => 'Zip code',
- 'City' => 'City',
- 'Edit an address' => 'Edit an address',
- 'Edit this address' => 'Edit this address',
- 'Edit a language' => 'Edit a language',
- 'Edit this language' => 'Edit this language',
- 'Current product template' => 'Current product template',
- 'Do not use a product template' => 'Do not use a product template',
- 'Apply' => 'Apply',
- 'Product Attributes' => 'Product Attributes',
- 'ID' => 'ID',
- 'Attribute Name' => 'Attribute Name',
- 'This product template does not contains any features' => 'This product template does not contains any features',
- 'Product Features' => 'Product Features',
- 'Feature Name' => 'Feature Name',
- 'Feature value for this product' => 'Feature value for this product',
- 'Use Ctrl+click to select more than one value. You can also clear selected values.' => 'Use Ctrl+click to select more than one value. You can also clear selected values.',
- 'Enter here the feature value as free text' => 'Enter here the feature value as free text',
- 'Feature value' => 'Feature value',
- 'Related content' => 'Related content',
- 'Select a folder...' => 'Select a folder...',
- 'Select a folder to get its content' => 'Select a folder to get its content',
- 'Select a folder content...' => 'Select a folder content...',
- 'No available content in this folder' => 'No available content in this folder',
- 'No folders found' => 'No folders found',
- 'Content title' => 'Content title',
- 'Position' => 'Position',
- 'Delete this content' => 'Delete this content',
- ' (default)' => ' (default)',
- 'Category title' => 'Category title',
- 'Remove the product from this category' => 'Remove the product from this category',
- 'Remove related content' => 'Remove related content',
- 'Enter new content position' => 'Enter new content position',
- 'Select an attribute...' => 'Select an attribute...',
- 'Attribute title' => 'Attribute title',
- 'Enter new category position' => 'Enter new category position',
- 'Select an feature...' => 'Select an feature...',
- 'Select an feature and click (+) to add it to this template' => 'Select an feature and click (+) to add it to this template',
- 'Feature title' => 'Feature title',
- 'Delete this feature' => 'Delete this feature',
- 'This template contains no features' => 'This template contains no features',
- 'Remove feature' => 'Remove feature',
- 'Do you really want to remove this feature from the template ?' => 'Do you really want to remove this feature from the template ?',
- 'Lire la suite' => 'Lire la suite',
- 'Edit an attribute' => 'Edit an attribute',
- 'Attributes' => 'Attributes',
- 'Editing attribute "%name"' => 'Editing attribute "%name"',
- 'Attribute information' => 'Attribute information',
- 'Attribute values' => 'Attribute values',
- 'Enter here all possible attribute values.' => 'Enter here all possible attribute values.',
- 'Value' => 'Value',
- 'Delete this value' => 'Delete this value',
- 'No value has been created yet. Click the + button to create one.' => 'No value has been created yet. Click the + button to create one.',
- 'Title' => 'Title',
- 'Create a new attribute value' => 'Create a new attribute value',
- 'Create this value' => 'Create this value',
- 'Delete attribute value' => 'Delete attribute value',
- 'Do you really want to delete this attribute value ?' => 'Do you really want to delete this attribute value ?',
- 'Enter new value position' => 'Enter new value position',
- 'Thelia Product Attributes' => 'Thelia Product Attributes',
- 'Product attributes' => 'Product attributes',
- 'Thelia product attributes' => 'Thelia product attributes',
- 'Add a new product attribute' => 'Add a new product attribute',
- 'Change this attribute' => 'Change this attribute',
- 'Remove this attribute from all product templates' => 'Remove this attribute from all product templates',
- 'Add this attribute to all product templates' => 'Add this attribute to all product templates',
- 'Change this product attribute' => 'Change this product attribute',
- 'Delete this product attribute' => 'Delete this product attribute',
- 'No product attribute has been created yet. Click the + button to create one.' => 'No product attribute has been created yet. Click the + button to create one.',
- 'Check this box if you want to add this attributes to all product templates' => 'Check this box if you want to add this attributes to all product templates',
- 'Create a new attribute' => 'Create a new attribute',
- 'Create this attribute' => 'Create this attribute',
- 'Delete attribute' => 'Delete attribute',
- 'Do you really want to delete this attribute ? It will be removed from all product templates.' => 'Do you really want to delete this attribute ? It will be removed from all product templates.',
- 'Add to all product templates' => 'Add to all product templates',
- 'Do you really want to add this attribute to all product templates ?' => 'Do you really want to add this attribute to all product templates ?',
- 'Remove from all product templates' => 'Remove from all product templates',
- 'Do you really want to remove this attribute from all product templates ? You\'ll loose all product related data for this attribute.' => 'Do you really want to remove this attribute from all product templates ? You\'ll loose all product related data for this attribute.',
- 'Enter new attribute position' => 'Enter new attribute position',
- 'Categories' => 'Categories',
- 'Categories in %cat' => 'Categories in %cat',
- 'Top level categories' => 'Top level categories',
- 'Add a new category' => 'Add a new category',
- 'Online' => 'Online',
- 'Browse this category' => 'Browse this category',
- 'Edit this category' => 'Edit this category',
- 'Delete this category and all its contents' => 'Delete this category and all its contents',
- 'This category has no sub-categories. To create a new one, click the + button above.' => 'This category has no sub-categories. To create a new one, click the + button above.',
- 'This category has no sub-categories.' => 'This category has no sub-categories.',
- 'Products in %cat' => 'Products in %cat',
- 'Top level Products' => 'Top level Products',
- 'Add a new product' => 'Add a new product',
- 'Reference' => 'Reference',
- 'Product title' => 'Product title',
- 'Edit this product' => 'Edit this product',
- 'Delete this product' => 'Delete this product',
- 'This category doesn\'t contains any products. To add a new product, click the + button above.' => 'This category doesn\'t contains any products. To add a new product, click the + button above.',
- 'Name' => 'Name',
- 'Enter here the category name in the default language (%title)' => 'Enter here the category name in the default language (%title)',
- 'Create a new category' => 'Create a new category',
- 'Create this category' => 'Create this category',
- 'Enter here the product reference' => 'Enter here the product reference',
- 'Enter here the product name in the default language (%title)' => 'Enter here the product name in the default language (%title)',
- 'Product price' => 'Product price',
- 'Enter here the product price in the default currency (%title)' => 'Enter here the product price in the default currency (%title)',
- 'Select a tax tule' => 'Select a tax tule',
- 'Select here the tax applicable to this product' => 'Select here the tax applicable to this product',
- 'Product weight' => 'Product weight',
- 'Kg' => 'Kg',
- 'Enter here the product weight, in Kilogrammes' => 'Enter here the product weight, in Kilogrammes',
- 'Create a new product' => 'Create a new product',
- 'Create this product' => 'Create this product',
- 'Delete category' => 'Delete category',
- 'Do you really want to delete this category and all its content ?' => 'Do you really want to delete this category and all its content ?',
- 'Delete product' => 'Delete product',
- 'Do you really want to delete this product ?' => 'Do you really want to delete this product ?',
- 'Enter new product position' => 'Enter new product position',
- 'Edit category' => 'Edit category',
- 'Edit category %title' => 'Edit category %title',
- 'Preview category page' => 'Preview category page',
- 'Edit next category' => 'Edit next category',
- 'General description' => 'General description',
- 'Associations' => 'Associations',
- 'Images' => 'Images',
- 'Documents' => 'Documents',
- 'Rewritten URL' => 'Rewritten URL',
- 'Top level' => 'Top level',
- 'Visibility' => 'Visibility',
- 'Category created on %date_create. Last modification: %date_change' => 'Category created on %date_create. Last modification: %date_change',
- 'You can attach here some content to this category' => 'You can attach here some content to this category',
- 'Select a content and click (+) to add it to this category' => 'Select a content and click (+) to add it to this category',
- 'This category contains no contents' => 'This category contains no contents',
- 'Do you really want to remove this related content ?' => 'Do you really want to remove this related content ?',
- 'Files manager' => 'Files manager',
- 'Thelia configuration' => 'Thelia configuration',
- 'Product catalog configuration' => 'Product catalog configuration',
- 'Product templates' => 'Product templates',
- 'Product features' => 'Product features',
- 'Mailing templates' => 'Mailing templates',
- 'Currencies' => 'Currencies',
- 'Shipping configuration' => 'Shipping configuration',
- 'Countries' => 'Countries',
- 'Shipping zones' => 'Shipping zones',
- 'System parameters' => 'System parameters',
- 'Modules activation' => 'Modules activation',
- 'System variables' => 'System variables',
- 'Administration profiles' => 'Administration profiles',
- 'Languages & URLs' => 'Languages & URLs',
- 'Mailing system' => 'Mailing system',
- 'System logs' => 'System logs',
- 'Edit content' => 'Edit content',
- 'Edit content %title' => 'Edit content %title',
- 'Preview folder page' => 'Preview folder page',
- 'Folder created on %date_create. Last modification: %date_change' => 'Folder created on %date_create. Last modification: %date_change',
- 'Remove associated folder' => 'Remove associated folder',
- 'Do you really want to remove the content from this folder ?' => 'Do you really want to remove the content from this folder ?',
- 'Add a new country' => 'Add a new country',
- 'Default' => 'Default',
- 'Shop' => 'Shop',
- 'N° ISO' => 'N° ISO',
- 'ISO Code' => 'ISO Code',
- 'Change this country' => 'Change this country',
- 'Delete this country' => 'Delete this country',
- 'No country has been created yet. Click the + button to create one.' => 'No country has been created yet. Click the + button to create one.',
- 'Country title' => 'Country title',
- 'Alpha code 2' => 'Alpha code 2',
- 'Alpha code 3' => 'Alpha code 3',
- 'Create a new country' => 'Create a new country',
- 'Create this country' => 'Create this country',
- 'Delete country' => 'Delete country',
- 'Do you really want to delete this country ?' => 'Do you really want to delete this country ?',
- 'Error' => 'Error',
- 'Impossible to change default country. Please contact your administrator or try later' => 'Impossible to change default country. Please contact your administrator or try later',
- 'Edit a country' => 'Edit a country',
- 'Editing country "%name"' => 'Editing country "%name"',
- 'Country short description' => 'Country short description',
- 'Country description' => 'Country description',
- 'And' => 'And',
- 'Edit' => 'Edit',
- 'Delete' => 'Delete',
- 'Code :' => 'Code :',
- 'code' => 'code',
- 'Title :' => 'Title :',
- 'title' => 'title',
- 'Is enabled' => 'Is enabled',
- 'Is available on special offers' => 'Is available on special offers',
- 'Is cumulative' => 'Is cumulative',
- 'Is removing postage' => 'Is removing postage',
- 'Expiration date :' => 'Expiration date :',
- 'yyyy-mm-dd' => 'yyyy-mm-dd',
- 'Is unlimited' => 'Is unlimited',
- 'Max usage :' => 'Max usage :',
- 'max usage' => 'max usage',
- 'Type :' => 'Type :',
- 'Please select a coupon type' => 'Please select a coupon type',
- 'Amount :' => 'Amount :',
- '14.50' => '14.50',
- 'Short description :' => 'Short description :',
- 'short description' => 'short description',
- 'Long description :' => 'Long description :',
- 'long description' => 'long description',
- 'Save your modifications' => 'Save your modifications',
- 'Please save your Coupon in oder to affect it some conditions' => 'Please save your Coupon in oder to affect it some conditions',
- 'Conditions' => 'Conditions',
- 'Save this condition' => 'Save this condition',
- 'Please select a condition category' => 'Please select a condition category',
- 'Create coupon' => 'Create coupon',
- 'Coupon' => 'Coupon',
- 'Coupons : ' => 'Coupons : ',
- 'Create a new coupon' => 'Create a new coupon',
- 'Browse' => 'Browse',
- 'List' => 'List',
- 'Enabled coupons' => 'Enabled coupons',
- 'Code' => 'Code',
- 'Days before expiration' => 'Days before expiration',
- 'Usage left' => 'Usage left',
- 'Unlimited' => 'Unlimited',
- 'Disabled coupons' => 'Disabled coupons',
- 'Expiration date' => 'Expiration date',
- 'Coupon : ' => 'Coupon : ',
- 'Amount' => 'Amount',
- 'days left' => 'days left',
- 'May be cumulative' => 'May be cumulative',
- 'Won\'t remove postage' => 'Won\'t remove postage',
- 'Will be available on special offers' => 'Will be available on special offers',
- 'Application field' => 'Application field',
- 'Do you really want to enable this element ?' => 'Do you really want to enable this element ?',
- 'Update coupon' => 'Update coupon',
- 'Please retry' => 'Please retry',
- 'Please select another condition' => 'Please select another condition',
- 'Update rates' => 'Update rates',
- 'Add a new currency' => 'Add a new currency',
- 'ISO 4217 Code' => 'ISO 4217 Code',
- 'More information about ISO 4217' => 'More information about ISO 4217',
- 'Symbol' => 'Symbol',
- 'Rate in €' => 'Rate in €',
- 'Change this currency' => 'Change this currency',
- 'Delete this currency' => 'Delete this currency',
- 'No currency has been created yet. Click the + button to create one.' => 'No currency has been created yet. Click the + button to create one.',
- 'Currency name' => 'Currency name',
- 'ISO 4217 code' => 'ISO 4217 code',
- 'Currency symbol' => 'Currency symbol',
- 'Currency rate' => 'Currency rate',
- 'Rate' => 'Rate',
- 'The rate from Euro (Price in Euro * rate = Price in this currency)' => 'The rate from Euro (Price in Euro * rate = Price in this currency)',
- 'Create a new currency' => 'Create a new currency',
- 'Create this currency' => 'Create this currency',
- 'Delete currency' => 'Delete currency',
- 'Do you really want to delete this currency ?' => 'Do you really want to delete this currency ?',
- 'Enter new currency position' => 'Enter new currency position',
- 'Edit a currency' => 'Edit a currency',
- 'Editing currency "%name"' => 'Editing currency "%name"',
- 'Currency ISO 4217 Code' => 'Currency ISO 4217 Code',
- 'Rate from Euro' => 'Rate from Euro',
- 'Edit a customer' => 'Edit a customer',
- 'Editing customer "%name"' => 'Editing customer "%name"',
- 'Save' => 'Save',
- 'Save and close' => 'Save and close',
- 'Customer informations' => 'Customer informations',
- 'Default address' => 'Default address',
- 'Other addresses' => 'Other addresses',
- 'Add a new address' => 'Add a new address',
- 'Phone' => 'Phone',
- 'cell phone' => 'cell phone',
- 'Use this address by default' => 'Use this address by default',
- 'Delete this customer and all his orders' => 'Delete this customer and all his orders',
- 'orders for this customer' => 'orders for this customer',
- 'Order n°' => 'Order n°',
- 'Date & Hour' => 'Date & Hour',
- 'Status' => 'Status',
- 'Create an address' => 'Create an address',
- 'Create this address' => 'Create this address',
- 'Use address by default' => 'Use address by default',
- 'Do you really want to use this address by default ?' => 'Do you really want to use this address by default ?',
- 'Delete address' => 'Delete address',
- 'Do you really want to delete this address ?' => 'Do you really want to delete this address ?',
- 'Customer' => 'Customer',
- 'Customers list' => 'Customers list',
- 'Add a new Customer' => 'Add a new Customer',
- 'customer ref' => 'customer ref',
- 'firstname & lastname' => 'firstname & lastname',
- 'last order' => 'last order',
- 'order amount' => 'order amount',
- 'Edit this customer' => 'Edit this customer',
- 'Send a mail to this customer' => 'Send a mail to this customer',
- 'Email address' => 'Email address',
- 'Create a new customer' => 'Create a new customer',
- 'Create this customer' => 'Create this customer',
- 'Delete customer' => 'Delete customer',
- 'Do you really want to delete this customer ?' => 'Do you really want to delete this customer ?',
- 'Back' => 'Back',
- 'Description' => 'Description',
- 'Edit a feature' => 'Edit a feature',
- 'Features' => 'Features',
- 'Editing feature "%name"' => 'Editing feature "%name"',
- 'Feature information' => 'Feature information',
- 'Feature values' => 'Feature values',
- 'Enter here all possible feature values. To get a free text feature in product forms, don\'t add any value.' => 'Enter here all possible feature values. To get a free text feature in product forms, don\'t add any value.',
- 'Create a new feature value' => 'Create a new feature value',
- 'Delete feature value' => 'Delete feature value',
- 'Do you really want to delete this feature value ?' => 'Do you really want to delete this feature value ?',
- 'Thelia Product Features' => 'Thelia Product Features',
- 'Thelia product features' => 'Thelia product features',
- 'Add a new product feature' => 'Add a new product feature',
- 'Change this feature' => 'Change this feature',
- 'Remove this feature from all product templates' => 'Remove this feature from all product templates',
- 'Add this feature to all product templates' => 'Add this feature to all product templates',
- 'Change this product feature' => 'Change this product feature',
- 'Delete this product feature' => 'Delete this product feature',
- 'No product feature has been created yet. Click the + button to create one.' => 'No product feature has been created yet. Click the + button to create one.',
- 'Check this box if you want to add this features to all product templates' => 'Check this box if you want to add this features to all product templates',
- 'Create a new feature' => 'Create a new feature',
- 'Create this feature' => 'Create this feature',
- 'Delete feature' => 'Delete feature',
- 'Do you really want to delete this feature ? It will be removed from all product templates.' => 'Do you really want to delete this feature ? It will be removed from all product templates.',
- 'Do you really want to add this feature to all product templates ?' => 'Do you really want to add this feature to all product templates ?',
- 'Do you really want to remove this feature from all product templates ? You\'ll loose all product related data for this feature.' => 'Do you really want to remove this feature from all product templates ? You\'ll loose all product related data for this feature.',
- 'Enter new feature position' => 'Enter new feature position',
- 'Details' => 'Details',
- 'Folders in %fold' => 'Folders in %fold',
- 'Top level folders' => 'Top level folders',
- 'Add a new folder' => 'Add a new folder',
- 'Folder title' => 'Folder title',
- 'Browse this folder' => 'Browse this folder',
- 'Edit this folder' => 'Edit this folder',
- 'Delete this folder and all its contents' => 'Delete this folder and all its contents',
- 'This folder has no sub-folders. To create a new one, click the + button above.' => 'This folder has no sub-folders. To create a new one, click the + button above.',
- 'This folder has no sub-folders.' => 'This folder has no sub-folders.',
- 'Contents in %fold' => 'Contents in %fold',
- 'Top level Contents' => 'Top level Contents',
- 'Add a new content' => 'Add a new content',
- 'Edit this content' => 'Edit this content',
- 'This folder doesn\'t contains any contents. To add a new content, click the + button above.' => 'This folder doesn\'t contains any contents. To add a new content, click the + button above.',
- 'Enter here the folder name in the default language (%title)' => 'Enter here the folder name in the default language (%title)',
- 'Create a new folder' => 'Create a new folder',
- 'Create this folder' => 'Create this folder',
- 'Enter here the content name in the default language (%title)' => 'Enter here the content name in the default language (%title)',
- 'Create a new content' => 'Create a new content',
- 'Create this content' => 'Create this content',
- 'Delete folder' => 'Delete folder',
- 'Do you really want to delete this folder and all its content ?' => 'Do you really want to delete this folder and all its content ?',
- 'Delete content' => 'Delete content',
- 'Do you really want to delete this content ?' => 'Do you really want to delete this content ?',
- 'Enter new folder position' => 'Enter new folder position',
- 'An error occured' => 'An error occured',
- 'Oops! An Error Occurred' => 'Oops! An Error Occurred',
- 'Go to administration home' => 'Go to administration home',
- 'Back-office home' => 'Back-office home',
- 'Dashboard' => 'Dashboard',
- 'Sales' => 'Sales',
- 'New customers' => 'New customers',
- 'First orders' => 'First orders',
- 'Aborted orders' => 'Aborted orders',
- 'Shop Informations' => 'Shop Informations',
- 'Products' => 'Products',
- 'Online products' => 'Online products',
- 'Offline products' => 'Offline products',
- 'Sales statistics' => 'Sales statistics',
- 'Today' => 'Today',
- 'This month' => 'This month',
- 'This year' => 'This year',
- 'Overall sales' => 'Overall sales',
- 'Sales excluding shipping' => 'Sales excluding shipping',
- 'Yesterday sales' => 'Yesterday sales',
- 'Average cart' => 'Average cart',
- 'Previous month sales' => 'Previous month sales',
- 'Previous year sales' => 'Previous year sales',
- 'Thelia informations' => 'Thelia informations',
- 'Current version' => 'Current version',
- 'Latest version available' => 'Latest version available',
- 'News' => 'News',
- 'Click here' => 'Click here',
- 'Editing %cat' => 'Editing %cat',
- '(edit)' => '(edit)',
- 'Editing %title' => 'Editing %title',
- 'Confirmation' => 'Confirmation',
- 'Do you really want to delete this element ?' => 'Do you really want to delete this element ?',
- 'Confirm' => 'Confirm',
- 'Additional Folders' => 'Additional Folders',
- 'A content could be attached to more than one folder. Select here the additional fodlers for this content.' => 'A content could be attached to more than one folder. Select here the additional fodlers for this content.',
- 'You can change the default folder (%title) in the "General" tab.' => 'You can change the default folder (%title) in the "General" tab.',
- 'Select a folder and click (+) to add it to the additional folder list' => 'Select a folder and click (+) to add it to the additional folder list',
- 'No Folders found' => 'No Folders found',
- 'This product doesn\'t belong to any additional folder.' => 'This product doesn\'t belong to any additional folder.',
- 'Send files' => 'Send files',
- 'Drop files to upload' => 'Drop files to upload',
- 'Browse files' => 'Browse files',
- 'There is no documents attached to this %type.' => 'There is no documents attached to this %type.',
- 'No' => 'No',
- 'Yes' => 'Yes',
- 'OK' => 'OK',
- 'Update this image' => 'Update this image',
- 'There is no images attached to this %type.' => 'There is no images attached to this %type.',
- 'Edit information in %lng' => 'Edit information in %lng',
- 'Edit prices in %curr' => 'Edit prices in %curr',
- 'Close' => 'Close',
- 'classic modules' => 'classic modules',
- 'Enable/Disable' => 'Enable/Disable',
- 'Deactivate %title module' => 'Deactivate %title module',
- 'deactivation' => 'deactivation',
- 'Edit this module' => 'Edit this module',
- 'Delete this module' => 'Delete this module',
- 'Price excl. taxes' => 'Price excl. taxes',
- 'Current quantity' => 'Current quantity',
- 'Attribute Combinations' => 'Attribute Combinations',
- 'Quickly create combinations using the combination builder' => 'Quickly create combinations using the combination builder',
- 'Combination builder' => 'Combination builder',
- 'Add a new combination' => 'Add a new combination',
- 'EAN Code' => 'EAN Code',
- 'Quantity' => 'Quantity',
- 'Price
w/o taxes (%currency)' => 'Price
w/o taxes (%currency)',
- 'Price
w/ taxes (%currency)' => 'Price
w/ taxes (%currency)',
- 'Weight
(Kg)' => 'Weight
(Kg)',
- 'Sale' => 'Sale',
- 'New' => 'New',
- 'Sale price
w/o taxes (%currency)' => 'Sale price
w/o taxes (%currency)',
- 'Sale price
w/ taxes (%currency)' => 'Sale price
w/ taxes (%currency)',
- 'Delete this combination' => 'Delete this combination',
- 'Attribute' => 'Attribute',
- 'Select an attribute and click (+) to view available values' => 'Select an attribute and click (+) to view available values',
- 'Select an attribute value...' => 'Select an attribute value...',
- 'Select a value click (+) to add it to the combination' => 'Select a value click (+) to add it to the combination',
- 'No available value for this attribute' => 'No available value for this attribute',
- 'To remove a value from the combination, select it and click "remove"' => 'To remove a value from the combination, select it and click "remove"',
- 'Remove selected values' => 'Remove selected values',
- 'Create a new combination' => 'Create a new combination',
- 'Create this combination' => 'Create this combination',
- 'Delete a combination' => 'Delete a combination',
- 'Do you really want to delete this combination ?' => 'Do you really want to delete this combination ?',
- 'Select attribute values to combine. You may enter a default value for some of the fields of the generated combinations.' => 'Select attribute values to combine. You may enter a default value for some of the fields of the generated combinations.',
- 'Combination reference' => 'Combination reference',
- 'Combination EAN Code' => 'Combination EAN Code',
- '0 combinations' => '0 combinations',
- 'Create combinations' => 'Create combinations',
- 'Product reference' => 'Product reference',
- 'You can attach this product to more categories in the details tab.' => 'You can attach this product to more categories in the details tab.',
- 'Product created on %date_create. Last modification: %date_change' => 'Product created on %date_create. Last modification: %date_change',
- 'A short description, used when a summary or an introduction is required' => 'A short description, used when a summary or an introduction is required',
- 'Short description' => 'Short description',
- 'The detailed description.' => 'The detailed description.',
- 'A short post-description information' => 'A short post-description information',
- 'Short conclusion' => 'Short conclusion',
- 'Thelia Languages' => 'Thelia Languages',
- 'Languages' => 'Languages',
- 'Languages management' => 'Languages management',
- 'Add a new language' => 'Add a new language',
- 'Language name' => 'Language name',
- 'ISO 639 Code' => 'ISO 639 Code',
- 'Locale' => 'Locale',
- 'date form' => 'date form',
- 'time form' => 'time form',
- 'Change this language' => 'Change this language',
- 'Delete this language' => 'Delete this language',
- 'Parameters' => 'Parameters',
- 'If a translation is missing or incomplete :' => 'If a translation is missing or incomplete :',
- 'Using a domain or subdomain for each language' => 'Using a domain or subdomain for each language',
- 'activate' => 'activate',
- 'deactivate' => 'deactivate',
- 'Language title' => 'Language title',
- 'en_US' => 'en_US',
- 'd-m-Y' => 'd-m-Y',
- 'H:i:s' => 'H:i:s',
- 'Create a new language' => 'Create a new language',
- 'Create this language' => 'Create this language',
- 'Delete language' => 'Delete language',
- 'Do you really want to delete this language ?' => 'Do you really want to delete this language ?',
- 'Impossible to change default languages. Please contact your administrator or try later' => 'Impossible to change default languages. Please contact your administrator or try later',
- 'Username' => 'Username',
- 'Configuration mailing system' => 'Configuration mailing system',
- 'Enable remote SMTP use : ' => 'Enable remote SMTP use : ',
- 'Host :' => 'Host :',
- 'Host' => 'Host',
- 'Port :' => 'Port :',
- 'Port' => 'Port',
- 'Encryption :' => 'Encryption :',
- 'Encryption' => 'Encryption',
- 'Username :' => 'Username :',
- 'Password :' => 'Password :',
- 'Auth Mode :' => 'Auth Mode :',
- 'Auth Mode' => 'Auth Mode',
- 'Timeout :' => 'Timeout :',
- 'Timeout' => 'Timeout',
- 'Source IP :' => 'Source IP :',
- 'Source IP' => 'Source IP',
- 'Edit a mailing template' => 'Edit a mailing template',
- 'Editing mailing template "%name"' => 'Editing mailing template "%name"',
- 'Variable name' => 'Variable name',
- 'Subject' => 'Subject',
- 'The mailing template in HTML format.' => 'The mailing template in HTML format.',
- 'The mailing template in text-only format.' => 'The mailing template in text-only format.',
- 'Message created on %date_create. Last modification: %date_change' => 'Message created on %date_create. Last modification: %date_change',
- 'Thelia Mailing Templates' => 'Thelia Mailing Templates',
- 'Thelia mailing templates' => 'Thelia mailing templates',
- 'Add a new mailing template' => 'Add a new mailing template',
- 'Purpose' => 'Purpose',
- 'Change this mailing template' => 'Change this mailing template',
- 'Delete this mailing template' => 'Delete this mailing template',
- 'No mailing template has been created yet. Click the + button to create one.' => 'No mailing template has been created yet. Click the + button to create one.',
- 'Mailing template name' => 'Mailing template name',
- 'Mailing template purpose' => 'Mailing template purpose',
- 'Create a new mailing template' => 'Create a new mailing template',
- 'Create this mailing template' => 'Create this mailing template',
- 'Delete mailing template' => 'Delete mailing template',
- 'Do you really want to delete this mailing template ?' => 'Do you really want to delete this mailing template ?',
- 'Classic modules' => 'Classic modules',
- 'Delivery modules' => 'Delivery modules',
- 'Payment modules' => 'Payment modules',
- 'Delete a module' => 'Delete a module',
- 'Do you really want to delete this module ?' => 'Do you really want to delete this module ?',
- 'Edit an order' => 'Edit an order',
- 'Ordered products' => 'Ordered products',
- 'Invoice and Delivery' => 'Invoice and Delivery',
- 'Cart' => 'Cart',
- 'Product' => 'Product',
- 'Unit. price' => 'Unit. price',
- 'Tax' => 'Tax',
- 'Unit taxed price' => 'Unit taxed price',
- 'Taxed total' => 'Taxed total',
- 'Total without discount' => 'Total without discount',
- 'Discount' => 'Discount',
- 'Coupon code' => 'Coupon code',
- 'Total including discount' => 'Total including discount',
- 'Postage' => 'Postage',
- 'Total' => 'Total',
- 'Payment information' => 'Payment information',
- 'Payment module' => 'Payment module',
- 'Transaction reference' => 'Transaction reference',
- 'Delivery module' => 'Delivery module',
- 'tracking reference' => 'tracking reference',
- 'Invoice informations' => 'Invoice informations',
- 'Download invoice as PDF' => 'Download invoice as PDF',
- 'PDF | Invoice' => 'PDF | Invoice',
- 'Edit invoice address' => 'Edit invoice address',
- 'Invoice reference' => 'Invoice reference',
- 'Invoice date' => 'Invoice date',
- 'Street address' => 'Street address',
- 'Country' => 'Country',
- 'Delivery address' => 'Delivery address',
- 'Download purchase order as PDF' => 'Download purchase order as PDF',
- 'PDF | Purchase order' => 'PDF | Purchase order',
- 'Edit delivery address' => 'Edit delivery address',
- 'Edit order address' => 'Edit order address',
- 'Confirm changes' => 'Confirm changes',
- 'Edit this order' => 'Edit this order',
- 'Cancel this order' => 'Cancel this order',
- 'Delete an order' => 'Delete an order',
- 'Do you really want to cancel this order ?' => 'Do you really want to cancel this order ?',
- 'Edit product' => 'Edit product',
- 'Edit product %title' => 'Edit product %title',
- 'Preview product page' => 'Preview product page',
- 'General' => 'General',
- 'Attributes & Features' => 'Attributes & Features',
- 'Please wait, loading' => 'Please wait, loading',
- 'Failed to get converted prices. Please try again.' => 'Failed to get converted prices. Please try again.',
- 'Failed to get prices. Please try again.' => 'Failed to get prices. Please try again.',
- 'Existing combinations will be deleted. Do you want to continue ?' => 'Existing combinations will be deleted. Do you want to continue ?',
- 'Profiles' => 'Profiles',
- 'Postscriptum' => 'Postscriptum',
- 'View' => 'View',
- 'Create a new profile' => 'Create a new profile',
- 'Profile code' => 'Profile code',
- 'Delete profile' => 'Delete profile',
- 'Do you really want to delete this profile ?' => 'Do you really want to delete this profile ?',
- 'You can\'t delete this profile' => 'You can\'t delete this profile',
- 'They are some administrator which are linked to this profile. Please edit/remove them before deleting this profile.' => 'They are some administrator which are linked to this profile. Please edit/remove them before deleting this profile.',
- 'company' => 'company',
- 'Edit a shipping configuration' => 'Edit a shipping configuration',
- 'Editing shipping configuration "%name"' => 'Editing shipping configuration "%name"',
- 'Edit shipping configuration %title' => 'Edit shipping configuration %title',
- 'Add this country' => 'Add this country',
- 'No area defined with this id' => 'No area defined with this id',
- 'Remove country' => 'Remove country',
- 'Do you really want to remove this country ?' => 'Do you really want to remove this country ?',
- 'Thelia Shipping configuration' => 'Thelia Shipping configuration',
- 'Add a new shipping configuration' => 'Add a new shipping configuration',
- 'Change this shipping configuration' => 'Change this shipping configuration',
- 'Delete this shipping configuration' => 'Delete this shipping configuration',
- 'Shipping configuration name' => 'Shipping configuration name',
- 'Create a new shipping configuration' => 'Create a new shipping configuration',
- 'Create this shipping configuration' => 'Create this shipping configuration',
- 'Delete shipping configuration' => 'Delete shipping configuration',
- 'Do you really want to delete this shipping configuration ?' => 'Do you really want to delete this shipping configuration ?',
- 'Edit a shipping zone' => 'Edit a shipping zone',
- 'Editing shipping zone "%name"' => 'Editing shipping zone "%name"',
- 'Edit shipping zone %title' => 'Edit shipping zone %title',
- 'Add' => 'Add',
- 'Zones' => 'Zones',
- 'Delete this zone' => 'Delete this zone',
- 'Remove zone' => 'Remove zone',
- 'Do you really want to remove this zone ?' => 'Do you really want to remove this zone ?',
- 'Thelia Shipping zones' => 'Thelia Shipping zones',
- 'Change this shipping zone' => 'Change this shipping zone',
- 'Edit a tax' => 'Edit a tax',
- 'Editing tax' => 'Editing tax',
- 'Tax created on %date_create. Last modification: %date_change' => 'Tax created on %date_create. Last modification: %date_change',
- 'Edit a tax rule' => 'Edit a tax rule',
- 'Editing tax rule' => 'Editing tax rule',
- 'Tax rule created on %date_create. Last modification: %date_change' => 'Tax rule created on %date_create. Last modification: %date_change',
- 'Manage taxes' => 'Manage taxes',
- 'Choose a country' => 'Choose a country',
- 'Countries that have the same tax rule' => 'Countries that have the same tax rule',
- 'NONE' => 'NONE',
- 'Manage the tax rule taxes appliance order' => 'Manage the tax rule taxes appliance order',
- 'Add tax to this group' => 'Add tax to this group',
- 'Drop tax here to create a tax group' => 'Drop tax here to create a tax group',
- 'Drop tax here to delete from group' => 'Drop tax here to delete from group',
- 'Tax rule taxes will be update for the following countries :' => 'Tax rule taxes will be update for the following countries :',
- 'uncheck all' => 'uncheck all',
- 'Update tax rule taxes' => 'Update tax rule taxes',
- 'Edit tax rule taxes' => 'Edit tax rule taxes',
- 'In order to manges your shop taxes you can manage' => 'In order to manges your shop taxes you can manage',
- 'taxes' => 'taxes',
- 'and' => 'and',
- 'tax rules' => 'tax rules',
- 'Taxes define the amount of money which is add to a bought product.' => 'Taxes define the amount of money which is add to a bought product.',
- 'Example :' => 'Example :',
- 'French 19.6% VAT is a tax which add a 19.6% tax to the product price.' => 'French 19.6% VAT is a tax which add a 19.6% tax to the product price.',
- 'Ecotax is a tax wich add a defined amount (throug a product feature) to the product price.' => 'Ecotax is a tax wich add a defined amount (throug a product feature) to the product price.',
- 'Tax rules are combination of different taxes.' => 'Tax rules are combination of different taxes.',
- 'French 19.6% VAT with ecotax is the applicance of the ecotax (on the product price) then the applicance of the 19.6% tax (on the product price + the ecotax amount).' => 'French 19.6% VAT with ecotax is the applicance of the ecotax (on the product price) then the applicance of the 19.6% tax (on the product price + the ecotax amount).',
- 'you can combine taxes in tax rules and chose if they are applied one after the other or at the same time : it allows to apply taxes on an already taxed price or not.' => 'you can combine taxes in tax rules and chose if they are applied one after the other or at the same time : it allows to apply taxes on an already taxed price or not.',
- 'Create a new tax' => 'Create a new tax',
- 'Change this tax' => 'Change this tax',
- 'Delete this tax' => 'Delete this tax',
- 'Create a new tax rule' => 'Create a new tax rule',
- 'Change this tax rule' => 'Change this tax rule',
- 'Set as default tax rule' => 'Set as default tax rule',
- 'Delete this tax rule' => 'Delete this tax rule',
- 'Delete tax' => 'Delete tax',
- 'Do you really want to delete this tax ?' => 'Do you really want to delete this tax ?',
- 'Delete tax rule' => 'Delete tax rule',
- 'Do you really want to delete this tax rule ?' => 'Do you really want to delete this tax rule ?',
- 'Thelia Product Templates' => 'Thelia Product Templates',
- 'Thelia product templates' => 'Thelia product templates',
- 'Add a new product template' => 'Add a new product template',
- 'Change this template' => 'Change this template',
- 'Change this product template' => 'Change this product template',
- 'Delete this product template' => 'Delete this product template',
- 'No product template has been created yet. Click the + button to create one.' => 'No product template has been created yet. Click the + button to create one.',
- 'Template title' => 'Template title',
- 'Create a new product template' => 'Create a new product template',
- 'Create this product template' => 'Create this product template',
- 'Delete template' => 'Delete template',
- 'Do you really want to delete this template ? It will be removed from all products.' => 'Do you really want to delete this template ? It will be removed from all products.',
- 'Warning' => 'Warning',
- 'Edit a system variable' => 'Edit a system variable',
- 'Editing variable "%name"' => 'Editing variable "%name"',
- 'Variable value' => 'Variable value',
- 'Variable created on %date_create. Last modification: %date_change' => 'Variable created on %date_create. Last modification: %date_change',
- 'Thelia System Variables' => 'Thelia System Variables',
- 'Thelia system variables' => 'Thelia system variables',
- 'Add a new variable' => 'Add a new variable',
- 'Save chages' => 'Save chages',
- 'Save changes' => 'Save changes',
- 'Action' => 'Action',
- 'Change this variable' => 'Change this variable',
- 'Cancel changes and revert to original value' => 'Cancel changes and revert to original value',
- 'Delete this variable' => 'Delete this variable',
- 'Variable purpose' => 'Variable purpose',
- 'Create a new variable' => 'Create a new variable',
- 'Create this variable' => 'Create this variable',
- 'Delete a variable' => 'Delete a variable',
- 'Do you really want to delete this variable ?' => 'Do you really want to delete this variable ?',
+ ' (default)' => ' (default)',
+ '© Thelia 2013' => '© Thelia 2013',
+ '(edit)' => '(edit)',
+ '14.50' => '14.50',
+ '0 combinations' => '0 combinations',
+ 'A short description, used when a summary or an introduction is required' => 'A short description, used when a summary or an introduction is required',
+ 'A short post-description information' => 'A short post-description information',
+ 'Aborted orders' => 'Aborted orders',
+ 'Action' => 'Action',
+ 'Actions' => 'Actions',
+ 'Add' => 'Add',
+ 'Add a new Customer' => 'Add a new Customer',
+ 'Add a new address' => 'Add a new address',
+ 'Add a new category' => 'Add a new category',
+ 'Add a new combination' => 'Add a new combination',
+ 'Add a new content' => 'Add a new content',
+ 'Add a new country' => 'Add a new country',
+ 'Add a new currency' => 'Add a new currency',
+ 'Add a new folder' => 'Add a new folder',
+ 'Add a new language' => 'Add a new language',
+ 'Add a new mailing template' => 'Add a new mailing template',
+ 'Add a new product' => 'Add a new product',
+ 'Add a new product attribute' => 'Add a new product attribute',
+ 'Add a new product feature' => 'Add a new product feature',
+ 'Add a new product template' => 'Add a new product template',
+ 'Add a new shipping configuration' => 'Add a new shipping configuration',
+ 'Add a new variable' => 'Add a new variable',
+ 'Add tax to this group' => 'Add tax to this group',
+ 'Add this attribute to all product templates' => 'Add this attribute to all product templates',
+ 'Add this country' => 'Add this country',
+ 'Add this feature to all product templates' => 'Add this feature to all product templates',
+ 'Add to all product templates' => 'Add to all product templates',
+ 'Additional Folders' => 'Additional Folders',
+ 'Additional address' => 'Additional address',
+ 'Address' => 'Address',
+ 'Administration logs' => 'Administration logs',
+ 'Administration profiles' => 'Administration profiles',
+ 'Administrators' => 'Administrators',
+ 'All orders' => 'All orders',
+ 'Alpha code 2' => 'Alpha code 2',
+ 'Alpha code 3' => 'Alpha code 3',
+ 'Amount' => 'Amount',
+ 'Amount :' => 'Amount :',
+ 'An error occured' => 'An error occured',
+ 'And' => 'And',
+ 'Application field' => 'Application field',
+ 'Apply' => 'Apply',
+ 'Associations' => 'Associations',
+ 'Attribute' => 'Attribute',
+ 'Attribute Combinations' => 'Attribute Combinations',
+ 'Attribute Name' => 'Attribute Name',
+ 'Attribute information' => 'Attribute information',
+ 'Attribute title' => 'Attribute title',
+ 'Attribute values' => 'Attribute values',
+ 'Attributes' => 'Attributes',
+ 'Attributes & Features' => 'Attributes & Features',
+ 'Auth Mode' => 'Auth Mode',
+ 'Auth Mode :' => 'Auth Mode :',
+ 'Average cart' => 'Average cart',
+ 'Back' => 'Back',
+ 'Back-office home' => 'Back-office home',
+ 'Browse' => 'Browse',
+ 'Browse files' => 'Browse files',
+ 'Browse this category' => 'Browse this category',
+ 'Browse this folder' => 'Browse this folder',
+ 'Cancel' => 'Cancel',
+ 'Cancel changes and revert to original value' => 'Cancel changes and revert to original value',
+ 'Cancel this order' => 'Cancel this order',
+ 'Cart' => 'Cart',
+ 'Catalog' => 'Catalog',
+ 'Categories' => 'Categories',
+ 'Categories in %cat' => 'Categories in %cat',
+ 'Category created on %date_create. Last modification: %date_change' => 'Category created on %date_create. Last modification: %date_change',
+ 'Category title' => 'Category title',
+ 'Change this administrator' => 'Change this administrator',
+ 'Change this attribute' => 'Change this attribute',
+ 'Change this country' => 'Change this country',
+ 'Change this currency' => 'Change this currency',
+ 'Change this feature' => 'Change this feature',
+ 'Change this language' => 'Change this language',
+ 'Change this mailing template' => 'Change this mailing template',
+ 'Change this product attribute' => 'Change this product attribute',
+ 'Change this product feature' => 'Change this product feature',
+ 'Change this product template' => 'Change this product template',
+ 'Change this shipping configuration' => 'Change this shipping configuration',
+ 'Change this shipping zone' => 'Change this shipping zone',
+ 'Change this tax' => 'Change this tax',
+ 'Change this tax rule' => 'Change this tax rule',
+ 'Change this template' => 'Change this template',
+ 'Change this variable' => 'Change this variable',
+ 'Check this box if you want to add this attributes to all product templates' => 'Check this box if you want to add this attributes to all product templates',
+ 'Check this box if you want to add this features to all product templates' => 'Check this box if you want to add this features to all product templates',
+ 'Choose a country' => 'Choose a country',
+ 'City' => 'City',
+ 'Classic modules' => 'Classic modules',
+ 'Click here' => 'Click here',
+ 'Close' => 'Close',
+ 'Close administation session' => 'Close administration session',
+ 'Code' => 'Code',
+ 'Code :' => 'Code :',
+ 'Combination EAN Code' => 'Combination EAN Code',
+ 'Combination builder' => 'Combination builder',
+ 'Combination reference' => 'Combination reference',
+ 'Company' => 'Company',
+ 'Conditions' => 'Conditions',
+ 'Configuration' => 'Configuration',
+ 'Configuration mailing system' => 'Configuration mailing system',
+ 'Confirm' => 'Confirm',
+ 'Confirm changes' => 'Confirm changes',
+ 'Confirmation' => 'Confirmation',
+ 'Content title' => 'Content title',
+ 'Contents in %fold' => 'Contents in %fold',
+ 'Countries' => 'Countries',
+ 'Countries that have the same tax rule' => 'Countries that have the same tax rule',
+ 'Country' => 'Country',
+ 'Country description' => 'Country description',
+ 'Country short description' => 'Country short description',
+ 'Country title' => 'Country title',
+ 'Coupon' => 'Coupon',
+ 'Coupon : ' => 'Coupon : ',
+ 'Coupon code' => 'Coupon code',
+ 'Coupons' => 'Coupons',
+ 'Coupons : ' => 'Coupons : ',
+ 'Create' => 'Create',
+ 'Create a new administrator' => 'Create a new administrator',
+ 'Create a new attribute' => 'Create a new attribute',
+ 'Create a new attribute value' => 'Create a new attribute value',
+ 'Create a new category' => 'Create a new category',
+ 'Create a new combination' => 'Create a new combination',
+ 'Create a new content' => 'Create a new content',
+ 'Create a new country' => 'Create a new country',
+ 'Create a new coupon' => 'Create a new coupon',
+ 'Create a new currency' => 'Create a new currency',
+ 'Create a new customer' => 'Create a new customer',
+ 'Create a new feature' => 'Create a new feature',
+ 'Create a new feature value' => 'Create a new feature value',
+ 'Create a new folder' => 'Create a new folder',
+ 'Create a new language' => 'Create a new language',
+ 'Create a new mailing template' => 'Create a new mailing template',
+ 'Create a new product' => 'Create a new product',
+ 'Create a new product template' => 'Create a new product template',
+ 'Create a new profile' => 'Create a new profile',
+ 'Create a new shipping configuration' => 'Create a new shipping configuration',
+ 'Create a new tax' => 'Create a new tax',
+ 'Create a new tax rule' => 'Create a new tax rule',
+ 'Create a new variable' => 'Create a new variable',
+ 'Create combinations' => 'Create combinations',
+ 'Create coupon' => 'Create coupon',
+ 'Create this address' => 'Create this address',
+ 'Create this attribute' => 'Create this attribute',
+ 'Create this category' => 'Create this category',
+ 'Create this combination' => 'Create this combination',
+ 'Create this content' => 'Create this content',
+ 'Create this country' => 'Create this country',
+ 'Create this currency' => 'Create this currency',
+ 'Create this customer' => 'Create this customer',
+ 'Create this feature' => 'Create this feature',
+ 'Create this folder' => 'Create this folder',
+ 'Create this language' => 'Create this language',
+ 'Create this mailing template' => 'Create this mailing template',
+ 'Create this product' => 'Create this product',
+ 'Create this product template' => 'Create this product template',
+ 'Create this shipping configuration' => 'Create this shipping configuration',
+ 'Create this value' => 'Create this value',
+ 'Create this variable' => 'Create this variable',
+ 'Currencies' => 'Currencies',
+ 'Currency ISO 4217 Code' => 'Currency ISO 4217 Code',
+ 'Currency name' => 'Currency name',
+ 'Currency rate' => 'Currency rate',
+ 'Currency symbol' => 'Currency symbol',
+ 'Current product template' => 'Current product template',
+ 'Current quantity' => 'Current quantity',
+ 'Current version' => 'Current version',
+ 'Customer' => 'Customer',
+ 'Customer informations' => 'Customer informations',
+ 'Customers' => 'Customers',
+ 'Customers list' => 'Customers list',
+ 'Dashboard' => 'Dashboard',
+ 'Date & Hour' => 'Date & Hour',
+ 'Days before expiration' => 'Days before expiration',
+ 'Deactivate %title module' => 'Deactivate %title module',
+ 'Default' => 'Default',
+ 'Default address' => 'Default address',
+ 'Delete' => 'Delete',
+ 'Delete a combination' => 'Delete a combination',
+ 'Delete a module' => 'Delete a module',
+ 'Delete a variable' => 'Delete a variable',
+ 'Delete address' => 'Delete address',
+ 'Delete administrator' => 'Delete administrator',
+ 'Delete an order' => 'Delete an order',
+ 'Delete attribute' => 'Delete attribute',
+ 'Delete attribute value' => 'Delete attribute value',
+ 'Delete category' => 'Delete category',
+ 'Delete content' => 'Delete content',
+ 'Delete country' => 'Delete country',
+ 'Delete currency' => 'Delete currency',
+ 'Delete customer' => 'Delete customer',
+ 'Delete feature' => 'Delete feature',
+ 'Delete feature value' => 'Delete feature value',
+ 'Delete folder' => 'Delete folder',
+ 'Delete language' => 'Delete language',
+ 'Delete mailing template' => 'Delete mailing template',
+ 'Delete product' => 'Delete product',
+ 'Delete profile' => 'Delete profile',
+ 'Delete shipping configuration' => 'Delete shipping configuration',
+ 'Delete tax' => 'Delete tax',
+ 'Delete tax rule' => 'Delete tax rule',
+ 'Delete template' => 'Delete template',
+ 'Delete this category and all its contents' => 'Delete this category and all its contents',
+ 'Delete this combination' => 'Delete this combination',
+ 'Delete this content' => 'Delete this content',
+ 'Delete this country' => 'Delete this country',
+ 'Delete this currency' => 'Delete this currency',
+ 'Delete this customer and all his orders' => 'Delete this customer and all his orders',
+ 'Delete this feature' => 'Delete this feature',
+ 'Delete this folder and all its contents' => 'Delete this folder and all its contents',
+ 'Delete this language' => 'Delete this language',
+ 'Delete this mailing template' => 'Delete this mailing template',
+ 'Delete this module' => 'Delete this module',
+ 'Delete this product' => 'Delete this product',
+ 'Delete this product attribute' => 'Delete this product attribute',
+ 'Delete this product feature' => 'Delete this product feature',
+ 'Delete this product template' => 'Delete this product template',
+ 'Delete this shipping configuration' => 'Delete this shipping configuration',
+ 'Delete this tax' => 'Delete this tax',
+ 'Delete this tax rule' => 'Delete this tax rule',
+ 'Delete this value' => 'Delete this value',
+ 'Delete this variable' => 'Delete this variable',
+ 'Delete this zone' => 'Delete this zone',
+ 'Delivery address' => 'Delivery address',
+ 'Delivery module' => 'Delivery module',
+ 'Delivery modules' => 'Delivery modules',
+ 'Description' => 'Description',
+ 'Details' => 'Details',
+ 'Disabled coupons' => 'Disabled coupons',
+ 'Discount' => 'Discount',
+ 'Do not use a product template' => 'Do not use a product template',
+ 'Do you really want to add this attribute to all product templates ?' => 'Do you really want to add this attribute to all product templates ?',
+ 'Do you really want to add this feature to all product templates ?' => 'Do you really want to add this feature to all product templates ?',
+ 'Do you really want to cancel this order ?' => 'Do you really want to cancel this order ?',
+ 'Do you really want to delete this address ?' => 'Do you really want to delete this address ?',
+ 'Do you really want to delete this administrator ?' => 'Do you really want to delete this administrator ?',
+ 'Do you really want to delete this attribute ? It will be removed from all product templates.' => 'Do you really want to delete this attribute ? It will be removed from all product templates.',
+ 'Do you really want to delete this attribute value ?' => 'Do you really want to delete this attribute value ?',
+ 'Do you really want to delete this category and all its content ?' => 'Do you really want to delete this category and all its content ?',
+ 'Do you really want to delete this combination ?' => 'Do you really want to delete this combination ?',
+ 'Do you really want to delete this content ?' => 'Do you really want to delete this content ?',
+ 'Do you really want to delete this country ?' => 'Do you really want to delete this country ?',
+ 'Do you really want to delete this currency ?' => 'Do you really want to delete this currency ?',
+ 'Do you really want to delete this customer ?' => 'Do you really want to delete this customer ?',
+ 'Do you really want to delete this element ?' => 'Do you really want to delete this element ?',
+ 'Do you really want to delete this feature ? It will be removed from all product templates.' => 'Do you really want to delete this feature ? It will be removed from all product templates.',
+ 'Do you really want to delete this feature value ?' => 'Do you really want to delete this feature value ?',
+ 'Do you really want to delete this folder and all its content ?' => 'Do you really want to delete this folder and all its content ?',
+ 'Do you really want to delete this language ?' => 'Do you really want to delete this language ?',
+ 'Do you really want to delete this mailing template ?' => 'Do you really want to delete this mailing template ?',
+ 'Do you really want to delete this module ?' => 'Do you really want to delete this module ?',
+ 'Do you really want to delete this product ?' => 'Do you really want to delete this product ?',
+ 'Do you really want to delete this profile ?' => 'Do you really want to delete this profile ?',
+ 'Do you really want to delete this shipping configuration ?' => 'Do you really want to delete this shipping configuration ?',
+ 'Do you really want to delete this tax ?' => 'Do you really want to delete this tax ?',
+ 'Do you really want to delete this tax rule ?' => 'Do you really want to delete this tax rule ?',
+ 'Do you really want to delete this template ? It will be removed from all products.' => 'Do you really want to delete this template ? It will be removed from all products.',
+ 'Do you really want to delete this variable ?' => 'Do you really want to delete this variable ?',
+ 'Do you really want to enable this element ?' => 'Do you really want to enable this element ?',
+ 'Do you really want to remove the content from this folder ?' => 'Do you really want to remove the content from this folder ?',
+ 'Do you really want to remove this attribute from all product templates ? You\'ll loose all product related data for this attribute.' => 'Do you really want to remove this attribute from all product templates ? You\'ll loose all product related data for this attribute.',
+ 'Do you really want to remove this country ?' => 'Do you really want to remove this country ?',
+ 'Do you really want to remove this feature from all product templates ? You\'ll loose all product related data for this feature.' => 'Do you really want to remove this feature from all product templates ? You\'ll loose all product related data for this feature.',
+ 'Do you really want to remove this feature from the template ?' => 'Do you really want to remove this feature from the template ?',
+ 'Do you really want to remove this related content ?' => 'Do you really want to remove this related content ?',
+ 'Do you really want to remove this zone ?' => 'Do you really want to remove this zone ?',
+ 'Do you really want to use this address by default ?' => 'Do you really want to use this address by default ?',
+ 'Documents' => 'Documents',
+ 'Download invoice as PDF' => 'Download invoice as PDF',
+ 'Download purchase order as PDF' => 'Download purchase order as PDF',
+ 'Drop files to upload' => 'Drop files to upload',
+ 'Drop tax here to create a tax group' => 'Drop tax here to create a tax group',
+ 'Drop tax here to delete from group' => 'Drop tax here to delete from group',
+ 'EAN Code' => 'EAN Code',
+ 'Ecotax is a tax wich add a defined amount (throug a product feature) to the product price.' => 'Ecotax is a tax wich add a defined amount (throug a product feature) to the product price.',
+ 'Edit' => 'Edit',
+ 'Edit a country' => 'Edit a country',
+ 'Edit a currency' => 'Edit a currency',
+ 'Edit a customer' => 'Edit a customer',
+ 'Edit a feature' => 'Edit a feature',
+ 'Edit a language' => 'Edit a language',
+ 'Edit a mailing template' => 'Edit a mailing template',
+ 'Edit a shipping configuration' => 'Edit a shipping configuration',
+ 'Edit a shipping zone' => 'Edit a shipping zone',
+ 'Edit a system variable' => 'Edit a system variable',
+ 'Edit a tax' => 'Edit a tax',
+ 'Edit a tax rule' => 'Edit a tax rule',
+ 'Edit an attribute' => 'Edit an attribute',
+ 'Edit an order' => 'Edit an order',
+ 'Edit category' => 'Edit category',
+ 'Edit category %title' => 'Edit category %title',
+ 'Edit content' => 'Edit content',
+ 'Edit content %title' => 'Edit content %title',
+ 'Edit delivery address' => 'Edit delivery address',
+ 'Edit information in %lng' => 'Edit information in %lng',
+ 'Edit invoice address' => 'Edit invoice address',
+ 'Edit next category' => 'Edit next category',
+ 'Edit order address' => 'Edit order address',
+ 'Edit prices in %curr' => 'Edit prices in %curr',
+ 'Edit product' => 'Edit product',
+ 'Edit product %title' => 'Edit product %title',
+ 'Edit shipping configuration %title' => 'Edit shipping configuration %title',
+ 'Edit shipping zone %title' => 'Edit shipping zone %title',
+ 'Edit tax rule taxes' => 'Edit tax rule taxes',
+ 'Edit this address' => 'Edit this address',
+ 'Edit this category' => 'Edit this category',
+ 'Edit this content' => 'Edit this content',
+ 'Edit this customer' => 'Edit this customer',
+ 'Edit this folder' => 'Edit this folder',
+ 'Edit this language' => 'Edit this language',
+ 'Edit this module' => 'Edit this module',
+ 'Edit this order' => 'Edit this order',
+ 'Edit this product' => 'Edit this product',
+ 'Editing %cat' => 'Editing %cat',
+ 'Editing %title' => 'Editing %title',
+ 'Editing attribute "%name"' => 'Editing attribute "%name"',
+ 'Editing country "%name"' => 'Editing country "%name"',
+ 'Editing currency "%name"' => 'Editing currency "%name"',
+ 'Editing customer "%name"' => 'Editing customer "%name"',
+ 'Editing feature "%name"' => 'Editing feature "%name"',
+ 'Editing mailing template "%name"' => 'Editing mailing template "%name"',
+ 'Editing shipping configuration "%name"' => 'Editing shipping configuration "%name"',
+ 'Editing shipping zone "%name"' => 'Editing shipping zone "%name"',
+ 'Editing tax' => 'Editing tax',
+ 'Editing tax rule' => 'Editing tax rule',
+ 'Editing variable "%name"' => 'Editing variable "%name"',
+ 'Email address' => 'Email address',
+ 'Enable remote SMTP use : ' => 'Enable remote SMTP use : ',
+ 'Enable/Disable' => 'Enable/Disable',
+ 'Enabled coupons' => 'Enabled coupons',
+ 'Encryption' => 'Encryption',
+ 'Encryption :' => 'Encryption :',
+ 'Enter here all possible attribute values.' => 'Enter here all possible attribute values.',
+ 'Enter here all possible feature values. To get a free text feature in product forms, don\'t add any value.' => 'Enter here all possible feature values. To get a free text feature in product forms, don\'t add any value.',
+ 'Enter here the category name in the default language (%title)' => 'Enter here the category name in the default language (%title)',
+ 'Enter here the content name in the default language (%title)' => 'Enter here the content name in the default language (%title)',
+ 'Enter here the feature value as free text' => 'Enter here the feature value as free text',
+ 'Enter here the folder name in the default language (%title)' => 'Enter here the folder name in the default language (%title)',
+ 'Enter here the product name in the default language (%title)' => 'Enter here the product name in the default language (%title)',
+ 'Enter here the product price in the default currency (%title)' => 'Enter here the product price in the default currency (%title)',
+ 'Enter here the product reference' => 'Enter here the product reference',
+ 'Enter here the product weight, in Kilogrammes' => 'Enter here the product weight, in Kilogrammes',
+ 'Enter new attribute position' => 'Enter new attribute position',
+ 'Enter new category position' => 'Enter new category position',
+ 'Enter new content position' => 'Enter new content position',
+ 'Enter new currency position' => 'Enter new currency position',
+ 'Enter new feature position' => 'Enter new feature position',
+ 'Enter new folder position' => 'Enter new folder position',
+ 'Enter new product position' => 'Enter new product position',
+ 'Enter new value position' => 'Enter new value position',
+ 'Error' => 'Error',
+ 'Example :' => 'Example :',
+ 'Existing combinations will be deleted. Do you want to continue ?' => 'Existing combinations will be deleted. Do you want to continue ?',
+ 'Expiration date' => 'Expiration date',
+ 'Expiration date :' => 'Expiration date :',
+ 'Failed to get converted prices. Please try again.' => 'Failed to get converted prices. Please try again.',
+ 'Failed to get prices. Please try again.' => 'Failed to get prices. Please try again.',
+ 'Feature Name' => 'Feature Name',
+ 'Feature information' => 'Feature information',
+ 'Feature title' => 'Feature title',
+ 'Feature value' => 'Feature value',
+ 'Feature value for this product' => 'Feature value for this product',
+ 'Feature values' => 'Feature values',
+ 'Features' => 'Features',
+ 'Files manager' => 'Files manager',
+ 'First orders' => 'First orders',
+ 'FirstName' => 'FirstName',
+ 'Firstname' => 'Firstname',
+ 'Folder created on %date_create. Last modification: %date_change' => 'Folder created on %date_create. Last modification: %date_change',
+ 'Folder title' => 'Folder title',
+ 'Folders' => 'Folders',
+ 'Folders in %fold' => 'Folders in %fold',
+ 'French 19.6% VAT is a tax which add a 19.6% tax to the product price.' => 'French 19.6% VAT is a tax which add a 19.6% tax to the product price.',
+ 'French 19.6% VAT with ecotax is the applicance of the ecotax (on the product price) then the applicance of the 19.6% tax (on the product price + the ecotax amount).' => 'French 19.6% VAT with ecotax is the applicance of the ecotax (on the product price) then the applicance of the 19.6% tax (on the product price + the ecotax amount).',
+ 'From' => 'From',
+ 'General' => 'General',
+ 'General description' => 'General description',
+ 'Go to administration home' => 'Go to administration home',
+ 'H:i:s' => 'H:i:s',
+ 'Home' => 'Home',
+ 'Host' => 'Host',
+ 'Host :' => 'Host :',
+ 'ID' => 'ID',
+ 'ISO 4217 Code' => 'ISO 4217 Code',
+ 'ISO 4217 code' => 'ISO 4217 code',
+ 'ISO 639 Code' => 'ISO 639 Code',
+ 'ISO Code' => 'ISO Code',
+ 'If a translation is missing or incomplete :' => 'If a translation is missing or incomplete :',
+ 'Images' => 'Images',
+ 'Impossible to change default country. Please contact your administrator or try later' => 'Impossible to change default country. Please contact your administrator or try later',
+ 'Impossible to change default languages. Please contact your administrator or try later' => 'Impossible to change default languages. Please contact your administrator or try later',
+ 'In order to manges your shop taxes you can manage' => 'In order to manges your shop taxes you can manage',
+ 'Invoice and Delivery' => 'Invoice and Delivery',
+ 'Invoice date' => 'Invoice date',
+ 'Invoice informations' => 'Invoice informations',
+ 'Invoice reference' => 'Invoice reference',
+ 'Is available on special offers' => 'Is available on special offers',
+ 'Is cumulative' => 'Is cumulative',
+ 'Is enabled' => 'Is enabled',
+ 'Is removing postage' => 'Is removing postage',
+ 'Is unlimited' => 'Is unlimited',
+ 'Kg' => 'Kg',
+ 'Label' => 'Label',
+ 'Language name' => 'Language name',
+ 'Language title' => 'Language title',
+ 'Languages' => 'Languages',
+ 'Languages & URLs' => 'Languages & URLs',
+ 'Languages management' => 'Languages management',
+ 'LastName' => 'LastName',
+ 'Lastname' => 'Lastname',
+ 'Latest version available' => 'Latest version available',
+ 'Leave empty to keep current password' => 'Leave empty to keep current password',
+ 'Lire la suite' => 'Lire la suite',
+ 'List' => 'List',
+ 'Locale' => 'Locale',
+ 'Login' => 'Login',
+ 'Logout' => 'Logout',
+ 'Long description :' => 'Long description :',
+ 'Mailing system' => 'Mailing system',
+ 'Mailing template name' => 'Mailing template name',
+ 'Mailing template purpose' => 'Mailing template purpose',
+ 'Mailing templates' => 'Mailing templates',
+ 'Manage taxes' => 'Manage taxes',
+ 'Manage the tax rule taxes appliance order' => 'Manage the tax rule taxes appliance order',
+ 'Max usage :' => 'Max usage :',
+ 'May be cumulative' => 'May be cumulative',
+ 'Message created on %date_create. Last modification: %date_change' => 'Message created on %date_create. Last modification: %date_change',
+ 'Modules' => 'Modules',
+ 'More information about ISO 4217' => 'More information about ISO 4217',
+ 'NONE' => 'NONE',
+ 'Name' => 'Name',
+ 'New' => 'New',
+ 'New customers' => 'New customers',
+ 'News' => 'News',
+ 'No' => 'No',
+ 'No Folders found' => 'No Folders found',
+ 'No area defined with this id' => 'No area defined with this id',
+ 'No available content in this folder' => 'No available content in this folder',
+ 'No available value for this attribute' => 'No available value for this attribute',
+ 'No country has been created yet. Click the + button to create one.' => 'No country has been created yet. Click the + button to create one.',
+ 'No currency has been created yet. Click the + button to create one.' => 'No currency has been created yet. Click the + button to create one.',
+ 'No folders found' => 'No folders found',
+ 'No mailing template has been created yet. Click the + button to create one.' => 'No mailing template has been created yet. Click the + button to create one.',
+ 'No product attribute has been created yet. Click the + button to create one.' => 'No product attribute has been created yet. Click the + button to create one.',
+ 'No product feature has been created yet. Click the + button to create one.' => 'No product feature has been created yet. Click the + button to create one.',
+ 'No product template has been created yet. Click the + button to create one.' => 'No product template has been created yet. Click the + button to create one.',
+ 'No value has been created yet. Click the + button to create one.' => 'No value has been created yet. Click the + button to create one.',
+ 'N° ISO' => 'N° ISO',
+ 'OK' => 'OK',
+ 'Offline products' => 'Offline products',
+ 'Online' => 'Online',
+ 'Online products' => 'Online products',
+ 'Oops! An Error Occurred' => 'Oops! An Error Occurred',
+ 'Order n°' => 'Order n°',
+ 'Ordered products' => 'Ordered products',
+ 'Orders' => 'Orders',
+ 'Other addresses' => 'Other addresses',
+ 'Overall sales' => 'Overall sales',
+ 'PDF | Invoice' => 'PDF | Invoice',
+ 'PDF | Purchase order' => 'PDF | Purchase order',
+ 'Parameters' => 'Parameters',
+ 'Password' => 'Password',
+ 'Password :' => 'Password :',
+ 'Payment information' => 'Payment information',
+ 'Payment module' => 'Payment module',
+ 'Payment modules' => 'Payment modules',
+ 'Period' => 'Period',
+ 'Phone' => 'Phone',
+ 'Please retry' => 'Please retry',
+ 'Please save your Coupon in oder to affect it some conditions' => 'Please save your Coupon in oder to affect it some conditions',
+ 'Please select a condition category' => 'Please select a condition category',
+ 'Please select a coupon type' => 'Please select a coupon type',
+ 'Please select another condition' => 'Please select another condition',
+ 'Please wait, loading' => 'Please wait, loading',
+ 'Port' => 'Port',
+ 'Port :' => 'Port :',
+ 'Position' => 'Position',
+ 'Postage' => 'Postage',
+ 'Postscriptum' => 'Postscriptum',
+ 'Preview category page' => 'Preview category page',
+ 'Preview folder page' => 'Preview folder page',
+ 'Preview product page' => 'Preview product page',
+ 'Previous month sales' => 'Previous month sales',
+ 'Previous year sales' => 'Previous year sales',
+ 'Price excl. taxes' => 'Price excl. taxes',
+ 'Price
w/ taxes (%currency)' => 'Price
w/ taxes (%currency)',
+ 'Price
w/o taxes (%currency)' => 'Price
w/o taxes (%currency)',
+ 'Product' => 'Product',
+ 'Product Attributes' => 'Product Attributes',
+ 'Product Features' => 'Product Features',
+ 'Product attributes' => 'Product attributes',
+ 'Product catalog configuration' => 'Product catalog configuration',
+ 'Product created on %date_create. Last modification: %date_change' => 'Product created on %date_create. Last modification: %date_change',
+ 'Product features' => 'Product features',
+ 'Product price' => 'Product price',
+ 'Product templates' => 'Product templates',
+ 'Product title' => 'Product title',
+ 'Product weight' => 'Product weight',
+ 'Products' => 'Products',
+ 'Products in %cat' => 'Products in %cat',
+ 'Profil' => 'Profile',
+ 'Profile' => 'Profile',
+ 'Profile code' => 'Profile code',
+ 'Profiles' => 'Profiles',
+ 'Purpose' => 'Purpose',
+ 'Quantity' => 'Quantity',
+ 'Quickly create combinations using the combination builder' => 'Quickly create combinations using the combination builder',
+ 'Rate' => 'Rate',
+ 'Rate from Euro' => 'Rate from Euro',
+ 'Rate in €' => 'Rate in €',
+ 'Reference' => 'Reference',
+ 'Related content' => 'Related content',
+ 'Remove associated folder' => 'Remove associated folder',
+ 'Remove country' => 'Remove country',
+ 'Remove feature' => 'Remove feature',
+ 'Remove from all product templates' => 'Remove from all product templates',
+ 'Remove related content' => 'Remove related content',
+ 'Remove selected values' => 'Remove selected values',
+ 'Remove the product from this category' => 'Remove the product from this category',
+ 'Remove this attribute from all product templates' => 'Remove this attribute from all product templates',
+ 'Remove this feature from all product templates' => 'Remove this feature from all product templates',
+ 'Remove zone' => 'Remove zone',
+ 'Resources' => 'Resources',
+ 'Rewritten URL' => 'Rewritten URL',
+ 'Sale' => 'Sale',
+ 'Sale price
w/ taxes (%currency)' => 'Sale price
w/ taxes (%currency)',
+ 'Sale price
w/o taxes (%currency)' => 'Sale price
w/o taxes (%currency)',
+ 'Sales' => 'Sales',
+ 'Sales excluding shipping' => 'Sales excluding shipping',
+ 'Sales statistics' => 'Sales statistics',
+ 'Save' => 'Save',
+ 'Save and close' => 'Save and close',
+ 'Save chages' => 'Save chages',
+ 'Save changes' => 'Save changes',
+ 'Save this condition' => 'Save this condition',
+ 'Save your modifications' => 'Save your modifications',
+ 'Search' => 'Search',
+ 'Select a content and click (+) to add it to this category' => 'Select a content and click (+) to add it to this category',
+ 'Select a folder and click (+) to add it to the additional folder list' => 'Select a folder and click (+) to add it to the additional folder list',
+ 'Select a folder content...' => 'Select a folder content...',
+ 'Select a folder to get its content' => 'Select a folder to get its content',
+ 'Select a folder...' => 'Select a folder...',
+ 'Select a tax tule' => 'Select a tax tule',
+ 'Select a value click (+) to add it to the combination' => 'Select a value click (+) to add it to the combination',
+ 'Select an attribute and click (+) to view available values' => 'Select an attribute and click (+) to view available values',
+ 'Select an attribute value...' => 'Select an attribute value...',
+ 'Select an attribute...' => 'Select an attribute...',
+ 'Select an feature and click (+) to add it to this template' => 'Select an feature and click (+) to add it to this template',
+ 'Select an feature...' => 'Select an feature...',
+ 'Select attribute values to combine. You may enter a default value for some of the fields of the generated combinations.' => 'Select attribute values to combine. You may enter a default value for some of the fields of the generated combinations.',
+ 'Select here the tax applicable to this product' => 'Select here the tax applicable to this product',
+ 'Send a mail to this customer' => 'Send a mail to this customer',
+ 'Send files' => 'Send files',
+ 'Set as default tax rule' => 'Set as default tax rule',
+ 'Shipping configuration' => 'Shipping configuration',
+ 'Shipping configuration name' => 'Shipping configuration name',
+ 'Shipping zones' => 'Shipping zones',
+ 'Shop' => 'Shop',
+ 'Shop Informations' => 'Shop Informations',
+ 'Short conclusion' => 'Short conclusion',
+ 'Short description' => 'Short description',
+ 'Short description :' => 'Short description :',
+ 'Show logs' => 'Show logs',
+ 'Source IP' => 'Source IP',
+ 'Source IP :' => 'Source IP :',
+ 'Status' => 'Status',
+ 'Street address' => 'Street address',
+ 'Subject' => 'Subject',
+ 'Superadministrator' => 'Superadministrator',
+ 'Symbol' => 'Symbol',
+ 'System logs' => 'System logs',
+ 'System parameters' => 'System parameters',
+ 'System variables' => 'System variables',
+ 'Tax' => 'Tax',
+ 'Tax created on %date_create. Last modification: %date_change' => 'Tax created on %date_create. Last modification: %date_change',
+ 'Tax rule created on %date_create. Last modification: %date_change' => 'Tax rule created on %date_create. Last modification: %date_change',
+ 'Tax rule taxes will be update for the following countries :' => 'Tax rule taxes will be update for the following countries :',
+ 'Tax rules are combination of different taxes.' => 'Tax rules are combination of different taxes.',
+ 'Taxed total' => 'Taxed total',
+ 'Taxes' => 'Taxes',
+ 'Taxes rules' => 'Taxes rules',
+ 'Template title' => 'Template title',
+ 'The detailed description.' => 'The detailed description.',
+ 'The mailing template in HTML format.' => 'The mailing template in HTML format.',
+ 'The mailing template in text-only format.' => 'The mailing template in text-only format.',
+ 'The rate from Euro (Price in Euro * rate = Price in this currency)' => 'The rate from Euro (Price in Euro * rate = Price in this currency)',
+ 'Thelia Back Office' => 'Thelia Back Office',
+ 'Thelia Languages' => 'Thelia Languages',
+ 'Thelia Mailing System' => 'Thelia Mailing System',
+ 'Thelia Mailing Templates' => 'Thelia Mailing Templates',
+ 'Thelia Product Attributes' => 'Thelia Product Attributes',
+ 'Thelia Product Features' => 'Thelia Product Features',
+ 'Thelia Product Templates' => 'Thelia Product Templates',
+ 'Thelia Shipping configuration' => 'Thelia Shipping configuration',
+ 'Thelia Shipping zones' => 'Thelia Shipping zones',
+ 'Thelia System Variables' => 'Thelia System Variables',
+ 'Thelia configuration' => 'Thelia configuration',
+ 'Thelia informations' => 'Thelia informations',
+ 'Thelia mailing templates' => 'Thelia mailing templates',
+ 'Thelia product attributes' => 'Thelia product attributes',
+ 'Thelia product features' => 'Thelia product features',
+ 'Thelia product templates' => 'Thelia product templates',
+ 'Thelia system variables' => 'Thelia system variables',
+ 'There is no documents attached to this %type.' => 'There is no documents attached to this %type.',
+ 'There is no images attached to this %type.' => 'There is no images attached to this %type.',
+ 'They are some administrator which are linked to this administrator. Please edit/remove them before deleting this administrator.' => 'They are some administrator which are linked to this administrator. Please edit/remove them before deleting this administrator.',
+ 'They are some administrator which are linked to this profile. Please edit/remove them before deleting this profile.' => 'They are some administrator which are linked to this profile. Please edit/remove them before deleting this profile.',
+ 'This category contains no contents' => 'This category contains no contents',
+ 'This category doesn\'t contains any products. To add a new product, click the + button above.' => 'This category doesn\'t contains any products. To add a new product, click the + button above.',
+ 'This category has no sub-categories.' => 'This category has no sub-categories.',
+ 'This category has no sub-categories. To create a new one, click the + button above.' => 'This category has no sub-categories. To create a new one, click the + button above.',
+ 'This folder doesn\'t contains any contents. To add a new content, click the + button above.' => 'This folder doesn\'t contains any contents. To add a new content, click the + button above.',
+ 'This folder has no sub-folders.' => 'This folder has no sub-folders.',
+ 'This folder has no sub-folders. To create a new one, click the + button above.' => 'This folder has no sub-folders. To create a new one, click the + button above.',
+ 'This month' => 'This month',
+ 'This product doesn\'t belong to any additional folder.' => 'This product doesn\'t belong to any additional folder.',
+ 'This product template does not contains any features' => 'This product template does not contains any features',
+ 'This template contains no features' => 'This template contains no features',
+ 'This year' => 'This year',
+ 'Timeout' => 'Timeout',
+ 'Timeout :' => 'Timeout :',
+ 'Title' => 'Title',
+ 'Title :' => 'Title :',
+ 'To' => 'To',
+ 'To remove a value from the combination, select it and click "remove"' => 'To remove a value from the combination, select it and click "remove"',
+ 'Today' => 'Today',
+ 'Top level' => 'Top level',
+ 'Top level Contents' => 'Top level Contents',
+ 'Top level Products' => 'Top level Products',
+ 'Top level categories' => 'Top level categories',
+ 'Top level folders' => 'Top level folders',
+ 'Total' => 'Total',
+ 'Total including discount' => 'Total including discount',
+ 'Total without discount' => 'Total without discount',
+ 'Transaction reference' => 'Transaction reference',
+ 'Type :' => 'Type :',
+ 'Unit taxed price' => 'Unit taxed price',
+ 'Unit. price' => 'Unit. price',
+ 'Unlimited' => 'Unlimited',
+ 'Update' => 'Update',
+ 'Update a new administrator' => 'Update a new administrator',
+ 'Update coupon' => 'Update coupon',
+ 'Update rates' => 'Update rates',
+ 'Update tax rule taxes' => 'Update tax rule taxes',
+ 'Update this image' => 'Update this image',
+ 'Usage left' => 'Usage left',
+ 'Use Ctrl+click to select more than one value. You can also clear selected values.' => 'Use Ctrl+click to select more than one value. You can also clear selected values.',
+ 'Use address by default' => 'Use address by default',
+ 'Use this address by default' => 'Use this address by default',
+ 'Username' => 'Username',
+ 'Username :' => 'Username :',
+ 'Using a domain or subdomain for each language' => 'Using a domain or subdomain for each language',
+ 'Value' => 'Value',
+ 'Variable created on %date_create. Last modification: %date_change' => 'Variable created on %date_create. Last modification: %date_change',
+ 'Variable name' => 'Variable name',
+ 'Variable purpose' => 'Variable purpose',
+ 'Variable value' => 'Variable value',
+ 'Version %ver' => 'Version %ver',
+ 'View' => 'View',
+ 'View shop' => 'View shop',
+ 'View site' => 'View site',
+ 'Visibility' => 'Visibility',
+ 'Warning' => 'Warning',
+ 'Weight
(Kg)' => 'Weight
(Kg)',
+ 'Will be available on special offers' => 'Will be available on special offers',
+ 'Won\'t remove postage' => 'Won\'t remove postage',
+ 'Yes' => 'Yes',
+ 'Yesterday sales' => 'Yesterday sales',
+ 'You can attach here some content to this category' => 'You can attach here some content to this category',
+ 'You can attach this product to more categories in the details tab.' => 'You can attach this product to more categories in the details tab.',
+ 'You can change the default folder (%title) in the "General" tab.' => 'You can change the default folder (%title) in the "General" tab.',
+ 'You can\'t delete this administrator' => 'You can\'t delete this administrator',
+ 'You can\'t delete this profile' => 'You can\'t delete this profile',
+ 'Zip code' => 'Zip code',
+ 'Zones' => 'Zones',
+ 'activate' => 'activate',
+ 'and' => 'and',
+ 'classic modules' => 'classic modules',
+ 'code' => 'code',
+ 'company' => 'company',
+ 'customer ref' => 'customer ref',
+ 'd-m-Y' => 'd-m-Y',
+ 'date form' => 'date form',
+ 'days left' => 'days left',
+ 'deactivate' => 'deactivate',
+ 'deactivation' => 'deactivation',
+ 'en_US' => 'en_US',
+ 'firstname & lastname' => 'firstname & lastname',
+ 'last order' => 'last order',
+ 'long description' => 'long description',
+ 'max usage' => 'max usage',
+ 'order amount' => 'order amount',
+ 'orders for this customer' => 'orders for this customer',
+ 'short description' => 'short description',
+ 'tax rules' => 'tax rules',
+ 'taxes' => 'taxes',
+ 'time form' => 'time form',
+ 'title' => 'title',
+ 'tracking reference' => 'tracking reference',
+ 'uncheck all' => 'uncheck all',
+ 'you can combine taxes in tax rules and chose if they are applied one after the other or at the same time : it allows to apply taxes on an already taxed price or not.' => 'you can combine taxes in tax rules and chose if they are applied one after the other or at the same time : it allows to apply taxes on an already taxed price or not.',
+ 'yyyy-mm-dd' => 'yyyy-mm-dd',
);
diff --git a/templates/backOffice/default/I18n/fr_FR.php b/templates/backOffice/default/I18n/fr_FR.php
index 6ac502754..c447b6d4c 100755
--- a/templates/backOffice/default/I18n/fr_FR.php
+++ b/templates/backOffice/default/I18n/fr_FR.php
@@ -6,6 +6,9 @@ return array(
'(edit)' => '(modification)',
'14.50' => '14.50',
'0 combinations' => '0 combinaisons',
+ 'Cannot translate all fields. According to your PHP configuration, forms cannot contains more than
+ %current_max_input_vars input fields, but at least %required_max_input_vars are required. Please change the value of max_input_vars in your PHP configuration
+ of change the translation file by hand.' => 'Impossible de traduire tout les champs. Selon votre configuration PHP, les formulaires ne peuvent pas contenir plus de %current_max_input_vars champs input, mais au moins %required_max_input_vars sont nécessaire. Vous devez changer la valeur max_input_vars dans votre fichier de configuration PHP ou modifier le fichier de traduction manuellement.',
'Congratulations, all text is now translated !' => 'Félicitation, tout est traduit !',
'Did not found any text to translate. It\'s probably normal. If not, please be sure to use Smarty\'s "intl" function in templates, or the Translator::trans() method in PHP files.' => 'Aucun texte à traduire trouvé. Cela est probablement normal. Sinon veuillez-vous assurer d\'utiliser la fonction Smarty intl dans vos templates, ou la méthode Translator::trans() dans vos fichiers PHP.',
'A content could be attached to more than one folder. Select here the additional folders for this content.' => 'Un contenu peut-être lié à un ou plusieurs fichier. Sélectionnez ici les dossiers additionnels pour ce contenu.',
@@ -78,6 +81,8 @@ return array(
'Can\'t be cumulative' => 'Ne peut être cumulé',
'Can\'t load documents, please refresh this page.' => 'Impossible de charger le document, veuillez rafraîchir cette page.',
'Can\'t load images, please refresh this page.' => 'Impossible de charger les images, veuillez rafraîchir cette page.',
+ 'Can\'t reorder documents, please refresh this page.' => 'Impossible de réorganiser les documents, rafraichissez la page.',
+ 'Can\'t reorder images, please refresh this page.' => 'Impossible de réorganiser les images, rafraichissez la page.',
'Cancel' => 'Annuler',
'Cancel changes and revert to original value' => 'Annuler les modifications et revenir à la version antérieure',
'Cancel this order' => 'Annuler cette commande',
@@ -106,6 +111,7 @@ return array(
'Change this tax rule' => 'Modifier cette règle de taxe',
'Change this template' => 'Modifier ce template',
'Change this variable' => 'Modifier cette variable',
+ 'Chapo' => 'Chapeau',
'Check this box if you want to add this attributes to all product templates' => 'Cochez cette case si vous voulez ajouter cette déclinaison à tous les templates produits',
'Check this box if you want to add this features to all product templates' => 'Cochez cette case si voulez ajouter cette caractéristique à tous les templates produit.',
'Choose a country' => 'Choisissez un pays',
@@ -309,6 +315,7 @@ return array(
'Document' => 'Document',
'Document informations' => 'Informations sur le document',
'Documents' => 'Documents',
+ 'Don\'t repeat keywords over and over in a row. Rather, put in keyword phrases.' => 'Ne pas répéter les mots-clés. Il est préférable de les intégrer dans des phrases.',
'Download invoice as PDF' => 'Télécharger la facture au format PDF',
'Download purchase order as PDF' => 'Télécharger le bon de commande au format PDF',
'Drop files to upload' => 'Déposez des fichiers à envoyer',
@@ -430,6 +437,7 @@ return array(
'Enter new currency position' => 'Modifier la position de la devise',
'Enter new feature position' => 'Modifier la position de la caractéristique',
'Enter new folder position' => 'Modifier la position du dossier',
+ 'Enter new module position' => 'Entrez l\'emplacement du nouveau module',
'Enter new product position' => 'Classement du produit',
'Enter new value position' => 'Entrez une nouvelle position',
'Enter one or more IP V4 addresses separated by ";". Leave empty to display logs for all IP addresses' => 'Entrez une ou plusieurs adresses IP V4 séparées par un ";". Laissez vide afin d\'afficher les logs pour toutes les adresses IP',
@@ -441,6 +449,7 @@ return array(
'Expiration date :' => 'Date de fin de validité',
'Failed to get converted prices. Please try again.' => 'Erreur lors de la récupération des prix convertis. Veuillez réessayer.',
'Failed to get prices. Please try again.' => 'Erreur lors de la récupération des prix. Veuillez réessayer.',
+ 'Fax number' => 'Numéro de fax',
'Feature Name' => 'Nom de la caractéristique',
'Feature information' => 'Informations sur la caractéristique',
'Feature title' => 'Titre de la caractéristique',
@@ -501,6 +510,7 @@ return array(
'Is enabled' => 'Est valide',
'Is removing postage' => 'Offre les frais de port',
'Is unlimited' => 'Est illimité',
+ 'Keep the most important part of your description in the first 150-160 characters.' => 'Insérez la partie la plus importante de votre description dans les 150-160 premiers caractères.',
'Kg' => 'Kg',
'Label' => 'Libellé',
'Language name' => 'Nom de la langue',
@@ -528,6 +538,8 @@ return array(
'Mailing template name' => 'Nom du template de mailing',
'Mailing template purpose' => 'Objectif du template de mailing',
'Mailing templates' => 'Template e-mail',
+ 'Make sure it uses keywords found within the page itself.' => 'Assurez-vous d\'utiliser des mot-clés qui apparaissent dans le contenu de la page en cours.',
+ 'Make sure that your title is clear, and contains many of the keywords within the page itself.' => 'Assurez-vous que votre titre est clair et qu\'il contient les mot clés pertinents de la page en cours.',
'Manage module rights' => 'Gestion des accès aux modules',
'Manage resource rights' => 'Gérer les droits d\'accès aux ressources',
'Manage taxes' => 'Gérer les taxes',
@@ -573,6 +585,9 @@ return array(
'Order n°' => 'Commande n°',
'Ordered products' => 'Produits commandés',
'Orders' => 'Commandes',
+ 'Originating file line number ' => 'Nombre de ligne du fichier d\'origine.',
+ 'Originating file name' => 'Nom du fichier d\'origine.',
+ 'Originating function name ' => 'Nom de la fonction d\'origine.',
'Other addresses' => 'Autres adresses',
'Overall sales' => 'Total des ventes',
'PDF templates' => 'Template PDF',
@@ -669,7 +684,7 @@ return array(
'Rewritten URL' => 'URL réécrites',
'Rights' => 'Droits',
'SEO' => 'SEO',
- 'Sale' => 'Vente',
+ 'Sale' => 'En promo',
'Sale price incl. taxes' => 'Prix de vente taxes incluses',
'Sale price
w/ taxes (%currency)' => 'Prix de vente
sans taxes (%currency)',
'Sale price
w/o taxes (%currency)' => 'Prix de vente
avec taxes (%currency)',
@@ -714,6 +729,7 @@ return array(
'Select which items you want to translate' => 'Sélectionnez quels éléments vous voulez traduire',
'Send a mail to this customer' => 'Contacter ce client par mail',
'Send files' => 'Envoyer des fichiers',
+ 'Sequential number of log line' => 'Numéro de ligne du log.',
'Set as default tax rule' => 'Configurer en tant que règle par défaut',
'Shipping configuration' => 'Configuration du transport',
'Shipping configuration name' => 'Nom de la configuration de livraison',
@@ -740,6 +756,7 @@ return array(
'Status' => 'Etat',
'Store' => 'Magasin',
'Store Business Identification Number (SIRET, etc).' => 'Numéro d\'identification de votre magasin (SIRET, etc).',
+ 'Store address' => 'Adresse du magasin',
'Store configuration' => 'Configuration du magasin',
'Street address' => 'Adresse',
'Subject' => 'Sujet',
@@ -763,7 +780,9 @@ return array(
'Template title' => 'Titre du template',
'Templates' => 'Templates',
'Text version of this message' => 'Version texte de ce message',
+ 'The HTML TITLE element is the most important element on your web page.' => 'La balise HTML TITLE est l\'élément le plus important de votre page.',
'The default pricing is used when no combination is defined.' => 'Le tarif par défaut est utilisé lorsque aucune combinaison n\'est définie.',
+ 'The destinations processes logs to display, store or send them. You can select and configure zero, one or more destinations below.' => 'Destinations des processus de journaux à afficher, stocker ou envoyer. Vous pouvez sélectionner et configurer aucune, une ou plusieurs destinations ci-dessous.',
'The detailed description.' => 'La description détaillée.',
'The mailing template in HTML format.' => 'Le template de mailing au format HTML',
'The mailing template in text-only format.' => 'Le template de mailing en format text-only.',
@@ -821,7 +840,7 @@ return array(
'This year' => 'Cette année',
'Timeout' => 'Timeout',
'Timeout :' => 'Timeout:',
- 'Title' => 'Civilité',
+ 'Title' => 'Titre',
'Title :' => 'Titre',
'To' => 'A',
'To create a new content, select an existing folder, or create a new one.' => 'Piur créer un nouveau contenu, choisissez un des dossiers ci dessus, ou créez un nouveau dossier.',
@@ -855,6 +874,7 @@ return array(
'Use Text message defined below' => 'Utiliser le message Text défini ci-dessous',
'Use address by default' => 'Utiliser comme adresse par défaut',
'Use default layout' => 'Utiliser le layout par défaut',
+ 'Use the keyword phrase in your URL.' => 'Utilisez les mot-clés importants de la page dans votre URL.',
'Use this address by default' => 'Utiliser comme adresse par défaut',
'Used in your store front' => 'Utilisé dans votre vitrine',
'Username' => 'Nom d\'utilisateur',
@@ -887,6 +907,7 @@ return array(
'You can change the default folder (%title) in the "General" tab.' => 'Vous pouvez modifier le dossier par défaut (%title) dans l\'onglet "Général".',
'You can\'t delete this administrator' => 'Vous ne pouvez pas supprimer cet administrateur',
'You can\'t delete this profile' => 'Vous ne pouvez pas supprimer ce profil',
+ 'You don\'t need to use commas or other punctuations.' => 'Il n\'est pas nécessaire d\'utiliser d\'apostrophe ou autre ponctuation.',
'Your current IP address is %ip' => 'Votre adresse IP courante est %ip',
'Zip code' => 'Code postal',
'Zones' => 'Zones',
diff --git a/templates/frontOffice/default/I18n/fr_FR.php b/templates/frontOffice/default/I18n/fr_FR.php
index 81af6027e..0ffe8243e 100755
--- a/templates/frontOffice/default/I18n/fr_FR.php
+++ b/templates/frontOffice/default/I18n/fr_FR.php
@@ -3,17 +3,19 @@
return array(
'%nb Item' => '%nb produit',
'%nb Items' => '%nb produits',
+ '+' => '+',
'+ View All' => '+ Voir tout',
'404' => '404',
+ 'Sorry! We are not able to give you a delivery method for your order.' => 'Désolé ! Nous n\'avons aucune méthode de livraison pour votre commande.',
'A summary of your order email has been sent to the following address' => 'Un récapitulatif de commande vows a été envoyé par e-mail à l\'adresse suivante : ',
'Account' => 'Mon compte',
'Add a new address' => 'Ajouter une nouvelle adresse',
'Add to cart' => 'Ajouter au panier',
'Additional Info' => 'Informations complémentaires',
+ 'Address' => 'Adresse',
'Address %nb' => 'Adresse n°',
'Address Update' => 'Mise à jour de l\'adresse',
- 'Address' => 'Adresse',
- 'Address Line 2'=>'Complément d\'adresse',
+ 'All rights reserved.' => 'Tout droits réservés.',
'Amount' => 'Montant',
'Availability' => 'Disponibilité',
'Available' => 'Disponible',
@@ -23,102 +25,95 @@ return array(
'Cancel' => 'Annuler',
'Cart' => 'Panier',
'Categories' => 'Catégories',
- 'Cellphone'=> 'Portable',
+ 'Change Password' => 'Modifier mon mot de passe',
'Change address' => 'Changer d\'adresse',
'Change my account information' => 'Modifier mes informations personnelles',
'Change my password' => 'Changer mon mot de passe',
- 'Change Password' => 'Modifier mon mot de passe',
'Check my order' => 'Vérifier ma commmande',
'Checkout' => 'Payer',
'Choose your delivery address' => 'Choisissez une adresse de livraison',
'Choose your delivery method' => 'Choisissez votre moyen de livraison',
'Choose your payment method' => 'Choisissez voter moyen de paiement',
'Code :' => 'Code',
- 'Company Name'=>'Entreprise',
- 'Complementary address' => 'Résidence secondaire',
'Contact Us' => 'Contactez-nous',
'Continue Shopping' => 'Continuer mes achats',
'Copyright' => 'Copyright',
'Coupon code' => 'Code promo',
+ 'Create' => 'Créer',
'Create New Account' => 'Créer un nouveau compte',
'Create New Address' => 'Créer une nouvelle adresse',
- 'Create' => 'Créer',
- 'Currency:' => 'Monnaie',
+ 'Currency' => 'Devise',
+ 'Currency:' => 'Devise',
'Date' => 'Date',
- 'Delete address' => 'Supprimer cette adresse',
- 'Delivery address' => 'Adresse de livraison',
'Delivery Information' => 'Informations de livraison',
+ 'Delivery address' => 'Adresse de livraison',
'Demo product description' => 'Exemple de description de produit',
'Demo product title' => 'Exemple de titre',
'Description' => 'Description',
'Do you have an account?' => 'Avez-vous déjà un compte ?',
'Do you really want to delete this address ?' => 'Voulez-vous vraiment supprimer cette adresse ?',
- 'Edit this address' => 'Editer cette adresse',
'Edit' => 'Editer',
+ 'Edit this address' => 'Editer cette adresse',
'Email address' => 'Adresse e-mail',
- 'Email Address' => 'Adresse e-mail',
+ 'Email not displaying correctly?' => 'L\'e-mail ne s\'affiche pas correctement ?',
+ 'Facebook' => 'Facebook',
'Follow us' => 'Suivez-nous',
'Follow us introduction' => 'Sur les réseaux :',
'Forgot your Password?' => 'Mot de passe oublié ?',
'Free shipping' => 'Livraison gratuite',
'Go home' => 'Retour à l\'accueil',
+ 'Google+' => 'Google+',
'Grid' => 'Grille',
- 'Home address' => 'Résidence principale',
'Home' => 'Accueil',
'In Stock' => 'Disponible',
- 'instead of' => 'au lieu de',
- 'Item(s)' => 'Produit(s)',
- 'I would like to receive the newsletter or the latest news.' => 'Je veux m\'inscrire à la newsletter pour rester informé.',
+ 'Instagram' => 'Instagram',
+ 'Language' => 'Langue',
'Language:' => 'Langue',
+ 'Latest' => 'Nouveautés',
'Latest articles' => 'Nouveaux articles',
'Latest products' => 'Derniers produits',
- 'Latest' => 'Nouveautés',
- 'List of orders' => 'Liste de mes commandes',
'List' => 'Liste',
+ 'List of orders' => 'Liste de mes commandes',
'Log In!' => 'Se connecter',
'Log out!' => 'Se déconnecter',
- 'Login Information' => 'Informations de connexion',
'Login' => 'Connexion',
+ 'Login Information' => 'Informations de connexion',
'Main Navigation' => 'Navigation principale',
'Minimum 2 characters.' => '2 caractères minimum.',
- 'missing or invalid data' => 'Information éronnée ou incomplète',
- 'Multi-payment platform' => 'Plateforme de paiement en ligne',// bizarre ?
+ 'Multi-payment platform' => 'Plateforme de paiement en ligne',
'My Account' => 'Mon compte',
- 'My Address book' => 'Mon carnet d\'adresses',
'My Address Books' => 'Mes carnets d\'adresses',
- 'My order' => 'Ma commande',
+ 'My Address book' => 'Mon carnet d\'adresses',
'My Orders' => 'Mes commandes',
+ 'My order' => 'Ma commande',
+ 'Name' => 'Nom',
'Name ascending' => 'Nom croissant',
'Name descending' => 'Nom décroissant',
- 'Name' => 'Nom',
'Need help ?' => 'Besoin d\'aide? ',
- 'Newsletter Subscription' => 'Inscription à la newsletter',
'Newsletter' => 'Newsletter',
- 'Next product' => 'Produits suivants',
+ 'Newsletter Subscription' => 'Inscription à la newsletter',
+ 'Next' => 'Suivant',
'Next Step' => 'Etape suivante',
- 'Next' => 'Suivant',
- 'Next' => 'Suivant',
+ 'Next product' => 'Produits suivants',
+ 'No Content in this folder.' => 'Aucun contenu dans ce dossier.',
'No articles currently' => 'Actuellement aucun article',
- 'No, I am a new customer.' => 'Non, je suis un nouveau client.',
'No products available in this category' => 'Aucun produit dans cette catégorie.',
'No results found' => 'Aucun résultat',
- 'No' => 'Non',
'No.' => 'N°',
'Offers' => 'Promotions',
'Ok' => 'Ok',
'Order details' => 'Détail de commande',
'Order number' => 'Commande numéro',
- 'Orders over $50' => 'Commandes supérieures à 50€',//ne devrait-on pas mettre une variable ici?
- 'Out of stock' => 'Indisponible',
+ 'Orders over $50' => 'Commandes supérieures à 50€',
+ 'Our mailing address is:' => 'Notre adresse mail est :',
+ 'Out of Stock' => 'Hors stock',
'Pagination' => 'Pagination',
- 'Password Forgotten' => 'Mot de passe oublié',
'Password' => 'Mot de passe',
- 'Password confirmation'=>"Confirmer le mot de passe",
- 'per page' => 'par page',
+ 'Password Forgotten' => 'Mot de passe oublié',
'Personal Information' => 'Informations personnelles',
'Placeholder address label' => 'Maison, Domicile, Travail...',
'Placeholder address1' => 'Adresse',
- 'Placeholder address2' => '',
+ 'Placeholder address2' => 'Adresse suite',
'Placeholder cellphone' => 'Portable',
'Placeholder city' => 'Ville',
'Placeholder company' => 'Compagnie',
@@ -131,46 +126,43 @@ return array(
'Placeholder lastname' => 'Nom de famille',
'Placeholder phone' => 'Téléphone',
'Placeholder zipcode' => 'Code postal',
- 'Please enter your email address' => 'Veuillez saisir votre adresse e-mail',
'Please enter your email address below.' => 'Veuillez saisir votre adresse e-mail ci-dessous.',
'Position' => 'Position',
- 'Previous product' => 'Produits précédents',
'Previous' => 'Précédent',
+ 'Previous product' => 'Produits précédents',
+ 'Price' => 'Prix',
'Price ascending' => 'Prix croissant',
'Price descending' => 'Prix décroissant',
- 'Price' => 'Prix',
'Proceed checkout' => 'Payer',
'Product Empty Button' => 'Ajouter mon premier produit',
- 'Product Empty Message' => 'C\'est très simple d\'ajouter un produit dans l\'adminsitration.
-
- - N\'oubliez pas de sélectionner NEW dans l\'onglet Details afin de voir votre produit dans la section des nouveautés.
- - N\'oubliez pas de sélectionner SALE dans l\'onglet Details afin de voir votre produit dans la section des promotions.
-
',
+ 'Product Empty Message' => 'C\'est très simple d\'ajouter un produit dans l\'administration. - N\'oubliez pas de sélectionner NEW dans l\'onglet Details afin de voir votre produit dans la section des nouveautés.
- N\'oubliez pas de sélectionner SALE dans l\'onglet Details afin de voir votre produit dans la section des promotions.
',
'Product Empty Title' => 'Bonjour',
'Product Name' => 'Nom du produit',
'Product Offers' => 'Produits en promotion',
- 'products' => 'produits',
'Qty' => 'Qté',
'Quantity' => 'Quantité',
- 'Questions ? See or F.A.Q.' => 'Des questions ? Voir la F.A.Q.', // bizarre le 'see or '
+ 'Questions ? See or F.A.Q.' => 'Des questions ? Voir la F.A.Q.',
+ 'RSS' => 'RSS',
'Rating' => 'Avis',
- 'Ref.' => '',
- 'Register!' => 'S\'inscrire !',
+ 'Ref.' => 'Ref.',
'Register' => 'S\'inscrire',
+ 'Register!' => 'S\'inscrire !',
'Regular Price:' => 'Prix :',
- 'Related' => 'Liés', // voir le contexte pour l'accord
- 'Remove this address' => 'Supprimer cette adresse',
+ 'Related' => 'Liés',
'Remove' => 'Supprimer',
- 'Search a product' => 'Chercher un produit',
- 'Search Result for' => 'Résultat de recherche pour',
+ 'Remove this address' => 'Supprimer cette adresse',
+ 'SELECT YOUR CURRENCY' => 'Sélectionnez votre devise',
+ 'SELECT YOUR LANGUAGE' => 'Sélectionnez votre langue',
'Search' => 'Recherche',
+ 'Search Result for' => 'Résultat de recherche pour',
+ 'Search a product' => 'Chercher un produit',
'Search...' => 'Recherche…',
- 'Secure payment' => 'Paiement sécurisé',
'Secure Payment' => 'Paiement sécurisé',
+ 'Secure payment' => 'Paiement sécurisé',
'Select Country' => 'Choisissez un pays',
'Select Title' => 'Civilité',
- 'Send us a message' => 'Envoyer nous un message',
'Send' => 'Envoyer',
+ 'Send us a message' => 'Envoyer nous un message',
'Shipping Tax' => 'Frais de livraison',
'Show' => 'Voir',
'Sign In' => 'Se connecter',
@@ -179,32 +171,31 @@ return array(
'Sort By' => 'Trier par',
'Special Price:' => 'Prix en promotion :',
'Status' => 'Etat',
- 'Street Address'=>"Adresse",
'Subscribe' => 'Inscription',
- 'Tax Inclusive' => 'TVA incluse',
'Thank you for the trust you place in us.' => 'Merci pour votre confiance. ',
'Thanks !' => 'Merci !',
- 'Thanks for signing up! We\'ll keep you posted whenever we have any new updates.' => '',
- 'Thanks for your message, we will contact as soon as possible.' => '',
- 'The page cannot be found' => '',
+ 'Thanks for signing up! We\'ll keep you posted whenever we have any new updates.' => 'Merci de votre inscription ! Nous vous tiendrons informé dès qu\'il y aura des nouveautés.',
+ 'Thanks for your message, we will contact as soon as possible.' => 'Merci de votre message, nous vous contacterons dès que possible.',
+ 'The page cannot be found' => 'La page ne peut pas être trouvée',
'Thelia V2' => 'Thelia v2',
'Toggle navigation' => 'Navigation alternative',
'Total' => 'Total',
- 'TTC' => 'TTC',
+ 'Twitter' => 'Twitter',
'Unit Price' => 'Prix unitaire',
- 'Update Profile' => 'Mettre à jour votre profil',
'Update' => 'Mettre à jour',
+ 'Update Profile' => 'Mettre à jour votre profil',
+ 'Update Quantity' => 'Mettre à jour la quantité',
'Upsell Products' => 'Nous vous proposons également',
'Useful links' => 'Liens utiles',
+ 'View' => 'Voir',
+ 'View Cart' => 'Voir mon panier',
'View all' => ' Voir tout',
'View as' => 'Voir en tant que ',
- 'View Cart' => 'Voir mon panier',
+ 'View it in your browser' => 'Visualiser le dans votre navigateur.',
'View order %ref as pdf document' => 'Ouvrir la commande %ref dans un pdf',
'View product' => 'Voir le produit',
- 'View' => 'Voir',
'Warning' => 'Attention',
- 'Yes' => 'Oui',
- 'Yes, I have a password :' => 'Oui, j\'ai déjà un mot de passe',
+ 'Welcome to Thelia. This is a demo site built with Thelia V2 an E-Commerce solution based on Symfony 2.' => 'Bienvenue sur cette boutique Thelia. ce site est une version demo motorisée par la solution e-commerce Thelia v2 basée sur symfony 2.',
'You are here:' => 'Vous êtes ici :',
'You choose to pay by' => 'Vous avez choisi de payer par',
'You don\'t have orders yet.' => 'Vous n\'avez pas encore de commande.',
@@ -215,4 +206,8 @@ return array(
'Your Cart' => 'Votre panier',
'Your email address' => 'Votre adresse e-mail',
'Your order will be confirmed by us upon receipt of your payment.' => 'Votre commande sera confirmée à réception de votre pavement.',
+ 'Youtube' => 'Youtube',
+ 'instead of' => 'au lieu de',
+ 'missing or invalid data' => 'Information éronnée ou incomplète',
+ 'per page' => 'par page',
);