فارسی کردن بخش عضویت و ورود لاراول

3 هفته پیش
توسط christ آپدیت شد
christ ( 990 تجربه )
3 هفته پیش

سلام دوستان بنده میخوام برخی ارور ها و صفحه ها رو اصولی به فارسی ترحمه کنم
تون نت سرچ کردم یه فایل دانلود کردن که تو فولدری به نام fa چن تا فایل به نام های pagination.php reminders.php validation.php
رو کنار فولدر en گداشتم و از فایل app.php

'locale' => 'fa',

و

'timezone' => 'Asia/Tehran',

کردم.. ولی فارسی نشدن!!
مشکل چیست؟!

مرسی

بهترین پاسخ انتخاب شده توسط christ
مهدی عقیقی
3 هفته پیش

@hesamnn
ببینید وقتی میگید app.Registerd یعنی بره توی اون پوشه‌ی زبانتون مثلا (fa) بعد از اونجا داخل فایل app.php و از اون آرایه‌ای که برمی‌گردونه Registerd رو برای شما بنویسه.
خب شما که میگین سه تا فایل بیشتر ندارین توی اون پوشه‌تون! پس باید مثلا app.php رو اضافه کنید اول
بعد آرایه زیر رو توش بزارید.

return [  
'Registerd' => 'ثبت نام'
];

بعد از این دیگه درست کار می‌کنه

coarad supp ( 7550 تجربه )
3 هفته پیش

یه بار کش و کانفیگ رو پاک کنید تست کنید

php artisan cache:clear
php artisan config:clear
christ ( 990 تجربه )
3 هفته پیش

بسیار ممنونم
ولی جواب نداد متاسفانه

christ ( 990 تجربه )
3 هفته پیش

من چون میخوام اصولی انجامش بدم به مشکل برخوردم
مثلا تو فایل app.balde.php

<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>

این

{{ __('Register') }}

به کجا داره اشاره میکنه چون من تو فایلای زبان register پیدا نمیکنم

مرسی

coarad supp ( 7550 تجربه )
3 هفته پیش
__()

این کار همون

@lang()

رو میکنه ولی اگه معادل اون کلمه پیدا نشه همون رو نمایش میده، این توضیح داده
https://tutsforweb.com/laravel-underscores-__-function-for-localization-based-translations/

اگه میخوای از این استفاده کنی باید اسم فایل رو هم بش اشاره کنی، اینطوری تست کن ببین

__('app.Registerd')

این میره لمه معادل registerd رو توی فایل app میخونه، تا جایی که میدونم، تست کنید

علی بیات ( 271257 تجربه )
3 هفته پیش
تخصص : توسعه دهنده ارشد وب

از دایرکتیو lang@ در Blade هم میتونی استفاده کنی:

@lang('pages/registeration.register_link')

دایرکتیو بالا متنی رو از آرایه داخل فایل resources/lang/fa/pages/registration.php
و از کلید register_link اون دریافت میکنه


برای اینکه چک کنی، آیا زبان اپلیکیشن رو به درستی تغییر دادی یا نه:

var_dump(app()->getLocale());
مهدی عقیقی ( 3910 تجربه )
3 هفته پیش
تخصص : برنامه نویس وب

{{ __('Register') }} همینی که می‌بینید منظورش این هست که برو از پوشه زبان‌ها و از اون‌جا زبانی که کاربر می‌خواد(خودتون باید مشخص کنید از کجا بگیره. مثلا بگید اخرین پارامتر url‌ اگر fa بود یعنی locale فارسی هست) مقدار رو در اون زبان بگیره.
لینک پایین خیلی سریع کارتون رو حل می‌کنه در حد ۵ دقیقه یه نگاه بهش بکنید.
https://laravel.com/docs/5.7/localization

christ ( 990 تجربه )
3 هفته پیش

@coaradsupp
@ali.bayat
@MehdiAghighi

بسیار ممنونم دوستان

من فک کنم مشکل از اینه که اضن من این مسیر resources/lang/fa/pages/registration.php از fa به بعد رو دیگه ندارم !!

داخل fa من فقط سه تا فایل pagination.php reminders.php validation.php دارم !! از composer نصب کردم و از vendor انتقالش دادم به فئلدری که در اون تنها زبان en وجود داشت

var_dump هم زدم و 2string fa رو اورد ینی درست بوده تغییر زبان!!!

حالا من فکر میکنم مشکل از اون فایلی که من ندارمه!! ینی registration.php تو مسیر resources/lang/fa/pages/registration.php

یانه ؟!؟!

علی بیات ( 271257 تجربه )
3 هفته پیش
تخصص : توسعه دهنده ارشد وب

من pages رو برای نمومه قرار دادم که استفاده از فولدر رو هم مثال زده باشم..
میتونید فایل هارو توی خود fa هم بگذارید

christ ( 990 تجربه )
3 هفته پیش

پس مشکل من چیه ؟!
__('app.Registerd') هم تست کردم جواب نداد !!

مهدی عقیقی ( 3910 تجربه )
3 هفته پیش
تخصص : برنامه نویس وب

@hesamnn
ببینید وقتی میگید app.Registerd یعنی بره توی اون پوشه‌ی زبانتون مثلا (fa) بعد از اونجا داخل فایل app.php و از اون آرایه‌ای که برمی‌گردونه Registerd رو برای شما بنویسه.
خب شما که میگین سه تا فایل بیشتر ندارین توی اون پوشه‌تون! پس باید مثلا app.php رو اضافه کنید اول
بعد آرایه زیر رو توش بزارید.

return [  
'Registerd' => 'ثبت نام'
];

بعد از این دیگه درست کار می‌کنه

برای ارسال پاسخ باید وارد سایت شوید