use HasTranslations {
update as protected updateTranslations;
create as protected createTranslations;
+ getAvailableLocales as protected getAvailableLocalesTranslations;
}
/**
*/
protected $translatable = [];
+ /**
+ * @var string|array
+ */
+ protected $_availableLocales = 'backpack';
+
public function postSetFields()
{
parent::postSetFields();
return $this->createTranslations($this->_prepareData($attributes));
}
+ public function getAvailableLocales()
+ {
+ if ($this->_availableLocales === 'backpack') {
+ return $this->getAvailableLocalesTranslations();
+ } else if (is_array($this->_availableLocales)) {
+ return $this->_availableLocales;
+ }
+ }
+
}
parent::onBeforeUpdate($controller, $request); // TODO: Change the autogenerated stub
}
- public function onBeforeStore($controller, $request)
- {
-
- parent::onBeforeStore($controller, $request); // TODO: Change the autogenerated stub
- }
- public function onAfterSave()
+ public function postSave()
{
$this->saveLanguageFile();
- parent::onAfterSave();
+ parent::postSave();
}
$translations[$key] = $content;
}
- file_put_contents(base_path() . '/resources/lang/' . $locale . '.json', json_encode($translations));
+ file_put_contents($this->_getLanguageFile($locale), json_encode($translations));
+ }
+
+ protected function _getLanguageFile($locale)
+ {
+ return base_path() . '/resources/lang/' . $locale . '.json';
}
}