Сайт Cakephp с поддержкой английского и арабского языков для одной и той же базы данных - PullRequest
1 голос
/ 25 августа 2011

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

Что касается локализации меток, я сделал это с помощью po-файлов. Это довольно прямо. Но для базы данных я использую встроенное в Cakephp Translate Behavior. Но он опять ничего не переводит и создает другую копию данных с текущей используемой локалью.

Пожалуйста, помогите мне, в каком направлении я должен двигаться.

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

Любая помощь и предложения будут высоко оценены.

1 Ответ

1 голос
/ 28 августа 2011

На самом деле CakePHP не может автоматически переводить введенные данные.

Функция Translate Behavior позволяет вам вводить один и тот же контент на нескольких языках, а затем извлекать соответствующий язык из базы данных на основе языка, который вы в настоящее время установили в своей конфигурации. Это на самом деле ничего не переводит для вас.

Теоретически, вы можете добавить функцию обратного вызова Model :: beforeSave (), которая будет отправлять арабский текст в службу, такую ​​как Google Translate, а затем сохранять арабскую и английскую версии в соответствующих таблицах, но результаты не будут обязательно быть очень хорошим. Как сказал @deceze в своем комментарии к вашему вопросу, машинный перевод - сложная проблема.

...