چگونه سایت چند زبانه بسازیم ؟

3dsmax

Member
یه بانک دیگه بسازید یا یه جدول(table) دیگه؟؟؟

بانک اطلاعاتی --> جدول --> فیلد
 

amirepsilon

Active Member
یه بانک دیگه
تو صفحه اصلی همین تاپیک ببینید
یه بنده خدایی گفته بود
به نظرم راه ساده ای هست
 

amirepsilon

Active Member
سلام
گاومون زایید !!!

مشکل LTR برای انگلیسی داریم ! چطوری حل کنیم ؟
میشه بگیم برای زبان en از یه css دیگه استفاده کنه ؟

یه مطلب دیگه
به فرض که الان تو آدرس بار اینو نوشته index.php?lang=en حالا با رفتن به gallery.php اون عبارت زبان برداشته میشه ! چیکار کنیم بمونه ؟ یعنی باید همه لینک ها رو تغییر بدیم ؟
یعنی آخر همه لینک ها ?lang=en رو اضافه کنیم ؟
لطفا کمک کنید
 

ziXet

مدیر انجمن PHP/MYSQL
سلام
گاومون زایید !!!

مشکل ltr برای انگلیسی داریم ! چطوری حل کنیم ؟
میشه بگیم برای زبان en از یه css دیگه استفاده کنه ؟

یه مطلب دیگه
به فرض که الان تو آدرس بار اینو نوشته index.php?lang=en حالا با رفتن به gallery.php اون عبارت زبان برداشته میشه ! چیکار کنیم بمونه ؟ یعنی باید همه لینک ها رو تغییر بدیم ؟
یعنی آخر همه لینک ها ?lang=en رو اضافه کنیم ؟
لطفا کمک کنید
چرا از سشن و کوکی استفاده نمیکنی؟
 

3dsmax

Member
خوب شما باید به هر پوشه زبونتون در هر فیلی که خواستین یک define مثلا با نام LANG_DIRECTION اضاف کنین و مقدارش یا ltr و یا rtl بستگی داره برا کدوم زبان استفاده کنین، و بعد در قسمت body صفحتون اینطور می‌نویسین.

<body style="direction: <?php echo LANG_DIRECTION ?>">

------------

من که گفتم با get این مشکل وجود داره!!
من خودم با این موضوع هم مشکل دارم!!
 

3dsmax

Member
کاری نداره یه متغیر به نام lang تو سشن ایجاد کن و وقتی یوزر زبون رو عوض کرد متغیر جدید رو ست کن.
همین متغیر رو تو کوکی هم ست کنی بد نیست.

آره، چرا زودتر به فکرم نرسید، شما می‌تونید از session استفاده کنین.
اون مشکل cooki رو هم نداره، با هربار load شدن صفحه session تغییر می‌کنه.
 

amirepsilon

Active Member
ممنونم
لطف میکنید کد سشنش رو هم بدید :دی آدم به این پر رویی دیده بودی !
 

3dsmax

Member
من دیروز به آقا NabiKAZ یه میل زده بودم در مورد این مسئله‌ی Get بهتره یا کوکی که در جواب به من گفتن:

--------------

اگه از cookie استفاده کنی همیشه باید این نگرانی رو داشته باشی که اگر مرورگر کاربر cookie رو پشتیبانی نکنه و یا cookie فعال نباشه، عملاً نمیتونه زبان سایت رو تغییر بده.

مشکل دیگه ای که این روش داره اینه که نمیتونی برای صفحات فارسی و انگلیسی لینک یکتا داشته باشی. یعنی برای صفحه انگلیسی و فارسی همیشه فقط یک لینک وجود داره و این موقع ارائه لینک به دیگران مشکلاتی ایجاد میکنه چون ممکنه تو مد نظرت صفحه فارسی باشه اما چون کوکی به صورت پیشرفض برای زبان انگلیسی تعریف شده در نتیجه به صفحه انگلیسی هدایت میشه...

در کل این روش رو پیشنهاد نمیکنم.

Get روش خوبیه ولی این مشکل رو داره که همیشه باید یادت باشه که در url ها فراموشش نکنی! من اینجا از همین روش استفاده کردم http://topsport.ir/main/ ، اگر چه میشه مثلاً برای smarty پلاگینی بنویسی که خودش به صورت خودکار به تمامی url ها query مربوط به زبان رو اضافه کنه...
 

3dsmax

Member
ممنون
منتظر کد session باشم ؟

برا sesion که کاری نداره، فقط باید بلد باشید که چطور session رو مقدار دهی کنید و به جای cooki ازش استفاده کنین
ولی این session از کوکی بهتر عمل میکنه، ولی بازم یه 2 تا مشکل داره

1. session مقدارش موقتیه و زودی می‌پره (کلاغ، پر)
2. همونطور که آقا نبی گفتن، اگه خوستین به دوستانتون لینک صفحه‌ای از سایتتون رو بشون بدین، و اون لینک بر روی زبان en فعال باشه با دادن لینک به دوستتون زبان پیشفرض سایت برای نمایش مطالب داده میشه، چون session و کوکی سر مرورگر شما فقط با مقدار en فعاله!

هر طوری خودتون میلتونه، هر کدوم یه مشکلی برا خودش داره!!
ولی من و آقا نبی get رو پیشنهاد می‌کنیم!!
-------------

اینم سورس کد language با session
 

پیوست ها

  • language_session.zip
    9.4 کیلوبایت · بازدیدها: 15

amirepsilon

Active Member
بله درست میگید ممنونم
ولی بالاخره یه سایت اگه میخواد حرفه ای باشه باید وقت صرفش کرد و من هم وقتم برای این پروژه خیلی نیست
در حد همین که 3 زبانه باشه فعلا میخوام بسازم
 

mashaheer

Member
به فرض که الان تو آدرس بار اینو نوشته index.php?lang=en حالا با رفتن به gallery.php اون عبارت زبان برداشته میشه ! چیکار کنیم بمونه ؟ یعنی باید همه لینک ها رو تغییر بدیم ؟
مشکل دیگه ای که این روش داره اینه که نمیتونی برای صفحات فارسی و انگلیسی لینک یکتا داشته باشی. یعنی برای صفحه انگلیسی و فارسی همیشه فقط یک لینک وجود داره و این موقع ارائه لینک به دیگران مشکلاتی ایجاد میکنه چون ممکنه تو مد نظرت صفحه فارسی باشه اما چون کوکی به صورت پیشرفض برای زبان انگلیسی تعریف شده در نتیجه به صفحه انگلیسی هدایت میشه...
اگه هم قرار باشه توی یک صفحه هم زبان فارسی باشه هم انگلیسی هم ... و فقط با زدن کلیک زبان صفحه عوض شه ،و زبان پیشفرض هم انگلیسی باشه،با این وضعیت سایت فقط به زبان انگلیسی توی موتورهای جستجو ایندکس میشه.
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا