PHP Class yii\mongodb\i18n\MongoDbMessageSource
This message source uses single collection for the message translations storage, defined via [[collection]].
each entry in this collection should have 3 fields:
- language: string, translation language
- category: string, name translation category
- messages: array, list of actual message translations, in each element: the key is raw message name
value - message translation.
For example:
json
{
"category": "app",
"language": "de",
"messages": {
"Hello world!": "Hallo Welt!",
"The dog runs fast.": "Der Hund rennt schnell.",
...
},
}
Mostrar archivo
Open project: yiisoft/yii2-mongodb
Public Properties
Property |
Type |
Description |
|
$cache |
|
the cache object or the application component ID of the cache object.
The messages data will be cached using this cache object.
Note, that to enable caching you have to set [[enableCaching]] to true, otherwise setting this property has no effect.
After the MongoDbMessageSource object is created, if you want to change this property, you should only assign
it with a cache object.
This can also be a configuration array for creating the object. |
|
$cachingDuration |
|
the time in seconds that the messages can remain valid in cache.
Use 0 to indicate that the cached data will never expire. |
|
$collection |
|
the name of the MongoDB collection, which stores translated messages.
This collection is better to be pre-created with fields 'category' and 'language' indexed. |
|
$db |
|
the MongoDB connection object or the application component ID of the MongoDB connection.
After the MongoDbMessageSource object is created, if you want to change this property, you should only assign
it with a MongoDB connection object.
This can also be a configuration array for creating the object. |
|
$enableCaching |
|
whether to enable caching translated messages |
|
Public Methods
Method |
Description |
|
init ( ) |
Initializes the DbMessageSource component. |
|
Protected Methods
Method Details
This method will initialize the [[db]] property to make sure it refers to a valid DB connection.
Configured [[cache]] component would also be initialized.
loadMessages()
protected method
If translation for specific locale code such as en-US isn't found it
tries more generic en.
protected loadMessages ( string $category, string $language ) : array |
$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. |
loadMessagesFromDb()
protected method
You may override this method to customize the message storage in the MongoDB.
Property Details
$cache public_oe property
the cache object or the application component ID of the cache object.
The messages data will be cached using this cache object.
Note, that to enable caching you have to set [[enableCaching]] to true, otherwise setting this property has no effect.
After the MongoDbMessageSource object is created, if you want to change this property, you should only assign
it with a cache object.
This can also be a configuration array for creating the object.
$cachingDuration public_oe property
the time in seconds that the messages can remain valid in cache.
Use 0 to indicate that the cached data will never expire.
$collection public_oe property
the name of the MongoDB collection, which stores translated messages.
This collection is better to be pre-created with fields 'category' and 'language' indexed.
the MongoDB connection object or the application component ID of the MongoDB connection.
After the MongoDbMessageSource object is created, if you want to change this property, you should only assign
it with a MongoDB connection object.
This can also be a configuration array for creating the object.
$enableCaching public_oe property
whether to enable caching translated messages