* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\PrestaShop\Core\Localization\Number; use PrestaShop\PrestaShop\Core\Localization\Locale; class LocaleNumberTransformer { /** @var Locale */ private $locale; /** @var string[] */ private const FORCED_LOCALES_TO_EN_NUMBERS = ['ar', 'bn', 'fa']; public function __construct(Locale $locale) { $this->locale = $locale; } /** * Retrieve locale for numbers. * (to avoid use of persian/arabic numbers) * * @return string */ public function getLocaleForNumberInputs() { $locale = substr($this->locale->getCode(), 0, 2); return in_array($locale, self::FORCED_LOCALES_TO_EN_NUMBERS) ? 'en' : $locale; } }