Class yii\i18n\GettextMessageSource
| Inheritance | yii\i18n\GettextMessageSource » yii\i18n\MessageSource » yii\base\Component » yii\base\BaseObject |
|---|---|
| Implements | yii\base\Configurable |
| Available since version | 2.0 |
| Source Code | https://github.com/yiisoft/yii2/blob/master/framework/i18n/GettextMessageSource.php |
GettextMessageSource represents a message source that is based on GNU Gettext.
Each GettextMessageSource instance represents the message translations for a single domain. And each message category represents a message context in Gettext. Translated messages are stored as either a MO or PO file, depending on the $useMoFile property value.
All translations are saved under the $basePath directory.
Translations in one language are kept as MO or PO files under an individual subdirectory whose name is the language ID. The file name is specified via $catalog property, which defaults to 'messages'.
Public Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| $basePath | string | yii\i18n\GettextMessageSource | |
| $catalog | string | yii\i18n\GettextMessageSource | |
| $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 |
| $useBigEndian | boolean | yii\i18n\GettextMessageSource | |
| $useMoFile | boolean | yii\i18n\GettextMessageSource |
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 |
|---|---|---|
| getMessageFilePath() | Returns message file path for the specified language and category. | yii\i18n\GettextMessageSource |
| loadFallbackMessages() | The method is normally called by loadMessages() to load the fallback messages for the language. | yii\i18n\GettextMessageSource |
| loadMessages() | Loads the message translation for the specified $language and $category. | yii\i18n\GettextMessageSource |
| loadMessagesFromFile() | Loads the message translation for the specified language and category or returns null if file doesn't exist. | yii\i18n\GettextMessageSource |
| 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 |
Constants
| Constant | Value | Description | Defined By |
|---|---|---|---|
| MO_FILE_EXT | '.mo' | yii\i18n\GettextMessageSource | |
| PO_FILE_EXT | '.po' | yii\i18n\GettextMessageSource |
Property Details
Method Details
Returns message file path for the specified language and category.
| protected string getMessageFilePath ( $language ) | ||
| $language | string | The target language |
| return | string | Path to message file |
|---|---|---|
The method is normally called by loadMessages() to load the fallback messages for the language.
Method tries to load the $category messages for the $fallbackLanguage and adds them to the $messages array.
| protected array loadFallbackMessages ( $category, $fallbackLanguage, $messages, $originalMessageFile ) | ||
| $category | string | The message category |
| $fallbackLanguage | string | The target fallback language |
| $messages | array | The array of previously loaded translation messages. The keys are original messages, and the values are the translated messages. |
| $originalMessageFile | string | The path to the file with messages. Used to log an error message in case when no translations were found. |
| return | array | The loaded messages. The keys are original messages, and the values are the translated messages. |
|---|---|---|
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. When both are present, the en-US messages will be merged
over en. See loadFallbackMessages() for details.
If the $language is less specific than $sourceLanguage, the method will try to
load the messages for $sourceLanguage. For example: $sourceLanguage is en-GB,
$language is en. The method will load the messages for en and merge them over en-GB.
See also:
| 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. |
|---|---|---|
Loads the message translation for the specified language and category or returns null if file doesn't exist.
| protected array|null loadMessagesFromFile ( $messageFile, $category ) | ||
| $messageFile | string | Path to message file |
| $category | string | The message category |
| return | array|null | Array of messages or null if file not found |
|---|---|---|