CGettextMessageSource
CGettextMessageSource represents a message source that is based on GNU Gettext.
Each CGettextMessageSource instance represents the message tranlations
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
Hide inherited properties
| Property | Type | Description | Defined By |
| basePath |
string |
the base path for all translated messages. |
CGettextMessageSource |
| behaviors |
array |
the behaviors that should be attached to this component. |
CApplicationComponent |
| cacheID |
string |
the ID of the cache application component that is used to cache the messages. |
CGettextMessageSource |
| cachingDuration |
integer |
the time in seconds that the messages can remain valid in cache. |
CGettextMessageSource |
| catalog |
string |
the message catalog name. |
CGettextMessageSource |
| isInitialized |
boolean |
whether this application component has been initialized (i. |
CApplicationComponent |
| language |
string |
the language that the source messages are written in. |
CMessageSource |
| useBigEndian |
boolean |
whether to use Big Endian to read and write MO files. |
CGettextMessageSource |
| useMoFile |
boolean |
whether to load messages from MO files. |
CGettextMessageSource |
Property Details
public string $basePath;
the base path for all translated messages. Defaults to null, meaning
the "messages" subdirectory of the application directory (e.g. "protected/messages").
public string $cacheID;
the ID of the cache application component that is used to cache the messages.
Defaults to 'cache' which refers to the primary cache application component.
Set this property to false if you want to disable caching the messages.
public integer $cachingDuration;
the time in seconds that the messages can remain valid in cache.
Defaults to 0, meaning the caching is disabled.
public string $catalog;
the message catalog name. This is the name of the message file (without extension)
that stores the translated messages. Defaults to 'messages'.
public boolean $useBigEndian;
whether to use Big Endian to read and write MO files.
Defaults to false. This property is only used when useMoFile is true.
public boolean $useMoFile;
whether to load messages from MO files. Defaults to true.
If false, messages will be loaded from PO files.
Method Details
Initializes the application component.
This method overrides the parent implementation by preprocessing
the user request data.
|
protected array loadMessages(string $category, string $language)
|
| $category |
string |
the message category |
| $language |
string |
the target language |
| {return} |
array |
the loaded messages |
Loads the message translation for the specified language and category.