انجمن


تغییر عنوان و ترجمه عبارت Archives for و عبارتهای مشابه در قس  (۴ نوشته)

  • Venux

    آفلاین
    عضو
    تعداد نوشته‌ها: ۶
    تشکر شده: ۱۵ بار
    # نوشته شده: ۱۴ سال پیش
    ۱۵ آبان ۱۳۸۹ - ۲۳:۰۵

    مقدمه: من آخرین نسخه وردپرس فارسی رو دانلود و روی سیستم خودم به صورت لوکال نصب کردم. یک تم فارسی هم پیدا کردم و اون رو هم نصب کردم و اون رو طبق نیاز و سلیقه خودم تغییر دادم. از این تم خوشم میاد اما ظاهرا این تم یک مقدار قدیمی هستش!

    معرفی مشکل: در صفحه archive.php در دایرکتوری تم مربوطه، بعضی عبارتها که باید به فارسی برگردانده میشد، ترجمه معادل در فایل زیانی که توی تم قرار گرفته بود نداشت، مثلا 'Author' اصلا در فایل زبان پیدا نمیشد. بعد از بررسی فهمیدم که این فایلهای زبان ظاهرا قدیمی هستند و بعضی از عبارتها در آنها وجود ندارد، بنایراین آنها را با فایلهای زبان اصلی که در دایرکتوری wp-content/languages قرار داشتند جایگزین کردم و مشکل تا حدی حل شد...

    طرح مشکل: در صفحه مربوطه (archive.php) عباراتی که برای مشخص کردن عنوان صفحه آرشیو نمایش داده شده به کار برده میشد در قایلهای زبان (چه مال خود تم و چه اصلی) پیدا نمیشد! من تصمیم گرفتم که این عبارتها رو از تم پیش فرض بردارم (به این خیال که این عبارتها حتما در فایلهای زبان ترجمه معدل دارند!)

    اما حتی در تم پیش فرض twentyten هم که صفحه مربوطه (archive.php) را باز کردم، این عبارتها (مثلا Daily Archives و Monthly Archives و Yearly Archives) در قایلهای زبان معادل نداشت!

    باز هم دست از تلاش نکشیدم، گفتم از متن عبارتی که در قسمت (sidebar) همین تم از آن استفاده شده بود کپی کنم. (البته آن را هم مجبور شده بودم اصلاح کنم! اما در نهایت کاملا درست کار می کرد)

    مشکل اصلی اینجاست که با اینکه عبارت را عینا کپی کردم و با اینکه مطالبی مثل اسم ماه (در تاریخ) به درستی ترجمه می شود، اما متن جمله اصلی ترجمه نمی شود (دقیقا در قسمت sidebar در همین صفحه ترجمه به درستی نمایش داده می شود)... متن کدی که گذاشتم رو اینجا قرار میدم:

    <?php /* If this is a category archive */ if (is_category()) { ?>
    <h2 class="pagetitle"><?php printf(__('You are currently browsing the archives for the %s category.', 'kubrick'), single_cat_title('', false)); ?></h2>
    <?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
    <h2 class="pagetitle"><?php printf(__('Posts Tagged ‘%s’', 'kubrick'), single_tag_title('', false) ); ?></h2>
    <?php /* If this is a daily archive */ } elseif (is_day()) { ?>
    <h2 class="pagetitle"><?php printf(__('You are currently browsing the <a href=\"%1$s/\">%2$s</a> blog archives for the day %3$s.', 'kubrick'), get_bloginfo('url'), get_bloginfo('name'), get_the_time(__('l, F jS, Y', 'kubrick'))); ?></h2>
    <?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
    <h2 class="pagetitle"><?php printf(__('You are currently browsing the <a href=\"%1$s/\">%2$s</a> blog archives for %3$s.', 'kubrick'), get_bloginfo('url'), get_bloginfo('name'), get_the_time(__('F, Y', 'kubrick'))); ?></h2>
    <?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
    <h2 class="pagetitle"><?php printf(__('You are currently browsing the <a href=\"%1$s/\">%2$s</a> blog archives for the year %3$s.', 'kubrick'), get_bloginfo('url'), get_bloginfo('name'), get_the_time('Y')); ?></h2>
    <?php /* If this is an author archive */ } elseif (is_author()) { ?>
    <h2 class="pagetitle"><?php _e('Archives', 'kubrick'); ?></h2>
    <?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
    <h2 class="pagetitle"><?php printf(__('You are currently browsing the <a href=\"%1$s/\">%2$s</a> blog archives.', 'kubrick'), get_bloginfo('url'), get_bloginfo('name')); ?></h2>
    <?php } ?>

    و این نتیجه ای است که نمایش داده می شود:

    You are currently browsing the VenuxWorld blog archives for نوامبر, 2010.

    سوال اصلی: چرا متن جمله ترجمه نمی شود، با اینکه دقیقا همین کد در قسمت سایدبار این عبارت را نتیجه میدهد:

    شما در حال حاضر بایگانی وبلاگ VenuxWorld در نوامبر, 2010 را مشاهده می‌کنید.

    پ.ن. با توجه به اینکه من در وردپرس تازه کار هستم ممکن است مطلبی را جا انداخته باشم ... من سعی کردم تمام مراحل را بنویسم تا مشکلم واضح تر بشود، اما اگر با اینکار باعث خستگی شما شدم پوزش می خواهم... پیشاپیش ممنون از وقتی که برای پاسخگویی می گذارید.

  • armantaherian

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۰
    تشکر شده: ۶۸ بار
    # نوشته شده: ۱۴ سال پیش
    ۱۶ آبان ۱۳۸۹ - ۱۱:۰۴

    ترجمه‌ی پوسته‌ی twentyten که شما فایل‌ها رو ازش کپی کردید به صورت استاندارد هستش، به این صورت که هیچ نوشته‌ای تو فایل‌های اصلی پوسته ترجمه نمی‌شن. ترجمه‌ی این نوع پوسته‌ها توسط فایل زبانی که توی پوشه‌ی languages پوسته قرار داره به صورت خودکار توسط وردپرس انجام می‌شه.
    شما متن‌های انگلیسی رو خودت به صورت دستی به فارسی ترجمه کن!

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    ~> Mr.vAhiD.DI <~
  • Venux

    آفلاین
    عضو
    تعداد نوشته‌ها: ۶
    تشکر شده: ۱۵ بار
    # نوشته شده: ۱۴ سال پیش
    ۱۷ آبان ۱۳۸۹ - ۰۱:۱۷

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

    تنها نکته ای که باعث سردرگمی من شده این است که در قسمت ساید بار این عبارت ترجمه میشه اما در صفحه آرشیو نه! عبارتها دقیقا معادل هستند... علت چیه؟!

  • Venux

    آفلاین
    عضو
    تعداد نوشته‌ها: ۶
    تشکر شده: ۱۵ بار
    # نوشته شده: ۱۴ سال پیش
    ۱۹ آبان ۱۳۸۹ - ۱۹:۵۲

    برای بستن این تاپیک، فقط خواستم عرض کنم که ظاهرا عملیات کپی/پیست کامل انجام نشده بود... بعد از کپی/پیست مجدد و دقیق٬ عبارتها به صورت کامل ترجمه و نمایش داده شد. ممنون از کسانی که خواندند و armantaherian عزیز که درحد توان کمک کردند... ;)

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    armantaherian

درباره‌ی این موضوع