Inheritance | yii\i18n\MessageSource » yii\base\Component » yii\base\Object |
---|---|
Implements | yii\base\Configurable |
Subclasses | yii\i18n\DbMessageSource, yii\i18n\GettextMessageSource, yii\i18n\PhpMessageSource, yii\mongodb\i18n\MongoDbMessageSource |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/i18n/MessageSource.php |
MessageSource is the base class for message translation repository classes.
A message source stores message translations in some persistent storage.
Child classes should override loadMessages() to provide translated messages.
Property | Type | Description | Defined By |
---|---|---|---|
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$forceTranslation | boolean | Whether to force message translation when the source and target languages are the same. | yii\i18n\MessageSource |
$sourceLanguage | string | The language that the original messages are in. | yii\i18n\MessageSource |
Method | Description | Defined By |
---|---|---|
__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() | Constructor. | yii\base\Object |
__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 |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
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\Object |
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 |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
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 this component. | yii\i18n\MessageSource |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
translate() | Translates a message to the specified language. | yii\i18n\MessageSource |
trigger() | Triggers an event. | yii\base\Component |
Method | Description | Defined By |
---|---|---|
loadMessages() | Loads the message translation for the specified language and category. | yii\i18n\MessageSource |
translateMessage() | Translates the specified message. | yii\i18n\MessageSource |
Event | Type | Description | Defined By |
---|---|---|---|
EVENT_MISSING_TRANSLATION | yii\i18n\MissingTranslationEvent | An event that is triggered when a message translation is not found. | yii\i18n\MessageSource |
Whether to force message translation when the source and target languages are the same. Defaults to false, meaning translation is only performed when source and target languages are different.
public boolean $forceTranslation = false
The language that the original messages are in. If not set, it will use the value of yii\base\Application::$sourceLanguage.
public string $sourceLanguage = null
Initializes this component.
public void init ( ) |
---|
Loads the message translation for the specified language and category.
If translation for specific locale code such as en-US
isn't found it tries more generic en
.
protected array loadMessages ( $category, $language ) | ||
---|---|---|
$category | string |
The message category |
$language | string |
The target language |
return | array |
The loaded messages. The keys are original messages, and the values are translated messages. |
Translates a message to the specified language.
Note that unless $forceTranslation is true, if the target language is the same as the source language, the message will NOT be translated.
If a translation is not found, a missingTranslation event will be triggered.
public string|boolean translate ( $category, $message, $language ) | ||
---|---|---|
$category | string |
The message category |
$message | string |
The message to be translated |
$language | string |
The target language |
return | string|boolean |
The translated message or false if translation wasn't found or isn't required |
Translates the specified message.
If the message is not found, a missingTranslation event will be triggered. If there is an event handler, it may provide a fallback translation. If no fallback translation is provided this method will return false
.
protected string|boolean translateMessage ( $category, $message, $language ) | ||
---|---|---|
$category | string |
The category that the message belongs to. |
$message | string |
The message to be translated. |
$language | string |
The target language. |
return | string|boolean |
The translated message or false if translation wasn't found. |
An event that is triggered when a message translation is not found.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-i18n-messagesource.html