我需要在Yii2基本框架中製作2種語言的網站,但是我在谷歌和其他搜索引擎上搜索過很多次,我只能找到yii2高級內部化。我需要基本模式,如果你有yii2基本多種語言的源代碼,或者如果你知道任何有關yii2基本內化的鏈接或視頻教程,請與我分享,我會大大appriciated。yii2基本多種語言
我很期待收到您的來信。
我需要在Yii2基本框架中製作2種語言的網站,但是我在谷歌和其他搜索引擎上搜索過很多次,我只能找到yii2高級內部化。我需要基本模式,如果你有yii2基本多種語言的源代碼,或者如果你知道任何有關yii2基本內化的鏈接或視頻教程,請與我分享,我會大大appriciated。yii2基本多種語言
我很期待收到您的來信。
最好的教程是官方文檔。 所以,看看here
在基本的應用程序,i18n實現沒有區別於高級應用程序。
首先,請設置您的主要配置添加下列鍵:
return [
// set target language to be Russian
'language' => 'ru-RU',
// set source language to be English
'sourceLanguage' => 'en-US',
......
];
之後,創建新的文件/messages/ru-RU/app.php
(爲ru-RU
語言實現轉換,如果你的目標語言爲es-MX
,所以,這將。被/messages/es-MX/app.php
現在,在這個文件中,你可以實現你的字符串翻譯
<?php
/**
* Translation map for ru-RU
*/
return [
'welcome' => 'Добро пожаловать',
'log in' => 'Войти',
'This is a string to translate!' => 'Это строка для перевода'
//...
];
當你的文件準備就緒,只配置國際化組件在你的主配置文件是這樣的:
'components' => [
// ...
'i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\i18n\PhpMessageSource',
//'basePath' => '@app/messages',
//'sourceLanguage' => 'en-US',
'fileMap' => [
'app' => 'app.php',
'app/error' => 'error.php',
],
],
],
],
],
Finaly,您可以使用echo \Yii::t('app', 'This is a string to translate!');
所以,你會看到This is a string to translate!
顯示您的字符串時,你在en-US
語言的應用程序,和Это строка для перевода
當應用程序在ru-RU
;
要更改目標語言,只需要創建一個簡單的動作,像
public function actionChangeLang($local)
{
$available_locales = [
'ru-RU',
'en-US'
];
if (!in_array($local, $available_locales)) {
throw new \yii\web\BadRequestHttpException();
}
\Yii::$app->language = $local;
return $this->goBack();
}
謝謝soovorow,你能解釋一下我的主要配置是什麼一? –
G'ulornjon,我的意思是你正在配置應用程序組件的配置文件。我想爲你,這將是這個文件https://github.com/yiisoft/yii2-app-basic/blob/master/config/web.php – soovorow
感謝您的幫助兄弟Soovorow,我盡我所能) –
U可以參考的多語言 1)[文件基地]這些視頻(https://www.youtube.com/watch ?v = _qNMcJKoEK0) 2)[數據庫庫](https://www.youtube.com/watch?v=-OKk83F-4zc) – Mohan