Yii Internationalization Library

1.2.0 2023-06-04 22:04 UTC

This package is auto-updated.

Last update: 2023-06-04 22:05:28 UTC



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.


  • PHP 7.4 or higher.


The package could be installed with composer:

composer install yiisoft/i18n --prefer-dist

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
    ->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()) {
            // ...
        // ...        


Unit testing

The package is tested with PHPUnit. To run tests:


Mutation testing

The package tests are checked with Infection mutation framework with Infection Static Analysis Plugin. To run it:


Static analysis

The code is statically analyzed with Psalm. To run static analysis:



The Yii Internationalization Library is free software. It's 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