Yii2:如何批量提取 Yii::t() 消息进行本地化?

Yii2: How to mass extract Yii::t() messages for localization?

我的应用程序中有很多 Yii::t() 命令。现在我需要以某种方式提取它们,但我不想手动执行此操作。如何轻松提取所有这些命令?我必须用正则表达式来做吗?

我已经阅读了documentation,但它没有说明任何相关内容。

Yii2 已经提供了一些东西来帮助你解决这个问题。您可以使用带有两个 yii 命令的控制台:

  • message/config: 使用第一个命令创建一个配置文件
  • message/extract:然后根据配置文件
  • 提取 Yii:t() 消息

默认情况下(配置文件的一部分)所有消息都将保存到您之前必须创建的@app/messages 目录中。这些文件将包含所需的 php 数组,其中包含用于翻译的空字符串值。这些文件将按 Yii::t('category', 'message') 命令中使用的类别命名,并放置在指定语言代码的子目录中。

yii 命令中都有记录。在您的控制台中输入 ./yii help message。配置文件本身也包含文档。

提示:不要忘记在配置中排除供应商目录,否则 Yii 框架消息也会被提取。

顺便说一句: 这些命令不需要通常存储在 web.phpconsole.php 文件中的 i18n 配置。不过,要使用本地化消息,您当然必须对其进行定义。

指南中现在提供了一些信息 here