public function translate($category, $message, $language) { $translation = (new Query())->from(Message::tableName())->leftJoin(Language::tableName(), '`' . Message::tableName() . '`.`lang_id` = `' . Language::tableName() . '`.`id`')->where(['message' => $message, 'category' => $category, Language::tableName() . '.lang_id' => $language])->one(); if ($translation === false) { $translation = (new Query())->from(Message::tableName())->leftJoin(Language::tableName(), '`' . Message::tableName() . '`.`lang_id` = `' . Language::tableName() . '`.`id`')->where(['message' => $message, 'category' => $category, Language::tableName() . '.lang_id' => Language::getDefaultCode()])->one(); if ($translation === false) { return false; } return $translation['translation']; } return $translation['translation']; }
/** * @inheritdoc */ public function down() { $this->dropTable(Language::tableName()); }