/
  • سایت دو زبانه

  • صفحه‌ها (2):
  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی سایت دو زبانه
    نویسنده پیام
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #1
    سایت دو زبانه
    سلام من دو تا سوال دارم
    سایت های دو زبانه در ci چگونه هستند؟
    یعنی نحوه استفاده از lan helper چه جوریه

    سوال دومم هم در مورد تاریخ شمسی هست آیا به صورت پیش فرض ساپورت می کنه؟
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۸ بهمن ۱۵ ۰۱:۰۹ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    hidensoft آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,384
    تاریخ عضویت: ۱۳۸۸ شهريور ۳
    اعتبار: 46
    تشکرها : 729
    ( 1394 تشکر در 782 ارسال )
    ارسال: #2
    RE: سایت دو زبانه
    تاریخ شمسی ساپورت نمی شه بصورت پیش فرض. من یه هلپر براش نوشته بودم. باید بگردم پیداش کنم برات.
    در مورد چند زبانه بودن سایت چون CI یه ORM خوب نداره در لایه دیتابیس کاری از پیش نمی برید و کلاس دیتابیس خودش هم i18n ساپورت نمی کنه. شما اگر داکیومنت رو کامل بخونید فکر نمی کنم سوالی براتون پیش بیاد اما توضیح می دم.
    در مسیر system/application/language یک فایل ایجاد کنید. به عنوان مثال من برای زبان فارسی این فایل رو ایجاد می کنم farsi_lang.php . سپس درون فایل چند نوع از کلمات رو معرفی می کنم.
    کد PHP:
    $lang['BlogTitle'] = "این تایتل است";
    $lang['BlogWellcome'] = "خوش آمدید"

    حالا هرجا نیاز به چاپ اینها داشتم. ابتدا فایل زبان رو با این کد فراخوانی می کنم
    کد PHP:
    $this->lang->load('farsi''fa'); 
    سپس با این کد اجزایی که معرفی کردم رو فراخوانی می کنم
    کد PHP:
    $this->lang->line('language_key'); 
    language_key همون نام key هایی هست که اون بالا برای متغیر lang تعریف کردیم
    به عنوان مثال برای چاپ تایتل از این کد استفاده می کنیم ( در کنترلر )
    کد PHP:
    $this->lang->line('BlogTitle'); 

    اگر هم در ویو نیاز بود ابتدا هلپر رو لود می کنید
    کد PHP:
    $this->load->helper('language'); 
    بعدش
    کد PHP:
    echo lang('language_key''form_item_id'); 
    language_key که همون بالایی هست. form_item_id هم آی دی لیبلی هست که
    چاپ می شه
    کد:
    <label for="form_item_id">language_key</label>
    اگر نیاز داشتی می تونم راهایی برای گسترش کلاس Language بهت نشون بدم تا دیگه فقط درون لیبل چاپ نشه.
    (آخرین ویرایش در این ارسال: ۱۳۸۸ بهمن ۱۵ ۰۱:۴۱ صبح، توسط hidensoft.)
    ۱۳۸۸ بهمن ۱۵ ۰۱:۴۰ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : scooter molana
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #3
    RE: سایت دو زبانه
    نقل قول: اگر نیاز داشتی می تونم راهایی برای گسترش کلاس Language بهت نشون بدم تا دیگه فقط درون لیبل چاپ نشه.
    اگه بگی که خیلی خیلی ممنون می شم.
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۸ بهمن ۱۹ ۰۴:۱۹ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #4
    RE: سایت دو زبانه
    سلام یعنی حتما باید از lable استفاده کرد؟
    اگه یه جایی قرار شد از DB استفاده چی کار باید بکینیم
    من خیلی سرچ کردم تا یه فایل تست پیدا کنم اما هیچینبود
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۸ اسفند ۱۲ ۱۲:۴۹ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #5
    RE: سایت دو زبانه
    سلام
    بعد از مدتها تلاش بی وقفه Big Grin تونستم که با این کلاس کار کنم
    اما حالا یه سوال جدید برام پیش اومده و اون اینه که اساس یک سایت 2 زبانه در ci چگونه است؟
    مثلا چگونه باید بین زبان ها سوییچ کرد؟
    یا همه فایل های view در یک فولدر باشند یا به ازای هر زبان باید یک فولدر view داشته باشیم
    ممنون می شم اگه راهنماییم کنین
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۹ فروردين ۱۷ ۰۵:۰۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    hidensoft آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,384
    تاریخ عضویت: ۱۳۸۸ شهريور ۳
    اعتبار: 46
    تشکرها : 729
    ( 1394 تشکر در 782 ارسال )
    ارسال: #6
    RE: سایت دو زبانه
    برای لود کردن زبان
    کد:
    Loading A Language File

    In order to fetch a line from a particular file you must load the file first. Loading a language file is done with the following code:
    کد PHP:
    $this->lang->load('filename''language'); 
    کد:
    Where filename is the name of the file you wish to load (without the file extension), and language is the language set containing it (ie, english). If the second parameter is missing, the default language set in your application/config/config.php file will be used.

    مثلا شما در فایل فارسی و انگلیسی این متغیر رو دارید
    کد PHP:
    $lang['BlogTitle'
    حالا شما وقتی که زبان فارسی رو لود می کنید هر جا در VIEW از متغیر بالا استفاده کرده باشید مقدار فارسی چاپ می شه و بلعکس
    ۱۳۸۹ فروردين ۱۹ ۰۳:۴۲ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #7
    RE: سایت دو زبانه
    نه منظور من از سویچ اینه که توی سایت ما می نویسیم زبان را انتخاب کنید
    اگر کاربر فارسی رو انتخاب کرد همه صفحه فارسی بشه
    و اگر انگیلیسی هم انگلیسی
    سوال من اینه که با انتخاب کاربر چه جوری باید فایل فارسی رو load کنیم و برعکس
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۹ فروردين ۱۹ ۰۵:۴۵ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    hidensoft آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,384
    تاریخ عضویت: ۱۳۸۸ شهريور ۳
    اعتبار: 46
    تشکرها : 729
    ( 1394 تشکر در 782 ارسال )
    ارسال: #8
    RE: سایت دو زبانه
    میتونی مقدار زبان فعلی رو توی سشن ذخیره کنی
    یه لینک که طرف روش کلیک می کنه برای تغییر زبان
    کد:
    sitedomain/lang/swichlang/fa
    sitedomain/lang/swichlang/en
    یه کنترلر با نام lang و یه فانکشن به نام swichlang گذاشتم. مقدار بعدی زبانی هست که باید ست بشه که حالا fa می خواد باشه en می خواد باشه یا ...
    در کل اسکریپت هم از طریق سشن زبان رو می خونم. اینطوری وقتی که طرف زبان رو فارسی می کنه یا انگلیسی می کنه دیگه همیشه زبان فارسی هست. البته این راه خوبی نیست زیاد
    بهتره در GET نوع زبان رو داشته باشید البته این کار هم دردسر هایی داره
    مثلا تمامی فانکشن ها باید یه آرگومان برای زبان داشته باشند
    کد PHP:
    function news($id$lang fa

    من خودم به هیچ وجه استفاده از CI رو برای سایت های پیشرفته پیش نهاد نمی کنم.
    ۱۳۸۹ فروردين ۲۰ ۱۰:۳۲ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : scooter
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #9
    RE: سایت دو زبانه
    خیلی خیلی از جوابت ممنونم .اگه بازم سوالی پیش اومد حتما می پرسم ازت
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۹ فروردين ۲۰ ۱۲:۵۵ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    scooter آفلاین
    عضو مهم
    ****

    ارسال‌ها: 391
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 3
    تشکرها : 239
    ( 54 تشکر در 42 ارسال )
    ارسال: #10
    RE: سایت دو زبانه
    سلام تا اونجایی که گفتی من پیش رفتم (با استفاده از session )
    اما من میخوام یک segment ساخته نشه .
    یعنی زبان فارسی انتخاب بشه بدون اینکه url تغییر کنه و برعکس ( هر عملیاتی روی زبان انجام شد url تغییر نکنه)
    ممنون می شم کمکم کنی
    __________________________________________________________________________
    welcome to the club
    ۱۳۸۹ فروردين ۲۶ ۰۲:۳۱ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

  • صفحه‌ها (2):
  • ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS