Component Configuration is designed to store data such as key-value with the internationalization.
In configuration file
'components' => [
'config' => [
'class' => '\ymaker\configuration\translation\Configuration',
'provider' => [
'class' => '\ymaker\configuration\providers\translation\DbProvider',
'tableName' => '{{%configuration_translation}}', // by default
'keyColumn' => 'key', // by default
'valueColumn' => 'value', // by default
]
],
...
]- Create Class for provider
- Implement
\ymaker\configuration\translation\TranslationProviderInterface - Change in the configuration file on your provider
Db provider example
$isSet = \Yii::$app->config->set('address', 'Kiev, Ukraine');
$value = \Yii::$app->config->get('address'); // return 'Kiev, Ukraine';
$isSetTranslation = \Yii::$app->config->setTranslation('address', 'Киев, Украина' 'ru-RU');
$valueTranslation = \Yii::$app->config->getTranslation('address', 'ru-RU'); // return 'Киев, Украина';
$isSetTranslation = \Yii::$app->config->setTranslation('phone', '+111111111111' 'ru-RU');
$keys = ['address', 'phone'];
$valueTranslations = \Yii::$app->config->getMultiplyTranslation($keys, 'ru-RU'); // return ['address' => 'Киев, Украина', 'phone' => '+111111111111'];