mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2026-01-04 08:02:22 +01:00
SwissQR: add Sprain\SwissQrBill and dependencies
This commit is contained in:
46
htdocs/includes/symfony/intl/CHANGELOG.md
Normal file
46
htdocs/includes/symfony/intl/CHANGELOG.md
Normal file
@@ -0,0 +1,46 @@
|
||||
CHANGELOG
|
||||
=========
|
||||
|
||||
6.2
|
||||
---
|
||||
|
||||
* Add `EmojiTransliterator` to translate emoji to many locales
|
||||
|
||||
6.0
|
||||
---
|
||||
|
||||
* Remove `DateFormatter\*`, `Collator`, `NumberFormatter`, `Locale`, `IntlGlobals`, `MethodArgumentNotImplementedException`, `MethodArgumentValueNotImplementedException`, `MethodNotImplementedException`and `NotImplementedException` classes, use symfony/polyfill-intl-icu ^1.21 instead
|
||||
|
||||
5.3
|
||||
---
|
||||
|
||||
* Add `Currencies::getCashFractionDigits()` and `Currencies::getCashRoundingIncrement()`
|
||||
|
||||
5.0.0
|
||||
-----
|
||||
|
||||
* removed `ResourceBundle` namespace
|
||||
|
||||
4.4.0
|
||||
-----
|
||||
|
||||
* excluded language code `root`
|
||||
* added to both `Countries` and `Languages` the methods `getAlpha3Codes`, `getAlpha3Code`, `getAlpha2Code`, `alpha3CodeExists`, `getAlpha3Name` and `getAlpha3Names`
|
||||
* excluded localized languages (e.g. `en_US`) from `Languages` in `getLanguageCodes()` and `getNames()`
|
||||
|
||||
4.3.0
|
||||
-----
|
||||
|
||||
* deprecated `ResourceBundle` namespace
|
||||
* added `Currencies` in favor of `Intl::getCurrencyBundle()`
|
||||
* added `Languages` and `Scripts` in favor of `Intl::getLanguageBundle()`
|
||||
* added `Locales` in favor of `Intl::getLocaleBundle()`
|
||||
* added `Countries` in favor of `Intl::getRegionBundle()`
|
||||
* added `Timezones`
|
||||
* made country codes ISO 3166 compliant
|
||||
* excluded script code `Zzzz`
|
||||
|
||||
4.2.0
|
||||
-----
|
||||
|
||||
* excluded language codes `mis`, `mul`, `und` and `zxx`
|
||||
139
htdocs/includes/symfony/intl/Countries.php
Normal file
139
htdocs/includes/symfony/intl/Countries.php
Normal file
@@ -0,0 +1,139 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl;
|
||||
|
||||
use Symfony\Component\Intl\Exception\MissingResourceException;
|
||||
|
||||
/**
|
||||
* Gives access to region-related ICU data.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
* @author Roland Franssen <franssen.roland@gmail.com>
|
||||
*/
|
||||
final class Countries extends ResourceBundle
|
||||
{
|
||||
/**
|
||||
* Returns all available countries.
|
||||
*
|
||||
* Countries are returned as uppercase ISO 3166 two-letter country codes.
|
||||
*
|
||||
* A full table of ISO 3166 country codes can be found here:
|
||||
* https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
|
||||
*
|
||||
* This list only contains "officially assigned ISO 3166-1 alpha-2" country codes.
|
||||
*
|
||||
* @return string[]
|
||||
*/
|
||||
public static function getCountryCodes(): array
|
||||
{
|
||||
return self::readEntry(['Regions'], 'meta');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all available countries (3 letters).
|
||||
*
|
||||
* Countries are returned as uppercase ISO 3166 three-letter country codes.
|
||||
*
|
||||
* This list only contains "officially assigned ISO 3166-1 alpha-3" country codes.
|
||||
*
|
||||
* @return string[]
|
||||
*/
|
||||
public static function getAlpha3Codes(): array
|
||||
{
|
||||
return self::readEntry(['Alpha2ToAlpha3'], 'meta');
|
||||
}
|
||||
|
||||
public static function getAlpha3Code(string $alpha2Code): string
|
||||
{
|
||||
return self::readEntry(['Alpha2ToAlpha3', $alpha2Code], 'meta');
|
||||
}
|
||||
|
||||
public static function getAlpha2Code(string $alpha3Code): string
|
||||
{
|
||||
return self::readEntry(['Alpha3ToAlpha2', $alpha3Code], 'meta');
|
||||
}
|
||||
|
||||
public static function exists(string $alpha2Code): bool
|
||||
{
|
||||
try {
|
||||
self::readEntry(['Names', $alpha2Code]);
|
||||
|
||||
return true;
|
||||
} catch (MissingResourceException) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static function alpha3CodeExists(string $alpha3Code): bool
|
||||
{
|
||||
try {
|
||||
self::getAlpha2Code($alpha3Code);
|
||||
|
||||
return true;
|
||||
} catch (MissingResourceException) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the country name from its alpha2 code.
|
||||
*
|
||||
* @throws MissingResourceException if the country code does not exist
|
||||
*/
|
||||
public static function getName(string $country, string $displayLocale = null): string
|
||||
{
|
||||
return self::readEntry(['Names', $country], $displayLocale);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the country name from its alpha3 code.
|
||||
*
|
||||
* @throws MissingResourceException if the country code does not exist
|
||||
*/
|
||||
public static function getAlpha3Name(string $alpha3Code, string $displayLocale = null): string
|
||||
{
|
||||
return self::getName(self::getAlpha2Code($alpha3Code), $displayLocale);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the list of country names indexed with alpha2 codes as keys.
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function getNames(string $displayLocale = null): array
|
||||
{
|
||||
return self::asort(self::readEntry(['Names'], $displayLocale), $displayLocale);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the list of country names indexed with alpha3 codes as keys.
|
||||
*
|
||||
* Same as method getNames, but with alpha3 codes instead of alpha2 codes as keys.
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function getAlpha3Names(string $displayLocale = null): array
|
||||
{
|
||||
$alpha2Names = self::getNames($displayLocale);
|
||||
$alpha3Names = [];
|
||||
foreach ($alpha2Names as $alpha2Code => $name) {
|
||||
$alpha3Names[self::getAlpha3Code($alpha2Code)] = $name;
|
||||
}
|
||||
|
||||
return $alpha3Names;
|
||||
}
|
||||
|
||||
protected static function getPath(): string
|
||||
{
|
||||
return Intl::getDataDirectory().'/'.Intl::REGION_DIR;
|
||||
}
|
||||
}
|
||||
146
htdocs/includes/symfony/intl/Currencies.php
Normal file
146
htdocs/includes/symfony/intl/Currencies.php
Normal file
@@ -0,0 +1,146 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl;
|
||||
|
||||
use Symfony\Component\Intl\Exception\MissingResourceException;
|
||||
|
||||
/**
|
||||
* Gives access to currency-related ICU data.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
* @author Roland Franssen <franssen.roland@gmail.com>
|
||||
*/
|
||||
final class Currencies extends ResourceBundle
|
||||
{
|
||||
private const INDEX_SYMBOL = 0;
|
||||
private const INDEX_NAME = 1;
|
||||
private const INDEX_FRACTION_DIGITS = 0;
|
||||
private const INDEX_ROUNDING_INCREMENT = 1;
|
||||
private const INDEX_CASH_FRACTION_DIGITS = 2;
|
||||
private const INDEX_CASH_ROUNDING_INCREMENT = 3;
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public static function getCurrencyCodes(): array
|
||||
{
|
||||
return self::readEntry(['Currencies'], 'meta');
|
||||
}
|
||||
|
||||
public static function exists(string $currency): bool
|
||||
{
|
||||
try {
|
||||
self::readEntry(['Names', $currency, self::INDEX_NAME]);
|
||||
|
||||
return true;
|
||||
} catch (MissingResourceException) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws MissingResourceException if the currency code does not exist
|
||||
*/
|
||||
public static function getName(string $currency, string $displayLocale = null): string
|
||||
{
|
||||
return self::readEntry(['Names', $currency, self::INDEX_NAME], $displayLocale);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public static function getNames(string $displayLocale = null): array
|
||||
{
|
||||
// ====================================================================
|
||||
// For reference: It is NOT possible to return names indexed by
|
||||
// numeric code here, because some numeric codes map to multiple
|
||||
// 3-letter codes (e.g. 32 => "ARA", "ARP", "ARS")
|
||||
// ====================================================================
|
||||
|
||||
$names = self::readEntry(['Names'], $displayLocale);
|
||||
|
||||
if ($names instanceof \Traversable) {
|
||||
$names = iterator_to_array($names);
|
||||
}
|
||||
|
||||
array_walk($names, function (&$value) {
|
||||
$value = $value[self::INDEX_NAME];
|
||||
});
|
||||
|
||||
return self::asort($names, $displayLocale);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws MissingResourceException if the currency code does not exist
|
||||
*/
|
||||
public static function getSymbol(string $currency, string $displayLocale = null): string
|
||||
{
|
||||
return self::readEntry(['Names', $currency, self::INDEX_SYMBOL], $displayLocale);
|
||||
}
|
||||
|
||||
public static function getFractionDigits(string $currency): int
|
||||
{
|
||||
try {
|
||||
return self::readEntry(['Meta', $currency, self::INDEX_FRACTION_DIGITS], 'meta');
|
||||
} catch (MissingResourceException) {
|
||||
return self::readEntry(['Meta', 'DEFAULT', self::INDEX_FRACTION_DIGITS], 'meta');
|
||||
}
|
||||
}
|
||||
|
||||
public static function getRoundingIncrement(string $currency): int
|
||||
{
|
||||
try {
|
||||
return self::readEntry(['Meta', $currency, self::INDEX_ROUNDING_INCREMENT], 'meta');
|
||||
} catch (MissingResourceException) {
|
||||
return self::readEntry(['Meta', 'DEFAULT', self::INDEX_ROUNDING_INCREMENT], 'meta');
|
||||
}
|
||||
}
|
||||
|
||||
public static function getCashFractionDigits(string $currency): int
|
||||
{
|
||||
try {
|
||||
return self::readEntry(['Meta', $currency, self::INDEX_CASH_FRACTION_DIGITS], 'meta');
|
||||
} catch (MissingResourceException) {
|
||||
return self::readEntry(['Meta', 'DEFAULT', self::INDEX_CASH_FRACTION_DIGITS], 'meta');
|
||||
}
|
||||
}
|
||||
|
||||
public static function getCashRoundingIncrement(string $currency): int
|
||||
{
|
||||
try {
|
||||
return self::readEntry(['Meta', $currency, self::INDEX_CASH_ROUNDING_INCREMENT], 'meta');
|
||||
} catch (MissingResourceException) {
|
||||
return self::readEntry(['Meta', 'DEFAULT', self::INDEX_CASH_ROUNDING_INCREMENT], 'meta');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws MissingResourceException if the currency code has no numeric code
|
||||
*/
|
||||
public static function getNumericCode(string $currency): int
|
||||
{
|
||||
return self::readEntry(['Alpha3ToNumeric', $currency], 'meta');
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws MissingResourceException if the numeric code does not exist
|
||||
*/
|
||||
public static function forNumericCode(int $numericCode): array
|
||||
{
|
||||
return self::readEntry(['NumericToAlpha3', (string) $numericCode], 'meta');
|
||||
}
|
||||
|
||||
protected static function getPath(): string
|
||||
{
|
||||
return Intl::getDataDirectory().'/'.Intl::CURRENCY_DIR;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Compiler;
|
||||
|
||||
/**
|
||||
* Compiles a resource bundle.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
interface BundleCompilerInterface
|
||||
{
|
||||
/**
|
||||
* Compiles a resource bundle at the given source to the given target
|
||||
* directory.
|
||||
*/
|
||||
public function compile(string $sourcePath, string $targetDir);
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Compiler;
|
||||
|
||||
use Symfony\Component\Intl\Exception\RuntimeException;
|
||||
|
||||
/**
|
||||
* Compiles .txt resource bundles to binary .res files.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class GenrbCompiler implements BundleCompilerInterface
|
||||
{
|
||||
private string $genrb;
|
||||
|
||||
/**
|
||||
* Creates a new compiler based on the "genrb" executable.
|
||||
*
|
||||
* @param string $genrb Optional. The path to the "genrb" executable
|
||||
* @param string $envVars Optional. Environment variables to be loaded when running "genrb".
|
||||
*
|
||||
* @throws RuntimeException if the "genrb" cannot be found
|
||||
*/
|
||||
public function __construct(string $genrb = 'genrb', string $envVars = '')
|
||||
{
|
||||
exec('which '.$genrb, $output, $status);
|
||||
|
||||
if (0 !== $status) {
|
||||
throw new RuntimeException(sprintf('The command "%s" is not installed.', $genrb));
|
||||
}
|
||||
|
||||
$this->genrb = ($envVars ? $envVars.' ' : '').$genrb;
|
||||
}
|
||||
|
||||
public function compile(string $sourcePath, string $targetDir)
|
||||
{
|
||||
if (is_dir($sourcePath)) {
|
||||
$sourcePath .= '/*.txt';
|
||||
}
|
||||
|
||||
exec($this->genrb.' --quiet -e UTF-8 -d '.$targetDir.' '.$sourcePath, $output, $status);
|
||||
|
||||
if (0 !== $status) {
|
||||
throw new RuntimeException(sprintf('genrb failed with status %d while compiling "%s" to "%s".', $status, $sourcePath, $targetDir));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Reader;
|
||||
|
||||
use Symfony\Component\Intl\Data\Util\RingBuffer;
|
||||
|
||||
/**
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class BufferedBundleReader implements BundleReaderInterface
|
||||
{
|
||||
private BundleReaderInterface $reader;
|
||||
/** @var RingBuffer<string, mixed> */
|
||||
private RingBuffer $buffer;
|
||||
|
||||
public function __construct(BundleReaderInterface $reader, int $bufferSize)
|
||||
{
|
||||
$this->reader = $reader;
|
||||
$this->buffer = new RingBuffer($bufferSize);
|
||||
}
|
||||
|
||||
public function read(string $path, string $locale): mixed
|
||||
{
|
||||
$hash = $path.'//'.$locale;
|
||||
|
||||
if (!isset($this->buffer[$hash])) {
|
||||
$this->buffer[$hash] = $this->reader->read($path, $locale);
|
||||
}
|
||||
|
||||
return $this->buffer[$hash];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Reader;
|
||||
|
||||
use Symfony\Component\Intl\Data\Util\RecursiveArrayAccess;
|
||||
use Symfony\Component\Intl\Exception\MissingResourceException;
|
||||
use Symfony\Component\Intl\Exception\OutOfBoundsException;
|
||||
use Symfony\Component\Intl\Exception\ResourceBundleNotFoundException;
|
||||
use Symfony\Component\Intl\Locale;
|
||||
|
||||
/**
|
||||
* Default implementation of {@link BundleEntryReaderInterface}.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @see BundleEntryReaderInterface
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class BundleEntryReader implements BundleEntryReaderInterface
|
||||
{
|
||||
private BundleReaderInterface $reader;
|
||||
|
||||
/**
|
||||
* A mapping of locale aliases to locales.
|
||||
*/
|
||||
private array $localeAliases = [];
|
||||
|
||||
/**
|
||||
* Creates an entry reader based on the given resource bundle reader.
|
||||
*/
|
||||
public function __construct(BundleReaderInterface $reader)
|
||||
{
|
||||
$this->reader = $reader;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stores a mapping of locale aliases to locales.
|
||||
*
|
||||
* This mapping is used when reading entries and merging them with their
|
||||
* fallback locales. If an entry is read for a locale alias (e.g. "mo")
|
||||
* that points to a locale with a fallback locale ("ro_MD"), the reader
|
||||
* can continue at the correct fallback locale ("ro").
|
||||
*
|
||||
* @param array $localeAliases A mapping of locale aliases to locales
|
||||
*/
|
||||
public function setLocaleAliases(array $localeAliases)
|
||||
{
|
||||
$this->localeAliases = $localeAliases;
|
||||
}
|
||||
|
||||
public function read(string $path, string $locale): mixed
|
||||
{
|
||||
return $this->reader->read($path, $locale);
|
||||
}
|
||||
|
||||
public function readEntry(string $path, string $locale, array $indices, bool $fallback = true): mixed
|
||||
{
|
||||
$entry = null;
|
||||
$isMultiValued = false;
|
||||
$readSucceeded = false;
|
||||
$exception = null;
|
||||
$currentLocale = $locale;
|
||||
$testedLocales = [];
|
||||
|
||||
while (null !== $currentLocale) {
|
||||
// Resolve any aliases to their target locales
|
||||
if (isset($this->localeAliases[$currentLocale])) {
|
||||
$currentLocale = $this->localeAliases[$currentLocale];
|
||||
}
|
||||
|
||||
try {
|
||||
$data = $this->reader->read($path, $currentLocale);
|
||||
$currentEntry = RecursiveArrayAccess::get($data, $indices);
|
||||
$readSucceeded = true;
|
||||
|
||||
$isCurrentTraversable = $currentEntry instanceof \Traversable;
|
||||
$isCurrentMultiValued = $isCurrentTraversable || \is_array($currentEntry);
|
||||
|
||||
// Return immediately if fallback is disabled or we are dealing
|
||||
// with a scalar non-null entry
|
||||
if (!$fallback || (!$isCurrentMultiValued && null !== $currentEntry)) {
|
||||
return $currentEntry;
|
||||
}
|
||||
|
||||
// =========================================================
|
||||
// Fallback is enabled, entry is either multi-valued or NULL
|
||||
// =========================================================
|
||||
|
||||
// If entry is multi-valued, convert to array
|
||||
if ($isCurrentTraversable) {
|
||||
$currentEntry = iterator_to_array($currentEntry);
|
||||
}
|
||||
|
||||
// If previously read entry was multi-valued too, merge them
|
||||
if ($isCurrentMultiValued && $isMultiValued) {
|
||||
$currentEntry = array_merge($currentEntry, $entry);
|
||||
}
|
||||
|
||||
// Keep the previous entry if the current entry is NULL
|
||||
if (null !== $currentEntry) {
|
||||
$entry = $currentEntry;
|
||||
}
|
||||
|
||||
// If this or the previous entry was multi-valued, we are dealing
|
||||
// with a merged, multi-valued entry now
|
||||
$isMultiValued = $isMultiValued || $isCurrentMultiValued;
|
||||
} catch (ResourceBundleNotFoundException $e) {
|
||||
// Continue if there is a fallback locale for the current
|
||||
// locale
|
||||
$exception = $e;
|
||||
} catch (OutOfBoundsException $e) {
|
||||
// Remember exception and rethrow if we cannot find anything in
|
||||
// the fallback locales either
|
||||
$exception = $e;
|
||||
}
|
||||
|
||||
// Remember which locales we tried
|
||||
$testedLocales[] = $currentLocale;
|
||||
|
||||
// Check whether fallback is allowed
|
||||
if (!$fallback) {
|
||||
break;
|
||||
}
|
||||
|
||||
// Then determine fallback locale
|
||||
$currentLocale = Locale::getFallback($currentLocale);
|
||||
}
|
||||
|
||||
// Multi-valued entry was merged
|
||||
if ($isMultiValued) {
|
||||
return $entry;
|
||||
}
|
||||
|
||||
// Entry is still NULL, but no read error occurred
|
||||
if ($readSucceeded) {
|
||||
return $entry;
|
||||
}
|
||||
|
||||
// Entry is still NULL, read error occurred. Throw an exception
|
||||
// containing the detailed path and locale
|
||||
$errorMessage = sprintf(
|
||||
'Couldn\'t read the indices [%s] for the locale "%s" in "%s".',
|
||||
implode('][', $indices),
|
||||
$locale,
|
||||
$path
|
||||
);
|
||||
|
||||
// Append fallback locales, if any
|
||||
if (\count($testedLocales) > 1) {
|
||||
// Remove original locale
|
||||
array_shift($testedLocales);
|
||||
|
||||
$errorMessage .= sprintf(
|
||||
' The indices also couldn\'t be found for the fallback locale(s) "%s".',
|
||||
implode('", "', $testedLocales)
|
||||
);
|
||||
}
|
||||
|
||||
throw new MissingResourceException($errorMessage, 0, $exception);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Reader;
|
||||
|
||||
use Symfony\Component\Intl\Exception\MissingResourceException;
|
||||
|
||||
/**
|
||||
* Reads individual entries of a resource file.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
interface BundleEntryReaderInterface extends BundleReaderInterface
|
||||
{
|
||||
/**
|
||||
* Reads an entry from a resource bundle.
|
||||
*
|
||||
* An entry can be selected from the resource bundle by passing the path
|
||||
* to that entry in the bundle. For example, if the bundle is structured
|
||||
* like this:
|
||||
*
|
||||
* TopLevel
|
||||
* NestedLevel
|
||||
* Entry: Value
|
||||
*
|
||||
* Then the value can be read by calling:
|
||||
*
|
||||
* $reader->readEntry('...', 'en', ['TopLevel', 'NestedLevel', 'Entry']);
|
||||
*
|
||||
* @param string $path The path to the resource bundle
|
||||
* @param string[] $indices The indices to read from the bundle
|
||||
* @param bool $fallback Whether to merge the value with the value from
|
||||
* the fallback locale (e.g. "en" for "en_GB").
|
||||
* Only applicable if the result is multivalued
|
||||
* (i.e. array or \ArrayAccess) or cannot be found
|
||||
* in the requested locale.
|
||||
*
|
||||
* @return mixed returns an array or {@link \ArrayAccess} instance for
|
||||
* complex data and a scalar value for simple data
|
||||
*
|
||||
* @throws MissingResourceException If the indices cannot be accessed
|
||||
*/
|
||||
public function readEntry(string $path, string $locale, array $indices, bool $fallback = true): mixed;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Reader;
|
||||
|
||||
/**
|
||||
* Reads resource bundle files.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
interface BundleReaderInterface
|
||||
{
|
||||
/**
|
||||
* @return mixed returns an array or {@link \ArrayAccess} instance for
|
||||
* complex data, a scalar value otherwise
|
||||
*/
|
||||
public function read(string $path, string $locale): mixed;
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Reader;
|
||||
|
||||
use Symfony\Component\Intl\Data\Util\ArrayAccessibleResourceBundle;
|
||||
use Symfony\Component\Intl\Exception\ResourceBundleNotFoundException;
|
||||
|
||||
/**
|
||||
* Reads binary .res resource bundles.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class IntlBundleReader implements BundleReaderInterface
|
||||
{
|
||||
public function read(string $path, string $locale): mixed
|
||||
{
|
||||
// Point for future extension: Modify this class so that it works also
|
||||
// if the \ResourceBundle class is not available.
|
||||
try {
|
||||
// Never enable fallback. We want to know if a bundle cannot be found
|
||||
$bundle = new \ResourceBundle($locale, $path, false);
|
||||
} catch (\Exception) {
|
||||
$bundle = null;
|
||||
}
|
||||
|
||||
// The bundle is NULL if the path does not look like a resource bundle
|
||||
// (i.e. contain a bunch of *.res files)
|
||||
if (null === $bundle) {
|
||||
throw new ResourceBundleNotFoundException(sprintf('The resource bundle "%s/%s.res" could not be found.', $path, $locale));
|
||||
}
|
||||
|
||||
// Other possible errors are U_USING_FALLBACK_WARNING and U_ZERO_ERROR,
|
||||
// which are OK for us.
|
||||
return new ArrayAccessibleResourceBundle($bundle);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Reader;
|
||||
|
||||
use Symfony\Component\Intl\Exception\ResourceBundleNotFoundException;
|
||||
use Symfony\Component\Intl\Exception\RuntimeException;
|
||||
|
||||
/**
|
||||
* Reads .json resource bundles.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class JsonBundleReader implements BundleReaderInterface
|
||||
{
|
||||
public function read(string $path, string $locale): mixed
|
||||
{
|
||||
$fileName = $path.'/'.$locale.'.json';
|
||||
|
||||
// prevent directory traversal attacks
|
||||
if (\dirname($fileName) !== $path) {
|
||||
throw new ResourceBundleNotFoundException(sprintf('The resource bundle "%s" does not exist.', $fileName));
|
||||
}
|
||||
|
||||
if (!is_file($fileName)) {
|
||||
throw new ResourceBundleNotFoundException(sprintf('The resource bundle "%s" does not exist.', $fileName));
|
||||
}
|
||||
|
||||
$data = json_decode(file_get_contents($fileName), true);
|
||||
|
||||
if (null === $data) {
|
||||
throw new RuntimeException(sprintf('The resource bundle "%s" contains invalid JSON: ', $fileName).json_last_error_msg());
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Reader;
|
||||
|
||||
use Symfony\Component\Intl\Exception\ResourceBundleNotFoundException;
|
||||
|
||||
/**
|
||||
* Reads .php resource bundles.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class PhpBundleReader implements BundleReaderInterface
|
||||
{
|
||||
public function read(string $path, string $locale): mixed
|
||||
{
|
||||
$fileName = $path.'/'.$locale.'.php';
|
||||
|
||||
// prevent directory traversal attacks
|
||||
if (\dirname($fileName) !== $path) {
|
||||
throw new ResourceBundleNotFoundException(sprintf('The resource bundle "%s" does not exist.', $fileName));
|
||||
}
|
||||
|
||||
if (!is_file($fileName)) {
|
||||
throw new ResourceBundleNotFoundException(sprintf('The resource bundle "%s" does not exist.', $fileName));
|
||||
}
|
||||
|
||||
return include $fileName;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Writer;
|
||||
|
||||
/**
|
||||
* Writes resource bundle files.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
interface BundleWriterInterface
|
||||
{
|
||||
public function write(string $path, string $locale, mixed $data);
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Writer;
|
||||
|
||||
/**
|
||||
* Writes .json resource bundles.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class JsonBundleWriter implements BundleWriterInterface
|
||||
{
|
||||
public function write(string $path, string $locale, mixed $data)
|
||||
{
|
||||
if ($data instanceof \Traversable) {
|
||||
$data = iterator_to_array($data);
|
||||
}
|
||||
|
||||
array_walk_recursive($data, function (&$value) {
|
||||
if ($value instanceof \Traversable) {
|
||||
$value = iterator_to_array($value);
|
||||
}
|
||||
});
|
||||
|
||||
$contents = json_encode($data, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_UNICODE)."\n";
|
||||
|
||||
file_put_contents($path.'/'.$locale.'.json', $contents);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Writer;
|
||||
|
||||
/**
|
||||
* Writes .php resource bundles.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class PhpBundleWriter implements BundleWriterInterface
|
||||
{
|
||||
public function write(string $path, string $locale, mixed $data)
|
||||
{
|
||||
$template = <<<'TEMPLATE'
|
||||
<?php
|
||||
|
||||
return %s;
|
||||
|
||||
TEMPLATE;
|
||||
|
||||
if ($data instanceof \Traversable) {
|
||||
$data = iterator_to_array($data);
|
||||
}
|
||||
|
||||
array_walk_recursive($data, function (&$value) {
|
||||
if ($value instanceof \Traversable) {
|
||||
$value = iterator_to_array($value);
|
||||
}
|
||||
});
|
||||
|
||||
$data = var_export($data, true);
|
||||
$data = preg_replace('/array \(/', '[', $data);
|
||||
$data = preg_replace('/\n {1,10}\[/', '[', $data);
|
||||
$data = preg_replace('/ /', ' ', $data);
|
||||
$data = preg_replace('/\),$/m', '],', $data);
|
||||
$data = preg_replace('/\)$/', ']', $data);
|
||||
$data = sprintf($template, $data);
|
||||
|
||||
file_put_contents($path.'/'.$locale.'.php', $data);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Bundle\Writer;
|
||||
|
||||
/**
|
||||
* Writes .txt resource bundles.
|
||||
*
|
||||
* The resulting files can be converted to binary .res files using a
|
||||
* {@link \Symfony\Component\Intl\ResourceBundle\Compiler\BundleCompilerInterface}
|
||||
* implementation.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @see http://source.icu-project.org/repos/icu/icuhtml/trunk/design/bnf_rb.txt
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class TextBundleWriter implements BundleWriterInterface
|
||||
{
|
||||
public function write(string $path, string $locale, mixed $data, bool $fallback = true)
|
||||
{
|
||||
$file = fopen($path.'/'.$locale.'.txt', 'w');
|
||||
|
||||
$this->writeResourceBundle($file, $locale, $data, $fallback);
|
||||
|
||||
fclose($file);
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes a "resourceBundle" node.
|
||||
*
|
||||
* @param resource $file The file handle to write to
|
||||
* @param mixed $value The value of the node
|
||||
*
|
||||
* @see http://source.icu-project.org/repos/icu/icuhtml/trunk/design/bnf_rb.txt
|
||||
*/
|
||||
private function writeResourceBundle($file, string $bundleName, mixed $value, bool $fallback)
|
||||
{
|
||||
fwrite($file, $bundleName);
|
||||
|
||||
$this->writeTable($file, $value, 0, $fallback);
|
||||
|
||||
fwrite($file, "\n");
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes a "resource" node.
|
||||
*
|
||||
* @param resource $file The file handle to write to
|
||||
* @param mixed $value The value of the node
|
||||
*
|
||||
* @see http://source.icu-project.org/repos/icu/icuhtml/trunk/design/bnf_rb.txt
|
||||
*/
|
||||
private function writeResource($file, mixed $value, int $indentation, bool $requireBraces = true)
|
||||
{
|
||||
if (\is_int($value)) {
|
||||
$this->writeInteger($file, $value);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ($value instanceof \Traversable) {
|
||||
$value = iterator_to_array($value);
|
||||
}
|
||||
|
||||
if (\is_array($value)) {
|
||||
$intValues = \count($value) === \count(array_filter($value, 'is_int'));
|
||||
|
||||
// check that the keys are 0-indexed and ascending
|
||||
$intKeys = array_is_list($value);
|
||||
|
||||
if ($intValues && $intKeys) {
|
||||
$this->writeIntVector($file, $value, $indentation);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ($intKeys) {
|
||||
$this->writeArray($file, $value, $indentation);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->writeTable($file, $value, $indentation);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (\is_bool($value)) {
|
||||
$value = $value ? 'true' : 'false';
|
||||
}
|
||||
|
||||
$this->writeString($file, (string) $value, $requireBraces);
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes an "integer" node.
|
||||
*
|
||||
* @param resource $file The file handle to write to
|
||||
*
|
||||
* @see http://source.icu-project.org/repos/icu/icuhtml/trunk/design/bnf_rb.txt
|
||||
*/
|
||||
private function writeInteger($file, int $value)
|
||||
{
|
||||
fprintf($file, ':int{%d}', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes an "intvector" node.
|
||||
*
|
||||
* @param resource $file The file handle to write to
|
||||
*
|
||||
* @see http://source.icu-project.org/repos/icu/icuhtml/trunk/design/bnf_rb.txt
|
||||
*/
|
||||
private function writeIntVector($file, array $value, int $indentation)
|
||||
{
|
||||
fwrite($file, ":intvector{\n");
|
||||
|
||||
foreach ($value as $int) {
|
||||
fprintf($file, "%s%d,\n", str_repeat(' ', $indentation + 1), $int);
|
||||
}
|
||||
|
||||
fprintf($file, '%s}', str_repeat(' ', $indentation));
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes a "string" node.
|
||||
*
|
||||
* @param resource $file The file handle to write to
|
||||
*
|
||||
* @see http://source.icu-project.org/repos/icu/icuhtml/trunk/design/bnf_rb.txt
|
||||
*/
|
||||
private function writeString($file, string $value, bool $requireBraces = true)
|
||||
{
|
||||
if ($requireBraces) {
|
||||
fprintf($file, '{"%s"}', $value);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
fprintf($file, '"%s"', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes an "array" node.
|
||||
*
|
||||
* @param resource $file The file handle to write to
|
||||
*
|
||||
* @see http://source.icu-project.org/repos/icu/icuhtml/trunk/design/bnf_rb.txt
|
||||
*/
|
||||
private function writeArray($file, array $value, int $indentation)
|
||||
{
|
||||
fwrite($file, "{\n");
|
||||
|
||||
foreach ($value as $entry) {
|
||||
fwrite($file, str_repeat(' ', $indentation + 1));
|
||||
|
||||
$this->writeResource($file, $entry, $indentation + 1, false);
|
||||
|
||||
fwrite($file, ",\n");
|
||||
}
|
||||
|
||||
fprintf($file, '%s}', str_repeat(' ', $indentation));
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes a "table" node.
|
||||
*
|
||||
* @param resource $file The file handle to write to
|
||||
*/
|
||||
private function writeTable($file, iterable $value, int $indentation, bool $fallback = true)
|
||||
{
|
||||
if (!$fallback) {
|
||||
fwrite($file, ':table(nofallback)');
|
||||
}
|
||||
|
||||
fwrite($file, "{\n");
|
||||
|
||||
foreach ($value as $key => $entry) {
|
||||
fwrite($file, str_repeat(' ', $indentation + 1));
|
||||
|
||||
// escape colons, otherwise they are interpreted as resource types
|
||||
if (str_contains($key, ':') || str_contains($key, ' ')) {
|
||||
$key = '"'.$key.'"';
|
||||
}
|
||||
|
||||
fwrite($file, $key);
|
||||
|
||||
$this->writeResource($file, $entry, $indentation + 1);
|
||||
|
||||
fwrite($file, "\n");
|
||||
}
|
||||
|
||||
fprintf($file, '%s}', str_repeat(' ', $indentation));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Generator;
|
||||
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\Intl\Data\Bundle\Compiler\BundleCompilerInterface;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReader;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\IntlBundleReader;
|
||||
use Symfony\Component\Intl\Data\Util\LocaleScanner;
|
||||
|
||||
/**
|
||||
* The rule for compiling the currency bundle.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
abstract class AbstractDataGenerator
|
||||
{
|
||||
private BundleCompilerInterface $compiler;
|
||||
private string $dirName;
|
||||
|
||||
public function __construct(BundleCompilerInterface $compiler, string $dirName)
|
||||
{
|
||||
$this->compiler = $compiler;
|
||||
$this->dirName = $dirName;
|
||||
}
|
||||
|
||||
public function generateData(GeneratorConfig $config)
|
||||
{
|
||||
$filesystem = new Filesystem();
|
||||
$localeScanner = new LocaleScanner();
|
||||
$reader = new BundleEntryReader(new IntlBundleReader());
|
||||
|
||||
$writers = $config->getBundleWriters();
|
||||
$tempDir = sys_get_temp_dir().'/icu-data-'.$this->dirName;
|
||||
|
||||
// Prepare filesystem directories
|
||||
foreach ($writers as $targetDir => $writer) {
|
||||
$filesystem->remove($targetDir.'/'.$this->dirName);
|
||||
$filesystem->mkdir($targetDir.'/'.$this->dirName);
|
||||
}
|
||||
|
||||
$filesystem->remove($tempDir);
|
||||
$filesystem->mkdir($tempDir);
|
||||
|
||||
$locales = $this->scanLocales($localeScanner, $config->getSourceDir());
|
||||
|
||||
$this->compileTemporaryBundles($this->compiler, $config->getSourceDir(), $tempDir);
|
||||
|
||||
$this->preGenerate();
|
||||
|
||||
foreach ($locales as $locale) {
|
||||
$localeData = $this->generateDataForLocale($reader, $tempDir, $locale);
|
||||
|
||||
if (null !== $localeData) {
|
||||
foreach ($writers as $targetDir => $writer) {
|
||||
$writer->write($targetDir.'/'.$this->dirName, $locale, $localeData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$rootData = $this->generateDataForRoot($reader, $tempDir);
|
||||
|
||||
if (null !== $rootData) {
|
||||
foreach ($writers as $targetDir => $writer) {
|
||||
$writer->write($targetDir.'/'.$this->dirName, 'root', $rootData);
|
||||
}
|
||||
}
|
||||
|
||||
$metaData = $this->generateDataForMeta($reader, $tempDir);
|
||||
|
||||
if (null !== $metaData) {
|
||||
foreach ($writers as $targetDir => $writer) {
|
||||
$writer->write($targetDir.'/'.$this->dirName, 'meta', $metaData);
|
||||
}
|
||||
}
|
||||
|
||||
// Clean up
|
||||
$filesystem->remove($tempDir);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
abstract protected function scanLocales(LocaleScanner $scanner, string $sourceDir): array;
|
||||
|
||||
abstract protected function compileTemporaryBundles(BundleCompilerInterface $compiler, string $sourceDir, string $tempDir);
|
||||
|
||||
abstract protected function preGenerate();
|
||||
|
||||
abstract protected function generateDataForLocale(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): ?array;
|
||||
|
||||
abstract protected function generateDataForRoot(BundleEntryReaderInterface $reader, string $tempDir): ?array;
|
||||
|
||||
abstract protected function generateDataForMeta(BundleEntryReaderInterface $reader, string $tempDir): ?array;
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Generator;
|
||||
|
||||
use Symfony\Component\Intl\Data\Bundle\Compiler\BundleCompilerInterface;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
|
||||
use Symfony\Component\Intl\Data\Util\ArrayAccessibleResourceBundle;
|
||||
use Symfony\Component\Intl\Data\Util\LocaleScanner;
|
||||
|
||||
/**
|
||||
* The rule for compiling the currency bundle.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class CurrencyDataGenerator extends AbstractDataGenerator
|
||||
{
|
||||
private const DENYLIST = [
|
||||
'XBA' => true, // European Composite Unit
|
||||
'XBB' => true, // European Monetary Unit
|
||||
'XBC' => true, // European Unit of Account (XBC)
|
||||
'XBD' => true, // European Unit of Account (XBD)
|
||||
'XUA' => true, // ADB Unit of Account
|
||||
'XAU' => true, // Gold
|
||||
'XAG' => true, // Silver
|
||||
'XPT' => true, // Platinum
|
||||
'XPD' => true, // Palladium
|
||||
'XSU' => true, // Sucre
|
||||
'XDR' => true, // Special Drawing Rights
|
||||
'XTS' => true, // Testing Currency Code
|
||||
'XXX' => true, // Unknown Currency
|
||||
];
|
||||
|
||||
/**
|
||||
* Collects all available currency codes.
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
private array $currencyCodes = [];
|
||||
|
||||
protected function scanLocales(LocaleScanner $scanner, string $sourceDir): array
|
||||
{
|
||||
return $scanner->scanLocales($sourceDir.'/curr');
|
||||
}
|
||||
|
||||
protected function compileTemporaryBundles(BundleCompilerInterface $compiler, string $sourceDir, string $tempDir)
|
||||
{
|
||||
$compiler->compile($sourceDir.'/curr', $tempDir);
|
||||
$compiler->compile($sourceDir.'/misc/currencyNumericCodes.txt', $tempDir);
|
||||
}
|
||||
|
||||
protected function preGenerate()
|
||||
{
|
||||
$this->currencyCodes = [];
|
||||
}
|
||||
|
||||
protected function generateDataForLocale(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): ?array
|
||||
{
|
||||
$localeBundle = $reader->read($tempDir, $displayLocale);
|
||||
|
||||
if (isset($localeBundle['Currencies']) && null !== $localeBundle['Currencies']) {
|
||||
$data = [
|
||||
'Names' => $this->generateSymbolNamePairs($localeBundle),
|
||||
];
|
||||
|
||||
$this->currencyCodes = array_merge($this->currencyCodes, array_keys($data['Names']));
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function generateDataForRoot(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
$rootBundle = $reader->read($tempDir, 'root');
|
||||
|
||||
return [
|
||||
'Names' => $this->generateSymbolNamePairs($rootBundle),
|
||||
];
|
||||
}
|
||||
|
||||
protected function generateDataForMeta(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
$supplementalDataBundle = $reader->read($tempDir, 'supplementalData');
|
||||
$numericCodesBundle = $reader->read($tempDir, 'currencyNumericCodes');
|
||||
|
||||
$this->currencyCodes = array_unique($this->currencyCodes);
|
||||
|
||||
sort($this->currencyCodes);
|
||||
|
||||
$data = [
|
||||
'Currencies' => $this->currencyCodes,
|
||||
'Meta' => $this->generateCurrencyMeta($supplementalDataBundle),
|
||||
'Alpha3ToNumeric' => $this->generateAlpha3ToNumericMapping($numericCodesBundle, $this->currencyCodes),
|
||||
];
|
||||
|
||||
$data['NumericToAlpha3'] = $this->generateNumericToAlpha3Mapping($data['Alpha3ToNumeric']);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
private function generateSymbolNamePairs(ArrayAccessibleResourceBundle $rootBundle): array
|
||||
{
|
||||
$symbolNamePairs = array_map(function ($pair) {
|
||||
return \array_slice(iterator_to_array($pair), 0, 2);
|
||||
}, iterator_to_array($rootBundle['Currencies']));
|
||||
|
||||
// Remove unwanted currencies
|
||||
$symbolNamePairs = array_diff_key($symbolNamePairs, self::DENYLIST);
|
||||
|
||||
return $symbolNamePairs;
|
||||
}
|
||||
|
||||
private function generateCurrencyMeta(ArrayAccessibleResourceBundle $supplementalDataBundle): array
|
||||
{
|
||||
// The metadata is already de-duplicated. It contains one key "DEFAULT"
|
||||
// which is used for currencies that don't have dedicated entries.
|
||||
return iterator_to_array($supplementalDataBundle['CurrencyMeta']);
|
||||
}
|
||||
|
||||
private function generateAlpha3ToNumericMapping(ArrayAccessibleResourceBundle $numericCodesBundle, array $currencyCodes): array
|
||||
{
|
||||
$alpha3ToNumericMapping = iterator_to_array($numericCodesBundle['codeMap']);
|
||||
|
||||
asort($alpha3ToNumericMapping);
|
||||
|
||||
// Filter unknown currencies (e.g. "AYM")
|
||||
$alpha3ToNumericMapping = array_intersect_key($alpha3ToNumericMapping, array_flip($currencyCodes));
|
||||
|
||||
return $alpha3ToNumericMapping;
|
||||
}
|
||||
|
||||
private function generateNumericToAlpha3Mapping(array $alpha3ToNumericMapping): array
|
||||
{
|
||||
$numericToAlpha3Mapping = [];
|
||||
|
||||
foreach ($alpha3ToNumericMapping as $alpha3 => $numeric) {
|
||||
// Make sure that the mapping is stored as table and not as array
|
||||
$numeric = (string) $numeric;
|
||||
|
||||
if (!isset($numericToAlpha3Mapping[$numeric])) {
|
||||
$numericToAlpha3Mapping[$numeric] = [];
|
||||
}
|
||||
|
||||
$numericToAlpha3Mapping[$numeric][] = $alpha3;
|
||||
}
|
||||
|
||||
return $numericToAlpha3Mapping;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Generator;
|
||||
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
|
||||
use Symfony\Component\Intl\Locale;
|
||||
|
||||
/**
|
||||
* @author Roland Franssen <franssen.roland@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
trait FallbackTrait
|
||||
{
|
||||
private array $fallbackCache = [];
|
||||
private bool $generatingFallback = false;
|
||||
|
||||
/**
|
||||
* @see AbstractDataGenerator::generateDataForLocale()
|
||||
*/
|
||||
abstract protected function generateDataForLocale(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): ?array;
|
||||
|
||||
/**
|
||||
* @see AbstractDataGenerator::generateDataForRoot()
|
||||
*/
|
||||
abstract protected function generateDataForRoot(BundleEntryReaderInterface $reader, string $tempDir): ?array;
|
||||
|
||||
private function generateFallbackData(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): array
|
||||
{
|
||||
if (null === $fallback = Locale::getFallback($displayLocale)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if (isset($this->fallbackCache[$fallback])) {
|
||||
return $this->fallbackCache[$fallback];
|
||||
}
|
||||
|
||||
$prevGeneratingFallback = $this->generatingFallback;
|
||||
$this->generatingFallback = true;
|
||||
|
||||
try {
|
||||
$data = 'root' === $fallback ? $this->generateDataForRoot($reader, $tempDir) : $this->generateDataForLocale($reader, $tempDir, $fallback);
|
||||
} finally {
|
||||
$this->generatingFallback = $prevGeneratingFallback;
|
||||
}
|
||||
|
||||
return $this->fallbackCache[$fallback] = $data ?: [];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Generator;
|
||||
|
||||
use Symfony\Component\Intl\Data\Bundle\Writer\BundleWriterInterface;
|
||||
|
||||
/**
|
||||
* Stores contextual information for resource bundle generation.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class GeneratorConfig
|
||||
{
|
||||
private string $sourceDir;
|
||||
private string $icuVersion;
|
||||
|
||||
/**
|
||||
* @var BundleWriterInterface[]
|
||||
*/
|
||||
private array $bundleWriters = [];
|
||||
|
||||
public function __construct(string $sourceDir, string $icuVersion)
|
||||
{
|
||||
$this->sourceDir = $sourceDir;
|
||||
$this->icuVersion = $icuVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a writer to be used during the data conversion.
|
||||
*/
|
||||
public function addBundleWriter(string $targetDir, BundleWriterInterface $writer)
|
||||
{
|
||||
$this->bundleWriters[$targetDir] = $writer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the writers indexed by their output directories.
|
||||
*
|
||||
* @return BundleWriterInterface[]
|
||||
*/
|
||||
public function getBundleWriters(): array
|
||||
{
|
||||
return $this->bundleWriters;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the directory where the source versions of the resource bundles
|
||||
* are stored.
|
||||
*/
|
||||
public function getSourceDir(): string
|
||||
{
|
||||
return $this->sourceDir;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ICU version of the bundles being converted.
|
||||
*/
|
||||
public function getIcuVersion(): string
|
||||
{
|
||||
return $this->icuVersion;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,237 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Generator;
|
||||
|
||||
use Symfony\Component\Intl\Data\Bundle\Compiler\BundleCompilerInterface;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
|
||||
use Symfony\Component\Intl\Data\Util\ArrayAccessibleResourceBundle;
|
||||
use Symfony\Component\Intl\Data\Util\LocaleScanner;
|
||||
use Symfony\Component\Intl\Exception\RuntimeException;
|
||||
|
||||
/**
|
||||
* The rule for compiling the language bundle.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class LanguageDataGenerator extends AbstractDataGenerator
|
||||
{
|
||||
/**
|
||||
* Source: https://iso639-3.sil.org/code_tables/639/data.
|
||||
*/
|
||||
private const PREFERRED_ALPHA2_TO_ALPHA3_MAPPING = [
|
||||
'ak' => 'aka',
|
||||
'ar' => 'ara',
|
||||
'ay' => 'aym',
|
||||
'az' => 'aze',
|
||||
'bo' => 'bod',
|
||||
'cr' => 'cre',
|
||||
'cs' => 'ces',
|
||||
'cy' => 'cym',
|
||||
'de' => 'deu',
|
||||
'dz' => 'dzo',
|
||||
'el' => 'ell',
|
||||
'et' => 'est',
|
||||
'eu' => 'eus',
|
||||
'fa' => 'fas',
|
||||
'ff' => 'ful',
|
||||
'fr' => 'fra',
|
||||
'gn' => 'grn',
|
||||
'hy' => 'hye',
|
||||
'hr' => 'hrv',
|
||||
'ik' => 'ipk',
|
||||
'is' => 'isl',
|
||||
'iu' => 'iku',
|
||||
'ka' => 'kat',
|
||||
'kr' => 'kau',
|
||||
'kg' => 'kon',
|
||||
'kv' => 'kom',
|
||||
'ku' => 'kur',
|
||||
'lv' => 'lav',
|
||||
'mg' => 'mlg',
|
||||
'mi' => 'mri',
|
||||
'mk' => 'mkd',
|
||||
'mn' => 'mon',
|
||||
'ms' => 'msa',
|
||||
'my' => 'mya',
|
||||
'nb' => 'nob',
|
||||
'ne' => 'nep',
|
||||
'nl' => 'nld',
|
||||
'oj' => 'oji',
|
||||
'om' => 'orm',
|
||||
'or' => 'ori',
|
||||
'ps' => 'pus',
|
||||
'qu' => 'que',
|
||||
'ro' => 'ron',
|
||||
'sc' => 'srd',
|
||||
'sk' => 'slk',
|
||||
'sq' => 'sqi',
|
||||
'sr' => 'srp',
|
||||
'sw' => 'swa',
|
||||
'uz' => 'uzb',
|
||||
'yi' => 'yid',
|
||||
'za' => 'zha',
|
||||
'zh' => 'zho',
|
||||
];
|
||||
private const DENYLIST = [
|
||||
'root' => true, // Absolute root language
|
||||
'mul' => true, // Multiple languages
|
||||
'mis' => true, // Uncoded language
|
||||
'und' => true, // Unknown language
|
||||
'zxx' => true, // No linguistic content
|
||||
];
|
||||
|
||||
/**
|
||||
* Collects all available language codes.
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
private array $languageCodes = [];
|
||||
|
||||
protected function scanLocales(LocaleScanner $scanner, string $sourceDir): array
|
||||
{
|
||||
return $scanner->scanLocales($sourceDir.'/lang');
|
||||
}
|
||||
|
||||
protected function compileTemporaryBundles(BundleCompilerInterface $compiler, string $sourceDir, string $tempDir)
|
||||
{
|
||||
$compiler->compile($sourceDir.'/lang', $tempDir);
|
||||
$compiler->compile($sourceDir.'/misc/metadata.txt', $tempDir);
|
||||
}
|
||||
|
||||
protected function preGenerate()
|
||||
{
|
||||
$this->languageCodes = [];
|
||||
}
|
||||
|
||||
protected function generateDataForLocale(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): ?array
|
||||
{
|
||||
$localeBundle = $reader->read($tempDir, $displayLocale);
|
||||
|
||||
// isset() on \ResourceBundle returns true even if the value is null
|
||||
if (isset($localeBundle['Languages']) && null !== $localeBundle['Languages']) {
|
||||
$names = [];
|
||||
$localizedNames = [];
|
||||
foreach (self::generateLanguageNames($localeBundle) as $language => $name) {
|
||||
if (!str_contains($language, '_')) {
|
||||
$this->languageCodes[] = $language;
|
||||
$names[$language] = $name;
|
||||
} else {
|
||||
$localizedNames[$language] = $name;
|
||||
}
|
||||
}
|
||||
$data = [
|
||||
'Names' => $names,
|
||||
'LocalizedNames' => $localizedNames,
|
||||
];
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function generateDataForRoot(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function generateDataForMeta(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
$metadataBundle = $reader->read($tempDir, 'metadata');
|
||||
|
||||
$this->languageCodes = array_unique($this->languageCodes);
|
||||
|
||||
sort($this->languageCodes);
|
||||
|
||||
return [
|
||||
'Languages' => $this->languageCodes,
|
||||
'Alpha3Languages' => $this->generateAlpha3Codes($this->languageCodes, $metadataBundle),
|
||||
'Alpha2ToAlpha3' => $this->generateAlpha2ToAlpha3Mapping($metadataBundle),
|
||||
'Alpha3ToAlpha2' => $this->generateAlpha3ToAlpha2Mapping($metadataBundle),
|
||||
];
|
||||
}
|
||||
|
||||
private static function generateLanguageNames(ArrayAccessibleResourceBundle $localeBundle): array
|
||||
{
|
||||
return array_diff_key(iterator_to_array($localeBundle['Languages']), self::DENYLIST);
|
||||
}
|
||||
|
||||
private function generateAlpha3Codes(array $languageCodes, ArrayAccessibleResourceBundle $metadataBundle): array
|
||||
{
|
||||
$alpha3Codes = array_flip(array_filter($languageCodes, static function (string $language): bool {
|
||||
return 3 === \strlen($language);
|
||||
}));
|
||||
|
||||
foreach ($metadataBundle['alias']['language'] as $alias => $data) {
|
||||
if (3 === \strlen($alias) && 'overlong' === $data['reason']) {
|
||||
$alpha3Codes[$alias] = true;
|
||||
}
|
||||
}
|
||||
|
||||
ksort($alpha3Codes);
|
||||
|
||||
return array_keys($alpha3Codes);
|
||||
}
|
||||
|
||||
private function generateAlpha2ToAlpha3Mapping(ArrayAccessibleResourceBundle $metadataBundle): array
|
||||
{
|
||||
$aliases = iterator_to_array($metadataBundle['alias']['language']);
|
||||
$alpha2ToAlpha3 = [];
|
||||
|
||||
foreach ($aliases as $alias => $data) {
|
||||
$language = $data['replacement'];
|
||||
if (2 === \strlen($language) && 3 === \strlen($alias) && 'overlong' === $data['reason']) {
|
||||
if (isset(self::PREFERRED_ALPHA2_TO_ALPHA3_MAPPING[$language])) {
|
||||
// Validate to prevent typos
|
||||
if (!isset($aliases[self::PREFERRED_ALPHA2_TO_ALPHA3_MAPPING[$language]])) {
|
||||
throw new RuntimeException('The statically set three-letter mapping '.self::PREFERRED_ALPHA2_TO_ALPHA3_MAPPING[$language].' for the language code '.$language.' seems to be invalid. Typo?');
|
||||
}
|
||||
|
||||
$alpha3 = self::PREFERRED_ALPHA2_TO_ALPHA3_MAPPING[$language];
|
||||
$alpha2 = $aliases[$alpha3]['replacement'];
|
||||
|
||||
if ($language !== $alpha2) {
|
||||
throw new RuntimeException('The statically set three-letter mapping '.$alpha3.' for the language code '.$language.' seems to be an alias for '.$alpha2.'. Wrong mapping?');
|
||||
}
|
||||
|
||||
$alpha2ToAlpha3[$language] = $alpha3;
|
||||
} elseif (isset($alpha2ToAlpha3[$language])) {
|
||||
throw new RuntimeException('Multiple three-letter mappings exist for the language code '.$language.'. Please add one of them to the const PREFERRED_ALPHA2_TO_ALPHA3_MAPPING.');
|
||||
} else {
|
||||
$alpha2ToAlpha3[$language] = $alias;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
asort($alpha2ToAlpha3);
|
||||
|
||||
return $alpha2ToAlpha3;
|
||||
}
|
||||
|
||||
private function generateAlpha3ToAlpha2Mapping(ArrayAccessibleResourceBundle $metadataBundle): array
|
||||
{
|
||||
$alpha3ToAlpha2 = [];
|
||||
|
||||
foreach ($metadataBundle['alias']['language'] as $alias => $data) {
|
||||
$language = $data['replacement'];
|
||||
if (2 === \strlen($language) && 3 === \strlen($alias) && 'overlong' === $data['reason']) {
|
||||
$alpha3ToAlpha2[$alias] = $language;
|
||||
}
|
||||
}
|
||||
|
||||
asort($alpha3ToAlpha2);
|
||||
|
||||
return $alpha3ToAlpha2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Generator;
|
||||
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\Intl\Data\Bundle\Compiler\BundleCompilerInterface;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
|
||||
use Symfony\Component\Intl\Data\Util\LocaleScanner;
|
||||
use Symfony\Component\Intl\Exception\MissingResourceException;
|
||||
|
||||
/**
|
||||
* The rule for compiling the locale bundle.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
* @author Roland Franssen <franssen.roland@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class LocaleDataGenerator extends AbstractDataGenerator
|
||||
{
|
||||
use FallbackTrait;
|
||||
|
||||
private array $locales = [];
|
||||
private array $localeAliases = [];
|
||||
private array $localeParents = [];
|
||||
|
||||
protected function scanLocales(LocaleScanner $scanner, string $sourceDir): array
|
||||
{
|
||||
$this->locales = $scanner->scanLocales($sourceDir.'/locales');
|
||||
$this->localeAliases = $scanner->scanAliases($sourceDir.'/locales');
|
||||
$this->localeParents = $scanner->scanParents($sourceDir.'/locales');
|
||||
|
||||
return $this->locales;
|
||||
}
|
||||
|
||||
protected function compileTemporaryBundles(BundleCompilerInterface $compiler, string $sourceDir, string $tempDir)
|
||||
{
|
||||
$filesystem = new Filesystem();
|
||||
$filesystem->mkdir([
|
||||
$tempDir.'/lang',
|
||||
$tempDir.'/region',
|
||||
]);
|
||||
$compiler->compile($sourceDir.'/lang', $tempDir.'/lang');
|
||||
$compiler->compile($sourceDir.'/region', $tempDir.'/region');
|
||||
}
|
||||
|
||||
protected function preGenerate()
|
||||
{
|
||||
// Write parents locale file for the Translation component
|
||||
file_put_contents(
|
||||
__DIR__.'/../../../Translation/Resources/data/parents.json',
|
||||
json_encode($this->localeParents, \JSON_PRETTY_PRINT).\PHP_EOL
|
||||
);
|
||||
}
|
||||
|
||||
protected function generateDataForLocale(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): ?array
|
||||
{
|
||||
// Don't generate aliases, as they are resolved during runtime
|
||||
// Unless an alias is needed as fallback for de-duplication purposes
|
||||
if (isset($this->localeAliases[$displayLocale]) && !$this->generatingFallback) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Generate locale names for all locales that have translations in
|
||||
// at least the language or the region bundle
|
||||
$displayFormat = $reader->readEntry($tempDir.'/lang', $displayLocale, ['localeDisplayPattern']);
|
||||
$pattern = $displayFormat['pattern'] ?? '{0} ({1})';
|
||||
$separator = $displayFormat['separator'] ?? '{0}, {1}';
|
||||
$localeNames = [];
|
||||
foreach ($this->locales as $locale) {
|
||||
// Ensure a normalized list of pure locales
|
||||
if (\Locale::getAllVariants($locale)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
// Generate a locale name in the language of each display locale
|
||||
// Each locale name has the form: "Language (Script, Region, Variant1, ...)
|
||||
// Script, Region and Variants are optional. If none of them is
|
||||
// available, the braces are not printed.
|
||||
$localeNames[$locale] = $this->generateLocaleName($reader, $tempDir, $locale, $displayLocale, $pattern, $separator);
|
||||
} catch (MissingResourceException) {
|
||||
// Silently ignore incomplete locale names
|
||||
// In this case one should configure at least one fallback locale that is complete (e.g. English) during
|
||||
// runtime. Alternatively a translation for the missing resource can be proposed upstream.
|
||||
}
|
||||
}
|
||||
|
||||
$data = [
|
||||
'Names' => $localeNames,
|
||||
];
|
||||
|
||||
// Don't de-duplicate a fallback locale
|
||||
// Ensures the display locale can be de-duplicated on itself
|
||||
if ($this->generatingFallback) {
|
||||
return $data;
|
||||
}
|
||||
|
||||
// Process again to de-duplicate locale and its fallback locales
|
||||
// Only keep the differences
|
||||
$fallbackData = $this->generateFallbackData($reader, $tempDir, $displayLocale);
|
||||
if (isset($fallbackData['Names'])) {
|
||||
$data['Names'] = array_diff($data['Names'], $fallbackData['Names']);
|
||||
}
|
||||
if (!$data['Names']) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
protected function generateDataForRoot(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function generateDataForMeta(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
return [
|
||||
'Locales' => $this->locales,
|
||||
'Aliases' => $this->localeAliases,
|
||||
];
|
||||
}
|
||||
|
||||
private function generateLocaleName(BundleEntryReaderInterface $reader, string $tempDir, string $locale, string $displayLocale, string $pattern, string $separator): string
|
||||
{
|
||||
// Apply generic notation using square brackets as described per http://cldr.unicode.org/translation/language-names
|
||||
$name = str_replace(['(', ')'], ['[', ']'], $reader->readEntry($tempDir.'/lang', $displayLocale, ['Languages', \Locale::getPrimaryLanguage($locale)]));
|
||||
$extras = [];
|
||||
|
||||
// Discover the name of the script part of the locale
|
||||
// i.e. in zh_Hans_MO, "Hans" is the script
|
||||
if ($script = \Locale::getScript($locale)) {
|
||||
$extras[] = str_replace(['(', ')'], ['[', ']'], $reader->readEntry($tempDir.'/lang', $displayLocale, ['Scripts', $script]));
|
||||
}
|
||||
|
||||
// Discover the name of the region part of the locale
|
||||
// i.e. in de_AT, "AT" is the region
|
||||
if ($region = \Locale::getRegion($locale)) {
|
||||
if (ctype_alpha($region) && !RegionDataGenerator::isValidCountryCode($region)) {
|
||||
throw new MissingResourceException(sprintf('Skipping "%s" due an invalid country.', $locale));
|
||||
}
|
||||
|
||||
$extras[] = str_replace(['(', ')'], ['[', ']'], $reader->readEntry($tempDir.'/region', $displayLocale, ['Countries', $region]));
|
||||
}
|
||||
|
||||
if ($extras) {
|
||||
$extra = array_shift($extras);
|
||||
foreach ($extras as $part) {
|
||||
$extra = str_replace(['{0}', '{1}'], [$extra, $part], $separator);
|
||||
}
|
||||
|
||||
$name = str_replace(['{0}', '{1}'], [$name, $extra], $pattern);
|
||||
}
|
||||
|
||||
return $name;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,192 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Generator;
|
||||
|
||||
use Symfony\Component\Intl\Data\Bundle\Compiler\BundleCompilerInterface;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
|
||||
use Symfony\Component\Intl\Data\Util\ArrayAccessibleResourceBundle;
|
||||
use Symfony\Component\Intl\Data\Util\LocaleScanner;
|
||||
use Symfony\Component\Intl\Exception\RuntimeException;
|
||||
|
||||
/**
|
||||
* The rule for compiling the region bundle.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @see http://source.icu-project.org/repos/icu/icu4j/trunk/main/classes/core/src/com/ibm/icu/util/Region.java
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class RegionDataGenerator extends AbstractDataGenerator
|
||||
{
|
||||
/**
|
||||
* Source: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes.
|
||||
*/
|
||||
private const PREFERRED_ALPHA2_TO_ALPHA3_MAPPING = [
|
||||
'CD' => 'COD',
|
||||
'DE' => 'DEU',
|
||||
'FR' => 'FRA',
|
||||
'MM' => 'MMR',
|
||||
'TL' => 'TLS',
|
||||
'YE' => 'YEM',
|
||||
];
|
||||
|
||||
private const DENYLIST = [
|
||||
// Exceptional reservations
|
||||
'AC' => true, // Ascension Island
|
||||
'CP' => true, // Clipperton Island
|
||||
'DG' => true, // Diego Garcia
|
||||
'EA' => true, // Ceuta & Melilla
|
||||
'EU' => true, // European Union
|
||||
'EZ' => true, // Eurozone
|
||||
'IC' => true, // Canary Islands
|
||||
'TA' => true, // Tristan da Cunha
|
||||
'UN' => true, // United Nations
|
||||
// User-assigned
|
||||
'QO' => true, // Outlying Oceania
|
||||
'XA' => true, // Pseudo-Accents
|
||||
'XB' => true, // Pseudo-Bidi
|
||||
'XK' => true, // Kosovo
|
||||
// Misc
|
||||
'ZZ' => true, // Unknown Region
|
||||
];
|
||||
|
||||
/**
|
||||
* Collects all available language codes.
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
private array $regionCodes = [];
|
||||
|
||||
public static function isValidCountryCode(int|string|null $region)
|
||||
{
|
||||
if (isset(self::DENYLIST[$region])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// WORLD/CONTINENT/SUBCONTINENT/GROUPING
|
||||
if (\is_int($region) || ctype_digit($region)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected function scanLocales(LocaleScanner $scanner, string $sourceDir): array
|
||||
{
|
||||
return $scanner->scanLocales($sourceDir.'/region');
|
||||
}
|
||||
|
||||
protected function compileTemporaryBundles(BundleCompilerInterface $compiler, string $sourceDir, string $tempDir)
|
||||
{
|
||||
$compiler->compile($sourceDir.'/region', $tempDir);
|
||||
$compiler->compile($sourceDir.'/misc/metadata.txt', $tempDir);
|
||||
}
|
||||
|
||||
protected function preGenerate()
|
||||
{
|
||||
$this->regionCodes = [];
|
||||
}
|
||||
|
||||
protected function generateDataForLocale(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): ?array
|
||||
{
|
||||
$localeBundle = $reader->read($tempDir, $displayLocale);
|
||||
|
||||
// isset() on \ResourceBundle returns true even if the value is null
|
||||
if (isset($localeBundle['Countries']) && null !== $localeBundle['Countries']) {
|
||||
$data = [
|
||||
'Names' => $this->generateRegionNames($localeBundle),
|
||||
];
|
||||
|
||||
$this->regionCodes = array_merge($this->regionCodes, array_keys($data['Names']));
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function generateDataForRoot(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function generateDataForMeta(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
$metadataBundle = $reader->read($tempDir, 'metadata');
|
||||
|
||||
$this->regionCodes = array_unique($this->regionCodes);
|
||||
|
||||
sort($this->regionCodes);
|
||||
|
||||
$alpha2ToAlpha3 = $this->generateAlpha2ToAlpha3Mapping(array_flip($this->regionCodes), $metadataBundle);
|
||||
$alpha3ToAlpha2 = array_flip($alpha2ToAlpha3);
|
||||
asort($alpha3ToAlpha2);
|
||||
|
||||
return [
|
||||
'Regions' => $this->regionCodes,
|
||||
'Alpha2ToAlpha3' => $alpha2ToAlpha3,
|
||||
'Alpha3ToAlpha2' => $alpha3ToAlpha2,
|
||||
];
|
||||
}
|
||||
|
||||
protected function generateRegionNames(ArrayAccessibleResourceBundle $localeBundle): array
|
||||
{
|
||||
$unfilteredRegionNames = iterator_to_array($localeBundle['Countries']);
|
||||
$regionNames = [];
|
||||
|
||||
foreach ($unfilteredRegionNames as $region => $regionName) {
|
||||
if (!self::isValidCountryCode($region)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$regionNames[$region] = $regionName;
|
||||
}
|
||||
|
||||
return $regionNames;
|
||||
}
|
||||
|
||||
private function generateAlpha2ToAlpha3Mapping(array $countries, ArrayAccessibleResourceBundle $metadataBundle): array
|
||||
{
|
||||
$aliases = iterator_to_array($metadataBundle['alias']['territory']);
|
||||
$alpha2ToAlpha3 = [];
|
||||
|
||||
foreach ($aliases as $alias => $data) {
|
||||
$country = $data['replacement'];
|
||||
if (2 === \strlen($country) && 3 === \strlen($alias) && 'overlong' === $data['reason']) {
|
||||
if (isset(self::PREFERRED_ALPHA2_TO_ALPHA3_MAPPING[$country])) {
|
||||
// Validate to prevent typos
|
||||
if (!isset($aliases[self::PREFERRED_ALPHA2_TO_ALPHA3_MAPPING[$country]])) {
|
||||
throw new RuntimeException('The statically set three-letter mapping '.self::PREFERRED_ALPHA2_TO_ALPHA3_MAPPING[$country].' for the country code '.$country.' seems to be invalid. Typo?');
|
||||
}
|
||||
|
||||
$alpha3 = self::PREFERRED_ALPHA2_TO_ALPHA3_MAPPING[$country];
|
||||
$alpha2 = $aliases[$alpha3]['replacement'];
|
||||
|
||||
if ($country !== $alpha2) {
|
||||
throw new RuntimeException('The statically set three-letter mapping '.$alpha3.' for the country code '.$country.' seems to be an alias for '.$alpha2.'. Wrong mapping?');
|
||||
}
|
||||
|
||||
$alpha2ToAlpha3[$country] = $alpha3;
|
||||
} elseif (isset($alpha2ToAlpha3[$country])) {
|
||||
throw new RuntimeException('Multiple three-letter mappings exist for the country code '.$country.'. Please add one of them to the const PREFERRED_ALPHA2_TO_ALPHA3_MAPPING.');
|
||||
} elseif (isset($countries[$country]) && self::isValidCountryCode($alias)) {
|
||||
$alpha2ToAlpha3[$country] = $alias;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
asort($alpha2ToAlpha3);
|
||||
|
||||
return $alpha2ToAlpha3;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Generator;
|
||||
|
||||
use Symfony\Component\Intl\Data\Bundle\Compiler\BundleCompilerInterface;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
|
||||
use Symfony\Component\Intl\Data\Util\LocaleScanner;
|
||||
|
||||
/**
|
||||
* The rule for compiling the script bundle.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class ScriptDataGenerator extends AbstractDataGenerator
|
||||
{
|
||||
private const DENYLIST = [
|
||||
'Zzzz' => true, // Unknown Script
|
||||
];
|
||||
|
||||
/**
|
||||
* Collects all available language codes.
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
private array $scriptCodes = [];
|
||||
|
||||
protected function scanLocales(LocaleScanner $scanner, string $sourceDir): array
|
||||
{
|
||||
return $scanner->scanLocales($sourceDir.'/lang');
|
||||
}
|
||||
|
||||
protected function compileTemporaryBundles(BundleCompilerInterface $compiler, string $sourceDir, string $tempDir)
|
||||
{
|
||||
$compiler->compile($sourceDir.'/lang', $tempDir);
|
||||
}
|
||||
|
||||
protected function preGenerate()
|
||||
{
|
||||
$this->scriptCodes = [];
|
||||
}
|
||||
|
||||
protected function generateDataForLocale(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): ?array
|
||||
{
|
||||
$localeBundle = $reader->read($tempDir, $displayLocale);
|
||||
|
||||
// isset() on \ResourceBundle returns true even if the value is null
|
||||
if (isset($localeBundle['Scripts']) && null !== $localeBundle['Scripts']) {
|
||||
$data = [
|
||||
'Names' => array_diff_key(iterator_to_array($localeBundle['Scripts']), self::DENYLIST),
|
||||
];
|
||||
|
||||
$this->scriptCodes = array_merge($this->scriptCodes, array_keys($data['Names']));
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function generateDataForRoot(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
protected function generateDataForMeta(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
$this->scriptCodes = array_unique($this->scriptCodes);
|
||||
|
||||
sort($this->scriptCodes);
|
||||
|
||||
return [
|
||||
'Scripts' => $this->scriptCodes,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,274 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Generator;
|
||||
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\Intl\Data\Bundle\Compiler\BundleCompilerInterface;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
|
||||
use Symfony\Component\Intl\Data\Util\ArrayAccessibleResourceBundle;
|
||||
use Symfony\Component\Intl\Data\Util\LocaleScanner;
|
||||
use Symfony\Component\Intl\Exception\MissingResourceException;
|
||||
use Symfony\Component\Intl\Locale;
|
||||
|
||||
/**
|
||||
* The rule for compiling the zone bundle.
|
||||
*
|
||||
* @author Roland Franssen <franssen.roland@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class TimezoneDataGenerator extends AbstractDataGenerator
|
||||
{
|
||||
use FallbackTrait;
|
||||
|
||||
/**
|
||||
* Collects all available zone IDs.
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
private array $zoneIds = [];
|
||||
private array $zoneToCountryMapping = [];
|
||||
private array $localeAliases = [];
|
||||
|
||||
protected function scanLocales(LocaleScanner $scanner, string $sourceDir): array
|
||||
{
|
||||
$this->localeAliases = $scanner->scanAliases($sourceDir.'/locales');
|
||||
|
||||
return $scanner->scanLocales($sourceDir.'/zone');
|
||||
}
|
||||
|
||||
protected function compileTemporaryBundles(BundleCompilerInterface $compiler, string $sourceDir, string $tempDir)
|
||||
{
|
||||
$filesystem = new Filesystem();
|
||||
$filesystem->mkdir($tempDir.'/region');
|
||||
$compiler->compile($sourceDir.'/region', $tempDir.'/region');
|
||||
$compiler->compile($sourceDir.'/zone', $tempDir);
|
||||
$compiler->compile($sourceDir.'/misc/timezoneTypes.txt', $tempDir);
|
||||
$compiler->compile($sourceDir.'/misc/metaZones.txt', $tempDir);
|
||||
$compiler->compile($sourceDir.'/misc/windowsZones.txt', $tempDir);
|
||||
}
|
||||
|
||||
protected function preGenerate()
|
||||
{
|
||||
$this->zoneIds = [];
|
||||
$this->zoneToCountryMapping = [];
|
||||
}
|
||||
|
||||
protected function generateDataForLocale(BundleEntryReaderInterface $reader, string $tempDir, string $displayLocale): ?array
|
||||
{
|
||||
if (!$this->zoneToCountryMapping) {
|
||||
$this->zoneToCountryMapping = self::generateZoneToCountryMapping($reader->read($tempDir, 'windowsZones'));
|
||||
}
|
||||
|
||||
// Don't generate aliases, as they are resolved during runtime
|
||||
// Unless an alias is needed as fallback for de-duplication purposes
|
||||
if (isset($this->localeAliases[$displayLocale]) && !$this->generatingFallback) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$localeBundle = $reader->read($tempDir, $displayLocale);
|
||||
|
||||
if (!isset($localeBundle['zoneStrings']) || null === $localeBundle['zoneStrings']) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$data = [
|
||||
'Names' => $this->generateZones($reader, $tempDir, $displayLocale),
|
||||
'Meta' => self::generateZoneMetadata($localeBundle),
|
||||
];
|
||||
|
||||
// Don't de-duplicate a fallback locale
|
||||
// Ensures the display locale can be de-duplicated on itself
|
||||
if ($this->generatingFallback) {
|
||||
return $data;
|
||||
}
|
||||
|
||||
// Process again to de-duplicate locales and their fallback locales
|
||||
// Only keep the differences
|
||||
$fallback = $this->generateFallbackData($reader, $tempDir, $displayLocale);
|
||||
if (isset($fallback['Names'])) {
|
||||
$data['Names'] = array_diff($data['Names'], $fallback['Names']);
|
||||
}
|
||||
if (isset($fallback['Meta'])) {
|
||||
$data['Meta'] = array_diff($data['Meta'], $fallback['Meta']);
|
||||
}
|
||||
if (!$data['Names'] && !$data['Meta']) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$this->zoneIds = array_merge($this->zoneIds, array_keys($data['Names']));
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
protected function generateDataForRoot(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
$rootBundle = $reader->read($tempDir, 'root');
|
||||
|
||||
return [
|
||||
'Meta' => self::generateZoneMetadata($rootBundle),
|
||||
];
|
||||
}
|
||||
|
||||
protected function generateDataForMeta(BundleEntryReaderInterface $reader, string $tempDir): ?array
|
||||
{
|
||||
$rootBundle = $reader->read($tempDir, 'root');
|
||||
|
||||
$this->zoneIds = array_unique($this->zoneIds);
|
||||
|
||||
sort($this->zoneIds);
|
||||
ksort($this->zoneToCountryMapping);
|
||||
|
||||
$data = [
|
||||
'Zones' => $this->zoneIds,
|
||||
'ZoneToCountry' => $this->zoneToCountryMapping,
|
||||
'CountryToZone' => self::generateCountryToZoneMapping($this->zoneToCountryMapping),
|
||||
];
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
private function generateZones(BundleEntryReaderInterface $reader, string $tempDir, string $locale): array
|
||||
{
|
||||
$typeBundle = $reader->read($tempDir, 'timezoneTypes');
|
||||
$available = [];
|
||||
foreach ($typeBundle['typeMap']['timezone'] as $zone => $_) {
|
||||
if ('Etc:Unknown' === $zone || preg_match('~^Etc:GMT[-+]\d+$~', $zone)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$available[$zone] = true;
|
||||
}
|
||||
|
||||
$metaBundle = $reader->read($tempDir, 'metaZones');
|
||||
$metazones = [];
|
||||
foreach ($metaBundle['metazoneInfo'] as $zone => $info) {
|
||||
foreach ($info as $metazone) {
|
||||
$metazones[$zone] = $metazone->get(0);
|
||||
}
|
||||
}
|
||||
|
||||
$regionFormat = $reader->readEntry($tempDir, $locale, ['zoneStrings', 'regionFormat']);
|
||||
$fallbackFormat = $reader->readEntry($tempDir, $locale, ['zoneStrings', 'fallbackFormat']);
|
||||
$resolveName = function (string $id, string $city = null) use ($reader, $tempDir, $locale, $regionFormat, $fallbackFormat): ?string {
|
||||
// Resolve default name as described per http://cldr.unicode.org/translation/timezones
|
||||
if (isset($this->zoneToCountryMapping[$id])) {
|
||||
try {
|
||||
$country = $reader->readEntry($tempDir.'/region', $locale, ['Countries', $this->zoneToCountryMapping[$id]]);
|
||||
} catch (MissingResourceException) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$name = str_replace('{0}', $country, $regionFormat);
|
||||
|
||||
return null === $city ? $name : str_replace(['{0}', '{1}'], [$city, $name], $fallbackFormat);
|
||||
}
|
||||
if (null !== $city) {
|
||||
return str_replace('{0}', $city, $regionFormat);
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
$accessor = static function (array $indices, array ...$fallbackIndices) use ($locale, $reader, $tempDir) {
|
||||
foreach (\func_get_args() as $indices) {
|
||||
try {
|
||||
return $reader->readEntry($tempDir, $locale, $indices);
|
||||
} catch (MissingResourceException) {
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
$zones = [];
|
||||
foreach (array_keys($available) as $zone) {
|
||||
// lg: long generic, e.g. "Central European Time"
|
||||
// ls: long specific (not DST), e.g. "Central European Standard Time"
|
||||
// ld: long DST, e.g. "Central European Summer Time"
|
||||
// ec: example city, e.g. "Amsterdam"
|
||||
$name = $accessor(['zoneStrings', $zone, 'lg'], ['zoneStrings', $zone, 'ls']);
|
||||
$city = $accessor(['zoneStrings', $zone, 'ec']);
|
||||
$id = str_replace(':', '/', $zone);
|
||||
|
||||
if (null === $name && isset($metazones[$zone])) {
|
||||
$meta = 'meta:'.$metazones[$zone];
|
||||
$name = $accessor(['zoneStrings', $meta, 'lg'], ['zoneStrings', $meta, 'ls']);
|
||||
}
|
||||
|
||||
// Infer a default English named city for all locales
|
||||
// Ensures each timezone ID has a distinctive name
|
||||
if (null === $city && 0 !== strrpos($zone, 'Etc:') && false !== $i = strrpos($zone, ':')) {
|
||||
$city = str_replace('_', ' ', substr($zone, $i + 1));
|
||||
}
|
||||
if (null === $name) {
|
||||
$name = $resolveName($id, $city);
|
||||
$city = null;
|
||||
}
|
||||
if (null === $name) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Ensure no duplicated content is generated
|
||||
if (null !== $city && false === mb_stripos(str_replace('-', ' ', $name), str_replace('-', ' ', $city))) {
|
||||
$name = str_replace(['{0}', '{1}'], [$city, $name], $fallbackFormat);
|
||||
}
|
||||
|
||||
$zones[$id] = $name;
|
||||
}
|
||||
|
||||
return $zones;
|
||||
}
|
||||
|
||||
private static function generateZoneMetadata(ArrayAccessibleResourceBundle $localeBundle): array
|
||||
{
|
||||
$metadata = [];
|
||||
if (isset($localeBundle['zoneStrings']['gmtFormat'])) {
|
||||
$metadata['GmtFormat'] = str_replace('{0}', '%s', $localeBundle['zoneStrings']['gmtFormat']);
|
||||
}
|
||||
if (isset($localeBundle['zoneStrings']['hourFormat'])) {
|
||||
$hourFormat = explode(';', str_replace(['HH', 'mm', 'H', 'm'], ['%02d', '%02d', '%d', '%d'], $localeBundle['zoneStrings']['hourFormat']), 2);
|
||||
$metadata['HourFormatPos'] = $hourFormat[0];
|
||||
$metadata['HourFormatNeg'] = $hourFormat[1];
|
||||
}
|
||||
|
||||
return $metadata;
|
||||
}
|
||||
|
||||
private static function generateZoneToCountryMapping(ArrayAccessibleResourceBundle $windowsZoneBundle): array
|
||||
{
|
||||
$mapping = [];
|
||||
|
||||
foreach ($windowsZoneBundle['mapTimezones'] as $zoneInfo) {
|
||||
foreach ($zoneInfo as $region => $zones) {
|
||||
if (RegionDataGenerator::isValidCountryCode($region)) {
|
||||
$mapping += array_fill_keys(explode(' ', $zones), $region);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ksort($mapping);
|
||||
|
||||
return $mapping;
|
||||
}
|
||||
|
||||
private static function generateCountryToZoneMapping(array $zoneToCountryMapping): array
|
||||
{
|
||||
$mapping = [];
|
||||
|
||||
foreach ($zoneToCountryMapping as $zone => $country) {
|
||||
$mapping[$country][] = $zone;
|
||||
}
|
||||
|
||||
ksort($mapping);
|
||||
|
||||
return $mapping;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Util;
|
||||
|
||||
use Symfony\Component\Intl\Exception\BadMethodCallException;
|
||||
|
||||
/**
|
||||
* Work-around for a bug in PHP's \ResourceBundle implementation.
|
||||
*
|
||||
* More information can be found on https://bugs.php.net/64356.
|
||||
* This class can be removed once that bug is fixed.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class ArrayAccessibleResourceBundle implements \ArrayAccess, \IteratorAggregate, \Countable
|
||||
{
|
||||
private \ResourceBundle $bundleImpl;
|
||||
|
||||
public function __construct(\ResourceBundle $bundleImpl)
|
||||
{
|
||||
$this->bundleImpl = $bundleImpl;
|
||||
}
|
||||
|
||||
public function get(int|string $offset)
|
||||
{
|
||||
$value = $this->bundleImpl->get($offset);
|
||||
|
||||
return $value instanceof \ResourceBundle ? new static($value) : $value;
|
||||
}
|
||||
|
||||
public function offsetExists(mixed $offset): bool
|
||||
{
|
||||
return null !== $this->bundleImpl->get($offset);
|
||||
}
|
||||
|
||||
public function offsetGet(mixed $offset): mixed
|
||||
{
|
||||
return $this->get($offset);
|
||||
}
|
||||
|
||||
public function offsetSet(mixed $offset, mixed $value): void
|
||||
{
|
||||
throw new BadMethodCallException('Resource bundles cannot be modified.');
|
||||
}
|
||||
|
||||
public function offsetUnset(mixed $offset): void
|
||||
{
|
||||
throw new BadMethodCallException('Resource bundles cannot be modified.');
|
||||
}
|
||||
|
||||
public function getIterator(): \Traversable
|
||||
{
|
||||
return $this->bundleImpl;
|
||||
}
|
||||
|
||||
public function count(): int
|
||||
{
|
||||
return $this->bundleImpl->count();
|
||||
}
|
||||
|
||||
public function getErrorCode()
|
||||
{
|
||||
return $this->bundleImpl->getErrorCode();
|
||||
}
|
||||
|
||||
public function getErrorMessage()
|
||||
{
|
||||
return $this->bundleImpl->getErrorMessage();
|
||||
}
|
||||
}
|
||||
101
htdocs/includes/symfony/intl/Data/Util/LocaleScanner.php
Normal file
101
htdocs/includes/symfony/intl/Data/Util/LocaleScanner.php
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Util;
|
||||
|
||||
/**
|
||||
* Scans a directory with data files for locales.
|
||||
*
|
||||
* The name of each file with the extension ".txt" is considered, if it "looks"
|
||||
* like a locale:
|
||||
*
|
||||
* - the name must start with two letters;
|
||||
* - the two letters may optionally be followed by an underscore and any
|
||||
* sequence of other symbols.
|
||||
*
|
||||
* For example, "de" and "de_DE" are considered to be locales. "root" and "meta"
|
||||
* are not.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class LocaleScanner
|
||||
{
|
||||
/**
|
||||
* Returns all locales found in the given directory.
|
||||
*
|
||||
* @return array An array of locales. The result also contains locales that
|
||||
* are in fact just aliases for other locales. Use
|
||||
* {@link scanAliases()} to determine which of the locales
|
||||
* are aliases
|
||||
*/
|
||||
public function scanLocales(string $sourceDir): array
|
||||
{
|
||||
$locales = glob($sourceDir.'/*.txt', \GLOB_NOSORT);
|
||||
|
||||
// Remove file extension and sort
|
||||
array_walk($locales, function (&$locale) { $locale = basename($locale, '.txt'); });
|
||||
|
||||
// Remove non-locales
|
||||
$locales = array_filter($locales, function ($locale) {
|
||||
return preg_match('/^[a-z]{2}(_.+)?$/', $locale);
|
||||
});
|
||||
|
||||
sort($locales);
|
||||
|
||||
return $locales;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all locale aliases found in the given directory.
|
||||
*
|
||||
* @return array An array with the locale aliases as keys and the aliased
|
||||
* locales as values
|
||||
*/
|
||||
public function scanAliases(string $sourceDir): array
|
||||
{
|
||||
$locales = $this->scanLocales($sourceDir);
|
||||
$aliases = [];
|
||||
|
||||
// Delete locales that are no aliases
|
||||
foreach ($locales as $locale) {
|
||||
$content = file_get_contents($sourceDir.'/'.$locale.'.txt');
|
||||
|
||||
// Aliases contain the text "%%ALIAS" followed by the aliased locale
|
||||
if (preg_match('/"%%ALIAS"\{"([^"]+)"\}/', $content, $matches)) {
|
||||
$aliases[$locale] = $matches[1];
|
||||
}
|
||||
}
|
||||
|
||||
return $aliases;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all locale parents found in the given directory.
|
||||
*/
|
||||
public function scanParents(string $sourceDir): array
|
||||
{
|
||||
$locales = $this->scanLocales($sourceDir);
|
||||
$fallbacks = [];
|
||||
|
||||
foreach ($locales as $locale) {
|
||||
$content = file_get_contents($sourceDir.'/'.$locale.'.txt');
|
||||
|
||||
// Aliases contain the text "%%PARENT" followed by the aliased locale
|
||||
if (preg_match('/%%Parent{"([^"]+)"}/', $content, $matches)) {
|
||||
$fallbacks[$locale] = $matches[1];
|
||||
}
|
||||
}
|
||||
|
||||
return $fallbacks;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Util;
|
||||
|
||||
use Symfony\Component\Intl\Exception\OutOfBoundsException;
|
||||
|
||||
/**
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class RecursiveArrayAccess
|
||||
{
|
||||
public static function get(mixed $array, array $indices)
|
||||
{
|
||||
foreach ($indices as $index) {
|
||||
// Use array_key_exists() for arrays, isset() otherwise
|
||||
if (\is_array($array)) {
|
||||
if (\array_key_exists($index, $array)) {
|
||||
$array = $array[$index];
|
||||
continue;
|
||||
}
|
||||
} elseif ($array instanceof \ArrayAccess) {
|
||||
if (isset($array[$index])) {
|
||||
$array = $array[$index];
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
throw new OutOfBoundsException(sprintf('The index "%s" does not exist.', $index));
|
||||
}
|
||||
|
||||
return $array;
|
||||
}
|
||||
|
||||
private function __construct()
|
||||
{
|
||||
}
|
||||
}
|
||||
79
htdocs/includes/symfony/intl/Data/Util/RingBuffer.php
Normal file
79
htdocs/includes/symfony/intl/Data/Util/RingBuffer.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Data\Util;
|
||||
|
||||
use Symfony\Component\Intl\Exception\OutOfBoundsException;
|
||||
|
||||
/**
|
||||
* Implements a ring buffer.
|
||||
*
|
||||
* A ring buffer is an array-like structure with a fixed size. If the buffer
|
||||
* is full, the next written element overwrites the first bucket in the buffer,
|
||||
* then the second and so on.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @template TKey of array-key
|
||||
* @template TValue
|
||||
*
|
||||
* @implements \ArrayAccess<TKey, TValue>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class RingBuffer implements \ArrayAccess
|
||||
{
|
||||
/** @var array<int, TValue> */
|
||||
private array $values = [];
|
||||
/** @var array<TKey, int> */
|
||||
private array $indices = [];
|
||||
private int $cursor = 0;
|
||||
private int $size;
|
||||
|
||||
public function __construct(int $size)
|
||||
{
|
||||
$this->size = $size;
|
||||
}
|
||||
|
||||
public function offsetExists(mixed $key): bool
|
||||
{
|
||||
return isset($this->indices[$key]);
|
||||
}
|
||||
|
||||
public function offsetGet(mixed $key): mixed
|
||||
{
|
||||
if (!isset($this->indices[$key])) {
|
||||
throw new OutOfBoundsException(sprintf('The index "%s" does not exist.', $key));
|
||||
}
|
||||
|
||||
return $this->values[$this->indices[$key]];
|
||||
}
|
||||
|
||||
public function offsetSet(mixed $key, mixed $value): void
|
||||
{
|
||||
if (false !== ($keyToRemove = array_search($this->cursor, $this->indices))) {
|
||||
unset($this->indices[$keyToRemove]);
|
||||
}
|
||||
|
||||
$this->values[$this->cursor] = $value;
|
||||
$this->indices[$key] = $this->cursor;
|
||||
|
||||
$this->cursor = ($this->cursor + 1) % $this->size;
|
||||
}
|
||||
|
||||
public function offsetUnset(mixed $key): void
|
||||
{
|
||||
if (isset($this->indices[$key])) {
|
||||
$this->values[$this->indices[$key]] = null;
|
||||
unset($this->indices[$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Exception;
|
||||
|
||||
/**
|
||||
* Base BadMethodCallException for the Intl component.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*/
|
||||
class BadMethodCallException extends \BadMethodCallException implements ExceptionInterface
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Exception;
|
||||
|
||||
/**
|
||||
* Base ExceptionInterface for the Intl component.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*/
|
||||
interface ExceptionInterface extends \Throwable
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Exception;
|
||||
|
||||
/**
|
||||
* InvalidArgumentException for the Intl component.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*/
|
||||
class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Exception;
|
||||
|
||||
/**
|
||||
* Thrown when an invalid entry of a resource bundle was requested.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*/
|
||||
class MissingResourceException extends RuntimeException
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Exception;
|
||||
|
||||
/**
|
||||
* Base OutOfBoundsException for the Intl component.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*/
|
||||
class OutOfBoundsException extends \OutOfBoundsException implements ExceptionInterface
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Exception;
|
||||
|
||||
/**
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*/
|
||||
class ResourceBundleNotFoundException extends RuntimeException
|
||||
{
|
||||
}
|
||||
21
htdocs/includes/symfony/intl/Exception/RuntimeException.php
Normal file
21
htdocs/includes/symfony/intl/Exception/RuntimeException.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Exception;
|
||||
|
||||
/**
|
||||
* RuntimeException for the Intl component.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*/
|
||||
class RuntimeException extends \RuntimeException implements ExceptionInterface
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl\Exception;
|
||||
|
||||
/**
|
||||
* Thrown when a method argument had an unexpected type.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*/
|
||||
class UnexpectedTypeException extends InvalidArgumentException
|
||||
{
|
||||
public function __construct(mixed $value, string $expectedType)
|
||||
{
|
||||
parent::__construct(sprintf('Expected argument of type "%s", "%s" given', $expectedType, get_debug_type($value)));
|
||||
}
|
||||
}
|
||||
126
htdocs/includes/symfony/intl/Intl.php
Normal file
126
htdocs/includes/symfony/intl/Intl.php
Normal file
@@ -0,0 +1,126 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl;
|
||||
|
||||
/**
|
||||
* Gives access to internationalization data.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*/
|
||||
final class Intl
|
||||
{
|
||||
/**
|
||||
* The number of resource bundles to buffer. Loading the same resource
|
||||
* bundle for n locales takes up n spots in the buffer.
|
||||
*/
|
||||
public const BUFFER_SIZE = 10;
|
||||
|
||||
/**
|
||||
* The directory name of the currency data.
|
||||
*/
|
||||
public const CURRENCY_DIR = 'currencies';
|
||||
|
||||
/**
|
||||
* The directory name of the language data.
|
||||
*/
|
||||
public const LANGUAGE_DIR = 'languages';
|
||||
|
||||
/**
|
||||
* The directory name of the script data.
|
||||
*/
|
||||
public const SCRIPT_DIR = 'scripts';
|
||||
|
||||
/**
|
||||
* The directory name of the locale data.
|
||||
*/
|
||||
public const LOCALE_DIR = 'locales';
|
||||
|
||||
/**
|
||||
* The directory name of the region data.
|
||||
*/
|
||||
public const REGION_DIR = 'regions';
|
||||
|
||||
/**
|
||||
* The directory name of the zone data.
|
||||
*/
|
||||
public const TIMEZONE_DIR = 'timezones';
|
||||
|
||||
private static string|false|null $icuVersion = false;
|
||||
private static string $icuDataVersion;
|
||||
|
||||
/**
|
||||
* Returns whether the intl extension is installed.
|
||||
*/
|
||||
public static function isExtensionLoaded(): bool
|
||||
{
|
||||
return class_exists(\ResourceBundle::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the version of the installed ICU library.
|
||||
*/
|
||||
public static function getIcuVersion(): ?string
|
||||
{
|
||||
if (false === self::$icuVersion) {
|
||||
if (!self::isExtensionLoaded()) {
|
||||
self::$icuVersion = self::getIcuStubVersion();
|
||||
} elseif (\defined('INTL_ICU_VERSION')) {
|
||||
self::$icuVersion = \INTL_ICU_VERSION;
|
||||
} else {
|
||||
try {
|
||||
$reflector = new \ReflectionExtension('intl');
|
||||
ob_start();
|
||||
$reflector->info();
|
||||
$output = strip_tags(ob_get_clean());
|
||||
preg_match('/^ICU version (?:=>)?(.*)$/m', $output, $matches);
|
||||
|
||||
self::$icuVersion = trim($matches[1]);
|
||||
} catch (\ReflectionException) {
|
||||
self::$icuVersion = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return self::$icuVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the version of the installed ICU data.
|
||||
*/
|
||||
public static function getIcuDataVersion(): string
|
||||
{
|
||||
return self::$icuDataVersion ??= trim(file_get_contents(self::getDataDirectory().'/version.txt'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ICU version that the stub classes mimic.
|
||||
*/
|
||||
public static function getIcuStubVersion(): string
|
||||
{
|
||||
return '72.1';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the absolute path to the data directory.
|
||||
*/
|
||||
public static function getDataDirectory(): string
|
||||
{
|
||||
return __DIR__.'/Resources/data';
|
||||
}
|
||||
|
||||
/**
|
||||
* This class must not be instantiated.
|
||||
*/
|
||||
private function __construct()
|
||||
{
|
||||
}
|
||||
}
|
||||
19
htdocs/includes/symfony/intl/LICENSE
Normal file
19
htdocs/includes/symfony/intl/LICENSE
Normal file
@@ -0,0 +1,19 @@
|
||||
Copyright (c) 2004-present Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished
|
||||
to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
182
htdocs/includes/symfony/intl/Languages.php
Normal file
182
htdocs/includes/symfony/intl/Languages.php
Normal file
@@ -0,0 +1,182 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl;
|
||||
|
||||
use Symfony\Component\Intl\Exception\MissingResourceException;
|
||||
|
||||
/**
|
||||
* Gives access to language-related ICU data.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
* @author Roland Franssen <franssen.roland@gmail.com>
|
||||
*/
|
||||
final class Languages extends ResourceBundle
|
||||
{
|
||||
/**
|
||||
* Returns all available languages as two-letter codes.
|
||||
*
|
||||
* Languages are returned as lowercase ISO 639-1 two-letter language codes.
|
||||
* For languages that don't have a two-letter code, the ISO 639-2
|
||||
* three-letter code is used instead.
|
||||
*
|
||||
* A full table of ISO 639 language codes can be found here:
|
||||
* http://www-01.sil.org/iso639-3/codes.asp
|
||||
*
|
||||
* @return string[] an array of canonical ISO 639-1 language codes
|
||||
*/
|
||||
public static function getLanguageCodes(): array
|
||||
{
|
||||
return self::readEntry(['Languages'], 'meta');
|
||||
}
|
||||
|
||||
public static function exists(string $language): bool
|
||||
{
|
||||
try {
|
||||
self::readEntry(['Names', $language]);
|
||||
|
||||
return true;
|
||||
} catch (MissingResourceException) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the language name from its alpha2 code.
|
||||
*
|
||||
* A full locale may be passed to obtain a more localized language name, e.g. "American English" for "en_US".
|
||||
*
|
||||
* @throws MissingResourceException if the language code does not exist
|
||||
*/
|
||||
public static function getName(string $language, string $displayLocale = null): string
|
||||
{
|
||||
try {
|
||||
return self::readEntry(['Names', $language], $displayLocale);
|
||||
} catch (MissingResourceException) {
|
||||
try {
|
||||
return self::readEntry(['LocalizedNames', $language], $displayLocale);
|
||||
} catch (MissingResourceException $e) {
|
||||
if (false !== $i = strrpos($language, '_')) {
|
||||
return self::getName(substr($language, 0, $i), $displayLocale);
|
||||
}
|
||||
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the list of language names indexed with alpha2 codes as keys.
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function getNames(string $displayLocale = null): array
|
||||
{
|
||||
return self::asort(self::readEntry(['Names'], $displayLocale), $displayLocale);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ISO 639-2 three-letter code of a language, given a two-letter code.
|
||||
*
|
||||
* @throws MissingResourceException if the language has no corresponding three-letter code
|
||||
*/
|
||||
public static function getAlpha3Code(string $language): string
|
||||
{
|
||||
return self::readEntry(['Alpha2ToAlpha3', $language], 'meta');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ISO 639-1 two-letter code of a language, given a three letter code.
|
||||
*
|
||||
* @throws MissingResourceException if the language has no corresponding three-letter code
|
||||
*/
|
||||
public static function getAlpha2Code(string $language): string
|
||||
{
|
||||
return self::readEntry(['Alpha3ToAlpha2', $language], 'meta');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all available languages as three-letter codes.
|
||||
*
|
||||
* Languages are returned as lowercase ISO 639-2 three-letter language codes.
|
||||
*
|
||||
* @return string[] an array of canonical ISO 639-2 language codes
|
||||
*/
|
||||
public static function getAlpha3Codes(): array
|
||||
{
|
||||
return self::readEntry(['Alpha3Languages'], 'meta');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $language ISO 639-2 three-letter language code
|
||||
*/
|
||||
public static function alpha3CodeExists(string $language): bool
|
||||
{
|
||||
try {
|
||||
self::getAlpha2Code($language);
|
||||
|
||||
return true;
|
||||
} catch (MissingResourceException) {
|
||||
static $cache;
|
||||
$cache ??= array_flip(self::getAlpha3Codes());
|
||||
|
||||
return isset($cache[$language]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the language name from its ISO 639-2 three-letter code.
|
||||
*
|
||||
* @throws MissingResourceException if the country code does not exists
|
||||
*/
|
||||
public static function getAlpha3Name(string $language, string $displayLocale = null): string
|
||||
{
|
||||
try {
|
||||
return self::getName(self::getAlpha2Code($language), $displayLocale);
|
||||
} catch (MissingResourceException $e) {
|
||||
if (3 === \strlen($language)) {
|
||||
return self::getName($language, $displayLocale);
|
||||
}
|
||||
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the list of language names indexed with ISO 639-2 three-letter codes as keys.
|
||||
*
|
||||
* Same as method getNames, but with ISO 639-2 three-letter codes instead of ISO 639-1 codes as keys.
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function getAlpha3Names(string $displayLocale = null): array
|
||||
{
|
||||
$alpha2Names = self::getNames($displayLocale);
|
||||
$alpha3Names = [];
|
||||
foreach ($alpha2Names as $alpha2Code => $name) {
|
||||
if (3 === \strlen($alpha2Code)) {
|
||||
$alpha3Names[$alpha2Code] = $name;
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
$alpha3Names[self::getAlpha3Code($alpha2Code)] = $name;
|
||||
} catch (MissingResourceException) {
|
||||
}
|
||||
}
|
||||
|
||||
return $alpha3Names;
|
||||
}
|
||||
|
||||
protected static function getPath(): string
|
||||
{
|
||||
return Intl::getDataDirectory().'/'.Intl::LANGUAGE_DIR;
|
||||
}
|
||||
}
|
||||
112
htdocs/includes/symfony/intl/Locale.php
Normal file
112
htdocs/includes/symfony/intl/Locale.php
Normal file
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl;
|
||||
|
||||
if (!class_exists(\Locale::class)) {
|
||||
throw new \LogicException(sprintf('You cannot use the "%s\Locale" class as the "intl" extension is not installed. See https://php.net/intl.', __NAMESPACE__));
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides access to locale-related data.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
final class Locale extends \Locale
|
||||
{
|
||||
private static ?string $defaultFallback = 'en';
|
||||
|
||||
/**
|
||||
* Sets the default fallback locale.
|
||||
*
|
||||
* The default fallback locale is used as fallback for locales that have no
|
||||
* fallback otherwise.
|
||||
*
|
||||
* @see getFallback()
|
||||
*/
|
||||
public static function setDefaultFallback(?string $locale)
|
||||
{
|
||||
self::$defaultFallback = $locale;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the default fallback locale.
|
||||
*
|
||||
* @see setDefaultFallback()
|
||||
* @see getFallback()
|
||||
*/
|
||||
public static function getDefaultFallback(): ?string
|
||||
{
|
||||
return self::$defaultFallback;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the fallback locale for a given locale.
|
||||
*
|
||||
* For example, the fallback of "fr_FR" is "fr". The fallback of "fr" is
|
||||
* the default fallback locale configured with {@link setDefaultFallback()}.
|
||||
* The default fallback locale has no fallback.
|
||||
*
|
||||
* @return string|null The ICU locale code of the fallback locale, or null
|
||||
* if no fallback exists
|
||||
*/
|
||||
public static function getFallback(string $locale): ?string
|
||||
{
|
||||
if (\function_exists('locale_parse')) {
|
||||
$localeSubTags = locale_parse($locale) ?? ['language' => $locale];
|
||||
|
||||
if (1 === \count($localeSubTags)) {
|
||||
if ('root' !== self::$defaultFallback && self::$defaultFallback === $localeSubTags['language']) {
|
||||
return 'root';
|
||||
}
|
||||
|
||||
// Don't return default fallback for "root", "meta" or others
|
||||
// Normal locales have two or three letters
|
||||
if (\strlen($locale) < 4) {
|
||||
return self::$defaultFallback;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
array_pop($localeSubTags);
|
||||
|
||||
$fallback = locale_compose($localeSubTags);
|
||||
|
||||
return false !== $fallback ? $fallback : null;
|
||||
}
|
||||
|
||||
if (false !== $pos = strrpos($locale, '_')) {
|
||||
return substr($locale, 0, $pos);
|
||||
}
|
||||
|
||||
if (false !== $pos = strrpos($locale, '-')) {
|
||||
return substr($locale, 0, $pos);
|
||||
}
|
||||
|
||||
if ('root' !== self::$defaultFallback && self::$defaultFallback === $locale) {
|
||||
return 'root';
|
||||
}
|
||||
|
||||
// Don't return default fallback for "root", "meta" or others
|
||||
// Normal locales have two or three letters
|
||||
return \strlen($locale) < 4 ? self::$defaultFallback : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* This class must not be instantiated.
|
||||
*/
|
||||
private function __construct()
|
||||
{
|
||||
}
|
||||
}
|
||||
79
htdocs/includes/symfony/intl/Locales.php
Normal file
79
htdocs/includes/symfony/intl/Locales.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl;
|
||||
|
||||
use Symfony\Component\Intl\Exception\MissingResourceException;
|
||||
|
||||
/**
|
||||
* Gives access to locale-related ICU data.
|
||||
*
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
* @author Roland Franssen <franssen.roland@gmail.com>
|
||||
*/
|
||||
final class Locales extends ResourceBundle
|
||||
{
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public static function getLocales(): array
|
||||
{
|
||||
return self::readEntry(['Locales'], 'meta');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public static function getAliases(): array
|
||||
{
|
||||
return self::readEntry(['Aliases'], 'meta');
|
||||
}
|
||||
|
||||
public static function exists(string $locale): bool
|
||||
{
|
||||
try {
|
||||
self::readEntry(['Names', $locale]);
|
||||
|
||||
return true;
|
||||
} catch (MissingResourceException) {
|
||||
return \in_array($locale, self::getAliases(), true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws MissingResourceException if the locale does not exist
|
||||
*/
|
||||
public static function getName(string $locale, string $displayLocale = null): string
|
||||
{
|
||||
try {
|
||||
return self::readEntry(['Names', $locale], $displayLocale);
|
||||
} catch (MissingResourceException $e) {
|
||||
if (false === $aliased = array_search($locale, self::getAliases(), true)) {
|
||||
throw $e;
|
||||
}
|
||||
|
||||
return self::readEntry(['Names', $aliased], $displayLocale);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public static function getNames(string $displayLocale = null): array
|
||||
{
|
||||
return self::asort(self::readEntry(['Names'], $displayLocale), $displayLocale);
|
||||
}
|
||||
|
||||
protected static function getPath(): string
|
||||
{
|
||||
return Intl::getDataDirectory().'/'.Intl::LOCALE_DIR;
|
||||
}
|
||||
}
|
||||
21
htdocs/includes/symfony/intl/README.md
Normal file
21
htdocs/includes/symfony/intl/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
Intl Component
|
||||
=============
|
||||
|
||||
The Intl component provides a PHP replacement layer for the C intl extension
|
||||
that also provides access to the localization data of the ICU library.
|
||||
|
||||
The replacement layer is limited to the locale "en". If you want to use other
|
||||
locales, you should [install the intl PHP extension][0] instead.
|
||||
|
||||
Resources
|
||||
---------
|
||||
|
||||
* [Documentation](https://symfony.com/doc/current/components/intl.html)
|
||||
* [Contributing](https://symfony.com/doc/current/contributing/index.html)
|
||||
* [Report issues](https://github.com/symfony/symfony/issues) and
|
||||
[send Pull Requests](https://github.com/symfony/symfony/pulls)
|
||||
in the [main Symfony repository](https://github.com/symfony/symfony)
|
||||
* [Docker images with intl support](https://hub.docker.com/r/jakzal/php-intl)
|
||||
(for the Intl component development)
|
||||
|
||||
[0]: https://php.net/intl.setup
|
||||
76
htdocs/includes/symfony/intl/ResourceBundle.php
Normal file
76
htdocs/includes/symfony/intl/ResourceBundle.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Intl;
|
||||
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BufferedBundleReader;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReader;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface;
|
||||
use Symfony\Component\Intl\Data\Bundle\Reader\PhpBundleReader;
|
||||
|
||||
/**
|
||||
* @author Roland Franssen <franssen.roland@gmail.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
abstract class ResourceBundle
|
||||
{
|
||||
private static BundleEntryReader $entryReader;
|
||||
|
||||
abstract protected static function getPath(): string;
|
||||
|
||||
/**
|
||||
* Reads an entry from a resource bundle.
|
||||
*
|
||||
* @see BundleEntryReaderInterface::readEntry()
|
||||
*
|
||||
* @param string[] $indices The indices to read from the bundle
|
||||
* @param string|null $locale The locale to read
|
||||
* @param bool $fallback Whether to merge the value with the value from
|
||||
* the fallback locale (e.g. "en" for "en_GB").
|
||||
* Only applicable if the result is multivalued
|
||||
* (i.e. array or \ArrayAccess) or cannot be found
|
||||
* in the requested locale.
|
||||
*
|
||||
* @return mixed returns an array or {@link \ArrayAccess} instance for
|
||||
* complex data and a scalar value for simple data
|
||||
*/
|
||||
final protected static function readEntry(array $indices, string $locale = null, bool $fallback = true): mixed
|
||||
{
|
||||
if (!isset(self::$entryReader)) {
|
||||
self::$entryReader = new BundleEntryReader(new BufferedBundleReader(
|
||||
new PhpBundleReader(),
|
||||
Intl::BUFFER_SIZE
|
||||
));
|
||||
|
||||
$localeAliases = self::$entryReader->readEntry(Intl::getDataDirectory().'/'.Intl::LOCALE_DIR, 'meta', ['Aliases']);
|
||||
self::$entryReader->setLocaleAliases($localeAliases instanceof \Traversable ? iterator_to_array($localeAliases) : $localeAliases);
|
||||
}
|
||||
|
||||
return self::$entryReader->readEntry(static::getPath(), $locale ?? \Locale::getDefault(), $indices, $fallback);
|
||||
}
|
||||
|
||||
final protected static function asort(iterable $list, string $locale = null): array
|
||||
{
|
||||
if ($list instanceof \Traversable) {
|
||||
$list = iterator_to_array($list);
|
||||
}
|
||||
|
||||
$collator = new \Collator($locale ?? \Locale::getDefault());
|
||||
$collator->asort($list);
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
private function __construct()
|
||||
{
|
||||
}
|
||||
}
|
||||
18
htdocs/includes/symfony/intl/Resources/bin/autoload.php
Normal file
18
htdocs/includes/symfony/intl/Resources/bin/autoload.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
$autoload = __DIR__.'/../../vendor/autoload.php';
|
||||
|
||||
if (!file_exists($autoload)) {
|
||||
bailout('You should run "composer install" in the component before running this script.');
|
||||
}
|
||||
|
||||
require_once $autoload;
|
||||
100
htdocs/includes/symfony/intl/Resources/bin/common.php
Normal file
100
htdocs/includes/symfony/intl/Resources/bin/common.php
Normal file
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
if ('cli' !== \PHP_SAPI) {
|
||||
throw new Exception('This script must be run from the command line.');
|
||||
}
|
||||
|
||||
define('LINE_WIDTH', 75);
|
||||
|
||||
define('LINE', str_repeat('-', LINE_WIDTH)."\n");
|
||||
|
||||
function bailout(string $message)
|
||||
{
|
||||
echo wordwrap($message, LINE_WIDTH)." Aborting.\n";
|
||||
|
||||
exit(1);
|
||||
}
|
||||
|
||||
function strip_minor_versions(string $version)
|
||||
{
|
||||
preg_match('/^(?P<version>[0-9]\.[0-9]|[0-9]{2,})/', $version, $matches);
|
||||
|
||||
return $matches['version'];
|
||||
}
|
||||
|
||||
function centered(string $text)
|
||||
{
|
||||
$padding = (int) ((LINE_WIDTH - strlen($text)) / 2);
|
||||
|
||||
return str_repeat(' ', $padding).$text;
|
||||
}
|
||||
|
||||
function cd(string $dir)
|
||||
{
|
||||
if (false === chdir($dir)) {
|
||||
bailout("Could not switch to directory $dir.");
|
||||
}
|
||||
}
|
||||
|
||||
function run(string $command)
|
||||
{
|
||||
exec($command, $output, $status);
|
||||
|
||||
if (0 !== $status) {
|
||||
$output = implode("\n", $output);
|
||||
echo "Error while running:\n ".getcwd().'$ '.$command."\nOutput:\n".LINE."$output\n".LINE;
|
||||
|
||||
bailout("\"$command\" failed.");
|
||||
}
|
||||
}
|
||||
|
||||
function get_icu_version_from_genrb(string $genrb)
|
||||
{
|
||||
exec($genrb.' --version - 2>&1', $output, $status);
|
||||
|
||||
if (0 !== $status) {
|
||||
bailout($genrb.' failed.');
|
||||
}
|
||||
|
||||
if (!preg_match('/ICU version ([\d\.]+)/', implode('', $output), $matches)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $matches[1];
|
||||
}
|
||||
|
||||
error_reporting(\E_ALL);
|
||||
|
||||
set_error_handler(function (int $type, string $msg, string $file, int $line) {
|
||||
throw new \ErrorException($msg, 0, $type, $file, $line);
|
||||
});
|
||||
|
||||
set_exception_handler(function (Throwable $exception) {
|
||||
echo "\n";
|
||||
|
||||
$cause = $exception;
|
||||
$root = true;
|
||||
|
||||
while (null !== $cause) {
|
||||
if (!$root) {
|
||||
echo "Caused by\n";
|
||||
}
|
||||
|
||||
echo $cause::class.': '.$cause->getMessage()."\n";
|
||||
echo "\n";
|
||||
echo $cause->getFile().':'.$cause->getLine()."\n";
|
||||
echo $cause->getTraceAsString()."\n";
|
||||
|
||||
$cause = $cause->getPrevious();
|
||||
$root = false;
|
||||
}
|
||||
});
|
||||
13
htdocs/includes/symfony/intl/Resources/bin/compile
Executable file
13
htdocs/includes/symfony/intl/Resources/bin/compile
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[[ $1 == force ]] && docker pull jakzal/php-intl
|
||||
[[ ! -d /tmp/symfony/icu ]] && mkdir -p /tmp/symfony/icu
|
||||
|
||||
docker run \
|
||||
-it --rm --name symfony-intl \
|
||||
-u $(id -u):$(id -g) \
|
||||
-v /tmp/symfony/icu:/tmp \
|
||||
-v $(pwd):/symfony \
|
||||
-w /symfony \
|
||||
jakzal/php-intl:latest \
|
||||
php src/Symfony/Component/Intl/Resources/bin/update-data.php
|
||||
236
htdocs/includes/symfony/intl/Resources/bin/update-data.php
Normal file
236
htdocs/includes/symfony/intl/Resources/bin/update-data.php
Normal file
@@ -0,0 +1,236 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\Intl\Data\Bundle\Compiler\GenrbCompiler;
|
||||
use Symfony\Component\Intl\Data\Bundle\Writer\PhpBundleWriter;
|
||||
use Symfony\Component\Intl\Data\Generator\CurrencyDataGenerator;
|
||||
use Symfony\Component\Intl\Data\Generator\GeneratorConfig;
|
||||
use Symfony\Component\Intl\Data\Generator\LanguageDataGenerator;
|
||||
use Symfony\Component\Intl\Data\Generator\LocaleDataGenerator;
|
||||
use Symfony\Component\Intl\Data\Generator\RegionDataGenerator;
|
||||
use Symfony\Component\Intl\Data\Generator\ScriptDataGenerator;
|
||||
use Symfony\Component\Intl\Data\Generator\TimezoneDataGenerator;
|
||||
use Symfony\Component\Intl\Intl;
|
||||
use Symfony\Component\Intl\Locale;
|
||||
use Symfony\Component\Intl\Util\GitRepository;
|
||||
|
||||
if ('cli' !== \PHP_SAPI) {
|
||||
throw new Exception('This script must be run from the command line.');
|
||||
}
|
||||
|
||||
require_once __DIR__.'/common.php';
|
||||
require_once __DIR__.'/autoload.php';
|
||||
|
||||
$argc = $_SERVER['argc'];
|
||||
$argv = $_SERVER['argv'];
|
||||
|
||||
if ($argc > 3 || 2 === $argc && '-h' === $argv[1]) {
|
||||
bailout(<<<'MESSAGE'
|
||||
Usage: php update-data.php <path/to/icu/source> <path/to/icu/build>
|
||||
|
||||
Updates the ICU data for Symfony to the latest version of ICU.
|
||||
|
||||
If you downloaded the git repository before, you can pass the path to the
|
||||
repository source in the first optional argument.
|
||||
|
||||
If you also built the repository before, you can pass the directory where that
|
||||
build is stored in the second parameter. The build directory needs to contain
|
||||
the subdirectories bin/ and lib/.
|
||||
|
||||
For running this script, the intl extension must be loaded and all vendors
|
||||
must have been installed through composer:
|
||||
|
||||
composer install
|
||||
|
||||
MESSAGE
|
||||
);
|
||||
}
|
||||
|
||||
echo LINE;
|
||||
echo centered('ICU Resource Bundle Compilation')."\n";
|
||||
echo LINE;
|
||||
|
||||
if (!Intl::isExtensionLoaded()) {
|
||||
bailout('The intl extension for PHP is not installed.');
|
||||
}
|
||||
|
||||
if ($argc >= 2) {
|
||||
$repoDir = $argv[1];
|
||||
$git = new GitRepository($repoDir);
|
||||
|
||||
echo "Using the existing git repository at {$repoDir}.\n";
|
||||
} else {
|
||||
echo "Starting git clone. This may take a while...\n";
|
||||
|
||||
$repoDir = sys_get_temp_dir().'/icu-data';
|
||||
$git = GitRepository::download('https://github.com/unicode-org/icu.git', $repoDir);
|
||||
|
||||
echo "Git clone to {$repoDir} complete.\n";
|
||||
}
|
||||
|
||||
$gitTag = $git->getLastTag(function ($tag) {
|
||||
return preg_match('#^release-[0-9]{1,}-[0-9]{1}$#', $tag);
|
||||
});
|
||||
$shortIcuVersion = strip_minor_versions(preg_replace('#release-([0-9]{1,})-([0-9]{1,})#', '$1.$2', $gitTag));
|
||||
|
||||
echo "Checking out `{$gitTag}` for version `{$shortIcuVersion}`...\n";
|
||||
$git->checkout('tags/'.$gitTag);
|
||||
|
||||
$filesystem = new Filesystem();
|
||||
$sourceDir = $repoDir.'/icu4c/source';
|
||||
|
||||
if ($argc >= 3) {
|
||||
$buildDir = $argv[2];
|
||||
} else {
|
||||
// Always build genrb so that we can determine the ICU version of the
|
||||
// download by running genrb --version
|
||||
echo "Building genrb.\n";
|
||||
|
||||
cd($sourceDir);
|
||||
|
||||
echo "Running configure...\n";
|
||||
|
||||
$buildDir = sys_get_temp_dir().'/icu-data/'.$shortIcuVersion.'/build';
|
||||
|
||||
$filesystem->remove($buildDir);
|
||||
$filesystem->mkdir($buildDir);
|
||||
|
||||
run('./configure --prefix='.$buildDir.' 2>&1');
|
||||
|
||||
echo "Running make...\n";
|
||||
|
||||
// If the directory "lib" does not exist in the download, create it or we
|
||||
// will run into problems when building libicuuc.so.
|
||||
$filesystem->mkdir($sourceDir.'/lib');
|
||||
|
||||
// If the directory "bin" does not exist in the download, create it or we
|
||||
// will run into problems when building genrb.
|
||||
$filesystem->mkdir($sourceDir.'/bin');
|
||||
|
||||
echo '[1/6] libicudata.so...';
|
||||
|
||||
cd($sourceDir.'/stubdata');
|
||||
run('make 2>&1 && make install 2>&1');
|
||||
|
||||
echo " ok.\n";
|
||||
|
||||
echo '[2/6] libicuuc.so...';
|
||||
|
||||
cd($sourceDir.'/common');
|
||||
run('make 2>&1 && make install 2>&1');
|
||||
|
||||
echo " ok.\n";
|
||||
|
||||
echo '[3/6] libicui18n.so...';
|
||||
|
||||
cd($sourceDir.'/i18n');
|
||||
run('make 2>&1 && make install 2>&1');
|
||||
|
||||
echo " ok.\n";
|
||||
|
||||
echo '[4/6] libicutu.so...';
|
||||
|
||||
cd($sourceDir.'/tools/toolutil');
|
||||
run('make 2>&1 && make install 2>&1');
|
||||
|
||||
echo " ok.\n";
|
||||
|
||||
echo '[5/6] libicuio.so...';
|
||||
|
||||
cd($sourceDir.'/io');
|
||||
run('make 2>&1 && make install 2>&1');
|
||||
|
||||
echo " ok.\n";
|
||||
|
||||
echo '[6/6] genrb...';
|
||||
|
||||
cd($sourceDir.'/tools/genrb');
|
||||
run('make 2>&1 && make install 2>&1');
|
||||
|
||||
echo " ok.\n";
|
||||
}
|
||||
|
||||
$genrb = $buildDir.'/bin/genrb';
|
||||
$genrbEnv = 'LD_LIBRARY_PATH='.$buildDir.'/lib ';
|
||||
|
||||
echo "Using $genrb.\n";
|
||||
|
||||
$icuVersionInDownload = get_icu_version_from_genrb($genrbEnv.' '.$genrb);
|
||||
|
||||
echo "Preparing resource bundle compilation (version $icuVersionInDownload)...\n";
|
||||
|
||||
$compiler = new GenrbCompiler($genrb, $genrbEnv);
|
||||
$config = new GeneratorConfig($sourceDir.'/data', $icuVersionInDownload);
|
||||
$dataDir = dirname(__DIR__).'/data';
|
||||
|
||||
$config->addBundleWriter($dataDir, new PhpBundleWriter());
|
||||
|
||||
echo "Starting resource bundle compilation. This may take a while...\n";
|
||||
|
||||
// We don't want to use fallback to English during generation
|
||||
Locale::setDefaultFallback('root');
|
||||
|
||||
echo "Generating language data...\n";
|
||||
|
||||
$generator = new LanguageDataGenerator($compiler, Intl::LANGUAGE_DIR);
|
||||
$generator->generateData($config);
|
||||
|
||||
echo "Generating script data...\n";
|
||||
|
||||
$generator = new ScriptDataGenerator($compiler, Intl::SCRIPT_DIR);
|
||||
$generator->generateData($config);
|
||||
|
||||
echo "Generating region data...\n";
|
||||
|
||||
$generator = new RegionDataGenerator($compiler, Intl::REGION_DIR);
|
||||
$generator->generateData($config);
|
||||
|
||||
echo "Generating currency data...\n";
|
||||
|
||||
$generator = new CurrencyDataGenerator($compiler, Intl::CURRENCY_DIR);
|
||||
$generator->generateData($config);
|
||||
|
||||
echo "Generating locale data...\n";
|
||||
|
||||
$generator = new LocaleDataGenerator($compiler, Intl::LOCALE_DIR);
|
||||
$generator->generateData($config);
|
||||
|
||||
echo "Generating timezone data...\n";
|
||||
|
||||
$generator = new TimezoneDataGenerator($compiler, Intl::TIMEZONE_DIR);
|
||||
$generator->generateData($config);
|
||||
|
||||
echo "Resource bundle compilation complete.\n";
|
||||
|
||||
$gitInfo = <<<GIT_INFO
|
||||
Git information
|
||||
===============
|
||||
|
||||
URL: {$git->getUrl()}
|
||||
Revision: {$git->getLastCommitHash()}
|
||||
Author: {$git->getLastAuthor()}
|
||||
Date: {$git->getLastAuthoredDate()->format('c')}
|
||||
|
||||
GIT_INFO;
|
||||
|
||||
$gitInfoFile = $dataDir.'/git-info.txt';
|
||||
|
||||
file_put_contents($gitInfoFile, $gitInfo);
|
||||
|
||||
echo "Wrote $gitInfoFile.\n";
|
||||
|
||||
$versionFile = $dataDir.'/version.txt';
|
||||
|
||||
file_put_contents($versionFile, "$icuVersionInDownload\n");
|
||||
|
||||
echo "Wrote $versionFile.\n";
|
||||
echo "Done.\n";
|
||||
686
htdocs/includes/symfony/intl/Resources/data/currencies/af.php
Normal file
686
htdocs/includes/symfony/intl/Resources/data/currencies/af.php
Normal file
@@ -0,0 +1,686 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'Verenigde Arabiese Emirate-dirham',
|
||||
],
|
||||
'AFN' => [
|
||||
0 => 'AFN',
|
||||
1 => 'Afgaanse afgani',
|
||||
],
|
||||
'ALL' => [
|
||||
0 => 'ALL',
|
||||
1 => 'Albanese lek',
|
||||
],
|
||||
'AMD' => [
|
||||
0 => 'AMD',
|
||||
1 => 'Armeense dram',
|
||||
],
|
||||
'ANG' => [
|
||||
0 => 'ANG',
|
||||
1 => 'Nederlands-Antilliaanse gulde',
|
||||
],
|
||||
'AOA' => [
|
||||
0 => 'AOA',
|
||||
1 => 'Angolese kwanza',
|
||||
],
|
||||
'ARS' => [
|
||||
0 => 'ARS',
|
||||
1 => 'Argentynse peso',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => 'A$',
|
||||
1 => 'Australiese dollar',
|
||||
],
|
||||
'AWG' => [
|
||||
0 => 'AWG',
|
||||
1 => 'Arubaanse floryn',
|
||||
],
|
||||
'AZN' => [
|
||||
0 => 'AZN',
|
||||
1 => 'Azerbeidjaanse manat',
|
||||
],
|
||||
'BAM' => [
|
||||
0 => 'BAM',
|
||||
1 => 'Bosnies-Herzegowiniese omskakelbare marka',
|
||||
],
|
||||
'BBD' => [
|
||||
0 => 'BBD',
|
||||
1 => 'Barbados-dollar',
|
||||
],
|
||||
'BDT' => [
|
||||
0 => 'BDT',
|
||||
1 => 'Bangladesjiese taka',
|
||||
],
|
||||
'BGN' => [
|
||||
0 => 'BGN',
|
||||
1 => 'Bulgaarse lev',
|
||||
],
|
||||
'BHD' => [
|
||||
0 => 'BHD',
|
||||
1 => 'Bahreinse dinar',
|
||||
],
|
||||
'BIF' => [
|
||||
0 => 'BIF',
|
||||
1 => 'Burundiese frank',
|
||||
],
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'Bermuda-dollar',
|
||||
],
|
||||
'BND' => [
|
||||
0 => 'BND',
|
||||
1 => 'Broeneise dollar',
|
||||
],
|
||||
'BOB' => [
|
||||
0 => 'BOB',
|
||||
1 => 'Boliviaanse boliviano',
|
||||
],
|
||||
'BRL' => [
|
||||
0 => 'R$',
|
||||
1 => 'Brasilliaanse reaal',
|
||||
],
|
||||
'BSD' => [
|
||||
0 => 'BSD',
|
||||
1 => 'Bahamiaanse dollar',
|
||||
],
|
||||
'BTN' => [
|
||||
0 => 'BTN',
|
||||
1 => 'Bhoetanese ngoeltroem',
|
||||
],
|
||||
'BWP' => [
|
||||
0 => 'BWP',
|
||||
1 => 'Botswana-pula',
|
||||
],
|
||||
'BYN' => [
|
||||
0 => 'BYN',
|
||||
1 => 'Belarusiese roebel',
|
||||
],
|
||||
'BYR' => [
|
||||
0 => 'BYR',
|
||||
1 => 'Belo-Russiese roebel (2000–2016)',
|
||||
],
|
||||
'BZD' => [
|
||||
0 => 'BZD',
|
||||
1 => 'Beliziese dollar',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CAD',
|
||||
1 => 'Kanadese dollar',
|
||||
],
|
||||
'CDF' => [
|
||||
0 => 'CDF',
|
||||
1 => 'Kongolese frank',
|
||||
],
|
||||
'CHF' => [
|
||||
0 => 'CHF',
|
||||
1 => 'Switserse frank',
|
||||
],
|
||||
'CLP' => [
|
||||
0 => 'CLP',
|
||||
1 => 'Chileense peso',
|
||||
],
|
||||
'CNH' => [
|
||||
0 => 'CNH',
|
||||
1 => 'Chinese joean (buiteland)',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'Chinese joean',
|
||||
],
|
||||
'COP' => [
|
||||
0 => 'COP',
|
||||
1 => 'Colombiaanse peso',
|
||||
],
|
||||
'CRC' => [
|
||||
0 => 'CRC',
|
||||
1 => 'Costa Ricaanse colón',
|
||||
],
|
||||
'CUC' => [
|
||||
0 => 'CUC',
|
||||
1 => 'Kubaanse omskakelbare peso',
|
||||
],
|
||||
'CUP' => [
|
||||
0 => 'CUP',
|
||||
1 => 'Kubaanse peso',
|
||||
],
|
||||
'CVE' => [
|
||||
0 => 'CVE',
|
||||
1 => 'Kaap Verdiese escudo',
|
||||
],
|
||||
'CZK' => [
|
||||
0 => 'CZK',
|
||||
1 => 'Tsjeggiese kroon',
|
||||
],
|
||||
'DJF' => [
|
||||
0 => 'DJF',
|
||||
1 => 'Djiboeti-frank',
|
||||
],
|
||||
'DKK' => [
|
||||
0 => 'DKK',
|
||||
1 => 'Deense kroon',
|
||||
],
|
||||
'DOP' => [
|
||||
0 => 'DOP',
|
||||
1 => 'Dominikaanse peso',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'DZD',
|
||||
1 => 'Algeriese dinar',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'EGP',
|
||||
1 => 'Egiptiese pond',
|
||||
],
|
||||
'ERN' => [
|
||||
0 => 'ERN',
|
||||
1 => 'Eritrese nakfa',
|
||||
],
|
||||
'ETB' => [
|
||||
0 => 'ETB',
|
||||
1 => 'Etiopiese birr',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'Euro',
|
||||
],
|
||||
'FJD' => [
|
||||
0 => 'FJD',
|
||||
1 => 'Fidjiaanse dollar',
|
||||
],
|
||||
'FKP' => [
|
||||
0 => 'FKP',
|
||||
1 => 'Falkland-eilandse pond',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => '£',
|
||||
1 => 'Britse pond',
|
||||
],
|
||||
'GEL' => [
|
||||
0 => 'GEL',
|
||||
1 => 'Georgiese lari',
|
||||
],
|
||||
'GHC' => [
|
||||
0 => 'GHC',
|
||||
1 => 'Ghanese cedi (1979–2007)',
|
||||
],
|
||||
'GHS' => [
|
||||
0 => 'GHS',
|
||||
1 => 'Ghanese cedi',
|
||||
],
|
||||
'GIP' => [
|
||||
0 => 'GIP',
|
||||
1 => 'Gibraltarese pond',
|
||||
],
|
||||
'GMD' => [
|
||||
0 => 'GMD',
|
||||
1 => 'Gambiese dalasi',
|
||||
],
|
||||
'GNF' => [
|
||||
0 => 'GNF',
|
||||
1 => 'Guinese frank',
|
||||
],
|
||||
'GNS' => [
|
||||
0 => 'GNS',
|
||||
1 => 'Guinese syli',
|
||||
],
|
||||
'GTQ' => [
|
||||
0 => 'GTQ',
|
||||
1 => 'Guatemalaanse quetzal',
|
||||
],
|
||||
'GYD' => [
|
||||
0 => 'GYD',
|
||||
1 => 'Guyanese dollar',
|
||||
],
|
||||
'HKD' => [
|
||||
0 => 'HK$',
|
||||
1 => 'Hongkongse dollar',
|
||||
],
|
||||
'HNL' => [
|
||||
0 => 'HNL',
|
||||
1 => 'Hondurese lempira',
|
||||
],
|
||||
'HRK' => [
|
||||
0 => 'HRK',
|
||||
1 => 'Kroatiese kuna',
|
||||
],
|
||||
'HTG' => [
|
||||
0 => 'HTG',
|
||||
1 => 'Haïtiaanse gourde',
|
||||
],
|
||||
'HUF' => [
|
||||
0 => 'HUF',
|
||||
1 => 'Hongaarse florint',
|
||||
],
|
||||
'IDR' => [
|
||||
0 => 'IDR',
|
||||
1 => 'Indonesiese roepia',
|
||||
],
|
||||
'ILS' => [
|
||||
0 => '₪',
|
||||
1 => 'Israeliese nuwe sikkel',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'Indiese roepee',
|
||||
],
|
||||
'IQD' => [
|
||||
0 => 'IQD',
|
||||
1 => 'Irakse dinar',
|
||||
],
|
||||
'IRR' => [
|
||||
0 => 'IRR',
|
||||
1 => 'Iranse rial',
|
||||
],
|
||||
'ISK' => [
|
||||
0 => 'ISK',
|
||||
1 => 'Yslandse kroon',
|
||||
],
|
||||
'ITL' => [
|
||||
0 => 'ITL',
|
||||
1 => 'Italiaanse lier',
|
||||
],
|
||||
'JMD' => [
|
||||
0 => 'JMD',
|
||||
1 => 'Jamaikaanse dollar',
|
||||
],
|
||||
'JOD' => [
|
||||
0 => 'JOD',
|
||||
1 => 'Jordaniese dinar',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'Japannese jen',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'Keniaanse sjieling',
|
||||
],
|
||||
'KGS' => [
|
||||
0 => 'KGS',
|
||||
1 => 'Kirgisiese som',
|
||||
],
|
||||
'KHR' => [
|
||||
0 => 'KHR',
|
||||
1 => 'Kambodjaanse riel',
|
||||
],
|
||||
'KMF' => [
|
||||
0 => 'KMF',
|
||||
1 => 'Comoraanse frank',
|
||||
],
|
||||
'KPW' => [
|
||||
0 => 'KPW',
|
||||
1 => 'Noord-Koreaanse won',
|
||||
],
|
||||
'KRW' => [
|
||||
0 => '₩',
|
||||
1 => 'Suid-Koreaanse won',
|
||||
],
|
||||
'KWD' => [
|
||||
0 => 'KWD',
|
||||
1 => 'Koeweitse dinar',
|
||||
],
|
||||
'KYD' => [
|
||||
0 => 'KYD',
|
||||
1 => 'Cayman-eilandse dollar',
|
||||
],
|
||||
'KZT' => [
|
||||
0 => 'KZT',
|
||||
1 => 'Kazakse tenge',
|
||||
],
|
||||
'LAK' => [
|
||||
0 => 'LAK',
|
||||
1 => 'Laosiaanse kip',
|
||||
],
|
||||
'LBP' => [
|
||||
0 => 'LBP',
|
||||
1 => 'Libanese pond',
|
||||
],
|
||||
'LKR' => [
|
||||
0 => 'LKR',
|
||||
1 => 'Sri Lankaanse roepee',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'Liberiese dollar',
|
||||
],
|
||||
'LSL' => [
|
||||
0 => 'LSL',
|
||||
1 => 'Lesotho loti',
|
||||
],
|
||||
'LTL' => [
|
||||
0 => 'LTL',
|
||||
1 => 'Litause litas',
|
||||
],
|
||||
'LVL' => [
|
||||
0 => 'LVL',
|
||||
1 => 'Lettiese lats',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'LYD',
|
||||
1 => 'Libiese dinar',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'MAD',
|
||||
1 => 'Marokkaanse dirham',
|
||||
],
|
||||
'MDL' => [
|
||||
0 => 'MDL',
|
||||
1 => 'Moldowiese leu',
|
||||
],
|
||||
'MGA' => [
|
||||
0 => 'MGA',
|
||||
1 => 'Malgassiese ariary',
|
||||
],
|
||||
'MKD' => [
|
||||
0 => 'MKD',
|
||||
1 => 'Macedoniese denar',
|
||||
],
|
||||
'MMK' => [
|
||||
0 => 'MMK',
|
||||
1 => 'Mianmese kyat',
|
||||
],
|
||||
'MNT' => [
|
||||
0 => 'MNT',
|
||||
1 => 'Mongoolse toegrik',
|
||||
],
|
||||
'MOP' => [
|
||||
0 => 'MOP',
|
||||
1 => 'Macaose pataca',
|
||||
],
|
||||
'MRO' => [
|
||||
0 => 'MRO',
|
||||
1 => 'Mauritaniese ouguiya (1973–2017)',
|
||||
],
|
||||
'MRU' => [
|
||||
0 => 'MRU',
|
||||
1 => 'Mauritaniese ouguiya',
|
||||
],
|
||||
'MUR' => [
|
||||
0 => 'MUR',
|
||||
1 => 'Mauritiaanse roepee',
|
||||
],
|
||||
'MVR' => [
|
||||
0 => 'MVR',
|
||||
1 => 'Malediviese rufia',
|
||||
],
|
||||
'MWK' => [
|
||||
0 => 'MWK',
|
||||
1 => 'Malawiese kwacha',
|
||||
],
|
||||
'MXN' => [
|
||||
0 => 'MXN',
|
||||
1 => 'Meksikaanse peso',
|
||||
],
|
||||
'MYR' => [
|
||||
0 => 'MYR',
|
||||
1 => 'Maleisiese ringgit',
|
||||
],
|
||||
'MZM' => [
|
||||
0 => 'MZM',
|
||||
1 => 'Mosambiekse metical (1980–2006)',
|
||||
],
|
||||
'MZN' => [
|
||||
0 => 'MZN',
|
||||
1 => 'Mosambiekse metical',
|
||||
],
|
||||
'NAD' => [
|
||||
0 => 'NAD',
|
||||
1 => 'Namibiese dollar',
|
||||
],
|
||||
'NGN' => [
|
||||
0 => 'NGN',
|
||||
1 => 'Nigeriese naira',
|
||||
],
|
||||
'NIO' => [
|
||||
0 => 'NIO',
|
||||
1 => 'Nicaraguaanse córdoba',
|
||||
],
|
||||
'NOK' => [
|
||||
0 => 'NOK',
|
||||
1 => 'Noorse kroon',
|
||||
],
|
||||
'NPR' => [
|
||||
0 => 'NPR',
|
||||
1 => 'Nepalese roepee',
|
||||
],
|
||||
'NZD' => [
|
||||
0 => 'NZ$',
|
||||
1 => 'Nieu-Seelandse dollar',
|
||||
],
|
||||
'OMR' => [
|
||||
0 => 'OMR',
|
||||
1 => 'Omaanse rial',
|
||||
],
|
||||
'PAB' => [
|
||||
0 => 'PAB',
|
||||
1 => 'Panamese balboa',
|
||||
],
|
||||
'PEN' => [
|
||||
0 => 'PEN',
|
||||
1 => 'Peruaanse sol',
|
||||
],
|
||||
'PGK' => [
|
||||
0 => 'PGK',
|
||||
1 => 'Papoea-Nieu-Guinese kina',
|
||||
],
|
||||
'PHP' => [
|
||||
0 => 'PHP',
|
||||
1 => 'Filippynse peso',
|
||||
],
|
||||
'PKR' => [
|
||||
0 => 'PKR',
|
||||
1 => 'Pakistanse roepee',
|
||||
],
|
||||
'PLN' => [
|
||||
0 => 'PLN',
|
||||
1 => 'Poolse zloty',
|
||||
],
|
||||
'PYG' => [
|
||||
0 => 'PYG',
|
||||
1 => 'Paraguaanse guarani',
|
||||
],
|
||||
'QAR' => [
|
||||
0 => 'QAR',
|
||||
1 => 'Katarrese rial',
|
||||
],
|
||||
'RON' => [
|
||||
0 => 'RON',
|
||||
1 => 'Roemeense leu',
|
||||
],
|
||||
'RSD' => [
|
||||
0 => 'RSD',
|
||||
1 => 'Serwiese dinar',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => 'RUB',
|
||||
1 => 'Russiese roebel',
|
||||
],
|
||||
'RWF' => [
|
||||
0 => 'RWF',
|
||||
1 => 'Rwandese frank',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'SAR',
|
||||
1 => 'Saoedi-Arabiese riyal',
|
||||
],
|
||||
'SBD' => [
|
||||
0 => 'SBD',
|
||||
1 => 'Salomonseilandse dollar',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'SCR',
|
||||
1 => 'Seychellese roepee',
|
||||
],
|
||||
'SDG' => [
|
||||
0 => 'SDG',
|
||||
1 => 'Soedannese pond',
|
||||
],
|
||||
'SDP' => [
|
||||
0 => 'SDP',
|
||||
1 => 'Soedannese pond (1957–1998)',
|
||||
],
|
||||
'SEK' => [
|
||||
0 => 'SEK',
|
||||
1 => 'Sweedse kroon',
|
||||
],
|
||||
'SGD' => [
|
||||
0 => 'SGD',
|
||||
1 => 'Singapoer-dollar',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'Sint Helena-pond',
|
||||
],
|
||||
'SLL' => [
|
||||
0 => 'SLL',
|
||||
1 => 'Sierra Leoniese leone',
|
||||
],
|
||||
'SOS' => [
|
||||
0 => 'SOS',
|
||||
1 => 'Somaliese sjieling',
|
||||
],
|
||||
'SRD' => [
|
||||
0 => 'SRD',
|
||||
1 => 'Surinaamse dollar',
|
||||
],
|
||||
'SSP' => [
|
||||
0 => 'SSP',
|
||||
1 => 'Suid-Soedanese pond',
|
||||
],
|
||||
'STD' => [
|
||||
0 => 'STD',
|
||||
1 => 'São Tomé en Príncipe dobra (1977–2017)',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'São Tomé en Príncipe-dobra',
|
||||
],
|
||||
'SYP' => [
|
||||
0 => 'SYP',
|
||||
1 => 'Siriese pond',
|
||||
],
|
||||
'SZL' => [
|
||||
0 => 'SZL',
|
||||
1 => 'Swazilandse lilangeni',
|
||||
],
|
||||
'THB' => [
|
||||
0 => '฿',
|
||||
1 => 'Thaise baht',
|
||||
],
|
||||
'TJS' => [
|
||||
0 => 'TJS',
|
||||
1 => 'Tadjikse somoni',
|
||||
],
|
||||
'TMT' => [
|
||||
0 => 'TMT',
|
||||
1 => 'Turkmeense manat',
|
||||
],
|
||||
'TND' => [
|
||||
0 => 'TND',
|
||||
1 => 'Tunisiese dinar',
|
||||
],
|
||||
'TOP' => [
|
||||
0 => 'TOP',
|
||||
1 => 'Tongaanse pa’anga',
|
||||
],
|
||||
'TRL' => [
|
||||
0 => 'TRL',
|
||||
1 => 'Turkse lier (1922–2005)',
|
||||
],
|
||||
'TRY' => [
|
||||
0 => 'TRY',
|
||||
1 => 'Turkse lira',
|
||||
],
|
||||
'TTD' => [
|
||||
0 => 'TTD',
|
||||
1 => 'Trinidad en Tobago-dollar',
|
||||
],
|
||||
'TWD' => [
|
||||
0 => 'NT$',
|
||||
1 => 'Nuwe Taiwanese dollar',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'Tanzaniese sjieling',
|
||||
],
|
||||
'UAH' => [
|
||||
0 => 'UAH',
|
||||
1 => 'Oekraïnse hriwna',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'Ugandese sjieling',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'USD',
|
||||
1 => 'VSA-dollar',
|
||||
],
|
||||
'UYU' => [
|
||||
0 => 'UYU',
|
||||
1 => 'Uruguaanse peso',
|
||||
],
|
||||
'UZS' => [
|
||||
0 => 'UZS',
|
||||
1 => 'Oezbekiese som',
|
||||
],
|
||||
'VEF' => [
|
||||
0 => 'VEF',
|
||||
1 => 'Venezolaanse bolivar',
|
||||
],
|
||||
'VES' => [
|
||||
0 => 'VES',
|
||||
1 => 'Venezolaanse bolívar',
|
||||
],
|
||||
'VND' => [
|
||||
0 => '₫',
|
||||
1 => 'Viëtnamese dong',
|
||||
],
|
||||
'VUV' => [
|
||||
0 => 'VUV',
|
||||
1 => 'Vanuatuse vatu',
|
||||
],
|
||||
'WST' => [
|
||||
0 => 'WST',
|
||||
1 => 'Samoaanse tala',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'FCFA',
|
||||
1 => 'Sentraal Afrikaanse CFA-frank',
|
||||
],
|
||||
'XCD' => [
|
||||
0 => 'EC$',
|
||||
1 => 'Oos-Karibiese dollar',
|
||||
],
|
||||
'XOF' => [
|
||||
0 => 'F CFA',
|
||||
1 => 'Wes-Afrikaanse CFA-frank',
|
||||
],
|
||||
'XPF' => [
|
||||
0 => 'CFPF',
|
||||
1 => 'CFP-frank',
|
||||
],
|
||||
'YER' => [
|
||||
0 => 'YER',
|
||||
1 => 'Jemenitiese rial',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'R',
|
||||
1 => 'Suid-Afrikaanse rand',
|
||||
],
|
||||
'ZMK' => [
|
||||
0 => 'ZMK',
|
||||
1 => 'Zambiese kwacha (1968–2012)',
|
||||
],
|
||||
'ZMW' => [
|
||||
0 => 'ZMW',
|
||||
1 => 'Zambiese kwacha',
|
||||
],
|
||||
'ZWD' => [
|
||||
0 => 'ZWD',
|
||||
1 => 'Zimbabwiese dollar',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'NAD' => [
|
||||
0 => '$',
|
||||
1 => 'Namibiese dollar',
|
||||
],
|
||||
],
|
||||
];
|
||||
234
htdocs/includes/symfony/intl/Resources/data/currencies/ak.php
Normal file
234
htdocs/includes/symfony/intl/Resources/data/currencies/ak.php
Normal file
@@ -0,0 +1,234 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'Ɛmirete Arab Nkabɔmu Deram',
|
||||
],
|
||||
'AOA' => [
|
||||
0 => 'AOA',
|
||||
1 => 'Angola Kwanza',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => 'A$',
|
||||
1 => 'Ɔstrelia Dɔla',
|
||||
],
|
||||
'BHD' => [
|
||||
0 => 'BHD',
|
||||
1 => 'Baren Dina',
|
||||
],
|
||||
'BIF' => [
|
||||
0 => 'BIF',
|
||||
1 => 'Burundi Frank',
|
||||
],
|
||||
'BWP' => [
|
||||
0 => 'BWP',
|
||||
1 => 'Botswana Pula',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CA$',
|
||||
1 => 'Kanada Dɔla',
|
||||
],
|
||||
'CDF' => [
|
||||
0 => 'CDF',
|
||||
1 => 'Kongo Frank',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'Yuan',
|
||||
],
|
||||
'CVE' => [
|
||||
0 => 'CVE',
|
||||
1 => 'Ɛskudo',
|
||||
],
|
||||
'DJF' => [
|
||||
0 => 'DJF',
|
||||
1 => 'Gyebuti Frank',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'DZD',
|
||||
1 => 'Ɔlgyeria Dina',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'EGP',
|
||||
1 => 'Egypt Pɔn',
|
||||
],
|
||||
'ERN' => [
|
||||
0 => 'ERN',
|
||||
1 => 'Ɛretereya Nakfa',
|
||||
],
|
||||
'ETB' => [
|
||||
0 => 'ETB',
|
||||
1 => 'Itiopia Bir',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'Iro',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => '£',
|
||||
1 => 'Breten Pɔn',
|
||||
],
|
||||
'GHC' => [
|
||||
0 => 'GHC',
|
||||
1 => 'Ghana Sidi (1979–2007)',
|
||||
],
|
||||
'GHS' => [
|
||||
0 => 'GH₵',
|
||||
1 => 'Ghana Sidi',
|
||||
],
|
||||
'GMD' => [
|
||||
0 => 'GMD',
|
||||
1 => 'Gambia Dalasi',
|
||||
],
|
||||
'GNS' => [
|
||||
0 => 'GNS',
|
||||
1 => 'Gini Frank',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'India Rupi',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'Gyapan Yɛn',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'Kenya Hyelen',
|
||||
],
|
||||
'KMF' => [
|
||||
0 => 'KMF',
|
||||
1 => 'Komoro Frank',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'Laeberia Dɔla',
|
||||
],
|
||||
'LSL' => [
|
||||
0 => 'LSL',
|
||||
1 => 'Lesoto Loti',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'LYD',
|
||||
1 => 'Libya Dina',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'MAD',
|
||||
1 => 'Moroko Diram',
|
||||
],
|
||||
'MGA' => [
|
||||
0 => 'MGA',
|
||||
1 => 'Madagasi Frank',
|
||||
],
|
||||
'MRO' => [
|
||||
0 => 'MRO',
|
||||
1 => 'Mɔretenia Ouguiya (1973–2017)',
|
||||
],
|
||||
'MRU' => [
|
||||
0 => 'MRU',
|
||||
1 => 'Mɔretenia Ouguiya',
|
||||
],
|
||||
'MUR' => [
|
||||
0 => 'MUR',
|
||||
1 => 'Mɔrehyeɔs Rupi',
|
||||
],
|
||||
'MWK' => [
|
||||
0 => 'MWK',
|
||||
1 => 'Malawi Kwacha',
|
||||
],
|
||||
'MZM' => [
|
||||
0 => 'MZM',
|
||||
1 => 'Mozambik Metical',
|
||||
],
|
||||
'NAD' => [
|
||||
0 => 'NAD',
|
||||
1 => 'Namibia Dɔla',
|
||||
],
|
||||
'NGN' => [
|
||||
0 => 'NGN',
|
||||
1 => 'Naegyeria Naira',
|
||||
],
|
||||
'RWF' => [
|
||||
0 => 'RWF',
|
||||
1 => 'Rewanda Frank',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'SAR',
|
||||
1 => 'Saudi Riyal',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'SCR',
|
||||
1 => 'Seyhyɛls Rupi',
|
||||
],
|
||||
'SDG' => [
|
||||
0 => 'SDG',
|
||||
1 => 'Sudan Dina',
|
||||
],
|
||||
'SDP' => [
|
||||
0 => 'SDP',
|
||||
1 => 'Sudan Pɔn',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'St Helena Pɔn',
|
||||
],
|
||||
'SLL' => [
|
||||
0 => 'SLL',
|
||||
1 => 'Leone',
|
||||
],
|
||||
'SOS' => [
|
||||
0 => 'SOS',
|
||||
1 => 'Somailia Hyelen',
|
||||
],
|
||||
'STD' => [
|
||||
0 => 'STD',
|
||||
1 => 'Sao Tome ne Principe Dobra (1977–2017)',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'Sao Tome ne Principe Dobra',
|
||||
],
|
||||
'SZL' => [
|
||||
0 => 'SZL',
|
||||
1 => 'Lilangeni',
|
||||
],
|
||||
'TND' => [
|
||||
0 => 'TND',
|
||||
1 => 'Tunisia Dina',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'Tanzania Hyelen',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'Uganda Hyelen',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'US$',
|
||||
1 => 'Amɛrika Dɔla',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'FCFA',
|
||||
1 => 'Sefa',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'ZAR',
|
||||
1 => 'Afrika Anaafo Rand',
|
||||
],
|
||||
'ZMK' => [
|
||||
0 => 'ZMK',
|
||||
1 => 'Zambia Kwacha (1968–2012)',
|
||||
],
|
||||
'ZMW' => [
|
||||
0 => 'ZMW',
|
||||
1 => 'Zambia Kwacha',
|
||||
],
|
||||
'ZWD' => [
|
||||
0 => 'ZWD',
|
||||
1 => 'Zimbabwe Dɔla',
|
||||
],
|
||||
],
|
||||
];
|
||||
670
htdocs/includes/symfony/intl/Resources/data/currencies/am.php
Normal file
670
htdocs/includes/symfony/intl/Resources/data/currencies/am.php
Normal file
@@ -0,0 +1,670 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'የተባበሩት የአረብ ኤምሬትስ ድርሀም',
|
||||
],
|
||||
'AFN' => [
|
||||
0 => 'AFN',
|
||||
1 => 'የአፍጋን አፍጋኒ',
|
||||
],
|
||||
'ALL' => [
|
||||
0 => 'ALL',
|
||||
1 => 'የአልባንያ ሌክ',
|
||||
],
|
||||
'AMD' => [
|
||||
0 => 'AMD',
|
||||
1 => 'የአርመን ድራም',
|
||||
],
|
||||
'ANG' => [
|
||||
0 => 'ANG',
|
||||
1 => 'ኔዘርላንድስ አንቲሊአን ጊልደር',
|
||||
],
|
||||
'AOA' => [
|
||||
0 => 'AOA',
|
||||
1 => 'የአንጎላ ኩዋንዛ',
|
||||
],
|
||||
'ARS' => [
|
||||
0 => 'ARS',
|
||||
1 => 'የአርጀንቲና ፔሶ',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => 'AU$',
|
||||
1 => 'የአውስትራሊያ ዶላር',
|
||||
],
|
||||
'AWG' => [
|
||||
0 => 'AWG',
|
||||
1 => 'አሩባን ፍሎሪን',
|
||||
],
|
||||
'AZN' => [
|
||||
0 => 'AZN',
|
||||
1 => 'የአዛርባጃን ማናት',
|
||||
],
|
||||
'BAM' => [
|
||||
0 => 'BAM',
|
||||
1 => 'የቦስኒያ ሄርዞጎቪና የሚመነዘር ማርክ',
|
||||
],
|
||||
'BBD' => [
|
||||
0 => 'BBD',
|
||||
1 => 'የባርቤዶስ ዶላር',
|
||||
],
|
||||
'BDT' => [
|
||||
0 => 'BDT',
|
||||
1 => 'የባንግላዲሽ ታካ',
|
||||
],
|
||||
'BGN' => [
|
||||
0 => 'BGN',
|
||||
1 => 'የቡልጋሪያ ሌቭ',
|
||||
],
|
||||
'BHD' => [
|
||||
0 => 'BHD',
|
||||
1 => 'የባኽሬን ዲናር',
|
||||
],
|
||||
'BIF' => [
|
||||
0 => 'BIF',
|
||||
1 => 'የብሩንዲ ፍራንክ',
|
||||
],
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'የቤርሙዳ ዶላር',
|
||||
],
|
||||
'BND' => [
|
||||
0 => 'BND',
|
||||
1 => 'የብሩኔ ዶላር',
|
||||
],
|
||||
'BOB' => [
|
||||
0 => 'BOB',
|
||||
1 => 'የቦሊቪያ ቦሊቪያኖ',
|
||||
],
|
||||
'BRL' => [
|
||||
0 => 'R$',
|
||||
1 => 'የብራዚል ሪል',
|
||||
],
|
||||
'BSD' => [
|
||||
0 => 'BSD',
|
||||
1 => 'የባሃማስ ዶላር',
|
||||
],
|
||||
'BTN' => [
|
||||
0 => 'BTN',
|
||||
1 => 'ብሁታኒዝ ንጉልትረም',
|
||||
],
|
||||
'BWP' => [
|
||||
0 => 'BWP',
|
||||
1 => 'የቦትስዋና ፑላ',
|
||||
],
|
||||
'BYN' => [
|
||||
0 => 'BYN',
|
||||
1 => 'የቤላሩስያ ሩብል',
|
||||
],
|
||||
'BYR' => [
|
||||
0 => 'BYR',
|
||||
1 => 'የቤላሩስያ ሩብል (2000–2016)',
|
||||
],
|
||||
'BZD' => [
|
||||
0 => 'BZD',
|
||||
1 => 'የቤሊዝ ዶላር',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CA$',
|
||||
1 => 'የካናዳ ዶላር',
|
||||
],
|
||||
'CDF' => [
|
||||
0 => 'CDF',
|
||||
1 => 'የኮንጐ ፍራንክ ኮንጐሌዝ',
|
||||
],
|
||||
'CHF' => [
|
||||
0 => 'CHF',
|
||||
1 => 'የስዊስ ፍራንክ',
|
||||
],
|
||||
'CLP' => [
|
||||
0 => 'CLP',
|
||||
1 => 'የቺሊ ፔሶ',
|
||||
],
|
||||
'CNH' => [
|
||||
0 => 'የቻይና ዩዋን',
|
||||
1 => 'የቻይና ዩዋን (የውጭ ምንዛሪ)',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'የቻይና የን',
|
||||
],
|
||||
'COP' => [
|
||||
0 => 'COP',
|
||||
1 => 'የኮሎምቢያ ፔሶ',
|
||||
],
|
||||
'CRC' => [
|
||||
0 => 'CRC',
|
||||
1 => 'የኮስታሪካ ኮሎን',
|
||||
],
|
||||
'CUC' => [
|
||||
0 => 'CUC',
|
||||
1 => 'የኩባ የሚመነዘር ፔሶ',
|
||||
],
|
||||
'CUP' => [
|
||||
0 => 'CUP',
|
||||
1 => 'የኩባ ፔሶ',
|
||||
],
|
||||
'CVE' => [
|
||||
0 => 'CVE',
|
||||
1 => 'የኬፕ ቫርዲ ኤስኩዶ',
|
||||
],
|
||||
'CZK' => [
|
||||
0 => 'CZK',
|
||||
1 => 'ቼክ ሪፐብሊክ ኮሩና',
|
||||
],
|
||||
'DJF' => [
|
||||
0 => 'DJF',
|
||||
1 => 'የጅቡቲ ፍራንክ',
|
||||
],
|
||||
'DKK' => [
|
||||
0 => 'DKK',
|
||||
1 => 'የዴንማርክ ክሮን',
|
||||
],
|
||||
'DOP' => [
|
||||
0 => 'DOP',
|
||||
1 => 'የዶሚኒክ ፔሶ',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'DZD',
|
||||
1 => 'የአልጄሪያ ዲናር',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'EGP',
|
||||
1 => 'የግብጽ ፓውንድ',
|
||||
],
|
||||
'ERN' => [
|
||||
0 => 'ERN',
|
||||
1 => 'የኤርትራ ናቅፋ',
|
||||
],
|
||||
'ETB' => [
|
||||
0 => 'ብር',
|
||||
1 => 'የኢትዮጵያ ብር',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'ዩሮ',
|
||||
],
|
||||
'FJD' => [
|
||||
0 => 'FJD',
|
||||
1 => 'የፊጂ ዶላር',
|
||||
],
|
||||
'FKP' => [
|
||||
0 => 'FKP',
|
||||
1 => 'የፎክላንድ ደሴቶች ፓውንድ',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => '£',
|
||||
1 => 'የእንግሊዝ ፓውንድ ስተርሊንግ',
|
||||
],
|
||||
'GEL' => [
|
||||
0 => 'GEL',
|
||||
1 => 'የጆርጅያ ላሪ',
|
||||
],
|
||||
'GHC' => [
|
||||
0 => 'GHC',
|
||||
1 => 'የጋና ሴዲ',
|
||||
],
|
||||
'GHS' => [
|
||||
0 => 'GHS',
|
||||
1 => 'የጋና ሲዲ',
|
||||
],
|
||||
'GIP' => [
|
||||
0 => 'GIP',
|
||||
1 => 'ጂብራልተር ፓውንድ',
|
||||
],
|
||||
'GMD' => [
|
||||
0 => 'GMD',
|
||||
1 => 'የጋምቢያ ዳላሲ',
|
||||
],
|
||||
'GNF' => [
|
||||
0 => 'GNF',
|
||||
1 => 'የጊኒ ፍራንክ',
|
||||
],
|
||||
'GTQ' => [
|
||||
0 => 'GTQ',
|
||||
1 => 'ጓቲማላን ኩቲዛል',
|
||||
],
|
||||
'GYD' => [
|
||||
0 => 'GYD',
|
||||
1 => 'የጉየና ዶላር',
|
||||
],
|
||||
'HKD' => [
|
||||
0 => 'HK$',
|
||||
1 => 'የሆንግኮንግ ዶላር',
|
||||
],
|
||||
'HNL' => [
|
||||
0 => 'HNL',
|
||||
1 => 'የሃንዱራ ሌምፓአይራ',
|
||||
],
|
||||
'HRK' => [
|
||||
0 => 'HRK',
|
||||
1 => 'የክሮሽያ ኩና',
|
||||
],
|
||||
'HTG' => [
|
||||
0 => 'HTG',
|
||||
1 => 'የሃያቲ ጓርዴ',
|
||||
],
|
||||
'HUF' => [
|
||||
0 => 'HUF',
|
||||
1 => 'የሃንጋሪያን ፎሪንት',
|
||||
],
|
||||
'IDR' => [
|
||||
0 => 'IDR',
|
||||
1 => 'የኢንዶኔዥያ ሩፒሃ',
|
||||
],
|
||||
'ILS' => [
|
||||
0 => '₪',
|
||||
1 => 'የእስራኤል አዲስ ሽቅል',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'የሕንድ ሩፒ',
|
||||
],
|
||||
'IQD' => [
|
||||
0 => 'IQD',
|
||||
1 => 'የኢራቅ ዲናር',
|
||||
],
|
||||
'IRR' => [
|
||||
0 => 'IRR',
|
||||
1 => 'የኢራን ሪአል',
|
||||
],
|
||||
'ISK' => [
|
||||
0 => 'ISK',
|
||||
1 => 'የአይስላንድ ክሮና',
|
||||
],
|
||||
'JMD' => [
|
||||
0 => 'JMD',
|
||||
1 => 'የጃማይካ ዶላር',
|
||||
],
|
||||
'JOD' => [
|
||||
0 => 'JOD',
|
||||
1 => 'የጆርዳን ዲናር',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'የጃፓን የን',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'የኬኒያ ሺሊንግ',
|
||||
],
|
||||
'KGS' => [
|
||||
0 => 'KGS',
|
||||
1 => 'የኪርጊስታን ሶም',
|
||||
],
|
||||
'KHR' => [
|
||||
0 => 'KHR',
|
||||
1 => 'የካምቦዲያ ሬል',
|
||||
],
|
||||
'KMF' => [
|
||||
0 => 'KMF',
|
||||
1 => 'የኮሞሮ ፍራንክ',
|
||||
],
|
||||
'KPW' => [
|
||||
0 => 'KPW',
|
||||
1 => 'የሰሜን ኮሪያ ዎን',
|
||||
],
|
||||
'KRW' => [
|
||||
0 => '₩',
|
||||
1 => 'የደቡብ ኮሪያ ዎን',
|
||||
],
|
||||
'KWD' => [
|
||||
0 => 'KWD',
|
||||
1 => 'የኩዌት ዲናር',
|
||||
],
|
||||
'KYD' => [
|
||||
0 => 'KYD',
|
||||
1 => 'የካይማን ደሴቶች ዶላር',
|
||||
],
|
||||
'KZT' => [
|
||||
0 => 'KZT',
|
||||
1 => 'የካዛኪስታን ተንጌ',
|
||||
],
|
||||
'LAK' => [
|
||||
0 => 'LAK',
|
||||
1 => 'የላኦቲ ኪፕ',
|
||||
],
|
||||
'LBP' => [
|
||||
0 => 'LBP',
|
||||
1 => 'የሊባኖስ ፓውንድ',
|
||||
],
|
||||
'LKR' => [
|
||||
0 => 'LKR',
|
||||
1 => 'የሲሪላንካ ሩፒ',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'የላይቤሪያ ዶላር',
|
||||
],
|
||||
'LSL' => [
|
||||
0 => 'LSL',
|
||||
1 => 'የሌሶቶ ሎቲ',
|
||||
],
|
||||
'LTL' => [
|
||||
0 => 'LTL',
|
||||
1 => 'ሊቱዌንያን ሊታስ',
|
||||
],
|
||||
'LVL' => [
|
||||
0 => 'LVL',
|
||||
1 => 'የላቲቫ ላትስ',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'LYD',
|
||||
1 => 'የሊቢያ ዲናር',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'MAD',
|
||||
1 => 'የሞሮኮ ዲርሀም',
|
||||
],
|
||||
'MDL' => [
|
||||
0 => 'MDL',
|
||||
1 => 'ሞልዶቫን ሊኡ',
|
||||
],
|
||||
'MGA' => [
|
||||
0 => 'MGA',
|
||||
1 => 'የማደጋስካር ማላጋስይ አሪያርይ',
|
||||
],
|
||||
'MKD' => [
|
||||
0 => 'MKD',
|
||||
1 => 'የሜቆድንያ ዲናር',
|
||||
],
|
||||
'MMK' => [
|
||||
0 => 'MMK',
|
||||
1 => 'የማያናማር ክያት',
|
||||
],
|
||||
'MNT' => [
|
||||
0 => 'MNT',
|
||||
1 => 'የሞንጎሊያን ቱግሪክ',
|
||||
],
|
||||
'MOP' => [
|
||||
0 => 'MOP',
|
||||
1 => 'የማካኔዝ ፓታካ',
|
||||
],
|
||||
'MRO' => [
|
||||
0 => 'MRO',
|
||||
1 => 'የሞሪቴኒያ ኦውጉያ (1973–2017)',
|
||||
],
|
||||
'MRU' => [
|
||||
0 => 'MRU',
|
||||
1 => 'የሞሪቴኒያ ኦውጉያ',
|
||||
],
|
||||
'MUR' => [
|
||||
0 => 'MUR',
|
||||
1 => 'የሞሪሸስ ሩፒ',
|
||||
],
|
||||
'MVR' => [
|
||||
0 => 'MVR',
|
||||
1 => 'የማልዲቫ ሩፊያ',
|
||||
],
|
||||
'MWK' => [
|
||||
0 => 'MWK',
|
||||
1 => 'የማላዊ ኩዋቻ',
|
||||
],
|
||||
'MXN' => [
|
||||
0 => 'MX$',
|
||||
1 => 'የሜክሲኮ ፔሶ',
|
||||
],
|
||||
'MYR' => [
|
||||
0 => 'MYR',
|
||||
1 => 'የማሌዥያ ሪንጊት',
|
||||
],
|
||||
'MZN' => [
|
||||
0 => 'MZN',
|
||||
1 => 'የሞዛምቢክ ሜቲካል',
|
||||
],
|
||||
'NAD' => [
|
||||
0 => 'NAD',
|
||||
1 => 'የናሚቢያ ዶላር',
|
||||
],
|
||||
'NGN' => [
|
||||
0 => 'NGN',
|
||||
1 => 'የናይጄሪያ ናይራ',
|
||||
],
|
||||
'NIO' => [
|
||||
0 => 'NIO',
|
||||
1 => 'የኒካራጓ ኮርዶባ',
|
||||
],
|
||||
'NOK' => [
|
||||
0 => 'NOK',
|
||||
1 => 'የኖርዌይ ክሮን',
|
||||
],
|
||||
'NPR' => [
|
||||
0 => 'NPR',
|
||||
1 => 'የኔፓል ሩፒ',
|
||||
],
|
||||
'NZD' => [
|
||||
0 => 'NZ$',
|
||||
1 => 'የኒውዚላንድ ዶላር',
|
||||
],
|
||||
'OMR' => [
|
||||
0 => 'OMR',
|
||||
1 => 'የኦማን ሪአል',
|
||||
],
|
||||
'PAB' => [
|
||||
0 => 'PAB',
|
||||
1 => 'ፓናማኒአን ባልቦአ',
|
||||
],
|
||||
'PEN' => [
|
||||
0 => 'PEN',
|
||||
1 => 'የፔሩቪያ ሶል',
|
||||
],
|
||||
'PGK' => [
|
||||
0 => 'PGK',
|
||||
1 => 'የፓፕዋ ኒው ጊኒ ኪና',
|
||||
],
|
||||
'PHP' => [
|
||||
0 => 'PHP',
|
||||
1 => 'የፊሊፒንስ ፔሶ',
|
||||
],
|
||||
'PKR' => [
|
||||
0 => 'PKR',
|
||||
1 => 'የፓኪስታን ሩፒ',
|
||||
],
|
||||
'PLN' => [
|
||||
0 => 'PLN',
|
||||
1 => 'የፖላንድ ዝሎቲ',
|
||||
],
|
||||
'PYG' => [
|
||||
0 => 'PYG',
|
||||
1 => 'የፓራጓይ ጉአራኒ',
|
||||
],
|
||||
'QAR' => [
|
||||
0 => 'QAR',
|
||||
1 => 'የኳታር ሪአል',
|
||||
],
|
||||
'RON' => [
|
||||
0 => 'RON',
|
||||
1 => 'የሮማኒያ ለው',
|
||||
],
|
||||
'RSD' => [
|
||||
0 => 'RSD',
|
||||
1 => 'የሰርቢያ ዲናር',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => 'RUB',
|
||||
1 => 'የሩስያ ሩብል',
|
||||
],
|
||||
'RWF' => [
|
||||
0 => 'RWF',
|
||||
1 => 'የሩዋንዳ ፍራንክ',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'SAR',
|
||||
1 => 'የሳውዲ ሪያል',
|
||||
],
|
||||
'SBD' => [
|
||||
0 => 'SBD',
|
||||
1 => 'የሰለሞን ደሴቶች ዶላር',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'SCR',
|
||||
1 => 'የሲሼል ሩፒ',
|
||||
],
|
||||
'SDG' => [
|
||||
0 => 'SDG',
|
||||
1 => 'የሱዳን ፓውንድ',
|
||||
],
|
||||
'SDP' => [
|
||||
0 => 'SDP',
|
||||
1 => 'የሱዳን ፓውንድ (1957–1998)',
|
||||
],
|
||||
'SEK' => [
|
||||
0 => 'SEK',
|
||||
1 => 'የስዊድን ክሮና',
|
||||
],
|
||||
'SGD' => [
|
||||
0 => 'SGD',
|
||||
1 => 'የሲንጋፖር ዶላር',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'የሴይንት ሔሌና ፓውንድ',
|
||||
],
|
||||
'SLL' => [
|
||||
0 => 'SLL',
|
||||
1 => 'የሴራሊዎን ሊዎን',
|
||||
],
|
||||
'SOS' => [
|
||||
0 => 'SOS',
|
||||
1 => 'የሶማሌ ሺሊንግ',
|
||||
],
|
||||
'SRD' => [
|
||||
0 => 'SRD',
|
||||
1 => 'የሰርናሜዝ ዶላር',
|
||||
],
|
||||
'SSP' => [
|
||||
0 => 'SSP',
|
||||
1 => 'የደቡብ ሱዳን ፓውንድ',
|
||||
],
|
||||
'STD' => [
|
||||
0 => 'STD',
|
||||
1 => 'የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ (1977–2017)',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'የሳኦ ቶሜ እና ፕሪንሲፔ ዶብራ',
|
||||
],
|
||||
'SYP' => [
|
||||
0 => 'SYP',
|
||||
1 => 'የሲሪያ ፓውንድ',
|
||||
],
|
||||
'SZL' => [
|
||||
0 => 'SZL',
|
||||
1 => 'የስዋዚላንድ ሊላንገኒ',
|
||||
],
|
||||
'THB' => [
|
||||
0 => '฿',
|
||||
1 => 'የታይላንድ ባህት',
|
||||
],
|
||||
'TJS' => [
|
||||
0 => 'TJS',
|
||||
1 => 'የታጂክስታን ሶሞኒ',
|
||||
],
|
||||
'TMT' => [
|
||||
0 => 'TMT',
|
||||
1 => 'ቱርክሜኒስታኒ ማናት',
|
||||
],
|
||||
'TND' => [
|
||||
0 => 'TND',
|
||||
1 => 'የቱኒዚያ ዲናር',
|
||||
],
|
||||
'TOP' => [
|
||||
0 => 'TOP',
|
||||
1 => 'ቶንጋን ፓ’አንጋ',
|
||||
],
|
||||
'TRY' => [
|
||||
0 => 'TRY',
|
||||
1 => 'የቱርክ ሊራ',
|
||||
],
|
||||
'TTD' => [
|
||||
0 => 'TTD',
|
||||
1 => 'የትሪንዳድ እና ቶቤጎዶላር',
|
||||
],
|
||||
'TWD' => [
|
||||
0 => 'NT$',
|
||||
1 => 'የአዲሷ ታይዋን ዶላር',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'የታንዛኒያ ሺሊንግ',
|
||||
],
|
||||
'UAH' => [
|
||||
0 => 'UAH',
|
||||
1 => 'የዩክሬን ሀሪይቭኒአ',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'የዩጋንዳ ሺሊንግ',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'US$',
|
||||
1 => 'የአሜሪካን ዶላር',
|
||||
],
|
||||
'UYU' => [
|
||||
0 => 'UYU',
|
||||
1 => 'የኡራጓይ ፔሶ',
|
||||
],
|
||||
'UZS' => [
|
||||
0 => 'UZS',
|
||||
1 => 'የኡዝፔኪስታን ሶም',
|
||||
],
|
||||
'VEF' => [
|
||||
0 => 'VEF',
|
||||
1 => 'የቬንዝዌላ ቦሊቫር (2008–2018)',
|
||||
],
|
||||
'VES' => [
|
||||
0 => 'VES',
|
||||
1 => 'የቬንዝዌላ-ቦሊቫር',
|
||||
],
|
||||
'VND' => [
|
||||
0 => '₫',
|
||||
1 => 'የቭየትናም ዶንግ',
|
||||
],
|
||||
'VUV' => [
|
||||
0 => 'VUV',
|
||||
1 => 'የቫንዋንቱ ቫቱ',
|
||||
],
|
||||
'WST' => [
|
||||
0 => 'WST',
|
||||
1 => 'ሳሞአን ታላ',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'FCFA',
|
||||
1 => 'የመካከለኛው አፍሪካ ሴፋ ፍራንክ',
|
||||
],
|
||||
'XCD' => [
|
||||
0 => 'EC$',
|
||||
1 => 'የምዕራብ ካሪብያን ዶላር',
|
||||
],
|
||||
'XOF' => [
|
||||
0 => 'F CFA',
|
||||
1 => 'የምዕራብ አፍሪካ ሴፋ ፍራንክ',
|
||||
],
|
||||
'XPF' => [
|
||||
0 => 'CFPF',
|
||||
1 => 'ሲ ኤፍ ፒ ፍራንክ',
|
||||
],
|
||||
'YER' => [
|
||||
0 => 'YER',
|
||||
1 => 'የየመን ሪአል',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'ZAR',
|
||||
1 => 'የደቡብ አፍሪካ ራንድ',
|
||||
],
|
||||
'ZMK' => [
|
||||
0 => 'ZMK',
|
||||
1 => 'የዛምቢያ ክዋቻ (1968–2012)',
|
||||
],
|
||||
'ZMW' => [
|
||||
0 => 'ZMW',
|
||||
1 => 'የዛምቢያ ክዋቻ',
|
||||
],
|
||||
'ZWD' => [
|
||||
0 => 'ZWD',
|
||||
1 => 'የዚምቧቡዌ ዶላር',
|
||||
],
|
||||
],
|
||||
];
|
||||
998
htdocs/includes/symfony/intl/Resources/data/currencies/ar.php
Normal file
998
htdocs/includes/symfony/intl/Resources/data/currencies/ar.php
Normal file
@@ -0,0 +1,998 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'ADP' => [
|
||||
0 => 'ADP',
|
||||
1 => 'بيستا أندوري',
|
||||
],
|
||||
'AED' => [
|
||||
0 => 'د.إ.',
|
||||
1 => 'درهم إماراتي',
|
||||
],
|
||||
'AFA' => [
|
||||
0 => 'AFA',
|
||||
1 => 'أفغاني - 1927-2002',
|
||||
],
|
||||
'AFN' => [
|
||||
0 => 'AFN',
|
||||
1 => 'أفغاني',
|
||||
],
|
||||
'ALL' => [
|
||||
0 => 'ALL',
|
||||
1 => 'ليك ألباني',
|
||||
],
|
||||
'AMD' => [
|
||||
0 => 'AMD',
|
||||
1 => 'درام أرميني',
|
||||
],
|
||||
'ANG' => [
|
||||
0 => 'ANG',
|
||||
1 => 'غيلدر أنتيلي هولندي',
|
||||
],
|
||||
'AOA' => [
|
||||
0 => 'AOA',
|
||||
1 => 'كوانزا أنغولي',
|
||||
],
|
||||
'AOK' => [
|
||||
0 => 'AOK',
|
||||
1 => 'كوانزا أنجولي - 1977-1990',
|
||||
],
|
||||
'AON' => [
|
||||
0 => 'AON',
|
||||
1 => 'كوانزا أنجولي جديدة - 1990-2000',
|
||||
],
|
||||
'AOR' => [
|
||||
0 => 'AOR',
|
||||
1 => 'كوانزا أنجولي معدلة - 1995 - 1999',
|
||||
],
|
||||
'ARA' => [
|
||||
0 => 'ARA',
|
||||
1 => 'استرال أرجنتيني',
|
||||
],
|
||||
'ARP' => [
|
||||
0 => 'ARP',
|
||||
1 => 'بيزو أرجنتيني - 1983-1985',
|
||||
],
|
||||
'ARS' => [
|
||||
0 => 'ARS',
|
||||
1 => 'بيزو أرجنتيني',
|
||||
],
|
||||
'ATS' => [
|
||||
0 => 'ATS',
|
||||
1 => 'شلن نمساوي',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => 'AU$',
|
||||
1 => 'دولار أسترالي',
|
||||
],
|
||||
'AWG' => [
|
||||
0 => 'AWG',
|
||||
1 => 'فلورن أروبي',
|
||||
],
|
||||
'AZM' => [
|
||||
0 => 'AZM',
|
||||
1 => 'مانات أذريبجاني',
|
||||
],
|
||||
'AZN' => [
|
||||
0 => 'AZN',
|
||||
1 => 'مانات أذربيجان',
|
||||
],
|
||||
'BAD' => [
|
||||
0 => 'BAD',
|
||||
1 => 'دينار البوسنة والهرسك',
|
||||
],
|
||||
'BAM' => [
|
||||
0 => 'BAM',
|
||||
1 => 'مارك البوسنة والهرسك قابل للتحويل',
|
||||
],
|
||||
'BBD' => [
|
||||
0 => 'BBD',
|
||||
1 => 'دولار بربادوسي',
|
||||
],
|
||||
'BDT' => [
|
||||
0 => 'BDT',
|
||||
1 => 'تاكا بنغلاديشي',
|
||||
],
|
||||
'BEC' => [
|
||||
0 => 'BEC',
|
||||
1 => 'فرنك بلجيكي قابل للتحويل',
|
||||
],
|
||||
'BEF' => [
|
||||
0 => 'BEF',
|
||||
1 => 'فرنك بلجيكي',
|
||||
],
|
||||
'BEL' => [
|
||||
0 => 'BEL',
|
||||
1 => 'فرنك بلجيكي مالي',
|
||||
],
|
||||
'BGN' => [
|
||||
0 => 'BGN',
|
||||
1 => 'ليف بلغاري',
|
||||
],
|
||||
'BHD' => [
|
||||
0 => 'د.ب.',
|
||||
1 => 'دينار بحريني',
|
||||
],
|
||||
'BIF' => [
|
||||
0 => 'BIF',
|
||||
1 => 'فرنك بروندي',
|
||||
],
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'دولار برمودي',
|
||||
],
|
||||
'BND' => [
|
||||
0 => 'BND',
|
||||
1 => 'دولار بروناي',
|
||||
],
|
||||
'BOB' => [
|
||||
0 => 'BOB',
|
||||
1 => 'بوليفيانو بوليفي',
|
||||
],
|
||||
'BOP' => [
|
||||
0 => 'BOP',
|
||||
1 => 'بيزو بوليفي',
|
||||
],
|
||||
'BOV' => [
|
||||
0 => 'BOV',
|
||||
1 => 'مفدول بوليفي',
|
||||
],
|
||||
'BRB' => [
|
||||
0 => 'BRB',
|
||||
1 => 'نوفو كروزايرو برازيلي - 1967-1986',
|
||||
],
|
||||
'BRC' => [
|
||||
0 => 'BRC',
|
||||
1 => 'كروزادو برازيلي',
|
||||
],
|
||||
'BRE' => [
|
||||
0 => 'BRE',
|
||||
1 => 'كروزايرو برازيلي - 1990-1993',
|
||||
],
|
||||
'BRL' => [
|
||||
0 => 'R$',
|
||||
1 => 'ريال برازيلي',
|
||||
],
|
||||
'BSD' => [
|
||||
0 => 'BSD',
|
||||
1 => 'دولار باهامي',
|
||||
],
|
||||
'BTN' => [
|
||||
0 => 'BTN',
|
||||
1 => 'نولتوم بوتاني',
|
||||
],
|
||||
'BUK' => [
|
||||
0 => 'BUK',
|
||||
1 => 'كيات بورمي',
|
||||
],
|
||||
'BWP' => [
|
||||
0 => 'BWP',
|
||||
1 => 'بولا بتسواني',
|
||||
],
|
||||
'BYB' => [
|
||||
0 => 'BYB',
|
||||
1 => 'روبل بيلاروسي جديد - 1994-1999',
|
||||
],
|
||||
'BYN' => [
|
||||
0 => 'BYN',
|
||||
1 => 'روبل بيلاروسي',
|
||||
],
|
||||
'BYR' => [
|
||||
0 => 'BYR',
|
||||
1 => 'روبل بيلاروسي (٢٠٠٠–٢٠١٦)',
|
||||
],
|
||||
'BZD' => [
|
||||
0 => 'BZD',
|
||||
1 => 'دولار بليزي',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CA$',
|
||||
1 => 'دولار كندي',
|
||||
],
|
||||
'CDF' => [
|
||||
0 => 'CDF',
|
||||
1 => 'فرنك كونغولي',
|
||||
],
|
||||
'CHF' => [
|
||||
0 => 'CHF',
|
||||
1 => 'فرنك سويسري',
|
||||
],
|
||||
'CLP' => [
|
||||
0 => 'CLP',
|
||||
1 => 'بيزو تشيلي',
|
||||
],
|
||||
'CNH' => [
|
||||
0 => 'CNH',
|
||||
1 => 'يوان صيني (في الخارج)',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'يوان صيني',
|
||||
],
|
||||
'COP' => [
|
||||
0 => 'COP',
|
||||
1 => 'بيزو كولومبي',
|
||||
],
|
||||
'CRC' => [
|
||||
0 => 'CRC',
|
||||
1 => 'كولن كوستاريكي',
|
||||
],
|
||||
'CSD' => [
|
||||
0 => 'CSD',
|
||||
1 => 'دينار صربي قديم',
|
||||
],
|
||||
'CSK' => [
|
||||
0 => 'CSK',
|
||||
1 => 'كرونة تشيكوسلوفاكيا',
|
||||
],
|
||||
'CUC' => [
|
||||
0 => 'CUC',
|
||||
1 => 'بيزو كوبي قابل للتحويل',
|
||||
],
|
||||
'CUP' => [
|
||||
0 => 'CUP',
|
||||
1 => 'بيزو كوبي',
|
||||
],
|
||||
'CVE' => [
|
||||
0 => 'CVE',
|
||||
1 => 'اسكودو الرأس الأخضر',
|
||||
],
|
||||
'CYP' => [
|
||||
0 => 'CYP',
|
||||
1 => 'جنيه قبرصي',
|
||||
],
|
||||
'CZK' => [
|
||||
0 => 'CZK',
|
||||
1 => 'كرونة تشيكية',
|
||||
],
|
||||
'DDM' => [
|
||||
0 => 'DDM',
|
||||
1 => 'أوستمارك ألماني شرقي',
|
||||
],
|
||||
'DEM' => [
|
||||
0 => 'DEM',
|
||||
1 => 'مارك ألماني',
|
||||
],
|
||||
'DJF' => [
|
||||
0 => 'DJF',
|
||||
1 => 'فرنك جيبوتي',
|
||||
],
|
||||
'DKK' => [
|
||||
0 => 'DKK',
|
||||
1 => 'كرونة دنماركية',
|
||||
],
|
||||
'DOP' => [
|
||||
0 => 'DOP',
|
||||
1 => 'بيزو الدومنيكان',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'د.ج.',
|
||||
1 => 'دينار جزائري',
|
||||
],
|
||||
'EEK' => [
|
||||
0 => 'EEK',
|
||||
1 => 'كرونة استونية',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'ج.م.',
|
||||
1 => 'جنيه مصري',
|
||||
],
|
||||
'ERN' => [
|
||||
0 => 'ERN',
|
||||
1 => 'ناكفا أريتري',
|
||||
],
|
||||
'ESP' => [
|
||||
0 => 'ESP',
|
||||
1 => 'بيزيتا إسباني',
|
||||
],
|
||||
'ETB' => [
|
||||
0 => 'ETB',
|
||||
1 => 'بير أثيوبي',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'يورو',
|
||||
],
|
||||
'FIM' => [
|
||||
0 => 'FIM',
|
||||
1 => 'ماركا فنلندي',
|
||||
],
|
||||
'FJD' => [
|
||||
0 => 'FJD',
|
||||
1 => 'دولار فيجي',
|
||||
],
|
||||
'FKP' => [
|
||||
0 => 'FKP',
|
||||
1 => 'جنيه جزر فوكلاند',
|
||||
],
|
||||
'FRF' => [
|
||||
0 => 'FRF',
|
||||
1 => 'فرنك فرنسي',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => 'UK£',
|
||||
1 => 'جنيه إسترليني',
|
||||
],
|
||||
'GEL' => [
|
||||
0 => 'GEL',
|
||||
1 => 'لارى جورجي',
|
||||
],
|
||||
'GHC' => [
|
||||
0 => 'GHC',
|
||||
1 => 'سيدي غاني',
|
||||
],
|
||||
'GHS' => [
|
||||
0 => 'GHS',
|
||||
1 => 'سيدي غانا',
|
||||
],
|
||||
'GIP' => [
|
||||
0 => 'GIP',
|
||||
1 => 'جنيه جبل طارق',
|
||||
],
|
||||
'GMD' => [
|
||||
0 => 'GMD',
|
||||
1 => 'دلاسي غامبي',
|
||||
],
|
||||
'GNF' => [
|
||||
0 => 'GNF',
|
||||
1 => 'فرنك غينيا',
|
||||
],
|
||||
'GNS' => [
|
||||
0 => 'GNS',
|
||||
1 => 'سيلي غينيا',
|
||||
],
|
||||
'GQE' => [
|
||||
0 => 'GQE',
|
||||
1 => 'اكويل جونينا غينيا الاستوائيّة',
|
||||
],
|
||||
'GRD' => [
|
||||
0 => 'GRD',
|
||||
1 => 'دراخما يوناني',
|
||||
],
|
||||
'GTQ' => [
|
||||
0 => 'GTQ',
|
||||
1 => 'كوتزال غواتيمالا',
|
||||
],
|
||||
'GWE' => [
|
||||
0 => 'GWE',
|
||||
1 => 'اسكود برتغالي غينيا',
|
||||
],
|
||||
'GWP' => [
|
||||
0 => 'GWP',
|
||||
1 => 'بيزو غينيا بيساو',
|
||||
],
|
||||
'GYD' => [
|
||||
0 => 'GYD',
|
||||
1 => 'دولار غيانا',
|
||||
],
|
||||
'HKD' => [
|
||||
0 => 'HK$',
|
||||
1 => 'دولار هونغ كونغ',
|
||||
],
|
||||
'HNL' => [
|
||||
0 => 'HNL',
|
||||
1 => 'ليمبيرا هنداروس',
|
||||
],
|
||||
'HRD' => [
|
||||
0 => 'HRD',
|
||||
1 => 'دينار كرواتي',
|
||||
],
|
||||
'HRK' => [
|
||||
0 => 'HRK',
|
||||
1 => 'كونا كرواتي',
|
||||
],
|
||||
'HTG' => [
|
||||
0 => 'HTG',
|
||||
1 => 'جوردى هايتي',
|
||||
],
|
||||
'HUF' => [
|
||||
0 => 'HUF',
|
||||
1 => 'فورينت هنغاري',
|
||||
],
|
||||
'IDR' => [
|
||||
0 => 'IDR',
|
||||
1 => 'روبية إندونيسية',
|
||||
],
|
||||
'IEP' => [
|
||||
0 => 'IEP',
|
||||
1 => 'جنيه إيرلندي',
|
||||
],
|
||||
'ILP' => [
|
||||
0 => 'ILP',
|
||||
1 => 'جنيه إسرائيلي',
|
||||
],
|
||||
'ILS' => [
|
||||
0 => '₪',
|
||||
1 => 'شيكل إسرائيلي جديد',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'روبية هندي',
|
||||
],
|
||||
'IQD' => [
|
||||
0 => 'د.ع.',
|
||||
1 => 'دينار عراقي',
|
||||
],
|
||||
'IRR' => [
|
||||
0 => 'ر.إ.',
|
||||
1 => 'ريال إيراني',
|
||||
],
|
||||
'ISK' => [
|
||||
0 => 'ISK',
|
||||
1 => 'كرونة أيسلندية',
|
||||
],
|
||||
'ITL' => [
|
||||
0 => 'ITL',
|
||||
1 => 'ليرة إيطالية',
|
||||
],
|
||||
'JMD' => [
|
||||
0 => 'JMD',
|
||||
1 => 'دولار جامايكي',
|
||||
],
|
||||
'JOD' => [
|
||||
0 => 'د.أ.',
|
||||
1 => 'دينار أردني',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'ين ياباني',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'شلن كينيي',
|
||||
],
|
||||
'KGS' => [
|
||||
0 => 'KGS',
|
||||
1 => 'سوم قيرغستاني',
|
||||
],
|
||||
'KHR' => [
|
||||
0 => 'KHR',
|
||||
1 => 'رييال كمبودي',
|
||||
],
|
||||
'KMF' => [
|
||||
0 => 'KMF',
|
||||
1 => 'فرنك جزر القمر',
|
||||
],
|
||||
'KPW' => [
|
||||
0 => 'KPW',
|
||||
1 => 'وون كوريا الشمالية',
|
||||
],
|
||||
'KRW' => [
|
||||
0 => '₩',
|
||||
1 => 'وون كوريا الجنوبية',
|
||||
],
|
||||
'KWD' => [
|
||||
0 => 'د.ك.',
|
||||
1 => 'دينار كويتي',
|
||||
],
|
||||
'KYD' => [
|
||||
0 => 'KYD',
|
||||
1 => 'دولار جزر كيمن',
|
||||
],
|
||||
'KZT' => [
|
||||
0 => 'KZT',
|
||||
1 => 'تينغ كازاخستاني',
|
||||
],
|
||||
'LAK' => [
|
||||
0 => 'LAK',
|
||||
1 => 'كيب لاوسي',
|
||||
],
|
||||
'LBP' => [
|
||||
0 => 'ل.ل.',
|
||||
1 => 'جنيه لبناني',
|
||||
],
|
||||
'LKR' => [
|
||||
0 => 'LKR',
|
||||
1 => 'روبية سريلانكية',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'دولار ليبيري',
|
||||
],
|
||||
'LSL' => [
|
||||
0 => 'LSL',
|
||||
1 => 'لوتي ليسوتو',
|
||||
],
|
||||
'LTL' => [
|
||||
0 => 'LTL',
|
||||
1 => 'ليتا ليتوانية',
|
||||
],
|
||||
'LTT' => [
|
||||
0 => 'LTT',
|
||||
1 => 'تالوناس ليتواني',
|
||||
],
|
||||
'LUC' => [
|
||||
0 => 'LUC',
|
||||
1 => 'فرنك لوكسمبرج قابل للتحويل',
|
||||
],
|
||||
'LUF' => [
|
||||
0 => 'LUF',
|
||||
1 => 'فرنك لوكسمبرج',
|
||||
],
|
||||
'LUL' => [
|
||||
0 => 'LUL',
|
||||
1 => 'فرنك لوكسمبرج المالي',
|
||||
],
|
||||
'LVL' => [
|
||||
0 => 'LVL',
|
||||
1 => 'لاتس لاتفيا',
|
||||
],
|
||||
'LVR' => [
|
||||
0 => 'LVR',
|
||||
1 => 'روبل لاتفيا',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'د.ل.',
|
||||
1 => 'دينار ليبي',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'د.م.',
|
||||
1 => 'درهم مغربي',
|
||||
],
|
||||
'MAF' => [
|
||||
0 => 'MAF',
|
||||
1 => 'فرنك مغربي',
|
||||
],
|
||||
'MDL' => [
|
||||
0 => 'MDL',
|
||||
1 => 'ليو مولدوفي',
|
||||
],
|
||||
'MGA' => [
|
||||
0 => 'MGA',
|
||||
1 => 'أرياري مدغشقر',
|
||||
],
|
||||
'MGF' => [
|
||||
0 => 'MGF',
|
||||
1 => 'فرنك مدغشقر',
|
||||
],
|
||||
'MKD' => [
|
||||
0 => 'MKD',
|
||||
1 => 'دينار مقدوني',
|
||||
],
|
||||
'MLF' => [
|
||||
0 => 'MLF',
|
||||
1 => 'فرنك مالي',
|
||||
],
|
||||
'MMK' => [
|
||||
0 => 'MMK',
|
||||
1 => 'كيات ميانمار',
|
||||
],
|
||||
'MNT' => [
|
||||
0 => 'MNT',
|
||||
1 => 'توغروغ منغولي',
|
||||
],
|
||||
'MOP' => [
|
||||
0 => 'MOP',
|
||||
1 => 'باتاكا ماكاوي',
|
||||
],
|
||||
'MRO' => [
|
||||
0 => 'MRO',
|
||||
1 => 'أوقية موريتانية - 1973-2017',
|
||||
],
|
||||
'MRU' => [
|
||||
0 => 'أ.م.',
|
||||
1 => 'أوقية موريتانية',
|
||||
],
|
||||
'MTL' => [
|
||||
0 => 'MTL',
|
||||
1 => 'ليرة مالطية',
|
||||
],
|
||||
'MTP' => [
|
||||
0 => 'MTP',
|
||||
1 => 'جنيه مالطي',
|
||||
],
|
||||
'MUR' => [
|
||||
0 => 'MUR',
|
||||
1 => 'روبية موريشيوسية',
|
||||
],
|
||||
'MVR' => [
|
||||
0 => 'MVR',
|
||||
1 => 'روفيه جزر المالديف',
|
||||
],
|
||||
'MWK' => [
|
||||
0 => 'MWK',
|
||||
1 => 'كواشا مالاوي',
|
||||
],
|
||||
'MXN' => [
|
||||
0 => 'MX$',
|
||||
1 => 'بيزو مكسيكي',
|
||||
],
|
||||
'MXP' => [
|
||||
0 => 'MXP',
|
||||
1 => 'بيزو فضي مكسيكي - 1861-1992',
|
||||
],
|
||||
'MYR' => [
|
||||
0 => 'MYR',
|
||||
1 => 'رينغيت ماليزي',
|
||||
],
|
||||
'MZE' => [
|
||||
0 => 'MZE',
|
||||
1 => 'اسكود موزمبيقي',
|
||||
],
|
||||
'MZN' => [
|
||||
0 => 'MZN',
|
||||
1 => 'متكال موزمبيقي',
|
||||
],
|
||||
'NAD' => [
|
||||
0 => 'NAD',
|
||||
1 => 'دولار ناميبي',
|
||||
],
|
||||
'NGN' => [
|
||||
0 => 'NGN',
|
||||
1 => 'نايرا نيجيري',
|
||||
],
|
||||
'NIC' => [
|
||||
0 => 'NIC',
|
||||
1 => 'كوردوبة نيكاراجوا',
|
||||
],
|
||||
'NIO' => [
|
||||
0 => 'NIO',
|
||||
1 => 'قرطبة نيكاراغوا',
|
||||
],
|
||||
'NLG' => [
|
||||
0 => 'NLG',
|
||||
1 => 'جلدر هولندي',
|
||||
],
|
||||
'NOK' => [
|
||||
0 => 'NOK',
|
||||
1 => 'كرونة نرويجية',
|
||||
],
|
||||
'NPR' => [
|
||||
0 => 'NPR',
|
||||
1 => 'روبية نيبالي',
|
||||
],
|
||||
'NZD' => [
|
||||
0 => 'NZ$',
|
||||
1 => 'دولار نيوزيلندي',
|
||||
],
|
||||
'OMR' => [
|
||||
0 => 'ر.ع.',
|
||||
1 => 'ريال عماني',
|
||||
],
|
||||
'PAB' => [
|
||||
0 => 'PAB',
|
||||
1 => 'بالبوا بنمي',
|
||||
],
|
||||
'PEN' => [
|
||||
0 => 'PEN',
|
||||
1 => 'سول بيروفي',
|
||||
],
|
||||
'PGK' => [
|
||||
0 => 'PGK',
|
||||
1 => 'كينا بابوا غينيا الجديدة',
|
||||
],
|
||||
'PHP' => [
|
||||
0 => 'PHP',
|
||||
1 => 'بيزو فلبيني',
|
||||
],
|
||||
'PKR' => [
|
||||
0 => 'PKR',
|
||||
1 => 'روبية باكستاني',
|
||||
],
|
||||
'PLN' => [
|
||||
0 => 'PLN',
|
||||
1 => 'زلوتي بولندي',
|
||||
],
|
||||
'PLZ' => [
|
||||
0 => 'PLZ',
|
||||
1 => 'زلوتي بولندي - 1950-1995',
|
||||
],
|
||||
'PTE' => [
|
||||
0 => 'PTE',
|
||||
1 => 'اسكود برتغالي',
|
||||
],
|
||||
'PYG' => [
|
||||
0 => 'PYG',
|
||||
1 => 'غواراني باراغواي',
|
||||
],
|
||||
'QAR' => [
|
||||
0 => 'ر.ق.',
|
||||
1 => 'ريال قطري',
|
||||
],
|
||||
'RHD' => [
|
||||
0 => 'RHD',
|
||||
1 => 'دولار روديسي',
|
||||
],
|
||||
'ROL' => [
|
||||
0 => 'ROL',
|
||||
1 => 'ليو روماني قديم',
|
||||
],
|
||||
'RON' => [
|
||||
0 => 'RON',
|
||||
1 => 'ليو روماني',
|
||||
],
|
||||
'RSD' => [
|
||||
0 => 'RSD',
|
||||
1 => 'دينار صربي',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => 'RUB',
|
||||
1 => 'روبل روسي',
|
||||
],
|
||||
'RUR' => [
|
||||
0 => 'RUR',
|
||||
1 => 'روبل روسي - 1991-1998',
|
||||
],
|
||||
'RWF' => [
|
||||
0 => 'RWF',
|
||||
1 => 'فرنك رواندي',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'ر.س.',
|
||||
1 => 'ريال سعودي',
|
||||
],
|
||||
'SBD' => [
|
||||
0 => 'SBD',
|
||||
1 => 'دولار جزر سليمان',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'SCR',
|
||||
1 => 'روبية سيشيلية',
|
||||
],
|
||||
'SDD' => [
|
||||
0 => 'د.س.',
|
||||
1 => 'دينار سوداني',
|
||||
],
|
||||
'SDG' => [
|
||||
0 => 'ج.س.',
|
||||
1 => 'جنيه سوداني',
|
||||
],
|
||||
'SDP' => [
|
||||
0 => 'SDP',
|
||||
1 => 'جنيه سوداني قديم',
|
||||
],
|
||||
'SEK' => [
|
||||
0 => 'SEK',
|
||||
1 => 'كرونة سويدية',
|
||||
],
|
||||
'SGD' => [
|
||||
0 => 'SGD',
|
||||
1 => 'دولار سنغافوري',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'جنيه سانت هيلين',
|
||||
],
|
||||
'SIT' => [
|
||||
0 => 'SIT',
|
||||
1 => 'تولار سلوفيني',
|
||||
],
|
||||
'SKK' => [
|
||||
0 => 'SKK',
|
||||
1 => 'كرونة سلوفاكية',
|
||||
],
|
||||
'SLL' => [
|
||||
0 => 'SLL',
|
||||
1 => 'ليون سيراليوني',
|
||||
],
|
||||
'SOS' => [
|
||||
0 => 'SOS',
|
||||
1 => 'شلن صومالي',
|
||||
],
|
||||
'SRD' => [
|
||||
0 => 'SRD',
|
||||
1 => 'دولار سورينامي',
|
||||
],
|
||||
'SRG' => [
|
||||
0 => 'SRG',
|
||||
1 => 'جلدر سورينامي',
|
||||
],
|
||||
'SSP' => [
|
||||
0 => 'SSP',
|
||||
1 => 'جنيه جنوب السودان',
|
||||
],
|
||||
'STD' => [
|
||||
0 => 'STD',
|
||||
1 => 'دوبرا ساو تومي وبرينسيبي - 1977-2017',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'دوبرا ساو تومي وبرينسيبي',
|
||||
],
|
||||
'SUR' => [
|
||||
0 => 'SUR',
|
||||
1 => 'روبل سوفيتي',
|
||||
],
|
||||
'SVC' => [
|
||||
0 => 'SVC',
|
||||
1 => 'كولون سلفادوري',
|
||||
],
|
||||
'SYP' => [
|
||||
0 => 'ل.س.',
|
||||
1 => 'ليرة سورية',
|
||||
],
|
||||
'SZL' => [
|
||||
0 => 'SZL',
|
||||
1 => 'ليلانجيني سوازيلندي',
|
||||
],
|
||||
'THB' => [
|
||||
0 => '฿',
|
||||
1 => 'باخت تايلاندي',
|
||||
],
|
||||
'TJR' => [
|
||||
0 => 'TJR',
|
||||
1 => 'روبل طاجيكستاني',
|
||||
],
|
||||
'TJS' => [
|
||||
0 => 'TJS',
|
||||
1 => 'سوموني طاجيكستاني',
|
||||
],
|
||||
'TMM' => [
|
||||
0 => 'TMM',
|
||||
1 => 'مانات تركمنستاني',
|
||||
],
|
||||
'TMT' => [
|
||||
0 => 'TMT',
|
||||
1 => 'مانات تركمانستان',
|
||||
],
|
||||
'TND' => [
|
||||
0 => 'د.ت.',
|
||||
1 => 'دينار تونسي',
|
||||
],
|
||||
'TOP' => [
|
||||
0 => 'TOP',
|
||||
1 => 'بانغا تونغا',
|
||||
],
|
||||
'TPE' => [
|
||||
0 => 'TPE',
|
||||
1 => 'اسكود تيموري',
|
||||
],
|
||||
'TRL' => [
|
||||
0 => 'TRL',
|
||||
1 => 'ليرة تركي',
|
||||
],
|
||||
'TRY' => [
|
||||
0 => 'TRY',
|
||||
1 => 'ليرة تركية',
|
||||
],
|
||||
'TTD' => [
|
||||
0 => 'TTD',
|
||||
1 => 'دولار ترينداد وتوباغو',
|
||||
],
|
||||
'TWD' => [
|
||||
0 => 'NT$',
|
||||
1 => 'دولار تايواني',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'شلن تنزاني',
|
||||
],
|
||||
'UAH' => [
|
||||
0 => 'UAH',
|
||||
1 => 'هريفنيا أوكراني',
|
||||
],
|
||||
'UGS' => [
|
||||
0 => 'UGS',
|
||||
1 => 'شلن أوغندي - 1966-1987',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'شلن أوغندي',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'US$',
|
||||
1 => 'دولار أمريكي',
|
||||
],
|
||||
'USN' => [
|
||||
0 => 'USN',
|
||||
1 => 'دولار أمريكي (اليوم التالي)',
|
||||
],
|
||||
'USS' => [
|
||||
0 => 'USS',
|
||||
1 => 'دولار أمريكي (نفس اليوم)',
|
||||
],
|
||||
'UYP' => [
|
||||
0 => 'UYP',
|
||||
1 => 'بيزو أوروجواي - 1975-1993',
|
||||
],
|
||||
'UYU' => [
|
||||
0 => 'UYU',
|
||||
1 => 'بيزو اوروغواي',
|
||||
],
|
||||
'UZS' => [
|
||||
0 => 'UZS',
|
||||
1 => 'سوم أوزبكستاني',
|
||||
],
|
||||
'VEB' => [
|
||||
0 => 'VEB',
|
||||
1 => 'بوليفار فنزويلي - 1871-2008',
|
||||
],
|
||||
'VEF' => [
|
||||
0 => 'VEF',
|
||||
1 => 'بوليفار فنزويلي - 2008–2018',
|
||||
],
|
||||
'VES' => [
|
||||
0 => 'VES',
|
||||
1 => 'بوليفار فنزويلي',
|
||||
],
|
||||
'VND' => [
|
||||
0 => '₫',
|
||||
1 => 'دونج فيتنامي',
|
||||
],
|
||||
'VUV' => [
|
||||
0 => 'VUV',
|
||||
1 => 'فاتو فانواتو',
|
||||
],
|
||||
'WST' => [
|
||||
0 => 'WST',
|
||||
1 => 'تالا ساموا',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'FCFA',
|
||||
1 => 'فرنك وسط أفريقي',
|
||||
],
|
||||
'XCD' => [
|
||||
0 => 'EC$',
|
||||
1 => 'دولار شرق الكاريبي',
|
||||
],
|
||||
'XEU' => [
|
||||
0 => 'XEU',
|
||||
1 => 'وحدة النقد الأوروبية',
|
||||
],
|
||||
'XFO' => [
|
||||
0 => 'XFO',
|
||||
1 => 'فرنك فرنسي ذهبي',
|
||||
],
|
||||
'XFU' => [
|
||||
0 => 'XFU',
|
||||
1 => '(UIC)فرنك فرنسي',
|
||||
],
|
||||
'XOF' => [
|
||||
0 => 'F CFA',
|
||||
1 => 'فرنك غرب أفريقي',
|
||||
],
|
||||
'XPF' => [
|
||||
0 => 'CFPF',
|
||||
1 => 'فرنك سي إف بي',
|
||||
],
|
||||
'YDD' => [
|
||||
0 => 'YDD',
|
||||
1 => 'دينار يمني',
|
||||
],
|
||||
'YER' => [
|
||||
0 => 'ر.ي.',
|
||||
1 => 'ريال يمني',
|
||||
],
|
||||
'YUD' => [
|
||||
0 => 'YUD',
|
||||
1 => 'دينار يوغسلافي',
|
||||
],
|
||||
'YUN' => [
|
||||
0 => 'YUN',
|
||||
1 => 'دينار يوغسلافي قابل للتحويل',
|
||||
],
|
||||
'ZAL' => [
|
||||
0 => 'ZAL',
|
||||
1 => 'راند جنوب أفريقيا -مالي',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'ZAR',
|
||||
1 => 'راند جنوب أفريقيا',
|
||||
],
|
||||
'ZMK' => [
|
||||
0 => 'ZMK',
|
||||
1 => 'كواشا زامبي - 1968-2012',
|
||||
],
|
||||
'ZMW' => [
|
||||
0 => 'ZMW',
|
||||
1 => 'كواشا زامبي',
|
||||
],
|
||||
'ZRN' => [
|
||||
0 => 'ZRN',
|
||||
1 => 'زائير زائيري جديد',
|
||||
],
|
||||
'ZRZ' => [
|
||||
0 => 'ZRZ',
|
||||
1 => 'زائير زائيري',
|
||||
],
|
||||
'ZWD' => [
|
||||
0 => 'ZWD',
|
||||
1 => 'دولار زمبابوي',
|
||||
],
|
||||
'ZWL' => [
|
||||
0 => 'ZWL',
|
||||
1 => 'دولار زمبابوي 2009',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'DJF' => [
|
||||
0 => 'Fdj',
|
||||
1 => 'فرنك جيبوتي',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'ERN' => [
|
||||
0 => 'Nfk',
|
||||
1 => 'ناكفا أريتري',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'KMF' => [
|
||||
0 => 'CF',
|
||||
1 => 'فرنك جزر القمر',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'SDG' => [
|
||||
0 => 'SDG',
|
||||
1 => 'جنيه سوداني',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'SOS' => [
|
||||
0 => 'S',
|
||||
1 => 'شلن صومالي',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'GBP' => [
|
||||
0 => 'GB£',
|
||||
1 => 'جنيه إسترليني',
|
||||
],
|
||||
'SSP' => [
|
||||
0 => '£',
|
||||
1 => 'جنيه جنوب السودان',
|
||||
],
|
||||
],
|
||||
];
|
||||
646
htdocs/includes/symfony/intl/Resources/data/currencies/as.php
Normal file
646
htdocs/includes/symfony/intl/Resources/data/currencies/as.php
Normal file
@@ -0,0 +1,646 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'সংযুক্ত আৰব আমিৰাত ডিৰহেম',
|
||||
],
|
||||
'AFN' => [
|
||||
0 => 'AFN',
|
||||
1 => 'আফগান আফগানী',
|
||||
],
|
||||
'ALL' => [
|
||||
0 => 'ALL',
|
||||
1 => 'আলবেনীয় লেক',
|
||||
],
|
||||
'AMD' => [
|
||||
0 => 'AMD',
|
||||
1 => 'আৰ্মেনিয়ান ড্ৰাম',
|
||||
],
|
||||
'ANG' => [
|
||||
0 => 'ANG',
|
||||
1 => 'নেডাৰলেণ্ডছ এণ্টিলিয়েন গিল্ডাৰ',
|
||||
],
|
||||
'AOA' => [
|
||||
0 => 'AOA',
|
||||
1 => 'এংগোলান কোৱাঞ্জা',
|
||||
],
|
||||
'ARS' => [
|
||||
0 => 'ARS',
|
||||
1 => 'আৰ্জেণ্টাইন পেছো',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => 'A$',
|
||||
1 => 'অষ্ট্ৰেলিয়ান ডলাৰ',
|
||||
],
|
||||
'AWG' => [
|
||||
0 => 'AWG',
|
||||
1 => 'আৰুবান ফ্ল’ৰিন',
|
||||
],
|
||||
'AZN' => [
|
||||
0 => 'AZN',
|
||||
1 => 'আজেৰবাইজানী মানাত',
|
||||
],
|
||||
'BAM' => [
|
||||
0 => 'BAM',
|
||||
1 => 'ব’ছনিয়া আৰু হাৰ্জেগ’ভিনা কনভাৰ্টিব্ল মাৰ্ক',
|
||||
],
|
||||
'BBD' => [
|
||||
0 => 'BBD',
|
||||
1 => 'বাৰ্বাডিয়ান ডলাৰ',
|
||||
],
|
||||
'BDT' => [
|
||||
0 => 'BDT',
|
||||
1 => 'বাংলাদেশী টাকা',
|
||||
],
|
||||
'BGN' => [
|
||||
0 => 'BGN',
|
||||
1 => 'বুলগেৰীয় লেভ',
|
||||
],
|
||||
'BHD' => [
|
||||
0 => 'BHD',
|
||||
1 => 'বাহৰেইনী ডিনাৰ',
|
||||
],
|
||||
'BIF' => [
|
||||
0 => 'BIF',
|
||||
1 => 'বুৰুণ্ডিয়ান ফ্ৰেংক',
|
||||
],
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'বাৰ্মুডান ডলাৰ',
|
||||
],
|
||||
'BND' => [
|
||||
0 => 'BND',
|
||||
1 => 'ব্ৰুনেই ডলাৰ',
|
||||
],
|
||||
'BOB' => [
|
||||
0 => 'BOB',
|
||||
1 => 'বলিভিয়ান বলিভিয়ানো',
|
||||
],
|
||||
'BRL' => [
|
||||
0 => 'R$',
|
||||
1 => 'ব্ৰাজিলিয়ান ৰিয়েল',
|
||||
],
|
||||
'BSD' => [
|
||||
0 => 'BSD',
|
||||
1 => 'বাহামিয়ান ডলাৰ',
|
||||
],
|
||||
'BTN' => [
|
||||
0 => 'BTN',
|
||||
1 => 'ভুটানী নংগলট্ৰাম',
|
||||
],
|
||||
'BWP' => [
|
||||
0 => 'BWP',
|
||||
1 => 'ব’টচোৱানান পুলা',
|
||||
],
|
||||
'BYN' => [
|
||||
0 => 'BYN',
|
||||
1 => 'বেলাৰুছীয় ৰুবেল',
|
||||
],
|
||||
'BZD' => [
|
||||
0 => 'BZD',
|
||||
1 => 'বেলিজ ডলাৰ',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CA$',
|
||||
1 => 'কানাডিয়ান ডলাৰ',
|
||||
],
|
||||
'CDF' => [
|
||||
0 => 'CDF',
|
||||
1 => 'কংগো ফ্ৰেংক',
|
||||
],
|
||||
'CHF' => [
|
||||
0 => 'CHF',
|
||||
1 => 'চুইছ ফ্ৰেংক',
|
||||
],
|
||||
'CLP' => [
|
||||
0 => 'CLP',
|
||||
1 => 'চিলিয়ান পেছো',
|
||||
],
|
||||
'CNH' => [
|
||||
0 => 'CNH',
|
||||
1 => 'চীনা ইউৱান (অফশ্ব’ৰ)',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'চীনা ইউৱান',
|
||||
],
|
||||
'COP' => [
|
||||
0 => 'COP',
|
||||
1 => 'কলম্বিয়ান পেছো',
|
||||
],
|
||||
'CRC' => [
|
||||
0 => 'CRC',
|
||||
1 => 'কোষ্টা ৰিকান কোলন',
|
||||
],
|
||||
'CUC' => [
|
||||
0 => 'CUC',
|
||||
1 => 'কিউবান ৰূপান্তৰযোগ্য পেছো',
|
||||
],
|
||||
'CUP' => [
|
||||
0 => 'CUP',
|
||||
1 => 'কিউবান পেছো',
|
||||
],
|
||||
'CVE' => [
|
||||
0 => 'CVE',
|
||||
1 => 'কেপ ভাৰ্দে এছকুডো',
|
||||
],
|
||||
'CZK' => [
|
||||
0 => 'CZK',
|
||||
1 => 'চেক কোৰুনা',
|
||||
],
|
||||
'DJF' => [
|
||||
0 => 'DJF',
|
||||
1 => 'জিবুটি ফ্ৰেংক',
|
||||
],
|
||||
'DKK' => [
|
||||
0 => 'DKK',
|
||||
1 => 'ডেনিচ ক্ৰোন',
|
||||
],
|
||||
'DOP' => [
|
||||
0 => 'DOP',
|
||||
1 => 'ড’মিনিকান পেছো',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'DZD',
|
||||
1 => 'আলজেৰীয় ডিনাৰ',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'EGP',
|
||||
1 => 'ইজিপ্তৰ পাউণ্ড',
|
||||
],
|
||||
'ERN' => [
|
||||
0 => 'ERN',
|
||||
1 => 'এৰিট্ৰিয়ন নাক্ফা',
|
||||
],
|
||||
'ETB' => [
|
||||
0 => 'ETB',
|
||||
1 => 'ইথিঅ’পিয়ান বিৰ',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'ইউৰো',
|
||||
],
|
||||
'FJD' => [
|
||||
0 => 'FJD',
|
||||
1 => 'ফিজিয়ান ডলাৰ',
|
||||
],
|
||||
'FKP' => [
|
||||
0 => 'FKP',
|
||||
1 => 'ফকলেণ্ড দ্বীপপুঞ্জৰ পাউণ্ড',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => '£',
|
||||
1 => 'ব্ৰিটিছ পাউণ্ড',
|
||||
],
|
||||
'GEL' => [
|
||||
0 => 'GEL',
|
||||
1 => 'জৰ্জিয়ান লাৰি',
|
||||
],
|
||||
'GHS' => [
|
||||
0 => 'GHS',
|
||||
1 => 'ঘানাৰ চেডি',
|
||||
],
|
||||
'GIP' => [
|
||||
0 => 'GIP',
|
||||
1 => 'জিব্ৰাল্টৰ পাউণ্ড',
|
||||
],
|
||||
'GMD' => [
|
||||
0 => 'GMD',
|
||||
1 => 'গাম্বিয়া ডালাছি',
|
||||
],
|
||||
'GNF' => [
|
||||
0 => 'GNF',
|
||||
1 => 'গিনি ফ্ৰেংক',
|
||||
],
|
||||
'GTQ' => [
|
||||
0 => 'GTQ',
|
||||
1 => 'গুৱাটেমালা কুৱেৎজাল',
|
||||
],
|
||||
'GYD' => [
|
||||
0 => 'GYD',
|
||||
1 => 'গায়ানিজ ডলাৰ',
|
||||
],
|
||||
'HKD' => [
|
||||
0 => 'HK$',
|
||||
1 => 'হং কং ডলাৰ',
|
||||
],
|
||||
'HNL' => [
|
||||
0 => 'HNL',
|
||||
1 => 'হোন্দুৰান লেম্পিৰা',
|
||||
],
|
||||
'HRK' => [
|
||||
0 => 'HRK',
|
||||
1 => 'ক্ৰোৱেছিয়ান কুনা',
|
||||
],
|
||||
'HTG' => [
|
||||
0 => 'HTG',
|
||||
1 => 'হাইটিয়ান গৌৰ্ড',
|
||||
],
|
||||
'HUF' => [
|
||||
0 => 'HUF',
|
||||
1 => 'হাংগেৰীয়ান ফ’ৰিণ্ট',
|
||||
],
|
||||
'IDR' => [
|
||||
0 => 'IDR',
|
||||
1 => 'ইণ্ডোনেচিয়ান ৰুপিয়াহ',
|
||||
],
|
||||
'ILS' => [
|
||||
0 => '₪',
|
||||
1 => 'ইজৰাইলী নিউ শ্বেকেল',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'ভাৰতীয় ৰুপী',
|
||||
],
|
||||
'IQD' => [
|
||||
0 => 'IQD',
|
||||
1 => 'ইৰাকী ডিনাৰ',
|
||||
],
|
||||
'IRR' => [
|
||||
0 => 'IRR',
|
||||
1 => 'ইৰানীয়ান ৰিয়েল',
|
||||
],
|
||||
'ISK' => [
|
||||
0 => 'ISK',
|
||||
1 => 'আইচলেণ্ডিক ক্ৰোনা',
|
||||
],
|
||||
'JMD' => [
|
||||
0 => 'JMD',
|
||||
1 => 'জামাইকান ডলাৰ',
|
||||
],
|
||||
'JOD' => [
|
||||
0 => 'JOD',
|
||||
1 => 'জৰ্ডানিয়ান ডিনাৰ',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'জাপানী য়েন',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'কেনিয়ান শ্বিলিং',
|
||||
],
|
||||
'KGS' => [
|
||||
0 => 'KGS',
|
||||
1 => 'কিৰ্গিস্তানী ছোম',
|
||||
],
|
||||
'KHR' => [
|
||||
0 => 'KHR',
|
||||
1 => 'কেম্ব’ডিয়ান ৰিয়েল',
|
||||
],
|
||||
'KMF' => [
|
||||
0 => 'KMF',
|
||||
1 => 'ক’মোৰিয়ান ফ্ৰেংক',
|
||||
],
|
||||
'KPW' => [
|
||||
0 => 'KPW',
|
||||
1 => 'উত্তৰ কোৰিয়াৰ ওৱান',
|
||||
],
|
||||
'KRW' => [
|
||||
0 => '₩',
|
||||
1 => 'দক্ষিণ কোৰিয়াৰ ওৱান',
|
||||
],
|
||||
'KWD' => [
|
||||
0 => 'KWD',
|
||||
1 => 'কুৱেইটি ডিনাৰ',
|
||||
],
|
||||
'KYD' => [
|
||||
0 => 'KYD',
|
||||
1 => 'কেইমেন দ্বীপপুঞ্জৰ ডলাৰ',
|
||||
],
|
||||
'KZT' => [
|
||||
0 => 'KZT',
|
||||
1 => 'কাজাখস্তানী তেঞ্জ',
|
||||
],
|
||||
'LAK' => [
|
||||
0 => 'LAK',
|
||||
1 => 'লাওচিয়ান কিপ',
|
||||
],
|
||||
'LBP' => [
|
||||
0 => 'LBP',
|
||||
1 => 'লেবানীজ পাউণ্ড',
|
||||
],
|
||||
'LKR' => [
|
||||
0 => 'LKR',
|
||||
1 => 'শ্ৰীলংকান ৰুপী',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'লাইবেৰিয়ান ডলাৰ',
|
||||
],
|
||||
'LSL' => [
|
||||
0 => 'LSL',
|
||||
1 => 'লেচোথো লোটি',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'LYD',
|
||||
1 => 'লিবিয়ান ডিনাৰ',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'MAD',
|
||||
1 => 'মৰোক্কান ডিৰহাম',
|
||||
],
|
||||
'MDL' => [
|
||||
0 => 'MDL',
|
||||
1 => 'মোলডোভান লেউ',
|
||||
],
|
||||
'MGA' => [
|
||||
0 => 'MGA',
|
||||
1 => 'মালাগাছী এৰিয়াৰী',
|
||||
],
|
||||
'MKD' => [
|
||||
0 => 'MKD',
|
||||
1 => 'মেচিডোনীয় ডেনাৰ',
|
||||
],
|
||||
'MMK' => [
|
||||
0 => 'MMK',
|
||||
1 => 'ম্যানমাৰ কিয়াট',
|
||||
],
|
||||
'MNT' => [
|
||||
0 => 'MNT',
|
||||
1 => 'মঙ্গোলিয়ান টুৰ্গিক',
|
||||
],
|
||||
'MOP' => [
|
||||
0 => 'MOP',
|
||||
1 => 'মেকানীজ পাটাকা',
|
||||
],
|
||||
'MRO' => [
|
||||
0 => 'MRO',
|
||||
1 => 'ম’ৰিটেনিয়ান ঔগুইয়া (1973–2017)',
|
||||
],
|
||||
'MRU' => [
|
||||
0 => 'MRU',
|
||||
1 => 'ম’ৰিটেনিয়ান ঔগুইয়া',
|
||||
],
|
||||
'MUR' => [
|
||||
0 => 'MUR',
|
||||
1 => 'মৰিচিয়ান ৰুপী',
|
||||
],
|
||||
'MVR' => [
|
||||
0 => 'MVR',
|
||||
1 => 'মালডিভিয়ান ৰুফিয়া',
|
||||
],
|
||||
'MWK' => [
|
||||
0 => 'MWK',
|
||||
1 => 'মালাউইয়ান কোৱাচা',
|
||||
],
|
||||
'MXN' => [
|
||||
0 => 'MX$',
|
||||
1 => 'মেক্সিকান পেছো',
|
||||
],
|
||||
'MYR' => [
|
||||
0 => 'MYR',
|
||||
1 => 'মালায়েচিয়ান ৰিংগিট',
|
||||
],
|
||||
'MZN' => [
|
||||
0 => 'MZN',
|
||||
1 => 'মোজাম্বিকান মেটিকল',
|
||||
],
|
||||
'NAD' => [
|
||||
0 => 'NAD',
|
||||
1 => 'নামিবিয়ান ডলাৰ',
|
||||
],
|
||||
'NGN' => [
|
||||
0 => 'NGN',
|
||||
1 => 'নাইজেৰিয়ান নাইৰা',
|
||||
],
|
||||
'NIO' => [
|
||||
0 => 'NIO',
|
||||
1 => 'নিকাৰাগুৱান কোৰ্ডোবা',
|
||||
],
|
||||
'NOK' => [
|
||||
0 => 'NOK',
|
||||
1 => 'নৰৱেজিয়ান ক্ৰোন',
|
||||
],
|
||||
'NPR' => [
|
||||
0 => 'NPR',
|
||||
1 => 'নেপালী ৰুপী',
|
||||
],
|
||||
'NZD' => [
|
||||
0 => 'NZ$',
|
||||
1 => 'নিউজিলেণ্ড ডলাৰ',
|
||||
],
|
||||
'OMR' => [
|
||||
0 => 'OMR',
|
||||
1 => 'ওমানি ৰিয়েল',
|
||||
],
|
||||
'PAB' => [
|
||||
0 => 'PAB',
|
||||
1 => 'পানামেনিয়ান বাল্বোৱা',
|
||||
],
|
||||
'PEN' => [
|
||||
0 => 'PEN',
|
||||
1 => 'পেৰুভিয়ান ছ’ল',
|
||||
],
|
||||
'PGK' => [
|
||||
0 => 'PGK',
|
||||
1 => 'পাপুৱা নিউ গিনি কিনা',
|
||||
],
|
||||
'PHP' => [
|
||||
0 => 'PHP',
|
||||
1 => 'ফিলিপিন পেইছ’',
|
||||
],
|
||||
'PKR' => [
|
||||
0 => 'PKR',
|
||||
1 => 'পাকিস্তানী ৰুপী',
|
||||
],
|
||||
'PLN' => [
|
||||
0 => 'PLN',
|
||||
1 => 'প’লিচ জোল্টী',
|
||||
],
|
||||
'PYG' => [
|
||||
0 => 'PYG',
|
||||
1 => 'পাৰাগুয়ান গুৱাৰানি',
|
||||
],
|
||||
'QAR' => [
|
||||
0 => 'QAR',
|
||||
1 => 'কাটাৰি ৰিয়েল',
|
||||
],
|
||||
'RON' => [
|
||||
0 => 'RON',
|
||||
1 => 'ৰোমানীয় লেউ',
|
||||
],
|
||||
'RSD' => [
|
||||
0 => 'RSD',
|
||||
1 => 'চাৰ্বিয়ান ডিনাৰ',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => 'RUB',
|
||||
1 => 'ৰাছিয়ান ৰুব্ল',
|
||||
],
|
||||
'RWF' => [
|
||||
0 => 'RWF',
|
||||
1 => 'ৰোৱান্দান ফ্ৰেংক',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'SAR',
|
||||
1 => 'চৌডি ৰিয়েল',
|
||||
],
|
||||
'SBD' => [
|
||||
0 => 'SBD',
|
||||
1 => 'চোলোমোন দ্বীপপুঞ্জৰ ডলাৰ',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'SCR',
|
||||
1 => 'ছেচেলৱা ৰুপী',
|
||||
],
|
||||
'SDG' => [
|
||||
0 => 'SDG',
|
||||
1 => 'চুডানী পাউণ্ড',
|
||||
],
|
||||
'SEK' => [
|
||||
0 => 'SEK',
|
||||
1 => 'চুইডিছ ক্ৰোনা',
|
||||
],
|
||||
'SGD' => [
|
||||
0 => 'SGD',
|
||||
1 => 'ছিংগাপুৰ ডলাৰ',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'ছেইণ্ট হেলেনা পাউণ্ড',
|
||||
],
|
||||
'SLL' => [
|
||||
0 => 'SLL',
|
||||
1 => 'চিয়েৰা লিঅ’নৰ লিঅ’ন',
|
||||
],
|
||||
'SOS' => [
|
||||
0 => 'SOS',
|
||||
1 => 'চোমালি শ্বিলিং',
|
||||
],
|
||||
'SRD' => [
|
||||
0 => 'SRD',
|
||||
1 => 'ছুৰিনামী ডলাৰ',
|
||||
],
|
||||
'SSP' => [
|
||||
0 => 'SSP',
|
||||
1 => 'দক্ষিণ চুডানীজ পাউণ্ড',
|
||||
],
|
||||
'STD' => [
|
||||
0 => 'STD',
|
||||
1 => 'চাও টোমে আৰু প্ৰিনচিপে ডোব্ৰা (1977–2017)',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'চাও টোমে আৰু প্ৰিনচিপে ডোব্ৰা',
|
||||
],
|
||||
'SYP' => [
|
||||
0 => 'SYP',
|
||||
1 => 'চিৰিয়ান পাউণ্ড',
|
||||
],
|
||||
'SZL' => [
|
||||
0 => 'SZL',
|
||||
1 => 'স্বাজি লিলেংগেনি',
|
||||
],
|
||||
'THB' => [
|
||||
0 => 'THB',
|
||||
1 => 'থাই বাত',
|
||||
],
|
||||
'TJS' => [
|
||||
0 => 'TJS',
|
||||
1 => 'তাজিকিস্তানী ছোমনি',
|
||||
],
|
||||
'TMT' => [
|
||||
0 => 'TMT',
|
||||
1 => 'তুৰ্কমেনিস্তানী মানাত',
|
||||
],
|
||||
'TND' => [
|
||||
0 => 'TND',
|
||||
1 => 'টুনিচিয়ান ডিনাৰ',
|
||||
],
|
||||
'TOP' => [
|
||||
0 => 'TOP',
|
||||
1 => 'টংগান পাআংগা',
|
||||
],
|
||||
'TRY' => [
|
||||
0 => 'TRY',
|
||||
1 => 'তুৰ্কীৰ লিৰা',
|
||||
],
|
||||
'TTD' => [
|
||||
0 => 'TTD',
|
||||
1 => 'ট্ৰিনিডাড আৰু টোবাগো ডলাৰ',
|
||||
],
|
||||
'TWD' => [
|
||||
0 => 'NT$',
|
||||
1 => 'নিউ টাইৱান ডলাৰ',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'টানজানিয়ান শ্বিলিং',
|
||||
],
|
||||
'UAH' => [
|
||||
0 => 'UAH',
|
||||
1 => 'ইউক্ৰেইনীয় হৃভনিয়া',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'উগাণ্ডান শ্বিলিং',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'US$',
|
||||
1 => 'ইউ. এছ. ডলাৰ',
|
||||
],
|
||||
'UYU' => [
|
||||
0 => 'UYU',
|
||||
1 => 'উৰুগুৱেয়ান পেছো',
|
||||
],
|
||||
'UZS' => [
|
||||
0 => 'UZS',
|
||||
1 => 'উজবেকিস্তানী ছোম',
|
||||
],
|
||||
'VEB' => [
|
||||
0 => 'VEB',
|
||||
1 => 'ভেনিজুৱেলান বলিভাৰ (1871–2008)',
|
||||
],
|
||||
'VEF' => [
|
||||
0 => 'VEF',
|
||||
1 => 'ভেনিজুৱেলান বলিভাৰ (2008–2018)',
|
||||
],
|
||||
'VES' => [
|
||||
0 => 'VES',
|
||||
1 => 'ভেনিজুৱেলান বলিভাৰ',
|
||||
],
|
||||
'VND' => [
|
||||
0 => '₫',
|
||||
1 => 'ভিয়েটনামীজ ডং',
|
||||
],
|
||||
'VUV' => [
|
||||
0 => 'VUV',
|
||||
1 => 'ভানাটুৰ ভাটু',
|
||||
],
|
||||
'WST' => [
|
||||
0 => 'WST',
|
||||
1 => 'ছামোৱান টালা',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'FCFA',
|
||||
1 => 'মধ্য আফ্ৰিকান CFA ফ্ৰেংক',
|
||||
],
|
||||
'XCD' => [
|
||||
0 => 'EC$',
|
||||
1 => 'ইষ্ট কেৰিবিয়ান ডলাৰ',
|
||||
],
|
||||
'XOF' => [
|
||||
0 => 'F CFA',
|
||||
1 => 'পশ্চিম আফ্ৰিকান CFA ফ্ৰেংক',
|
||||
],
|
||||
'XPF' => [
|
||||
0 => 'CFPF',
|
||||
1 => 'CFP ফ্ৰেংক',
|
||||
],
|
||||
'YER' => [
|
||||
0 => 'YER',
|
||||
1 => 'য়েমেনী ৰিয়েল',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'ZAR',
|
||||
1 => 'দক্ষিণ আফ্ৰিকাৰ ৰাণ্ড',
|
||||
],
|
||||
'ZMW' => [
|
||||
0 => 'ZMW',
|
||||
1 => 'জাম্বিয়ান কোৱাচা',
|
||||
],
|
||||
],
|
||||
];
|
||||
1062
htdocs/includes/symfony/intl/Resources/data/currencies/az.php
Normal file
1062
htdocs/includes/symfony/intl/Resources/data/currencies/az.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AZN' => [
|
||||
0 => '₼',
|
||||
1 => 'AZN',
|
||||
],
|
||||
],
|
||||
];
|
||||
646
htdocs/includes/symfony/intl/Resources/data/currencies/be.php
Normal file
646
htdocs/includes/symfony/intl/Resources/data/currencies/be.php
Normal file
@@ -0,0 +1,646 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'дырхам ААЭ',
|
||||
],
|
||||
'AFN' => [
|
||||
0 => 'AFN',
|
||||
1 => 'афганскі афгані',
|
||||
],
|
||||
'ALL' => [
|
||||
0 => 'ALL',
|
||||
1 => 'албанскі лек',
|
||||
],
|
||||
'AMD' => [
|
||||
0 => 'AMD',
|
||||
1 => 'армянскі драм',
|
||||
],
|
||||
'ANG' => [
|
||||
0 => 'ANG',
|
||||
1 => 'нідэрландскі антыльскі гульдэн',
|
||||
],
|
||||
'AOA' => [
|
||||
0 => 'AOA',
|
||||
1 => 'ангольская кванза',
|
||||
],
|
||||
'ARS' => [
|
||||
0 => 'ARS',
|
||||
1 => 'аргенцінскае песа',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => 'A$',
|
||||
1 => 'аўстралійскі долар',
|
||||
],
|
||||
'AWG' => [
|
||||
0 => 'AWG',
|
||||
1 => 'арубанскі фларын',
|
||||
],
|
||||
'AZN' => [
|
||||
0 => 'AZN',
|
||||
1 => 'азербайджанскі манат',
|
||||
],
|
||||
'BAM' => [
|
||||
0 => 'BAM',
|
||||
1 => 'канверсоўная марка Босніі і Герцагавіны',
|
||||
],
|
||||
'BBD' => [
|
||||
0 => 'BBD',
|
||||
1 => 'барбадаскі долар',
|
||||
],
|
||||
'BDT' => [
|
||||
0 => 'BDT',
|
||||
1 => 'бангладэшская така',
|
||||
],
|
||||
'BGN' => [
|
||||
0 => 'BGN',
|
||||
1 => 'балгарскі леў',
|
||||
],
|
||||
'BHD' => [
|
||||
0 => 'BHD',
|
||||
1 => 'бахрэйнскі дынар',
|
||||
],
|
||||
'BIF' => [
|
||||
0 => 'BIF',
|
||||
1 => 'бурундзійскі франк',
|
||||
],
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'бермудскі долар',
|
||||
],
|
||||
'BND' => [
|
||||
0 => 'BND',
|
||||
1 => 'брунейскі долар',
|
||||
],
|
||||
'BOB' => [
|
||||
0 => 'BOB',
|
||||
1 => 'балівіяна',
|
||||
],
|
||||
'BRL' => [
|
||||
0 => 'BRL',
|
||||
1 => 'бразільскі рэал',
|
||||
],
|
||||
'BSD' => [
|
||||
0 => 'BSD',
|
||||
1 => 'багамскі долар',
|
||||
],
|
||||
'BTN' => [
|
||||
0 => 'BTN',
|
||||
1 => 'бутанскі нгултрум',
|
||||
],
|
||||
'BWP' => [
|
||||
0 => 'BWP',
|
||||
1 => 'батсванская пула',
|
||||
],
|
||||
'BYN' => [
|
||||
0 => 'Br',
|
||||
1 => 'беларускі рубель',
|
||||
],
|
||||
'BYR' => [
|
||||
0 => 'BYR',
|
||||
1 => 'беларускі рубель (2000–2016)',
|
||||
],
|
||||
'BZD' => [
|
||||
0 => 'BZD',
|
||||
1 => 'белізскі долар',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CAD',
|
||||
1 => 'канадскі долар',
|
||||
],
|
||||
'CDF' => [
|
||||
0 => 'CDF',
|
||||
1 => 'кангалезскі франк',
|
||||
],
|
||||
'CHF' => [
|
||||
0 => 'CHF',
|
||||
1 => 'швейцарскі франк',
|
||||
],
|
||||
'CLP' => [
|
||||
0 => 'CLP',
|
||||
1 => 'чылійскае песа',
|
||||
],
|
||||
'CNH' => [
|
||||
0 => 'CNH',
|
||||
1 => 'афшорны кітайскі юань',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'кітайскі юань',
|
||||
],
|
||||
'COP' => [
|
||||
0 => 'COP',
|
||||
1 => 'калумбійскае песа',
|
||||
],
|
||||
'CRC' => [
|
||||
0 => 'CRC',
|
||||
1 => 'коста-рыканскі калон',
|
||||
],
|
||||
'CUC' => [
|
||||
0 => 'CUC',
|
||||
1 => 'кубінскае канверсоўнае песа',
|
||||
],
|
||||
'CUP' => [
|
||||
0 => 'CUP',
|
||||
1 => 'кубінскае песа',
|
||||
],
|
||||
'CVE' => [
|
||||
0 => 'CVE',
|
||||
1 => 'эскуда Каба-Вердэ',
|
||||
],
|
||||
'CZK' => [
|
||||
0 => 'CZK',
|
||||
1 => 'чэшская крона',
|
||||
],
|
||||
'DJF' => [
|
||||
0 => 'DJF',
|
||||
1 => 'джыбуційскі франк',
|
||||
],
|
||||
'DKK' => [
|
||||
0 => 'DKK',
|
||||
1 => 'дацкая крона',
|
||||
],
|
||||
'DOP' => [
|
||||
0 => 'DOP',
|
||||
1 => 'дамініканскае песа',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'DZD',
|
||||
1 => 'алжырскі дынар',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'EGP',
|
||||
1 => 'егіпецкі фунт',
|
||||
],
|
||||
'ERN' => [
|
||||
0 => 'ERN',
|
||||
1 => 'эрытрэйская накфа',
|
||||
],
|
||||
'ETB' => [
|
||||
0 => 'ETB',
|
||||
1 => 'эфіопскі быр',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'еўра',
|
||||
],
|
||||
'FJD' => [
|
||||
0 => 'FJD',
|
||||
1 => 'фіджыйскі долар',
|
||||
],
|
||||
'FKP' => [
|
||||
0 => 'FKP',
|
||||
1 => 'фунт Фалклендскіх астравоў',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => '£',
|
||||
1 => 'брытанскі фунт стэрлінгаў',
|
||||
],
|
||||
'GEL' => [
|
||||
0 => 'GEL',
|
||||
1 => 'грузінскі лары',
|
||||
],
|
||||
'GHS' => [
|
||||
0 => 'GHS',
|
||||
1 => 'ганскі седзі',
|
||||
],
|
||||
'GIP' => [
|
||||
0 => 'GIP',
|
||||
1 => 'гібралтарскі фунт',
|
||||
],
|
||||
'GMD' => [
|
||||
0 => 'GMD',
|
||||
1 => 'гамбійскі даласі',
|
||||
],
|
||||
'GNF' => [
|
||||
0 => 'GNF',
|
||||
1 => 'гвінейскі франк',
|
||||
],
|
||||
'GTQ' => [
|
||||
0 => 'GTQ',
|
||||
1 => 'гватэмальскі кетсаль',
|
||||
],
|
||||
'GYD' => [
|
||||
0 => 'GYD',
|
||||
1 => 'гаянскі долар',
|
||||
],
|
||||
'HKD' => [
|
||||
0 => 'HK$',
|
||||
1 => 'ганконгскі долар',
|
||||
],
|
||||
'HNL' => [
|
||||
0 => 'HNL',
|
||||
1 => 'гандураская лемпіра',
|
||||
],
|
||||
'HRK' => [
|
||||
0 => 'HRK',
|
||||
1 => 'харвацкая куна',
|
||||
],
|
||||
'HTG' => [
|
||||
0 => 'HTG',
|
||||
1 => 'гаіцянскі гурд',
|
||||
],
|
||||
'HUF' => [
|
||||
0 => 'HUF',
|
||||
1 => 'венгерскі форынт',
|
||||
],
|
||||
'IDR' => [
|
||||
0 => 'IDR',
|
||||
1 => 'інданезійская рупія',
|
||||
],
|
||||
'ILS' => [
|
||||
0 => '₪',
|
||||
1 => 'новы ізраільскі шэкель',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'індыйская рупія',
|
||||
],
|
||||
'IQD' => [
|
||||
0 => 'IQD',
|
||||
1 => 'іракскі дынар',
|
||||
],
|
||||
'IRR' => [
|
||||
0 => 'IRR',
|
||||
1 => 'іранскі рыял',
|
||||
],
|
||||
'ISK' => [
|
||||
0 => 'ISK',
|
||||
1 => 'ісландская крона',
|
||||
],
|
||||
'JMD' => [
|
||||
0 => 'JMD',
|
||||
1 => 'ямайскі долар',
|
||||
],
|
||||
'JOD' => [
|
||||
0 => 'JOD',
|
||||
1 => 'іарданскі дынар',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => '¥',
|
||||
1 => 'японская іена',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'кенійскі шылінг',
|
||||
],
|
||||
'KGS' => [
|
||||
0 => 'KGS',
|
||||
1 => 'кіргізскі сом',
|
||||
],
|
||||
'KHR' => [
|
||||
0 => 'KHR',
|
||||
1 => 'камбаджыйскі рыель',
|
||||
],
|
||||
'KMF' => [
|
||||
0 => 'KMF',
|
||||
1 => 'каморскі франк',
|
||||
],
|
||||
'KPW' => [
|
||||
0 => 'KPW',
|
||||
1 => 'паўночнакарэйская вона',
|
||||
],
|
||||
'KRW' => [
|
||||
0 => '₩',
|
||||
1 => 'паўднёвакарэйская вона',
|
||||
],
|
||||
'KWD' => [
|
||||
0 => 'KWD',
|
||||
1 => 'кувейцкі дынар',
|
||||
],
|
||||
'KYD' => [
|
||||
0 => 'KYD',
|
||||
1 => 'долар Кайманавых астравоў',
|
||||
],
|
||||
'KZT' => [
|
||||
0 => 'KZT',
|
||||
1 => 'казахстанскі тэнге',
|
||||
],
|
||||
'LAK' => [
|
||||
0 => 'LAK',
|
||||
1 => 'лаоскі кіп',
|
||||
],
|
||||
'LBP' => [
|
||||
0 => 'LBP',
|
||||
1 => 'ліванскі фунт',
|
||||
],
|
||||
'LKR' => [
|
||||
0 => 'LKR',
|
||||
1 => 'шры-ланкійская рупія',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'ліберыйскі долар',
|
||||
],
|
||||
'LSL' => [
|
||||
0 => 'LSL',
|
||||
1 => 'лесоцкі лоці',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'LYD',
|
||||
1 => 'лівійскі дынар',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'MAD',
|
||||
1 => 'мараканскі дырхам',
|
||||
],
|
||||
'MDL' => [
|
||||
0 => 'MDL',
|
||||
1 => 'малдаўскі лей',
|
||||
],
|
||||
'MGA' => [
|
||||
0 => 'MGA',
|
||||
1 => 'малагасійскі арыяры',
|
||||
],
|
||||
'MKD' => [
|
||||
0 => 'MKD',
|
||||
1 => 'македонскі дэнар',
|
||||
],
|
||||
'MMK' => [
|
||||
0 => 'MMK',
|
||||
1 => 'м’янманскі к’ят',
|
||||
],
|
||||
'MNT' => [
|
||||
0 => 'MNT',
|
||||
1 => 'мангольскі тугрык',
|
||||
],
|
||||
'MOP' => [
|
||||
0 => 'MOP',
|
||||
1 => 'патака Макаа',
|
||||
],
|
||||
'MRO' => [
|
||||
0 => 'MRO',
|
||||
1 => 'маўрытанская ўгія (1973–2017)',
|
||||
],
|
||||
'MRU' => [
|
||||
0 => 'MRU',
|
||||
1 => 'маўрытанская угія',
|
||||
],
|
||||
'MUR' => [
|
||||
0 => 'MUR',
|
||||
1 => 'маўрыкійская рупія',
|
||||
],
|
||||
'MVR' => [
|
||||
0 => 'MVR',
|
||||
1 => 'мальдыўская руфія',
|
||||
],
|
||||
'MWK' => [
|
||||
0 => 'MWK',
|
||||
1 => 'малавійская квача',
|
||||
],
|
||||
'MXN' => [
|
||||
0 => 'MX$',
|
||||
1 => 'мексіканскае песа',
|
||||
],
|
||||
'MYR' => [
|
||||
0 => 'MYR',
|
||||
1 => 'малайзійскі рынгіт',
|
||||
],
|
||||
'MZN' => [
|
||||
0 => 'MZN',
|
||||
1 => 'мазамбікскі метыкал',
|
||||
],
|
||||
'NAD' => [
|
||||
0 => 'NAD',
|
||||
1 => 'намібійскі долар',
|
||||
],
|
||||
'NGN' => [
|
||||
0 => 'NGN',
|
||||
1 => 'нігерыйская наіра',
|
||||
],
|
||||
'NIO' => [
|
||||
0 => 'NIO',
|
||||
1 => 'нікарагуанская кордаба',
|
||||
],
|
||||
'NOK' => [
|
||||
0 => 'NOK',
|
||||
1 => 'нарвежская крона',
|
||||
],
|
||||
'NPR' => [
|
||||
0 => 'NPR',
|
||||
1 => 'непальская рупія',
|
||||
],
|
||||
'NZD' => [
|
||||
0 => 'NZD',
|
||||
1 => 'новазеландскі долар',
|
||||
],
|
||||
'OMR' => [
|
||||
0 => 'OMR',
|
||||
1 => 'аманскі рыял',
|
||||
],
|
||||
'PAB' => [
|
||||
0 => 'PAB',
|
||||
1 => 'панамскае бальбоа',
|
||||
],
|
||||
'PEN' => [
|
||||
0 => 'PEN',
|
||||
1 => 'перуанскі соль',
|
||||
],
|
||||
'PGK' => [
|
||||
0 => 'PGK',
|
||||
1 => 'кіна Папуа-Новай Гвінеі',
|
||||
],
|
||||
'PHP' => [
|
||||
0 => 'PHP',
|
||||
1 => 'філіпінскае песа',
|
||||
],
|
||||
'PKR' => [
|
||||
0 => 'PKR',
|
||||
1 => 'пакістанская рупія',
|
||||
],
|
||||
'PLN' => [
|
||||
0 => 'PLN',
|
||||
1 => 'польскі злоты',
|
||||
],
|
||||
'PYG' => [
|
||||
0 => 'PYG',
|
||||
1 => 'парагвайскі гуарані',
|
||||
],
|
||||
'QAR' => [
|
||||
0 => 'QAR',
|
||||
1 => 'катарскі рыял',
|
||||
],
|
||||
'RON' => [
|
||||
0 => 'RON',
|
||||
1 => 'румынскі лей',
|
||||
],
|
||||
'RSD' => [
|
||||
0 => 'RSD',
|
||||
1 => 'сербскі дынар',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => '₽',
|
||||
1 => 'расійскі рубель',
|
||||
],
|
||||
'RWF' => [
|
||||
0 => 'RWF',
|
||||
1 => 'руандыйскі франк',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'SAR',
|
||||
1 => 'саудаўскі рыял',
|
||||
],
|
||||
'SBD' => [
|
||||
0 => 'SBD',
|
||||
1 => 'долар Саламонавых астравоў',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'SCR',
|
||||
1 => 'сейшэльская рупія',
|
||||
],
|
||||
'SDG' => [
|
||||
0 => 'SDG',
|
||||
1 => 'суданскі фунт',
|
||||
],
|
||||
'SEK' => [
|
||||
0 => 'SEK',
|
||||
1 => 'шведская крона',
|
||||
],
|
||||
'SGD' => [
|
||||
0 => 'SGD',
|
||||
1 => 'сінгапурскі долар',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'фунт в-ва Святой Алены',
|
||||
],
|
||||
'SLL' => [
|
||||
0 => 'SLL',
|
||||
1 => 'сьера-леонскі леонэ',
|
||||
],
|
||||
'SOS' => [
|
||||
0 => 'SOS',
|
||||
1 => 'самалійскі шылінг',
|
||||
],
|
||||
'SRD' => [
|
||||
0 => 'SRD',
|
||||
1 => 'сурынамскі долар',
|
||||
],
|
||||
'SSP' => [
|
||||
0 => 'SSP',
|
||||
1 => 'паўднёвасуданскі фунт',
|
||||
],
|
||||
'STD' => [
|
||||
0 => 'STD',
|
||||
1 => 'добра Сан-Тамэ і Прынсіпі (1977–2017)',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'добра Сан-Тамэ і Прынсіпі',
|
||||
],
|
||||
'SYP' => [
|
||||
0 => 'SYP',
|
||||
1 => 'сірыйскі фунт',
|
||||
],
|
||||
'SZL' => [
|
||||
0 => 'SZL',
|
||||
1 => 'свазілендскі лілангені',
|
||||
],
|
||||
'THB' => [
|
||||
0 => 'THB',
|
||||
1 => 'тайскі бат',
|
||||
],
|
||||
'TJS' => [
|
||||
0 => 'TJS',
|
||||
1 => 'таджыкскі самані',
|
||||
],
|
||||
'TMT' => [
|
||||
0 => 'TMT',
|
||||
1 => 'туркменскі манат',
|
||||
],
|
||||
'TND' => [
|
||||
0 => 'TND',
|
||||
1 => 'туніскі дынар',
|
||||
],
|
||||
'TOP' => [
|
||||
0 => 'TOP',
|
||||
1 => 'танганская паанга',
|
||||
],
|
||||
'TRY' => [
|
||||
0 => 'TRY',
|
||||
1 => 'турэцкая ліра',
|
||||
],
|
||||
'TTD' => [
|
||||
0 => 'TTD',
|
||||
1 => 'долар Трынідада і Табага',
|
||||
],
|
||||
'TWD' => [
|
||||
0 => 'NT$',
|
||||
1 => 'новы тайваньскі долар',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'танзанійскі шылінг',
|
||||
],
|
||||
'UAH' => [
|
||||
0 => 'UAH',
|
||||
1 => 'украінская грыўня',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'угандыйскі шылінг',
|
||||
],
|
||||
'USD' => [
|
||||
0 => '$',
|
||||
1 => 'долар ЗША',
|
||||
],
|
||||
'UYU' => [
|
||||
0 => 'UYU',
|
||||
1 => 'уругвайскае песа',
|
||||
],
|
||||
'UZS' => [
|
||||
0 => 'UZS',
|
||||
1 => 'узбекскі сум',
|
||||
],
|
||||
'VEF' => [
|
||||
0 => 'VEF',
|
||||
1 => 'венесуальскі балівар (2008–2018)',
|
||||
],
|
||||
'VES' => [
|
||||
0 => 'VES',
|
||||
1 => 'венесуэльскі балівар',
|
||||
],
|
||||
'VND' => [
|
||||
0 => '₫',
|
||||
1 => 'в’етнамскі донг',
|
||||
],
|
||||
'VUV' => [
|
||||
0 => 'VUV',
|
||||
1 => 'вануацкі вату',
|
||||
],
|
||||
'WST' => [
|
||||
0 => 'WST',
|
||||
1 => 'самаанская тала',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'FCFA',
|
||||
1 => 'цэнтральнаафрыканскі франк КФА',
|
||||
],
|
||||
'XCD' => [
|
||||
0 => 'EC$',
|
||||
1 => 'усходнекарыбскі долар',
|
||||
],
|
||||
'XOF' => [
|
||||
0 => 'F CFA',
|
||||
1 => 'заходнеафрыканскі франк КФА',
|
||||
],
|
||||
'XPF' => [
|
||||
0 => 'CFPF',
|
||||
1 => 'французскі ціхаакіянскі франк',
|
||||
],
|
||||
'YER' => [
|
||||
0 => 'YER',
|
||||
1 => 'еменскі рыал',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'ZAR',
|
||||
1 => 'паўднёваафрыканскі рэнд',
|
||||
],
|
||||
'ZMW' => [
|
||||
0 => 'ZMW',
|
||||
1 => 'замбійская квача',
|
||||
],
|
||||
],
|
||||
];
|
||||
1046
htdocs/includes/symfony/intl/Resources/data/currencies/bg.php
Normal file
1046
htdocs/includes/symfony/intl/Resources/data/currencies/bg.php
Normal file
File diff suppressed because it is too large
Load Diff
238
htdocs/includes/symfony/intl/Resources/data/currencies/bm.php
Normal file
238
htdocs/includes/symfony/intl/Resources/data/currencies/bm.php
Normal file
@@ -0,0 +1,238 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'arabu mara kafoli Diram',
|
||||
],
|
||||
'AOA' => [
|
||||
0 => 'AOA',
|
||||
1 => 'angola Kwanza',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => 'A$',
|
||||
1 => 'ositirali Dolar',
|
||||
],
|
||||
'BHD' => [
|
||||
0 => 'BHD',
|
||||
1 => 'bareyini Dinar',
|
||||
],
|
||||
'BIF' => [
|
||||
0 => 'BIF',
|
||||
1 => 'burundi Fraŋ',
|
||||
],
|
||||
'BWP' => [
|
||||
0 => 'BWP',
|
||||
1 => 'bɔtisiwana Pula',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CA$',
|
||||
1 => 'kanada Dolar',
|
||||
],
|
||||
'CDF' => [
|
||||
0 => 'CDF',
|
||||
1 => 'kongole Fraŋ',
|
||||
],
|
||||
'CHF' => [
|
||||
0 => 'CHF',
|
||||
1 => 'suwisi Fraŋ',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'siniwa Yuwan',
|
||||
],
|
||||
'CVE' => [
|
||||
0 => 'CVE',
|
||||
1 => 'capivɛrdi Esekudo',
|
||||
],
|
||||
'DJF' => [
|
||||
0 => 'DJF',
|
||||
1 => 'jibuti Fraŋ',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'DZD',
|
||||
1 => 'alizeri Dinar',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'EGP',
|
||||
1 => 'eziputi Livri',
|
||||
],
|
||||
'ERN' => [
|
||||
0 => 'ERN',
|
||||
1 => 'eritere Nafika',
|
||||
],
|
||||
'ETB' => [
|
||||
0 => 'ETB',
|
||||
1 => 'etiopi Bir',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'ero',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => '£',
|
||||
1 => 'angilɛ Livri',
|
||||
],
|
||||
'GHC' => [
|
||||
0 => 'GHC',
|
||||
1 => 'gana Sedi',
|
||||
],
|
||||
'GMD' => [
|
||||
0 => 'GMD',
|
||||
1 => 'gambi Dalasi',
|
||||
],
|
||||
'GNS' => [
|
||||
0 => 'GNS',
|
||||
1 => 'gine Fraŋ',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'Ɛndu Rupi',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'zapɔne Yɛn',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'keniya Siling',
|
||||
],
|
||||
'KMF' => [
|
||||
0 => 'KMF',
|
||||
1 => 'komɔri Fraŋ',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'liberiya Dolar',
|
||||
],
|
||||
'LSL' => [
|
||||
0 => 'LSL',
|
||||
1 => 'lesoto Loti',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'LYD',
|
||||
1 => 'libi Dinar',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'MAD',
|
||||
1 => 'marɔku Diram',
|
||||
],
|
||||
'MGA' => [
|
||||
0 => 'MGA',
|
||||
1 => 'madagasikari Fraŋ',
|
||||
],
|
||||
'MRO' => [
|
||||
0 => 'MRO',
|
||||
1 => 'mɔritani Uguwiya (1973–2017)',
|
||||
],
|
||||
'MRU' => [
|
||||
0 => 'MRU',
|
||||
1 => 'mɔritani Uguwiya',
|
||||
],
|
||||
'MUR' => [
|
||||
0 => 'MUR',
|
||||
1 => 'morisi Rupi',
|
||||
],
|
||||
'MWK' => [
|
||||
0 => 'MWK',
|
||||
1 => 'malawi Kwaca',
|
||||
],
|
||||
'MZM' => [
|
||||
0 => 'MZM',
|
||||
1 => 'mozanbiki Metikali',
|
||||
],
|
||||
'NAD' => [
|
||||
0 => 'NAD',
|
||||
1 => 'namibi Dolar',
|
||||
],
|
||||
'NGN' => [
|
||||
0 => 'NGN',
|
||||
1 => 'nizeriya Nɛra',
|
||||
],
|
||||
'RWF' => [
|
||||
0 => 'RWF',
|
||||
1 => 'ruwanda Fraŋ',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'SAR',
|
||||
1 => 'sawudiya Riyal',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'SCR',
|
||||
1 => 'sesɛli Rupi',
|
||||
],
|
||||
'SDG' => [
|
||||
0 => 'SDG',
|
||||
1 => 'sudani Dinar',
|
||||
],
|
||||
'SDP' => [
|
||||
0 => 'SDP',
|
||||
1 => 'sudani Livri',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'Ɛlɛni-Senu Livri',
|
||||
],
|
||||
'SLL' => [
|
||||
0 => 'SLL',
|
||||
1 => 'siyeralewɔni Lewɔni',
|
||||
],
|
||||
'SOS' => [
|
||||
0 => 'SOS',
|
||||
1 => 'somali Siling',
|
||||
],
|
||||
'STD' => [
|
||||
0 => 'STD',
|
||||
1 => 'sawotome Dobra (1977–2017)',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'sawotome Dobra',
|
||||
],
|
||||
'SZL' => [
|
||||
0 => 'SZL',
|
||||
1 => 'swazilandi Lilangeni',
|
||||
],
|
||||
'TND' => [
|
||||
0 => 'TND',
|
||||
1 => 'tunizi Dinar',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'tanzani Siling',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'uganda Siling',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'US$',
|
||||
1 => 'ameriki Dolar',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'FCFA',
|
||||
1 => 'sefa Fraŋ (BEAC)',
|
||||
],
|
||||
'XOF' => [
|
||||
0 => 'F CFA',
|
||||
1 => 'sefa Fraŋ (BCEAO)',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'ZAR',
|
||||
1 => 'sudafriki Randi',
|
||||
],
|
||||
'ZMK' => [
|
||||
0 => 'ZMK',
|
||||
1 => 'zambi Kwaca (1968–2012)',
|
||||
],
|
||||
'ZMW' => [
|
||||
0 => 'ZMW',
|
||||
1 => 'zambi Kwaca',
|
||||
],
|
||||
'ZWD' => [
|
||||
0 => 'ZWD',
|
||||
1 => 'zimbabuwe Dolar',
|
||||
],
|
||||
],
|
||||
];
|
||||
1078
htdocs/includes/symfony/intl/Resources/data/currencies/bn.php
Normal file
1078
htdocs/includes/symfony/intl/Resources/data/currencies/bn.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'ANG' => [
|
||||
0 => 'ANG',
|
||||
1 => 'নেদারল্যান্ডস অ্যান্টিলিয়ান গিল্ডার',
|
||||
],
|
||||
'AWG' => [
|
||||
0 => 'AWG',
|
||||
1 => 'আরুবান গিল্ডার',
|
||||
],
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'বারমুডান ডলার',
|
||||
],
|
||||
'GTQ' => [
|
||||
0 => 'GTQ',
|
||||
1 => 'গুয়াতেমালান কেৎসাল',
|
||||
],
|
||||
'HNL' => [
|
||||
0 => 'HNL',
|
||||
1 => 'হন্ডুরান লেম্পিরা',
|
||||
],
|
||||
'HTG' => [
|
||||
0 => 'HTG',
|
||||
1 => 'হাইতিয়ান গুর্দ',
|
||||
],
|
||||
'MXN' => [
|
||||
0 => 'MX$',
|
||||
1 => 'মেক্সিকান পেসো',
|
||||
],
|
||||
'USD' => [
|
||||
0 => '$',
|
||||
1 => 'মার্কিন ডলার',
|
||||
],
|
||||
'XCD' => [
|
||||
0 => 'EC$',
|
||||
1 => 'পূর্ব ক্যারিবিয়ান ডলার',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'CNY' => [
|
||||
0 => '¥',
|
||||
1 => 'ཡུ་ཨན་',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'རྒྱ་གར་སྒོར་',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'US$',
|
||||
1 => 'ཨ་རིའི་སྒོར་',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'ཡུ་ཨན་',
|
||||
],
|
||||
],
|
||||
];
|
||||
1158
htdocs/includes/symfony/intl/Resources/data/currencies/br.php
Normal file
1158
htdocs/includes/symfony/intl/Resources/data/currencies/br.php
Normal file
File diff suppressed because it is too large
Load Diff
1150
htdocs/includes/symfony/intl/Resources/data/currencies/bs.php
Normal file
1150
htdocs/includes/symfony/intl/Resources/data/currencies/bs.php
Normal file
File diff suppressed because it is too large
Load Diff
1090
htdocs/includes/symfony/intl/Resources/data/currencies/bs_Cyrl.php
Normal file
1090
htdocs/includes/symfony/intl/Resources/data/currencies/bs_Cyrl.php
Normal file
File diff suppressed because it is too large
Load Diff
1154
htdocs/includes/symfony/intl/Resources/data/currencies/ca.php
Normal file
1154
htdocs/includes/symfony/intl/Resources/data/currencies/ca.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'FRF' => [
|
||||
0 => 'F',
|
||||
1 => 'franc francès',
|
||||
],
|
||||
],
|
||||
];
|
||||
638
htdocs/includes/symfony/intl/Resources/data/currencies/ce.php
Normal file
638
htdocs/includes/symfony/intl/Resources/data/currencies/ce.php
Normal file
@@ -0,0 +1,638 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'Дирхам ӀЦЭ',
|
||||
],
|
||||
'AFN' => [
|
||||
0 => 'AFN',
|
||||
1 => 'ОвхӀан-пачхьалкхан афгани',
|
||||
],
|
||||
'ALL' => [
|
||||
0 => 'ALL',
|
||||
1 => 'Албанин лек',
|
||||
],
|
||||
'AMD' => [
|
||||
0 => 'AMD',
|
||||
1 => 'Эрмалойчоьнан драм',
|
||||
],
|
||||
'ANG' => [
|
||||
0 => 'ANG',
|
||||
1 => 'Нидерландин Антилин гульден',
|
||||
],
|
||||
'AOA' => [
|
||||
0 => 'AOA',
|
||||
1 => 'Анголан кванза',
|
||||
],
|
||||
'ARS' => [
|
||||
0 => 'ARS',
|
||||
1 => 'Аргентинан песо',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => 'A$',
|
||||
1 => 'Австралин доллар',
|
||||
],
|
||||
'AWG' => [
|
||||
0 => 'AWG',
|
||||
1 => 'Арубан флорин',
|
||||
],
|
||||
'AZN' => [
|
||||
0 => 'AZN',
|
||||
1 => 'Азербайджанан манат',
|
||||
],
|
||||
'BAM' => [
|
||||
0 => 'BAM',
|
||||
1 => 'Боснин а, Герцеговинан а хийцалун марка',
|
||||
],
|
||||
'BBD' => [
|
||||
0 => 'BBD',
|
||||
1 => 'Барбадосан доллар',
|
||||
],
|
||||
'BDT' => [
|
||||
0 => 'BDT',
|
||||
1 => 'Бангладешан така',
|
||||
],
|
||||
'BGN' => [
|
||||
0 => 'BGN',
|
||||
1 => 'Болгарин лев',
|
||||
],
|
||||
'BHD' => [
|
||||
0 => 'BHD',
|
||||
1 => 'Бахрейнан динар',
|
||||
],
|
||||
'BIF' => [
|
||||
0 => 'BIF',
|
||||
1 => 'Бурундин франк',
|
||||
],
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'Бермудан доллар',
|
||||
],
|
||||
'BND' => [
|
||||
0 => 'BND',
|
||||
1 => 'Брунейн доллар',
|
||||
],
|
||||
'BOB' => [
|
||||
0 => 'BOB',
|
||||
1 => 'Боливин боливиано',
|
||||
],
|
||||
'BRL' => [
|
||||
0 => 'R$',
|
||||
1 => 'Бразилин реал',
|
||||
],
|
||||
'BSD' => [
|
||||
0 => 'BSD',
|
||||
1 => 'Багаман доллар',
|
||||
],
|
||||
'BTN' => [
|
||||
0 => 'BTN',
|
||||
1 => 'Бутанан нгултрум',
|
||||
],
|
||||
'BWP' => [
|
||||
0 => 'BWP',
|
||||
1 => 'Ботсванан пула',
|
||||
],
|
||||
'BYN' => [
|
||||
0 => 'BYN',
|
||||
1 => 'Белоруссин сом',
|
||||
],
|
||||
'BYR' => [
|
||||
0 => 'BYR',
|
||||
1 => 'Белоруссин сом (2000–2016)',
|
||||
],
|
||||
'BZD' => [
|
||||
0 => 'BZD',
|
||||
1 => 'Белизин доллар',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CA$',
|
||||
1 => 'Канадан доллар',
|
||||
],
|
||||
'CDF' => [
|
||||
0 => 'CDF',
|
||||
1 => 'Конголезин франк',
|
||||
],
|
||||
'CHF' => [
|
||||
0 => 'CHF',
|
||||
1 => 'Швейцарин франк',
|
||||
],
|
||||
'CLP' => [
|
||||
0 => 'CLP',
|
||||
1 => 'Чилин песо',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'Китайн юань',
|
||||
],
|
||||
'COP' => [
|
||||
0 => 'COP',
|
||||
1 => 'Колумбин песо',
|
||||
],
|
||||
'CRC' => [
|
||||
0 => 'CRC',
|
||||
1 => 'Костарикан колон',
|
||||
],
|
||||
'CUC' => [
|
||||
0 => 'CUC',
|
||||
1 => 'Кубан хийцалун песо',
|
||||
],
|
||||
'CUP' => [
|
||||
0 => 'CUP',
|
||||
1 => 'Кубан песо',
|
||||
],
|
||||
'CVE' => [
|
||||
0 => 'CVE',
|
||||
1 => 'Кабо-Верден эскудо',
|
||||
],
|
||||
'CZK' => [
|
||||
0 => 'CZK',
|
||||
1 => 'Чехин крона',
|
||||
],
|
||||
'DJF' => [
|
||||
0 => 'DJF',
|
||||
1 => 'Джибутин франк',
|
||||
],
|
||||
'DKK' => [
|
||||
0 => 'DKK',
|
||||
1 => 'Данин крона',
|
||||
],
|
||||
'DOP' => [
|
||||
0 => 'DOP',
|
||||
1 => 'Доминикан песо',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'DZD',
|
||||
1 => 'Алжиран динар',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'EGP',
|
||||
1 => 'Мисаран фунт',
|
||||
],
|
||||
'ERN' => [
|
||||
0 => 'ERN',
|
||||
1 => 'Эритрейн накфа',
|
||||
],
|
||||
'ETB' => [
|
||||
0 => 'ETB',
|
||||
1 => 'Эфиопин быр',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'Евро',
|
||||
],
|
||||
'FJD' => [
|
||||
0 => 'FJD',
|
||||
1 => 'Фиджин доллар',
|
||||
],
|
||||
'FKP' => [
|
||||
0 => 'FKP',
|
||||
1 => 'Фолклендан гӀайренийн фунт',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => '£',
|
||||
1 => 'Англин фунт',
|
||||
],
|
||||
'GEL' => [
|
||||
0 => 'GEL',
|
||||
1 => 'Гуьржийчоьнан лари',
|
||||
],
|
||||
'GHS' => [
|
||||
0 => 'GHS',
|
||||
1 => 'Ганан седи',
|
||||
],
|
||||
'GIP' => [
|
||||
0 => 'GIP',
|
||||
1 => 'Гибралтаран фунт',
|
||||
],
|
||||
'GMD' => [
|
||||
0 => 'GMD',
|
||||
1 => 'Гамбин даласи',
|
||||
],
|
||||
'GNF' => [
|
||||
0 => 'GNF',
|
||||
1 => 'Гвинейн франк',
|
||||
],
|
||||
'GTQ' => [
|
||||
0 => 'GTQ',
|
||||
1 => 'Гватемалан кетсаль',
|
||||
],
|
||||
'GYD' => [
|
||||
0 => 'GYD',
|
||||
1 => 'Гайанан доллар',
|
||||
],
|
||||
'HKD' => [
|
||||
0 => 'HK$',
|
||||
1 => 'Гонконган доллар',
|
||||
],
|
||||
'HNL' => [
|
||||
0 => 'HNL',
|
||||
1 => 'Гондурасан лемпира',
|
||||
],
|
||||
'HRK' => [
|
||||
0 => 'HRK',
|
||||
1 => 'Хорватин куна',
|
||||
],
|
||||
'HTG' => [
|
||||
0 => 'HTG',
|
||||
1 => 'Гаитин гурд',
|
||||
],
|
||||
'HUF' => [
|
||||
0 => 'HUF',
|
||||
1 => 'Венгрин форинт',
|
||||
],
|
||||
'IDR' => [
|
||||
0 => 'IDR',
|
||||
1 => 'Индонезин рупи',
|
||||
],
|
||||
'ILS' => [
|
||||
0 => '₪',
|
||||
1 => 'Израилан керла шекель',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'Индин рупи',
|
||||
],
|
||||
'IQD' => [
|
||||
0 => 'IQD',
|
||||
1 => 'Ӏиракъан динар',
|
||||
],
|
||||
'IRR' => [
|
||||
0 => 'IRR',
|
||||
1 => 'ГӀажарийчоьнан риал',
|
||||
],
|
||||
'ISK' => [
|
||||
0 => 'ISK',
|
||||
1 => 'Исландин крона',
|
||||
],
|
||||
'JMD' => [
|
||||
0 => 'JMD',
|
||||
1 => 'Ямайн доллар',
|
||||
],
|
||||
'JOD' => [
|
||||
0 => 'JOD',
|
||||
1 => 'Урданан динар',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'Японин иена',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'Кенин шиллинг',
|
||||
],
|
||||
'KGS' => [
|
||||
0 => 'KGS',
|
||||
1 => 'Киргизин сом',
|
||||
],
|
||||
'KHR' => [
|
||||
0 => 'KHR',
|
||||
1 => 'Камбоджан риель',
|
||||
],
|
||||
'KMF' => [
|
||||
0 => 'KMF',
|
||||
1 => 'Коморийн гӀайренийн франк',
|
||||
],
|
||||
'KPW' => [
|
||||
0 => 'KPW',
|
||||
1 => 'Къилбаседа Корейн вона',
|
||||
],
|
||||
'KRW' => [
|
||||
0 => '₩',
|
||||
1 => 'Къилба Корейн вона',
|
||||
],
|
||||
'KWD' => [
|
||||
0 => 'KWD',
|
||||
1 => 'Кувейтан динар',
|
||||
],
|
||||
'KYD' => [
|
||||
0 => 'KYD',
|
||||
1 => 'Кайманийн гӀайренийн доллар',
|
||||
],
|
||||
'KZT' => [
|
||||
0 => 'KZT',
|
||||
1 => 'Кхазакхстанан тенге',
|
||||
],
|
||||
'LAK' => [
|
||||
0 => 'LAK',
|
||||
1 => 'Лаосан кип',
|
||||
],
|
||||
'LBP' => [
|
||||
0 => 'LBP',
|
||||
1 => 'Ливанан фунт',
|
||||
],
|
||||
'LKR' => [
|
||||
0 => 'LKR',
|
||||
1 => 'Шри-Ланкан рупи',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'Либерин доллар',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'LYD',
|
||||
1 => 'Ливин динар',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'MAD',
|
||||
1 => 'Мароккон дирхам',
|
||||
],
|
||||
'MDL' => [
|
||||
0 => 'MDL',
|
||||
1 => 'Молдавин лей',
|
||||
],
|
||||
'MGA' => [
|
||||
0 => 'MGA',
|
||||
1 => 'Малагасийн ариари',
|
||||
],
|
||||
'MKD' => [
|
||||
0 => 'MKD',
|
||||
1 => 'Македонин динар',
|
||||
],
|
||||
'MMK' => [
|
||||
0 => 'MMK',
|
||||
1 => 'Мьянман кьят',
|
||||
],
|
||||
'MNT' => [
|
||||
0 => 'MNT',
|
||||
1 => 'Монголин тугрик',
|
||||
],
|
||||
'MOP' => [
|
||||
0 => 'MOP',
|
||||
1 => 'Макаон патака',
|
||||
],
|
||||
'MRO' => [
|
||||
0 => 'MRO',
|
||||
1 => 'Мавританин уги (1973–2017)',
|
||||
],
|
||||
'MRU' => [
|
||||
0 => 'MRU',
|
||||
1 => 'Мавританин уги',
|
||||
],
|
||||
'MUR' => [
|
||||
0 => 'MUR',
|
||||
1 => 'Маврикин рупи',
|
||||
],
|
||||
'MVR' => [
|
||||
0 => 'MVR',
|
||||
1 => 'Мальдивийн руфи',
|
||||
],
|
||||
'MWK' => [
|
||||
0 => 'MWK',
|
||||
1 => 'Малавин квача',
|
||||
],
|
||||
'MXN' => [
|
||||
0 => 'MX$',
|
||||
1 => 'Мексикан песо',
|
||||
],
|
||||
'MYR' => [
|
||||
0 => 'MYR',
|
||||
1 => 'Малайзин ринггит',
|
||||
],
|
||||
'MZN' => [
|
||||
0 => 'MZN',
|
||||
1 => 'Мозамбикан метикал',
|
||||
],
|
||||
'NAD' => [
|
||||
0 => 'NAD',
|
||||
1 => 'Намибин доллар',
|
||||
],
|
||||
'NGN' => [
|
||||
0 => 'NGN',
|
||||
1 => 'Нигерин найра',
|
||||
],
|
||||
'NIO' => [
|
||||
0 => 'NIO',
|
||||
1 => 'Никарагуан кордоба',
|
||||
],
|
||||
'NOK' => [
|
||||
0 => 'NOK',
|
||||
1 => 'Норвегин крона',
|
||||
],
|
||||
'NPR' => [
|
||||
0 => 'NPR',
|
||||
1 => 'Непалан рупи',
|
||||
],
|
||||
'NZD' => [
|
||||
0 => 'NZ$',
|
||||
1 => 'Керла Зеландин доллар',
|
||||
],
|
||||
'OMR' => [
|
||||
0 => 'OMR',
|
||||
1 => 'Оманан риал',
|
||||
],
|
||||
'PAB' => [
|
||||
0 => 'PAB',
|
||||
1 => 'Панаман бальбоа',
|
||||
],
|
||||
'PEN' => [
|
||||
0 => 'PEN',
|
||||
1 => 'Перун соль',
|
||||
],
|
||||
'PGK' => [
|
||||
0 => 'PGK',
|
||||
1 => 'Папуа — Керла Гвинейн кина',
|
||||
],
|
||||
'PHP' => [
|
||||
0 => 'PHP',
|
||||
1 => 'Филиппинийн песо',
|
||||
],
|
||||
'PKR' => [
|
||||
0 => 'PKR',
|
||||
1 => 'Пакистанан рупи',
|
||||
],
|
||||
'PLN' => [
|
||||
0 => 'PLN',
|
||||
1 => 'Польшан злотый',
|
||||
],
|
||||
'PYG' => [
|
||||
0 => 'PYG',
|
||||
1 => 'Парагвайн гуарани',
|
||||
],
|
||||
'QAR' => [
|
||||
0 => 'QAR',
|
||||
1 => 'Катаран риал',
|
||||
],
|
||||
'RON' => [
|
||||
0 => 'RON',
|
||||
1 => 'Румынин лей',
|
||||
],
|
||||
'RSD' => [
|
||||
0 => 'RSD',
|
||||
1 => 'Сербин динар',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => '₽',
|
||||
1 => 'Российн сом',
|
||||
],
|
||||
'RWF' => [
|
||||
0 => 'RWF',
|
||||
1 => 'Руандан франк',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'SAR',
|
||||
1 => 'СаӀудийн Ӏаьрбийчоьнан риал',
|
||||
],
|
||||
'SBD' => [
|
||||
0 => 'SBD',
|
||||
1 => 'Соломонан гӀайренийн доллар',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'SCR',
|
||||
1 => 'Сейшелан рупи',
|
||||
],
|
||||
'SDG' => [
|
||||
0 => 'SDG',
|
||||
1 => 'Суданан фунт',
|
||||
],
|
||||
'SEK' => [
|
||||
0 => 'SEK',
|
||||
1 => 'Швецин крона',
|
||||
],
|
||||
'SGD' => [
|
||||
0 => 'SGD',
|
||||
1 => 'Сингапуран доллар',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'Сийлахьчу Еленин гӀайрен фунт',
|
||||
],
|
||||
'SLL' => [
|
||||
0 => 'SLL',
|
||||
1 => 'Леоне',
|
||||
],
|
||||
'SOS' => [
|
||||
0 => 'SOS',
|
||||
1 => 'Сомалин шиллинг',
|
||||
],
|
||||
'SRD' => [
|
||||
0 => 'SRD',
|
||||
1 => 'Суринаман доллар',
|
||||
],
|
||||
'SSP' => [
|
||||
0 => 'SSP',
|
||||
1 => 'Къилба Суданан фунт',
|
||||
],
|
||||
'STD' => [
|
||||
0 => 'STD',
|
||||
1 => 'Сан-Томен а, Принсипин а добра (1977–2017)',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'Сан-Томен а, Принсипин а добра',
|
||||
],
|
||||
'SYP' => [
|
||||
0 => 'SYP',
|
||||
1 => 'Шеман фунт',
|
||||
],
|
||||
'SZL' => [
|
||||
0 => 'SZL',
|
||||
1 => 'Свазилендан лилангени',
|
||||
],
|
||||
'THB' => [
|
||||
0 => 'THB',
|
||||
1 => 'Таиландан бат',
|
||||
],
|
||||
'TJS' => [
|
||||
0 => 'TJS',
|
||||
1 => 'Таджикистанан сомони',
|
||||
],
|
||||
'TMT' => [
|
||||
0 => 'TMT',
|
||||
1 => 'Туркменин керла манат',
|
||||
],
|
||||
'TND' => [
|
||||
0 => 'TND',
|
||||
1 => 'Тунисан динар',
|
||||
],
|
||||
'TOP' => [
|
||||
0 => 'TOP',
|
||||
1 => 'Тонганан паанга',
|
||||
],
|
||||
'TRY' => [
|
||||
0 => 'TRY',
|
||||
1 => 'Туркойчоьнан лира',
|
||||
],
|
||||
'TTD' => [
|
||||
0 => 'TTD',
|
||||
1 => 'Тринидадан а, Тобагон а доллар',
|
||||
],
|
||||
'TWD' => [
|
||||
0 => 'NT$',
|
||||
1 => 'Тайванан керла доллар',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'Танзанин шиллинг',
|
||||
],
|
||||
'UAH' => [
|
||||
0 => 'UAH',
|
||||
1 => 'Украинан гривна',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'Угандан шиллинг',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'US$',
|
||||
1 => 'АЦШн доллар',
|
||||
],
|
||||
'UYU' => [
|
||||
0 => 'UYU',
|
||||
1 => 'Уругвайн песо',
|
||||
],
|
||||
'UZS' => [
|
||||
0 => 'UZS',
|
||||
1 => 'Узбекистанан сом',
|
||||
],
|
||||
'VEF' => [
|
||||
0 => 'VEF',
|
||||
1 => 'Венесуэлан боливар (2008–2018)',
|
||||
],
|
||||
'VES' => [
|
||||
0 => 'VES',
|
||||
1 => 'Венесуэлан боливар',
|
||||
],
|
||||
'VND' => [
|
||||
0 => '₫',
|
||||
1 => 'Вьетнаман донг',
|
||||
],
|
||||
'VUV' => [
|
||||
0 => 'VUV',
|
||||
1 => 'Вануатун вату',
|
||||
],
|
||||
'WST' => [
|
||||
0 => 'WST',
|
||||
1 => 'Самоанан тала',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'FCFA',
|
||||
1 => 'Юккъерчу Африкан КФА франк',
|
||||
],
|
||||
'XCD' => [
|
||||
0 => 'EC$',
|
||||
1 => 'Малхбален Карибийн доллар',
|
||||
],
|
||||
'XOF' => [
|
||||
0 => 'F CFA',
|
||||
1 => 'Малхбузен Африкан КФА франк',
|
||||
],
|
||||
'XPF' => [
|
||||
0 => 'CFPF',
|
||||
1 => 'Французийн Тийна океанан франк',
|
||||
],
|
||||
'YER' => [
|
||||
0 => 'YER',
|
||||
1 => 'Йеменан риал',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'ZAR',
|
||||
1 => 'Къилба-Африкин рэнд',
|
||||
],
|
||||
'ZMW' => [
|
||||
0 => 'ZMW',
|
||||
1 => 'Замбин квача',
|
||||
],
|
||||
],
|
||||
];
|
||||
1162
htdocs/includes/symfony/intl/Resources/data/currencies/cs.php
Normal file
1162
htdocs/includes/symfony/intl/Resources/data/currencies/cs.php
Normal file
File diff suppressed because it is too large
Load Diff
630
htdocs/includes/symfony/intl/Resources/data/currencies/cv.php
Normal file
630
htdocs/includes/symfony/intl/Resources/data/currencies/cv.php
Normal file
@@ -0,0 +1,630 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'АПЭ дирхамӗ',
|
||||
],
|
||||
'AFN' => [
|
||||
0 => 'AFN',
|
||||
1 => 'афганийӗ',
|
||||
],
|
||||
'ALL' => [
|
||||
0 => 'ALL',
|
||||
1 => 'Албани лекӗ',
|
||||
],
|
||||
'AMD' => [
|
||||
0 => 'AMD',
|
||||
1 => 'Армяни драмӗ',
|
||||
],
|
||||
'ANG' => [
|
||||
0 => 'ANG',
|
||||
1 => 'Нидерланд Антиллиан гульденӗ',
|
||||
],
|
||||
'AOA' => [
|
||||
0 => 'AOA',
|
||||
1 => 'Ангола кванзӗ',
|
||||
],
|
||||
'ARS' => [
|
||||
0 => 'ARS',
|
||||
1 => 'Аргентина песийӗ',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => 'A$',
|
||||
1 => 'Австрали долларӗ',
|
||||
],
|
||||
'AWG' => [
|
||||
0 => 'AWG',
|
||||
1 => 'Аруба флоринӗ',
|
||||
],
|
||||
'AZN' => [
|
||||
0 => 'AZN',
|
||||
1 => 'Азербайджан маначӗ',
|
||||
],
|
||||
'BAM' => [
|
||||
0 => 'BAM',
|
||||
1 => 'Боснипе Герцеговина конвертланакан марки',
|
||||
],
|
||||
'BBD' => [
|
||||
0 => 'BBD',
|
||||
1 => 'Барбадос долларӗ',
|
||||
],
|
||||
'BDT' => [
|
||||
0 => 'BDT',
|
||||
1 => 'Бангладеш таки',
|
||||
],
|
||||
'BGN' => [
|
||||
0 => 'BGN',
|
||||
1 => 'Болгари левӗ',
|
||||
],
|
||||
'BHD' => [
|
||||
0 => 'BHD',
|
||||
1 => 'Бахрейн динарӗ',
|
||||
],
|
||||
'BIF' => [
|
||||
0 => 'BIF',
|
||||
1 => 'Бурунди франкӗ',
|
||||
],
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'Бермуд долларӗ',
|
||||
],
|
||||
'BND' => [
|
||||
0 => 'BND',
|
||||
1 => 'Бруней долларӗ',
|
||||
],
|
||||
'BOB' => [
|
||||
0 => 'BOB',
|
||||
1 => 'Боливи боливианӗ',
|
||||
],
|
||||
'BRL' => [
|
||||
0 => 'R$',
|
||||
1 => 'Бразили реалӗ',
|
||||
],
|
||||
'BSD' => [
|
||||
0 => 'BSD',
|
||||
1 => 'Багам долларӗ',
|
||||
],
|
||||
'BTN' => [
|
||||
0 => 'BTN',
|
||||
1 => 'Бутан нгултрумӗ',
|
||||
],
|
||||
'BWP' => [
|
||||
0 => 'BWP',
|
||||
1 => 'Ботсвана пули',
|
||||
],
|
||||
'BYN' => [
|
||||
0 => 'BYN',
|
||||
1 => 'Беларуҫ тенкӗ',
|
||||
],
|
||||
'BZD' => [
|
||||
0 => 'BZD',
|
||||
1 => 'Белиз долларӗ',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CA$',
|
||||
1 => 'Канада долларӗ',
|
||||
],
|
||||
'CDF' => [
|
||||
0 => 'CDF',
|
||||
1 => 'Конголези франкӗ',
|
||||
],
|
||||
'CHF' => [
|
||||
0 => 'CHF',
|
||||
1 => 'Швейцари франкӗ',
|
||||
],
|
||||
'CLP' => [
|
||||
0 => 'CLP',
|
||||
1 => 'Чили песийӗ',
|
||||
],
|
||||
'CNH' => [
|
||||
0 => 'CNH',
|
||||
1 => 'Китай офшор юанӗ',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'Китай юанӗ',
|
||||
],
|
||||
'COP' => [
|
||||
0 => 'COP',
|
||||
1 => 'Колумби песийӗ',
|
||||
],
|
||||
'CRC' => [
|
||||
0 => 'CRC',
|
||||
1 => 'Коста-Рика колонӗ',
|
||||
],
|
||||
'CUC' => [
|
||||
0 => 'CUC',
|
||||
1 => 'Куба конвертланакан песийӗ',
|
||||
],
|
||||
'CUP' => [
|
||||
0 => 'CUP',
|
||||
1 => 'Куба песийӗ',
|
||||
],
|
||||
'CVE' => [
|
||||
0 => 'CVE',
|
||||
1 => 'Кабо-Верде эскудӗ',
|
||||
],
|
||||
'CZK' => [
|
||||
0 => 'CZK',
|
||||
1 => 'Чехи кронӗ',
|
||||
],
|
||||
'DJF' => [
|
||||
0 => 'DJF',
|
||||
1 => 'Джибути франкӗ',
|
||||
],
|
||||
'DKK' => [
|
||||
0 => 'DKK',
|
||||
1 => 'Дани кронӗ',
|
||||
],
|
||||
'DOP' => [
|
||||
0 => 'DOP',
|
||||
1 => 'Доминикан песийӗ',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'DZD',
|
||||
1 => 'Алжир динарӗ',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'EGP',
|
||||
1 => 'Египет фунчӗ',
|
||||
],
|
||||
'ERN' => [
|
||||
0 => 'ERN',
|
||||
1 => 'Эритрей накфӗ',
|
||||
],
|
||||
'ETB' => [
|
||||
0 => 'ETB',
|
||||
1 => 'Эфиопи бырӗ',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'евро',
|
||||
],
|
||||
'FJD' => [
|
||||
0 => 'FJD',
|
||||
1 => 'Фиджи долларӗ',
|
||||
],
|
||||
'FKP' => [
|
||||
0 => 'FKP',
|
||||
1 => 'Факланд утравӗсен фунчӗ',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => '£',
|
||||
1 => 'Британи фунчӗ',
|
||||
],
|
||||
'GEL' => [
|
||||
0 => 'GEL',
|
||||
1 => 'Грузи ларийӗ',
|
||||
],
|
||||
'GHS' => [
|
||||
0 => 'GHS',
|
||||
1 => 'Гана седийӗ',
|
||||
],
|
||||
'GIP' => [
|
||||
0 => 'GIP',
|
||||
1 => 'Гибралтар фунчӗ',
|
||||
],
|
||||
'GMD' => [
|
||||
0 => 'GMD',
|
||||
1 => 'Гамби даласийӗ',
|
||||
],
|
||||
'GNF' => [
|
||||
0 => 'GNF',
|
||||
1 => 'Гвиней франкӗ',
|
||||
],
|
||||
'GTQ' => [
|
||||
0 => 'GTQ',
|
||||
1 => 'Гватемала кетсалӗ',
|
||||
],
|
||||
'GYD' => [
|
||||
0 => 'GYD',
|
||||
1 => 'Гайана долларӗ',
|
||||
],
|
||||
'HKD' => [
|
||||
0 => 'HK$',
|
||||
1 => 'Гонконг долларӗ',
|
||||
],
|
||||
'HNL' => [
|
||||
0 => 'HNL',
|
||||
1 => 'Гондурас лемпирӗ',
|
||||
],
|
||||
'HRK' => [
|
||||
0 => 'HRK',
|
||||
1 => 'Хорвати куни',
|
||||
],
|
||||
'HTG' => [
|
||||
0 => 'HTG',
|
||||
1 => 'Гаити гурдӗ',
|
||||
],
|
||||
'HUF' => [
|
||||
0 => 'HUF',
|
||||
1 => 'Венгри форинчӗ',
|
||||
],
|
||||
'IDR' => [
|
||||
0 => 'IDR',
|
||||
1 => 'Индонези рупийӗ',
|
||||
],
|
||||
'ILS' => [
|
||||
0 => '₪',
|
||||
1 => 'Ҫӗнӗ Израиль шекелӗ',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'Инди рупийӗ',
|
||||
],
|
||||
'IQD' => [
|
||||
0 => 'IQD',
|
||||
1 => 'Ирак динарӗ',
|
||||
],
|
||||
'IRR' => [
|
||||
0 => 'IRR',
|
||||
1 => 'Иран риалӗ',
|
||||
],
|
||||
'ISK' => [
|
||||
0 => 'ISK',
|
||||
1 => 'Исланди кронӗ',
|
||||
],
|
||||
'JMD' => [
|
||||
0 => 'JMD',
|
||||
1 => 'Ямайка долларӗ',
|
||||
],
|
||||
'JOD' => [
|
||||
0 => 'JOD',
|
||||
1 => 'Иордан динарӗ',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'Япони иени',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'Кени шиллингӗ',
|
||||
],
|
||||
'KGS' => [
|
||||
0 => 'KGS',
|
||||
1 => 'Киргиз сомӗ',
|
||||
],
|
||||
'KHR' => [
|
||||
0 => 'KHR',
|
||||
1 => 'Камбоджа риелӗ',
|
||||
],
|
||||
'KMF' => [
|
||||
0 => 'KMF',
|
||||
1 => 'Комора франкӗ',
|
||||
],
|
||||
'KPW' => [
|
||||
0 => 'KPW',
|
||||
1 => 'КХДР вони',
|
||||
],
|
||||
'KRW' => [
|
||||
0 => '₩',
|
||||
1 => 'Корей вони',
|
||||
],
|
||||
'KWD' => [
|
||||
0 => 'KWD',
|
||||
1 => 'Кувейт динарӗ',
|
||||
],
|
||||
'KYD' => [
|
||||
0 => 'KYD',
|
||||
1 => 'Кайман утравӗсен долларӗ',
|
||||
],
|
||||
'KZT' => [
|
||||
0 => 'KZT',
|
||||
1 => 'Казах тенгейӗ',
|
||||
],
|
||||
'LAK' => [
|
||||
0 => 'LAK',
|
||||
1 => 'Лаос кипӗ',
|
||||
],
|
||||
'LBP' => [
|
||||
0 => 'LBP',
|
||||
1 => 'Ливан фунчӗ',
|
||||
],
|
||||
'LKR' => [
|
||||
0 => 'LKR',
|
||||
1 => 'Шри-ланка рупийӗ',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'Либери долларӗ',
|
||||
],
|
||||
'LSL' => [
|
||||
0 => 'LSL',
|
||||
1 => 'Лесото лотийӗ',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'LYD',
|
||||
1 => 'Ливи динарӗ',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'MAD',
|
||||
1 => 'Марокко дирхамӗ',
|
||||
],
|
||||
'MDL' => [
|
||||
0 => 'MDL',
|
||||
1 => 'Молдова лайӗ',
|
||||
],
|
||||
'MGA' => [
|
||||
0 => 'MGA',
|
||||
1 => 'Малагаси ариарийӗ',
|
||||
],
|
||||
'MKD' => [
|
||||
0 => 'MKD',
|
||||
1 => 'Македони денарӗ',
|
||||
],
|
||||
'MMK' => [
|
||||
0 => 'MMK',
|
||||
1 => 'Мьянман кьятӗ',
|
||||
],
|
||||
'MNT' => [
|
||||
0 => 'MNT',
|
||||
1 => 'Монголи тугрикӗ',
|
||||
],
|
||||
'MOP' => [
|
||||
0 => 'MOP',
|
||||
1 => 'Макао патаки',
|
||||
],
|
||||
'MRU' => [
|
||||
0 => 'MRU',
|
||||
1 => 'Мавритани угийӗ',
|
||||
],
|
||||
'MUR' => [
|
||||
0 => 'MUR',
|
||||
1 => 'Маврики рупийӗ',
|
||||
],
|
||||
'MVR' => [
|
||||
0 => 'MVR',
|
||||
1 => 'Мальдивсен руфийӗ',
|
||||
],
|
||||
'MWK' => [
|
||||
0 => 'MWK',
|
||||
1 => 'Малави квачӗ',
|
||||
],
|
||||
'MXN' => [
|
||||
0 => 'MX$',
|
||||
1 => 'Мексика песийӗ',
|
||||
],
|
||||
'MYR' => [
|
||||
0 => 'MYR',
|
||||
1 => 'Малайзи ринггичӗ',
|
||||
],
|
||||
'MZN' => [
|
||||
0 => 'MZN',
|
||||
1 => 'Мозамбик метикалӗ',
|
||||
],
|
||||
'NAD' => [
|
||||
0 => 'NAD',
|
||||
1 => 'Намиби долларӗ',
|
||||
],
|
||||
'NGN' => [
|
||||
0 => 'NGN',
|
||||
1 => 'Нигери найрӗ',
|
||||
],
|
||||
'NIO' => [
|
||||
0 => 'NIO',
|
||||
1 => 'Никарагуа кордобӗ',
|
||||
],
|
||||
'NOK' => [
|
||||
0 => 'NOK',
|
||||
1 => 'Норвеги кронӗ',
|
||||
],
|
||||
'NPR' => [
|
||||
0 => 'NPR',
|
||||
1 => 'Непал рупийӗ',
|
||||
],
|
||||
'NZD' => [
|
||||
0 => 'NZ$',
|
||||
1 => 'Ҫӗнӗ Зеланди долларӗ',
|
||||
],
|
||||
'OMR' => [
|
||||
0 => 'OMR',
|
||||
1 => 'Оман риалӗ',
|
||||
],
|
||||
'PAB' => [
|
||||
0 => 'PAB',
|
||||
1 => 'Панама бальбоа',
|
||||
],
|
||||
'PEN' => [
|
||||
0 => 'PEN',
|
||||
1 => 'Перу солӗ',
|
||||
],
|
||||
'PGK' => [
|
||||
0 => 'PGK',
|
||||
1 => 'Папуа – Ҫӗнӗ Гвиней кини',
|
||||
],
|
||||
'PHP' => [
|
||||
0 => '₱',
|
||||
1 => 'Филиппин песийӗ',
|
||||
],
|
||||
'PKR' => [
|
||||
0 => 'PKR',
|
||||
1 => 'пакистан рупийӗ',
|
||||
],
|
||||
'PLN' => [
|
||||
0 => 'PLN',
|
||||
1 => 'Польша злотыйӗ',
|
||||
],
|
||||
'PYG' => [
|
||||
0 => 'PYG',
|
||||
1 => 'Парагвай гуаранӗ',
|
||||
],
|
||||
'QAR' => [
|
||||
0 => 'QAR',
|
||||
1 => 'Катар риалӗ',
|
||||
],
|
||||
'RON' => [
|
||||
0 => 'RON',
|
||||
1 => 'Румыни лейӗ',
|
||||
],
|
||||
'RSD' => [
|
||||
0 => 'RSD',
|
||||
1 => 'Серби динарӗ',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => '₽',
|
||||
1 => 'Раҫҫей тенкӗ',
|
||||
],
|
||||
'RWF' => [
|
||||
0 => 'RWF',
|
||||
1 => 'Руанда франкӗ',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'SAR',
|
||||
1 => 'Сауд риялӗ',
|
||||
],
|
||||
'SBD' => [
|
||||
0 => 'SBD',
|
||||
1 => 'Соломон утравӗсен долларӗ',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'SCR',
|
||||
1 => 'Сейшел рупийӗ',
|
||||
],
|
||||
'SDG' => [
|
||||
0 => 'SDG',
|
||||
1 => 'Судан фунчӗ',
|
||||
],
|
||||
'SEK' => [
|
||||
0 => 'SEK',
|
||||
1 => 'Швеци кронӗ',
|
||||
],
|
||||
'SGD' => [
|
||||
0 => 'SGD',
|
||||
1 => 'Сингапур долларӗ',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'Сӑваплӑ Елена утравӗн фунчӗ',
|
||||
],
|
||||
'SLL' => [
|
||||
0 => 'SLL',
|
||||
1 => 'леонӗ',
|
||||
],
|
||||
'SOS' => [
|
||||
0 => 'SOS',
|
||||
1 => 'Сомали шиллингӗ',
|
||||
],
|
||||
'SRD' => [
|
||||
0 => 'SRD',
|
||||
1 => 'Суринам долларӗ',
|
||||
],
|
||||
'SSP' => [
|
||||
0 => 'SSP',
|
||||
1 => 'Кӑнтӑр Судан фунчӗ',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'Сан-Томе тата Принсипи добрӗ',
|
||||
],
|
||||
'SYP' => [
|
||||
0 => 'SYP',
|
||||
1 => 'Сири фунчӗ',
|
||||
],
|
||||
'SZL' => [
|
||||
0 => 'SZL',
|
||||
1 => 'Свази лилангенийӗ',
|
||||
],
|
||||
'THB' => [
|
||||
0 => 'THB',
|
||||
1 => 'Таиланд барӗ',
|
||||
],
|
||||
'TJS' => [
|
||||
0 => 'TJS',
|
||||
1 => 'Таджик сомонийӗ',
|
||||
],
|
||||
'TMT' => [
|
||||
0 => 'TMT',
|
||||
1 => 'Туркмен маначӗ',
|
||||
],
|
||||
'TND' => [
|
||||
0 => 'TND',
|
||||
1 => 'Тунези динарӗ',
|
||||
],
|
||||
'TOP' => [
|
||||
0 => 'TOP',
|
||||
1 => 'Тонган паанги',
|
||||
],
|
||||
'TRY' => [
|
||||
0 => 'TRY',
|
||||
1 => 'Турци лири',
|
||||
],
|
||||
'TTD' => [
|
||||
0 => 'TTD',
|
||||
1 => 'Тринидад тата Тобаго долларӗ',
|
||||
],
|
||||
'TWD' => [
|
||||
0 => 'NT$',
|
||||
1 => 'Ҫӗнӗ Тайван долларӗ',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'Танзани шиллингӗ',
|
||||
],
|
||||
'UAH' => [
|
||||
0 => 'UAH',
|
||||
1 => 'Украина гривни',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'Уганда шиллингӗ',
|
||||
],
|
||||
'USD' => [
|
||||
0 => '$',
|
||||
1 => 'АПШ долларӗ',
|
||||
],
|
||||
'UYU' => [
|
||||
0 => 'UYU',
|
||||
1 => 'Уругвай песийӗ',
|
||||
],
|
||||
'UZS' => [
|
||||
0 => 'UZS',
|
||||
1 => 'Узбек сумӗ',
|
||||
],
|
||||
'VES' => [
|
||||
0 => 'VES',
|
||||
1 => 'Венесуэла боливарӗ',
|
||||
],
|
||||
'VND' => [
|
||||
0 => '₫',
|
||||
1 => 'Вьетнам донгӗ',
|
||||
],
|
||||
'VUV' => [
|
||||
0 => 'VUV',
|
||||
1 => 'Вануату ватуйӗ',
|
||||
],
|
||||
'WST' => [
|
||||
0 => 'WST',
|
||||
1 => 'Самоа тали',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'FCFA',
|
||||
1 => 'Тӗп Африка КФА франкӗ',
|
||||
],
|
||||
'XCD' => [
|
||||
0 => 'EC$',
|
||||
1 => 'Хӗвелтухӑҫ Карибсем долларӗ',
|
||||
],
|
||||
'XOF' => [
|
||||
0 => 'F CFA',
|
||||
1 => 'КФА ВСЕАО франкӗ',
|
||||
],
|
||||
'XPF' => [
|
||||
0 => 'CFPF',
|
||||
1 => 'Франци Лӑпкӑ океан франкӗ',
|
||||
],
|
||||
'YER' => [
|
||||
0 => 'YER',
|
||||
1 => 'Йемен риалӗ',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'ZAR',
|
||||
1 => 'Кӑнтӑр Африка рэндӗ',
|
||||
],
|
||||
'ZMW' => [
|
||||
0 => 'ZMW',
|
||||
1 => 'Замби квачи',
|
||||
],
|
||||
],
|
||||
];
|
||||
1086
htdocs/includes/symfony/intl/Resources/data/currencies/cy.php
Normal file
1086
htdocs/includes/symfony/intl/Resources/data/currencies/cy.php
Normal file
File diff suppressed because it is too large
Load Diff
1058
htdocs/includes/symfony/intl/Resources/data/currencies/da.php
Normal file
1058
htdocs/includes/symfony/intl/Resources/data/currencies/da.php
Normal file
File diff suppressed because it is too large
Load Diff
1162
htdocs/includes/symfony/intl/Resources/data/currencies/de.php
Normal file
1162
htdocs/includes/symfony/intl/Resources/data/currencies/de.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'BYN' => [
|
||||
0 => 'BYN',
|
||||
1 => 'Weissrussischer Rubel',
|
||||
],
|
||||
'BYR' => [
|
||||
0 => 'BYR',
|
||||
1 => 'Weissrussischer Rubel (2000–2016)',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => 'EUR',
|
||||
1 => 'Euro',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'São-toméischer Dobra (2018)',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'EUR' => [
|
||||
0 => 'EUR',
|
||||
1 => 'Euro',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'LUF' => [
|
||||
0 => 'F',
|
||||
1 => 'Luxemburgischer Franc',
|
||||
],
|
||||
],
|
||||
];
|
||||
306
htdocs/includes/symfony/intl/Resources/data/currencies/dz.php
Normal file
306
htdocs/includes/symfony/intl/Resources/data/currencies/dz.php
Normal file
@@ -0,0 +1,306 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'ཡུ་ནཱའི་ཊེཌ་ ཨ་རབ་ ཨེ་མེ་རེཊས་ཀྱི་དངུལ་ ཌིར་ཧཱམ',
|
||||
],
|
||||
'AFN' => [
|
||||
0 => 'AFN',
|
||||
1 => 'ཨཕ་གཱན་གྱི་དངུལ་ ཨཕ་ག་ནི',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => 'AU$',
|
||||
1 => 'ཨཱོས་ཊྲེ་ལི་ཡ་གི་དངུལ་ ཌོ་ལར',
|
||||
],
|
||||
'BDT' => [
|
||||
0 => 'BDT',
|
||||
1 => 'བྷང་ལ་དེཤ་གི་དངུལ་ ཏ་ཀ',
|
||||
],
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'བར་མུ་ཌ་གི་དངུལ་ ཌོ་ལར',
|
||||
],
|
||||
'BRL' => [
|
||||
0 => 'R$',
|
||||
1 => 'བྲ་ཛིལ་གྱི་དངུལ་ རེ་ཡལ',
|
||||
],
|
||||
'BTN' => [
|
||||
0 => 'Nu.',
|
||||
1 => 'དངུལ་ཀྲམ',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CA$',
|
||||
1 => 'ཀེ་ན་ཌ་གི་དངུལ་ ཌོ་ལར',
|
||||
],
|
||||
'CHF' => [
|
||||
0 => 'CHF',
|
||||
1 => 'སུ་ཡིས་ཀྱི་དངུལ་ ཕྲངཀ',
|
||||
],
|
||||
'CLP' => [
|
||||
0 => 'CLP',
|
||||
1 => 'ཅི་ལི་གི་དངུལ་ པེ་སོ',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CN¥',
|
||||
1 => 'རྒྱ་ནག་གི་དངུལ་ ཡུ་ཝཱན',
|
||||
],
|
||||
'COP' => [
|
||||
0 => 'COP',
|
||||
1 => 'ཀོ་ལོམ་བྷི་ཡ་གི་དངུལ་ པེ་སོ',
|
||||
],
|
||||
'CUP' => [
|
||||
0 => 'CUP',
|
||||
1 => 'ཀིའུ་བྷ་གི་དངུལ་ པེ་སོ',
|
||||
],
|
||||
'DKK' => [
|
||||
0 => 'DKK',
|
||||
1 => 'ཌེན་མཱཀ་གི་དངུལ་ ཀྲོན',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'DZD',
|
||||
1 => 'ཨཱལ་ཇི་རི་ཡ་གི་དངུལ་ ཌའི་ནར',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'EGP',
|
||||
1 => 'ཨི་ཇིབཊ་གི་དངུལ་ པ་འུནཌ',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'ཡུ་རོ༌དངུལ་',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => '£',
|
||||
1 => 'བྲི་ཊིཤ་ པ་འུནཌ་ ཨིས་ཊར་ལིང',
|
||||
],
|
||||
'HKD' => [
|
||||
0 => 'HK$',
|
||||
1 => 'ཧོང་ཀོང་གི་དངུལ་ ཌོ་ལར',
|
||||
],
|
||||
'IDR' => [
|
||||
0 => 'IDR',
|
||||
1 => 'ཨིན་ཌོ་ནེ་ཤི་ཡ་གི་དངུལ་ རུ་པི་ཡ',
|
||||
],
|
||||
'ILS' => [
|
||||
0 => 'ILS',
|
||||
1 => 'ཨིས་རེལ་གྱི་དངུལ་གསརཔ་ ཤེ་ཀེལ',
|
||||
],
|
||||
'INR' => [
|
||||
0 => '₹',
|
||||
1 => 'རྒྱ་གར་གྱི་དངུལ་ རུ་པི',
|
||||
],
|
||||
'IQD' => [
|
||||
0 => 'IQD',
|
||||
1 => 'ཨི་རཱཀ་གི་དངུལ་ ཌི་ན',
|
||||
],
|
||||
'IRR' => [
|
||||
0 => 'IRR',
|
||||
1 => 'ཨི་རཱན་གྱི་དངུལ་ རི་ཨཱལ',
|
||||
],
|
||||
'ISK' => [
|
||||
0 => 'ISK',
|
||||
1 => 'ཨཱཡིས་ལེནཌ་གི་དངུལ་ ཀྲོ་ན',
|
||||
],
|
||||
'JMD' => [
|
||||
0 => 'JMD',
|
||||
1 => 'ཇཱ་མཻ་ཀ་གི་དངུལ་ ཌོ་ལར',
|
||||
],
|
||||
'JOD' => [
|
||||
0 => 'JOD',
|
||||
1 => 'ཇོར་ཌན་གྱི་དངུལ་ ཌི་ན',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'ཇཱ་པཱན་གྱི་དངུལ་ ཡེན',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'ཀེན་ཡ་གི་དངུལ་ ཤི་ལིང',
|
||||
],
|
||||
'KHR' => [
|
||||
0 => 'KHR',
|
||||
1 => 'ཀེམ་བྷོ་ཌི་ཡ་གི་དངུལ་ རི་ཨཱལ',
|
||||
],
|
||||
'KPW' => [
|
||||
0 => 'KPW',
|
||||
1 => 'ནོརཐ་ ཀོ་རི་ཡ་གི་དངུལ་ ཝོན',
|
||||
],
|
||||
'KRW' => [
|
||||
0 => 'KR₩',
|
||||
1 => 'སཱའུཐ་ ཀོ་རི་ཡ་གི་དངུལ་ ཝོན',
|
||||
],
|
||||
'KWD' => [
|
||||
0 => 'KWD',
|
||||
1 => 'ཀུ་ཝེཊ་གི་དངུལ་ ཌི་ན',
|
||||
],
|
||||
'KZT' => [
|
||||
0 => 'KZT',
|
||||
1 => 'ཀ་ཛགས་ཏཱན་གྱི་དངུལ་ ཏེང་གེ',
|
||||
],
|
||||
'LAK' => [
|
||||
0 => 'LAK',
|
||||
1 => 'ལཱ་ཝོས་ཀྱི་དངུལ་ ཀིཔ',
|
||||
],
|
||||
'LBP' => [
|
||||
0 => 'LBP',
|
||||
1 => 'ལེ་བ་ནོན་གྱི་དངུལ་ པ་འུནཌ',
|
||||
],
|
||||
'LKR' => [
|
||||
0 => 'LKR',
|
||||
1 => 'ཤྲི་ ལང་ཀ་གི་དངུལ་ རུ་པི',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'ལཱའི་བེ་རི་ཡ་གི་དངུལ་ ཌོ་ལར',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'LYD',
|
||||
1 => 'ལི་བི་ཡ་གི་དངུལ་ ཌི་ན',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'MAD',
|
||||
1 => 'མོ་རོ་ཀོ་གི་དངུལ་ ཌིར་ཧཱམ',
|
||||
],
|
||||
'MMK' => [
|
||||
0 => 'MMK',
|
||||
1 => 'མི་ཡཱན་མར་གྱི་དངུལ་ ཅཱཏ',
|
||||
],
|
||||
'MNT' => [
|
||||
0 => 'MNT',
|
||||
1 => 'སོག་པོའི་དངུལ་ ཏུ་གྲིཀ',
|
||||
],
|
||||
'MVR' => [
|
||||
0 => 'MVR',
|
||||
1 => 'མཱལ་དིབས་ཀྱི་དངུལ་ རུ་ཕི་ཡ',
|
||||
],
|
||||
'MXN' => [
|
||||
0 => 'MX$',
|
||||
1 => 'མེཀ་སི་ཀོ་གི་དངུལ་ པེ་སོ',
|
||||
],
|
||||
'MYR' => [
|
||||
0 => 'MYR',
|
||||
1 => 'མ་ལེ་ཤི་ཡ་གི་དངུལ་ རིང་གིཊ',
|
||||
],
|
||||
'NOK' => [
|
||||
0 => 'NOK',
|
||||
1 => 'ནོར་ཝེ་གི་དངུལ་ ཀྲོ་ན',
|
||||
],
|
||||
'NPR' => [
|
||||
0 => 'NPR',
|
||||
1 => 'བལ་པོའི་དངུལ་ རུ་པི',
|
||||
],
|
||||
'NZD' => [
|
||||
0 => 'NZ$',
|
||||
1 => 'ནིའུ་ཛི་ལེནཌ་གི་དངུལ་ ཌོ་ལར',
|
||||
],
|
||||
'OMR' => [
|
||||
0 => 'OMR',
|
||||
1 => 'ཨོ་མཱན་གྱི་དངུལ་ རི་ཨཱལ',
|
||||
],
|
||||
'PAB' => [
|
||||
0 => 'PAB',
|
||||
1 => 'པ་ན་མ་གི་དངུལ་ བཱལ་བོ་ཝ',
|
||||
],
|
||||
'PEN' => [
|
||||
0 => 'PEN',
|
||||
1 => 'པ་རུ་གི་དངུལ་ ནུ་བོ་ སཱོལ',
|
||||
],
|
||||
'PHP' => [
|
||||
0 => '₱',
|
||||
1 => 'ཕི་ལི་པིནས་གྱི་དངུལ་ པེ་སོ',
|
||||
],
|
||||
'PKR' => [
|
||||
0 => 'PKR',
|
||||
1 => 'པ་ཀིས་ཏཱན་གྱི་དངུལ་ རུ་པི',
|
||||
],
|
||||
'PLN' => [
|
||||
0 => 'PLN',
|
||||
1 => 'པོ་ལེནཌ་ཀྱི་དངུལ ཛ྄ལོ་ཊི',
|
||||
],
|
||||
'QAR' => [
|
||||
0 => 'QAR',
|
||||
1 => 'ཀ་ཊར་གྱི་དངུལ་ རི་ཨཱལ',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => 'RUB',
|
||||
1 => 'ཨུ་རུ་སུ་གི་དངུལ་ རུ་བཱལ',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'SAR',
|
||||
1 => 'སཱཝ་དིའི་དངུལ་ རི་ཡཱལ',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'SCR',
|
||||
1 => 'སེ་ཤཱལས་ཀྱི་དངུལ་ རུ་པི',
|
||||
],
|
||||
'SEK' => [
|
||||
0 => 'SEK',
|
||||
1 => 'སུའི་ཌེན་གྱི་དངུལ་ ཀྲོ་ན',
|
||||
],
|
||||
'SGD' => [
|
||||
0 => 'SGD',
|
||||
1 => 'སིང་ག་པོར་གྱི་དངུལ་ ཌོ་ལར',
|
||||
],
|
||||
'SYP' => [
|
||||
0 => 'SYP',
|
||||
1 => 'སི་རི་ཡ་གི་དངུལ་ པ་འུནཌ',
|
||||
],
|
||||
'THB' => [
|
||||
0 => 'TH฿',
|
||||
1 => 'ཐཱའི་ལེནཌ་གི་དངུལ་ བཱཏ',
|
||||
],
|
||||
'TJS' => [
|
||||
0 => 'TJS',
|
||||
1 => 'ཏ་ཇི་ཀིས་ཏཱན་གྱི་དངུལ་ སོ་མོ་ནི',
|
||||
],
|
||||
'TRY' => [
|
||||
0 => 'TRY',
|
||||
1 => 'ཊཱར་ཀི་གི་དངུལ་ ལི་ར',
|
||||
],
|
||||
'TWD' => [
|
||||
0 => 'NT$',
|
||||
1 => 'ཊཱའི་ཝཱན་གི་དངུལ ཌོ་ལར',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'ཊཱན་ཛཱ་ནི་ཡ་གི་དངུལ་ ཤི་ལིང',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'ཡུ་གྷེན་ཌ་གི་དངུལ་ ཤི་ལིང',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'US$',
|
||||
1 => 'ཡུ་ཨེས་ ཌོ་ལར',
|
||||
],
|
||||
'UYU' => [
|
||||
0 => 'UYU',
|
||||
1 => 'ཡུ་རུ་གུ་ཝའི་གི་དངུལ་ པེ་སོ',
|
||||
],
|
||||
'UZS' => [
|
||||
0 => 'UZS',
|
||||
1 => 'ཨུས་བེ་ཀིས་ཏཱན་གྱི་དངུལ་ སོམ',
|
||||
],
|
||||
'VEF' => [
|
||||
0 => 'VEF',
|
||||
1 => 'བེ་ནི་ཛུ་ཝེ་ལ་གི་དངུལ་ བོ་ལི་བར (2008–2018)',
|
||||
],
|
||||
'VES' => [
|
||||
0 => 'VES',
|
||||
1 => 'བེ་ནི་ཛུ་ཝེ་ལ་གི་དངུལ་ བོ་ལི་བར',
|
||||
],
|
||||
'VND' => [
|
||||
0 => '₫',
|
||||
1 => 'བེཊ་ནཱམ་གྱི་དངུལ་ ཌོང',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'XAF',
|
||||
1 => 'XAF',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'ZAR',
|
||||
1 => 'སཱའུཐ་ ཨཕ་རི་ཀ་གི་དངུལ་ རཱནད',
|
||||
],
|
||||
],
|
||||
];
|
||||
1122
htdocs/includes/symfony/intl/Resources/data/currencies/ee.php
Normal file
1122
htdocs/includes/symfony/intl/Resources/data/currencies/ee.php
Normal file
File diff suppressed because it is too large
Load Diff
1062
htdocs/includes/symfony/intl/Resources/data/currencies/el.php
Normal file
1062
htdocs/includes/symfony/intl/Resources/data/currencies/el.php
Normal file
File diff suppressed because it is too large
Load Diff
1174
htdocs/includes/symfony/intl/Resources/data/currencies/en.php
Normal file
1174
htdocs/includes/symfony/intl/Resources/data/currencies/en.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'Bermudian Dollar',
|
||||
],
|
||||
'BYB' => [
|
||||
0 => 'BYB',
|
||||
1 => 'Belarusian New Rouble (1994–1999)',
|
||||
],
|
||||
'BYN' => [
|
||||
0 => 'BYN',
|
||||
1 => 'Belarusian Rouble',
|
||||
],
|
||||
'BYR' => [
|
||||
0 => 'BYR',
|
||||
1 => 'Belarusian Rouble (2000–2016)',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'Japanese Yen',
|
||||
],
|
||||
'LVR' => [
|
||||
0 => 'LVR',
|
||||
1 => 'Latvian Rouble',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => 'RUB',
|
||||
1 => 'Russian Rouble',
|
||||
],
|
||||
'RUR' => [
|
||||
0 => 'RUR',
|
||||
1 => 'Russian Rouble (1991–1998)',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'St Helena Pound',
|
||||
],
|
||||
'TJR' => [
|
||||
0 => 'TJR',
|
||||
1 => 'Tajikistani Rouble',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'US$',
|
||||
1 => 'US Dollar',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'EUR' => [
|
||||
0 => '€',
|
||||
1 => 'Euro',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'United Arab Emirates Dirham',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'XCD' => [
|
||||
0 => '$',
|
||||
1 => 'East Caribbean Dollar',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'XCD' => [
|
||||
0 => '$',
|
||||
1 => 'East Caribbean Dollar',
|
||||
],
|
||||
],
|
||||
];
|
||||
546
htdocs/includes/symfony/intl/Resources/data/currencies/en_AU.php
Normal file
546
htdocs/includes/symfony/intl/Resources/data/currencies/en_AU.php
Normal file
@@ -0,0 +1,546 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'AED' => [
|
||||
0 => 'AED',
|
||||
1 => 'United Arab Emirates Dirham',
|
||||
],
|
||||
'AFN' => [
|
||||
0 => 'AFN',
|
||||
1 => 'Afghan Afghani',
|
||||
],
|
||||
'ALL' => [
|
||||
0 => 'ALL',
|
||||
1 => 'Albanian Lek',
|
||||
],
|
||||
'AMD' => [
|
||||
0 => 'AMD',
|
||||
1 => 'Armenian Dram',
|
||||
],
|
||||
'AOA' => [
|
||||
0 => 'AOA',
|
||||
1 => 'Angolan Kwanza',
|
||||
],
|
||||
'ARS' => [
|
||||
0 => 'ARS',
|
||||
1 => 'Argentine Peso',
|
||||
],
|
||||
'AUD' => [
|
||||
0 => '$',
|
||||
1 => 'Australian Dollar',
|
||||
],
|
||||
'AZN' => [
|
||||
0 => 'AZN',
|
||||
1 => 'Azerbaijani Manat',
|
||||
],
|
||||
'BAM' => [
|
||||
0 => 'BAM',
|
||||
1 => 'Bosnia-Herzegovina Convertible Marka',
|
||||
],
|
||||
'BBD' => [
|
||||
0 => 'BBD',
|
||||
1 => 'Barbados Dollar',
|
||||
],
|
||||
'BDT' => [
|
||||
0 => 'BDT',
|
||||
1 => 'Bangladeshi Taka',
|
||||
],
|
||||
'BGN' => [
|
||||
0 => 'BGN',
|
||||
1 => 'Bulgarian Lev',
|
||||
],
|
||||
'BHD' => [
|
||||
0 => 'BHD',
|
||||
1 => 'Bahraini Dinar',
|
||||
],
|
||||
'BIF' => [
|
||||
0 => 'BIF',
|
||||
1 => 'Burundian Franc',
|
||||
],
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'Bermuda Dollar',
|
||||
],
|
||||
'BND' => [
|
||||
0 => 'BND',
|
||||
1 => 'Brunei Dollar',
|
||||
],
|
||||
'BOB' => [
|
||||
0 => 'BOB',
|
||||
1 => 'Bolivian boliviano',
|
||||
],
|
||||
'BRL' => [
|
||||
0 => 'BRL',
|
||||
1 => 'Brazilian Real',
|
||||
],
|
||||
'BTN' => [
|
||||
0 => 'BTN',
|
||||
1 => 'Bhutanese Ngultrum',
|
||||
],
|
||||
'BWP' => [
|
||||
0 => 'BWP',
|
||||
1 => 'Botswanan Pula',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => 'CAD',
|
||||
1 => 'Canadian Dollar',
|
||||
],
|
||||
'CDF' => [
|
||||
0 => 'CDF',
|
||||
1 => 'Congolese Franc',
|
||||
],
|
||||
'CHF' => [
|
||||
0 => 'CHF',
|
||||
1 => 'Swiss Franc',
|
||||
],
|
||||
'CLP' => [
|
||||
0 => 'CLP',
|
||||
1 => 'Chilean Peso',
|
||||
],
|
||||
'CNY' => [
|
||||
0 => 'CNY',
|
||||
1 => 'Chinese Yuan',
|
||||
],
|
||||
'COP' => [
|
||||
0 => 'COP',
|
||||
1 => 'Colombian Peso',
|
||||
],
|
||||
'CUP' => [
|
||||
0 => 'CUP',
|
||||
1 => 'Cuban Peso',
|
||||
],
|
||||
'CVE' => [
|
||||
0 => 'CVE',
|
||||
1 => 'Cape Verdean Escudo',
|
||||
],
|
||||
'CZK' => [
|
||||
0 => 'CZK',
|
||||
1 => 'Czech Koruna',
|
||||
],
|
||||
'DJF' => [
|
||||
0 => 'DJF',
|
||||
1 => 'Djiboutian Franc',
|
||||
],
|
||||
'DZD' => [
|
||||
0 => 'DZD',
|
||||
1 => 'Algerian Dinar',
|
||||
],
|
||||
'EGP' => [
|
||||
0 => 'EGP',
|
||||
1 => 'Egyptian Pound',
|
||||
],
|
||||
'ERN' => [
|
||||
0 => 'ERN',
|
||||
1 => 'Eritrean Nakfa',
|
||||
],
|
||||
'ETB' => [
|
||||
0 => 'ETB',
|
||||
1 => 'Ethiopian Birr',
|
||||
],
|
||||
'EUR' => [
|
||||
0 => 'EUR',
|
||||
1 => 'Euro',
|
||||
],
|
||||
'FJD' => [
|
||||
0 => 'FJD',
|
||||
1 => 'Fijian Dollar',
|
||||
],
|
||||
'FKP' => [
|
||||
0 => 'FKP',
|
||||
1 => 'Falkland Islands Pound',
|
||||
],
|
||||
'GBP' => [
|
||||
0 => 'GBP',
|
||||
1 => 'British Pound',
|
||||
],
|
||||
'GEL' => [
|
||||
0 => 'GEL',
|
||||
1 => 'Georgian Lari',
|
||||
],
|
||||
'GHS' => [
|
||||
0 => 'GHS',
|
||||
1 => 'Ghanaian Cedi',
|
||||
],
|
||||
'GIP' => [
|
||||
0 => 'GIP',
|
||||
1 => 'Gibraltar Pound',
|
||||
],
|
||||
'GMD' => [
|
||||
0 => 'GMD',
|
||||
1 => 'Gambian Dalasi',
|
||||
],
|
||||
'GNF' => [
|
||||
0 => 'GNF',
|
||||
1 => 'Guinean Franc',
|
||||
],
|
||||
'GYD' => [
|
||||
0 => 'GYD',
|
||||
1 => 'Guyanaese Dollar',
|
||||
],
|
||||
'HKD' => [
|
||||
0 => 'HKD',
|
||||
1 => 'Hong Kong Dollar',
|
||||
],
|
||||
'HRK' => [
|
||||
0 => 'HRK',
|
||||
1 => 'Croatian Kuna',
|
||||
],
|
||||
'HUF' => [
|
||||
0 => 'HUF',
|
||||
1 => 'Hungarian Forint',
|
||||
],
|
||||
'IDR' => [
|
||||
0 => 'IDR',
|
||||
1 => 'Indonesian Rupiah',
|
||||
],
|
||||
'ILS' => [
|
||||
0 => 'ILS',
|
||||
1 => 'Israeli Shekel',
|
||||
],
|
||||
'INR' => [
|
||||
0 => 'INR',
|
||||
1 => 'Indian Rupee',
|
||||
],
|
||||
'IQD' => [
|
||||
0 => 'IQD',
|
||||
1 => 'Iraqi Dinar',
|
||||
],
|
||||
'IRR' => [
|
||||
0 => 'IRR',
|
||||
1 => 'Iranian Rial',
|
||||
],
|
||||
'ISK' => [
|
||||
0 => 'ISK',
|
||||
1 => 'Icelandic Króna',
|
||||
],
|
||||
'JOD' => [
|
||||
0 => 'JOD',
|
||||
1 => 'Jordanian Dinar',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JPY',
|
||||
1 => 'Japanese Yen',
|
||||
],
|
||||
'KES' => [
|
||||
0 => 'KES',
|
||||
1 => 'Kenyan Shilling',
|
||||
],
|
||||
'KGS' => [
|
||||
0 => 'KGS',
|
||||
1 => 'Kyrgystani Som',
|
||||
],
|
||||
'KHR' => [
|
||||
0 => 'KHR',
|
||||
1 => 'Cambodian Riel',
|
||||
],
|
||||
'KMF' => [
|
||||
0 => 'KMF',
|
||||
1 => 'Comorian Franc',
|
||||
],
|
||||
'KPW' => [
|
||||
0 => 'KPW',
|
||||
1 => 'North Korean Won',
|
||||
],
|
||||
'KRW' => [
|
||||
0 => 'KRW',
|
||||
1 => 'South Korean Won',
|
||||
],
|
||||
'KWD' => [
|
||||
0 => 'KWD',
|
||||
1 => 'Kuwaiti Dinar',
|
||||
],
|
||||
'KZT' => [
|
||||
0 => 'KZT',
|
||||
1 => 'Kazakhstani Tenge',
|
||||
],
|
||||
'LAK' => [
|
||||
0 => 'LAK',
|
||||
1 => 'Laotian Kip',
|
||||
],
|
||||
'LBP' => [
|
||||
0 => 'LBP',
|
||||
1 => 'Lebanese Pound',
|
||||
],
|
||||
'LKR' => [
|
||||
0 => 'LKR',
|
||||
1 => 'Sri Lankan Rupee',
|
||||
],
|
||||
'LRD' => [
|
||||
0 => 'LRD',
|
||||
1 => 'Liberian Dollar',
|
||||
],
|
||||
'LSL' => [
|
||||
0 => 'LSL',
|
||||
1 => 'Lesotho Loti',
|
||||
],
|
||||
'LYD' => [
|
||||
0 => 'LYD',
|
||||
1 => 'Libyan Dinar',
|
||||
],
|
||||
'MAD' => [
|
||||
0 => 'MAD',
|
||||
1 => 'Moroccan Dirham',
|
||||
],
|
||||
'MDL' => [
|
||||
0 => 'MDL',
|
||||
1 => 'Moldovan Leu',
|
||||
],
|
||||
'MGA' => [
|
||||
0 => 'MGA',
|
||||
1 => 'Malagasy Ariary',
|
||||
],
|
||||
'MKD' => [
|
||||
0 => 'MKD',
|
||||
1 => 'Macedonian Denar',
|
||||
],
|
||||
'MMK' => [
|
||||
0 => 'MMK',
|
||||
1 => 'Myanmar Kyat',
|
||||
],
|
||||
'MNT' => [
|
||||
0 => 'MNT',
|
||||
1 => 'Mongolian Tugrik',
|
||||
],
|
||||
'MOP' => [
|
||||
0 => 'MOP',
|
||||
1 => 'Macanese Pataca',
|
||||
],
|
||||
'MRO' => [
|
||||
0 => 'MRO',
|
||||
1 => 'Mauritanian Ouguiya (1973–2017)',
|
||||
],
|
||||
'MUR' => [
|
||||
0 => 'MUR',
|
||||
1 => 'Mauritian Rupee',
|
||||
],
|
||||
'MVR' => [
|
||||
0 => 'MVR',
|
||||
1 => 'Maldivian Rufiyaa',
|
||||
],
|
||||
'MWK' => [
|
||||
0 => 'MWK',
|
||||
1 => 'Malawian Kwacha',
|
||||
],
|
||||
'MXN' => [
|
||||
0 => 'MXN',
|
||||
1 => 'Mexican Peso',
|
||||
],
|
||||
'MYR' => [
|
||||
0 => 'MYR',
|
||||
1 => 'Malaysian Ringgit',
|
||||
],
|
||||
'MZN' => [
|
||||
0 => 'MZN',
|
||||
1 => 'Mozambican Metical',
|
||||
],
|
||||
'NAD' => [
|
||||
0 => 'NAD',
|
||||
1 => 'Namibian Dollar',
|
||||
],
|
||||
'NGN' => [
|
||||
0 => 'NGN',
|
||||
1 => 'Nigerian Naira',
|
||||
],
|
||||
'NOK' => [
|
||||
0 => 'NOK',
|
||||
1 => 'Norwegian Krone',
|
||||
],
|
||||
'NPR' => [
|
||||
0 => 'NPR',
|
||||
1 => 'Nepalese Rupee',
|
||||
],
|
||||
'NZD' => [
|
||||
0 => 'NZD',
|
||||
1 => 'New Zealand Dollar',
|
||||
],
|
||||
'OMR' => [
|
||||
0 => 'OMR',
|
||||
1 => 'Omani Rial',
|
||||
],
|
||||
'PEN' => [
|
||||
0 => 'PEN',
|
||||
1 => 'Peruvian Sol',
|
||||
],
|
||||
'PGK' => [
|
||||
0 => 'PGK',
|
||||
1 => 'Papua New Guinean Kina',
|
||||
],
|
||||
'PHP' => [
|
||||
0 => 'PHP',
|
||||
1 => 'Philippine Peso',
|
||||
],
|
||||
'PLN' => [
|
||||
0 => 'PLN',
|
||||
1 => 'Polish Zloty',
|
||||
],
|
||||
'PYG' => [
|
||||
0 => 'PYG',
|
||||
1 => 'Paraguayan Guarani',
|
||||
],
|
||||
'QAR' => [
|
||||
0 => 'QAR',
|
||||
1 => 'Qatari Riyal',
|
||||
],
|
||||
'RON' => [
|
||||
0 => 'RON',
|
||||
1 => 'Romanian Leu',
|
||||
],
|
||||
'RSD' => [
|
||||
0 => 'RSD',
|
||||
1 => 'Serbian Dinar',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => 'RUB',
|
||||
1 => 'Russian Rouble',
|
||||
],
|
||||
'RWF' => [
|
||||
0 => 'RWF',
|
||||
1 => 'Rwandan Franc',
|
||||
],
|
||||
'SAR' => [
|
||||
0 => 'SAR',
|
||||
1 => 'Saudi Riyal',
|
||||
],
|
||||
'SBD' => [
|
||||
0 => 'SBD',
|
||||
1 => 'Solomon Islands Dollar',
|
||||
],
|
||||
'SCR' => [
|
||||
0 => 'Rs',
|
||||
1 => 'Seychellois Rupee',
|
||||
],
|
||||
'SDG' => [
|
||||
0 => 'SDG',
|
||||
1 => 'Sudanese Pound',
|
||||
],
|
||||
'SEK' => [
|
||||
0 => 'SEK',
|
||||
1 => 'Swedish Krona',
|
||||
],
|
||||
'SGD' => [
|
||||
0 => 'SGD',
|
||||
1 => 'Singapore Dollar',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'St Helena Pound',
|
||||
],
|
||||
'SOS' => [
|
||||
0 => 'SOS',
|
||||
1 => 'Somali Shilling',
|
||||
],
|
||||
'SRD' => [
|
||||
0 => 'SRD',
|
||||
1 => 'Suriname Dollar',
|
||||
],
|
||||
'SSP' => [
|
||||
0 => 'SSP',
|
||||
1 => 'South Sudanese Pound',
|
||||
],
|
||||
'SYP' => [
|
||||
0 => 'SYP',
|
||||
1 => 'Syrian Pound',
|
||||
],
|
||||
'SZL' => [
|
||||
0 => 'SZL',
|
||||
1 => 'Swazi Lilangeni',
|
||||
],
|
||||
'TJS' => [
|
||||
0 => 'TJS',
|
||||
1 => 'Tajikistani Somoni',
|
||||
],
|
||||
'TMT' => [
|
||||
0 => 'TMT',
|
||||
1 => 'Turkmenistani Manat',
|
||||
],
|
||||
'TND' => [
|
||||
0 => 'TND',
|
||||
1 => 'Tunisian Dinar',
|
||||
],
|
||||
'TOP' => [
|
||||
0 => 'TOP',
|
||||
1 => 'Tongan Paʻanga',
|
||||
],
|
||||
'TRY' => [
|
||||
0 => 'TRY',
|
||||
1 => 'Turkish Lira',
|
||||
],
|
||||
'TWD' => [
|
||||
0 => 'TWD',
|
||||
1 => 'New Taiwan Dollar',
|
||||
],
|
||||
'TZS' => [
|
||||
0 => 'TZS',
|
||||
1 => 'Tanzanian Shilling',
|
||||
],
|
||||
'UAH' => [
|
||||
0 => 'UAH',
|
||||
1 => 'Ukrainian Hryvnia',
|
||||
],
|
||||
'UGX' => [
|
||||
0 => 'UGX',
|
||||
1 => 'Ugandan Shilling',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'USD',
|
||||
1 => 'US Dollar',
|
||||
],
|
||||
'UYU' => [
|
||||
0 => 'UYU',
|
||||
1 => 'Peso Uruguayo',
|
||||
],
|
||||
'UZS' => [
|
||||
0 => 'UZS',
|
||||
1 => 'Uzbekistani Som',
|
||||
],
|
||||
'VEF' => [
|
||||
0 => 'VEF',
|
||||
1 => 'Venezuelan Bolívar (2008–2018)',
|
||||
],
|
||||
'VES' => [
|
||||
0 => 'VES',
|
||||
1 => 'Venezuelan bolívar',
|
||||
],
|
||||
'VND' => [
|
||||
0 => 'VND',
|
||||
1 => 'Vietnamese Dong',
|
||||
],
|
||||
'VUV' => [
|
||||
0 => 'VUV',
|
||||
1 => 'Vanuatu Vatu',
|
||||
],
|
||||
'WST' => [
|
||||
0 => 'WST',
|
||||
1 => 'Samoan Tala',
|
||||
],
|
||||
'XAF' => [
|
||||
0 => 'XAF',
|
||||
1 => 'Central African CFA Franc',
|
||||
],
|
||||
'XCD' => [
|
||||
0 => 'XCD',
|
||||
1 => 'East Caribbean Dollar',
|
||||
],
|
||||
'XOF' => [
|
||||
0 => 'XOF',
|
||||
1 => 'West African CFA Franc',
|
||||
],
|
||||
'XPF' => [
|
||||
0 => 'CFP',
|
||||
1 => 'CFP Franc',
|
||||
],
|
||||
'YER' => [
|
||||
0 => 'YER',
|
||||
1 => 'Yemeni Rial',
|
||||
],
|
||||
'ZAR' => [
|
||||
0 => 'ZAR',
|
||||
1 => 'South African Rand',
|
||||
],
|
||||
'ZMW' => [
|
||||
0 => 'ZMW',
|
||||
1 => 'Zambian Kwacha',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'BBD' => [
|
||||
0 => '$',
|
||||
1 => 'Barbadian Dollar',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'BIF' => [
|
||||
0 => 'FBu',
|
||||
1 => 'Burundian Franc',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'BMD' => [
|
||||
0 => '$',
|
||||
1 => 'Bermudian Dollar',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'BSD' => [
|
||||
0 => '$',
|
||||
1 => 'Bahamian Dollar',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'BWP' => [
|
||||
0 => 'P',
|
||||
1 => 'Botswanan Pula',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'BZD' => [
|
||||
0 => '$',
|
||||
1 => 'Belize Dollar',
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'Names' => [
|
||||
'BMD' => [
|
||||
0 => 'BMD',
|
||||
1 => 'Bermudian Dollar',
|
||||
],
|
||||
'BYB' => [
|
||||
0 => 'BYB',
|
||||
1 => 'Belarusian New Rouble (1994–1999)',
|
||||
],
|
||||
'BYN' => [
|
||||
0 => 'BYN',
|
||||
1 => 'Belarusian Rouble',
|
||||
],
|
||||
'BYR' => [
|
||||
0 => 'BYR',
|
||||
1 => 'Belarusian Rouble (2000–2016)',
|
||||
],
|
||||
'CAD' => [
|
||||
0 => '$',
|
||||
1 => 'Canadian Dollar',
|
||||
],
|
||||
'JPY' => [
|
||||
0 => 'JP¥',
|
||||
1 => 'Japanese Yen',
|
||||
],
|
||||
'LVR' => [
|
||||
0 => 'LVR',
|
||||
1 => 'Latvian Rouble',
|
||||
],
|
||||
'RUB' => [
|
||||
0 => 'RUB',
|
||||
1 => 'Russian Rouble',
|
||||
],
|
||||
'RUR' => [
|
||||
0 => 'RUR',
|
||||
1 => 'Russian Rouble (1991–1998)',
|
||||
],
|
||||
'SHP' => [
|
||||
0 => 'SHP',
|
||||
1 => 'Saint Helena Pound',
|
||||
],
|
||||
'STN' => [
|
||||
0 => 'STN',
|
||||
1 => 'São Tomé and Príncipe Dobra',
|
||||
],
|
||||
'TJR' => [
|
||||
0 => 'TJR',
|
||||
1 => 'Tajikistani Rouble',
|
||||
],
|
||||
'TTD' => [
|
||||
0 => 'TTD',
|
||||
1 => 'Trinidad and Tobago Dollar',
|
||||
],
|
||||
'USD' => [
|
||||
0 => 'US$',
|
||||
1 => 'US Dollar',
|
||||
],
|
||||
],
|
||||
];
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user