34 \
Magento\Framework\Locale\ResolverInterface $localeResolver,
39 $this->_localeResolver = $localeResolver;
52 $this->
_init(
'translation',
'key_id');
76 return parent::load($object,
$value, $field);
91 $select->where(
'store_id = ?', \
Magento\Store\Model\Store::DEFAULT_STORE_ID);
106 [
'store_id',
'translate']
108 'string = :translate_string' 110 $translations =
$connection->fetchPairs(
$select, [
'translate_string' => $object->getString()]);
111 $object->setStoreTranslations($translations);
112 return parent::_afterLoad($object);
126 ->where(
'string = :string')
127 ->where(
'store_id = :store_id');
132 return parent::_beforeSave($object);
146 [
'store_id',
'key_id']
152 $translations = $object->getStoreTranslations();
154 if (is_array($translations)) {
155 foreach ($translations as
$storeId => $translate) {
156 if ($translate ===
null || $translate ==
'') {
157 $where = [
'store_id = ?' =>
$storeId,
'string = ?' => $object->getString()];
160 $data = [
'store_id' =>
$storeId,
'string' => $object->getString(),
'translate' => $translate];
170 return parent::_afterSave($object);
183 if ($locale ===
null) {
184 $locale = $this->_localeResolver->getLocale();
187 $where = [
'locale = ?' => $locale,
'string = ?' => $string];
211 $string = htmlspecialchars_decode($string);
214 $translate = htmlspecialchars($translate, ENT_QUOTES);
216 if ($locale ===
null) {
217 $locale = $this->_localeResolver->getLocale();
226 [
'key_id',
'translate']
228 'store_id = :store_id' 234 'crc_string = :crc_string' 240 'crc_string' => crc32($string),
245 if (strpos($original,
'::') !==
false) {
246 list(, $original) = explode(
'::', $original);
248 if ($original == $translate) {
260 'translate' => $translate,
261 'crc_string' => crc32($string)
276 return $this->scopeResolver->getScope($this->scope)->getId();
_beforeSave(\Magento\Framework\Model\AbstractModel $object)
elseif(isset( $params[ 'redirect_parent']))
_init($mainTable, $idFieldName)
_afterSave(\Magento\Framework\Model\AbstractModel $object)
load(\Magento\Framework\Model\AbstractModel $object, $value, $field=null)
_getLoadSelect($field, $value, $object)
saveTranslate($string, $translate, $locale=null, $storeId=null)
__construct(\Magento\Framework\Model\ResourceModel\Db\Context $context, \Magento\Framework\Locale\ResolverInterface $localeResolver, \Magento\Framework\App\ScopeResolverInterface $scopeResolver, $connectionName=null, $scope=null)
_afterLoad(\Magento\Framework\Model\AbstractModel $object)
deleteTranslate($string, $locale=null, $storeId=null)