راکت
حل شده

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

10 پاسخ

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

'locale' => 'fa',

و

'timezone' => 'Asia/Tehran',

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

مرسی

حسام
حسام
@rebel
ثبت پرسش جدید

پاسخ‌ها

10
مهدی عقیقی
مهدی عقیقی
@MehdiAghighi

تخصص: برنامه نویس وب

بهترین پاسخ

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

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

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

coarad supp
coarad supp
@coaradsupp

تخصص: برنامه نویس لاراول

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

php artisan cache:clear
php artisan config:clear
حسام
حسام
@rebel

تخصص: میکروکنترلرها و الکترونیک دیجیتال

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

شاید پاسخ شما همین‌جا باشد

حسام
حسام
@rebel

تخصص: میکروکنترلرها و الکترونیک دیجیتال

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

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

این

{{ __('Register') }}

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

مرسی

coarad supp
coarad supp
@coaradsupp

تخصص: برنامه نویس لاراول

__()

این کار همون

@lang()

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

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

__('app.Registerd')

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

@lang('pages/registeration.register_link')

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


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

var_dump(app()->getLocale());
مهدی عقیقی
مهدی عقیقی
@MehdiAghighi

تخصص: برنامه نویس وب

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

حسام
حسام
@rebel

تخصص: میکروکنترلرها و الکترونیک دیجیتال

@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

یانه ؟!؟!

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

حسام
حسام
@rebel

تخصص: میکروکنترلرها و الکترونیک دیجیتال

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

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام