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

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

سلام دوستان
خب تا حالا خودمون کامپوننت مینوشتیم حالا اگه بخواییم یه کامپوننت ترجمه کنیم باید چکار کنیم!!!
اگه بخواییم یه زبان اضافه کنیم چی !!! فایل language کجا قرار داره!!!
امروز در این مطلب این سوالات رو پاسخ میدم پس با ما باشید.

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

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

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

  1. پوشه administrator/language
  2. پوشه language

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

  1. administrator/components/*component*/language
  2. components/*component*/language

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

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

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

ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کامپوننت-به-فارسی1 ترجمه کامپوننت به فارسی Joomla آموزش کامپوننت نویسی جوملا
زمان ایجاد یک منو جدید، گزینه مشخص شده در شکل زیر، ترجمه شده است:

ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کامپوننت-به-فارسی1 ترجمه کامپوننت به فارسی Joomla آموزش کامپوننت نویسی جوملا    ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کامپوننت-به-فارسی2 ترجمه کامپوننت به فارسی Joomla آموزش کامپوننت نویسی جوملا
زمانی که یک منو از نوع Hello World ایجاد می کنید، مطابق شکل زیر در قسمت “انتخاب های مورد نیاز”، انتخاب پیام و توضیحات آن ترجمه شده است:
ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کامپوننت-به-فارسی1 ترجمه کامپوننت به فارسی Joomla آموزش کامپوننت نویسی جوملا    ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کامپوننت-به-فارسی2 ترجمه کامپوننت به فارسی Joomla آموزش کامپوننت نویسی جوملا    ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کامپوننت-به-فارسی3 ترجمه کامپوننت به فارسی Joomla آموزش کامپوننت نویسی جوملا


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

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

ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کامپوننت-به-فارسی1 ترجمه کامپوننت به فارسی Joomla آموزش کامپوننت نویسی جوملا    ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کامپوننت-به-فارسی2 ترجمه کامپوننت به فارسی Joomla آموزش کامپوننت نویسی جوملا    ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کامپوننت-به-فارسی3 ترجمه کامپوننت به فارسی Joomla آموزش کامپوننت نویسی جوملا    ابتکار در وب (وبتکار) | طراحی سایت | آموزش طراحی سایت -کامپوننت-به-فارسی4 ترجمه کامپوننت به فارسی Joomla آموزش کامپوننت نویسی جوملا


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

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

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


 ترجمه کامپوننت سمت سایت (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/fa-IR/fa-IR.com_helloworld.ini

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


۲- ترجمه کامپوننت سمت مدیریت (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 را با محتوای زیر ایجاد نمایید. این فایل شامل ترجمه بخش مدیریتی کامپوننت است:

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

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

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

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

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

از فایل 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

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=”کامپوننت احوال پرسی”

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

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

  • تمام کلید ها باید با حروف بزرگ تایپ شوند.
  • تمام کلیدها باید با پیشوند نام کامپوننت شروع شوند. در مورد مثال Hello World یعنی (COM_HELLOWORLD)
  • نباید از فاصله خالی استفاده کنید و بجای آن باید از آندر لاین (_) استفاده شود.
  • قراردادها نامگذاری فایل های ترجمه
  • تمام فایل های ترجمه باید بصورت language.extension.ini نامگذاری شوند، برای مثال برای ترجمه فارسی کامپوننت Hello World از فایل fa-IR.com_helloworld.ini استفاده شده است.

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

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

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

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

فایل helloworld.xml

اگر این آموزش را از ابتدا دنبال فرموده باشید، فقط کافی است تغییرات زیر را در فایل 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 2016</creationDate>
<author>webtekar</author>
<authorEmail>info@webtekar.ir</authorEmail>
<authorUrl>http://www.webtekar.ir/</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>

پایان

در اموزش بعدی توضیحی در مورد رکوردها براتون میدم پس لطفا اموزش بعدی را نیز مطالعه کنید.


اگه به اشتراک نزاشتی حداقل لایک کن:(

نظر شما در رابطه با این آموزش چیست


بالا

تمامی حقوق مادی و معنوی این وبسایت محفوظ میباشد و متعلق است به Webtekar.ir.
Google