2017-01-06 14 views
0

Я ищу быстрый и эффективный способ перевода всех продуктов в osCommerce по фразам.Эффективный способ перевода продуктов в базу данных

В настоящее время существует несколько языковых файлов, где хранятся все фразы, а затем просто заменяет поля обновлений. Раздражает то, что его старая система и не использует кодировку UTF-8, поэтому всякий раз, когда я хочу что-то переводить, мне нужно открыть файл, изменить кодировку, добавить перевод и затем закодировать ее обратно в предыдущую кодировку. Кроме того, он определяет, какие фразы по номеру строки так, например, если бы я добавлял русскую фразу, но не весь испанский перевод был испорчен.

На что я пришел сейчас, это поместить все в базу данных для легкого доступа. Есть две таблицы:

  1. Основные языковые фразы: translate_id, фраза

  2. Другие языки: 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(); 

} 

Это то, к чему я придумал. По какой-то причине он ничего не заменяет (что-то не так), но самая большая проблема заключается в том, что я тестирую его только на одном языке, и он даже медленнее, чем перенос на основе файлов.

Как сделать это как можно быстрее? Каков наилучший способ сделать это? Может быть, какой-то класс или что-то еще?

ответ

0

Можете ли вы указать свою версию osCommerce?

Я ищу быстрый и эффективный способ перевода всех продуктов в osCommerce по фразам.

Фактически описание продукта переведено на table_description table table: Учитывая, что я не совсем понимаю, чего вам не хватает, что вам нужно. В чем смысл «по фразам»?

Кроме того, сторона администратор предлагает заполнить форму, переводы, которые URL как то:

http://[you хозяин] /catalog/admin/categories.php?cPath=55_129 & Pid = 1000 & действие = new_product

enter image description here

Эта страница:

  • Использование внутренней enconding вашей osC version
  • Это удобный интерфейс для редактирования описания продуктов
  • Использование базы данных, а не файлов.
+0

это v2.2. Извините за то, что я не понимаю. Дело в том, что у нас есть более 70 тыс. Продуктов, и невозможно перевести каждый продукт вручную.Вместо этого мы выполняем цикл каждого продукта, а затем заменяем слова, которые находятся в файлах перевода. – crosseds