簡體   English   中英

PHP-SQL - 國際化和本地化 - Gettext-POedit

[英]PHP-SQL - Internationalization and Localization - Gettext-POedit

我正在創建一個網站,我想以多種語言為不同的國家/地區顯示,但這是我第一次這樣做,不確定最佳做法是什么。

因此,對於代碼中的所有靜態文本,我只需將其包裝在 translate 函數中,POedit 就能夠提取字符串。

然后,對於從我的數據庫通過 PHP 生成的所有動態文本,當我在后端向我的數據庫添加新內容時,我也會在 PO 文件中執行file_put_contents()以便我有這些字符串要翻譯.

所以我數據庫中的所有內容都是英文的,但會添加到我的 PO 文件中。 問題是我也有一個搜索欄。 這會在我的數據庫中搜索各種項目,但只能用英語搜索。

我目前正在嘗試做的是這樣的事情,我使用 Google Translate API 翻譯實際輸入並用英語搜索:

$term = $_POST['search_text'];
$result = $translate->translate($term, [
    'target' => 'en'
]);
$translation = $result['text'];
$new_term = '%'.$translation.'%';
$params = [$new_term];
$sql = "SELECT * FROM products WHERE product_name LIKE ?";
$stmt = DB::run($sql,$params);

顯然這並不完美,因為我依靠谷歌來翻譯搜索詞,但它總體上能獲得正確的結果。

有沒有更好的方法來做到這一點? 這似乎是我走錯了路。

我最終做的是用英語搜索並搜索翻譯並組合結果,因此它有望獲得一切。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM