2013-04-22 5 views
5

Ich bin dabei, eine mehrsprachige Website zu erstellen, in der Englisch für die öffentlichen Seiten und dann Arabisch für den Administrator verwendet wird. Ich habe noch nie daran gearbeitet und bin nicht sicher, wo ich anfangen soll. Vielleicht können diejenigen, die schon mehrsprachige Websites erstellt haben, einige Fragen für mich beantworten.Starten einer mehrsprachigen Website in Laravel

  1. Können Englisch und Arabisch in derselben Tabelle gespeichert werden? Wenn ja, war meine Sortierung immer utf-8 Unicode, bedeutet das, dass ich utf8 nicht mehr benutzen kann?
  2. Benötigen die arabischen Teile meiner Website eine eigene Tabelle? Wenn ja, welche Kollatierung?
  3. In meinen Ansichten, was gebe ich als Ersatz für <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ein?
  4. Gibt es etwas, was ich über das Starten einer mehrsprachigen Website wissen sollte?

Vielen Dank im Voraus! Ich weiß wirklich nicht genau, wo ich anfangen soll.

Antwort

5
  1. Ja, können Sie utf8
  2. Nein, verwenden Sie Arabisch und Englisch in der gleichen Tabelle
  3. Der arabische charset ist iso-8859-6 verwenden können, so dass Sie das Attribut charset im Admin ändern müssen Ansichten
  4. Sie wollen wahrscheinlich body { direction: rtl; } in Ihrem CSS für den arabischen Seiten verwenden

Sie könnten diese Links finden nützlich:

012.351.

Wenn Sie Formularfelder mit Laravel der Übersetzungsdateien (application/language/XX/validation.php) validieren möchten, werden Sie feststellen, dass der :attribute Platzhalter der Form verwendet name Attribut Feld, was zu eine meist übersetzte Fehlermeldung mit dem Wort "email" (oder was auch immer) in Englisch. Sie können dies umgehen, indem Sie das Array Validierungsattribute verwenden, um die englischen Feldnamen mit dem arabischen Äquivalent zu verknüpfen. Wenn Sie Sie finden sie bereits in einer anderen Sprache Datei übersetzt haben, können Sie den folgenden Code verwenden statt:

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

verwendet standardmäßig Laravel die E-Mail-Feld für die Authentifizierung. Wenn Sie dies anpassen möchten, können Sie auf Ihrem LoginController eine Methode für den Benutzernamen definieren:

public function username() 
{ 
    return 'username'; 
} 
Verwandte Themen