شما با لاراول می توانید سایت هایی با قابلیت پشیبانی از چند زبان (چند زبانه) را به راحتی طراحی نمایید، برای این منظور شما باید متغییر های زبان های مختلف مد نظر خود را در یک فایل مجزا ذخیره کنید و این فایل ها را در دایرکتوری 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”/]