* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Icu; use Symfony\Component\Intl\ResourceBundle\LocaleBundle; use Symfony\Component\Intl\ResourceBundle\Reader\StructuredBundleReaderInterface; /** * An ICU-specific implementation of {@link \Symfony\Component\Intl\ResourceBundle\LocaleBundleInterface}. * * This class normalizes the data of the ICU .res files to satisfy the contract * defined in {@link \Symfony\Component\Intl\ResourceBundle\LocaleBundleInterface}. * * @author Bernhard Schussek */ class IcuLocaleBundle extends LocaleBundle { public function __construct(StructuredBundleReaderInterface $reader) { parent::__construct(realpath(IcuData::getResourceDirectory() . '/locales'), $reader); } /** * {@inheritdoc} */ public function getLocaleNames($locale = null) { if (null === $locale) { $locale = \Locale::getDefault(); } $locales = parent::getLocaleNames($locale); $collator = new \Collator($locale); $collator->asort($locales); return $locales; } }