Inheritance | yii\console\controllers\MessageController » yii\console\Controller » yii\base\Controller » yii\base\Component » yii\base\Object |
---|---|
Implements | yii\base\Configurable, yii\base\ViewContextInterface |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/console/controllers/MessageController.php |
Extracts messages to be translated from source files.
The extracted messages can be saved the following depending on format
setting in config file:
Usage:
Property | Type | Description | Defined By |
---|---|---|---|
$action | yii\base\Action | The action that is currently being executed. | yii\base\Controller |
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$catalog | string | Name of the file that will be used for translations for "po" format. | yii\console\controllers\MessageController |
$color | boolean | Whether to enable ANSI color in the output. | yii\console\Controller |
$db | string | Connection component ID for "db" format. | yii\console\controllers\MessageController |
$defaultAction | string | Controller default action ID. | yii\console\controllers\MessageController |
$except | array | List of patterns that specify which files/directories should NOT be processed. | yii\console\controllers\MessageController |
$format | string | Generated file format. | yii\console\controllers\MessageController |
$help | boolean | Whether to display help information about current command. | yii\console\Controller |
$helpSummary | string | yii\console\Controller | |
$id | string | The ID of this controller. | yii\base\Controller |
$ignoreCategories | array | Message categories to ignore. | yii\console\controllers\MessageController |
$interactive | boolean | Whether to run the command interactively. | yii\console\Controller |
$languages | array | Required, list of language codes that the extracted messages should be translated to. | yii\console\controllers\MessageController |
$layout | null|string|false | The name of the layout to be applied to this controller's views. | yii\base\Controller |
$markUnused | boolean | Whether to mark messages that no longer appear in the source code. | yii\console\controllers\MessageController |
$messagePath | string | Required, root directory containing message translations. | yii\console\controllers\MessageController |
$messageTable | string | Custom name for translation message table for "db" format. | yii\console\controllers\MessageController |
$module | yii\base\Module | The module that this controller belongs to. | yii\base\Controller |
$modules | yii\base\Module[] | All ancestor modules that this controller is located within. | yii\base\Controller |
$only | array | List of patterns that specify which files (not directories) should be processed. | yii\console\controllers\MessageController |
$overwrite | boolean | Whether the message file should be overwritten with the merged messages | yii\console\controllers\MessageController |
$passedOptionValues | array | The properties corresponding to the passed options | yii\console\Controller |
$passedOptions | array | The names of the options passed during execution | yii\console\Controller |
$removeUnused | boolean | Whether to remove messages that no longer appear in the source code. | yii\console\controllers\MessageController |
$route | string | The route (module ID, controller ID and action ID) of the current request. | yii\base\Controller |
$sort | boolean | Whether to sort messages by keys when merging new messages with the existing ones. | yii\console\controllers\MessageController |
$sourceMessageTable | string | Custom name for source message table for "db" format. | yii\console\controllers\MessageController |
$sourcePath | string | Required, root directory of all source files. | yii\console\controllers\MessageController |
$translator | string | The name of the function for translating messages. | yii\console\controllers\MessageController |
$uniqueId | string | The controller ID that is prefixed with the module ID (if any). | yii\base\Controller |
$view | yii\base\View|yii\web\View | The view object that can be used to render views or view files. | yii\base\Controller |
$viewPath | string | The directory containing the view files for this controller. | yii\base\Controller |
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Object |
__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 an object property. | yii\base\Object |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Object |
__set() | Sets value of an object property. | yii\base\Object |
__unset() | Sets an object property to null. | yii\base\Object |
actionConfig() | Creates a configuration file for the "extract" command using command line options specified | yii\console\controllers\MessageController |
actionConfigTemplate() | Creates a configuration file template for the "extract" command. | yii\console\controllers\MessageController |
actionExtract() | Extracts messages to be translated from source code. | 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() | Formats a string with ANSI codes | 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() | Binds the parameters to the action. | yii\console\Controller |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Object |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Object |
className() | Returns the fully qualified name of this class. | yii\base\Object |
confirm() | Asks user to confirm by typing y or 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() | Returns the help information for the anonymous arguments for the action. | yii\console\Controller |
getActionHelp() | Returns the detailed help information for the specified action. | yii\console\Controller |
getActionHelpSummary() | Returns a one-line short summary describing the specified action. | yii\console\Controller |
getActionOptionsHelp() | Returns the help information for the options for the action. | yii\console\Controller |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
getHelp() | Returns help information for this controller. | yii\console\Controller |
getHelpSummary() | Returns one-line short summary describing this controller. | yii\console\Controller |
getModules() | Returns all ancestor modules of this controller. | yii\base\Controller |
getOptionValues() | Returns properties corresponding to the options for the action id Child classes may override this method to specify possible properties. | yii\console\Controller |
getPassedOptionValues() | Returns the properties corresponding to the passed options | yii\console\Controller |
getPassedOptions() | Returns the names of valid options passed during execution. | 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\Object |
hasProperty() | Returns a value indicating whether a property is defined. | yii\base\Object |
init() | Initializes the object. | yii\base\Object |
isColorEnabled() | Returns a value indicating whether ANSI color is enabled. | 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() | Returns option alias names. | yii\console\controllers\MessageController |
options() | Returns the names of valid options for the action (id) An option requires the existence of a public member variable whose name is the option name. | yii\console\controllers\MessageController |
prompt() | Prompts the user for input and validates it | 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() | Runs an action with the specified action ID and parameters. | yii\console\Controller |
select() | Gives the user an option to choose from. Giving '?' as an input will show a list of options to choose from and their explanations. | 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() | Prints a string to STDERR | yii\console\Controller |
stdout() | Prints a string to STDOUT | yii\console\Controller |
trigger() | Triggers an event. | yii\base\Component |
Event | Type | Description | Defined By |
---|---|---|---|
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 |
Constant | Value | Description | Defined By |
---|---|---|---|
EXIT_CODE_ERROR | 1 | yii\console\Controller | |
EXIT_CODE_NORMAL | 0 | yii\console\Controller |
Name of the file that will be used for translations for "po" format.
public string $catalog = 'messages'
Connection component ID for "db" format.
public string $db = 'db'
Controller default action ID.
public string $defaultAction = 'extract'
List of patterns that specify which files/directories should NOT be processed. If empty or not set, all files/directories will be processed. See helpers/FileHelper::findFiles() description for pattern matching rules. If a file/directory matches both a pattern in "only" and "except", it will NOT be processed.
public array $except = ['.svn', '.git', '.gitignore', '.gitkeep', '.hgignore', '.hgkeep', '/messages', '/BaseYii.php']
Generated file format. Can be "php", "db", "po" or "pot".
public string $format = 'php'
Message categories to ignore. For example, 'yii', 'app*', 'widgets/menu', etc.
See also isCategoryIgnored().
public array $ignoreCategories = []
Required, list of language codes that the extracted messages should be translated to. For example, ['zh-CN', 'de'].
public array $languages = []
Whether to mark messages that no longer appear in the source code. Defaults to true, which means each of these messages will be enclosed with a pair of '@@' marks.
public boolean $markUnused = true
Required, root directory containing message translations.
public string $messagePath = '@yii/messages'
Custom name for translation message table for "db" format.
public string $messageTable = '{{%message}}'
List of patterns that specify which files (not directories) should be processed. If empty or not set, all files will be processed. See helpers/FileHelper::findFiles() description for pattern matching rules. If a file/directory matches both a pattern in "only" and "except", it will NOT be processed.
public array $only = ['*.php']
Whether the message file should be overwritten with the merged messages
public boolean $overwrite = true
Whether to remove messages that no longer appear in the source code. Defaults to false, which means these messages will NOT be removed.
public boolean $removeUnused = false
Whether to sort messages by keys when merging new messages with the existing ones. Defaults to false, which means the new (untranslated) messages will be separated from the old (translated) ones.
public boolean $sort = false
Custom name for source message table for "db" format.
public string $sourceMessageTable = '{{%source_message}}'
Required, root directory of all source files.
public string $sourcePath = '@yii'
The name of the function for translating messages. Defaults to 'Yii::t'. This is used as a mark to find the messages to be translated. You may use a string for single function name or an array for multiple function names.
public string $translator = 'Yii::t'
Creates a configuration file for the "extract" command using command line options specified
The generated configuration file contains parameters required for source code messages extraction. You may use this configuration file with the "extract" command.
public integer actionConfig ( $filePath ) | ||
---|---|---|
$filePath | string |
Output file name or alias. |
return | integer |
CLI exit code |
throws | yii\console\Exception |
on failure. |
Creates a configuration file template for the "extract" command.
The created configuration file contains detailed instructions on how to customize it to fit for your needs. After customization, you may use this configuration file with the "extract" command.
public integer actionConfigTemplate ( $filePath ) | ||
---|---|---|
$filePath | string |
Output file name or alias. |
return | integer |
CLI exit code |
throws | yii\console\Exception |
on failure. |
Extracts messages to be translated from source code.
This command will search through source code files and extract messages that need to be translated in different languages.
public void actionExtract ( $configFile = null ) | ||
---|---|---|
$configFile | string |
The path or alias of the configuration file. You may use the "yii message/config" command to generate this file and then customize it for your needs. |
throws | yii\console\Exception |
on failure. |
Extracts messages from a file
protected array extractMessages ( $fileName, $translator, $ignoreCategories = [] ) | ||
---|---|---|
$fileName | string |
Name of the file to extract messages from |
$translator | string |
Name of the function used to translate messages |
$ignoreCategories | array |
Message categories to ignore. This parameter is available since version 2.0.4. |
Extracts messages from a parsed PHP tokens list.
protected array extractMessagesFromTokens ( array $tokens, array $translatorTokens, array $ignoreCategories ) | ||
---|---|---|
$tokens | array |
Tokens to be processed. |
$translatorTokens | array |
Translator tokens. |
$ignoreCategories | array |
Message categories to ignore. |
return | array |
Messages. |
Finds out a line of the first non-char PHP token found
protected integer|string getLine ( $tokens ) | ||
---|---|---|
$tokens | array |
The method checks, whether the $category is ignored according to $ignoreCategories array.
Examples:
myapp
- will be ignored only myapp
category;myapp*
- will be ignored by all categories beginning with myapp
(myapp
, myapplication
, myapprove
, myapp/widgets
, myapp.widgets
, etc).protected boolean isCategoryIgnored ( $category, array $ignoreCategories ) | ||
---|---|---|
$category | string |
Category that is checked |
$ignoreCategories | array |
Message categories to ignore. |
Returns option alias names.
Child classes may override this method to specify alias options.
public array optionAliases ( ) | ||
---|---|---|
return | array |
The options alias names valid for the action where the keys is alias name for option and value is option name. |
Returns the names of valid options for the action (id) An option requires the existence of a public member variable whose name is the option name.
Child classes may override this method to specify possible options.
Note that the values setting via options are not available until beforeAction() is being called.
public string[] options ( $actionID ) | ||
---|---|---|
$actionID | string |
The action id of the current request |
return | string[] |
The names of the options valid for the action |
Writes category messages into PHP file
protected integer saveMessagesCategoryToPHP ( $messages, $fileName, $overwrite, $removeUnused, $sort, $category, $markUnused ) | ||
---|---|---|
$messages | array | |
$fileName | string |
Name of the file to write to |
$overwrite | boolean |
If existing file should be overwritten without backup |
$removeUnused | boolean |
If obsolete translations should be removed |
$sort | boolean |
If translations should be sorted |
$category | string |
Message category |
$markUnused | boolean |
If obsolete translations should be marked |
return | integer |
Exit code |
Saves messages to database
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 |
Writes messages into PHP files
protected void saveMessagesToPHP ( $messages, $dirName, $overwrite, $removeUnused, $sort, $markUnused ) | ||
---|---|---|
$messages | array | |
$dirName | string |
Name of the directory to write to |
$overwrite | boolean |
If existing file should be overwritten without backup |
$removeUnused | boolean |
If obsolete translations should be removed |
$sort | boolean |
If translations should be sorted |
$markUnused | boolean |
If obsolete translations should be marked |
Writes messages into PO file
protected void saveMessagesToPO ( $messages, $dirName, $overwrite, $removeUnused, $sort, $catalog, $markUnused ) | ||
---|---|---|
$messages | array | |
$dirName | string |
Name of the directory to write to |
$overwrite | boolean |
If existing file should be overwritten without backup |
$removeUnused | boolean |
If obsolete translations should be removed |
$sort | boolean |
If translations should be sorted |
$catalog | string |
Message catalog |
$markUnused | boolean |
If obsolete translations should be marked |
Writes messages into POT file
protected void saveMessagesToPOT ( $messages, $dirName, $catalog ) | ||
---|---|---|
$messages | array | |
$dirName | string |
Name of the directory to write to |
$catalog | string |
Message catalog |
Finds out if two PHP tokens are equal
protected boolean tokensEqual ( $a, $b ) | ||
---|---|---|
$a | array|string | |
$b | array|string |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-console-controllers-messagecontroller.html