El componente Locale

El componente Locale proporciona el código de reserva para manejar aquellos casos en que falta la extensión intl. Además esta extiende la implementación de una clase Locale nativa con varios métodos útiles.

Proveyendo el reemplazo de las siguientes funciones y clases:

Nota

La implementación únicamente es compatible con la región “en”.

Instalando

Puedes instalar el componente de varias maneras diferentes:

Usando

Aprovechar el código de reserva incluye requerir funciones cooperantes y añadir clase cooperantes al cargador automático.

Cuando se utiliza el componente ClassLoader el siguiente código es suficiente para complementar la extensión intl faltante:

if (!function_exists('intl_get_error_code')) {
    require __DIR__.'/ruta/a/src/Symfony/Component/Locale/Resources/stubs/functions.php';

    $loader->registerPrefixFallbacks(
        array(__DIR__.'/ruta/a/src/Symfony/Component/Locale/Resources/stubs')
    );
}

Symfony\Component\Locale\Locale enriquece a la clase nativa Locale con características adicionales:

use Symfony\Component\Locale\Locale;

// Obtiene los nombres de países para una región u obtiene todos los códigos de país
$countries = Locale::getDisplayCountries('pl');
$countryCodes = Locale::getCountries();

// Obtiene los nombres de idiomas para una región u obtiene todos los códigos de idioma
$languages = Locale::getDisplayLanguages('fr');
$languageCodes = Locale::getLanguages();

// Obtiene los nombres de configuración regional para un determinado código
// u obtiene todos los códigos de región
$locales = Locale::getDisplayLocales('en');
$localeCodes = Locale::getLocales();

// Obtiene versiones ICU
$icuVersion = Locale::getIntlIcuVersion();
$icuDataVersion = Locale::getIcuDataVersion();
Bifúrcame en GitHub