2013-04-22 3 views
5

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

  1. Можно ли сохранить на английском и арабском языках в одном и том же столе? Если это так, моя сортировка всегда была utf-8 Unicode, значит, я больше не могу использовать utf8?
  2. Будет ли у арабских частей моего сайта свой собственный стол? Если да, то какая сортировка?
  3. В моих представлениях, что я набираю в качестве замены для <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />?
  4. Есть ли что-нибудь, что я должен знать о начале многоязычного сайта?

Заранее благодарен! Я действительно немного потерял, с чего начать.

ответ

5
  1. Да, вы можете использовать utf8
  2. Нет, вы можете использовать как на арабском и английском языках в той же таблице
  3. Арабское Кодировку iso-8859-6, так что вам необходимо изменить атрибут кодировки в админ просмотры
  4. Вы, вероятно, хотите использовать body { direction: rtl; } в вашем CSS для арабских страниц

Вы можете найти эти ссылки полезные:

Если вы хотите, чтобы проверить поля формы, используя файлы перевода Laravel (в application/language/XX/validation.php), вы увидите, что :attribute заполнитель использует атрибут поля формы в name, в результате чего в основном переведенное сообщение об ошибке со словом «электронная почта» (или что-то еще) на английском языке. Вы можете обойти это, используя массив Validation Attributes, чтобы подключить английские имена полей с арабским эквивалентом. Если вы обнаружите, что вы уже перевели их в другой файл языка, вы можете использовать следующий код вместо:

'attributes' => array_merge(
    Lang::file('application', 'ar', 'filename_without_extension'), 
    Lang::file('application', 'ar', 'another_file') 
), 
0

По умолчанию Laravel использует поле электронной почты для проверки подлинности. Если вы хотите настроить это, вы можете определить метод имени пользователя в своем LoginController:

public function username() 
{ 
    return 'username'; 
} 
Смежные вопросы