lajax\translatemanager\models\LanguageSource::insertLanguageItems PHP Method

insertLanguageItems() public method

Inserting new language elements into the language_source table.
public insertLanguageItems ( array $languageItems ) : integer
$languageItems array
return integer The number of new language elements.
    public function insertLanguageItems($languageItems)
    {
        $data = [];
        foreach ($languageItems as $category => $messages) {
            foreach (array_keys($messages) as $message) {
                $data[] = [$category, $message];
            }
        }
        $count = count($data);
        for ($i = 0; $i < $count; $i += self::INSERT_LANGUAGE_ITEMS_LIMIT) {
            static::getDb()->createCommand()->batchInsert(static::tableName(), ['category', 'message'], array_slice($data, $i, self::INSERT_LANGUAGE_ITEMS_LIMIT))->execute();
        }
        return $count;
    }

Usage Example

 /**
  * Scanning project for text not stored in database.
  * @return integer The number of new language elements.
  */
 public function run()
 {
     $scanTimeLimit = Yii::$app->getModule('translatemanager')->scanTimeLimit;
     if (!is_null($scanTimeLimit)) {
         set_time_limit($scanTimeLimit);
     }
     $this->_initLanguageArrays();
     $languageSource = new LanguageSource();
     return $languageSource->insertLanguageItems($this->_languageElements);
 }
All Usage Examples Of lajax\translatemanager\models\LanguageSource::insertLanguageItems