db->prefix . 'blocklingo_translations'; } /** Collected theme and plugin strings. */ public function strings(): string { return $this->db->prefix . 'blocklingo_strings'; } /** Translations of the collected strings. */ public function string_translations(): string { return $this->db->prefix . 'blocklingo_string_translations'; } /** @return string[] One CREATE TABLE statement per table, in dbDelta format. */ public function statements(): array { $charset = $this->db->get_charset_collate(); return array( "CREATE TABLE {$this->translations()} ( object_type varchar(20) NOT NULL DEFAULT 'post', object_id bigint(20) unsigned NOT NULL, lang varchar(12) NOT NULL, group_id bigint(20) unsigned NOT NULL, PRIMARY KEY (object_type,object_id), UNIQUE KEY group_lang (object_type,group_id,lang), KEY lang (lang) ) {$charset};", "CREATE TABLE {$this->strings()} ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, hash char(32) NOT NULL, domain varchar(191) NOT NULL DEFAULT '', context varchar(191) NOT NULL DEFAULT '', original longtext NOT NULL, created datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (id), UNIQUE KEY hash (hash), KEY domain (domain) ) {$charset};", "CREATE TABLE {$this->string_translations()} ( string_id bigint(20) unsigned NOT NULL, lang varchar(12) NOT NULL, value longtext NOT NULL, PRIMARY KEY (string_id,lang), KEY lang (lang) ) {$charset};", ); } }