在Yii2语言字符串中包含html元素

时间:2015-09-16 13:12:16

标签: internationalization yii2

目前我们有一个字符串,可以翻译成多种语言。字符串需要围绕特定单词进行一些格式化,因此我们在翻译字符串中包含一个span。

在语言文件中......

return [
    'signup.success.reminder' => 'This is <span>very</span> important!'
];

...然后在模板中......

<p><?php echo \Yii::t('app', 'signup.success.reminder'); ?></p>

鉴于上述要求是否有更好的方法来包含span标记?

1 个答案:

答案 0 :(得分:2)

我相信如果你没有在代码中使用变量,最好的办法是将它们全部放在翻译的字符串中

查看

<p><?php echo \Yii::t('app', 'This is <span>very</span> important!'); ?></p>

消息文件

return [
    'This is <span>very</span> important!' => 'Esto es <span>muy</span> importante!'
];

至少这种方法对我来说效果最好

如果您使用复杂的html,可以像这样替换它

查看

<p><?php echo \Yii::t('app', 'This is {tag} important!', ['tag'=>Html::tag('span'), \Yii::t('app', 'Very'))]; ?></p>