J3.x

Difference between revisions of "Making a Language Pack for Joomla/nl"

From Joomla! Documentation

(Created page with "'''Wat betreft degenen die een "alleen-website" pakket leveren:'''")
 
(70 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
<noinclude><languages /></noinclude>
 
<noinclude><languages /></noinclude>
 
+
<noinclude>{{Joomla version|version=3.x|comment=serie}}</noinclude>
{{version/tutor|3.x}} {{RightTOC}}
+
{{-}}
 +
{{RightTOC}}
 
==Hoe een taalpakket aan te maken voor Joomla zelf==
 
==Hoe een taalpakket aan te maken voor Joomla zelf==
 
===Toelichting===
 
===Toelichting===
 
* ALLE BESTANDEN MOETEN OPGESLAGEN WORDEN ALS UTF8 NO BOM (voor niet-ascii speciale tekens zoals letters met accenten, etc.)  
 
* ALLE BESTANDEN MOETEN OPGESLAGEN WORDEN ALS UTF8 NO BOM (voor niet-ascii speciale tekens zoals letters met accenten, etc.)  
  
* De [http://extensions.joomla.org/extensions/languages/language-edition/17755 Localise] component zou kunnen helpen bij het aanmaken en updaten van de ini bestanden
+
* De [https://github.com/joomla-projects/com_localise/releases localise] component kan je helpen de ini-bestanden aan te maken en te updaten
  
 
* Kijk voor het installeren van ini bestanden voor extensies van 3e partijen in Joomla 2.5 [[S:MyLanguage/J2.5:Making non-core language packs|J2.5:Het maken van niet-core taalpakketten]]
 
* Kijk voor het installeren van ini bestanden voor extensies van 3e partijen in Joomla 2.5 [[S:MyLanguage/J2.5:Making non-core language packs|J2.5:Het maken van niet-core taalpakketten]]
Line 15: Line 16:
  
 
* De huidige Joomla ontwikkeling kan opgehaald worden vanuit het [https://github.com/joomla/joomla-cms Joomla! Content Management Systeem op Github]
 
* De huidige Joomla ontwikkeling kan opgehaald worden vanuit het [https://github.com/joomla/joomla-cms Joomla! Content Management Systeem op Github]
 +
  
 
==Volledige taalpakketten==
 
==Volledige taalpakketten==
Line 25: Line 27:
 
#* <code>admin_fr-FR.zip</code>
 
#* <code>admin_fr-FR.zip</code>
 
# Naamgeving van het pakket
 
# Naamgeving van het pakket
#* '''fr-FR_joomla_lang_full_3.2.0v1.zip'''
+
#* '''fr-FR_joomla_lang_full_3.7.0v1.zip'''
 
# Bestanden die nodig zijn voor het gedeeltelijk verwijderen
 
# Bestanden die nodig zijn voor het gedeeltelijk verwijderen
 
#* ieder pakket moet een <code>fr-FR.lib_joomla.ini</code> bevatten en een <code>fr-FR.localise.php</code> om om te gaan met het verwijderen van het website- of beheerpakket door de gebruiker.
 
#* ieder pakket moet een <code>fr-FR.lib_joomla.ini</code> bevatten en een <code>fr-FR.localise.php</code> om om te gaan met het verwijderen van het website- of beheerpakket door de gebruiker.
Line 33: Line 35:
  
 
<source lang="xml">
 
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?>
+
<?xml version="1.0" encoding="UTF-8"?>
<extension type="package" version="3.2" method="upgrade"> <! method="upgrade" is compulsory since 3.4 -->
+
<extension type="package" version="3.7" method="upgrade"> <!-- method="upgrade" is compulsory since 3.4 -->
<name>French Language Pack</name><?xml version="1.0" encoding="UTF-8" ?>
+
<name>French language pack</name> <!-- name should be only ALPHA characters since 3.7 -->
<extension type="package" version="3.2">
+
<packagename>fr-FR</packagename> <!-- the packagename has to be the same as the name of pkg_whatever.xml -->
<name>French Language Pack</name>
+
<version>3.7.0.1</version> <!-- change the version # 3.x.x.x when updating, will display in manager -->
<packagename>fr-FR</packagename> <!-- the packagename has to be the same as the name of pkg_whatever.xml -->
+
<creationDate>03/02/2017</creationDate> <!-- will display in manager -->
<version>3.2.0.1</version> <!-- change the version # 3.x.x.x when updating, will display in manager -->
+
<author>French translation team : joomla.fr</author> <!-- will display in manager -->
<creationDate>15/05/2013</creationDate>   <!-- will display in manager -->
+
<authorEmail>traduction@joomla.fr</authorEmail> <!-- will display in manager -->
<author>French translation team : joomla.fr</author> <!-- will display in manager -->
+
<authorUrl>http://joomla.fr</authorUrl> <!-- will display in manager -->
<authorEmail>traduction@joomla.fr</authorEmail> <!-- will display in manager -->
+
<copyright>Copyright (C) 2005 - 2017 Joomla.fr and Open Source Matters, Inc. All rights reserved.</copyright>
<authorUrl>www.joomla.fr</authorUrl> <!-- will display in manager -->
+
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <copyright>Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés</copyright>
 
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
 
 
<url></url>
 
<url></url>
<packager>Joomla! French</packager>
+
<packager></packager>
<packagerurl>www.joomla.fr</packagerurl>
+
<packagerurl></packagerurl>
<description>
+
<description><![CDATA[<div style="text-align:left;">
<![CDATA[
+
<h3>Joomla! 3.7.0 Full French (fr-FR) Language Package - Version 3.7.0v1</h3>
<div style="text-align:left;">
+
<h3>Paquet de langue Joomla! 3.7.0 français (fr-FR) complet - Version 3.7.0v1</h3>
<h3>Joomla! 3.2 Full French (fr-FR) Language Package - Version 3.2.0v1</h3>
+
</div>]]></description>
<h3>Paquet de langue Joomla! 3.2 français (fr-FR) complet - Version 3.2.0v1</h3>
+
<blockChildUninstall>true</blockChildUninstall>  <!-- New in 3.7.0: prevents uninstalling separately site or admin parts. -->
]]>
 
</description>
 
 
<files>
 
<files>
 
<file type="language" client="site" id="fr-FR">site_fr-FR.zip</file>
 
<file type="language" client="site" id="fr-FR">site_fr-FR.zip</file>
 
<file type="language" client="administrator" id="fr-FR">admin_fr-FR.zip</file>
 
<file type="language" client="administrator" id="fr-FR">admin_fr-FR.zip</file>
 
</files>
 
</files>
    <updateservers>
+
<updateservers>
        <server type="collection" priority="1" name="Accredited Joomla! Translations">http://update.joomla.org/language/translationlist_3.xml</server>
+
<server type="collection" priority="1" name="Accredited Joomla! Translations">
    </updateservers>
+
                        https://update.joomla.org/language/translationlist_3.xml
</extension>
+
                </server>
<packagename>fr-FR</packagename>  <!-- the packagename has to be the same as the name of pkg_whatever.xml -->
+
</updateservers>
<version>3.2.0.1</version>  <!-- change the version # 3.x.x.x when updating, will display in manager -->
 
<creationDate>15/05/2013</creationDate>  <!-- will display in manager -->
 
<author>French translation team : joomla.fr</author>  <!-- will display in manager -->
 
<authorEmail>traduction@joomla.fr</authorEmail>  <!-- will display in manager -->
 
<authorUrl>www.joomla.fr</authorUrl>  <!-- will display in manager -->
 
    <copyright>Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés</copyright>
 
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
 
<url></url>
 
<packager>Joomla! French</packager>
 
<packagerurl>www.joomla.fr</packagerurl>
 
<description>
 
<![CDATA[
 
<div style="text-align:left;">
 
<h3>Joomla! 3.2 Full French (fr-FR) Language Package - Version 3.2.0v1</h3>
 
<h3>Paquet de langue Joomla! 3.2 français (fr-FR) complet - Version 3.2.0v1</h3>
 
]]>
 
</description>
 
<files>
 
<file type="language" client="site" id="fr-FR">site_fr-FR.zip</file>
 
<file type="language" client="administrator" id="fr-FR">admin_fr-FR.zip</file>
 
</files>
 
    <updateservers>
 
        <server type="collection" priority="1" name="Accredited Joomla! Translations">http://update.joomla.org/language/translationlist_3.xml</server>
 
    </updateservers>
 
 
</extension>
 
</extension>
 
</source>
 
</source>
  
Let op: TinyMCE bestanden zijn niet meer nodig vanaf 3.2. Ze zitten nu in de core. Neem, als uw taal ontbreekt, contact op met de Translation Team coördinatie.
+
Let op: TinyMCE bestanden zijn niet meer nodig sinds 3.2. Ze zitten nu in de core. Neem, als uw taal ontbreekt, contact op met de Translation Team coördinatie.
  
 
===Een zip per gedeelte (ofwel één voor de website en één voor het beheergedeelte)===
 
===Een zip per gedeelte (ofwel één voor de website en één voor het beheergedeelte)===
Line 106: Line 80:
 
<source lang="xml"
 
<source lang="xml"
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.2" client="administrator" type="language" method="upgrade"> // change to client="site" if site pack
+
<extension version="3.7" client="administrator" type="language" method="upgrade"> <!-- change to client="site" if site pack -->
<name>French (fr-FR)</name>
+
<name>French (fr-FR)</name> <!-- New in 3.7.0: Use only latin ascii characters. -->
 
<tag>fr-FR</tag>
 
<tag>fr-FR</tag>
<version>3.2.0.1</version>
+
<version>3.7.0.1</version>
<creationDate>15/05/2013</creationDate>
+
<creationDate>15/02/2017</creationDate>
 
<author>French translation team : joomla.fr</author>
 
<author>French translation team : joomla.fr</author>
 
<authorEmail>traduction@joomla.fr</authorEmail>
 
<authorEmail>traduction@joomla.fr</authorEmail>
 
<authorUrl>www.joomla.fr</authorUrl>
 
<authorUrl>www.joomla.fr</authorUrl>
<copyright>Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés</copyright>
+
<copyright>Copyright (C) 2005 - 2017 joomla.fr et Open Source Matters. Tous droits réservés</copyright>
 
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
 
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
 
<description>fr-FR administrator language</description>
 
<description>fr-FR administrator language</description>
 
<files>
 
<files>
<filename>index.html</filename>
 
 
<filename>fr-FR.com_admin.ini</filename>
 
<filename>fr-FR.com_admin.ini</filename>
 
<filename>fr-FR.com_admin.sys.ini</filename>
 
<filename>fr-FR.com_admin.sys.ini</filename>
 +
<filename>fr-FR.com_ajax.ini</filename>
 +
<filename>fr-FR.com_ajax.sys.ini</filename>
 +
<filename>fr-FR.com_associations.ini</filename>
 +
<filename>fr-FR.com_associations.sys.ini</filename>
 
<filename>fr-FR.com_banners.ini</filename>
 
<filename>fr-FR.com_banners.ini</filename>
 
<filename>fr-FR.com_banners.sys.ini</filename>
 
<filename>fr-FR.com_banners.sys.ini</filename>
<filename>fr-FR.com_ajax.ini</filename>
 
<filename>fr-FR.com_ajax.sys.ini</filename>
 
 
<filename>fr-FR.com_cache.ini</filename>
 
<filename>fr-FR.com_cache.ini</filename>
 
<filename>fr-FR.com_cache.sys.ini</filename>
 
<filename>fr-FR.com_cache.sys.ini</filename>
Line 141: Line 116:
 
<filename>fr-FR.com_cpanel.ini</filename>
 
<filename>fr-FR.com_cpanel.ini</filename>
 
<filename>fr-FR.com_cpanel.sys.ini</filename>
 
<filename>fr-FR.com_cpanel.sys.ini</filename>
 +
<filename>fr-FR.com_fields.ini</filename>
 +
<filename>fr-FR.com_fields.sys.ini</filename>
 
<filename>fr-FR.com_finder.ini</filename>
 
<filename>fr-FR.com_finder.ini</filename>
 
<filename>fr-FR.com_finder.sys.ini</filename>
 
<filename>fr-FR.com_finder.sys.ini</filename>
Line 224: Line 201:
 
<filename>fr-FR.plg_captcha_recaptcha.ini</filename>
 
<filename>fr-FR.plg_captcha_recaptcha.ini</filename>
 
<filename>fr-FR.plg_captcha_recaptcha.sys.ini</filename>
 
<filename>fr-FR.plg_captcha_recaptcha.sys.ini</filename>
 +
<filename>fr-FR.plg_content_contact.ini</filename>
 +
<filename>fr-FR.plg_content_contact.sys.ini</filename>
 
<filename>fr-FR.plg_content_emailcloak.ini</filename>
 
<filename>fr-FR.plg_content_emailcloak.ini</filename>
 
<filename>fr-FR.plg_content_emailcloak.sys.ini</filename>
 
<filename>fr-FR.plg_content_emailcloak.sys.ini</filename>
 +
<filename>fr-FR.plg_content_fields.ini</filename>
 +
<filename>fr-FR.plg_content_fields.sys.ini</filename>
 
<filename>fr-FR.plg_content_finder.ini</filename>
 
<filename>fr-FR.plg_content_finder.ini</filename>
 
<filename>fr-FR.plg_content_finder.sys.ini</filename>
 
<filename>fr-FR.plg_content_finder.sys.ini</filename>
Line 238: Line 219:
 
<filename>fr-FR.plg_content_vote.ini</filename>
 
<filename>fr-FR.plg_content_vote.ini</filename>
 
<filename>fr-FR.plg_content_vote.sys.ini</filename>
 
<filename>fr-FR.plg_content_vote.sys.ini</filename>
<filename>fr-FR.plg_editors_codemirror.ini</filename>
 
<filename>fr-FR.plg_editors_codemirror.sys.ini</filename>
 
<filename>fr-FR.plg_editors_none.ini</filename>
 
<filename>fr-FR.plg_editors_none.sys.ini</filename>
 
<filename>fr-FR.plg_editors_tinymce.ini</filename>
 
<filename>fr-FR.plg_editors_tinymce.sys.ini</filename>
 
 
<filename>fr-FR.plg_editors-xtd_article.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_article.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_article.sys.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_article.sys.ini</filename>
 +
<filename>fr-FR.plg_editors-xtd_contact.ini</filename>
 +
<filename>fr-FR.plg_editors-xtd_contact.sys.ini</filename>
 +
<filename>fr-FR.plg_editors-xtd_fields.ini</filename>
 +
<filename>fr-FR.plg_editors-xtd_fields.sys.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_image.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_image.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_image.sys.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_image.sys.ini</filename>
 +
<filename>fr-FR.plg_editors-xtd_menu.ini</filename>
 +
<filename>fr-FR.plg_editors-xtd_menu.sys.ini</filename>
 +
<filename>fr-FR.plg_editors-xtd_module.ini</filename>
 +
<filename>fr-FR.plg_editors-xtd_module.sys.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_pagebreak.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_pagebreak.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_pagebreak.sys.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_pagebreak.sys.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_readmore.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_readmore.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_readmore.sys.ini</filename>
 
<filename>fr-FR.plg_editors-xtd_readmore.sys.ini</filename>
 +
<filename>fr-FR.plg_editors_codemirror.ini</filename>
 +
<filename>fr-FR.plg_editors_codemirror.sys.ini</filename>
 +
<filename>fr-FR.plg_editors_none.ini</filename>
 +
<filename>fr-FR.plg_editors_none.sys.ini</filename>
 +
<filename>fr-FR.plg_editors_tinymce.ini</filename>
 +
<filename>fr-FR.plg_editors_tinymce.sys.ini</filename>
 
<filename>fr-FR.plg_extension_joomla.ini</filename>
 
<filename>fr-FR.plg_extension_joomla.ini</filename>
 
<filename>fr-FR.plg_extension_joomla.sys.ini</filename>
 
<filename>fr-FR.plg_extension_joomla.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_calendar.ini</filename>
 +
<filename>fr-FR.plg_fields_calendar.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_checkboxes.ini</filename>
 +
<filename>fr-FR.plg_fields_checkboxes.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_color.ini</filename>
 +
<filename>fr-FR.plg_fields_color.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_editor.ini</filename>
 +
<filename>fr-FR.plg_fields_editor.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_gallery.ini</filename>
 +
<filename>fr-FR.plg_fields_gallery.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_image.ini</filename>
 +
<filename>fr-FR.plg_fields_image.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_imagelist.ini</filename>
 +
<filename>fr-FR.plg_fields_imagelist.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_integer.ini</filename>
 +
<filename>fr-FR.plg_fields_integer.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_list.ini</filename>
 +
<filename>fr-FR.plg_fields_list.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_media.ini</filename>
 +
<filename>fr-FR.plg_fields_media.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_radio.ini</filename>
 +
<filename>fr-FR.plg_fields_radio.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_sql.ini</filename>
 +
<filename>fr-FR.plg_fields_sql.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_text.ini</filename>
 +
<filename>fr-FR.plg_fields_text.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_textarea.ini</filename>
 +
<filename>fr-FR.plg_fields_textarea.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_url.ini</filename>
 +
<filename>fr-FR.plg_fields_url.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_user.ini</filename>
 +
<filename>fr-FR.plg_fields_user.sys.ini</filename>
 +
<filename>fr-FR.plg_fields_usergrouplist.ini</filename>
 +
<filename>fr-FR.plg_fields_usergrouplist.sys.ini</filename>
 
<filename>fr-FR.plg_finder_categories.ini</filename>
 
<filename>fr-FR.plg_finder_categories.ini</filename>
 
<filename>fr-FR.plg_finder_categories.sys.ini</filename>
 
<filename>fr-FR.plg_finder_categories.sys.ini</filename>
Line 266: Line 289:
 
<filename>fr-FR.plg_finder_weblinks.ini</filename>
 
<filename>fr-FR.plg_finder_weblinks.ini</filename>
 
<filename>fr-FR.plg_finder_weblinks.sys.ini</filename>
 
<filename>fr-FR.plg_finder_weblinks.sys.ini</filename>
 +
<filename>fr-FR.plg_installer_folderinstaller.ini</filename>
 +
<filename>fr-FR.plg_installer_folderinstaller.sys.ini</filename>
 +
<filename>fr-FR.plg_installer_packageinstaller.ini</filename>
 +
<filename>fr-FR.plg_installer_packageinstaller.sys.ini</filename>
 +
<filename>fr-FR.plg_installer_urlinstaller.ini</filename>
 +
<filename>fr-FR.plg_installer_urlinstaller.sys.ini</filename>
 
<filename>fr-FR.plg_installer_webinstaller.ini</filename>
 
<filename>fr-FR.plg_installer_webinstaller.ini</filename>
 
<filename>fr-FR.plg_installer_webinstaller.sys.ini</filename>
 
<filename>fr-FR.plg_installer_webinstaller.sys.ini</filename>
Line 272: Line 301:
 
<filename>fr-FR.plg_quickicon_joomlaupdate.ini</filename>
 
<filename>fr-FR.plg_quickicon_joomlaupdate.ini</filename>
 
<filename>fr-FR.plg_quickicon_joomlaupdate.sys.ini</filename>
 
<filename>fr-FR.plg_quickicon_joomlaupdate.sys.ini</filename>
 +
<filename>fr-FR.plg_quickicon_phpversioncheck.ini</filename>
 +
<filename>fr-FR.plg_quickicon_phpversioncheck.sys.ini</filename>
 
<filename>fr-FR.plg_search_categories.ini</filename>
 
<filename>fr-FR.plg_search_categories.ini</filename>
 
<filename>fr-FR.plg_search_categories.sys.ini</filename>
 
<filename>fr-FR.plg_search_categories.sys.ini</filename>
Line 288: Line 319:
 
<filename>fr-FR.plg_system_debug.ini</filename>
 
<filename>fr-FR.plg_system_debug.ini</filename>
 
<filename>fr-FR.plg_system_debug.sys.ini</filename>
 
<filename>fr-FR.plg_system_debug.sys.ini</filename>
 +
<filename>fr-FR.plg_system_fields.ini</filename>
 +
<filename>fr-FR.plg_system_fields.sys.ini</filename>
 
<filename>fr-FR.plg_system_highlight.ini</filename>
 
<filename>fr-FR.plg_system_highlight.ini</filename>
 
<filename>fr-FR.plg_system_highlight.sys.ini</filename>
 
<filename>fr-FR.plg_system_highlight.sys.ini</filename>
Line 306: Line 339:
 
<filename>fr-FR.plg_system_sef.ini</filename>
 
<filename>fr-FR.plg_system_sef.ini</filename>
 
<filename>fr-FR.plg_system_sef.sys.ini</filename>
 
<filename>fr-FR.plg_system_sef.sys.ini</filename>
 +
<filename>fr-FR.plg_system_stats.ini</filename>
 +
<filename>fr-FR.plg_system_stats.sys.ini</filename>
 +
<filename>fr-FR.plg_system_updatenotification.ini</filename>
 +
<filename>fr-FR.plg_system_updatenotification.sys.ini</filename>
 
<filename>fr-FR.plg_twofactorauth_totp.ini</filename>
 
<filename>fr-FR.plg_twofactorauth_totp.ini</filename>
 
<filename>fr-FR.plg_twofactorauth_totp.sys.ini</filename>
 
<filename>fr-FR.plg_twofactorauth_totp.sys.ini</filename>
Line 320: Line 357:
 
<filename>fr-FR.tpl_isis.ini</filename>
 
<filename>fr-FR.tpl_isis.ini</filename>
 
<filename>fr-FR.tpl_isis.sys.ini</filename>
 
<filename>fr-FR.tpl_isis.sys.ini</filename>
<filename file="meta">install.xml</filename>
+
<filename file="meta">install.xml</filename> <!-- This file is mandatory as otherwise the pack can't be uninstalled. -->
 
<filename file="meta">fr-FR.xml</filename>
 
<filename file="meta">fr-FR.xml</filename>
 
</files>
 
</files>
Line 335: Line 372:
 
Opmerkingen:  
 
Opmerkingen:  
 
* <code>fr-FR.lib_joomla.ini</code> : Voeg onderaan in zowel beheergedeelte als website toe. In ieder geval in de website bij een "alleen-website pakket", kijk hieronder
 
* <code>fr-FR.lib_joomla.ini</code> : Voeg onderaan in zowel beheergedeelte als website toe. In ieder geval in de website bij een "alleen-website pakket", kijk hieronder
* <code>fr-FR.css</code> : NIEUW IN 1.7: dit bestand kan toegevoegd worden in het BEHEER-pakket als men de fonts die gebruikt worden om het beheergedeelte te tonen wil veranderen.
+
* <code>fr-FR.css</code> : NIEUW IN 1.7: dit bestand kan toegevoegd worden in het BEHEER-deel als men de fonts die gebruikt worden om het beheergedeelte te tonen wil veranderen.
 
* <code>fr-FR.xml</code> : Let op het bestand="meta" tag, vertelt dat het de basis xml informatie bevat over het pakket.
 
* <code>fr-FR.xml</code> : Let op het bestand="meta" tag, vertelt dat het de basis xml informatie bevat over het pakket.
* <code>install.xml</code> : Verplicht! Dit bestand laat het een taal dé-installeren. Let op bestand="meta"
+
* <code>install.xml</code> : Verplicht! Dit bestand laat het een taal (dé-)installeren. Let op bestand="meta"
 
* <code>fr-FR.localise.php</code> : Toevoegen in zowel beheergedeelte als website. Minstens in site als het een "alleen-website pakket" is, zie hieronder
 
* <code>fr-FR.localise.php</code> : Toevoegen in zowel beheergedeelte als website. Minstens in site als het een "alleen-website pakket" is, zie hieronder
 
* Map media <code>destination="fr-FR"</code> : Als een specifieke kalender toegevoegd moet worden
 
* Map media <code>destination="fr-FR"</code> : Als een specifieke kalender toegevoegd moet worden
 +
  
 
====Alle ini-bestanden====
 
====Alle ini-bestanden====
 
Let op de nieuwe opmaak!  
 
Let op de nieuwe opmaak!  
 
* Dubbele quotes in de waarde moeten geschreven worden als "_QQ_" of als &amp;quot;
 
* Dubbele quotes in de waarde moeten geschreven worden als "_QQ_" of als &amp;quot;
 +
*''' Vanaf 3.7.0 mogen "escaped doublequotes" \" gebruikt worden in plaats van  "_QQ_" die vanaf 4.0 verouderd zullen zijn'''
  
 
====Het fr-FR.xml bestand====
 
====Het fr-FR.xml bestand====
Line 349: Line 388:
 
<source lang="xml">
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
<metafile version="3.2" client="administrator">
+
<metafile version="3.7" client="administrator">
 
     <tag>fr-FR</tag>
 
     <tag>fr-FR</tag>
 
<name>French (fr-FR)</name>
 
<name>French (fr-FR)</name>
<version>3.2.0.1</version>
+
<version>3.7.0.1</version>
<creationDate>15/04/2013</creationDate>
+
<creationDate>02/02/2017</creationDate>
 
<author>French translation team : joomla.fr</author>
 
<author>French translation team : joomla.fr</author>
 
<authorEmail>traduction@joomla.fr</authorEmail>
 
<authorEmail>traduction@joomla.fr</authorEmail>
 
<authorUrl>www.joomla.fr</authorUrl>
 
<authorUrl>www.joomla.fr</authorUrl>
<copyright>Copyright (C) 2005 - 2013 Open Source Matters &amp; Joomla.fr. All rights reserved.</copyright>
+
<copyright>Copyright (C) 2005 - 2017 Open Source Matters &amp; Joomla.fr. All rights reserved.</copyright>
 
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
 
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
 
<description>French administrator language for Joomla 3.0</description>
 
<description>French administrator language for Joomla 3.0</description>
 
<metadata>
 
<metadata>
 
<name>Français (FR)</name>
 
<name>Français (FR)</name>
 +
<nativeName>Français (France)</nativeName> <!-- NEW in 3.7.0. Use the native alphabet here.-->
 
<tag>fr-FR</tag>
 
<tag>fr-FR</tag>
 
<rtl>0</rtl>
 
<rtl>0</rtl>
Line 367: Line 407:
 
<firstDay>1</firstDay>
 
<firstDay>1</firstDay>
 
<weekEnd>0,6</weekEnd>
 
<weekEnd>0,6</weekEnd>
 +
<calendar>gregorian</calendar> <!-- NEW in 3.7.0. gregorian and jalali are proposed. If absent, gregorian will be used as default. Do NOT translate-->
 
</metadata>
 
</metadata>
 
<params />
 
<params />
Line 376: Line 417:
 
* <firstDay>1</firstDay> wordt gebruikt voor de kalender icoon om aan te geven wat de eerste dag van de week is in die taal. 0 is zondag, 1 is maandag, etc.
 
* <firstDay>1</firstDay> wordt gebruikt voor de kalender icoon om aan te geven wat de eerste dag van de week is in die taal. 0 is zondag, 1 is maandag, etc.
 
* <weekEnd>0,6</weekEnd> wordt gebruikt voor de kalender, Het definieert de dag(en) van de week die uitgegrijsd worden. 0,6 is zaterdag & zondag, 1 word vrijdag.
 
* <weekEnd>0,6</weekEnd> wordt gebruikt voor de kalender, Het definieert de dag(en) van de week die uitgegrijsd worden. 0,6 is zaterdag & zondag, 1 word vrijdag.
 +
* <calendar>gregorian</calendar> wordt gebruikt voor de kalender, jalali zal de weergave van de kalender aanpassen naar de Perzische talen.
  
 
====Het fr-FR.localise.php bestand====
 
====Het fr-FR.localise.php bestand====
Line 395: Line 437:
  
 
'''SLA DIT BESTAND ALTIJD UTF8 NO BOM OP''' als het niet-ascii speciale-tekens bevat (letters met accenten, etc.)
 
'''SLA DIT BESTAND ALTIJD UTF8 NO BOM OP''' als het niet-ascii speciale-tekens bevat (letters met accenten, etc.)
 +
Ini-bestanden kunnen met BOM opgeslagen worden (Joomla! handelt dit af), maar geen xml- of php-bestanden.
  
 
=====Voorbeeld 1 - Aangepaste transliteratie NIET geïmplementeerd=====
 
=====Voorbeeld 1 - Aangepaste transliteratie NIET geïmplementeerd=====
Line 402: Line 445:
 
/**
 
/**
 
  * @version $Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $
 
  * @version $Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $
  * @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.
+
  * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
 
  * @license GNU General Public License version 2 or later; see LICENSE.txt
 
  * @license GNU General Public License version 2 or later; see LICENSE.txt
 
  */
 
  */
Line 489: Line 532:
 
public static function transliterate($string)
 
public static function transliterate($string)
 
{
 
{
$str = JString::strtolower($string);
+
$str = \Joomla\String\StringHelper::strtolower($string); // since 3.8.0 to prepare 4.0
  
 
//Specific language transliteration.
 
//Specific language transliteration.
Line 548: Line 591:
  
 
=====Voorbeeld 3 - Aangepaste kalender geïmplementeerd=====
 
=====Voorbeeld 3 - Aangepaste kalender geïmplementeerd=====
Hier een voorbeeld van een functie die toegevoegd moet worden aan het <code>localise.php</code> bestand om een aangepaste kalender te implementeren voor fa-IR (Perzische taal)  
+
Hier een voorbeeld van een functie die toegevoegd moet worden aan het <code>localise.php</code> bestand om een aangepaste kalender te implementeren voor fa-IR (Perzische taal). Dit is verschillend ten opzichte van de meta in de xml(s).
  
 
<source lang="php">
 
<source lang="php">
Line 554: Line 597:
 
/**
 
/**
 
  * @version $Id: language.php 15628 2010-03-27 05:20:29Z infograf768 $
 
  * @version $Id: language.php 15628 2010-03-27 05:20:29Z infograf768 $
  * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
+
  * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
* @copyright Copyright (C) 2005 - 2014 JoomlaFarsi.com. All rights reserved.
 
 
  * @license GNU General Public License version 2 or later; see LICENSE.txt
 
  * @license GNU General Public License version 2 or later; see LICENSE.txt
 
  */
 
  */
Line 781: Line 823:
  
 
Let op: Men moet ook de juiste <code>calendar.js</code> bestanden toevoegen aan het pakket.
 
Let op: Men moet ook de juiste <code>calendar.js</code> bestanden toevoegen aan het pakket.
 +
  
 
==Het alleen-website pakket==
 
==Het alleen-website pakket==
Line 787: Line 830:
  
  
I.e. IT IS NECESSARY TO PROVIDE AN ADMIN PACK WITH ALL FILES, SOME OF THEM SHOULD BE TRANSLATED and to post a unique package as for a real "full" pack (See above).
+
HET IS NOODZAKELIJK EEN BEHEER-PAKKET TE LEVEREN MET ALLE BESTANDEN EN ENKELE MOETEN VERTAALD ZIJN en een uniek pakket te plaatsen zoals een echt "volledig" pakket (zie hierboven).
  
Why? ==> because some plugin ini files are used in front-end! Here is a typical administrator <code>install.xml</code> in this case. Example for 3.3.x, the files to translate are indicated by =======> :
+
Waarom? ==> omdat sommige plugin ini-bestanden op de website gebruikt worden Hier is een typisch beheer <code>install.xml</code> bestand. Voorbeeld voor 3.3.x, de bestanden om te vertalen worden aangegeven door =======> :
  
 
<source lang="xml">
 
<source lang="xml">
Line 1,016: Line 1,059:
 
</source>
 
</source>
  
For the unstranslated files, just copy the <code>en-GB</code> ones and change the language prefix.
+
Kopieer de onvertaalde <code>en-GB</code> bestanden en wijzig het taalvoorvoegsel.
 +
 
 +
==Wat niet vertalen==
 +
Vertaal deze regels niet:
 +
 
 +
* bestand <code>fr-FR.ini</code> = de regels voor <code>"JHELP_"</code>
 +
 
 +
Voorbeeld:
 +
<source lang="php">
 +
JHELP_COMPONENTS_MESSAGING_INBOX="Components_Messaging_Inbox"
 +
</source>
 +
 
 +
Ze worden gebruikt om de help te organiseren. Als een specifieke help-wiki per taal beschikbaar is, werken ze.
 +
 
 +
==Veel gestelde vragen==
 +
===Waarom we .ini bestanden gebruiken in plaats van .po .mo===
 +
INI bestanden werden in 2006 gekozen om verschillende redenen:
 +
 
 +
* Er was geen specifieke app om om te gaan met .po op alle platforms (Poedit was niet beschikbaar op Windows)
 +
* Iedereen, zelfs zonder enige codeer kennis kon een ini bestand aanmaken/bewerken
 +
* ini bestanden zijn leesbaar, .po niet
 +
* Je kunt niet meer dan één .po bestand per pagina laden.
 +
 
 +
maar niet alleen daarom en daarom is het beter verder te gaan:
 +
 
 +
Het volgende is een voorbeeld geplukt uit Wordpress uit de code van een eenvoudig .php bestand (WP gebruikt GEEN meervouden, zoals te zien in hun .po bestanden):
 +
 
 +
<source lang="php">
 +
get_current_screen()->add_help_tab( array(
 +
        'id'      => 'publish-box',
 +
        'title'  => __('Publish Settings'),
 +
        'content' => $publish_box,
 +
    ) );
 +
 
 +
    $discussion_settings  = '<p>' . __('<strong>Send Trackbacks</strong> - Trackbacks are a way to notify legacy blog systems that you&#8217;ve linked to them. Enter the URL(s) you want to send trackbacks. If you link to other WordPress sites they&#8217;ll be notified automatically using pingbacks, and this field is unnecessary.') . '</p>';
 +
    $discussion_settings .= '<p>' . __('<strong>Discussion</strong> - You can turn comments and pings on or off, and if there are comments on the post, you can see them here and moderate them.') . '</p>';
 +
 
 +
    get_current_screen()->add_help_tab( array(
 +
        'id'      => 'discussion-settings',
 +
        'title'  => __('Discussion Settings'),
 +
        'content' => $discussion_settings,
 +
    ) );
 +
} elseif ( 'page' == $post_type ) {
 +
    $page_attributes = '<p>' . __('<strong>Parent</strong> - You can arrange your pages in hierarchies. For example, you could have an &#8220;About&#8221; page that has &#8220;Life Story&#8221; and &#8220;My Dog&#8221; pages under it. There are no limits to how many levels you can nest pages.') . '</p>' .
 +
        '<p>' . __('<strong>Template</strong> - Some themes have custom templates you can use for certain pages that might have additional features or custom layouts. If so, you&#8217;ll see them in this dropdown menu.') . '</p>' .
 +
        '<p>' . __('<strong>Order</strong> - Pages are usually ordered alphabetically, but you can choose your own order by entering a number (1 for first, etc.) in this field.') . '</p>';
 +
 
 +
    get_current_screen()->add_help_tab( array(
 +
        'id' => 'page-attributes',
 +
        'title' => __('Page Attributes'),
 +
        'content' => $page_attributes,
 +
    ) );
 +
}
 +
</source>
 +
 
 +
Dit voor GetText:
 +
 
 +
<source lang="php">
 +
__('<strong>Parent</strong> - You can arrange your pages in hierarchies. For example, you could have an &#8220;About&#8221; page that has &#8220;Life Story&#8221; and &#8220;My Dog&#8221; pages under it. There are no limits to how many levels you can nest pages.')
 +
</source>
 +
 
 +
Het is eenvoudiger met ini-bestanden:
 +
 
 +
<source lang="php">
 +
JText::_("SOME_CONSTANT")
 +
</source>
 +
 
 +
===Het werken met meervoudsvormen===
 +
Sommige talen zoals Russisch kennen NIET dezelfde meervoudsvormen als in het Engels. Ze moeten strings toevoegen om aan hun definities te voldoen. Het Joomla CMS biedt hier een oplossing voor en dat kan worden gezien in het bestand <tt>localise.php</tt> dat aan het taalpakket wordt toegevoegd. Bijvoorbeeld:
 +
Wat betreft meervoudsvormen, dit is het Russische meervoud:
 +
 
 +
<source lang="php">
 +
public static function getPluralSuffixes($count)
 +
    {
 +
        if ($count == 0) {
 +
            $return = array('0');
 +
        } else {
 +
            $return = array(($count%10==1 && $count%100!=11 ? '1' : ($count%10>=2 && $count%10<=4 && ($count%100<10 || $count%100>=20) ? '2' : 'MORE')));
 +
        }
 +
        return $return;
 +
    }
 +
</source>
 +
 
 +
En dit is het Schotse Keltisch:
 +
 
 +
<source lang="php">
 +
public static function getPluralSuffixes($count) {
 +
        if ($count == 0 || $count > 19) {
 +
            $return =  array('0');
 +
        }
 +
        elseif($count == 1 || $count == 11) {
 +
              $return =  array('1');
 +
        }
 +
        elseif($count == 2 || $count == 12) {
 +
              $return =  array('2');
 +
        }
 +
        elseif(($count > 2 && $count < 12) || ($count > 12 && $count < 19)) {
 +
                $return =  array('FEW');
 +
        }
 +
        return $return;
 +
    }
 +
</source>
 +
 
 +
Vergelijk dit met en-GB:
 +
 
 +
<source lang="php">
 +
public static function getPluralSuffixes($count) {
 +
        if ($count == 0) {
 +
            $return =  array('0');
 +
        }
 +
        elseif($count == 1) {
 +
            $return =  array('1');
 +
        }
 +
        else {
 +
            $return = array('MORE');
 +
        }
 +
        return $return;
 +
    }
 +
</source>
 +
 
 +
Dit betekent als we in en-GB hebben:
 +
 
 +
<source lang="php">
 +
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_0="No banner successfully checked in"
 +
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_1="%d banner successfully checked in"
 +
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_MORE="%d banners successfully checked in"
 +
</source>
 +
 
 +
Dan is in het Russisch nodig:
  
==What not to translate==
 
Don't translate these lines
 
* file <code>fr-FR.ini</code> = the lines for <code>"JHELP_COMPONENTS_"</code>
 
example:
 
 
 
<source lang="php">
 
<source lang="php">
JHELP_COMPONENTS_MESSAGING_INBOX="Components_Messaging_Inbox"</source>
+
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_0="Ни один баннер не был разблокирован"
 +
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_1="%d баннер успешно разблокирован"
 +
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_2="%d баннера успешно разблокировано"
 +
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_MORE="%d баннеров успешно разблокировано"
 +
</source>
 +
 
 +
===Standard ISO codes voor de naamgeving van taalpakketten===
 +
De officiële link betreffende landcodes is: https://www.iso.org/obp/ui/#search
 +
 
 +
Joomla gebruikt alpha-2 codes:
 +
 
 +
CS was de officiële landcode van Tsjecho-Slowakije VOOR het werd opgedeeld in de Tsjechië (CZ) en Slowakije (SK)
 +
 
 +
Onze taal-tags bestaan uit 2 delen:
 +
 
 +
* de taalcode
 +
* de landcode
 +
 
 +
Dit is de officiële lijst met taalcodes: http://www.iso.org/iso/home/standards/language_codes.htm
 +
 
 +
Indien mogelijk gebruiken we de 2 letter taalcode, anders gebruiken we de 3 letters. We hebben bijvoorbeeld voor Joomla
 +
 
 +
ckb-IQ voor Koerdisch Sorani
  
They are used for mapping the help. They may have to be used in the future if we have a specific wiki for help per language
+
srp-ME voor Montenegrijns
  
[[Category:Joomla! 3.0]]
+
[[Category:Joomla! 3.0/nl|Joomla! 3.0]]
[[Category:Tutorials]]
+
[[Category:Tutorials/nl|Handleidingen]]
[[Category:Language Development]]
+
[[Category:Language Development/nl|Taal ontwikkeling]]

Latest revision as of 10:14, 15 December 2020

Other languages:
English • ‎Nederlands • ‎español • ‎français • ‎polski • ‎português • ‎português do Brasil • ‎русский
Joomla! 
3.x
serie

Hoe een taalpakket aan te maken voor Joomla zelf

Toelichting

  • ALLE BESTANDEN MOETEN OPGESLAGEN WORDEN ALS UTF8 NO BOM (voor niet-ascii speciale tekens zoals letters met accenten, etc.)
  • De localise component kan je helpen de ini-bestanden aan te maken en te updaten
  • Vanaf Joomla! 3.2.0 wordt het en-GB altijd als eerste geladen. Als er dus een string ontbreekt of als er een ontleedfout in een taalpakket optreed zal de Engelse waarde getoond worden.


Volledige taalpakketten

* fr-FR is genomen als voorbeeld van het taalvoorvoegsel. Een volledig taalpakket bevat vertalingen voor de website en het beheergedeelte.

  1. In het geval van een volledig pakket, bestaat het pakket uit 3 bestanden en daarna ingepakt (ge-zipped).
    • pkg_fr-FR.xml
    • site_fr-FR.zip
    • admin_fr-FR.zip
  2. Naamgeving van het pakket
    • fr-FR_joomla_lang_full_3.7.0v1.zip
  3. Bestanden die nodig zijn voor het gedeeltelijk verwijderen
    • ieder pakket moet een fr-FR.lib_joomla.ini bevatten en een fr-FR.localise.php om om te gaan met het verwijderen van het website- of beheerpakket door de gebruiker.
    • BELANGRIJK: Aangezien sommige beheer ini-bestanden noodzakelijk zijn op de website en er wijzigingen zijn aangebracht in het laden van plugin ini-bestanden, is het altijd noodzakelijk een beheer deel in het definitieve pakket op te nemen, zelfs voor een 'alleen-website' pakket. Bekijk onderstaande Alleen-website pakket

Een pkg_fr-FR.xml bestand

<?xml version="1.0" encoding="UTF-8"?>
<extension type="package" version="3.7" method="upgrade"> <!-- method="upgrade" is compulsory since 3.4 -->
	<name>French language pack</name> <!-- name should be only ALPHA characters since 3.7 -->
	<packagename>fr-FR</packagename> <!-- the packagename has to be the same as the name of pkg_whatever.xml -->
	<version>3.7.0.1</version> <!-- change the version # 3.x.x.x when updating, will display in manager -->
	<creationDate>03/02/2017</creationDate> <!-- will display in manager -->
	<author>French translation team : joomla.fr</author> <!-- will display in manager -->
	<authorEmail>traduction@joomla.fr</authorEmail> <!-- will display in manager -->
	<authorUrl>http://joomla.fr</authorUrl> <!-- will display in manager -->
	<copyright>Copyright (C) 2005 - 2017 Joomla.fr and Open Source Matters, Inc. All rights reserved.</copyright>
	<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
	<url></url>
	<packager></packager>
	<packagerurl></packagerurl>
	<description><![CDATA[<div style="text-align:left;">
<h3>Joomla! 3.7.0 Full French (fr-FR) Language Package - Version 3.7.0v1</h3>
<h3>Paquet de langue Joomla! 3.7.0 français (fr-FR) complet - Version 3.7.0v1</h3>
</div>]]></description>
	<blockChildUninstall>true</blockChildUninstall>  <!-- New in 3.7.0: prevents uninstalling separately site or admin parts. -->
	<files>
		<file type="language" client="site" id="fr-FR">site_fr-FR.zip</file>
		<file type="language" client="administrator" id="fr-FR">admin_fr-FR.zip</file>
	</files>
	<updateservers>
		<server type="collection" priority="1" name="Accredited Joomla! Translations">
                        https://update.joomla.org/language/translationlist_3.xml
                </server>
	</updateservers>
</extension>

Let op: TinyMCE bestanden zijn niet meer nodig sinds 3.2. Ze zitten nu in de core. Neem, als uw taal ontbreekt, contact op met de Translation Team coördinatie.

Een zip per gedeelte (ofwel één voor de website en één voor het beheergedeelte)

  • site_fr-FR.zip
  • admin_fr-FR.zip

Inhoud van de zip (onderstaande voorbeeld is voor beheergedeelte)

Een install.xml

Voorbeeld voor beheergedeelte

<extension version="3.7" client="administrator" type="language" method="upgrade"> <!-- change to client="site" if site pack -->
	<name>French (fr-FR)</name> <!-- New in 3.7.0: Use only latin ascii characters. -->
	<tag>fr-FR</tag>
	<version>3.7.0.1</version>
	<creationDate>15/02/2017</creationDate>
	<author>French translation team : joomla.fr</author>
	<authorEmail>traduction@joomla.fr</authorEmail>
	<authorUrl>www.joomla.fr</authorUrl>
	<copyright>Copyright (C) 2005 - 2017 joomla.fr et Open Source Matters. Tous droits réservés</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<description>fr-FR administrator language</description>
	<files>
		<filename>fr-FR.com_admin.ini</filename>
		<filename>fr-FR.com_admin.sys.ini</filename>
		<filename>fr-FR.com_ajax.ini</filename>
		<filename>fr-FR.com_ajax.sys.ini</filename>
		<filename>fr-FR.com_associations.ini</filename>
		<filename>fr-FR.com_associations.sys.ini</filename>
		<filename>fr-FR.com_banners.ini</filename>
		<filename>fr-FR.com_banners.sys.ini</filename>
		<filename>fr-FR.com_cache.ini</filename>
		<filename>fr-FR.com_cache.sys.ini</filename>
		<filename>fr-FR.com_categories.ini</filename>
		<filename>fr-FR.com_categories.sys.ini</filename>
		<filename>fr-FR.com_checkin.ini</filename>
		<filename>fr-FR.com_checkin.sys.ini</filename>
		<filename>fr-FR.com_config.ini</filename>
		<filename>fr-FR.com_config.sys.ini</filename>
		<filename>fr-FR.com_contact.ini</filename>
		<filename>fr-FR.com_contact.sys.ini</filename>
		<filename>fr-FR.com_content.ini</filename>
		<filename>fr-FR.com_content.sys.ini</filename>
		<filename>fr-FR.com_contenthistory.ini</filename>
		<filename>fr-FR.com_contenthistory.sys.ini</filename>
		<filename>fr-FR.com_cpanel.ini</filename>
		<filename>fr-FR.com_cpanel.sys.ini</filename>
		<filename>fr-FR.com_fields.ini</filename>
		<filename>fr-FR.com_fields.sys.ini</filename>
		<filename>fr-FR.com_finder.ini</filename>
		<filename>fr-FR.com_finder.sys.ini</filename>
		<filename>fr-FR.com_installer.ini</filename>
		<filename>fr-FR.com_installer.sys.ini</filename>
		<filename>fr-FR.com_joomlaupdate.ini</filename>
		<filename>fr-FR.com_joomlaupdate.sys.ini</filename>
		<filename>fr-FR.com_languages.ini</filename>
		<filename>fr-FR.com_languages.sys.ini</filename>
		<filename>fr-FR.com_login.ini</filename>
		<filename>fr-FR.com_login.sys.ini</filename>
		<filename>fr-FR.com_mailto.sys.ini</filename>
		<filename>fr-FR.com_media.ini</filename>
		<filename>fr-FR.com_media.sys.ini</filename>
		<filename>fr-FR.com_menus.ini</filename>
		<filename>fr-FR.com_menus.sys.ini</filename>
		<filename>fr-FR.com_messages.ini</filename>
		<filename>fr-FR.com_messages.sys.ini</filename>
		<filename>fr-FR.com_modules.ini</filename>
		<filename>fr-FR.com_modules.sys.ini</filename>
		<filename>fr-FR.com_newsfeeds.ini</filename>
		<filename>fr-FR.com_newsfeeds.sys.ini</filename>
		<filename>fr-FR.com_plugins.ini</filename>
		<filename>fr-FR.com_plugins.sys.ini</filename>
		<filename>fr-FR.com_postinstall.ini</filename>
		<filename>fr-FR.com_postinstall.sys.ini</filename>
		<filename>fr-FR.com_redirect.ini</filename>
		<filename>fr-FR.com_redirect.sys.ini</filename>
		<filename>fr-FR.com_search.ini</filename>
		<filename>fr-FR.com_search.sys.ini</filename>
		<filename>fr-FR.com_tags.ini</filename>
		<filename>fr-FR.com_tags.sys.ini</filename>
		<filename>fr-FR.com_templates.ini</filename>
		<filename>fr-FR.com_templates.sys.ini</filename>
		<filename>fr-FR.com_users.ini</filename>
		<filename>fr-FR.com_users.sys.ini</filename>
		<filename>fr-FR.com_weblinks.ini</filename>
		<filename>fr-FR.com_weblinks.sys.ini</filename>
		<filename>fr-FR.com_wrapper.ini</filename>
		<filename>fr-FR.com_wrapper.sys.ini</filename>
                <filename>fr-FR.css</filename> <!-- this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.-->
		<filename>fr-FR.ini</filename>
		<filename>fr-FR.lib_joomla.ini</filename>
		<filename>fr-FR.localise.php</filename>
		<filename>fr-FR.mod_custom.ini</filename>
		<filename>fr-FR.mod_custom.sys.ini</filename>
		<filename>fr-FR.mod_feed.ini</filename>
		<filename>fr-FR.mod_feed.sys.ini</filename>
		<filename>fr-FR.mod_latest.ini</filename>
		<filename>fr-FR.mod_latest.sys.ini</filename>
		<filename>fr-FR.mod_logged.ini</filename>
		<filename>fr-FR.mod_logged.sys.ini</filename>
		<filename>fr-FR.mod_login.ini</filename>
		<filename>fr-FR.mod_login.sys.ini</filename>
		<filename>fr-FR.mod_menu.ini</filename>
		<filename>fr-FR.mod_menu.sys.ini</filename>
		<filename>fr-FR.mod_multilangstatus.ini</filename>
		<filename>fr-FR.mod_multilangstatus.sys.ini</filename>
		<filename>fr-FR.mod_popular.ini</filename>
		<filename>fr-FR.mod_popular.sys.ini</filename>
		<filename>fr-FR.mod_quickicon.ini</filename>
		<filename>fr-FR.mod_quickicon.sys.ini</filename>
		<filename>fr-FR.mod_stats_admin.ini</filename>
		<filename>fr-FR.mod_stats_admin.sys.ini</filename>
		<filename>fr-FR.mod_status.ini</filename>
		<filename>fr-FR.mod_status.sys.ini</filename>
		<filename>fr-FR.mod_submenu.ini</filename>
		<filename>fr-FR.mod_submenu.sys.ini</filename>
		<filename>fr-FR.mod_title.ini</filename>
		<filename>fr-FR.mod_title.sys.ini</filename>
		<filename>fr-FR.mod_toolbar.ini</filename>
		<filename>fr-FR.mod_toolbar.sys.ini</filename>
		<filename>fr-FR.mod_version.ini</filename>
		<filename>fr-FR.mod_version.sys.ini</filename>
		<filename>fr-FR.plg_authentication_cookie.ini</filename>
		<filename>fr-FR.plg_authentication_cookie.sys.ini</filename>
		<filename>fr-FR.plg_authentication_gmail.ini</filename>
		<filename>fr-FR.plg_authentication_gmail.sys.ini</filename>
		<filename>fr-FR.plg_authentication_joomla.ini</filename>
		<filename>fr-FR.plg_authentication_joomla.sys.ini</filename>
		<filename>fr-FR.plg_authentication_ldap.ini</filename>
		<filename>fr-FR.plg_authentication_ldap.sys.ini</filename>
		<filename>fr-FR.plg_captcha_recaptcha.ini</filename>
		<filename>fr-FR.plg_captcha_recaptcha.sys.ini</filename>
		<filename>fr-FR.plg_content_contact.ini</filename>
		<filename>fr-FR.plg_content_contact.sys.ini</filename>
		<filename>fr-FR.plg_content_emailcloak.ini</filename>
		<filename>fr-FR.plg_content_emailcloak.sys.ini</filename>
		<filename>fr-FR.plg_content_fields.ini</filename>
		<filename>fr-FR.plg_content_fields.sys.ini</filename>
		<filename>fr-FR.plg_content_finder.ini</filename>
		<filename>fr-FR.plg_content_finder.sys.ini</filename>
		<filename>fr-FR.plg_content_joomla.ini</filename>
		<filename>fr-FR.plg_content_joomla.sys.ini</filename>
		<filename>fr-FR.plg_content_loadmodule.ini</filename>
		<filename>fr-FR.plg_content_loadmodule.sys.ini</filename>
		<filename>fr-FR.plg_content_pagebreak.ini</filename>
		<filename>fr-FR.plg_content_pagebreak.sys.ini</filename>
		<filename>fr-FR.plg_content_pagenavigation.ini</filename>
		<filename>fr-FR.plg_content_pagenavigation.sys.ini</filename>
		<filename>fr-FR.plg_content_vote.ini</filename>
		<filename>fr-FR.plg_content_vote.sys.ini</filename>
		<filename>fr-FR.plg_editors-xtd_article.ini</filename>
		<filename>fr-FR.plg_editors-xtd_article.sys.ini</filename>
		<filename>fr-FR.plg_editors-xtd_contact.ini</filename>
		<filename>fr-FR.plg_editors-xtd_contact.sys.ini</filename>
		<filename>fr-FR.plg_editors-xtd_fields.ini</filename>
		<filename>fr-FR.plg_editors-xtd_fields.sys.ini</filename>
		<filename>fr-FR.plg_editors-xtd_image.ini</filename>
		<filename>fr-FR.plg_editors-xtd_image.sys.ini</filename>
		<filename>fr-FR.plg_editors-xtd_menu.ini</filename>
		<filename>fr-FR.plg_editors-xtd_menu.sys.ini</filename>
		<filename>fr-FR.plg_editors-xtd_module.ini</filename>
		<filename>fr-FR.plg_editors-xtd_module.sys.ini</filename>
		<filename>fr-FR.plg_editors-xtd_pagebreak.ini</filename>
		<filename>fr-FR.plg_editors-xtd_pagebreak.sys.ini</filename>
		<filename>fr-FR.plg_editors-xtd_readmore.ini</filename>
		<filename>fr-FR.plg_editors-xtd_readmore.sys.ini</filename>
		<filename>fr-FR.plg_editors_codemirror.ini</filename>
		<filename>fr-FR.plg_editors_codemirror.sys.ini</filename>
		<filename>fr-FR.plg_editors_none.ini</filename>
		<filename>fr-FR.plg_editors_none.sys.ini</filename>
		<filename>fr-FR.plg_editors_tinymce.ini</filename>
		<filename>fr-FR.plg_editors_tinymce.sys.ini</filename>
		<filename>fr-FR.plg_extension_joomla.ini</filename>
		<filename>fr-FR.plg_extension_joomla.sys.ini</filename>
		<filename>fr-FR.plg_fields_calendar.ini</filename>
		<filename>fr-FR.plg_fields_calendar.sys.ini</filename>
		<filename>fr-FR.plg_fields_checkboxes.ini</filename>
		<filename>fr-FR.plg_fields_checkboxes.sys.ini</filename>
		<filename>fr-FR.plg_fields_color.ini</filename>
		<filename>fr-FR.plg_fields_color.sys.ini</filename>
		<filename>fr-FR.plg_fields_editor.ini</filename>
		<filename>fr-FR.plg_fields_editor.sys.ini</filename>
		<filename>fr-FR.plg_fields_gallery.ini</filename>
		<filename>fr-FR.plg_fields_gallery.sys.ini</filename>
		<filename>fr-FR.plg_fields_image.ini</filename>
		<filename>fr-FR.plg_fields_image.sys.ini</filename>
		<filename>fr-FR.plg_fields_imagelist.ini</filename>
		<filename>fr-FR.plg_fields_imagelist.sys.ini</filename>
		<filename>fr-FR.plg_fields_integer.ini</filename>
		<filename>fr-FR.plg_fields_integer.sys.ini</filename>
		<filename>fr-FR.plg_fields_list.ini</filename>
		<filename>fr-FR.plg_fields_list.sys.ini</filename>
		<filename>fr-FR.plg_fields_media.ini</filename>
		<filename>fr-FR.plg_fields_media.sys.ini</filename>
		<filename>fr-FR.plg_fields_radio.ini</filename>
		<filename>fr-FR.plg_fields_radio.sys.ini</filename>
		<filename>fr-FR.plg_fields_sql.ini</filename>
		<filename>fr-FR.plg_fields_sql.sys.ini</filename>
		<filename>fr-FR.plg_fields_text.ini</filename>
		<filename>fr-FR.plg_fields_text.sys.ini</filename>
		<filename>fr-FR.plg_fields_textarea.ini</filename>
		<filename>fr-FR.plg_fields_textarea.sys.ini</filename>
		<filename>fr-FR.plg_fields_url.ini</filename>
		<filename>fr-FR.plg_fields_url.sys.ini</filename>
		<filename>fr-FR.plg_fields_user.ini</filename>
		<filename>fr-FR.plg_fields_user.sys.ini</filename>
		<filename>fr-FR.plg_fields_usergrouplist.ini</filename>
		<filename>fr-FR.plg_fields_usergrouplist.sys.ini</filename>
		<filename>fr-FR.plg_finder_categories.ini</filename>
		<filename>fr-FR.plg_finder_categories.sys.ini</filename>
		<filename>fr-FR.plg_finder_contacts.ini</filename>
		<filename>fr-FR.plg_finder_contacts.sys.ini</filename>
		<filename>fr-FR.plg_finder_content.ini</filename>
		<filename>fr-FR.plg_finder_content.sys.ini</filename>
		<filename>fr-FR.plg_finder_newsfeeds.ini</filename>
		<filename>fr-FR.plg_finder_newsfeeds.sys.ini</filename>
		<filename>fr-FR.plg_finder_tags.ini</filename>
		<filename>fr-FR.plg_finder_tags.sys.ini</filename>
		<filename>fr-FR.plg_finder_weblinks.ini</filename>
		<filename>fr-FR.plg_finder_weblinks.sys.ini</filename>
		<filename>fr-FR.plg_installer_folderinstaller.ini</filename>
		<filename>fr-FR.plg_installer_folderinstaller.sys.ini</filename>
		<filename>fr-FR.plg_installer_packageinstaller.ini</filename>
		<filename>fr-FR.plg_installer_packageinstaller.sys.ini</filename>
		<filename>fr-FR.plg_installer_urlinstaller.ini</filename>
		<filename>fr-FR.plg_installer_urlinstaller.sys.ini</filename>
		<filename>fr-FR.plg_installer_webinstaller.ini</filename>
		<filename>fr-FR.plg_installer_webinstaller.sys.ini</filename>
		<filename>fr-FR.plg_quickicon_extensionupdate.ini</filename>
		<filename>fr-FR.plg_quickicon_extensionupdate.sys.ini</filename>
		<filename>fr-FR.plg_quickicon_joomlaupdate.ini</filename>
		<filename>fr-FR.plg_quickicon_joomlaupdate.sys.ini</filename>
		<filename>fr-FR.plg_quickicon_phpversioncheck.ini</filename>
		<filename>fr-FR.plg_quickicon_phpversioncheck.sys.ini</filename>
		<filename>fr-FR.plg_search_categories.ini</filename>
		<filename>fr-FR.plg_search_categories.sys.ini</filename>
		<filename>fr-FR.plg_search_contacts.ini</filename>
		<filename>fr-FR.plg_search_contacts.sys.ini</filename>
		<filename>fr-FR.plg_search_content.ini</filename>
		<filename>fr-FR.plg_search_content.sys.ini</filename>
		<filename>fr-FR.plg_search_newsfeeds.ini</filename>
		<filename>fr-FR.plg_search_newsfeeds.sys.ini</filename>
		<filename>fr-FR.plg_search_tags.ini</filename>
		<filename>fr-FR.plg_search_tags.sys.ini</filename>
		<filename>fr-FR.plg_search_weblinks.ini</filename>
		<filename>fr-FR.plg_search_weblinks.sys.ini</filename>
		<filename>fr-FR.plg_system_cache.ini</filename>
		<filename>fr-FR.plg_system_cache.sys.ini</filename>
		<filename>fr-FR.plg_system_debug.ini</filename>
		<filename>fr-FR.plg_system_debug.sys.ini</filename>
		<filename>fr-FR.plg_system_fields.ini</filename>
		<filename>fr-FR.plg_system_fields.sys.ini</filename>
		<filename>fr-FR.plg_system_highlight.ini</filename>
		<filename>fr-FR.plg_system_highlight.sys.ini</filename>
		<filename>fr-FR.plg_system_languagecode.ini</filename>
		<filename>fr-FR.plg_system_languagecode.sys.ini</filename>
		<filename>fr-FR.plg_system_languagefilter.ini</filename>
		<filename>fr-FR.plg_system_languagefilter.sys.ini</filename>
		<filename>fr-FR.plg_system_log.ini</filename>
		<filename>fr-FR.plg_system_log.sys.ini</filename>
		<filename>fr-FR.plg_system_logout.ini</filename>
		<filename>fr-FR.plg_system_logout.sys.ini</filename>
		<filename>fr-FR.plg_system_p3p.ini</filename>
		<filename>fr-FR.plg_system_p3p.sys.ini</filename>
		<filename>fr-FR.plg_system_redirect.ini</filename>
		<filename>fr-FR.plg_system_redirect.sys.ini</filename>
		<filename>fr-FR.plg_system_remember.ini</filename>
		<filename>fr-FR.plg_system_remember.sys.ini</filename>
		<filename>fr-FR.plg_system_sef.ini</filename>
		<filename>fr-FR.plg_system_sef.sys.ini</filename>
		<filename>fr-FR.plg_system_stats.ini</filename>
		<filename>fr-FR.plg_system_stats.sys.ini</filename>
		<filename>fr-FR.plg_system_updatenotification.ini</filename>
		<filename>fr-FR.plg_system_updatenotification.sys.ini</filename>
		<filename>fr-FR.plg_twofactorauth_totp.ini</filename>
		<filename>fr-FR.plg_twofactorauth_totp.sys.ini</filename>
		<filename>fr-FR.plg_twofactorauth_yubikey.ini</filename>
		<filename>fr-FR.plg_twofactorauth_yubikey.sys.ini</filename>
		<filename>fr-FR.plg_user_contactcreator.ini</filename>
		<filename>fr-FR.plg_user_contactcreator.sys.ini</filename>
		<filename>fr-FR.plg_user_joomla.ini</filename>
		<filename>fr-FR.plg_user_joomla.sys.ini</filename>
		<filename>fr-FR.plg_user_profile.ini</filename>
		<filename>fr-FR.plg_user_profile.sys.ini</filename>
		<filename>fr-FR.tpl_hathor.ini</filename>
		<filename>fr-FR.tpl_hathor.sys.ini</filename>
		<filename>fr-FR.tpl_isis.ini</filename>
		<filename>fr-FR.tpl_isis.sys.ini</filename>
		<filename file="meta">install.xml</filename> <!-- This file is mandatory as otherwise the pack can't be uninstalled. -->
		<filename file="meta">fr-FR.xml</filename>
	</files>
	<media destination="fr-FR">  <!-- If one needs to add a specific calendar -->
	    <filename>index.html</filename>
	    <filename>js/index.html</filename>
	    <filename>js/calendar-setup.js</filename>
	    <filename>js/calendar.js</filename>
	</media>
	<params />
</extension>

Opmerkingen:

  • fr-FR.lib_joomla.ini : Voeg onderaan in zowel beheergedeelte als website toe. In ieder geval in de website bij een "alleen-website pakket", kijk hieronder
  • fr-FR.css : NIEUW IN 1.7: dit bestand kan toegevoegd worden in het BEHEER-deel als men de fonts die gebruikt worden om het beheergedeelte te tonen wil veranderen.
  • fr-FR.xml : Let op het bestand="meta" tag, vertelt dat het de basis xml informatie bevat over het pakket.
  • install.xml : Verplicht! Dit bestand laat het een taal (dé-)installeren. Let op bestand="meta"
  • fr-FR.localise.php : Toevoegen in zowel beheergedeelte als website. Minstens in site als het een "alleen-website pakket" is, zie hieronder
  • Map media destination="fr-FR" : Als een specifieke kalender toegevoegd moet worden


Alle ini-bestanden

Let op de nieuwe opmaak!

  • Dubbele quotes in de waarde moeten geschreven worden als "_QQ_" of als &quot;
  • Vanaf 3.7.0 mogen "escaped doublequotes" \" gebruikt worden in plaats van "_QQ_" die vanaf 4.0 verouderd zullen zijn

Het fr-FR.xml bestand

<?xml version="1.0" encoding="utf-8"?>
<metafile version="3.7" client="administrator">
    <tag>fr-FR</tag>
	<name>French (fr-FR)</name>
	<version>3.7.0.1</version>
	<creationDate>02/02/2017</creationDate>
	<author>French translation team : joomla.fr</author>
	<authorEmail>traduction@joomla.fr</authorEmail>
	<authorUrl>www.joomla.fr</authorUrl>
	<copyright>Copyright (C) 2005 - 2017 Open Source Matters &amp; Joomla.fr. All rights reserved.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<description>French administrator language for Joomla 3.0</description>
	<metadata>
		<name>Français (FR)</name>
		<nativeName>Français (France)</nativeName> <!-- NEW in 3.7.0. Use the native alphabet here.-->
		<tag>fr-FR</tag>
		<rtl>0</rtl>
		<locale>fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, fr_FR, fre_FR, fr, france</locale>
		<firstDay>1</firstDay>
		<weekEnd>0,6</weekEnd>
		<calendar>gregorian</calendar> <!-- NEW in 3.7.0. gregorian and jalali are proposed. If absent, gregorian will be used as default. Do NOT translate-->
	</metadata>
	<params />
</metafile>

Opmerkingen:

  • <locale> de locale wordt gebruikt om vertaalde lijsten op de server te sorteren.
  • <firstDay>1</firstDay> wordt gebruikt voor de kalender icoon om aan te geven wat de eerste dag van de week is in die taal. 0 is zondag, 1 is maandag, etc.
  • <weekEnd>0,6</weekEnd> wordt gebruikt voor de kalender, Het definieert de dag(en) van de week die uitgegrijsd worden. 0,6 is zaterdag & zondag, 1 word vrijdag.
  • <calendar>gregorian</calendar> wordt gebruikt voor de kalender, jalali zal de weergave van de kalender aanpassen naar de Perzische talen.

Het fr-FR.localise.php bestand

Dit bestand moet minstens aanwezig zijn de site zip

Uitleg over dit bestand: Het vervangt het fr-FR.ignore.php bestand en kan aangepast worden afhankelijk van de taal.

  • Negeer zoekwoorden.
  • Definiëren boven en ondergrens van de lengte van zoekwoorden.
  • Definiëren van het aantal tekens dat getoond moet worden als resultaat van zoekopdrachten.
  • Definiëren van specifieke meervoudsvormen in sommige talen, waar de waarde van de string kan wijzigen afhankelijk van het aantal (Russisch bijvoorbeeld).
  • Definiëren aangepaste transliteratie (als GEEN gebruik wordt gemaakt van de Unicode URL's parameter in de algemene instellingen) om te zorgen voor een juiste wijziging van sommige alfabetten naar ascii van de alias die gebruikt wordt als SEF aan staat. (De transliteratie die nu standaard is in 1.7 moet gelden voor alle Latijnse talen.)
  • Definiëren van een aangepaste kalender door het toevoegen van een functie en enkele js-bestanden

SLA DIT BESTAND ALTIJD UTF8 NO BOM OP als het niet-ascii speciale-tekens bevat (letters met accenten, etc.) Ini-bestanden kunnen met BOM opgeslagen worden (Joomla! handelt dit af), maar geen xml- of php-bestanden.

Voorbeeld 1 - Aangepaste transliteratie NIET geïmplementeerd

Voorbeeld van een basis fr-FR.localise.php bestand (waarbij aangepaste transliteratie NIET is geïmplementeerd)

<?php
/**
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $
 * @copyright	Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

/**
 * fr-FR localise class
 *
 * @package		Joomla.Site
 * @since		1.6
 */
abstract class Fr_FRLocalise {    //// !!!! NOTE the use of Fr_FR for the class !!!  // not the same as your language prefix.
	/**
	 * Returns the potential suffixes for a specific number of items
	 *
	 * @param	int $count  The number of items.
	 * @return	array  An array of potential suffixes.
	 * @since	1.6
	 */
	public static function getPluralSuffixes($count) {
		if ($count == 0) {
			$return =  array('0');
		}
		elseif($count == 1) {
			$return =  array('1');
		}
		else {
			$return = array('MORE');  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.
		}
		return $return;
	}
	/**
	 * Returns the ignored search words
	 *
	 * @return	array  An array of ignored search words.
	 * @since	1.6
	 */
	public static function getIgnoredSearchWords() {
		$search_ignore = array();
		$search_ignore[] = "et";
		$search_ignore[] = "si";
		$search_ignore[] = "ou";
		return $search_ignore;
	}
	/**
	 * Returns the lower length limit of search words
	 *
	 * @return	integer  The lower length limit of search words.
	 * @since	1.6
	 */
	public static function getLowerLimitSearchWord() {
		return 3;
	}
	/**
	 * Returns the upper length limit of search words
	 *
	 * @return	integer  The upper length limit of search words.
	 * @since	1.6
	 */
	public static function getUpperLimitSearchWord() {
		return 20;
	}
	/**
	 * Returns the number of chars to display when searching
	 *
	 * @return	integer  The number of chars to display when searching.
	 * @since	1.6
	 */
	public static function getSearchDisplayedCharactersNumber() {
		return 200;
	}
}
Voorbeeld 2 - Aangepaste transliteratie geïmplementeerd

Voorbeeld van de functie die toegevoegd moet worden aan het localise.php bestand indien aangepaste transliteratie gewenst is

/**
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented
	 * ASCII-7 "equivalents"
	 *
	 * @param	string	$string	The string to transliterate
	 * @return	string	The transliteration of the string
	 * @since	1.6
	 */
	public static function transliterate($string)
		{
		$str = \Joomla\String\StringHelper::strtolower($string); // since 3.8.0 to prepare 4.0

		//Specific language transliteration.
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek

		$glyph_array = array(
		'a'		=>	'a,à,á,â,ã,ä,å,ā,ă,ą,ḁ,α,ά',
		'ae'	=>	'æ',
		'b'		=>	'β,б',
		'c'		=>	'c,ç,ć,ĉ,ċ,č,ћ,ц',
		'ch'	=>	'ч',
		'd'		=>	'ď,đ,Ð,д,ђ,δ,ð',
		'dz'	=>	'џ',
		'e'		=>	'e,è,é,ê,ë,ē,ĕ,ė,ę,ě,э,ε,έ',
		'f'		=>	'ƒ,ф',
		'g'		=>	'ğ,ĝ,ğ,ġ,ģ,г,γ',
		'h'		=>	'ĥ,ħ,Ħ,х',
		'i'		=>	'i,ì,í,î,ï,ı,ĩ,ī,ĭ,į,и,й,ъ,ы,ь,η,ή',
		'ij'	=>	'ij',
		'j'		=>	'ĵ,j',
		'ja'	=>	'я',
		'ju'	=>	'яю',
		'k'		=>	'ķ,ĸ,κ',
		'l'		=>	'ĺ,ļ,ľ,ŀ,ł,л,λ',
		'lj'	=>	'љ',
		'm'		=>	'μ,м',
		'n'		=>	'ñ,ņ,ň,ʼn,ŋ,н,ν',
		'nj'	=>	'њ',
		'o'		=>	'ò,ó,ô,õ,ø,ō,ŏ,ő,ο,ό,ω,ώ',
		'oe'	=>	'œ,ö',
		'p'		=>	'п,π',
		'ph'	=>	'φ',
		'ps'	=>	'ψ',
		'r'		=>	'ŕ,ŗ,ř,р,ρ,σ,ς',
		's'		=>	'ş,ś,ŝ,ş,š,с',
		'ss'	=>	'ß,ſ',
		'sh'	=>	'ш',
		'shch'	=>	'щ',
		't'		=>	'ţ,ť,ŧ,τ,т',
		'th'	=>	'θ',
		'u'		=>	'u,ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,у',
		'v'		=>	'в',
		'w'		=>	'ŵ',
		'x'		=>	'χ,ξ',
		'y'		=>	'ý,þ,ÿ,ŷ',
		'z'		=>	'ź,ż,ž,з,ж,ζ'
		);

		foreach( $glyph_array as $letter => $glyphs ) {
			$glyphs = explode( ',', $glyphs );
			$str = str_replace( $glyphs, $letter, $str );
		}

		return $str;
		}
}
Voorbeeld 3 - Aangepaste kalender geïmplementeerd

Hier een voorbeeld van een functie die toegevoegd moet worden aan het localise.php bestand om een aangepaste kalender te implementeren voor fa-IR (Perzische taal). Dit is verschillend ten opzichte van de meta in de xml(s).

<?php
/**
 * @version		$Id: language.php 15628 2010-03-27 05:20:29Z infograf768 $
 * @copyright	Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */


 jimport('joomla.utilities.date');
abstract class Fa_IRLocalise {

	public static function getPluralSuffixes($count) {
		if ($count == 0) 
		{
			$return =  array('0');
		}
		elseif($count == 1) 
		{
			$return =  array('1');
		}
		else 
		{
			$return = array('MORE');
		}
		return $return;
	}

	public static function getIgnoredSearchWords() {
		$search_ignore = array();
		$search_ignore[] = "and";  //change here to fit
		$search_ignore[] = "in"; //change here to fit
		$search_ignore[] = "on"; //change here to fit
		return $search_ignore;
	}

	public static function getLowerLimitSearchWord() {
		return 3;
	}

	public static function getUpperLimitSearchWord() {
		return 20;
	}

	public static function getSearchDisplayedCharactersNumber() {
		return 200;
	}
}


class fa_IRDate extends JDate {
	const DAY_NUMBER	= "\x027\x03";
	const DAY_NUMBER2	= "\x030\x03";
	const DAY_YEAR		= "\x032\x03";
	const MONTH_ABBR	= "\x033\x03";
	const MONTH_NAME	= "\x034\x03";
	const MONTH_NUMBER	= "\x035\x03";
	const MONTH_NUMBER2	= "\x036\x03";
	const MONTH_LENGTH	= "\x037\x03";
	const YEAR_ABBR		= "\x040\x03";
	const YEAR_NAME		= "\x041\x03";
	const AM_LOWER		= "\x042\x03";
	const AM_UPPER		= "\x043\x03";
	const PERSIAN_EPOCH	= 1948320.5;

	protected static $month_names	= array("فروردين","ارديبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند");


	
	public function calendar($format, $local = false, $translate = true)
	{
		// Do string replacements for date format options that can be translated.
		$format = preg_replace('/(^|[^\\\])d/', "\\1".self::DAY_NUMBER2, $format);
		$format = preg_replace('/(^|[^\\\])j/', "\\1".self::DAY_NUMBER, $format);
		$format = preg_replace('/(^|[^\\\])z/', "\\1".self::DAY_YEAR, $format);
		$format = preg_replace('/(^|[^\\\])M/', "\\1".self::MONTH_ABBR, $format);
		$format = preg_replace('/(^|[^\\\])F/', "\\1".self::MONTH_NAME, $format);
		$format = preg_replace('/(^|[^\\\])n/', "\\1".self::MONTH_NUMBER, $format);
		$format = preg_replace('/(^|[^\\\])m/', "\\1".self::MONTH_NUMBER2, $format);
		$format = preg_replace('/(^|[^\\\])t/', "\\1".self::MONTH_LENGTH, $format);
		$format = preg_replace('/(^|[^\\\])y/', "\\1".self::YEAR_ABBR, $format);
		$format = preg_replace('/(^|[^\\\])Y/', "\\1".self::YEAR_NAME, $format);
		$format = preg_replace('/(^|[^\\\])a/', "\\1".self::AM_LOWER, $format);
		$format = preg_replace('/(^|[^\\\])A/', "\\1".self::AM_UPPER, $format);

		// Format the date.
		$return = parent::calendar($format, $local);

		$jd = gregoriantojd($this->month, $this->day, $this->year);
		$jalaliDate = self::jd_to_persian($jd);
		$m = $jalaliDate['mon'];
		$d = $jalaliDate['day'];
		$y = $jalaliDate['year'];

		// Manually modify the strings in the formated time.
		if (strpos($return, self::DAY_NUMBER) !== false) {
			$return = str_replace(self::DAY_NUMBER, $d , $return);
		}
		if (strpos($return, self::DAY_NUMBER2) !== false) {
			$return = str_replace(self::DAY_NUMBER2, sprintf("%02d",$d), $return);
		}
		if (strpos($return, self::DAY_YEAR) !== false) {
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);
		}
		if (strpos($return, self::MONTH_ABBR) !== false) {
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);
		}
		if (strpos($return, self::MONTH_NAME) !== false) {
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);
		}
		if (strpos($return, self::MONTH_NUMBER) !== false) {
			$return = str_replace(self::MONTH_NUMBER, $m , $return);
		}
		if (strpos($return, self::MONTH_NUMBER2) !== false) {
			$return = str_replace(self::MONTH_NUMBER2, sprintf("%02d", $m) , $return);
		}
		if (strpos($return, self::MONTH_LENGTH) !== false) {
			$return = str_replace(self::MONTH_LENGTH, $m < 7 ? 31 : $m < 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);
		}
		if (strpos($return, self::YEAR_ABBR) !== false) {
			$return = str_replace(self::YEAR_ABBR, sprintf("%02d",$y % 100), $return);
		}
		if (strpos($return, self::YEAR_NAME) !== false) {
			$return = str_replace(self::YEAR_NAME, $y, $return);
		}
		if (strpos($return, self::AM_LOWER) !== false) {
			$return = str_replace(self::AM_LOWER, $this->format('a',$local)=='pm' ? 'ب ظ' : 'ق ظ', $return);
		}
		if (strpos($return, self::AM_UPPER) !== false) {
			$return = str_replace(self::AM_UPPER, $this->format('a',$local)=='pm' ? 'ب ظ' : 'ق ظ', $return);
		}

		return $return;
	}
	public static function jd_to_persian($jd)

	{

		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,

		//    $aux1, $aux2, $yday;



		$jd = floor($jd) + 0.5;



		$depoch = $jd - self::persian_to_jd(1, 1, 475);

		$cycle = floor($depoch / 1029983);

		$cyear = $depoch % 1029983;

		if ($cyear == 1029982) {

		    $ycycle = 2820;

		} else {

		    $aux1 = floor($cyear / 366);

		    $aux2 = $cyear % 366;

		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +

		                $aux1 + 1;

		}

		$year = $ycycle + (2820 * $cycle) + 474;

		if ($year <= 0) {

		    $year--;

		}

		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;

		$month = ($yday <= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);

		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;

		return array('year'=>$year, 'mon'=>$month,'day'=> $day);

	}
	public static function persian_to_jd($month, $day, $year)

	{

		//var $epbase, $epyear;

		$epbase = $year - (($year >= 0) ? 474 : 473);

		$epyear = 474 + $epbase % 2820;



		return $day +

		        (($month <= 7) ?

		            (($month - 1) * 31) :

		            ((($month - 1) * 30) + 6)

		        ) +

		        floor((($epyear * 682) - 110) / 2816) +

		        ($epyear - 1) * 365 +

		        floor($epbase / 2820) * 1029983 +

		        self::PERSIAN_EPOCH;

	}

	public static function leap_persian($year) {

	    return (((((($year - (($year > 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) < 682;

	}

}

Let op: Men moet ook de juiste calendar.js bestanden toevoegen aan het pakket.


Het alleen-website pakket

Wat betreft degenen die een "alleen-website" pakket leveren:


HET IS NOODZAKELIJK EEN BEHEER-PAKKET TE LEVEREN MET ALLE BESTANDEN EN ENKELE MOETEN VERTAALD ZIJN en een uniek pakket te plaatsen zoals een echt "volledig" pakket (zie hierboven).

Waarom? ==> omdat sommige plugin ini-bestanden op de website gebruikt worden Hier is een typisch beheer install.xml bestand. Voorbeeld voor 3.3.x, de bestanden om te vertalen worden aangegeven door =======> :

<?xml version="1.0" encoding="utf-8"?>
<extension version="3.3" client="administrator" type="language" method="upgrade">
	<name>MyLanguage (xx-XX)</name>
	<tag>xx-XX</tag>
	<version>3.3.3.1</version>
	<creationDate>July 2014</creationDate>
	<author>MyLanguage translation team : xx-XX Team/author</author>
	<authorEmail>traduction@mysite.com</authorEmail>
	<authorUrl>http://mysite.com</authorUrl>
	<copyright>Copyright (C) 2005 - 2014 Open Source Matters. All rights reserved.</copyright>
	<copyright>Copyright (C) date_year - date_year My Team or name. All rights reserved.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<description>xx-XX administrator language for 3.3.x</description>
	<files>
		<filename>xx-XX.com_admin.ini</filename>
		<filename>xx-XX.com_admin.sys.ini</filename>
		<filename>xx-XX.com_banners.ini</filename>
		<filename>xx-XX.com_banners.sys.ini</filename>
		<filename>xx-XX.com_ajax.ini</filename>
		<filename>xx-XX.com_ajax.sys.ini</filename>
		<filename>xx-XX.com_cache.ini</filename>
		<filename>xx-XX.com_cache.sys.ini</filename>
		<filename>xx-XX.com_categories.ini</filename>
		<filename>xx-XX.com_categories.sys.ini</filename>
		<filename>xx-XX.com_checkin.ini</filename>
		<filename>xx-XX.com_checkin.sys.ini</filename>
		<filename>xx-XX.com_config.ini</filename>
		<filename>xx-XX.com_config.sys.ini</filename>
		<filename>xx-XX.com_contact.ini</filename>
		<filename>xx-XX.com_contact.sys.ini</filename>
		<filename>xx-XX.com_content.ini</filename>
		<filename>xx-XX.com_content.sys.ini</filename>
		<filename>xx-XX.com_contenthistory.ini</filename>
		<filename>xx-XX.com_contenthistory.sys.ini</filename>
		<filename>xx-XX.com_cpanel.ini</filename>
		<filename>xx-XX.com_cpanel.sys.ini</filename>
		<filename>xx-XX.com_finder.ini</filename>
		<filename>xx-XX.com_finder.sys.ini</filename>
		<filename>xx-XX.com_installer.ini</filename>
		<filename>xx-XX.com_installer.sys.ini</filename>
		<filename>xx-XX.com_joomlaupdate.ini</filename>
		<filename>xx-XX.com_joomlaupdate.sys.ini</filename>
		<filename>xx-XX.com_languages.ini</filename>
		<filename>xx-XX.com_languages.sys.ini</filename>
		<filename>xx-XX.com_login.ini</filename>
		<filename>xx-XX.com_login.sys.ini</filename>
		<filename>xx-XX.com_mailto.sys.ini</filename>
		<filename>xx-XX.com_media.ini</filename>
		<filename>xx-XX.com_media.sys.ini</filename>
		<filename>xx-XX.com_menus.ini</filename>
		<filename>xx-XX.com_menus.sys.ini</filename>
		<filename>xx-XX.com_messages.ini</filename>
		<filename>xx-XX.com_messages.sys.ini</filename>
		<filename>xx-XX.com_modules.ini</filename>
		<filename>xx-XX.com_modules.sys.ini</filename>
		<filename>xx-XX.com_newsfeeds.ini</filename>
		<filename>xx-XX.com_newsfeeds.sys.ini</filename>
		<filename>xx-XX.com_plugins.ini</filename>
		<filename>xx-XX.com_plugins.sys.ini</filename>
		<filename>xx-XX.com_postinstall.ini</filename>
		<filename>xx-XX.com_postinstall.sys.ini</filename>
		<filename>xx-XX.com_redirect.ini</filename>
		<filename>xx-XX.com_redirect.sys.ini</filename>
		<filename>xx-XX.com_search.ini</filename>
		<filename>xx-XX.com_search.sys.ini</filename>
		<filename>xx-XX.com_tags.ini</filename>
		<filename>xx-XX.com_tags.sys.ini</filename>
		<filename>xx-XX.com_templates.ini</filename>
		<filename>xx-XX.com_templates.sys.ini</filename>
		<filename>xx-XX.com_users.ini</filename>
		<filename>xx-XX.com_users.sys.ini</filename>
		<filename>xx-XX.com_weblinks.ini</filename>
		<filename>xx-XX.com_weblinks.sys.ini</filename>
		<filename>xx-XX.com_wrapper.ini</filename>
		<filename>xx-XX.com_wrapper.sys.ini</filename>
		<filename>xx-XX.ini</filename>
		<filename>xx-XX.lib_joomla.ini</filename>
		<filename>xx-XX.localise.php</filename>
		<filename>xx-XX.mod_custom.ini</filename>
		<filename>xx-XX.mod_custom.sys.ini</filename>
		<filename>xx-XX.mod_feed.ini</filename>
		<filename>xx-XX.mod_feed.sys.ini</filename>
		<filename>xx-XX.mod_latest.ini</filename>
		<filename>xx-XX.mod_latest.sys.ini</filename>
		<filename>xx-XX.mod_logged.ini</filename>
		<filename>xx-XX.mod_logged.sys.ini</filename>
		<filename>xx-XX.mod_login.ini</filename>
		<filename>xx-XX.mod_login.sys.ini</filename>
		<filename>xx-XX.mod_menu.ini</filename>
		<filename>xx-XX.mod_menu.sys.ini</filename>
		<filename>xx-XX.mod_multilangstatus.ini</filename>
		<filename>xx-XX.mod_multilangstatus.sys.ini</filename>
		<filename>xx-XX.mod_popular.ini</filename>
		<filename>xx-XX.mod_popular.sys.ini</filename>
		<filename>xx-XX.mod_quickicon.ini</filename>
		<filename>xx-XX.mod_quickicon.sys.ini</filename>
		<filename>xx-XX.mod_stats_admin.ini</filename>
		<filename>xx-XX.mod_stats_admin.sys.ini</filename>
		<filename>xx-XX.mod_status.ini</filename>
		<filename>xx-XX.mod_status.sys.ini</filename>
		<filename>xx-XX.mod_submenu.ini</filename>
		<filename>xx-XX.mod_submenu.sys.ini</filename>
		<filename>xx-XX.mod_title.ini</filename>
		<filename>xx-XX.mod_title.sys.ini</filename>
		<filename>xx-XX.mod_toolbar.ini</filename>
		<filename>xx-XX.mod_toolbar.sys.ini</filename>
		<filename>xx-XX.mod_version.ini</filename>
		<filename>xx-XX.mod_version.sys.ini</filename>
		<filename>xx-XX.plg_authentication_cookie.ini</filename>
		<filename>xx-XX.plg_authentication_cookie.sys.ini</filename>
		<filename>xx-XX.plg_authentication_gmail.ini</filename>
		<filename>xx-XX.plg_authentication_gmail.sys.ini</filename>
		<filename>xx-XX.plg_authentication_joomla.ini</filename>
		<filename>xx-XX.plg_authentication_joomla.sys.ini</filename>
		<filename>xx-XX.plg_authentication_ldap.ini</filename>
		<filename>xx-XX.plg_authentication_ldap.sys.ini</filename>
=========>	<filename>xx-XX.plg_captcha_recaptcha.ini</filename>
		<filename>xx-XX.plg_captcha_recaptcha.sys.ini</filename>
		<filename>xx-XX.plg_content_emailcloak.ini</filename>
		<filename>xx-XX.plg_content_contact.ini</filename>
		<filename>xx-XX.plg_content_contact.sys.ini</filename>
		<filename>xx-XX.plg_content_emailcloak.sys.ini</filename>
		<filename>xx-XX.plg_content_finder.ini</filename>
		<filename>xx-XX.plg_content_finder.sys.ini</filename>
		<filename>xx-XX.plg_content_joomla.ini</filename>
		<filename>xx-XX.plg_content_joomla.sys.ini</filename>
		<filename>xx-XX.plg_content_loadmodule.ini</filename>
		<filename>xx-XX.plg_content_loadmodule.sys.ini</filename>
=========>	<filename>xx-XX.plg_content_pagebreak.ini</filename>
		<filename>xx-XX.plg_content_pagebreak.sys.ini</filename>
		<filename>xx-XX.plg_content_pagenavigation.ini</filename>
		<filename>xx-XX.plg_content_pagenavigation.sys.ini</filename>
=========>	<filename>xx-XX.plg_content_vote.ini</filename>
		<filename>xx-XX.plg_content_vote.sys.ini</filename>
		<filename>xx-XX.plg_editors_codemirror.ini</filename>
		<filename>xx-XX.plg_editors_codemirror.sys.ini</filename>
		<filename>xx-XX.plg_editors_none.ini</filename>
		<filename>xx-XX.plg_editors_none.sys.ini</filename>
		<filename>xx-XX.plg_editors_tinymce.ini</filename>
		<filename>xx-XX.plg_editors_tinymce.sys.ini</filename>
=========>	<filename>xx-XX.plg_editors-xtd_article.ini</filename>
		<filename>xx-XX.plg_editors-xtd_article.sys.ini</filename>
=========>	<filename>xx-XX.plg_editors-xtd_image.ini</filename>
		<filename>xx-XX.plg_editors-xtd_image.sys.ini</filename>
=========>	<filename>xx-XX.plg_editors-xtd_pagebreak.ini</filename>
		<filename>xx-XX.plg_editors-xtd_pagebreak.sys.ini</filename>
=========>	<filename>xx-XX.plg_editors-xtd_readmore.ini</filename>
		<filename>xx-XX.plg_editors-xtd_readmore.sys.ini</filename>
		<filename>xx-XX.plg_extension_joomla.ini</filename>
		<filename>xx-XX.plg_extension_joomla.sys.ini</filename>
=========>	<filename>xx-XX.plg_finder_categories.ini</filename>
		<filename>xx-XX.plg_finder_categories.sys.ini</filename>
=========>	<filename>xx-XX.plg_finder_contacts.ini</filename>
		<filename>xx-XX.plg_finder_contacts.sys.ini</filename>
=========>	<filename>xx-XX.plg_finder_content.ini</filename>
		<filename>xx-XX.plg_finder_content.sys.ini</filename>
=========>	<filename>xx-XX.plg_finder_newsfeeds.ini</filename>
		<filename>xx-XX.plg_finder_newsfeeds.sys.ini</filename>
=========>	<filename>xx-XX.plg_finder_tags.ini</filename>
		<filename>xx-XX.plg_finder_tags.sys.ini</filename>
=========>	<filename>xx-XX.plg_finder_weblinks.ini</filename>
		<filename>xx-XX.plg_finder_weblinks.sys.ini</filename>
		<filename>xx-XX.plg_installer_webinstaller.ini</filename>
		<filename>xx-XX.plg_installer_webinstaller.sys.ini</filename>
		<filename>xx-XX.plg_quickicon_extensionupdate.ini</filename>
		<filename>xx-XX.plg_quickicon_extensionupdate.sys.ini</filename>
		<filename>xx-XX.plg_quickicon_joomlaupdate.ini</filename>
		<filename>xx-XX.plg_quickicon_joomlaupdate.sys.ini</filename>
=========>	<filename>xx-XX.plg_search_categories.ini</filename>
		<filename>xx-XX.plg_search_categories.sys.ini</filename>
=========>	<filename>xx-XX.plg_search_contacts.ini</filename>
		<filename>xx-XX.plg_search_contacts.sys.ini</filename>
=========>	<filename>xx-XX.plg_search_content.ini</filename>
		<filename>xx-XX.plg_search_content.sys.ini</filename>
=========>	<filename>xx-XX.plg_search_newsfeeds.ini</filename>
		<filename>xx-XX.plg_search_newsfeeds.sys.ini</filename>
=========>	<filename>xx-XX.plg_search_tags.ini</filename>
		<filename>xx-XX.plg_search_tags.sys.ini</filename>
=========>	<filename>xx-XX.plg_search_weblinks.ini</filename>
		<filename>xx-XX.plg_search_weblinks.sys.ini</filename>
		<filename>xx-XX.plg_system_cache.ini</filename>
		<filename>xx-XX.plg_system_cache.sys.ini</filename>
		<filename>xx-XX.plg_system_debug.ini</filename>
		<filename>xx-XX.plg_system_debug.sys.ini</filename>
		<filename>xx-XX.plg_system_highlight.ini</filename>
		<filename>xx-XX.plg_system_highlight.sys.ini</filename>
		<filename>xx-XX.plg_system_languagecode.ini</filename>
		<filename>xx-XX.plg_system_languagecode.sys.ini</filename>
		<filename>xx-XX.plg_system_languagefilter.ini</filename>
		<filename>xx-XX.plg_system_languagefilter.sys.ini</filename>
		<filename>xx-XX.plg_system_log.ini</filename>
		<filename>xx-XX.plg_system_log.sys.ini</filename>
		<filename>xx-XX.plg_system_logout.ini</filename>
		<filename>xx-XX.plg_system_logout.sys.ini</filename>
		<filename>xx-XX.plg_system_p3p.ini</filename>
		<filename>xx-XX.plg_system_p3p.sys.ini</filename>
		<filename>xx-XX.plg_system_redirect.ini</filename>
		<filename>xx-XX.plg_system_redirect.sys.ini</filename>
		<filename>xx-XX.plg_system_remember.ini</filename>
		<filename>xx-XX.plg_system_remember.sys.ini</filename>
		<filename>xx-XX.plg_system_sef.ini</filename>
		<filename>xx-XX.plg_system_sef.sys.ini</filename>
		<filename>xx-XX.plg_twofactorauth_totp.ini</filename>
		<filename>xx-XX.plg_twofactorauth_totp.sys.ini</filename>
		<filename>xx-XX.plg_twofactorauth_yubikey.ini</filename>
		<filename>xx-XX.plg_twofactorauth_yubikey.sys.ini</filename>
		<filename>xx-XX.plg_user_contactcreator.ini</filename>
		<filename>xx-XX.plg_user_contactcreator.sys.ini</filename>
		<filename>xx-XX.plg_user_joomla.ini</filename>
		<filename>xx-XX.plg_user_joomla.sys.ini</filename>
=========>	<filename>xx-XX.plg_user_profile.ini</filename>
		<filename>xx-XX.plg_user_profile.sys.ini</filename>
		<filename>xx-XX.tpl_hathor.ini</filename>
		<filename>xx-XX.tpl_hathor.sys.ini</filename>
		<filename>xx-XX.tpl_isis.ini</filename>
		<filename>xx-XX.tpl_isis.sys.ini</filename>
=========>	<filename file="meta">install.xml</filename>
=========>	<filename file="meta">xx-XX.xml</filename>
	</files>
	<params />
</extension>

Kopieer de onvertaalde en-GB bestanden en wijzig het taalvoorvoegsel.

Wat niet vertalen

Vertaal deze regels niet:

  • bestand fr-FR.ini = de regels voor "JHELP_"

Voorbeeld:

JHELP_COMPONENTS_MESSAGING_INBOX="Components_Messaging_Inbox"

Ze worden gebruikt om de help te organiseren. Als een specifieke help-wiki per taal beschikbaar is, werken ze.

Veel gestelde vragen

Waarom we .ini bestanden gebruiken in plaats van .po .mo

INI bestanden werden in 2006 gekozen om verschillende redenen:

  • Er was geen specifieke app om om te gaan met .po op alle platforms (Poedit was niet beschikbaar op Windows)
  • Iedereen, zelfs zonder enige codeer kennis kon een ini bestand aanmaken/bewerken
  • ini bestanden zijn leesbaar, .po niet
  • Je kunt niet meer dan één .po bestand per pagina laden.

maar niet alleen daarom en daarom is het beter verder te gaan:

Het volgende is een voorbeeld geplukt uit Wordpress uit de code van een eenvoudig .php bestand (WP gebruikt GEEN meervouden, zoals te zien in hun .po bestanden):

get_current_screen()->add_help_tab( array(
        'id'      => 'publish-box',
        'title'   => __('Publish Settings'),
        'content' => $publish_box,
    ) );

    $discussion_settings  = '<p>' . __('<strong>Send Trackbacks</strong> - Trackbacks are a way to notify legacy blog systems that you&#8217;ve linked to them. Enter the URL(s) you want to send trackbacks. If you link to other WordPress sites they&#8217;ll be notified automatically using pingbacks, and this field is unnecessary.') . '</p>';
    $discussion_settings .= '<p>' . __('<strong>Discussion</strong> - You can turn comments and pings on or off, and if there are comments on the post, you can see them here and moderate them.') . '</p>';

    get_current_screen()->add_help_tab( array(
        'id'      => 'discussion-settings',
        'title'   => __('Discussion Settings'),
        'content' => $discussion_settings,
    ) );
} elseif ( 'page' == $post_type ) {
    $page_attributes = '<p>' . __('<strong>Parent</strong> - You can arrange your pages in hierarchies. For example, you could have an &#8220;About&#8221; page that has &#8220;Life Story&#8221; and &#8220;My Dog&#8221; pages under it. There are no limits to how many levels you can nest pages.') . '</p>' .
        '<p>' . __('<strong>Template</strong> - Some themes have custom templates you can use for certain pages that might have additional features or custom layouts. If so, you&#8217;ll see them in this dropdown menu.') . '</p>' .
        '<p>' . __('<strong>Order</strong> - Pages are usually ordered alphabetically, but you can choose your own order by entering a number (1 for first, etc.) in this field.') . '</p>';

    get_current_screen()->add_help_tab( array(
        'id' => 'page-attributes',
        'title' => __('Page Attributes'),
        'content' => $page_attributes,
    ) );
}

Dit voor GetText:

__('<strong>Parent</strong> - You can arrange your pages in hierarchies. For example, you could have an &#8220;About&#8221; page that has &#8220;Life Story&#8221; and &#8220;My Dog&#8221; pages under it. There are no limits to how many levels you can nest pages.')

Het is eenvoudiger met ini-bestanden:

JText::_("SOME_CONSTANT")

Het werken met meervoudsvormen

Sommige talen zoals Russisch kennen NIET dezelfde meervoudsvormen als in het Engels. Ze moeten strings toevoegen om aan hun definities te voldoen. Het Joomla CMS biedt hier een oplossing voor en dat kan worden gezien in het bestand localise.php dat aan het taalpakket wordt toegevoegd. Bijvoorbeeld: Wat betreft meervoudsvormen, dit is het Russische meervoud:

public static function getPluralSuffixes($count)
    {
        if ($count == 0) {
            $return = array('0');
        } else {
            $return = array(($count%10==1 && $count%100!=11 ? '1' : ($count%10>=2 && $count%10<=4 && ($count%100<10 || $count%100>=20) ? '2' : 'MORE')));
        }
        return $return;
    }

En dit is het Schotse Keltisch:

public static function getPluralSuffixes($count) {
        if ($count == 0 || $count > 19) {
            $return =  array('0');
        }
        elseif($count == 1 || $count == 11) {
               $return =  array('1');
        }
        elseif($count == 2 || $count == 12) {
               $return =  array('2');
        }
        elseif(($count > 2 && $count < 12) || ($count > 12 && $count < 19)) {
                $return =  array('FEW');
        }
        return $return;
     }

Vergelijk dit met en-GB:

public static function getPluralSuffixes($count) {
        if ($count == 0) {
            $return =  array('0');
        }
        elseif($count == 1) {
            $return =  array('1');
        }
        else {
            $return = array('MORE');
        }
        return $return;
    }

Dit betekent als we in en-GB hebben:

COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_0="No banner successfully checked in"
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_1="%d banner successfully checked in"
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_MORE="%d banners successfully checked in"

Dan is in het Russisch nodig:

COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_0="Ни один баннер не был разблокирован"
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_1="%d баннер успешно разблокирован"
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_2="%d баннера успешно разблокировано"
COM_BANNERS_BANNERS_N_ITEMS_CHECKED_IN_MORE="%d баннеров успешно разблокировано"

Standard ISO codes voor de naamgeving van taalpakketten

De officiële link betreffende landcodes is: https://www.iso.org/obp/ui/#search

Joomla gebruikt alpha-2 codes:

CS was de officiële landcode van Tsjecho-Slowakije VOOR het werd opgedeeld in de Tsjechië (CZ) en Slowakije (SK)

Onze taal-tags bestaan uit 2 delen:

  • de taalcode
  • de landcode

Dit is de officiële lijst met taalcodes: http://www.iso.org/iso/home/standards/language_codes.htm

Indien mogelijk gebruiken we de 2 letter taalcode, anders gebruiken we de 3 letters. We hebben bijvoorbeeld voor Joomla

ckb-IQ voor Koerdisch Sorani

srp-ME voor Montenegrijns