با عرض سلام خدمت کاربران عزیز سایت پی وی لرن و کاربرانی که دوره کامل آموزش لاراول را دنبال می کنند، دراین پست آموزشی به محلی سازی در لاراول می پردازیم. ویژگی محلی سازی در لاراول ، راهکاری مناسب در اختیار شما قرار میدهد تا به وسیله آن بتوانید یک رشته خاص را در زبانهای مختلف بازیابی کنید. متغیرهای رشته ای language داخل فایل هایی در پوشه ی resources/lang ذخیره می شود. در این پوشه بایستی به ازای هر زبان که اپلیکیشن پشتیبانی می کند، یک subdirectory وجود داشته باشد. در ادامه به بررسی مباحث localization در لاراول پرداخته ایم.
localization در لاراول شامل مراحل متعددی و ساده ایست که در ادامه با ذکر مثال به آن ها پرداخته ایم.
ویژگی محلی سازی در لاراول پشتیبانی از زبان های مختلفی را در برنامه کاربردی مورد استفاده قرار می دهد.
شما باید تمام رشته های زبان مختلف را در یک فایل ذخیره کنید و این فایل ها در دایرکتوری resources/views ذخیره می شوند.
شما باید یک پوشه جداگانه برای هر زبان پشتیبانی شده ایجاد کنید.
تمام فایل های زبان باید آرایه ای از رشته های کلید را مانند قسمت زیر برگردانند.
1 2 3 4 | <?php return [ 'welcome' => 'Welcome to the application' ]; |
مرحله ۱ : ایجاد ۳ فایل برای زبان انگلیسی، فرانسوی و آلمانی.
ذخیره فایل انگلیسی در resources/lang/en/lang.php
1 2 3 4 5 | <?php return [ 'msg' => 'Laravel Internationalization example.' ]; ?> |
مرحله ۲ : فایل فرانسوی را در resources/lang/fr/lang.php ذخیره کنید.
1 2 3 4 5 | <?php return [ 'msg' => 'Exemple Laravel internationalisation.' ]; ?> |
مرحله ۳ : فایل آلمانی را در resources/lang/de/lang.php ذخیره کنید.
1 2 3 4 5 | <?php return [ 'msg' => 'Laravel Internationalisierung Beispiel.' ]; ?> |
مرحله ۴ : با اجرای دستور زیر، یک کنترلر به نام LocalizationController ایجاد کنید.
1 | php artisan make:controller LocalizationController --plain |
مرحله ۵ : بعد از اجرای موفق، خروجی زیر را دریافت خواهید کرد.
مرحله ۶ : کد زیر رادر فایل app/Http/Controllers/LocalizationController.php کپی کنید.
app/Http/Controllers/LocalizationController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class LocalizationController extends Controller { public function index(Request $request,$locale) { //set’s application’s locale app()->setLocale($locale); //Gets the translated message and displays it echo trans('lang.msg'); } } |
مرحله ۷ : یک مسیر برای LocalizationController در app/Http/routes.php اضافه کنید.
توجه داشته باشید که ما بعد از محلی سازی آرگومان {locale} را می دهیم و برای مشاهده خروجی در زبان های مختلف استفاده خواهیم کرد.
app/Http/routes.php
1 | Route::get('localization/{locale}','LocalizationController@index'); |
مرحله ۸ : اکنون، اجازه دهید از URL های مختلف دیدن کنیم تا همه زبان های مختلف را ببینیم. URL زیر را اجرا کنید تا خروجی را به زبان انگلیسی مشاهده کنید.
1 | http://localhost:8000/localization/en |
مرحله ۹ : خروجی به صورت زیر نمایش داده می شود.
مرحله ۱۰ : URL زیر را اجرا کنید تا خروجی را به زبان فرانسوی ببینید.
1 | http://localhost:8000/localization/fr |
مرحله ۱۱ : خروجی به صورت زیر نمایش داده می شود.
مرحله ۱۲ : URL زیر را اجرا کنید تا خروجی را به زبان آلمانی مشاهده کنید.
1 | http://localhost:8000/localization/de |
مرحله ۱۳ : خروجی به صورت زیر نمایش داده می شود.
امکان localization در فریم ورک Laravel به شما این اجازه را می دهد تا رشته ها را به زبان های مختلف در اپلیکیشن خود ترجمه و بازیابی کنید.
متغیرهای رشته ای language داخل فایل هایی در پوشه ی resources/lang ذخیره می شود.
از این که این آموزش را دنبال کردید سپاسگذارم.
morteza
سلام خسته نباشید
تشکر از زحمات شما برای تهیه این آموزش
پی وی لرن
خواهش می کنم، نظر لطف شماست