• 1 رای - 4 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چند زبانه کردن سایت
#1
Star 
سلام دوستان

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

مثلاً اگر سایت رو به صورت انگیلیسی بالا آورد بعضی از کلمات که مختص سایت هست EN بشه و ....

من خودم یک روش دارم ، اما ممنون میشم راه معمولشو بگین
---------------------------------------------------------------------------
خدایا ، مگر می شود تو باشی و ما تنها باشیم ؟
  پاسخ
تشکر شده توسط :
#2
دو حالت داریم. یا پارامترهای زبان کم هستند که بهترین راه استفاده از آرایه یا تعریف ثابت هست
اما اگر پارامترها زیاد هست یا میشه از gettext یا فایل csv یا ini استفاده کرد.
من که عاشق gettex هستم (کاربردش دقیقا واسه همین کار کرد)
توی حالت عادی php نیاز به بسته pecl هست ولی با زند فریم ورک نیازی به بسته pecl نیست (ولی باشه بهتره)
البته برای ترجمه نیاز به نرم افزار خاصی هست. چون فایل به صورت باینری هست.
  پاسخ
تشکر شده توسط :
#3
ممنون ، اما اصلاً متوجه نشدم ، لطفاً یک جوری توضیح بدین که بشه از رو حرفتون تحلیل و کدنویسی کرد
---------------------------------------------------------------------------
خدایا ، مگر می شود تو باشی و ما تنها باشیم ؟
  پاسخ
تشکر شده توسط :
#4
(۱۳۸۸ آبان ۲۷, ۰۲:۳۷ ق.ظ)abedi98 نوشته: ممنون ، اما اصلاً متوجه نشدم ، لطفاً یک جوری توضیح بدین که بشه از رو حرفتون تحلیل و کدنویسی کرد

کد:
http://en.wikipedia.org/wiki/GNU_gettext
Two hands working can do more than a thousand clasped in prayer
  پاسخ
تشکر شده توسط :
#5
سلام.

من از ثوابت استفاده میکنم.

به اینصورت که به ازای هر زبان 1 فایل دارم که همشون در یک پوشه مثلا lang است و برای عملکرد بهتر توی پایگاه هم یک جدول بهش اختصاص دادم.

وقتی کاربر هر زبانی رو انتخاب کنه فایل مورد نطر require میشه.

اما محتوای فایل چیه؟
فرض کنید یک فیلد داریم به نام "نام کاربری"

: توی فایل انگلیسی به اینصورت مینویسم.
کد پی‌اچ‌پی:
define("__USERNAME","username :"); 

در فایل فارسی هم اینطوری مینویسم :
کد پی‌اچ‌پی:
define("__USERNAME"," نام کاربری " ); 

و در هنگام فراخوانی فقط مینویسم توی کد
کد پی‌اچ‌پی:
echo __USERNAME

حالا هر وقت فایل lang-en.php فراخونی بشه خروجی میشه
کد پی‌اچ‌پی:
username 

و هر وقت فایل lang-fa.php فراخونی بشه خروجی میشه :
کد پی‌اچ‌پی:
نام کاربری 
  پاسخ
تشکر شده توسط : parsig oia payam webnevesht


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان