Я создаю сайт, который хочу отображать на нескольких языках для разных стран, но я делаю это впервые и не знаю, какие есть методы.
Так что для всего моего статического текста в моем коде я просто обертываю его в функцию перевода, и 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 переведет условия поиска, но в целом он подбирает правильные результаты.
Есть ли лучший способ сделать это, потому что кажется, что я поступаю неправильно. Любая помощь или предложения с этим будет принята с благодарностью.