2017-01-06 47 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中的所有產品的短語。

其實產品說明翻譯在products_description數據庫表上:考慮到,我不太明白你缺少什麼,你的需求是什麼。 「短語」的含義是什麼?

此外,管理側提供了一個表格填寫翻譯其中URL是這樣的:

http://[you主機] ​​/catalog/admin/categories.php?cPath=55_129 & PID = 1000 &行動= new_product

enter image description here

本頁面:

  • 使用的內部enconding您osC版本
  • 這是一個友好的界面來編輯產品說明
  • 使用de數據庫,而不是文件。
+0

它是v2.2。對不起,不清楚。問題是我們有超過7萬種產品,不可能手動翻譯每個產品。我們所做的是循環瀏覽每個產品,然後替換翻譯文件中的單詞。 – crosseds