سبد (0)

ترجمه کامپوننت به فارسی

مدیریت زبان در جوملا

در جوملا 2.5 از فایل های مربوط به زبان، در چهار حالت مختلف استفاده می شود:

  • نمایش کامپوننت سمت سایت (frontend)
  • مدیریت کامپوننت سمت مدیریت (backend)
  • مدیریت منوها در backend
  • نصب کامپوننت (از 1.7 به بعد)

در جوملا 2.5 از دو مکان مختلف برای قرار دادن فایل های زبان، استفاده می شود:

  • پوشه administrator/language
  • پوشه language

بسته به نحوه نصب کامپوننت ممکن است فایل های زبان در فولدرهای زیر قرار گیرند:

  • administrator/components/*component*/language
  • components/*component*/language

در پایان این بیاموز خواهید توانست

بعد از نصب این قسمت از آموزش، خواهید دید که:

ترجمه قسمت های مختلف کامپوننت Hello World

1- از منوی کامپوننت ها، گزینه "کامپوننت احوال پرسی" به فارسی ترجمه شده است.

مطابق شکل زیر، بعد از کلیک روی منوی بالا، فرم زیر ظاهر می شود و دو رکورد اطلاعاتی در یک جدول به همراه امکان صفحه بندی (pagination) نمایش داده می شود. توجه فرمایید که عنوان دو ستون جدول ترجمه شده است:

2- زمان ایجاد یک منو جدید، گزینه مشخص شده در شکل زیر، ترجمه شده است:

3- زمانی که یک منو از نوع Hello World ایجاد می کنید، مطابق شکل زیر در قسمت "انتخاب های مورد نیاز"، انتخاب پیام و توضیحات آن ترجمه شده است:


فایل نصب کامپوننت

در فایل نصب کامپوننت، قسمت های قرمز رنگ مطابق شکل زیر، اضافه یا تغییر خواهند کرد:

بخش مدیریت زبان (language) در جوملا

توجه: در انتهای این بیاموز، فایل نصب کامپوننت برای دانلود قرار داده شده است.


ترجمه کامپوننت

همان طور که در ابتدای این آموزش گفته شد، در جوملا 2.5 از فایل های مربوط به زبان، در چهار حالت مختلف استفاده می شود:

  1. نمایش کامپوننت سمت سایت (frontend)
  2. مدیریت کامپوننت سمت مدیریت (backend)
  3. مدیریت منوها در backend
  4. نصب کامپوننت (از 1.7 به بعد)

1- ترجمه کامپوننت سمت سایت (frontend)

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

همان طور که در ساختار پوشه بندی فایل نصب مشخص است، در پوشه site یک زیر شاخه با عنوان language ساخته ایم و فایل مربوط به ترجمه ی انگلیسی را در پوشه en-GB و  فایل مربوط به ترجمه فارسی کامپوننت را در شاخه fa-IR قرار داده ایم.

توجه: بعد از نصب کامپوننت، فایل های مربوط به ترجمه انگلیسی در آدرس ROOT/language/en-GB و ترجمه فارسی در آدرس ROOT/language/fa-IR قرار می گیرند.

فایل site/language/en-GB/en-GB.com_helloworld.ini

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

با ویرایشگر دلخواهتان فایل site/language/en-GB/en-GB.com_helloworld.ini را با محتوای زیر ایجاد نمایید: (برای این لحظه این فایل خالی است)

site/language/en-GB/en-GB.com_helloworld.ini

 

فایل site/language/fa-IR/fa-IR.com_helloworld.ini

از این فایل، برای ترجمه کامپوننت به زبان فارسی، سمت سایت استفاده می شود. (محتوای این فایل فعلاً خالی است)


2- ترجمه کامپوننت سمت مدیریت (Backend)

برای ترجمه کامپوننت Hello World سمت مدیریت نیز از دو زبان انگلیسی و فارسی استفاده شده است.

