Class yii\console\controllers\MessageController
从源文件中提取要翻译的消息。
根据配置文件中的 format
设置,提取的消息可以
保存如下:
- PHP 消息源文件。
- ".po" 文件。
- 数据库。
用法:
- 通过 'message/config' 命令创建配置文件: yii message/config /path/to/myapp/messages/config.php
- 编辑创建的配置文件,根据 Web 应用程序的需要对其进行调整。
- 运行 'message/extract' 命令,使用创建的配置: yii message /path/to/myapp/messages/config.php
公共属性
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Component |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | yii\base\Controller | |
__get() | Returns the value of a component property. | yii\base\Component |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
__set() | Sets the value of a component property. | yii\base\Component |
__unset() | Sets a component property to be null. | yii\base\Component |
actionConfig() | 使用指定的命令行选项为 "extract" 命令创建配置文件。 | yii\console\controllers\MessageController |
actionConfigTemplate() | 为 "extract" 命令创建配置文件模板。 | yii\console\controllers\MessageController |
actionExtract() | 从源代码中提取要翻译的消息。 | yii\console\controllers\MessageController |
actions() | Declares external actions for the controller. | yii\base\Controller |
afterAction() | This method is invoked right after an action is executed. | yii\base\Controller |
ansiFormat() | 使用 ANSI 代码格式化字符串。 | yii\console\Controller |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
beforeAction() | This method is invoked right before an action is executed. | yii\base\Controller |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
bindActionParams() | 将参数绑定到动作。 当 yii\base\Action 开始使用给定的参数运行时,此方法被调用。 此方法首先将参数与操作可用的 options绑定。 然后验证给定的参数。 | yii\console\Controller |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
confirm() | 要求用户通过键入 y 或 n 来确认。 | yii\console\Controller |
createAction() | Creates an action based on the given action ID. | yii\base\Controller |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
findLayoutFile() | Finds the applicable layout file. | yii\base\Controller |
getActionArgsHelp() | 返回动作的匿名参数的帮助信息。 | yii\console\Controller |
getActionHelp() | 返回指定动作的详细帮助信息。 | yii\console\Controller |
getActionHelpSummary() | 返回描述指定动作的一行简短摘要。 | yii\console\Controller |
getActionOptionsHelp() | 返回动作选项的帮助信息。 | yii\console\Controller |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
getHelp() | 返回此控制器的帮助信息。 | yii\console\Controller |
getHelpSummary() | 返回描述此控制器的一行简短摘要。 | yii\console\Controller |
getModules() | Returns all ancestor modules of this controller. | yii\base\Controller |
getOptionValues() | 返回与动作 ID 的选项对应的属性 子类可以重写此方法以指定可能的属性。 | yii\console\Controller |
getPassedOptionValues() | 返回与传递的选项对应的属性。 | yii\console\Controller |
getPassedOptions() | 返回执行期间传递的有效选项的名称。 | yii\console\Controller |
getRoute() | Returns the route of the current request. | yii\base\Controller |
getUniqueId() | Returns the unique ID of the controller. | yii\base\Controller |
getView() | Returns the view object that can be used to render views or view files. | yii\base\Controller |
getViewPath() | Returns the directory containing view files for this controller. | yii\base\Controller |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
init() | Initializes the object. | yii\base\BaseObject |
isColorEnabled() | 返回一个指示是否启用 ANSI 颜色的值。 | yii\console\Controller |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
optionAliases() | 返回选项别名。 子类可以重写此方法以指定别名选项。 | yii\console\controllers\MessageController |
options() | 返回操作的有效选项的动作(id) 选项要求存在一个名为选项名的 公共成员变量。 子类可以重写此方法以指定可能的选项。 | yii\console\controllers\MessageController |
prompt() | 提示用户输入并验证它。 | yii\console\Controller |
render() | Renders a view and applies layout if available. | yii\base\Controller |
renderContent() | Renders a static string by applying a layout. | yii\base\Controller |
renderFile() | Renders a view file. | yii\base\Controller |
renderPartial() | Renders a view without applying layout. | yii\base\Controller |
run() | Runs a request specified in terms of a route. | yii\base\Controller |
runAction() | 使用指定的动作 ID 和参数运行动作。 如果动作 ID 为空,则该方法将使用 $defaultAction。 | yii\console\Controller |
select() | 为用户提供可供选择的选项。给予 '?' 作为输入将显示 可供选择的选项列表及其解释。 | yii\console\Controller |
setView() | Sets the view object to be used by this controller. | yii\base\Controller |
setViewPath() | Sets the directory that contains the view files. | yii\base\Controller |
stderr() | 将字符串打印到 STDERR。 | yii\console\Controller |
stdout() | 将字符串打印到 STDOUT。 | yii\console\Controller |
trigger() | Triggers an event. | yii\base\Component |
受保护的方法
Events
事件 | 类型 | 描述 | 被定义在 |
---|---|---|---|
EVENT_AFTER_ACTION | yii\base\ActionEvent | An event raised right after executing a controller action. | yii\base\Controller |
EVENT_BEFORE_ACTION | yii\base\ActionEvent | An event raised right before executing a controller action. | yii\base\Controller |
常量
常量 | 值 | 描述 | 被定义在 |
---|---|---|---|
EXIT_CODE_ERROR | 1 | Deprecated 自 2.0.13。使用 yii\console\ExitCode::UNSPECIFIED_ERROR 替代。 | yii\console\Controller |
EXIT_CODE_NORMAL | 0 | Deprecated 自 2.0.13。使用 yii\console\ExitCode::OK 替代。 | yii\console\Controller |
属性详情
将用于翻译 "po" 格式的文件的名称。
"db" 格式的连接组件 ID。
控制器默认动作 ID。
指定不应处理哪些文件/目录的模式列表。 如果为空或未设置,将处理所有文件/目录。 查看 helpers/FileHelper::findFiles() 模式匹配规则的说明。 如果文件/目录与 "only" 和 "except" 中的模式都匹配,则不会对其进行处理。
生成的文件格式。可以是 "php","db","po" 或者 "pot"。
要忽略的消息类别。例如 'yii','app*','widgets/menu',等。
必须,将提取的消息转换为的语言代码列表。 例如,['zh-CN', 'de']。
是否标记不再出现在源代码中的消息。 默认值为 true,这意味着这些消息中的每一条都将包含一对 '@@' 标记。
必须,包含消息转换的根目录。
"db" 格式的转换消息表的自定义名称。
指定应处理哪些文件(而不是目录)的模式列表。 如果为空或未设置,则将处理所有文件。 查看 helpers/FileHelper::findFiles() 模式匹配规则的说明。 如果文件/目录与 "only" 和 "except",则不会对其进行处理。
是否应用合并的消息覆盖消息文件
在生成的 PHP 文件中用于消息数组的 DocBlock。如果是 null
,将使用默认的 DocBlock。
此属性仅用于如果 $format 是 "php"。
生成的带有消息的 PHP 文件中的文件头。此属性仅用于如果 $format 是 "php"。
是否删除不再出现在源代码中的消息。 默认值为 false,这意味着这些消息将不会被删除。
是否在将新消息与现有消息合并时按键对消息进行排序。 默认为 false,也就是说新的(untranslated) 消息将从旧的(translated)消息中分离出来。
"db" 格式的源消息表的自定义名称。
必须,所有源文件的根目录。
用于翻译消息的函数的名称。 默认为 'Yii::t'。此标记用作查找要翻译的消息的标记。 你可以对单个函数名使用字符串, 或对多个函数名使用数组。
方法详情
使用指定的命令行选项为 "extract" 命令创建配置文件。
生成的配置文件包含源代码消息 提取所需的参数。 你可以将此配置文件与 "extract" 命令一起使用。
public integer actionConfig($filePath) | ||
$filePath | string | 输出文件名或别名。 |
return | integer | CLI 退出代码 |
---|---|---|
throws | yii\console\Exception | 失败的时候。 |
为 "extract" 命令创建配置文件模板。
创建的配置文件包含有关 如何根据您的需要对其进行自定义的详细说明。定制后, 您可以将此配置文件与 "extract" 命令配合使用。
public integer actionConfigTemplate($filePath) | ||
$filePath | string | 输出文件名或别名。 |
return | integer | CLI 退出代码 |
---|---|---|
throws | yii\console\Exception | 失败的时候。 |
从源代码中提取要翻译的消息。
此命令将搜索源代码文件 并提取需要翻译为不同语言的消息。
public void actionExtract($configFile = null) | ||
$configFile | string | 配置文件的路径或别名。 你可以使用 "yii message/config" 命令以生成 此文件,然后根据您的需要对其进行自定义。 |
throws | yii\console\Exception | 失败的时候。 |
---|
从文件中提取消息。
protected array extractMessages($fileName, $translator, $ignoreCategories = []) | ||
$fileName | string | 要从中提取消息的文件的名称。 |
$translator | string | 用于翻译消息的函数的名称。 |
$ignoreCategories | array | 要忽略的消息类别。 此参数自版本 2.0.4。起可用 |
从解析的 PHP 令牌列表中提取消息。
protected array extractMessagesFromTokens(array $tokens, array $translatorTokens, array $ignoreCategories) | ||
$tokens | array | 要处理的令牌。 |
$translatorTokens | array | 翻译令牌。 |
$ignoreCategories | array | 要忽略的消息类别。 |
return | array | Messages。 |
---|
查找找到的第一个 non-char PHP 标记的一行。
protected integer|string getLine($tokens) | ||
$tokens | array |
protected void initConfig($configFile) | ||
$configFile | string | |
throws | yii\console\Exception | 如果配置文件不存在。 |
---|
方法检查,$category 是否被忽略根据 $ignoreCategories 数组。
例如:
myapp
- 将仅被忽略myapp
类别;myapp*
- 将被忽略所有以myapp
(myapp
,myapplication
,myapprove
,myapp/widgets
,myapp.widgets
,等)开头的类别。
protected boolean isCategoryIgnored($category, array $ignoreCategories) | ||
$category | string | 选中的类别 |
$ignoreCategories | array | 要忽略的消息类别。 |
返回选项别名。 子类可以重写此方法以指定别名选项。
public array optionAliases() | ||
return | array | 选项别名对操作有效, 其中键是选项的别名,值是选项名。 |
---|
返回操作的有效选项的动作(id) 选项要求存在一个名为选项名的 公共成员变量。 子类可以重写此方法以指定可能的选项。
请注意,通过选项设置的值不可用 直到调用 beforeAction()。
public string[] options($actionID) | ||
$actionID | string | 当前请求的动作 id |
return | string[] | 对操作有效的选项名称 |
---|
将类别消息写入 PHP 文件。
protected integer saveMessagesCategoryToPHP($messages, $fileName, $overwrite, $removeUnused, $sort, $category, $markUnused) | ||
$messages | array | |
$fileName | string | 要写入的文件的名称 |
$overwrite | boolean | 如果在没有备份的情况下覆盖现有文件 |
$removeUnused | boolean | 如果应删除过时的译文 |
$sort | boolean | 如果翻译需要排序 |
$category | string | 消息类别 |
$markUnused | boolean | 如果应标记过时的译文 |
return | integer | 退出代码 |
---|
将消息保存到数据库。
protected void saveMessagesToDb($messages, $db, $sourceMessageTable, $messageTable, $removeUnused, $languages, $markUnused) | ||
$messages | array | |
$db | yii\db\Connection | |
$sourceMessageTable | string | |
$messageTable | string | |
$removeUnused | boolean | |
$languages | array | |
$markUnused | boolean |
将消息写入 PHP 文件。
protected void saveMessagesToPHP($messages, $dirName, $overwrite, $removeUnused, $sort, $markUnused) | ||
$messages | array | |
$dirName | string | 要写入的目录的名称 |
$overwrite | boolean | 如果在没有备份的情况下覆盖现有文件 |
$removeUnused | boolean | 如果应删除过时的译文 |
$sort | boolean | 如果翻译需要排序 |
$markUnused | boolean | 如果应标记过时的译文 |
将消息写入 PO 文件。
protected void saveMessagesToPO($messages, $dirName, $overwrite, $removeUnused, $sort, $catalog, $markUnused) | ||
$messages | array | |
$dirName | string | 要写入的目录的名称 |
$overwrite | boolean | 如果在没有备份的情况下覆盖现有文件 |
$removeUnused | boolean | 如果应删除过时的译文 |
$sort | boolean | 如果翻译需要排序 |
$catalog | string | 消息目录 |
$markUnused | boolean | 如果应标记过时的译文 |
将消息写入 POT 文件。
protected void saveMessagesToPOT($messages, $dirName, $catalog) | ||
$messages | array | |
$dirName | string | 要写入的目录的名称 |
$catalog | string | 消息目录 |
查找两个 PHP 标记是否相等。
protected boolean tokensEqual($a, $b) | ||
$a | array|string | |
$b | array|string |