gpt4 book ai didi

php - Yii2 翻译存储在数据库中的数据

转载 作者:可可西里 更新时间:2023-11-01 00:42:01 24 4
gpt4 key购买 nike

我正在使用 Yii2 框架,并且已经使用本指南配置了 i18n 组件: http://thecodeninja.net/2014/12/i18n-with-yii-2-advanced-template/

因此,我现在可以使用 Yii::t() 函数翻译我的 php 文件中的字符串。使用 $ ./yii message/extract 控制台命令提取可翻译的字符串,生成适当的翻译文件。

我现在需要显示数据库中存储的字符串的翻译。

我可以像这样使用 Yii:t() 和变量而不是字符串作为参数

echo Yii:t('app', $some_string_from_db );

然后用这样的代码创建一个新的 php 文件

<?php 

function dbStringsToTranslate() {
$o = Yii::t('app','db english string 1');
$o.= Yii::t('app','db english string 2');
$o.= Yii::t('app','db english string 3');
return $o;
}

这样 $ ./yii message/extract 命令会找到需要的翻译。

这工作正常,但当然 $ ./yii message/extract 会在我使用 Yii:t() 和变量的任何地方抛出一些警告。

Skipping line 39. Make sure both category and message are static strings.

我认为这没什么大不了的,但是我的问题是:

这是翻译存储在数据库中的字符串的正确方法吗?

有没有更好的方法来完成这个?

最佳答案

您可以查看此扩展程序。 https://github.com/creocoder/yii2-translateable它允许将行为附加到模型以支持多种语言。

我现在在一个项目中使用它,它很容易使用。

关于php - Yii2 翻译存储在数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33158066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com