با توجه به ساختار پوشه بندی فایل نصب در شکل بالا، در پوشه admin یک زیر شاخه با عنوان language ساخته ایم و مانند قبل، فایل های مربوط به ترجمه ی انگلیسی را در پوشه en-GB و فایل های مربوط به ترجمه فارسی کامپوننت را در پوشه fa-ID قرار داده ایم.

توجه: بعد از نصب کامپوننت، فایل های مربوط به ترجمه انگلیسی در آدرس ROOT/administrator/language/en-GB و ترجمه فارسی در آدرس ROOT/administrator/language/fa-IR قرار می گیرند.

فایل admin/language/en-GB/en-GB.com_helloworld.ini

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

با ویرایشگر دلخواهتان فایل admin/language/en-GB/en-GB.com_helloworld.ini را با محتوای زیر ایجاد نمایید. این فایل شامل ترجمه بخش مدیریتی کامپوننت است:

admin/language/en-GB/en-GB.com_helloworld.ini

COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC="This message will be displayed"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL="Message"
COM_HELLOWORLD_HELLOWORLD_HEADING_GREETING="Greeting"
COM_HELLOWORLD_HELLOWORLD_HEADING_ID="Id"

توضیح:

خط یک و دو: با استفاده از این دو کلید، زمانی که یک منو جدید ایجاد می کنید، در قسمت "انتخاب های مورد نیاز" عنوان پارامتر اول که یک DropDownList است، ترجمه می شود.

خط سه و چهار: با استفاده از این دو کلید، زمانی که از منوهای بالای مدیریت، روی منوی کامپوننت ها => کامپوننت احوال پرسی کلیک می کنید عنوان دو ستون ترجمه می شود.

فایل admin/language/fa-IR/fa-IR.com_helloworld.ini

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

admin/language/fa-IR/fa-IR.com_helloworld.ini

COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC="لطفاً پیام مورد نظرتان را انتخاب نمایید"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL="انتخاب پیام"
COM_HELLOWORLD_HELLOWORLD_HEADING_GREETING="عنوان احوال پرسی"
COM_HELLOWORLD_HELLOWORLD_HEADING_ID="شناسه احوال پرسی"

3- ترجمه منوها در Backend و ترجمه زمان نصب کامپوننت

در جوملا 2.5 برای ترجمه منوها از یک فایل مجزای دیگر با فرمت sys.ini استفاده شده است که البته محل قرار گیری آن دقیقاً در کنار فایل قبلی است.

از فایل sys.ini در بعضی از نسخه های جوملا، برای ترجمه نام کامپوننت نیز استفاده می شود.

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

فایل admin/language/en-GB/en-GB.com_helloworld.sys.ini

admin/language/en-GB/en-GB.com_helloworld.sys.ini

COM_HELLOWORLD="Hello World!"
COM_HELLOWORLD_DESCRIPTION="This is the Hello World description"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE="Hello World"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC="This view displays a selected message"
COM_HELLOWORLD_MENU="Hello World!"

توضیح:

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

فایل admin/language/fa-IR/fa-IR.com_helloworld.sys.ini

admin/language/fa-IR/fa-IR.com_helloworld.sys.ini

COM_HELLOWORLD="Hello World!"
COM_HELLOWORLD_DESCRIPTION="این متن توضحات لازم برای این کامپوننت را زمان نصب نمایش می دهد"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE="منو از نوع hello word"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC="این منو متن hello word را نمایش می دهد"
COM_HELLOWORLD_MENU="کامپوننت احوال پرسی"

قوانین کلیدهای ترجمه

برای نوشتن کلیدهای ترجمه در جوملا 2.5 چند قانون وجود دارد که در زیر به مهم ترین آنها اشاره کرده ایم:

  • تمام کلید ها باید با حروف بزرگ تایپ شوند.
  • تمام کلیدها باید با پیشوند نام کامپوننت شروع شوند. در مورد مثال Hello World یعنی (COM_HELLOWORLD)
  • نباید از فاصله خالی استفاده کنید و بجای آن باید از آندر لاین (_) استفاده شود.

قراردادها نامگذاری فایل های ترجمه

