PDA

View Full Version : سوال: ایجاد سایت دوزبانه



.fatemeh
سه شنبه 03 مرداد 1391, 10:16 صبح
سلام.
می خوام یه سایت دوزبانه رو انجام بدم.
ولی چه طوری باید شروع کنم؟
کلا باید دوتا سایت جدا طراحی کنم؟
حالا اگه بعد از یه مدت خواستم سه زبانه بشه چی؟
اصلا چه طوری باید کار کرد؟
دوستان می شه راهنمایی کنن؟

desatir7316
سه شنبه 03 مرداد 1391, 10:49 صبح
سلام دوست عزیز
اینجا در این زمینه بحث شده:
How to make a Multilanguage website in php and Mysql (http://stackoverflow.com/questions/2487171/how-to-make-a-multilanguage-website-in-php-and-mysql)

البته توی گوگل هم سرچ کنی بازم در این زمینه مطلب زیاد هست

موفق باشی

.fatemeh
سه شنبه 03 مرداد 1391, 11:11 صبح
میشه یه منبع فارسی معرفی کنید؟
سرچ کردم بیشتر شرکتهای طراحی کننده سایت رو معرفی کرد.

Mahmoudzadeh.A
سه شنبه 03 مرداد 1391, 11:18 صبح
سلام!
لازم نیست شما برای هر زبان یک پیاده سازی در نظر بگیرید این که کار ساختاری نیست و با مبانی مهندسی نرم افزار در تضاد هست !

طراحی شما باید به نحوی باشد که زبان سایت شما از منطق و نحوه نمایش منفک و جدا باشد.

یکی از راه ها این است که میشه یک table در دیتابیس تون در نظر بگیرید که لیست زبان های سایتتون در اون قرار داره یکی از فیلد های این جدول RTL باشه که یک boolean هست و یعنی زبان شما راست به چپ هست یا خیر؟
مثلا برای زبان های فارسی و عربی این مقدار true یایک هست و برای English,french به صورت false یا صفر هست

حال شما سایتتون رو طراحی می کنید
مثلا یک تکه کد اینجوری هست:

<title> $language['title']<title>


حال یک فولدر language دارید که زبان های مخلتف در فایل های جدا گانه قرار دارند مثلا:
persian.lang.php:
$Language['title']="سایت من"

English.lang.php:
$Language['title']="MY site


هر جا که لازم بود زبان مورد نظر تون رو لود می کنید تا محتوا متناسب با زبان مورد نظر شما باشد.
حالا شاید بپرسید پس اون تیبل به چه درد میخوره!این تیبل برای اینه که زمانی که شما یک زبان راست به چپ استفاده می کنید باید Css تون رو Right to Left کنید و در سایر موارد LTR.

البته می تونید این Table رو هم به صورت یک فایل در نظر بگیرید ولی واضح هست که موارد حفاظت ازفایل باید اعمال بشه.

موفق باشید.

.fatemeh
سه شنبه 03 مرداد 1391, 11:49 صبح
از لحاظ دیتابیس چه طور؟
دوتا دیتابیس کاملا جداباشه؟
مثلا اگه قراره متنی از طریق مدیر درج بشه و نمایش داده بشه
برای هر قسمت دوتا فیلد بزارم که پر کنه؟
باید یه بار فارسی بنویسه یه بار انگلیسی.
بعد هرکدوم رو بریزم توی DB خودش؟
راه حل بهتری هست؟

Mahmoudzadeh.A
سه شنبه 03 مرداد 1391, 11:59 صبح
سلام !


از لحاظ دیتابیس چه طور؟
دوتا دیتابیس کاملا جداباشه؟

نه ! لازم نیست دو دیتابیس .فقط با یک دیتابیس کار حل میشه.


مثلا اگه قراره متنی از طریق مدیر درج بشه و نمایش داده بشه
برای هر قسمت دوتا فیلد بزارم که پر کنه؟
باید یه بار فارسی بنویسه یه بار انگلیسی.

به عنوان مثال اگه مدیر اخبار سایت رو روزانه قرار بده در یک دیتابیس یک tabel با نام Manager_news ایجاد می کنیم که به تعداد زبان های ما فیلد داره مثلا فارسی وعربی و انگلیسی

حالا اگه مدیر یه خبر فارسی قرار می ده ملزم هست که ترجمه های اون (عربی و انگلیسی) رو هم قرار بده و به ترتیب ترجمه فارسی در فیلد فارسی جدول Manager_news قرار میگیره و بقیه هم همین طور.

حالا اگه کاربری زبان انگلیسی رو انتخاب کردو لیست خبر ها رو درخواست کرد از جدول Manager_news داده های فیلد انگلیسی رو نمایش میدیم.

حا لا اگه شما دوست ندارین که یک خبر رو به چند زبان در یک جدول ذخیره کنید می تونید یه برنامه هوشمند بنویسید که یه بار به فارسی بنویسید بقیه رو خودش دقیقا به زبان های دیگه ترجمه کنه!!!!(البته ببخشید بابت مزاح بود:تشویق::تشویق::تشویق::تشو ق::تشویق::تشویق:)

.fatemeh
سه شنبه 03 مرداد 1391, 12:13 عصر
اگه چنین مترجمی بود که خیلی خوب می شد.:لبخند:
از راهنمایی تون ممنون

Tarragon
سه شنبه 03 مرداد 1391, 17:52 عصر
عزیز نظر من اینه که فایل CSS و همچنین فایلی با محتوای دستورات define که تمام متون در اون هست رو توی یه پوشه قرار بدید و با جاوا اسکریپ پوشه رو مشخص کنید و اون ها رو اینکلود کنید اینجوری از یک آدرس هم استفاده می شه.

Mahmoudzadeh.A
چهارشنبه 04 مرداد 1391, 00:28 صبح
منظورتون چی هست؟یعنی چی با جاوا اسکریپت پوشه رو مشخص کنید؟

کامبیز اسدزاده
چهارشنبه 04 مرداد 1391, 00:38 صبح
برای سایت دو زبانه میتونید از CMS ما استفاده کنید.

http://eleanor.ir

برای توضیحات و آشنایی با امکانات سیستم هم : http://eleanor.ir/main-features.html