اگر چه جوملا 2.5 از فایلهای زبان در بخش مدیریت و سایت پشتیبانی میکند، اما هیچ راهی برای نصب فایلهای زبان مربوط به الحاقات (کامپوننت، پلاگین ، ماژول) نیست مگر اینکه آنها توسط خود افزونهها نصب شوند.
خوشبختانه ، از جوملا 1.6 به بعد جوملا! برای نصب اینگونه فایلها نیز قدرتمند ظاهر شد.
برای نمونه ما ساختار فایل XML و محتویات فایل زبان را برای نصب مورد بررسی قرار میدهیم.
• همه فایلهای زبان در بالای فهرست قرار دارند، اما این مثال نحوه تنظیم فایلها در پوشههای زبان را برای استفاده در ‘=folder’ نشان میدهد که در فایل XML با برچسب <files> نمایان است.
محتویات
[نهفتن]
• ۱ نمونه پلاگین بسته زبان
• ۲ فایلهای ویژه برای برچسب زبان
• ۳ مثال فایل محتوای پلاگین
• ۴ ایجاد بسته زبان برای چندین افزونه در یک فایل
• ۵ محتویات فایل xml برای کامپوننت و پلاگین
نمونه پلاگین بسته زبان
فرض کنید شما پلاگین محتوا ‘ganymede’ را میخواهید برای ایجاد بسته زبان جدید برای زبان فارسی fa-IR آماده کنید. در اینجا فایلهای بسته زبان را در پوشه ‘ganymede_fa_IR_language_pack’ نگه میدارد.
کدهای زیر را ببینید:
── ganymede_fa_IR_language_pack
├── index.html
├── ganymede_fa_IR_language_pack.xml
├── fa-IR.plg_content_ganymede.ini
├── fa-IR.plg_content_ganymede.sys.ini
└── language
├── en-GB
│ └── en-GB.files_ganymede_en_GB_language_pack.sys.ini
└── fa-IR
└── fa-IR.files_ganymede_fa_IR_language_pack.sys.ini
محل نصب فایل ‘ganymede_fa_IR_language_pack.xml’ کاملا مشخص است.
فایلهای ویژه برای برچسب زبان
شما باید از روی فایل اصلی en-GB یک فایل زبان برای زبان مورد نظر ایجاد کنید. آنها در بخش مدیریت جوملا نصب خواهند شد و محتویات در صفحه نمایش با برچسب زبان مربوطه نمایش داده میشود.
فایل ‘en-GB.files_ganymede_en_GB_language_pack.sys.ini’ کلید راهنمای زبان انگلیسی خواهد بود.
; package : plg_ganymede en-GB file for fa-IR language pack
; translator : Joomla Farsi Team
; copyright Copyright (c) 2012 JoomlaFarsi.com. All rights reserved.
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html
; Note : All ini files need to be saved as UTF-8 – No BOM
FILES_GANYMEDE_FA_IR_LANGUAGE_PACK=”Plugin Ganymede fa-IR Language Pack”
FILES_GANYMEDE_FA_IR_LANGUAGE_PACK_DESC=”Plugin Ganymede fa-IR Language Pack created by JoomlaFarsi.com Team”
فایل ‘fa-IR.files_ganymede_fa_IR_language_pack.sys.ini’ فقط شامل محتویات زبان فارسی خواهد بود.
; package : plg_ganymede fa-IR language pack
; translator : JoomlaFarsi.com
; copyright Copyright (c) 2012 JoomlaFarsi.com. All rights reserved.
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html
; Note : All ini files need to be saved as UTF-8 – No BOM
FILES_GANYMEDE_FA_IR_LANGUAGE_PACK=”Plugin Ganymede fa-IR Language Pack”
FILES_GANYMEDE_FA_IR_LANGUAGE_PACK_DESC=”Plugin Ganymede fa-IR Language Pack created by JoomlaFarsi.com Team”
• توجه داشته باشید که نام کلید زبان باید با نام فایل ‘_files’ یکسان باشد.
همانطور که ‘FILES_GANYMEDE_FA_IR_LANGUAGE_PACK’ برای پرونده XML با نام ‘ganymede_fa_IR_language_pack.xml’ میباشد.
مثال فایل محتوای پلاگین
شرح فایل به صورت زیر است:
<?xml version=”1.0″ encoding=”utf-8″?>
<extension version=”2.5″ type=”file” method=”upgrade”>
<name>GANYMEDE_FA_IR_LANGUAGE_PACK</name>
<version>1.0.0</version>
<creationDate>25 Aug 2012</creationDate>
<author>Joomla Farsi Team</author>
<authorEmail>info@joomlafarsi.com<;/authorEmail>
<authorUrl>http://www.joomlafarsi.com</authorUrl>
<copyright>Copyright (C) 2012 JoomlaFarsi.com. All rights reserved.</copyright>
<license>GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html</license>
<description>GANYMEDE_FA_IR_LANGUAGE_PACK_DESC</description>
<fileset>
<!– Language files for the plugin –>
<files target=”plugins/content/ganymede/language/fa-IR”>
<filename>index.html</filename>
<filename>fa-IR.plg_content_ganymede.ini</filename>
<filename>fa-IR.plg_content_ganymede.sys.ini</filename>
</files>
<!– Lang pack languages –>
<files folder=”language/en-GB” target=”language/en-GB”>
<filename>en-GB.files_ganymede_en_GB_language_pack.sys.ini</filename>
</files>
<files folder=”language/fa-IR” target=”language/fa-IR”>
<filename>fa-IR.files_ganymede_fa_IR_language_pack.sys.ini</filename>
</files>
</fileset>
<!– Lang pack updates –>
<updateservers>
<server type=”collection” priority=”1″ name=”fa-IR Language Updates”>http://update.faIR.com/translationlist.xml</server>
</updateservers>
</extension>
نکته ویژه:
این مثال شامل بروزرسانی فایلهای زبان از طریق سرورها میشود که با یک کلیک امکان پذیر است و از طریق مدیریت افزونهها قابل دسترسی میباشد.
چند یادداشت و هشدار:
• پس از نصب ، بسته زبان در لیست مدیریت افزونهها (نه مدیریت زبانها) نمایش داده میشود.
• در این روش نصب ، فایلهای زبان پلاگین در داخل پوشه پلاگین قرار میگیرند. این رویکرد جدید برای قرار گرفتن فرمت فایلهای زبان از جوملا 1.6 بنا نهاده شد.
• فایل زبان ‘fa-IR.files_ganymede_fa_IR_language_pack.sys.ini’ (همینطور فایل زبان انگلیسی آن) نیز در بالاترین سطح پوشه زبان (سایت) قرار میگیرد. آنها تنها برای نمایش نام این بسته زبان در مدیریت افزونهها مورد نیاز است.
• نسخه انگلیسی زبان بسته فایل باید گنجانده شود. حتی اگر زبان انگلیسی زبان دوم برای بسیاری از سایتها باشد.
ایجاد بسته زبان برای چندین افزونه در یک فایل
این همان چیزی است که میتواند برای ایجاد یک زبان خاص برای چندین افزونه در یک بسته زبان مورد استفاده قرار گیرد. برای ایجاد بسته زبان مشابه بالا با اضافه کردن بخش <files> برای هر جزء شامل پلاگین ،کامپوننت و ماژول میسر است. مزیت آن اینست که نسخههای زبان خاص در مکانهای خود بدرستی میتوانند نصب شوند.
برای مثال قصد داریم برای پلاگین ‘ganymede’ و کامپوننت ‘jupiter’ بسته زبان ایجاد کنیم. ابتدا بسته زبان fa-IR را ایجاد کرده و مطابق زیر دستورات لازم را وارد نمایید:
── jupiter_fa_IR_language_pack
├── jupiter_fa_IR_language_pack.xml
├── com_jupiter
│ ├── administrator
│ │ ├── help
│ │ │ └── fa-IR
│ │ │ ├── help.css
│ │ │ ├── help.html
│ │ │ └── index.html
│ │ ├── index.html
│ │ ├── fa-IR.com_jupiter.ini
│ │ └── fa-IR.com_jupiter.sys.ini
│ └── language
│ ├── index.html
│ └── fa-IR.com_jupiter.ini
├── plg_ganymede
│ ├── index.html
│ ├── fa-IR.plg_content_ganymede.ini
│ └── fa-IR.plg_content_ganymede.sys.ini
└── language
├── en-GB
│ └── en-GB.files_jupiter_en_GB_language_pack.sys.ini
└── fa-IR
└── fa-IR.files_jupiter_fa_IR_language_pack.sys.ini
محتویات فایل xml برای کامپوننت و پلاگین
محتویات فایل jupiter_fa_IR_language_pack.xml بشرح زیر میباشد:
<?xml version=”1.0″ encoding=”utf-8″?>
<extension version=”2.5″ type=”file” method=”upgrade”>
<name>FILES_JUPITER_FA_IR_LANGUAGE_PACK</name>
<version>1.0.0</version>
<creationDate>25 Aug 2012</creationDate>
<author>Joomla Farsi Team</author>
<authorEmail>info@joomlafarsi.com<;/authorEmail>
<authorUrl>http://www.joomlafarsi.com</authorUrl>
<copyright>Copyright (C) 2012 JoomlaFarsi.com All rights reserved.</copyright>
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
<description>FILES_JUPITER_FA_IR_LANGUAGE_PACK_DESC</description>
<fileset>
<!– Admin component language folder –>
<files folder=”com_jupiter/administrator” target=”administrator/components/com_jupiter/language/fa-IR”>
<filename>index.html</filename>
<filename>fa-IR.com_jupiter.ini</filename>
<filename>fa-IR.com_jupiter.sys.ini</filename>
</files>
<!– Admin component zz language help folder –>
<files folder=”com_jupiter/administrator/help/” target=”administrator/components/com_jupiter/help”>
<folder>fa-IR</folder>
</files>
<!– Site component language folder –>
<files folder=”com_jupiter/language” target=”components/com_jupiter/language/fa-IR”>
<filename>index.html</filename>
<filename>fa-IR.com_jupiter.ini</filename>
</files>
<!– Ganymede plugin language files –>
<files folder=”plg_ganymede” target=”plugins/content/ganymede/language/fa-IR”>
<filename>index.html</filename>
<filename>fa-IR.plg_content_ganymede.ini</filename>
<filename>fa-IR.plg_content_ganymede.sys.ini</filename>
</files>
<!– Lang pack languages –>
<files folder=”language/en-GB” target=”language/en-GB”>
<filename>index.html</filename>
<filename>en-GB.files_jupiter_en_GB_language_pack.sys.ini</filename>
</files>
<files folder=”language/fa-IR” target=”language/fa-IR”>
<filename>fa-IR.files_jupiter_fa_IR_language_pack.sys.ini</filename>
</files>
</fileset>
<updateservers>
<server type=”collection” priority=”1″ name=”fa-IR Language Updates”>http://update.faIR.com/translationlist.xml</server>
</updateservers>
</extension>
نکته: توجه داشته باشید که ما برای فایلهای زبان، بخشهای مختلف <files> ایجاد کردهایم، فایلهای راهنمای مدیریت، فایلهای زبان سایت، فایلهای زبان پلاگین، و فایلهای زبان برای خود بسته نیز ایجاد شدهاند.