motion/yii2-language-provider

此软件包为Yii2框架的语言提供程序提供接口

2.1.0 2018-01-19 21:58 UTC

This package is not auto-updated.

Last update: 2024-09-15 04:31:27 UTC


README

此软件包为从任何存储访问应用语言提供接口,适用于Yii2框架。它允许您创建多语言模块,用于在基于Yii2的应用中使用。例如,您可以通过yii2-email-template扩展了解模块的集成。

Latest Stable Version Monthly Downloads Total Downloads Build Status Scrutinizer Code Quality

开箱即用的功能

如果您想创建自己的语言提供程序实现,应实现接口 motion\i18n\LanguageProviderInterface

安装

安装此扩展的首选方法是使用composer

运行以下命令

$ composer require motion/yii2-language-provider

或将以下内容添加到您的 composer.json 文件的 require 部分:

"motion/yii2-language-provider": "~2.1"

使用方法

配置语言提供程序

示例

$config = [
    'languages' => [
        [
            'label' => 'English',
            'locale' => 'en',
        ],
        [
            'label' => 'Ukrainian',
            'locale' => 'uk',
        ],
        [
            'label' => 'Russian',
            'locale' => 'ru',
        ],
    ],
    'defaultLanguage' => [
        'label' => 'English',
        'locale' => 'en',
    ],
];

$provider = new \motion\i18n\ConfigLanguageProvider($config);
$provider->getLanguages(); // returns list of languages
$provider->getDefaultLanguage(); // returns default language
$provider->getLanguageLabel('en'); // returns language label by locale (`English`)

数据库语言提供程序

示例

$config = [
    'db' => 'secondDb',
    'labelField' => 'title',
];

$provider = new \motion\i18n\DbLanguageProvider($config);
$provider->getLanguages(); // returns list of languages
$provider->getDefaultLanguage(); // returns default language
$provider->getLanguageLabel('uk'); // returns language label by locale

测试

您可以使用composer命令运行测试

$ composer test

或使用以下命令:

$ codecept build && codecept run

许可证

License

本项目根据BSD-3-Clause许可证发布。

版权所有 (c) 2017-2018, Motion Web Production