چند زبانه کردن پروژه

زمان قرارگیری : 23 تیر 1396
زمان این قسمت : 38:07
برای دسترسی به این دوره نیاز است بصورت نقدی این دوره را خریداری کنید و این دوره بخشی از دوره های اعضای ویژه نمیباشد

تعداد شرکت کنندگان 1181 نفر
قیمت دوره 125000 تومان
وضعیت دوره تکمیل شده
زمان کل دوره 30:19:42
تعداد قسمت‌ها 51
نوع دسترسی نقدی

گاهی اوقات ما نیاز داریم ، وبسایتی ایجاد کنیم که تعداد زیادی از مردم را با زبان ها مختلف را پشتیبانی کند یعنی به اصطلاح وبسایت چند زبانه ایجاد کنید در این جلسه به شما آموزش میدم که چطور پروژه خودتون رو بصورت کامل به یک وبسایت چند زبانه تبدیل کنید .

رایگان 04:34
برای دسترسی به این دوره نیاز است بصورت نقدی این دوره را خریداری کنید و این دوره بخشی از دوره های اعضای ویژه نمیباشد

تعداد شرکت کنندگان 1181 نفر
قیمت دوره 125000 تومان
وضعیت دوره تکمیل شده
زمان کل دوره 30:19:42
تعداد قسمت‌ها 51
نوع دسترسی نقدی

آنلاین
user-avatar
مدرس دوره حسام موسوی

اول داستان، طراح گرافیک بودم و ۲ سالی به عنوان طراح مشغول بودم، بعد به برنامه‌نویسی علاقمند شدم و الان بیشتر از ۱۰ ساله که عاشق کدزنی و چالش‌های پروژه‌های مختلفم. به تدریس علاقه خاصی دارم و دوست دارم دانشی که در این راه بدست آوردم را در اختیار دیگران هم قرار بدم. 

سوالات و گفتگو‌ها

سوالات و گفتگو‌ها

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

دورهای پیشنهادی

مشاهده همه دوره ها
ساخت Restful Api با Laravel و Lumen

ساخت Restful Api با Laravel و Lumen

به زبان ساده، APIها (مخفف Application Programming Interface) رابط‌هایی نرم‌افزاری هستند که ارتباط بین نرم‌افزارهای مختلف را پیاده‌سازی می‌کنند. در دنی...

آشنایی با امکانات جدید لاراول 5.4

آشنایی با امکانات جدید لاراول 5.4

در همین ابتدای این دوره باید بگم کسانی میتونن این دوره رو مشاهده کنند که با لاراول آشنا باشن پس اگر هنوز نمی دونید که لاراول چطور کار میکنه ، لطف ابتد...

آموزش پکیج نویسی لاراول

آموزش پکیج نویسی لاراول

اگر با لاراول و پکیج ها آشنا باشید مطمئنن میدانید که پکیج ها بخش مهمی در لاراول هستند و به برنامه نویسان و توسعه دهندگان لاراول کمک میکنند تا بتوانن ب...

دسترسی رایگان برای اعضای ویژه
آشنایی با امکانات جدید لاراول 5.2

آشنایی با امکانات جدید لاراول 5.2

لاراول 5.2 بزودی به طور رسمی ارائه میشه اما نسخه develop اون چند وقتی میشه که در اختیار کاربران قرار گرفته در این دوره آموزشی سعی میکنیم که امکانات و...

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
آفلاین
user-avatar
mohamad mohamadi
4 هفته پیش

سلام و خسته نباشید
یه سوال داشتم
این که چرا وقتی روی مقالات کلیک کردید ابتدا، ارور 404 داد؟ چون شما middleware تعریف کردید و قاعدتا باید برای این مسیری هم که روش کلیک کردید، زبان پیش فرض رو به url اضافه می کرد. ولی اینجا بدون اضافه شدن، ارور 404 نشون داد

آنلاین
user-avatar
حسام موسوی
4 هفته پیش

دورد بر شما در خود جلسه بعد از ارور ۴۰۴ راه حلش رو نگفتیم ؟

آفلاین
user-avatar
mohamad mohamadi
3 هفته پیش

گفتین که path رو تو خود مدل تعریف کردین و زبان رو هم بهش اضافه کردین
ولی قاعدتا نباید قبلش هم براساس middleware که تعریف شد، زبان خودبخود بهش اضافه می شد؟

آنلاین
user-avatar
حسام موسوی
3 هفته پیش

چی رو بر اساس middleware اضافه کرد؟

آفلاین
user-avatar
mohamad mohamadi
3 هفته پیش

همون fa یا en به url

آنلاین
user-avatar
حسام موسوی
3 هفته پیش

بر اساس میلدور میتونید چک شدنش رو انجام بدید وگرنه از کجا بفهمه این لینک از این مدل fa هست یا en ؟

آفلاین
user-avatar
milad morovati
4 ماه پیش

سلام
من می خوام وقتی که کاربر یه زبانی رو انتخاب کرد بعد یه روز مثلا دوباره برگشت همون زبون رو به صورت پیشفرض نشون بده مثلا زبان فرانسه رو انتخاب کرد بعد یه روز سایت رو باز کرد رو همون فرانسه بمونه من این کد رو نوشتم اما کار نمی کنه ممنون میشم راهنماییم کنید
` $locale=$request->segment(1) ?? 'fa';

    $expire=now()->addMinutes(1);
    $lang=Cache::put('language',$locale,$expire);

    app()->setLocale(Cache::get('language')??'fa'); `
آنلاین
user-avatar
حسام موسوی
4 ماه پیش

خوب شما زمان کش رو الان 1 دقیقه دیگه قرار دادید !
بعد هم از cache استفاده نکنید چون در این حالت برای همه اعمال میشه. به غیر اینکه یه اسم یکتا به اون کش بدید که فقط همون کاربر اون کش رو بهش دسترسی داشته باشه.

آفلاین
user-avatar
milad morovati
4 ماه پیش

خب از کوکی باید استفاده کنم ؟
و یه سوال دیگه من الان بین چند زبون سویچ می کنم مشکلی نیست اما چطور باید از کوکی استفاده کنم تا وقتی کاربر مرورگر رو بست و دوباره باز کرد همون صفحه قبلی رو بالا بیاره منظورم اینه چطور باید این رو پیاده سازی کرد ؟

آنلاین
user-avatar
حسام موسوی
4 ماه پیش

قاعدتا بلد هستید چطور از کوکی‌ها استفاده کنید.
بببینید شما میخواید کاربر بعدا اومد سیستم بفهمه با فلان زبان ! حالا این موضوع رو نمیشه با چیزی که شما پیاده کردید انجام داد باید پیشرفته ترش کرد
بجای اینکه از طریق url زبان رو بگیرید باید یک route بوجود بیارید که مقدار زبان رو در کوکی ذخیره کنه و هر با قابلیت تغییر زبان رو بهتون بده
و بعد در کدی که قرار دادید رو مقدار زبان رو از کوکی میگیرید یه شرط ساده قرار میدید که اگر زبان مورد نظر در کوکی وجود داشت بر اساس زبان تو کوکی همه چی کار کنه اگر نداشت همه چی به شکل معمول کار کنه

سلام
چطور میشه روت گروپ ادمین و کلا مستثنا قرار داد از وارد کردن prefix زبان ( fa و en )، چون آخرای این قسمت شما برای ورود به کنترل پنل لینک و دستی تو مروگر تغییر دادید و گفتید باید همشون بازنویسی بشند. در صورتی که ما میخوایم کنترل پنل سایتمون همون زبان استاتیک باقی بمونه

آنلاین
user-avatar
حسام موسوی
6 ماه پیش

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

