Yii2:翻译应用程序名称

Yii2: Translate Application Name

如何正确翻译Yii2中的应用程序名称?

我们可以像这样轻松地在 main-local.php(或 config/main.php)中设置 application name

$config = [
    'name'  => 'My Application Name',
    // ...
];

但是我们怎么翻译呢?

使用 \Yii::t('app.name', 'My Application Name') 之类的东西是行不通的,因为在确定或设置应用程序语言之前就已经解析了配置文件。

最简单的方法是根据应用程序名称的实际用法进行翻译:

<?= \Yii::t('app.name', Yii::$app->name) ?>

对于消息提取,您可以在评论中使用假翻译。不确定 Poedit,但内置的 Yii 提取器前段时间支持这个:

$config = [
    // \Yii::t('app.name', 'My Application Name')
    'name'  => 'My Application Name',
    // ...
];

在最坏的情况下,您可以为此类伪造的翻译创建单独的文件,仅用于提取消息,而不将其包含在实际执行中。