yiisoft/i18n

Yii Internationalization Library

1.2.1 2023-06-10 14:18 UTC

This package is auto-updated.

Last update: 2024-10-18 15:55:54 UTC


README

Yii

Yii Internationalization Library


Latest Stable Version Total Downloads Build status Scrutinizer Code Quality Code Coverage Mutation testing badge static analysis type-coverage

The package provides common internationalization utilities:

  • Locale stores locale information created from BCP 47 formatted string. It can parse locale string, modify locale parts, form locale string from parts, and derive fallback locale.
  • LocaleProvider is a stateful service that stores current locale.

Requirements

  • PHP 8.0 or higher.

Installation

The package could be installed with Composer:

composer install yiisoft/i18n

General usage

Use Locale as follows:

$locale = new \Yiisoft\I18n\Locale('es-CL');
echo $locale->language(); // es
echo $locale->region(); // CL

$locale = $locale->withLanguage('en');
echo $locale->asString(); // en-CL

echo $locale
    ->fallbackLocale()
    ->asString(); // en

Use LocaleProvider as follows:

use \Yiisoft\I18n\LocaleProvider;

final class MyService
{
    public function __construct(
        private LocaleProvider $localeProvider
    ) {    
    }
    
    public function doIt(): void
    {
        $locale = $this->localeProvider->get();
        if ($this->localeProvider->isDefaultLocale()) {
            // ...
        }
        
        // ...        
    }
    
}

Documentation

If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.

License

The Yii Internationalization Library is free software. It is released under the terms of the BSD License. Please see LICENSE for more information.

Maintained by Yii Software.

Support the project

Open Collective

Follow updates

Official website Twitter Telegram Facebook Slack