Php 在模块中使用消息

Php 在模块中使用消息,php,yii,module,components,bootstrapping,Php,Yii,Module,Components,Bootstrapping,我想为我的一个模块使用message,我有两种语言。一个是en,另一个是dk,因此我希望它们与我的模块一起使用,并且我已将邮件文件夹放置在我的模块中,因此文件夹结构类似于: application > modules > modulename > message > en > app.php and de > app.php 所以我想在我的模块i中使用这种语言。您能建议我在我的模块配置文件中需要做什么更改或配置,以便正常工作吗 这是我的模块文件 publi

我想为我的一个模块使用message,我有两种语言。一个是en,另一个是dk,因此我希望它们与我的模块一起使用,并且我已将邮件文件夹放置在我的模块中,因此文件夹结构类似于:

application >  modules > modulename > message > en > app.php and de > app.php
所以我想在我的模块i中使用这种语言。您能建议我在我的模块配置文件中需要做什么更改或配置,以便正常工作吗

这是我的模块文件

public function init()
{
Yii::setPathOfAlias('bootstrap', Yii::getPathOfAlias('smsLog.extensions.bootstrap'));
Yii::app()->setComponent('bootstrap', array('class'=>'smsLog.extensions.bootstrap.components.Bootstrap'));

Yii::app()->language='en_us';
$this->setImport(
    array(
        'smsLog.models.*',
        'smsLog.components.*',
        'smsLog.components.Services.*',
        'smsLog.components.Services.Twilio.*',
        'smsLog.components.Services.Twilio.Rest.*',
        'smsLog.message.*',
    )
);
$this->configure(array(
    'preload'=>array('bootstrap'),
    'components'=>array(
        'bootstrap' => array(
            'class'=>'smsLog.extensions.bootstrap.components.Bootstrap',
        ),
    ),

));

$this->preloadComponents();
}

请查看下图:


首先,在您的moduleName.php文件中,您需要像这样导入邮件文件夹

class ModuleName extends CWebModule
{
public function init()
    {
$this->setImport(array(
            'smsLog.messages.*',
        ));
}
}
现在在您的smsLog中创建一个包含姓名信息的文件夹,然后创建一个文件夹en_us。因此结构类似于

smsLog/messages/en_us/app.php

在你的app.php中写下

<?php 
return array(
'your message'=>' I am translated',
);
希望这对你有所帮助:)

更新
您需要使用
Yii::t('smsLogModule.app','your message')

i、 e您需要在Yii::t的第一个参数前面加上模块名称和单词module。

首先在moduleName.php文件中您需要像这样导入消息文件夹

class ModuleName extends CWebModule
{
public function init()
    {
$this->setImport(array(
            'smsLog.messages.*',
        ));
}
}
现在在您的smsLog中创建一个包含姓名信息的文件夹,然后创建一个文件夹en_us。因此结构类似于

smsLog/messages/en_us/app.php

在你的app.php中写下

<?php 
return array(
'your message'=>' I am translated',
);
希望这对你有所帮助:)

更新
您需要使用
Yii::t('smsLogModule.app','your message')

i、 e您需要在Yii::t的第一个参数前面加上模块名称和单词module。

您的源语言和目标语言是什么?我正在使用它,但仍然没有代表Yii::app()->language='en';echo Yii::t('app','CONST'ulbl'u TEXT'u LOGIN');将en更改为en_us,并将邮件中的文件夹名称更改为no即使不起作用,我已添加图像,请查看一下。让我们了解您的源代码和目标语言是什么?我正在使用此文件,但仍然没有回复Yii::app()->language='en';echo Yii::t('app','CONST'ulbl'u TEXT'u LOGIN');将en改为en_us,并将邮件中的文件夹名称改为toono即使不起作用,我已经添加了图像,请查看一下。让我们看看