• alirahmani

    (@alirahmani)


    سلام وقت بخیر

    من میخوام برای ترجمه یک قالب به جای این که مستقیم فایل های زبان رو داخل پوشه Language قالب یا چایلد تم قرار بدم، اون ها رو داخل پوشه ای از یک افزونه (که خودم دارم آماده می کنم) بذارم و داخل کد ها تعیین کنم که بعد از فعال شدن افزونه ، قالب من به صورت ترجمه شده بارگذاری شود.

    به عبارت دیگه

    من افزونه کوچک و ساده ای میخوام بنویسم که داخل این افزونه پوشه ای وجود داره و فایل زبان یک قالب داخل اون وجود داره، حال در کد های افزونه میخواهم از کدی استفاده کنم و مسیر لود شدن فایل زبان قالب رو به مسیر موجود در افزونه تغییر بدم.

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

    آیا کد من درست است؟ آیا روش استیبلی وجود دارد ؟ ممنون می شوم راهنمایی کنید:

    نمونه کد بنده در فایل افزونه:

    load_theme_textdomain( 'textdomain', false, dirname( plugin_basename(__FILE__) ) . '/languages' );

    به جای عبارت textdomain هم textdomain قالب رو قالب رو قرار میدم.

    همچنین این کد رو داخل تابعی قرار دادم و تابع رو هم با دستور add_action هنگام لود init فراخوانی کردم.

    با تشکر

در حال نمایش 4 پاسخ ( از کل 4)
  • نویسنده موضوع alirahmani

    (@alirahmani)

    کد من:

    load_theme_textdomain( ‘textdomain’, false, dirname( plugin_basename(__FILE__) ) . ‘/languages’ );

    تیم مدیریت علی فرجی

    (@root)

    سلام، از فانکشن load_textdomain می‌تونین استفاده کنین:

    این مثال، wpvar نام دامنه مثالی هست که باید با نام دامنه قالب یا افزونه جایگزین کنین. path هم مسیری که فایل mo قرار داره. درصورت بروز خطا کنترل کنین که مسیر و نام دامنه رو صحیح وارد کردین.

    load_textdomain('wpvar', __DIR__ . 'path');
    نویسنده موضوع alirahmani

    (@alirahmani)

    سلام مجدد

    برای پیدا کردن نام دامنه آیا تابعی وجود دارد که نام دامنه قالب را برگرداند؟

     

    به جای path به چه شکلی باید مسیر فایل mo را فراخوانی کنم؟

    من از تابع plugins_url(‘languages/ … /fa_IR.mo’,__FILE__ ) استفاده کردم اما جواب نداد (به جای سه نقطه نام پوشه مورد نظر رو قرار دادم)

     

    آیا به همین روش صحیح است؟

    تیم مدیریت علی فرجی

    (@root)

    مسیر افزونه کد زیر نشون می‌ده:

    plugin_dir_url( __FILE__ ).'languages/test.mo';

    مسیر رو باید خارج فانکشن وارد کنین.

    نام دامنه هم معمولا برای افزونه‌ها داخل فایل اصلی افزونه و قالب‌ها functions.php قرار می‌گیره. باید سورس کدها رو بررسی کنین.

در حال نمایش 4 پاسخ ( از کل 4)