حسام
5 سال پیش توسط حسام مطرح شد
10 پاسخ

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

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

'locale' => 'fa',

و

'timezone' => 'Asia/Tehran',

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

مرسی


ثبت پرسش جدید
مهدی عقیقی
تخصص : برنامه نویس وب
@MehdiAghighi 5 سال پیش آپدیت شد
1

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

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

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


coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 5 سال پیش مطرح شد
1

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

php artisan cache:clear
php artisan config:clear

حسام
تخصص : میکروکنترلرها و الکترونیک دیجی...
@rebel 5 سال پیش مطرح شد
0

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


حسام
تخصص : میکروکنترلرها و الکترونیک دیجی...
@rebel 5 سال پیش مطرح شد
0

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

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

این

{{ __('Register') }}

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

مرسی


coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 5 سال پیش مطرح شد
0
__()

این کار همون

@lang()

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

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

__('app.Registerd')

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

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

@lang('pages/registeration.register_link')

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


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

var_dump(app()->getLocale());

مهدی عقیقی
تخصص : برنامه نویس وب
@MehdiAghighi 5 سال پیش مطرح شد
1

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


حسام
تخصص : میکروکنترلرها و الکترونیک دیجی...
@rebel 5 سال پیش آپدیت شد
0

@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 5 سال پیش مطرح شد
1

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


حسام
تخصص : میکروکنترلرها و الکترونیک دیجی...
@rebel 5 سال پیش مطرح شد
0

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


مهدی عقیقی
تخصص : برنامه نویس وب
@MehdiAghighi 5 سال پیش آپدیت شد
1

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

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

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


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

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