آفلاین
user-avatar
mt.rezaei
2 سال پیش

سلام مهندس
واسه اینکه بتونیم کاری کنیم که وقتی از کشورهای انگلیسی زبان سایت باز شد ، وبسایت اتوماتیک انگلیسی نشون داده بشه باید چیکار کنیم؟ البته به غیر از روش IP ، چون با IP اگر کسی از ********* استفاده کنه درست نشون داده نمیشه

آنلاین
user-avatar
حسام موسوی
2 سال پیش

سلام فقط با ip میشه وگرنه چطوری بفهمه شما از کجا هستید !

آفلاین
user-avatar
alireza
2 سال پیش

سلام مهندس
خسته نباشید
زمانی که اعتبار سنجی و لاگین کردن با گوگل انجام میشه آیا راهی هست اگه فرضا در زبان انگلیسی این کار صورت گرفته زمانی که callback میشه به صفحه اصلی جوری باشه که به صفحه اصلی که با زبان انگلیسی هست ریدایرکت بشه

آنلاین
user-avatar
حسام موسوی
2 سال پیش

سلام این مورد رو امتحان نکردم شما میتونید در اطلاعات برگشتی گوگل چک کنید این رو

آفلاین
user-avatar
sajad yf
2 سال پیش

جناب موسوی .. اون دکمه بالا اگه بخوایم بزاریم دقیقا باید چکار کنیم . یه تگ a میزاریم و بقیش اگه ممکنه بگید ..

آنلاین
user-avatar
حسام موسوی
2 سال پیش

یک تگ a قرار میدید به یک کنترلر و متد لینک میکنید در اون متد پارامتر زبان رو تغییر میدید .

آفلاین
user-avatar
Matin
2 سال پیش

سلام و وقت بخیر مهندس
برای یه سایتی که حداقل باید 3 زبانه باشه و همه مجموعه ها و منوها و مطالب باید سه زبانه باشن برای پیاده سازی این سایت از Polymorphic Relations استفاده کنیم مشکلی نداره؟ یه جدول translate ایجاد کنیم و متن هر زبانی رو داخل این جدول ذخیره کنیم اینطوری هر مطلبی یکبار با همه زبانها ایجاد میشه. توی این روشی که شما توی این جلسه گفتید برای هر زبانی باید مطلب جداگانه ایجاد کنیم.

آنلاین
user-avatar
حسام موسوی
2 سال پیش

سلام مشکلی نداره از روشی که گفتید
ولی تجربه ثابت کرده که هر زبان نیاز به مطالب خودش داره بغیر داستان اعتبار سنجی داده ها یا بخش های ساده
بخش های مثل مقالات بهتره بشکل جداگانه ایجاد بشن چون معمولا برای هر زبانی مطالب جداگانه است . البته اگر میخواید کلا یکی باشه میتونید کاری که گفتید رو هم انجام بدید .

آفلاین
user-avatar
تابش
2 سال پیش

سلام
من یک سایت چهار زبانه دارم
که هر چهارتا زبان پر هستند
این که شما میگی یا مقاله انگلیسیه یا فارسی
ولی مال من
مثلا جدول محصولات
چهار تا نام داره چهار تا قیمت و ...
و روی هر زبان باید ویو اون رو برگردونه
من در ویو ها چهار تا پوشه دارم fa,ar,en,ru و میخوام چهار تا پرچم بذارم کاربر روی هر پرچم رفت توی ویو مورد نظر هدایت شود
چیکار کنم ؟

آفلاین
user-avatar
arian
2 سال پیش

سلام آقای موسوی
من الان می خوام تو هدرم که ثابته تو کل پروژه دکمه فارسی و انگلیسی بذارم که وقتی کاربر روش کلیک کرد تو هر صفحه ای بود وقتی کلیک کرد رو دکمه url من به حالت fa یا en در بیاد و صفحه انگیلیسی یا فارسی بشه،چطور میتونم این کارو بکنم؟

