首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >yii2 basic多语言

yii2 basic多语言
EN

Stack Overflow用户
提问于 2017-08-02 07:06:36
回答 1查看 5.2K关注 0票数 1

我需要在Yii2基本框架中使用2种语言制作网站,然而,我在谷歌和其他搜索引擎上做了大量的研究,我只能找到yii2的高级内化。我需要基本模式,如果您有yii2 basic多种语言的源代码,或者您知道任何关于yii2 basic内部化的链接或视频教程,请与我分享,我将是一个很大的学徒。

我期待着很快收到你的来信。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-02 07:34:51

最好的教程是官方文档。

在基本应用程序中,i18n实现与高级应用程序没有区别。

首先,设置主配置,添加以下键:

代码语言:javascript
复制
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

现在在这个文件中,您可以实现字符串的转换。

代码语言:javascript
复制
<?php

/**
* Translation map for ru-RU
*/
return [
    'welcome' => 'Добро пожаловать',
    'log in' => 'Войти',
    'This is a string to translate!' => 'Это строка для перевода'
    //...
];

文件准备好后,只需在主配置文件中配置i18n组件,如下所示:

代码语言:javascript
复制
'components' => [
    // ...
    'i18n' => [
        'translations' => [
            'app*' => [
                'class' => 'yii\i18n\PhpMessageSource',
                //'basePath' => '@app/messages',
                //'sourceLanguage' => 'en-US',
                'fileMap' => [
                    'app' => 'app.php',
                    'app/error' => 'error.php',
                ],
            ],
        ],
    ],
],

最后,您可以使用echo \Yii::t('app', 'This is a string to translate!');显示您的字符串,这样,当您的应用程序使用en-US语言时,您将看到This is a string to translate!,当应用程序在ru-RU中时,您将看到Это строка для перевода

要更改目标语言,只需创建一个简单的操作,例如

代码语言:javascript
复制
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();
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45453805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档