PHP-SQL - Интернационализация и локализация - Gettext-POedit - PullRequest
0 голосов
/ 29 августа 2018

Я создаю сайт, который хочу отображать на нескольких языках для разных стран, но я делаю это впервые и не знаю, какие есть методы.

Так что для всего моего статического текста в моем коде я просто обертываю его в функцию перевода, и POedit может извлечь строки.

Затем для всего моего динамического текста, который генерируется с помощью PHP из моей БД, когда я добавляю что-то новое в свою БД на внутреннем сервере, я также добавляю file_put_contents() в PO-файл, чтобы у меня были эти строки переводить.

Итак, все в моей базе данных на английском, но добавляется в мой 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);

Очевидно, что это не идеально, потому что я полагаюсь на то, что Google переведет условия поиска, но в целом он подбирает правильные результаты.

Есть ли лучший способ сделать это, потому что кажется, что я поступаю неправильно. Любая помощь или предложения с этим будет принята с благодарностью.

1 Ответ

0 голосов
/ 31 июля 2019

Я закончил тем, что искал по-английски и работал с переводом и комбинировал результаты, поэтому мы надеемся, что все получится.

...