/**
  * 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');
 }
示例#2
0
 /**
  * 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]);
     }
 }