تمام فایل های ترجمه باید بصورت language.extension.ini نامگذاری شوند، برای مثال برای ترجمه فارسی کامپوننت Hello World از فایل fa-IR.com_helloworld.ini استفاده شده است.


بارگذاری فایل ترجمه

سمت مدیریت یا سایت، زمانی که به کامپوننت دسترسی پیدا می کنید، فایل ترجمه بصورت اتوماتیک توسط هسته جوملا بازگذاری می شود.

اما اگر می خواهید خودتان به دلیلی این کار را انجام دهید، از کد زیر استفاده نمایید:

بارگذاری فایل ترجمه

$language = JFactory::getLanguage();
$language->load('com_yourcomponentname');

فایل helloworld.xml

اگر این آموزش را از ابتدا دنبال فرموده باشید، فقط کافی است تغییرات زیر را در فایل xml، اعمال نمایید: (رنگ سبز)

helloworld.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- $Id: helloworld.xml 14 2009-11-02 18:35:20Z chdemko $ -->
<extension type="component" version="1.6.0" method="upgrade">

    <name>COM_HELLOWORLD</name>
    <!-- The following elements are optional and free of formatting conttraints -->
    <creationDate>November 2009</creationDate>
    <author>beyamooz</author>
    <authorEmail>این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید</authorEmail>
    <authorUrl>https://beyamooz.com</authorUrl>
    <copyright>Copyright Info</copyright>
    <license>License Info</license>
    <!--  The version string is recorded in the components table -->
    <version>0.0.8</version>
    <!-- The description is optional and defaults to the name -->
    <description>COM_HELLOWORLD_DESCRIPTION</description>

    <install> <!-- Runs on install -->
        <sql>
            <file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
        </sql>
    </install>
    <uninstall> <!-- Runs on uninstall -->
        <sql>
            <file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
        </sql>
    </uninstall>
    <update> <!-- Runs on update; New in 1.6 -->
        <schemas>
            <schemapath type="mysql">sql/updates/mysql</schemapath>
        </schemas>
    </update>

    <!-- Site Main File Copy Section -->
    <!-- Note the folder attribute: This attribute describes the folder
        to copy FROM in the package to install therefore files copied
        in this section are copied from /site/ in the package -->
    <files folder="site">
        <filename>index.html</filename>
        <filename>helloworld.php</filename>
        <filename>controller.php</filename>
        <folder>views</folder>
        <folder>models</folder>
        <folder>language</folder>
    </files>

    <administration>
        <!-- Administration Menu Section -->
        <menu>COM_HELLOWORLD_MENU</menu>
        <!-- Administration Main File Copy Section -->
        <!-- Note the folder attribute: This attribute describes the folder
            to copy FROM in the package to install therefore files copied
            in this section are copied from /admin/ in the package -->
        <files folder="admin">
            <!-- Admin Main File Copy Section -->
            <filename>index.html</filename>
            <filename>helloworld.php</filename>
            <filename>controller.php</filename>
            <!-- SQL files section -->
            <folder>sql</folder>
            <!-- tables files section -->
            <folder>tables</folder>
            <!-- models files section -->
            <folder>models</folder>
            <!-- views files section -->
            <folder>views</folder>
        </files>
        <languages folder="admin">
            <language tag="en-GB">language/en-GB/en-GB.com_helloworld.ini</language>
            <language tag="en-GB">language/en-GB/en-GB.com_helloworld.sys.ini</language>
            <language tag="fa-IR">language/fa-IR/fa-IR.com_helloworld.ini</language>
            <language tag="fa-IR">language/fa-IR/fa-IR.com_helloworld.sys.ini</language>
        </languages>
    </administration>

</extension>


دریافت فایل کامپوننت آموزشی Hello World (بخش هشتم)

ایجاد کننده:www.beyamooz.com

خرید فایل:دانلود فایل کامپوننت Hello World
حجم فایل: 4 کیلو بایت
قیمت: 1000 تومان

تمام درآمدها صرف پیشرفت بیاموز خواهد شد.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه