29 $this->default_language = $this->db->queryF(
30 'SELECT value FROM settings WHERE keyword = %s AND module = %s',
32 [
'language',
'common']
33 )->fetchAssoc()[
'value'] ??
'en';
38 $this->db->manipulateF(
39 'UPDATE ' . self::TABLE_NAME .
' SET status = 0 WHERE id = %s',
41 [$translations->
getId()]
44 foreach ($translations->
get() as $translation) {
45 $this->db->manipulateF(
46 'REPLACE INTO ' . self::TABLE_NAME .
' (id, language_code, translation, status) VALUES (%s, %s, %s, 1)',
47 [
'text',
'text',
'text'],
48 [$translation->getId(), $translation->getLanguageCode(), $translation->getTranslation()]
53 $this->db->manipulateF(
54 'DELETE FROM ' . self::TABLE_NAME .
' WHERE id = %s AND translation = ""',
56 [$translations->
getId()]
64 $r = $this->db->queryF(
65 'SELECT * FROM ' . self::TABLE_NAME .
' WHERE id = %s AND status = 1',
71 while ($row = $this->db->fetchAssoc(
$r)) {
72 if (empty($row[
'translation'])) {
78 $row[
'language_code'],
83 return new Translations($this->default_language, $item, ...$translations);
97 $this->db->manipulate(
'TRUNCATE TABLE ' . self::TABLE_NAME);