Save complete original text

This commit is contained in:
Jakub Vrana 2011-02-14 12:09:14 +01:00
parent eb41053c61
commit 052828422d

View file

@ -3,9 +3,9 @@
CREATE TABLE translation ( CREATE TABLE translation (
id int NOT NULL AUTO_INCREMENT, -- optional id int NOT NULL AUTO_INCREMENT, -- optional
language_id varchar(5) NOT NULL, language_id varchar(5) NOT NULL,
idf varchar(100) NOT NULL COLLATE utf8_bin, idf text NOT NULL COLLATE utf8_bin,
translation text NOT NULL, translation text NOT NULL,
UNIQUE (language_id, idf), UNIQUE (language_id, idf(100)),
PRIMARY KEY (id) PRIMARY KEY (id)
); );
*/ */
@ -17,23 +17,22 @@ CREATE TABLE translation (
*/ */
class AdminerTranslation { class AdminerTranslation {
function _translate($s) { function _translate($idf) {
static $translations, $lang; static $translations, $lang;
if (!isset($lang)) { if (!isset($lang)) {
$lang = get_lang(); $lang = get_lang();
} }
if ($s == "" || $lang == "en") { if ($idf == "" || $lang == "en") {
return $s; return $idf;
} }
if (!isset($translations)) { if (!isset($translations)) {
$translations = get_key_vals("SELECT idf, translation FROM translation WHERE language_id = " . q($lang)); $translations = get_key_vals("SELECT idf, translation FROM translation WHERE language_id = " . q($lang));
} }
$idf = preg_replace('~^(.{100}).*~su', '\\1', $s);
$return = &$translations[$idf]; $return = &$translations[$idf];
if (!isset($return)) { if (!isset($return)) {
$return = $s; $return = $idf;
$connection = connection(); $connection = connection();
$connection->query("INSERT INTO translation (language_id, idf, translation) VALUES (" . q($lang) . ", " . q($idf) . ", " . q($s) . ")"); $connection->query("INSERT INTO translation (language_id, idf, translation) VALUES (" . q($lang) . ", " . q($idf) . ", " . q($idf) . ")");
} }
return $return; return $return;
} }