Спасибо за модуль.
по поводу запрошенных тобой - пока еще такого нет и сам не писал.
по update_russian подробнее:
для файла источника требуется SQL файл русской части скрипта. в ФОРМАТЕ !!!
Пример одной строчки:
Код:
INSERT INTO `xcart_languages` VALUES ('RU', 'For the proper functioning of HSBC, the store must be accessible via HTTPS.', 'txt_hsbc_note', 'Для правильного функционирования HSBC, магазин должен быть доступен через HTTPS.', 'Text');
такой дамп можно получить из phpMyAdmin через экспорт таблицы xcart_languages с включенным влажком `extented inserts`.
парсер строки SQL работает следующим образом:
проходит до первого апострофа (определяется переменной $delimiter = "'"; в строке 36)
затем все, что будет находить до закрывающего апострофа - присвоит очередному элементу массива с индексом очередного $strcode (строка 35)
у меня исходный языковой файл был в формате
PHP:
$strcode = array("code", "name", "value", "topic");
т.е. первой колонкой для записи был code, потом name и т.д.
т.е. уже файл без поля descr, которое было в более ранних версиях, если у тебя в исходнике есть descr, 35 строчка должна выглядеть так:
PHP:
$strcode = array("code", "descr", "name", "value", "topic");
вроде других вариантов нет.
Если у тебя не extended INSERTS, т.е. строки в формате
Код:
INSERT INTO `xcart_languages` (`code`, `name`, `value`, `topic`) VALUES ('RU', 'txt_hsbc_note', 'Для правильного функционирования HSBC, магазин должен быть доступен через HTTPS.', 'Text');
то нужно, если до VALUES есть апострофы (значение переменной delimiter ), а их не должно быть - то их нужно удалить.
подойдет любая search&replace утилита. Я для таких случаев использую Словогрыз.
теперь исходник готов.
скриптом он парсится один раз и результаты полученной переменной записываются в файл с названием переменной в строке 9
PHP:
$serial1 = "serialdata1.dat";
если нужно поправить файл исходник и пройти его заново, нужно этот файл перед запуском скрипта стереть.
формат файла- обновления.
по сути он тоже воспринимается как несколько полей, разделенных разделителями.
только параметры файла задаются в строках 100 и 101
PHP:
$strcode = array("code", "descr", "name", "value", "topic");
$delimiter = "'";
вышенаписанный пример означает, что в файле хранятся значения в порядке: code, descr, ..., topic и каждое из них обрамлено апострофами. Все символы между ними и до первого апострофа игнорируются. Сдвоенные апострофы внутри полей обрабатываются корректно.
затем скрипт проходит по каждому символу файла-обновления и если находит, что поле name у обновлемого значения имеет ячейку с индексом name у исходника (строка 22) и старое значение не кириллица, а новое - кириллица, то старое заменяется на новое.
затем обновленные данные записываются в дамп.
по твоей ошибке: у тебя не распознается формат данных
напиши строчку файла-исходника и я скажу в чем именно дело.