StocksNew/vendor/php-flasher/flasher/Translation/Language.php
Sampanna Rimal 53c0140f58 first commit
2024-08-27 17:48:06 +05:45

64 lines
1.3 KiB
PHP

<?php
/*
* This file is part of the PHPFlasher package.
* (c) Younes KHOUBZA <younes.khoubza@gmail.com>
*/
namespace Flasher\Prime\Translation;
final class Language
{
const LTR = 'ltr';
const RTL = 'rtl';
/**
* @param string $locale
*
* @return string
*/
public static function direction($locale)
{
if (!\extension_loaded('intl')) {
return self::LTR;
}
$resource = \ResourceBundle::create($locale, 'ICUDATA', true);
if (null === $resource) {
return self::LTR;
}
$layout = $resource->get('layout');
if (!$layout instanceof \ResourceBundle) {
return self::LTR;
}
$characters = $layout->get('characters');
if (!\is_string($characters)) {
return self::LTR;
}
return 'right-to-left' === $characters ? self::RTL : self::LTR;
}
/**
* @param string $locale
*
* @return bool
*/
public static function isRTL($locale)
{
return self::RTL === self::direction($locale);
}
/**
* @param string $locale
*
* @return bool
*/
public static function isLTR($locale)
{
return self::LTR === self::direction($locale);
}
}