Class yii\i18n\MessageSource
Inheritance | yii\i18n\MessageSource » yii\base\Component » yii\base\BaseObject |
---|---|
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.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component. This property is read-only. | 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 |
Public Methods
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\BaseObject |
__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\BaseObject |
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 |
Protected Methods
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 |
Events
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 |
Property Details
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.
The language that the original messages are in. If not set, it will use the value of yii\base\Application::$sourceLanguage.
Method Details
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. |
---|
Event Details
An event that is triggered when a message translation is not found.