2013-04-22 6 views
5

私は多言語サイトを作成しようとしています。ここでは英語がパブリックページに使用され、次に管理者用にアラビア語が使用されます。私はこれまでにこれまでに仕事をしたことがなく、どこから始めたらよいか分からない。たぶん多言語サイトをやった人は私のためにいくつかの質問に答えることができます。Laravelの多言語サイトを開始する

  1. 英語とアラビア語を同じテーブルに保存できますか?もしそうなら、私の照合順序はいつもutf-8のUnicodeになっています。これはutf8をもう使用できないことを意味しますか?
  2. 私のサイトのアラビア語部分には独自のテーブルが必要ですか?もしそうなら、どの照合?
  3. 私の見解では、<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />の代わりに何を入力すればよいですか?
  4. 多言語サイトの開始について知っておくべきことはありますか?

ありがとうございます!私は本当にこれをどこから始めるべきか分からない。

答えて

5
  1. はい、あなたは管理者でcharset属性を変更する必要がありますので、いいえ、あなたは、アラビア語文字セットがiso-8859-6ある
  2. 同じテーブルにアラビア語と英語の両方を使用することができますUTF8
  3. を使用することができますビュー
  4. あなたはおそらく、あなたがこれらのリンクは便利かもしれないアラビア語ページ

のためにあなたのCSSのbody { direction: rtl; }を使用したい:

あなたはLaravelの翻訳ファイル(application/language/XX/validation.php)を使用して、フォームフィールドを検証したいときは、:attributeプレースホルダが、その結果、フォームフィールドのname属性を使用していることがわかります英語で "email"(または何でも)という単語を含む、ほとんど翻訳されたエラーメッセージです。これを回避するには、検証属性配列を使用して英語のフィールド名をアラビア語の同等語句に連結します。

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

既定では、Laravelは電子メールフィールドを認証に使用しますが、別の言語ファイルで翻訳した場合は、次のコードを使用できます。これをカスタマイズしたい場合は、LoginControllerにユーザ名メソッドを定義することができます:

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