The Locale Component
The Locale Component¶
Locale component provides fallback code to handle cases when theintl
extension is missing. Additionally it extends the implementation of a nativeLocale
class with several handy methods.
Replacement for the following functions and classes is provided:
intl_is_failure
intl_get_error_code
intl_get_error_message
Collator
IntlDateFormatter
Locale
NumberFormatter
Note
Stub implementation only supports the en
locale.
Installation¶
You can install the component in 2 different ways:
- Use the official Git repository (https://github.com/symfony/Locale);
- Install it via Composer (
symfony/locale
on Packagist).
Usage¶
Taking advantage of the fallback code includes requiring function stubs and adding class stubs to the autoloader.
When using the ClassLoader component following code is sufficient to supplement missing intl
extension:
1 2 3 4 5 6 7 | if (!function_exists('intl_get_error_code')) {
require __DIR__.'/path/to/src/Symfony/Component/Locale/Resources/stubs/functions.php';
$loader->registerPrefixFallbacks(
array(__DIR__.'/path/to/src/Symfony/Component/Locale/Resources/stubs')
);
}
|
Symfony\Component\Locale\Locale
class enriches native Locale
class with additional features:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | use Symfony\Component\Locale\Locale;
// Get the country names for a locale or get all country codes
$countries = Locale::getDisplayCountries('pl');
$countryCodes = Locale::getCountries();
// Get the language names for a locale or get all language codes
$languages = Locale::getDisplayLanguages('fr');
$languageCodes = Locale::getLanguages();
// Get the locale names for a given code or get all locale codes
$locales = Locale::getDisplayLocales('en');
$localeCodes = Locale::getLocales();
// Get ICU versions
$icuVersion = Locale::getIntlIcuVersion();
$icuDataVersion = Locale::getIcuDataVersion();
|
This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.