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.php
或 console.php
文件中的 i18n 配置。不过,要使用本地化消息,您当然必须对其进行定义。
指南中现在提供了一些信息 here。
我的应用程序中有很多 Yii::t() 命令。现在我需要以某种方式提取它们,但我不想手动执行此操作。如何轻松提取所有这些命令?我必须用正则表达式来做吗?
我已经阅读了documentation,但它没有说明任何相关内容。
Yii2 已经提供了一些东西来帮助你解决这个问题。您可以使用带有两个 yii 命令的控制台:
message/config
: 使用第一个命令创建一个配置文件message/extract
:然后根据配置文件 提取
Yii:t()
消息
默认情况下(配置文件的一部分)所有消息都将保存到您之前必须创建的@app/messages 目录中。这些文件将包含所需的 php 数组,其中包含用于翻译的空字符串值。这些文件将按 Yii::t('category', 'message')
命令中使用的类别命名,并放置在指定语言代码的子目录中。
yii 命令中都有记录。在您的控制台中输入 ./yii help message
。配置文件本身也包含文档。
提示:不要忘记在配置中排除供应商目录,否则 Yii 框架消息也会被提取。
顺便说一句: 这些命令不需要通常存储在 web.php
或 console.php
文件中的 i18n 配置。不过,要使用本地化消息,您当然必须对其进行定义。
指南中现在提供了一些信息 here。