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-basic
- messages
-en-US
-app.php
-zh-CN
-app.php
app.php檔案
zh-CN版
<?php
return [
'name'=>'張三',
'This is a string to translate' => '這是翻譯字串'
];
en-US版
<?php
return [
'name'=>'zhangsan',
'This is a string to translate' =>'This is a string to translate'
];
測試
//設定中文
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');