Я ищу быстрый и эффективный способ перевода всех продуктов в osCommerce по фразам.Эффективный способ перевода продуктов в базу данных
В настоящее время существует несколько языковых файлов, где хранятся все фразы, а затем просто заменяет поля обновлений. Раздражает то, что его старая система и не использует кодировку UTF-8, поэтому всякий раз, когда я хочу что-то переводить, мне нужно открыть файл, изменить кодировку, добавить перевод и затем закодировать ее обратно в предыдущую кодировку. Кроме того, он определяет, какие фразы по номеру строки так, например, если бы я добавлял русскую фразу, но не весь испанский перевод был испорчен.
На что я пришел сейчас, это поместить все в базу данных для легкого доступа. Есть две таблицы:
Основные языковые фразы: translate_id, фраза
Другие языки: translate_id, перевод, LANGUAGE_ID
включают ('mysql.php'); set_time_limit (600);
$query=$db->prepare("SELECT phrase, translation, language_id FROM phrases AS f
LEFT JOIN translations AS v
ON f.translate_id = v.translate_id
WHERE v.language_id=9");
$query->execute();
$result = $query -> fetchAll();
for($n = 0; $n < count($result); $n++) {
$phrase = htmlspecialchars($result[$n]['phrase']);
$translation = htmlspecialchars($result[$n]['translation']);
$query=$db->prepare('
UPDATE products_description AS pd
LEFT JOIN products as p
ON p.products_id = pd.products_id
SET pd.products_name = REPLACE(pd.products_name, "'. $phrase .'","'. $translation .'")
WHERE language_id = 9 AND p.products_status = 1
');
$query->execute();
}
Это то, к чему я придумал. По какой-то причине он ничего не заменяет (что-то не так), но самая большая проблема заключается в том, что я тестирую его только на одном языке, и он даже медленнее, чем перенос на основе файлов.
Как сделать это как можно быстрее? Каков наилучший способ сделать это? Может быть, какой-то класс или что-то еще?
это v2.2. Извините за то, что я не понимаю. Дело в том, что у нас есть более 70 тыс. Продуктов, и невозможно перевести каждый продукт вручную.Вместо этого мы выполняем цикл каждого продукта, а затем заменяем слова, которые находятся в файлах перевода. – crosseds