yiisoft/i18n

Yii Internationalization Library

1.2.1 2023-06-10 14:18 UTC

This package is auto-updated.

Last update: 2024-04-23 07:54:43 UTC


README

68747470733a2f2f796969736f66742e6769746875622e696f2f646f63732f696d616765732f7969695f6c6f676f2e737667

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

Support

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.

Support the project

Open Collective

Follow updates

Official website Twitter Telegram Facebook Slack

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.