شما با لاراول می توانید سایت هایی با قابلیت پشیبانی از چند زبان (چند زبانه) را به راحتی طراحی نمایید، برای این منظور شما باید متغییر های زبان های مختلف مد نظر خود را در یک فایل مجزا ذخیره کنید و این فایل ها را در دایرکتوری resources/views ذخیره کنید. شما باید برای هر زبان یک پوشه جداگانه ایجاد نمایید. همانطور که در زیر نشان داده شده، هر فایل شامل یک آرایه بصورت زیر است.

[pastacode lang=”php” manual=”%3C%3Fphp%0Areturn%20%5B%0A%20%20%20’welcome’%20%3D%3E%20’Welcome%20to%20the%20application’%0A%5D%3B” message=”” highlight=”” provider=”manual”/]

برای بررسی بهتر به مثال زیر دقت کنید، ما سعی می کنیم برای هر زبان انگلیسی، فرانسه و آلمانی یک فایل lang.php در سه دایکتوری مجزا بصورت زیر ایجاد کنیم.

[pastacode lang=”php” manual=”%3C%3Fphp%0A%20%20%20return%20%5B%0A%20%20%20%20%20%20’msg’%20%3D%3E%20’Laravel%20Internationalization%20example.’%0A%20%20%20%5D%3B%0A%3F%3E” message=”resources/lang/en/lang.php” highlight=”” provider=”manual”/]

[pastacode lang=”php” manual=”%3C%3Fphp%0A%20%20%20return%20%5B%0A%20%20%20%20%20%20’msg’%20%3D%3E%20’Exemple%20Laravel%20internationalisation.’%0A%20%20%20%5D%3B%0A%3F%3E” message=”resources/lang/fr/lang.php” highlight=”” provider=”manual”/]

[pastacode lang=”php” manual=”%3C%3Fphp%0A%20%20%20return%20%5B%0A%20%20%20%20%20%20’msg’%20%3D%3E%20’Laravel%20Internationalisierung%20Beispiel.’%20%0A%20%20%20%5D%3B%0A%3F%3E” message=”resources/lang/de/lang.php” highlight=”” provider=”manual”/]

حال با خط فرمان زیر کنترلر LocalizationController ایجاد می کنیم.

[pastacode lang=”markup” manual=”php%20artisan%20make%3Acontroller%20LocalizationController%20–plain” message=”” highlight=”” provider=”manual”/]

بعد اجرا خط فرمان بالا یک فایل به نام LocalizationController.php ایجاد می شود آن را بصورت زیر ویرایش کنید.

[pastacode lang=”php” manual=”%3C%3Fphp%0A%0Anamespace%20App%5CHttp%5CControllers%3B%0A%0Ause%20Illuminate%5CHttp%5CRequest%3B%0Ause%20App%5CHttp%5CRequests%3B%0Ause%20App%5CHttp%5CControllers%5CController%3B%0A%0Aclass%20LocalizationController%20extends%20Controller%20%7B%0A%20%20%20public%20function%20index(Request%20%24request%2C%24locale)%20%7B%0A%20%20%20%20%20%20%2F%2Fset%E2%80%99s%20application%E2%80%99s%20locale%0A%20%20%20%20%20%20app()-%3EsetLocale(%24locale)%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F%2FGets%20the%20translated%20message%20and%20displays%20it%0A%20%20%20%20%20%20echo%20trans(‘lang.msg’)%3B%0A%20%20%20%7D%0A%7D” message=”app/Http/Controllers/LocalizationController.php” highlight=”” provider=”manual”/]

حال route مورد نیاز برای LocalizationController را در پرونده app/Http/routes.php بصورت زیر اضافه کنید. توجه داشته باشید که ما از آرگومان {locale} برای انتخاب زبان مورد نیاز خود استفاده می کنیم.

[pastacode lang=”php” manual=”Route%3A%3Aget(‘localization%2F%7Blocale%7D’%2C’LocalizationController%40index’)%3B%0A” message=”app/Http/routes.php” highlight=”” provider=”manual”/]

حال با آدرس های مختلفی خروجی وب سایت شما متناسب با زبان مورد نیاز شما خواهد بود به عنوان مثال خروجی آدرس زیر

[pastacode lang=”markup” manual=”http%3A%2F%2Flocalhost%3A8000%2Flocalization%2Fde%0A” message=”” highlight=”” provider=”manual”/]

بصورت زیر خواهد بود.

[pastacode lang=”markup” manual=”Laravel%20Internationalisierung%20Beispiel.” message=”” highlight=”” provider=”manual”/]