PHP code example of umbalaconmeogia / yii2-i18nui

1. Go to this page and download the library: Download umbalaconmeogia/yii2-i18nui library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

umbalaconmeogia / yii2-i18nui example snippets


'modules' => [
    'i18nui' => [
        'class' => 'umbalaconmeogia\i18nui\Module',
        'languages' => ['en', 'ja', 'vi'], // Any languages that you want to use
    ],
    // Other stuffs
],

'components' => [
    'i18n' => [
        'translations' => [
            'yii*' => [
                'class' => 'yii\i18n\PhpMessageSource',
                'basePath' => '@vendor/yiisoft/yii2/messages',
                'sourceLanguage' => 'en'
            ],
            'app' => [
                'class' => 'yii\i18n\DbMessageSource',
                'forceTranslation' => true,
                //'enableCaching' => false,
                //'cachingDuration' => 3600,
            ],
        ],
    ],
    // Other stuffs
],

    return [
        'bootstrap' => [
            [
                'class' => 'umbalaconmeogia\i18nui\components\LanguageSelector',
                'supportedLanguages' => ['vi', 'ja'],
            ],
            // Other stuffs.
        ],
    ],
  

    $languages = [
        'vi' => 'Tiếng Việt',
        'ja' => '日本語',
    ];
    $callbackUrl = Yii::$app->request->getAbsoluteUrl();

    foreach ($languages as $langCode => $langName) {
        $menuItems[] = [
            'label' => $langName,
            'url' => Url::to(['/i18nui/default/set-language',
            'language' => $langCode, 'callbackUrl' => $callbackUrl]),
        ];
    }
  

    $languageMenuItems = [];
    $languageMenuItems[] = ['label' => Yii::t('app', 'Translation manager'), 'url' => ['/i18nui']];

    $languages = [
        'vi' => 'Tiếng Việt',
        'ja' => '日本語',
    ];
    $callbackUrl = Yii::$app->request->getAbsoluteUrl();

    foreach ($languages as $langCode => $langName) {
        $languageMenuItems[] = ['label' => $langName, 'url' => Url::to(['/i18nui/default/set-language', 'language' => $langCode, 'callbackUrl' => $callbackUrl])];
    }

    $menuItems[] = [
        'label' => Yii::t('app', 'Language'),
        'items' => $languageMenuItems,
    ];

    $languageMenuItems = [];
    $languageMenuItems[] = ['label' => Yii::t('app', 'Translation manager'), 'url' => ['/i18nui']];

    $languages = [
        'vi' => 'Tiếng Việt',
        'ja' => '日本語',
    ];
    $callbackUrl = Yii::$app->request->getAbsoluteUrl();

    foreach ($languages as $langCode => $langName) {
        $languageMenuItems[] = ['label' => $langName, 'url' => Url::to(['/i18nui/default/set-language', 'language' => $langCode, 'callbackUrl' => $callbackUrl])];
    }
    $adminMenuItems[] = [
        'label' => Yii::t('app', 'Language'),
        'items' => $languageMenuItems,
    ];

    $menuItems[] = [
        'label' => Yii::t('app', 'Admin'),
        'items' => $adminMenuItems,
    ];
    // Other stuffs

    echo NavX::widget([
        // 'options' => ['class' => 'ml-3 navbar-nav navbar-left'],
        'options' => ['class' => 'navbar-nav navbar-right'],
        'encodeLabels' => FALSE,
        'items' => $menuItems,
    ]);

    'modules' => [
        'i18nui' => [
            'class' => 'umbalaconmeogia\i18nui\Module',
            'languages' => ['ja', 'vi'], // Any languages that you want to use
            'modelMessageClass' => 'frontend\models\NewMessage',
        ],
    ],

namespace frontend\models;
class NewMessage extends \umbalaconmeogia\i18nui\models\Message
{
    public function afterSave($insert, $changedAttributes)
    {
        parent::afterSave($insert, $changedAttributes);

        \Yii::trace('New afterSave', __METHOD__);
    }
}
shell
php yii migrate --migrationPath=@yii/i18n/migrations/
shell
php yii i18nui/import/csv i18n.csv