/** * Insert missing translation to php file * @param $event MissingTranslationEvent */ public function insertMissingTranslation($event) { Yii::$app->cache->flush(); /* find source */ $source = SourceMessage::find()->where('`category`=:category AND BINARY `message`=:message')->params([':category' => $event->category, ':message' => $event->message])->one(); /* create source message if no exist */ if (!$source) { $source = new SourceMessage(); $source->category = $event->category; $source->message = $event->message; $source->save(); } //file_put_contents('d:\log1.txt', $event->message); /* add translate message */ Yii::$app->db->createCommand()->insert($this->messageTable, ['id' => $source->id, 'language' => $event->language, 'translation' => $event->message])->execute(); //file_put_contents('D:\log.txt', 'mission'); }
/** * Creates a new SourceMessage model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new SourceMessage(); $lang = Lang::find()->all(); foreach ($lang as $i) { $model_content[$i->code] = new Message(); $model_content[$i->code]['language'] = $i->code; $model_content[$i->code]['id'] = 0; } if ($model->load(Yii::$app->request->post()) && Model::loadMultiple($model_content, Yii::$app->request->post()) && Model::validateMultiple($model_content) && $model->save()) { foreach ($model_content as $key => $content) { $content->id = $model->id; $content->language = $key; $content->save(false); } return $this->redirect(['/message']); } else { return $this->render('create', ['model' => $model, 'model_content' => $model_content]); } }