Yii2-國際化

胡勇健發表於2024-04-07

Yii2-國際化

配置檔案

Yii2-國際化
<?php

$params = require __DIR__ . '/params.php';
$db = require __DIR__ . '/db.php';

$config = [
    ...
    'components' => [

        'i18n' => [
            'translations' => [
                '*' => [
                    'class' => 'yii\i18n\PhpMessageSource',
                    'basePath' => '@app/messages',
                    'fileMap' => [
                        'app' => 'app.php',
                    ],
                ],
            ],
        ],

    ],
    ...

];

return $config;

messages檔案結構

Yii2-國際化
yii2-basic
    - messages
        -en-US
            -app.php
        -zh-CN
            -app.php

app.php檔案

zh-CN版

Yii2-國際化
<?php

return [
    'name'=>'張三',
    'This is a string to translate' => '這是翻譯字串'
];

en-US版

Yii2-國際化
<?php

return [
    'name'=>'zhangsan',
    'This is a string to translate' =>'This is a string to translate'
];

測試

Yii2-國際化
//設定中文
Yii::$app->language = 'zh-CN';
//設定英文
// Yii::$app->language = 'en';
echo Yii::$app->language;
echo "<br>";
echo Yii::t('app', 'name');
echo "<br>";
echo Yii::t('app', 'This is a string to translate');

相關文章