我正在尋找以短語翻譯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。對不起,不清楚。問題是我們有超過7萬種產品,不可能手動翻譯每個產品。我們所做的是循環瀏覽每個產品,然後替換翻譯文件中的單詞。 – crosseds