آنلاین
user-avatar
حسام موسوی
2 سال پیش

میتونید از url رو انالیز کنید که اگر fa بود دکمه انگلیسی رو نمایش بده و بلعکس
یا میتونید یک مقدار رو به master page یا جای که میخوای بفرستید تا اوکی بشه برای اینکار از view composer فک کنم باید استفاده کنید

آفلاین
user-avatar
massoud
2 سال پیش

سلام

الان پروژه رو با توجه به چیزی که گفتید میشه راحت چند زبانه کرد اما یک مشکلی که هست اینه که ما بصورت داینامیک اینکارو نکردیم یعنی
باید همه چیز رو برای یک بار در پوشه لنگ بنویسیم و هر بار برای تغییر متن مورد نظر باز به همان پوشه رفته و دستی انرا تغییر دهیم

اما چطوری میشه در پانل ادمین متون دستکاری بشن و دوباره ذخیره بشن یعنی می خام بگم ایا امکان برگرداند یک ارایه جدید که توسط ادمین ادیت شده در پوشه لنگ وجود داره؟

آنلاین
user-avatar
حسام موسوی
2 سال پیش

ذخیره سازی در دیتابیس یکی دیگه از راهایه که میتونید انجام بدید

آفلاین
user-avatar
سعید محمدی
2 سال پیش

سلام

ممنون میشم بفرمائید چطوری و از کجا و با چه دستوری میتونم تابع مربوط به url() و یا URL::to() رو طوری بازنویسی کنم که خودش بصورت هوشمندانه url ها رو بر حسب زبان پیش فرض به قبل آنها زبان فعلی رو بصورت prefix اضافه کنه چون اینطوری خیلی سخته که بخوام تو همه url ها با روش دستی برای هر بخش اینکارو انجام بدم.

آنلاین
user-avatar
حسام موسوی
2 سال پیش

لازم به بازنویسی کردن و دستکاری Core لاراول نیست function های سراسری خودتون رو تعریف کنید و بجای url ازش استفاده کنید

آفلاین
user-avatar
سعید
3 سال پیش

سلام
خسته نباشید
من میخواستم پروژه ای رو بنویسم که مشتری بتونه هر چقدر زبان خواست اضافه کنه به سایتش یعنی تعداد زبان ها به صورت داینامیک باشه نه استاتیک؟؟
میشه راهنمایی بفرمایید؟

آنلاین
user-avatar
حسام موسوی
3 سال پیش

با تمام فایل های که در این جلسه کار کردیم باید بصورت داینامیک کار کنید جداولی بدید که در اونجا n تعداد ایجاد بشه و برای هر زبان بشه چنین اطلاعاتی رو ذخیره کرد

آفلاین
user-avatar
سعید
3 سال پیش

خب سوالی که اینجا باقی میمونه اینه که شما واسه بخش های استاتیک سایت اومدید یه فایل به نام MESSAGE ساختید و متناسب با زبان اطلاعات رو برگردوندید اما وقتی کاربر زبان جدید تعریف کنه پوشه ای متناسب با اون زبان در LANG وجود نداره و اگه ما اون پوشه رو هم به صورت داینامیک بسازیم چه طور میتونیم اطلاعات فایل MESSAGE اون پوشه رو تغییر بدیم ؟
و یه سوال دیگه اینکه اگه ما براساس type زیان رو تشخیص بدیم ایا تو زبانهای مختلف به مشکل نمیخوره چون ما جدول رو utf8-persian تعریف کردیم؟
شرمنده اگر اذیتتان کردم
خیلی ممنون

آنلاین
user-avatar
حسام موسوی
3 سال پیش

احتمال میدم لینک زیر برای پیاده سازی این مورد بهتون کمک کنه

https://sebastiandedeyne.com/posts/2016/using-a-database-for-localization-in-laravel