آموزش: ایجاد بسته‌های زبان برای افزونه‌های جوملا 2.5   

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

اگر چه جوملا 2.5 از فایل‌های زبان در بخش مدیریت و سایت پشتیبانی می‌کند، اما هیچ راهی برای نصب فایل‌های زبان مربوط به الحاقات (کامپوننت، پلاگین ، ماژول) نیست مگر اینکه آنها توسط خود افزونه‌ها نصب شوند.

خوشبختانه ، از جوملا 1.6 به بعد جوملا! برای نصب اینگونه فایل‌ها نیز قدرتمند ظاهر شد.

برای نمونه ما ساختار فایل XML و محتویات فایل زبان را برای نصب مورد بررسی قرار می‌دهیم.

  • همه فایل‌های زبان در بالای فهرست قرار دارند، اما این مثال نحوه تنظیم فایل‌ها در پوشه‌های زبان را برای استفاده در '=folder' نشان می‌دهد که در فایل XML با برچسب <files> نمایان است.

نمونه پلاگین بسته زبان

فرض کنید شما پلاگین محتوا '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' می‌باشد.

مثال فایل محتوای پلاگین

شرح فایل به صورت زیر است:


<source lang="php">

   <?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>[email protected]</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>
       <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>
       <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>
   <updateservers>
       <server type="collection" priority="1" name="fa-IR Language Updates">http://update.faIR.com/translationlist.xml</server>
   </updateservers>
   </extension>

</source>


نکته ویژه:

این مثال شامل بروزرسانی فایل‌های زبان از طریق سرورها می‌شود که با یک کلیک امکان پذیر است و از طریق مدیریت افزونه‌ها قابل دسترسی می‌باشد.

چند یادداشت و هشدار:

  • پس از نصب ، بسته زبان در لیست مدیریت افزونه‌ها (نه مدیریت زبان‌ها) نمایش داده می‌شود.
  • در این روش نصب ، فایل‌های زبان پلاگین در داخل پوشه پلاگین قرار می‌گیرند. این رویکرد جدید برای قرار گرفتن فرمت فایل‌های زبان از جوملا 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 بشرح زیر می‌باشد:


<source lang="php">

 <?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>[email protected]</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>
         <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>
         <files folder="com_jupiter/administrator/help/" target="administrator/components/com_jupiter/help">
             <folder>fa-IR</folder>
         </files>
         <files folder="com_jupiter/language" target="components/com_jupiter/language/fa-IR">
             <filename>index.html</filename>
             <filename>fa-IR.com_jupiter.ini</filename>
         </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>
         <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>

</source>


نکته: توجه داشته باشید که ما برای فایل‌های زبان، بخش‌های مختلف <files> ایجاد کرده‌ایم، فایل‌های راهنمای مدیریت، فایل‌های زبان سایت، فایل‌های زبان پلاگین، و فایل‌های زبان برای خود بسته نیز ایجاد شده‌اند.


منبع : http://docs.joomla.org/Creating_language_packs_for_extensions_in_Joomla_2.5

ترجمه و بهینه سازی: گروه آموزش - تیم جوملا فارسی

Indent support.png
هر گونه سوال و یا مشکلی در این رابطه دارید، می‌توانید در انجمن تخصصی تیم جوملا فارسی جستجو کرده و در صورت عدم دریافت نتیجه مورد نظر، سوال جدیدی را مطرح کنید.
8.pngاستفاده از مطالب دانشنامه جوملا فارسی - مامبو فارسی با ذکر منبع ( دانشنامه جوملا فارسی ) و لینک مستقیم به http://docs.joomlafarsi.com بلامانع است.