<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Horus+68</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Horus+68"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Horus_68"/>
	<updated>2026-08-08T17:02:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Horus_68&amp;diff=710444</id>
		<title>User:Horus 68</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Horus_68&amp;diff=710444"/>
		<updated>2020-08-06T11:23:52Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Portuguese Portugal (pt-PT) Joomla Community [https://www.joomlaportugal.org/ www.joomlaportugal.org]&lt;br /&gt;
* Joomla Core Translation Team&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JDOC:Documentation_Translators&amp;diff=111640</id>
		<title>JDOC:Documentation Translators</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JDOC:Documentation_Translators&amp;diff=111640"/>
		<updated>2014-03-04T13:34:06Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* Common Language Codes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here, people &#039;&#039;&#039;translating&#039;&#039;&#039; {{SITENAME}} can sign up as a translator. A [[JDOC:Translation Administrators|Translation Administrator]] will assign your username translator permissions. After your username is added as a translator, you can get started translating! &lt;br /&gt;
&lt;br /&gt;
{{tip|text=Dear translators! Please [[Special:TranslatorSignup|register for translator notifications about your language]]. You are placed on a list to receive notices about new/updated pages that need translation.|title=A Tip for Translators}}&lt;br /&gt;
&lt;br /&gt;
== Required Reading ==&lt;br /&gt;
* Getting started, read [[JDOC:Page Translation Quickstart Guide|Page Translation Quickstart Guide]]&lt;br /&gt;
* Detailed explanation of translating, [[JDOC:Page Translation Explained|Page Translation Explained]].&lt;br /&gt;
* Our [[JDOC:Language policy|Language policy]]&lt;br /&gt;
* Having an [[JDOC:Translation Questions|issue or need help]]?&lt;br /&gt;
&lt;br /&gt;
===Add Your Username===&lt;br /&gt;
Add your username below under a language you want to translate and you will be added to the [[Special:ListUsers/translator|Translator user group]].&lt;br /&gt;
&lt;br /&gt;
===Add Your Language===&lt;br /&gt;
If your language isn&#039;t listed below, please add it using the format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;lang code&amp;gt; - Localised language name - English language name &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the syntax, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;* {{User|YourUsername}}&amp;lt;/nowiki&amp;gt; - requested&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a Translation Administrator adds you as a translator, they will remove the &amp;quot;- requested&amp;quot; from your username.&lt;br /&gt;
&lt;br /&gt;
==Current Translations Teams==&lt;br /&gt;
&lt;br /&gt;
=== bg - Български - Bulgarian ===&lt;br /&gt;
* {{User|Mastwd}}&lt;br /&gt;
&lt;br /&gt;
=== ca - Català - Catalan === &lt;br /&gt;
* {{User|Johnnydement}}&lt;br /&gt;
* {{User|el_libre}}&lt;br /&gt;
&lt;br /&gt;
=== da - Dansk - Danish ===&lt;br /&gt;
* {{User|rbuelund}}&lt;br /&gt;
&lt;br /&gt;
=== de - Deutsch - German ===&lt;br /&gt;
* {{User|Sisko1990}}&lt;br /&gt;
&lt;br /&gt;
=== es - Español - Spanish ===&lt;br /&gt;
* {{User|isidrobaq}}&lt;br /&gt;
* {{User|ivanramosnet}}&lt;br /&gt;
* {{User|Willin}}&lt;br /&gt;
* {{User|viena}}&lt;br /&gt;
* {{User|Javiparati}}&lt;br /&gt;
* {{User|Crsanchez}}&lt;br /&gt;
* {{User|Irene.lopez}}&lt;br /&gt;
* {{User|pfvidal}}&lt;br /&gt;
* {{User|VictorYork87}}&lt;br /&gt;
* {{User|netandsoftware}}&lt;br /&gt;
&lt;br /&gt;
=== fa - فارسی - Persian ===&lt;br /&gt;
* {{User|mhehm}}&lt;br /&gt;
* {{User|Grand}}&lt;br /&gt;
&lt;br /&gt;
=== fr - Français - French ===&lt;br /&gt;
* {{User|Opware2000}}&lt;br /&gt;
* {{User|MATsxm}}&lt;br /&gt;
* {{User|Simon}}&lt;br /&gt;
* {{User|Sandra97}}&lt;br /&gt;
&lt;br /&gt;
=== hu - Magyar - Hungarian ===&lt;br /&gt;
* {{User|Balazs}}&lt;br /&gt;
&lt;br /&gt;
=== id - Bahasa Indonesia - Indonesian ===&lt;br /&gt;
* {{User|sikumbang}}&lt;br /&gt;
&lt;br /&gt;
=== ja - 日本語 - Japanese ===&lt;br /&gt;
* {{User|Nori}}&lt;br /&gt;
* {{User|Yama}}&lt;br /&gt;
* {{User|Richell}}&lt;br /&gt;
&lt;br /&gt;
=== nl - Nederlands - Dutch ===&lt;br /&gt;
* {{User|MartijnM}}&lt;br /&gt;
* {{User|Marnix}}&lt;br /&gt;
* {{User|Grubosoft}}&lt;br /&gt;
* {{User|slibbe}}&lt;br /&gt;
&lt;br /&gt;
=== pt-PT - Português de Portugal - Portuguese ===&lt;br /&gt;
* {{User|Horus_68}}&lt;br /&gt;
&lt;br /&gt;
=== pt-BR - Português do Brasil - Brazilian Portuguese ===&lt;br /&gt;
* {{User|Ariadnepinheiro}}&lt;br /&gt;
* {{User|Airton}}&lt;br /&gt;
&lt;br /&gt;
=== ru - Русский - Russian ===&lt;br /&gt;
* {{User|AlexSmirnov}}&lt;br /&gt;
&lt;br /&gt;
=== sw - Kiswahili - Swahili ===&lt;br /&gt;
* {{User|Ayeko}}&lt;br /&gt;
&lt;br /&gt;
=== tr - Türkçe - Turkish ===&lt;br /&gt;
* {{User|Umitkenan}}&lt;br /&gt;
&lt;br /&gt;
=== vi - Tiếng Việt - Vietnamese ===&lt;br /&gt;
* {{User|huyhoa}}&lt;br /&gt;
&lt;br /&gt;
==Translation administrators==&lt;br /&gt;
&lt;br /&gt;
The responsibilities of a Translation administrator will require a bit more attention to docs. Translation administrators should feel comfortable with using wiki markup, but there is no need to an expert. At the very least, checking documentation every few days and perform any required tasks. Ideally, we should have at one Translation administrator who will not be tied to any specific language. Then perhaps one Translation administrator for active language teams. [[JDOC_talk:Documentation Translators|Volunteer as a Translation administrator here]].&lt;br /&gt;
&lt;br /&gt;
===Current Volunteer Translation Administrators===&lt;br /&gt;
{{:Special:ListUsers/translationadmins}}&lt;br /&gt;
&lt;br /&gt;
==Common Language Codes==&lt;br /&gt;
&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt;ar - عربي - Arabic&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bg - Български - Bulgarian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bn - বাংলা - Bengali&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bo - བོད་ཡིག - tibetan&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ca - Català - Catalan&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ce - Nohçi - Chechen&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; da - Dansk - Danish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; de - Deutsch - German&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; es - Español - Spanish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; fa - فارسی - Persian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; fr - Français - French&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; hu - Magyar - Hungarian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; hy - Հայերեն - Armenian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; id - Bahasa Indonesia - Indonesian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; is - Íslenska - Icelandic&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; it - Italiano - Italian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ja - 日本語 - Japanese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ko - 한국어 - Korean&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; lb - Lëtzebuergesch - Luxembourgish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; min - Baso Minangkabau - Minang&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ml - liviox alvax - Malayalam&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; mr - मराठी - Marathi&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ms - Bahasa Melayu - Malay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; nl - Nederlands - Dutch&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; pl - Polski - Polish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; pt-PT - Português de Portugal - European Portuguese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; pt-BR - Português do Brasil - Brazilian Portuguese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ro - Română - Romanian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ru - Русский - Russian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sl - Slovenščina - Slovenianjtökók&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sq - Shqip - Albanian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sv - Svenska - Swedish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sw - Kiswahili - Swahili&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ta - தமிழ் - Tamil&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; tr - Türkçe - Turkish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; vi - Tiếng Việt - Vietnamese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; zh 中文 Chinese&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:Documentation Wiki Policies and Guidelines]]&lt;br /&gt;
[[Category:Documentation Translation]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JDOC:Documentation_Translators&amp;diff=111639</id>
		<title>JDOC:Documentation Translators</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JDOC:Documentation_Translators&amp;diff=111639"/>
		<updated>2014-03-04T13:31:49Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* pt-br - Português do Brasil - Brazilian Portuguese */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here, people &#039;&#039;&#039;translating&#039;&#039;&#039; {{SITENAME}} can sign up as a translator. A [[JDOC:Translation Administrators|Translation Administrator]] will assign your username translator permissions. After your username is added as a translator, you can get started translating! &lt;br /&gt;
&lt;br /&gt;
{{tip|text=Dear translators! Please [[Special:TranslatorSignup|register for translator notifications about your language]]. You are placed on a list to receive notices about new/updated pages that need translation.|title=A Tip for Translators}}&lt;br /&gt;
&lt;br /&gt;
== Required Reading ==&lt;br /&gt;
* Getting started, read [[JDOC:Page Translation Quickstart Guide|Page Translation Quickstart Guide]]&lt;br /&gt;
* Detailed explanation of translating, [[JDOC:Page Translation Explained|Page Translation Explained]].&lt;br /&gt;
* Our [[JDOC:Language policy|Language policy]]&lt;br /&gt;
* Having an [[JDOC:Translation Questions|issue or need help]]?&lt;br /&gt;
&lt;br /&gt;
===Add Your Username===&lt;br /&gt;
Add your username below under a language you want to translate and you will be added to the [[Special:ListUsers/translator|Translator user group]].&lt;br /&gt;
&lt;br /&gt;
===Add Your Language===&lt;br /&gt;
If your language isn&#039;t listed below, please add it using the format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;lang code&amp;gt; - Localised language name - English language name &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the syntax, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;* {{User|YourUsername}}&amp;lt;/nowiki&amp;gt; - requested&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a Translation Administrator adds you as a translator, they will remove the &amp;quot;- requested&amp;quot; from your username.&lt;br /&gt;
&lt;br /&gt;
==Current Translations Teams==&lt;br /&gt;
&lt;br /&gt;
=== bg - Български - Bulgarian ===&lt;br /&gt;
* {{User|Mastwd}}&lt;br /&gt;
&lt;br /&gt;
=== ca - Català - Catalan === &lt;br /&gt;
* {{User|Johnnydement}}&lt;br /&gt;
* {{User|el_libre}}&lt;br /&gt;
&lt;br /&gt;
=== da - Dansk - Danish ===&lt;br /&gt;
* {{User|rbuelund}}&lt;br /&gt;
&lt;br /&gt;
=== de - Deutsch - German ===&lt;br /&gt;
* {{User|Sisko1990}}&lt;br /&gt;
&lt;br /&gt;
=== es - Español - Spanish ===&lt;br /&gt;
* {{User|isidrobaq}}&lt;br /&gt;
* {{User|ivanramosnet}}&lt;br /&gt;
* {{User|Willin}}&lt;br /&gt;
* {{User|viena}}&lt;br /&gt;
* {{User|Javiparati}}&lt;br /&gt;
* {{User|Crsanchez}}&lt;br /&gt;
* {{User|Irene.lopez}}&lt;br /&gt;
* {{User|pfvidal}}&lt;br /&gt;
* {{User|VictorYork87}}&lt;br /&gt;
* {{User|netandsoftware}}&lt;br /&gt;
&lt;br /&gt;
=== fa - فارسی - Persian ===&lt;br /&gt;
* {{User|mhehm}}&lt;br /&gt;
* {{User|Grand}}&lt;br /&gt;
&lt;br /&gt;
=== fr - Français - French ===&lt;br /&gt;
* {{User|Opware2000}}&lt;br /&gt;
* {{User|MATsxm}}&lt;br /&gt;
* {{User|Simon}}&lt;br /&gt;
* {{User|Sandra97}}&lt;br /&gt;
&lt;br /&gt;
=== hu - Magyar - Hungarian ===&lt;br /&gt;
* {{User|Balazs}}&lt;br /&gt;
&lt;br /&gt;
=== id - Bahasa Indonesia - Indonesian ===&lt;br /&gt;
* {{User|sikumbang}}&lt;br /&gt;
&lt;br /&gt;
=== ja - 日本語 - Japanese ===&lt;br /&gt;
* {{User|Nori}}&lt;br /&gt;
* {{User|Yama}}&lt;br /&gt;
* {{User|Richell}}&lt;br /&gt;
&lt;br /&gt;
=== nl - Nederlands - Dutch ===&lt;br /&gt;
* {{User|MartijnM}}&lt;br /&gt;
* {{User|Marnix}}&lt;br /&gt;
* {{User|Grubosoft}}&lt;br /&gt;
* {{User|slibbe}}&lt;br /&gt;
&lt;br /&gt;
=== pt-PT - Português de Portugal - Portuguese ===&lt;br /&gt;
* {{User|Horus_68}}&lt;br /&gt;
&lt;br /&gt;
=== pt-BR - Português do Brasil - Brazilian Portuguese ===&lt;br /&gt;
* {{User|Ariadnepinheiro}}&lt;br /&gt;
* {{User|Airton}}&lt;br /&gt;
&lt;br /&gt;
=== ru - Русский - Russian ===&lt;br /&gt;
* {{User|AlexSmirnov}}&lt;br /&gt;
&lt;br /&gt;
=== sw - Kiswahili - Swahili ===&lt;br /&gt;
* {{User|Ayeko}}&lt;br /&gt;
&lt;br /&gt;
=== tr - Türkçe - Turkish ===&lt;br /&gt;
* {{User|Umitkenan}}&lt;br /&gt;
&lt;br /&gt;
=== vi - Tiếng Việt - Vietnamese ===&lt;br /&gt;
* {{User|huyhoa}}&lt;br /&gt;
&lt;br /&gt;
==Translation administrators==&lt;br /&gt;
&lt;br /&gt;
The responsibilities of a Translation administrator will require a bit more attention to docs. Translation administrators should feel comfortable with using wiki markup, but there is no need to an expert. At the very least, checking documentation every few days and perform any required tasks. Ideally, we should have at one Translation administrator who will not be tied to any specific language. Then perhaps one Translation administrator for active language teams. [[JDOC_talk:Documentation Translators|Volunteer as a Translation administrator here]].&lt;br /&gt;
&lt;br /&gt;
===Current Volunteer Translation Administrators===&lt;br /&gt;
{{:Special:ListUsers/translationadmins}}&lt;br /&gt;
&lt;br /&gt;
==Common Language Codes==&lt;br /&gt;
&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt;ar - عربي - Arabic&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bg - Български - Bulgarian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bn - বাংলা - Bengali&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bo - བོད་ཡིག - tibetan&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ca - Català - Catalan&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ce - Nohçi - Chechen&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; da - Dansk - Danish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; de - Deutsch - German&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; es - Español - Spanish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; fa - فارسی - Persian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; fr - Français - French&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; hu - Magyar - Hungarian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; hy - Հայերեն - Armenian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; id - Bahasa Indonesia - Indonesian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; is - Íslenska - Icelandic&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; it - Italiano - Italian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ja - 日本語 - Japanese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ko - 한국어 - Korean&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; lb - Lëtzebuergesch - Luxembourgish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; min - Baso Minangkabau - Minang&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ml - liviox alvax - Malayalam&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; mr - मराठी - Marathi&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ms - Bahasa Melayu - Malay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; nl - Nederlands - Dutch&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; pl - Polski - Polish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ro - Română - Romanian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ru - Русский - Russian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sl - Slovenščina - Slovenianjtökók&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sq - Shqip - Albanian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sv - Svenska - Swedish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sw - Kiswahili - Swahili&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ta - தமிழ் - Tamil&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; tr - Türkçe - Turkish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; vi - Tiếng Việt - Vietnamese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; zh 中文 Chinese&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:Documentation Wiki Policies and Guidelines]]&lt;br /&gt;
[[Category:Documentation Translation]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JDOC:Documentation_Translators&amp;diff=111638</id>
		<title>JDOC:Documentation Translators</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JDOC:Documentation_Translators&amp;diff=111638"/>
		<updated>2014-03-04T13:31:21Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* pt - Português - Portuguese */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here, people &#039;&#039;&#039;translating&#039;&#039;&#039; {{SITENAME}} can sign up as a translator. A [[JDOC:Translation Administrators|Translation Administrator]] will assign your username translator permissions. After your username is added as a translator, you can get started translating! &lt;br /&gt;
&lt;br /&gt;
{{tip|text=Dear translators! Please [[Special:TranslatorSignup|register for translator notifications about your language]]. You are placed on a list to receive notices about new/updated pages that need translation.|title=A Tip for Translators}}&lt;br /&gt;
&lt;br /&gt;
== Required Reading ==&lt;br /&gt;
* Getting started, read [[JDOC:Page Translation Quickstart Guide|Page Translation Quickstart Guide]]&lt;br /&gt;
* Detailed explanation of translating, [[JDOC:Page Translation Explained|Page Translation Explained]].&lt;br /&gt;
* Our [[JDOC:Language policy|Language policy]]&lt;br /&gt;
* Having an [[JDOC:Translation Questions|issue or need help]]?&lt;br /&gt;
&lt;br /&gt;
===Add Your Username===&lt;br /&gt;
Add your username below under a language you want to translate and you will be added to the [[Special:ListUsers/translator|Translator user group]].&lt;br /&gt;
&lt;br /&gt;
===Add Your Language===&lt;br /&gt;
If your language isn&#039;t listed below, please add it using the format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;lang code&amp;gt; - Localised language name - English language name &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the syntax, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;* {{User|YourUsername}}&amp;lt;/nowiki&amp;gt; - requested&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a Translation Administrator adds you as a translator, they will remove the &amp;quot;- requested&amp;quot; from your username.&lt;br /&gt;
&lt;br /&gt;
==Current Translations Teams==&lt;br /&gt;
&lt;br /&gt;
=== bg - Български - Bulgarian ===&lt;br /&gt;
* {{User|Mastwd}}&lt;br /&gt;
&lt;br /&gt;
=== ca - Català - Catalan === &lt;br /&gt;
* {{User|Johnnydement}}&lt;br /&gt;
* {{User|el_libre}}&lt;br /&gt;
&lt;br /&gt;
=== da - Dansk - Danish ===&lt;br /&gt;
* {{User|rbuelund}}&lt;br /&gt;
&lt;br /&gt;
=== de - Deutsch - German ===&lt;br /&gt;
* {{User|Sisko1990}}&lt;br /&gt;
&lt;br /&gt;
=== es - Español - Spanish ===&lt;br /&gt;
* {{User|isidrobaq}}&lt;br /&gt;
* {{User|ivanramosnet}}&lt;br /&gt;
* {{User|Willin}}&lt;br /&gt;
* {{User|viena}}&lt;br /&gt;
* {{User|Javiparati}}&lt;br /&gt;
* {{User|Crsanchez}}&lt;br /&gt;
* {{User|Irene.lopez}}&lt;br /&gt;
* {{User|pfvidal}}&lt;br /&gt;
* {{User|VictorYork87}}&lt;br /&gt;
* {{User|netandsoftware}}&lt;br /&gt;
&lt;br /&gt;
=== fa - فارسی - Persian ===&lt;br /&gt;
* {{User|mhehm}}&lt;br /&gt;
* {{User|Grand}}&lt;br /&gt;
&lt;br /&gt;
=== fr - Français - French ===&lt;br /&gt;
* {{User|Opware2000}}&lt;br /&gt;
* {{User|MATsxm}}&lt;br /&gt;
* {{User|Simon}}&lt;br /&gt;
* {{User|Sandra97}}&lt;br /&gt;
&lt;br /&gt;
=== hu - Magyar - Hungarian ===&lt;br /&gt;
* {{User|Balazs}}&lt;br /&gt;
&lt;br /&gt;
=== id - Bahasa Indonesia - Indonesian ===&lt;br /&gt;
* {{User|sikumbang}}&lt;br /&gt;
&lt;br /&gt;
=== ja - 日本語 - Japanese ===&lt;br /&gt;
* {{User|Nori}}&lt;br /&gt;
* {{User|Yama}}&lt;br /&gt;
* {{User|Richell}}&lt;br /&gt;
&lt;br /&gt;
=== nl - Nederlands - Dutch ===&lt;br /&gt;
* {{User|MartijnM}}&lt;br /&gt;
* {{User|Marnix}}&lt;br /&gt;
* {{User|Grubosoft}}&lt;br /&gt;
* {{User|slibbe}}&lt;br /&gt;
&lt;br /&gt;
=== pt-PT - Português de Portugal - Portuguese ===&lt;br /&gt;
* {{User|Horus_68}}&lt;br /&gt;
&lt;br /&gt;
=== pt-br - Português do Brasil - Brazilian Portuguese ===&lt;br /&gt;
* {{User|Ariadnepinheiro}}&lt;br /&gt;
* {{User|Airton}}&lt;br /&gt;
&lt;br /&gt;
=== ru - Русский - Russian ===&lt;br /&gt;
* {{User|AlexSmirnov}}&lt;br /&gt;
&lt;br /&gt;
=== sw - Kiswahili - Swahili ===&lt;br /&gt;
* {{User|Ayeko}}&lt;br /&gt;
&lt;br /&gt;
=== tr - Türkçe - Turkish ===&lt;br /&gt;
* {{User|Umitkenan}}&lt;br /&gt;
&lt;br /&gt;
=== vi - Tiếng Việt - Vietnamese ===&lt;br /&gt;
* {{User|huyhoa}}&lt;br /&gt;
&lt;br /&gt;
==Translation administrators==&lt;br /&gt;
&lt;br /&gt;
The responsibilities of a Translation administrator will require a bit more attention to docs. Translation administrators should feel comfortable with using wiki markup, but there is no need to an expert. At the very least, checking documentation every few days and perform any required tasks. Ideally, we should have at one Translation administrator who will not be tied to any specific language. Then perhaps one Translation administrator for active language teams. [[JDOC_talk:Documentation Translators|Volunteer as a Translation administrator here]].&lt;br /&gt;
&lt;br /&gt;
===Current Volunteer Translation Administrators===&lt;br /&gt;
{{:Special:ListUsers/translationadmins}}&lt;br /&gt;
&lt;br /&gt;
==Common Language Codes==&lt;br /&gt;
&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt;ar - عربي - Arabic&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bg - Български - Bulgarian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bn - বাংলা - Bengali&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bo - བོད་ཡིག - tibetan&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ca - Català - Catalan&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ce - Nohçi - Chechen&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; da - Dansk - Danish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; de - Deutsch - German&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; es - Español - Spanish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; fa - فارسی - Persian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; fr - Français - French&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; hu - Magyar - Hungarian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; hy - Հայերեն - Armenian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; id - Bahasa Indonesia - Indonesian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; is - Íslenska - Icelandic&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; it - Italiano - Italian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ja - 日本語 - Japanese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ko - 한국어 - Korean&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; lb - Lëtzebuergesch - Luxembourgish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; min - Baso Minangkabau - Minang&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ml - liviox alvax - Malayalam&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; mr - मराठी - Marathi&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ms - Bahasa Melayu - Malay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; nl - Nederlands - Dutch&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; pl - Polski - Polish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ro - Română - Romanian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ru - Русский - Russian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sl - Slovenščina - Slovenianjtökók&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sq - Shqip - Albanian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sv - Svenska - Swedish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sw - Kiswahili - Swahili&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ta - தமிழ் - Tamil&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; tr - Türkçe - Turkish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; vi - Tiếng Việt - Vietnamese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; zh 中文 Chinese&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:Documentation Wiki Policies and Guidelines]]&lt;br /&gt;
[[Category:Documentation Translation]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Horus_68&amp;diff=111629</id>
		<title>User:Horus 68</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Horus_68&amp;diff=111629"/>
		<updated>2014-03-04T13:20:43Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Portuguese Portugal (pt-PT) Joomla Community [http://www.joomlapt.com www.joomlapt.com]&lt;br /&gt;
* Joomla Core Translation Team&lt;br /&gt;
* Translating with Transifex tutorials for Joomla extension developers: Keep Calm and Translate Joomla [http://sites.google.com/site/transjoomla]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JDOC:Documentation_Translators&amp;diff=111626</id>
		<title>JDOC:Documentation Translators</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JDOC:Documentation_Translators&amp;diff=111626"/>
		<updated>2014-03-04T13:12:35Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* pt-br - Português do Brasil - Brazilian Portuguese */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here, people &#039;&#039;&#039;translating&#039;&#039;&#039; {{SITENAME}} can sign up as a translator. A [[JDOC:Translation Administrators|Translation Administrator]] will assign your username translator permissions. After your username is added as a translator, you can get started translating! &lt;br /&gt;
&lt;br /&gt;
{{tip|text=Dear translators! Please [[Special:TranslatorSignup|register for translator notifications about your language]]. You are placed on a list to receive notices about new/updated pages that need translation.|title=A Tip for Translators}}&lt;br /&gt;
&lt;br /&gt;
== Required Reading ==&lt;br /&gt;
* Getting started, read [[JDOC:Page Translation Quickstart Guide|Page Translation Quickstart Guide]]&lt;br /&gt;
* Detailed explanation of translating, [[JDOC:Page Translation Explained|Page Translation Explained]].&lt;br /&gt;
* Our [[JDOC:Language policy|Language policy]]&lt;br /&gt;
* Having an [[JDOC:Translation Questions|issue or need help]]?&lt;br /&gt;
&lt;br /&gt;
===Add Your Username===&lt;br /&gt;
Add your username below under a language you want to translate and you will be added to the [[Special:ListUsers/translator|Translator user group]].&lt;br /&gt;
&lt;br /&gt;
===Add Your Language===&lt;br /&gt;
If your language isn&#039;t listed below, please add it using the format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;lang code&amp;gt; - Localised language name - English language name &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the syntax, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;* {{User|YourUsername}}&amp;lt;/nowiki&amp;gt; - requested&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a Translation Administrator adds you as a translator, they will remove the &amp;quot;- requested&amp;quot; from your username.&lt;br /&gt;
&lt;br /&gt;
==Current Translations Teams==&lt;br /&gt;
&lt;br /&gt;
=== bg - Български - Bulgarian ===&lt;br /&gt;
* {{User|Mastwd}}&lt;br /&gt;
&lt;br /&gt;
=== ca - Català - Catalan === &lt;br /&gt;
* {{User|Johnnydement}}&lt;br /&gt;
* {{User|el_libre}}&lt;br /&gt;
&lt;br /&gt;
=== da - Dansk - Danish ===&lt;br /&gt;
* {{User|rbuelund}}&lt;br /&gt;
&lt;br /&gt;
=== de - Deutsch - German ===&lt;br /&gt;
* {{User|Sisko1990}}&lt;br /&gt;
&lt;br /&gt;
=== es - Español - Spanish ===&lt;br /&gt;
* {{User|isidrobaq}}&lt;br /&gt;
* {{User|ivanramosnet}}&lt;br /&gt;
* {{User|Willin}}&lt;br /&gt;
* {{User|viena}}&lt;br /&gt;
* {{User|Javiparati}}&lt;br /&gt;
* {{User|Crsanchez}}&lt;br /&gt;
* {{User|Irene.lopez}}&lt;br /&gt;
* {{User|pfvidal}}&lt;br /&gt;
* {{User|VictorYork87}}&lt;br /&gt;
* {{User|netandsoftware}}&lt;br /&gt;
&lt;br /&gt;
=== fa - فارسی - Persian ===&lt;br /&gt;
* {{User|mhehm}}&lt;br /&gt;
* {{User|Grand}}&lt;br /&gt;
&lt;br /&gt;
=== fr - Français - French ===&lt;br /&gt;
* {{User|Opware2000}}&lt;br /&gt;
* {{User|MATsxm}}&lt;br /&gt;
* {{User|Simon}}&lt;br /&gt;
* {{User|Sandra97}}&lt;br /&gt;
&lt;br /&gt;
=== hu - Magyar - Hungarian ===&lt;br /&gt;
* {{User|Balazs}}&lt;br /&gt;
&lt;br /&gt;
=== id - Bahasa Indonesia - Indonesian ===&lt;br /&gt;
* {{User|sikumbang}}&lt;br /&gt;
&lt;br /&gt;
=== ja - 日本語 - Japanese ===&lt;br /&gt;
* {{User|Nori}}&lt;br /&gt;
* {{User|Yama}}&lt;br /&gt;
* {{User|Richell}}&lt;br /&gt;
&lt;br /&gt;
=== nl - Nederlands - Dutch ===&lt;br /&gt;
* {{User|MartijnM}}&lt;br /&gt;
* {{User|Marnix}}&lt;br /&gt;
* {{User|Grubosoft}}&lt;br /&gt;
* {{User|slibbe}}&lt;br /&gt;
&lt;br /&gt;
=== pt - Português - Portuguese ===&lt;br /&gt;
* {{User|Horus_68}}&lt;br /&gt;
&lt;br /&gt;
=== pt-br - Português do Brasil - Brazilian Portuguese ===&lt;br /&gt;
* {{User|Ariadnepinheiro}}&lt;br /&gt;
* {{User|Airton}}&lt;br /&gt;
&lt;br /&gt;
=== ru - Русский - Russian ===&lt;br /&gt;
* {{User|AlexSmirnov}}&lt;br /&gt;
&lt;br /&gt;
=== sw - Kiswahili - Swahili ===&lt;br /&gt;
* {{User|Ayeko}}&lt;br /&gt;
&lt;br /&gt;
=== tr - Türkçe - Turkish ===&lt;br /&gt;
* {{User|Umitkenan}}&lt;br /&gt;
&lt;br /&gt;
=== vi - Tiếng Việt - Vietnamese ===&lt;br /&gt;
* {{User|huyhoa}}&lt;br /&gt;
&lt;br /&gt;
==Translation administrators==&lt;br /&gt;
&lt;br /&gt;
The responsibilities of a Translation administrator will require a bit more attention to docs. Translation administrators should feel comfortable with using wiki markup, but there is no need to an expert. At the very least, checking documentation every few days and perform any required tasks. Ideally, we should have at one Translation administrator who will not be tied to any specific language. Then perhaps one Translation administrator for active language teams. [[JDOC_talk:Documentation Translators|Volunteer as a Translation administrator here]].&lt;br /&gt;
&lt;br /&gt;
===Current Volunteer Translation Administrators===&lt;br /&gt;
{{:Special:ListUsers/translationadmins}}&lt;br /&gt;
&lt;br /&gt;
==Common Language Codes==&lt;br /&gt;
&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt;ar - عربي - Arabic&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bg - Български - Bulgarian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bn - বাংলা - Bengali&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bo - བོད་ཡིག - tibetan&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ca - Català - Catalan&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ce - Nohçi - Chechen&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; da - Dansk - Danish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; de - Deutsch - German&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; es - Español - Spanish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; fa - فارسی - Persian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; fr - Français - French&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; hu - Magyar - Hungarian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; hy - Հայերեն - Armenian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; id - Bahasa Indonesia - Indonesian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; is - Íslenska - Icelandic&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; it - Italiano - Italian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ja - 日本語 - Japanese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ko - 한국어 - Korean&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; lb - Lëtzebuergesch - Luxembourgish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; min - Baso Minangkabau - Minang&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ml - liviox alvax - Malayalam&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; mr - मराठी - Marathi&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ms - Bahasa Melayu - Malay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; nl - Nederlands - Dutch&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; pl - Polski - Polish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ro - Română - Romanian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ru - Русский - Russian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sl - Slovenščina - Slovenianjtökók&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sq - Shqip - Albanian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sv - Svenska - Swedish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sw - Kiswahili - Swahili&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ta - தமிழ் - Tamil&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; tr - Türkçe - Turkish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; vi - Tiếng Việt - Vietnamese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; zh 中文 Chinese&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:Documentation Wiki Policies and Guidelines]]&lt;br /&gt;
[[Category:Documentation Translation]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JDOC:Documentation_Translators&amp;diff=111623</id>
		<title>JDOC:Documentation Translators</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JDOC:Documentation_Translators&amp;diff=111623"/>
		<updated>2014-03-04T13:11:52Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* pt - Português - Portuguese */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here, people &#039;&#039;&#039;translating&#039;&#039;&#039; {{SITENAME}} can sign up as a translator. A [[JDOC:Translation Administrators|Translation Administrator]] will assign your username translator permissions. After your username is added as a translator, you can get started translating! &lt;br /&gt;
&lt;br /&gt;
{{tip|text=Dear translators! Please [[Special:TranslatorSignup|register for translator notifications about your language]]. You are placed on a list to receive notices about new/updated pages that need translation.|title=A Tip for Translators}}&lt;br /&gt;
&lt;br /&gt;
== Required Reading ==&lt;br /&gt;
* Getting started, read [[JDOC:Page Translation Quickstart Guide|Page Translation Quickstart Guide]]&lt;br /&gt;
* Detailed explanation of translating, [[JDOC:Page Translation Explained|Page Translation Explained]].&lt;br /&gt;
* Our [[JDOC:Language policy|Language policy]]&lt;br /&gt;
* Having an [[JDOC:Translation Questions|issue or need help]]?&lt;br /&gt;
&lt;br /&gt;
===Add Your Username===&lt;br /&gt;
Add your username below under a language you want to translate and you will be added to the [[Special:ListUsers/translator|Translator user group]].&lt;br /&gt;
&lt;br /&gt;
===Add Your Language===&lt;br /&gt;
If your language isn&#039;t listed below, please add it using the format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;lang code&amp;gt; - Localised language name - English language name &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the syntax, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;* {{User|YourUsername}}&amp;lt;/nowiki&amp;gt; - requested&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a Translation Administrator adds you as a translator, they will remove the &amp;quot;- requested&amp;quot; from your username.&lt;br /&gt;
&lt;br /&gt;
==Current Translations Teams==&lt;br /&gt;
&lt;br /&gt;
=== bg - Български - Bulgarian ===&lt;br /&gt;
* {{User|Mastwd}}&lt;br /&gt;
&lt;br /&gt;
=== ca - Català - Catalan === &lt;br /&gt;
* {{User|Johnnydement}}&lt;br /&gt;
* {{User|el_libre}}&lt;br /&gt;
&lt;br /&gt;
=== da - Dansk - Danish ===&lt;br /&gt;
* {{User|rbuelund}}&lt;br /&gt;
&lt;br /&gt;
=== de - Deutsch - German ===&lt;br /&gt;
* {{User|Sisko1990}}&lt;br /&gt;
&lt;br /&gt;
=== es - Español - Spanish ===&lt;br /&gt;
* {{User|isidrobaq}}&lt;br /&gt;
* {{User|ivanramosnet}}&lt;br /&gt;
* {{User|Willin}}&lt;br /&gt;
* {{User|viena}}&lt;br /&gt;
* {{User|Javiparati}}&lt;br /&gt;
* {{User|Crsanchez}}&lt;br /&gt;
* {{User|Irene.lopez}}&lt;br /&gt;
* {{User|pfvidal}}&lt;br /&gt;
* {{User|VictorYork87}}&lt;br /&gt;
* {{User|netandsoftware}}&lt;br /&gt;
&lt;br /&gt;
=== fa - فارسی - Persian ===&lt;br /&gt;
* {{User|mhehm}}&lt;br /&gt;
* {{User|Grand}}&lt;br /&gt;
&lt;br /&gt;
=== fr - Français - French ===&lt;br /&gt;
* {{User|Opware2000}}&lt;br /&gt;
* {{User|MATsxm}}&lt;br /&gt;
* {{User|Simon}}&lt;br /&gt;
* {{User|Sandra97}}&lt;br /&gt;
&lt;br /&gt;
=== hu - Magyar - Hungarian ===&lt;br /&gt;
* {{User|Balazs}}&lt;br /&gt;
&lt;br /&gt;
=== id - Bahasa Indonesia - Indonesian ===&lt;br /&gt;
* {{User|sikumbang}}&lt;br /&gt;
&lt;br /&gt;
=== ja - 日本語 - Japanese ===&lt;br /&gt;
* {{User|Nori}}&lt;br /&gt;
* {{User|Yama}}&lt;br /&gt;
* {{User|Richell}}&lt;br /&gt;
&lt;br /&gt;
=== nl - Nederlands - Dutch ===&lt;br /&gt;
* {{User|MartijnM}}&lt;br /&gt;
* {{User|Marnix}}&lt;br /&gt;
* {{User|Grubosoft}}&lt;br /&gt;
* {{User|slibbe}}&lt;br /&gt;
&lt;br /&gt;
=== pt - Português - Portuguese ===&lt;br /&gt;
* {{User|Horus_68}}&lt;br /&gt;
&lt;br /&gt;
=== pt-br - Português do Brasil - Brazilian Portuguese ===&lt;br /&gt;
* {{User|Airton}}&lt;br /&gt;
&lt;br /&gt;
=== ru - Русский - Russian ===&lt;br /&gt;
* {{User|AlexSmirnov}}&lt;br /&gt;
&lt;br /&gt;
=== sw - Kiswahili - Swahili ===&lt;br /&gt;
* {{User|Ayeko}}&lt;br /&gt;
&lt;br /&gt;
=== tr - Türkçe - Turkish ===&lt;br /&gt;
* {{User|Umitkenan}}&lt;br /&gt;
&lt;br /&gt;
=== vi - Tiếng Việt - Vietnamese ===&lt;br /&gt;
* {{User|huyhoa}}&lt;br /&gt;
&lt;br /&gt;
==Translation administrators==&lt;br /&gt;
&lt;br /&gt;
The responsibilities of a Translation administrator will require a bit more attention to docs. Translation administrators should feel comfortable with using wiki markup, but there is no need to an expert. At the very least, checking documentation every few days and perform any required tasks. Ideally, we should have at one Translation administrator who will not be tied to any specific language. Then perhaps one Translation administrator for active language teams. [[JDOC_talk:Documentation Translators|Volunteer as a Translation administrator here]].&lt;br /&gt;
&lt;br /&gt;
===Current Volunteer Translation Administrators===&lt;br /&gt;
{{:Special:ListUsers/translationadmins}}&lt;br /&gt;
&lt;br /&gt;
==Common Language Codes==&lt;br /&gt;
&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt;ar - عربي - Arabic&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bg - Български - Bulgarian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bn - বাংলা - Bengali&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; bo - བོད་ཡིག - tibetan&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ca - Català - Catalan&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ce - Nohçi - Chechen&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; da - Dansk - Danish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; de - Deutsch - German&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; es - Español - Spanish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; fa - فارسی - Persian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; fr - Français - French&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; hu - Magyar - Hungarian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; hy - Հայերեն - Armenian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; id - Bahasa Indonesia - Indonesian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; is - Íslenska - Icelandic&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; it - Italiano - Italian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ja - 日本語 - Japanese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ko - 한국어 - Korean&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; lb - Lëtzebuergesch - Luxembourgish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; min - Baso Minangkabau - Minang&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ml - liviox alvax - Malayalam&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; mr - मराठी - Marathi&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ms - Bahasa Melayu - Malay&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; nl - Nederlands - Dutch&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; pl - Polski - Polish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ro - Română - Romanian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ru - Русский - Russian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sl - Slovenščina - Slovenianjtökók&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sq - Shqip - Albanian&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sv - Svenska - Swedish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; sw - Kiswahili - Swahili&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; ta - தமிழ் - Tamil&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; tr - Türkçe - Turkish&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; vi - Tiếng Việt - Vietnamese&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt; zh 中文 Chinese&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:Documentation Wiki Policies and Guidelines]]&lt;br /&gt;
[[Category:Documentation Translation]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JED_history&amp;diff=107443</id>
		<title>JED history</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JED_history&amp;diff=107443"/>
		<updated>2014-02-08T23:34:30Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* Joined in 2008 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
JED History: Joomla! Extensions Directory facts and dates&amp;lt;ref&amp;gt;The dates presented in this document are confirmed by different documents, public and private. The persons involved also contribute to revise this document. Our thanks to all&amp;lt;/ref&amp;gt;.&lt;br /&gt;
(Dates are in DD-MM-YYYY)&lt;br /&gt;
&lt;br /&gt;
= Special dates =&lt;br /&gt;
JED started on basis of [http://forum.joomla.org/viewtopic.php?t=25317 this list at Joomla! forum]&lt;br /&gt;
Ken actually started the list back when we were Mambo. It was then that a few of us began discussion an actual Directory as something that we should be working on.&lt;br /&gt;
&lt;br /&gt;
==A Directory is born==&lt;br /&gt;
* Directory Conception: 15-10-2005&lt;br /&gt;
* Directory Born: 05-03-2006&lt;br /&gt;
** Birth certificate: [http://forum.joomla.org/viewtopic.php?f=8&amp;amp;t=43586 It&#039;s Time to Celebrate the Freedom - Yet Again!] &lt;br /&gt;
&lt;br /&gt;
== Directory Baptism: ==&lt;br /&gt;
proposal by ot2sen - 12-08-2006&lt;br /&gt;
* full name: Joomla! Extensions Directory&lt;br /&gt;
* nick: JED&lt;br /&gt;
&lt;br /&gt;
== Extension numbers ==&lt;br /&gt;
JED launched with 314 extensions &amp;lt;ref&amp;gt;At the time with an estimated value of over $139,500 for the 310 free “310 extensions x 15 hours development per extension x $30/hour = $139,500. A ridiculously low estimate of the value of the extensions is well over $100,000 - for FREE”: http://forum.joomla.org/viewtopic.php?p=236402#p236402&amp;lt;/ref&amp;gt;,&lt;br /&gt;
* 314 extensions - 05-03-2006&lt;br /&gt;
* 1000 extensions mark - 16-09-2006&lt;br /&gt;
* 2000 extensions mark - 28-08-2007&lt;br /&gt;
* 3000 extensions mark - 20-01-2008&lt;br /&gt;
* 4000 extensions mark - 17-10-2008&lt;br /&gt;
* 5000 extensions mark - 27-05-2010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPL only ==&lt;br /&gt;
* March 31 2009: the Joomla! Extensions Directory (JED) no longer accept non GPL&lt;br /&gt;
* July 1 2009: only GPL extensions are allowed to be listed&lt;br /&gt;
Announcement: [http://community.joomla.org/blogs/leadership/636-jed-to-be-gpl-only-by-july-2009.html JED to be GPL Only by July 2009]&lt;br /&gt;
&lt;br /&gt;
== Extension Versions ==&lt;br /&gt;
* No 1.0 extensions: March 31 2009, JED no longer accepts Joomla! 1.0 compatible-only extensions. However, accepts extensions compatible with Joomla! 1.0 and Joomla! 1.5&lt;br /&gt;
** Announcement: [http://community.joomla.org/blogs/community/629-jed-will-phase-out-joomla-10-extensions-in-june-2009.html JED Will Phase Out Joomla 1.0 Extensions in June 2009]&lt;br /&gt;
* No 1.5 legacy only for new extensions -&lt;br /&gt;
* Open for 1.6 extensions - &lt;br /&gt;
* Open for 2.5 extensions - Jan, 24, 2012&lt;br /&gt;
* End for 1.6 and 1.7 extensions: April 30, 2012 - [http://community.joomla.org/blogs/leadership/1566-the-jed-and-version-support.html The JED and Version Support]&lt;br /&gt;
* End of 1.5 only extensions: April 1, 2012 - [http://community.joomla.org/blogs/leadership/1566-the-jed-and-version-support.html The JED and Version Support]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= JED Team History =&lt;br /&gt;
== Actual JED Team ==&lt;br /&gt;
Team Profiles: http://forum.joomla.org/memberlist.php?mode=group &lt;br /&gt;
=== Manager ===&lt;br /&gt;
* mlipscomb (Matt Lipscomb) - (appointed by CLT 06-08-2010)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=2938&lt;br /&gt;
&lt;br /&gt;
=== Editors: ===&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: 14-06-2008 / &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* LaFrance (Pierre Gazzola) - Joined: 10-01-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=87230&lt;br /&gt;
* Seblod (Sebastian Lapoux) - Joined: ?? &lt;br /&gt;
* Andy Sharman - Joined: ?? &lt;br /&gt;
* Herdboy.789 (Mustaq Sheikh)  - Joined: ??&lt;br /&gt;
* Nathan Gifford   - Joined: ??&lt;br /&gt;
* Costas Kakousis  - Joined: ??&lt;br /&gt;
* Daniel Dimitrov  - Joined: 22-02-2012&lt;br /&gt;
&lt;br /&gt;
===Development ===&lt;br /&gt;
* Dknight (Lee Cher Yeong) - Joined: 15-10-2005&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=79&lt;br /&gt;
&lt;br /&gt;
== Joined in 2012 ==&lt;br /&gt;
* Daniel Dimitrov  - Joined: 22-02-2012&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2011 ==&lt;br /&gt;
* natselection (Nathan Gifford) - Joined: ?? &lt;br /&gt;
* Seblod (Sebastian Lapoux) - Joined: ?? &lt;br /&gt;
* Andy Sharman - Joined: ?? &lt;br /&gt;
* Herdboy.789 (Mustaq Sheikh)  - Joined: ??&lt;br /&gt;
* Eduardo Lomeli   - Joined: ??&lt;br /&gt;
* Costas.Kakousis  - Joined: ??&lt;br /&gt;
* hooduku  - Joined: ??&lt;br /&gt;
* Sudhi  - Joined: ??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2010 ==&lt;br /&gt;
* LaFrance (Pierre Gazzola) - Joined: 10-01-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=87230&lt;br /&gt;
* ot2sen (Ole Bang Ottosen) - Joined (appointed by CLT): 09-03-2010 / Left 25-03-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=178&lt;br /&gt;
* Danayel (Daniel Chapman) - Joined: 03-08-2010 / Left 20-09-2010 &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=94326&lt;br /&gt;
* jeffchannell (Jeff Channels) - Joined: 17-08-2010 / Left 11-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=322239&lt;br /&gt;
* mlipscomb (Matt Lipscomb) - (appointed by CLT 06-08-2010)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=293859&lt;br /&gt;
* porwig (Paul Orwig) - (appointed by CLT 06-08-2010) Left: 31-12-2011)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=251146 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2009 ==&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: before 12-02-2009&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* tj.baker (TJ Baker) - Joined: 31-12-2009 / Left: 02-08-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=23008&lt;br /&gt;
* nonumber (Peter Van Westen) - Joined: 15-09-2009 / Left: 3-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=59328&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2008 ==&lt;br /&gt;
* Horus_68 (Paulo Izidoro) - Joined: 08-01-2008 / Left: 08-02-2014&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6515&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6515&lt;br /&gt;
* timothy.stiffler (Timothy Stiffler) - Joined: 21-01-2008 / Left: 16-04-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=138200&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: after 14-06-2008 / &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* Toni Marie - Joined: 10-03-2008 / Left: 06-08-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=35733&lt;br /&gt;
* alledia (Steve Burge) - Joined: 10-03-2008 / Left: 20-04-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=46545&lt;br /&gt;
* mindiam (Ben Rogers) - Joined: 29-03-2008 / Left: 20-08-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=4340&lt;br /&gt;
* Geoff (Geoff Cheung)- Joined: 09-09-2008 / Left: ??&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=32483&lt;br /&gt;
* normdouglas (Norm Douglas) - Joined: 26-12-2009 / Left: 09-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=19591&lt;br /&gt;
* vdrover (Victor Drover) - Joined: 26-12-2008 / Left: 06-04-2012&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=25584&lt;br /&gt;
&lt;br /&gt;
== Joined in 2007 ==&lt;br /&gt;
* doctorj (Josh) - Joined: 02-07-2007 / Left: 27-08-2007&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=3420&lt;br /&gt;
* ircmaxell (Anthony Ferrara) - Joined: 13-12-2007 / Left: 29-05-2008 (?)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=11402&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2006 ==&lt;br /&gt;
* Tonie (Tonie de Wilde) - Joined: 05-03-2006  / Left: 29-04-2008 &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=100&lt;br /&gt;
* Vimes - Joined: 08-08-2006 / Left: 15-06-2007&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=561&lt;br /&gt;
* LorenzoG (Lorenzo Garcia) - Joined: 16-10-2006 / Left: 12-04-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=726&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-launch team - 2005==&lt;br /&gt;
Since 15-10-2005 until the directory launch on 05-03-2006 &amp;lt;ref&amp;gt;The 1st JED TEAM started his functions on 05 Mar 2006 (the directory opening day) &amp;quot;The Directory team which consists of Andy [rhuk], Graham [Graham Spice], ot2sen [Ole Bang Ottosen] and Lee [dknight]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gsbe (Graham Spice) - Joined: 15-10-2005 / Left: 03-05-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=33&lt;br /&gt;
* ot2sen (Ole Bang Ottosen) - Joined: 15-10-2005 / Left: 10-03-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=178&lt;br /&gt;
* dknight (Lee Cher Yeong) - Joined: 15-10-2005&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=79&lt;br /&gt;
* rhuk (Andy Miller) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=13&lt;br /&gt;
&lt;br /&gt;
===Pre-launch helpers===&lt;br /&gt;
original site template: rhuk&lt;br /&gt;
&lt;br /&gt;
code contributes: Andrew Eddie&lt;br /&gt;
&lt;br /&gt;
* manuman (Shayne Bartlett) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6&lt;br /&gt;
* DeanMarshall (Dean Marshall) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=595&lt;br /&gt;
* brad (Brad Baker) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=166991&lt;br /&gt;
* kenmcd (Ken McDonald) was the original &#039;collector&#039; of extensions&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=65&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Team Leaders =&lt;br /&gt;
Users in leadership roles at JED team&lt;br /&gt;
* Tonie (From 05-03-2006 to 29-04-2008)&lt;br /&gt;
* LorenzoG (From 29-04-2008 to 12-04-2010)&lt;br /&gt;
* Toni Marie (From 12-04-2010  to 06-08-2010)&lt;br /&gt;
* Co-managers (CLT appointment): mlipscomb (From 06-08-2010 to 31-12-2011) and porwig (From 06-08-2010 to 31-12-2011)&lt;br /&gt;
* Manager: mlipscomb (From 31-12-2011 to actual date )&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:JED]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JED_history&amp;diff=107442</id>
		<title>JED history</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JED_history&amp;diff=107442"/>
		<updated>2014-02-08T23:34:10Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* Editors: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
JED History: Joomla! Extensions Directory facts and dates&amp;lt;ref&amp;gt;The dates presented in this document are confirmed by different documents, public and private. The persons involved also contribute to revise this document. Our thanks to all&amp;lt;/ref&amp;gt;.&lt;br /&gt;
(Dates are in DD-MM-YYYY)&lt;br /&gt;
&lt;br /&gt;
= Special dates =&lt;br /&gt;
JED started on basis of [http://forum.joomla.org/viewtopic.php?t=25317 this list at Joomla! forum]&lt;br /&gt;
Ken actually started the list back when we were Mambo. It was then that a few of us began discussion an actual Directory as something that we should be working on.&lt;br /&gt;
&lt;br /&gt;
==A Directory is born==&lt;br /&gt;
* Directory Conception: 15-10-2005&lt;br /&gt;
* Directory Born: 05-03-2006&lt;br /&gt;
** Birth certificate: [http://forum.joomla.org/viewtopic.php?f=8&amp;amp;t=43586 It&#039;s Time to Celebrate the Freedom - Yet Again!] &lt;br /&gt;
&lt;br /&gt;
== Directory Baptism: ==&lt;br /&gt;
proposal by ot2sen - 12-08-2006&lt;br /&gt;
* full name: Joomla! Extensions Directory&lt;br /&gt;
* nick: JED&lt;br /&gt;
&lt;br /&gt;
== Extension numbers ==&lt;br /&gt;
JED launched with 314 extensions &amp;lt;ref&amp;gt;At the time with an estimated value of over $139,500 for the 310 free “310 extensions x 15 hours development per extension x $30/hour = $139,500. A ridiculously low estimate of the value of the extensions is well over $100,000 - for FREE”: http://forum.joomla.org/viewtopic.php?p=236402#p236402&amp;lt;/ref&amp;gt;,&lt;br /&gt;
* 314 extensions - 05-03-2006&lt;br /&gt;
* 1000 extensions mark - 16-09-2006&lt;br /&gt;
* 2000 extensions mark - 28-08-2007&lt;br /&gt;
* 3000 extensions mark - 20-01-2008&lt;br /&gt;
* 4000 extensions mark - 17-10-2008&lt;br /&gt;
* 5000 extensions mark - 27-05-2010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPL only ==&lt;br /&gt;
* March 31 2009: the Joomla! Extensions Directory (JED) no longer accept non GPL&lt;br /&gt;
* July 1 2009: only GPL extensions are allowed to be listed&lt;br /&gt;
Announcement: [http://community.joomla.org/blogs/leadership/636-jed-to-be-gpl-only-by-july-2009.html JED to be GPL Only by July 2009]&lt;br /&gt;
&lt;br /&gt;
== Extension Versions ==&lt;br /&gt;
* No 1.0 extensions: March 31 2009, JED no longer accepts Joomla! 1.0 compatible-only extensions. However, accepts extensions compatible with Joomla! 1.0 and Joomla! 1.5&lt;br /&gt;
** Announcement: [http://community.joomla.org/blogs/community/629-jed-will-phase-out-joomla-10-extensions-in-june-2009.html JED Will Phase Out Joomla 1.0 Extensions in June 2009]&lt;br /&gt;
* No 1.5 legacy only for new extensions -&lt;br /&gt;
* Open for 1.6 extensions - &lt;br /&gt;
* Open for 2.5 extensions - Jan, 24, 2012&lt;br /&gt;
* End for 1.6 and 1.7 extensions: April 30, 2012 - [http://community.joomla.org/blogs/leadership/1566-the-jed-and-version-support.html The JED and Version Support]&lt;br /&gt;
* End of 1.5 only extensions: April 1, 2012 - [http://community.joomla.org/blogs/leadership/1566-the-jed-and-version-support.html The JED and Version Support]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= JED Team History =&lt;br /&gt;
== Actual JED Team ==&lt;br /&gt;
Team Profiles: http://forum.joomla.org/memberlist.php?mode=group &lt;br /&gt;
=== Manager ===&lt;br /&gt;
* mlipscomb (Matt Lipscomb) - (appointed by CLT 06-08-2010)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=2938&lt;br /&gt;
&lt;br /&gt;
=== Editors: ===&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: 14-06-2008 / &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* LaFrance (Pierre Gazzola) - Joined: 10-01-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=87230&lt;br /&gt;
* Seblod (Sebastian Lapoux) - Joined: ?? &lt;br /&gt;
* Andy Sharman - Joined: ?? &lt;br /&gt;
* Herdboy.789 (Mustaq Sheikh)  - Joined: ??&lt;br /&gt;
* Nathan Gifford   - Joined: ??&lt;br /&gt;
* Costas Kakousis  - Joined: ??&lt;br /&gt;
* Daniel Dimitrov  - Joined: 22-02-2012&lt;br /&gt;
&lt;br /&gt;
===Development ===&lt;br /&gt;
* Dknight (Lee Cher Yeong) - Joined: 15-10-2005&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=79&lt;br /&gt;
&lt;br /&gt;
== Joined in 2012 ==&lt;br /&gt;
* Daniel Dimitrov  - Joined: 22-02-2012&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2011 ==&lt;br /&gt;
* natselection (Nathan Gifford) - Joined: ?? &lt;br /&gt;
* Seblod (Sebastian Lapoux) - Joined: ?? &lt;br /&gt;
* Andy Sharman - Joined: ?? &lt;br /&gt;
* Herdboy.789 (Mustaq Sheikh)  - Joined: ??&lt;br /&gt;
* Eduardo Lomeli   - Joined: ??&lt;br /&gt;
* Costas.Kakousis  - Joined: ??&lt;br /&gt;
* hooduku  - Joined: ??&lt;br /&gt;
* Sudhi  - Joined: ??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2010 ==&lt;br /&gt;
* LaFrance (Pierre Gazzola) - Joined: 10-01-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=87230&lt;br /&gt;
* ot2sen (Ole Bang Ottosen) - Joined (appointed by CLT): 09-03-2010 / Left 25-03-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=178&lt;br /&gt;
* Danayel (Daniel Chapman) - Joined: 03-08-2010 / Left 20-09-2010 &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=94326&lt;br /&gt;
* jeffchannell (Jeff Channels) - Joined: 17-08-2010 / Left 11-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=322239&lt;br /&gt;
* mlipscomb (Matt Lipscomb) - (appointed by CLT 06-08-2010)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=293859&lt;br /&gt;
* porwig (Paul Orwig) - (appointed by CLT 06-08-2010) Left: 31-12-2011)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=251146 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2009 ==&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: before 12-02-2009&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* tj.baker (TJ Baker) - Joined: 31-12-2009 / Left: 02-08-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=23008&lt;br /&gt;
* nonumber (Peter Van Westen) - Joined: 15-09-2009 / Left: 3-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=59328&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2008 ==&lt;br /&gt;
* Horus_68 (Paulo Izidoro) - Joined: 08-01-2008 /&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6515&lt;br /&gt;
* timothy.stiffler (Timothy Stiffler) - Joined: 21-01-2008 / Left: 16-04-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=138200&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: after 14-06-2008 / &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* Toni Marie - Joined: 10-03-2008 / Left: 06-08-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=35733&lt;br /&gt;
* alledia (Steve Burge) - Joined: 10-03-2008 / Left: 20-04-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=46545&lt;br /&gt;
* mindiam (Ben Rogers) - Joined: 29-03-2008 / Left: 20-08-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=4340&lt;br /&gt;
* Geoff (Geoff Cheung)- Joined: 09-09-2008 / Left: ??&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=32483&lt;br /&gt;
* normdouglas (Norm Douglas) - Joined: 26-12-2009 / Left: 09-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=19591&lt;br /&gt;
* vdrover (Victor Drover) - Joined: 26-12-2008 / Left: 06-04-2012&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=25584 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2007 ==&lt;br /&gt;
* doctorj (Josh) - Joined: 02-07-2007 / Left: 27-08-2007&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=3420&lt;br /&gt;
* ircmaxell (Anthony Ferrara) - Joined: 13-12-2007 / Left: 29-05-2008 (?)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=11402&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2006 ==&lt;br /&gt;
* Tonie (Tonie de Wilde) - Joined: 05-03-2006  / Left: 29-04-2008 &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=100&lt;br /&gt;
* Vimes - Joined: 08-08-2006 / Left: 15-06-2007&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=561&lt;br /&gt;
* LorenzoG (Lorenzo Garcia) - Joined: 16-10-2006 / Left: 12-04-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=726&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-launch team - 2005==&lt;br /&gt;
Since 15-10-2005 until the directory launch on 05-03-2006 &amp;lt;ref&amp;gt;The 1st JED TEAM started his functions on 05 Mar 2006 (the directory opening day) &amp;quot;The Directory team which consists of Andy [rhuk], Graham [Graham Spice], ot2sen [Ole Bang Ottosen] and Lee [dknight]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gsbe (Graham Spice) - Joined: 15-10-2005 / Left: 03-05-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=33&lt;br /&gt;
* ot2sen (Ole Bang Ottosen) - Joined: 15-10-2005 / Left: 10-03-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=178&lt;br /&gt;
* dknight (Lee Cher Yeong) - Joined: 15-10-2005&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=79&lt;br /&gt;
* rhuk (Andy Miller) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=13&lt;br /&gt;
&lt;br /&gt;
===Pre-launch helpers===&lt;br /&gt;
original site template: rhuk&lt;br /&gt;
&lt;br /&gt;
code contributes: Andrew Eddie&lt;br /&gt;
&lt;br /&gt;
* manuman (Shayne Bartlett) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6&lt;br /&gt;
* DeanMarshall (Dean Marshall) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=595&lt;br /&gt;
* brad (Brad Baker) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=166991&lt;br /&gt;
* kenmcd (Ken McDonald) was the original &#039;collector&#039; of extensions&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=65&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Team Leaders =&lt;br /&gt;
Users in leadership roles at JED team&lt;br /&gt;
* Tonie (From 05-03-2006 to 29-04-2008)&lt;br /&gt;
* LorenzoG (From 29-04-2008 to 12-04-2010)&lt;br /&gt;
* Toni Marie (From 12-04-2010  to 06-08-2010)&lt;br /&gt;
* Co-managers (CLT appointment): mlipscomb (From 06-08-2010 to 31-12-2011) and porwig (From 06-08-2010 to 31-12-2011)&lt;br /&gt;
* Manager: mlipscomb (From 31-12-2011 to actual date )&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:JED]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JED_history&amp;diff=107441</id>
		<title>JED history</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JED_history&amp;diff=107441"/>
		<updated>2014-02-08T23:33:42Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* Editors: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
JED History: Joomla! Extensions Directory facts and dates&amp;lt;ref&amp;gt;The dates presented in this document are confirmed by different documents, public and private. The persons involved also contribute to revise this document. Our thanks to all&amp;lt;/ref&amp;gt;.&lt;br /&gt;
(Dates are in DD-MM-YYYY)&lt;br /&gt;
&lt;br /&gt;
= Special dates =&lt;br /&gt;
JED started on basis of [http://forum.joomla.org/viewtopic.php?t=25317 this list at Joomla! forum]&lt;br /&gt;
Ken actually started the list back when we were Mambo. It was then that a few of us began discussion an actual Directory as something that we should be working on.&lt;br /&gt;
&lt;br /&gt;
==A Directory is born==&lt;br /&gt;
* Directory Conception: 15-10-2005&lt;br /&gt;
* Directory Born: 05-03-2006&lt;br /&gt;
** Birth certificate: [http://forum.joomla.org/viewtopic.php?f=8&amp;amp;t=43586 It&#039;s Time to Celebrate the Freedom - Yet Again!] &lt;br /&gt;
&lt;br /&gt;
== Directory Baptism: ==&lt;br /&gt;
proposal by ot2sen - 12-08-2006&lt;br /&gt;
* full name: Joomla! Extensions Directory&lt;br /&gt;
* nick: JED&lt;br /&gt;
&lt;br /&gt;
== Extension numbers ==&lt;br /&gt;
JED launched with 314 extensions &amp;lt;ref&amp;gt;At the time with an estimated value of over $139,500 for the 310 free “310 extensions x 15 hours development per extension x $30/hour = $139,500. A ridiculously low estimate of the value of the extensions is well over $100,000 - for FREE”: http://forum.joomla.org/viewtopic.php?p=236402#p236402&amp;lt;/ref&amp;gt;,&lt;br /&gt;
* 314 extensions - 05-03-2006&lt;br /&gt;
* 1000 extensions mark - 16-09-2006&lt;br /&gt;
* 2000 extensions mark - 28-08-2007&lt;br /&gt;
* 3000 extensions mark - 20-01-2008&lt;br /&gt;
* 4000 extensions mark - 17-10-2008&lt;br /&gt;
* 5000 extensions mark - 27-05-2010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPL only ==&lt;br /&gt;
* March 31 2009: the Joomla! Extensions Directory (JED) no longer accept non GPL&lt;br /&gt;
* July 1 2009: only GPL extensions are allowed to be listed&lt;br /&gt;
Announcement: [http://community.joomla.org/blogs/leadership/636-jed-to-be-gpl-only-by-july-2009.html JED to be GPL Only by July 2009]&lt;br /&gt;
&lt;br /&gt;
== Extension Versions ==&lt;br /&gt;
* No 1.0 extensions: March 31 2009, JED no longer accepts Joomla! 1.0 compatible-only extensions. However, accepts extensions compatible with Joomla! 1.0 and Joomla! 1.5&lt;br /&gt;
** Announcement: [http://community.joomla.org/blogs/community/629-jed-will-phase-out-joomla-10-extensions-in-june-2009.html JED Will Phase Out Joomla 1.0 Extensions in June 2009]&lt;br /&gt;
* No 1.5 legacy only for new extensions -&lt;br /&gt;
* Open for 1.6 extensions - &lt;br /&gt;
* Open for 2.5 extensions - Jan, 24, 2012&lt;br /&gt;
* End for 1.6 and 1.7 extensions: April 30, 2012 - [http://community.joomla.org/blogs/leadership/1566-the-jed-and-version-support.html The JED and Version Support]&lt;br /&gt;
* End of 1.5 only extensions: April 1, 2012 - [http://community.joomla.org/blogs/leadership/1566-the-jed-and-version-support.html The JED and Version Support]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= JED Team History =&lt;br /&gt;
== Actual JED Team ==&lt;br /&gt;
Team Profiles: http://forum.joomla.org/memberlist.php?mode=group &lt;br /&gt;
=== Manager ===&lt;br /&gt;
* mlipscomb (Matt Lipscomb) - (appointed by CLT 06-08-2010)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=2938&lt;br /&gt;
&lt;br /&gt;
=== Editors: ===&lt;br /&gt;
* Horus_68 (Paulo Izidoro) - Joined: 08-01-2008 / Left: 08-02-2014&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6515&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: 14-06-2008 / &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* LaFrance (Pierre Gazzola) - Joined: 10-01-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=87230&lt;br /&gt;
* Seblod (Sebastian Lapoux) - Joined: ?? &lt;br /&gt;
* Andy Sharman - Joined: ?? &lt;br /&gt;
* Herdboy.789 (Mustaq Sheikh)  - Joined: ??&lt;br /&gt;
* Nathan Gifford   - Joined: ??&lt;br /&gt;
* Costas Kakousis  - Joined: ??&lt;br /&gt;
* Daniel Dimitrov  - Joined: 22-02-2012&lt;br /&gt;
&lt;br /&gt;
===Development ===&lt;br /&gt;
* Dknight (Lee Cher Yeong) - Joined: 15-10-2005&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=79&lt;br /&gt;
&lt;br /&gt;
== Joined in 2012 ==&lt;br /&gt;
* Daniel Dimitrov  - Joined: 22-02-2012&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2011 ==&lt;br /&gt;
* natselection (Nathan Gifford) - Joined: ?? &lt;br /&gt;
* Seblod (Sebastian Lapoux) - Joined: ?? &lt;br /&gt;
* Andy Sharman - Joined: ?? &lt;br /&gt;
* Herdboy.789 (Mustaq Sheikh)  - Joined: ??&lt;br /&gt;
* Eduardo Lomeli   - Joined: ??&lt;br /&gt;
* Costas.Kakousis  - Joined: ??&lt;br /&gt;
* hooduku  - Joined: ??&lt;br /&gt;
* Sudhi  - Joined: ??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2010 ==&lt;br /&gt;
* LaFrance (Pierre Gazzola) - Joined: 10-01-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=87230&lt;br /&gt;
* ot2sen (Ole Bang Ottosen) - Joined (appointed by CLT): 09-03-2010 / Left 25-03-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=178&lt;br /&gt;
* Danayel (Daniel Chapman) - Joined: 03-08-2010 / Left 20-09-2010 &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=94326&lt;br /&gt;
* jeffchannell (Jeff Channels) - Joined: 17-08-2010 / Left 11-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=322239&lt;br /&gt;
* mlipscomb (Matt Lipscomb) - (appointed by CLT 06-08-2010)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=293859&lt;br /&gt;
* porwig (Paul Orwig) - (appointed by CLT 06-08-2010) Left: 31-12-2011)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=251146 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2009 ==&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: before 12-02-2009&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* tj.baker (TJ Baker) - Joined: 31-12-2009 / Left: 02-08-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=23008&lt;br /&gt;
* nonumber (Peter Van Westen) - Joined: 15-09-2009 / Left: 3-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=59328&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2008 ==&lt;br /&gt;
* Horus_68 (Paulo Izidoro) - Joined: 08-01-2008 /&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6515&lt;br /&gt;
* timothy.stiffler (Timothy Stiffler) - Joined: 21-01-2008 / Left: 16-04-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=138200&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: after 14-06-2008 / &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* Toni Marie - Joined: 10-03-2008 / Left: 06-08-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=35733&lt;br /&gt;
* alledia (Steve Burge) - Joined: 10-03-2008 / Left: 20-04-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=46545&lt;br /&gt;
* mindiam (Ben Rogers) - Joined: 29-03-2008 / Left: 20-08-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=4340&lt;br /&gt;
* Geoff (Geoff Cheung)- Joined: 09-09-2008 / Left: ??&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=32483&lt;br /&gt;
* normdouglas (Norm Douglas) - Joined: 26-12-2009 / Left: 09-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=19591&lt;br /&gt;
* vdrover (Victor Drover) - Joined: 26-12-2008 / Left: 06-04-2012&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=25584 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2007 ==&lt;br /&gt;
* doctorj (Josh) - Joined: 02-07-2007 / Left: 27-08-2007&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=3420&lt;br /&gt;
* ircmaxell (Anthony Ferrara) - Joined: 13-12-2007 / Left: 29-05-2008 (?)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=11402&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2006 ==&lt;br /&gt;
* Tonie (Tonie de Wilde) - Joined: 05-03-2006  / Left: 29-04-2008 &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=100&lt;br /&gt;
* Vimes - Joined: 08-08-2006 / Left: 15-06-2007&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=561&lt;br /&gt;
* LorenzoG (Lorenzo Garcia) - Joined: 16-10-2006 / Left: 12-04-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=726&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-launch team - 2005==&lt;br /&gt;
Since 15-10-2005 until the directory launch on 05-03-2006 &amp;lt;ref&amp;gt;The 1st JED TEAM started his functions on 05 Mar 2006 (the directory opening day) &amp;quot;The Directory team which consists of Andy [rhuk], Graham [Graham Spice], ot2sen [Ole Bang Ottosen] and Lee [dknight]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gsbe (Graham Spice) - Joined: 15-10-2005 / Left: 03-05-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=33&lt;br /&gt;
* ot2sen (Ole Bang Ottosen) - Joined: 15-10-2005 / Left: 10-03-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=178&lt;br /&gt;
* dknight (Lee Cher Yeong) - Joined: 15-10-2005&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=79&lt;br /&gt;
* rhuk (Andy Miller) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=13&lt;br /&gt;
&lt;br /&gt;
===Pre-launch helpers===&lt;br /&gt;
original site template: rhuk&lt;br /&gt;
&lt;br /&gt;
code contributes: Andrew Eddie&lt;br /&gt;
&lt;br /&gt;
* manuman (Shayne Bartlett) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6&lt;br /&gt;
* DeanMarshall (Dean Marshall) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=595&lt;br /&gt;
* brad (Brad Baker) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=166991&lt;br /&gt;
* kenmcd (Ken McDonald) was the original &#039;collector&#039; of extensions&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=65&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Team Leaders =&lt;br /&gt;
Users in leadership roles at JED team&lt;br /&gt;
* Tonie (From 05-03-2006 to 29-04-2008)&lt;br /&gt;
* LorenzoG (From 29-04-2008 to 12-04-2010)&lt;br /&gt;
* Toni Marie (From 12-04-2010  to 06-08-2010)&lt;br /&gt;
* Co-managers (CLT appointment): mlipscomb (From 06-08-2010 to 31-12-2011) and porwig (From 06-08-2010 to 31-12-2011)&lt;br /&gt;
* Manager: mlipscomb (From 31-12-2011 to actual date )&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:JED]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Making_a_Language_Pack_for_Joomla&amp;diff=84496</id>
		<title>Archived:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Making_a_Language_Pack_for_Joomla&amp;diff=84496"/>
		<updated>2013-04-16T11:19:41Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|1.6,1.7,2.5}} {{RightTOC}}&lt;br /&gt;
For Joomla 3.x, see [http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_3.x Making a Language Pack for Joomla 3.x]&lt;br /&gt;
&lt;br /&gt;
==How to create your CORE language packs==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For 3rd party extensions self-contained ini files installation&#039;&#039;&#039;, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
fr-FR is taken as an example of language prefix.&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_2.5.6v1.zip&lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
Also, each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
&lt;br /&gt;
==A pkg_fr-FR.xml file==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;2.5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt; &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
&amp;lt;version&amp;gt;2.5.6.x&amp;lt;/version&amp;gt; &amp;lt;!-- change the version # when updating, will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;creationDate&amp;gt;&amp;lt;/creationDate&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&amp;lt;/author&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;description&amp;gt;2.5.6.1 Joomla French Language Package&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;files&amp;gt;&lt;br /&gt;
	&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
&amp;lt;/files&amp;gt;&lt;br /&gt;
	 &amp;lt;updateservers&amp;gt;&lt;br /&gt;
		&amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
	&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==One zip per client (i.e. site and admin)==&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
===an install.xml ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack &amp;lt;install is deprecated. Use &amp;lt;extension as it will be compatible with the 3.x series&lt;br /&gt;
    &amp;lt;name&amp;gt;French (Fr)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2010 Joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;French language pack for Joomla! 1.7&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt; .....ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		[...]&lt;br /&gt;
		&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt; &amp;lt;!-- Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below --&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.css&amp;lt;/filename&amp;gt; &amp;lt;!-- NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.--&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt; &amp;lt;!-- Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack. --&amp;gt;&lt;br /&gt;
                &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt; &amp;lt;!-- Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot; --&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt; &amp;lt;!-- Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below --&amp;gt;&lt;br /&gt;
      &amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt; &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All the ini files===&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
&lt;br /&gt;
Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
===the fr-FR.xml===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 1.6&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2011 Open Source Matters &amp;amp;amp;  Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
                &amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, French_Standard,french, fr_FR, fre_FR, fr&amp;lt;/locale&amp;gt; &amp;lt;!-- the locale is used to sort translated lists when present on the server. --&amp;gt;&lt;br /&gt;
                &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; &amp;lt;!-- used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc. --&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===the fr-FR.localise.php===&lt;br /&gt;
&lt;br /&gt;
(This file should be present at least in site zip)&lt;br /&gt;
&lt;br /&gt;
Explanation of this file:&lt;br /&gt;
&lt;br /&gt;
It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example of the function to add when custom transliteration is desired===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,ā,ă,ą,ḁ,α,ά&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;β,б&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,ć,ĉ,ċ,č,ћ,ц&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;ч&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;ď,đ,Ð,д,ђ,δ,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;џ&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,ē,ĕ,ė,ę,ě,э,ε,έ&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,ф&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;ğ,ĝ,ğ,ġ,ģ,г,γ&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;ĥ,ħ,Ħ,х&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,ı,ĩ,ī,ĭ,į,и,й,ъ,ы,ь,η,ή&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;ĳ&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;ĵ,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;я&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;яю&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;ķ,ĸ,κ&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;ĺ,ļ,ľ,ŀ,ł,л,λ&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;љ&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;μ,м&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,ņ,ň,ŉ,ŋ,н,ν&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;њ&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,ō,ŏ,ő,ο,ό,ω,ώ&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;п,π&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;φ&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;ψ&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;ŕ,ŗ,ř,р,ρ,σ,ς&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;ş,ś,ŝ,ş,š,с&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,ſ&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;ш&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;щ&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;ţ,ť,ŧ,τ,т&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;θ&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,у&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;в&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;ŵ&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;χ,ξ&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,ŷ&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;ź,ż,ž,з,ж,ζ&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;فروردين&amp;quot;,&amp;quot;ارديبهشت&amp;quot;,&amp;quot;خرداد&amp;quot;,&amp;quot;تیر&amp;quot;,&amp;quot;مرداد&amp;quot;,&amp;quot;شهریور&amp;quot;,&amp;quot;مهر&amp;quot;,&amp;quot;آبان&amp;quot;,&amp;quot;آذر&amp;quot;,&amp;quot;دی&amp;quot;,&amp;quot;بهمن&amp;quot;,&amp;quot;اسفند&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;ب ظ&#039; : &#039;ق ظ&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;ب ظ&#039; : &#039;ق ظ&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
===The Site-only pack===&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2012-02-13&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2012 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 2.5&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Making_a_Language_Pack_for_Joomla&amp;diff=84495</id>
		<title>Archived:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Making_a_Language_Pack_for_Joomla&amp;diff=84495"/>
		<updated>2013-04-16T11:19:03Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: Joomla 3 cross reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|1.6,1.7,2.5}} {{RightTOC}}&lt;br /&gt;
For Joomla 3.x, see [http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_3.x Making a Language Pack for Joomla 1.6]&lt;br /&gt;
&lt;br /&gt;
==How to create your CORE language packs==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For 3rd party extensions self-contained ini files installation&#039;&#039;&#039;, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
fr-FR is taken as an example of language prefix.&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_2.5.6v1.zip&lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
Also, each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
&lt;br /&gt;
==A pkg_fr-FR.xml file==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;2.5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt; &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
&amp;lt;version&amp;gt;2.5.6.x&amp;lt;/version&amp;gt; &amp;lt;!-- change the version # when updating, will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;creationDate&amp;gt;&amp;lt;/creationDate&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&amp;lt;/author&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;description&amp;gt;2.5.6.1 Joomla French Language Package&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;files&amp;gt;&lt;br /&gt;
	&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
&amp;lt;/files&amp;gt;&lt;br /&gt;
	 &amp;lt;updateservers&amp;gt;&lt;br /&gt;
		&amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
	&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==One zip per client (i.e. site and admin)==&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
===an install.xml ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack &amp;lt;install is deprecated. Use &amp;lt;extension as it will be compatible with the 3.x series&lt;br /&gt;
    &amp;lt;name&amp;gt;French (Fr)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2010 Joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;French language pack for Joomla! 1.7&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt; .....ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		[...]&lt;br /&gt;
		&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt; &amp;lt;!-- Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below --&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.css&amp;lt;/filename&amp;gt; &amp;lt;!-- NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.--&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt; &amp;lt;!-- Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack. --&amp;gt;&lt;br /&gt;
                &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt; &amp;lt;!-- Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot; --&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt; &amp;lt;!-- Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below --&amp;gt;&lt;br /&gt;
      &amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt; &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All the ini files===&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
&lt;br /&gt;
Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
===the fr-FR.xml===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 1.6&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2011 Open Source Matters &amp;amp;amp;  Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
                &amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, French_Standard,french, fr_FR, fre_FR, fr&amp;lt;/locale&amp;gt; &amp;lt;!-- the locale is used to sort translated lists when present on the server. --&amp;gt;&lt;br /&gt;
                &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; &amp;lt;!-- used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc. --&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===the fr-FR.localise.php===&lt;br /&gt;
&lt;br /&gt;
(This file should be present at least in site zip)&lt;br /&gt;
&lt;br /&gt;
Explanation of this file:&lt;br /&gt;
&lt;br /&gt;
It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example of the function to add when custom transliteration is desired===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,ā,ă,ą,ḁ,α,ά&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;β,б&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,ć,ĉ,ċ,č,ћ,ц&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;ч&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;ď,đ,Ð,д,ђ,δ,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;џ&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,ē,ĕ,ė,ę,ě,э,ε,έ&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,ф&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;ğ,ĝ,ğ,ġ,ģ,г,γ&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;ĥ,ħ,Ħ,х&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,ı,ĩ,ī,ĭ,į,и,й,ъ,ы,ь,η,ή&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;ĳ&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;ĵ,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;я&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;яю&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;ķ,ĸ,κ&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;ĺ,ļ,ľ,ŀ,ł,л,λ&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;љ&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;μ,м&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,ņ,ň,ŉ,ŋ,н,ν&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;њ&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,ō,ŏ,ő,ο,ό,ω,ώ&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;п,π&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;φ&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;ψ&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;ŕ,ŗ,ř,р,ρ,σ,ς&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;ş,ś,ŝ,ş,š,с&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,ſ&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;ш&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;щ&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;ţ,ť,ŧ,τ,т&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;θ&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,у&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;в&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;ŵ&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;χ,ξ&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,ŷ&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;ź,ż,ž,з,ж,ζ&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;فروردين&amp;quot;,&amp;quot;ارديبهشت&amp;quot;,&amp;quot;خرداد&amp;quot;,&amp;quot;تیر&amp;quot;,&amp;quot;مرداد&amp;quot;,&amp;quot;شهریور&amp;quot;,&amp;quot;مهر&amp;quot;,&amp;quot;آبان&amp;quot;,&amp;quot;آذر&amp;quot;,&amp;quot;دی&amp;quot;,&amp;quot;بهمن&amp;quot;,&amp;quot;اسفند&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;ب ظ&#039; : &#039;ق ظ&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;ب ظ&#039; : &#039;ق ظ&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
===The Site-only pack===&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2012-02-13&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2012 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 2.5&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84493</id>
		<title>J3.x:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84493"/>
		<updated>2013-04-16T11:12:26Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|3.0}} {{RightTOC}}&lt;br /&gt;
==How to create localized CORE language packs==&lt;br /&gt;
===Notes===&lt;br /&gt;
* ALL FILES MUST BE SAVED AS UTF8 NO BOM (for non-ascii glyphs as in accented letters, etc.) &lt;br /&gt;
&lt;br /&gt;
* The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
* For 3rd party extensions self-contained ini files installation, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
* For Joomla 2.x core language packs, see http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6&lt;br /&gt;
&lt;br /&gt;
==Full language packs==&lt;br /&gt;
&#039;&#039;&#039;* fr-FR is taken as an example of language prefix.&#039;&#039;&#039;&lt;br /&gt;
A full language pack will contain translations for site and admin parts&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_3.1.0v1.zip&lt;br /&gt;
&lt;br /&gt;
# Files required for partial deletion&lt;br /&gt;
#* each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
#* &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://http://docs.joomla.org/index.php?title=Making_a_Language_Pack_for_Joomla_3.x#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A pkg_fr-FR.xml file===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;3.1&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt;  &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;  &amp;lt;!-- change the version # 3.x.x.x when updating, will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;   &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;url&amp;gt;&amp;lt;/url&amp;gt;&lt;br /&gt;
	&amp;lt;packager&amp;gt;Joomla! French&amp;lt;/packager&amp;gt;&lt;br /&gt;
	&amp;lt;packagerurl&amp;gt;www.joomla.fr&amp;lt;/packagerurl&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;&lt;br /&gt;
		&amp;lt;![CDATA[&lt;br /&gt;
		&amp;lt;div style=&amp;quot;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Joomla! 3.1 Full French (fr-FR) Language Package - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Paquet de langue Joomla! 3.1 français (fr-FR) complet - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;Installation du pack de langue fr-FR de TinyMCE 3.5.6 pour Joomla 3.1 inclus&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-weight: normal; padding-bottom:20px;&amp;quot;&amp;gt;N&#039;oubliez pas de sélectionner la langue FR dans les &amp;lt;a href=&amp;quot;index.php?option=com_plugins&amp;amp;amp;view=plugins&amp;amp;amp;filter_search=TinyMCE&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;paramètres du plug-in &#039;Éditeur - TinyMCE&#039;&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt; (paramètre  &#039;Langue de l&#039;éditeur&#039; = fr).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 		Si vous utilisez la &amp;lt;strong&amp;gt;détection automatique&amp;lt;/strong&amp;gt;, veillez à ce que soient installés les différents packs de langue de TinyMCE correspondants aux packs de langue installés pour Joomla!&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		]]&amp;gt;&lt;br /&gt;
	&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;file&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;TinyMCE_fr-FR&amp;quot;&amp;gt;fr-FR_TinyMCE_3.5.6.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist_3.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: TinyMCE files are not mandatory but recommended.&lt;br /&gt;
&lt;br /&gt;
===One zip per client (i.e. site and admin)===&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
====an install.xml ====&lt;br /&gt;
Example for admin&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;fr-FR administrator language&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_mailto.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt;  &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notes: &lt;br /&gt;
* fr-FR.lib_joomla.ini : Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* fr-FR.css : NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.&lt;br /&gt;
* fr-FR.xml : Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack.&lt;br /&gt;
* install.xml : Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot;&lt;br /&gt;
* fr-FR.localise.php : Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* Folder media destination=&amp;quot;fr-FR&amp;quot; : If one needs to add a specific calendar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====All the ini files====&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
* Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
* NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.xml====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/04/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 Open Source Matters &amp;amp;amp; Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 3.0&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;Français (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
		&amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, fr_FR, fre_FR, fr, france&amp;lt;/locale&amp;gt;&lt;br /&gt;
		&amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* &amp;lt;locale&amp;gt; the locale is used to sort translated lists when present on the server.&lt;br /&gt;
* &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.localise.php====&lt;br /&gt;
This file should be present at least in site zip&lt;br /&gt;
&lt;br /&gt;
Explanation of this file: It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Example 1 - Custom transliteration NOT implemented=====&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Example 2 - Custom transliteration implemented=====&lt;br /&gt;
&lt;br /&gt;
Example of the function to add to file localise.php when custom transliteration is desired&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,a,a,a,?,a,?&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,c,c,c,c,?,?&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;d,d,Ð,?,?,d,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,e,e,e,e,e,?,e,?&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,?&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;g,g,g,g,g,?,?&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;h,h,H,?&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,i,i,i,i,i,?,?,?,?,?,?,?&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;j,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;??&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;k,?,?&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;l,l,l,?,l,?,?&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;µ,?&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,n,n,?,?,?,?&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,o,o,o,?,?,?,?&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;?,p&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;f&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;r,r,r,?,?,s,?&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;s,s,s,s,š,?&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;t,t,t,t,?&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,u,u,u,u,u,u,?&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;w&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;?,?&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,y&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;z,z,ž,?,?,?&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Example 3 - Custom calendar implemented=====&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;???????&amp;quot;,&amp;quot;????????&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;??????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;??&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;?????&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TinyMCE language files==&lt;br /&gt;
You can include a zip file for tinyMCE editor language files. &lt;br /&gt;
See files statement at pkg_fr-FR.xml file&lt;br /&gt;
Note: TinyMCE files are not mandatory but recommended. They can also be installed in separated language pack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Site-only pack==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;15/04/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 3.1&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What not to translate==&lt;br /&gt;
Don&#039;t translate this lines&lt;br /&gt;
* file fr-FR.ini = the lines for &amp;quot;JHELP_COMPONENTS_&amp;quot; &lt;br /&gt;
example &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JHELP_COMPONENTS_MESSAGING_INBOX=&amp;quot;Components_Messaging_Inbox&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 3.0]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:How_to_create_a_language_pack&amp;diff=84492</id>
		<title>J1.5:How to create a language pack</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:How_to_create_a_language_pack&amp;diff=84492"/>
		<updated>2013-04-16T11:12:00Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{review}} {{RightTOC}}&lt;br /&gt;
==CORE language packs==&lt;br /&gt;
Joomla! uses three language packages, one for the front end, one for the administrator and one for installation. Ideally you will create all three.&lt;br /&gt;
&lt;br /&gt;
For practical information on the way to make core translation files:&lt;br /&gt;
* &#039;&#039;&#039;For Joomla! 3.x, see&#039;&#039;&#039; http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_3.x&lt;br /&gt;
* &#039;&#039;&#039;For Joomla! 1.6.x and 2.5.x, see&#039;&#039;&#039; http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6&lt;br /&gt;
* &#039;&#039;&#039;For Joomla! 1.5, see forum: [http://forum.joomla.org/viewtopic.php?f=11&amp;amp;t=254709 How to create a new 1.5 language pack].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Files encoding==&lt;br /&gt;
* ALL FILES MUST BE SAVED AS UTF8 NO BOM (for non-ascii glyphs as in accented letters, etc.) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Many people find it helpful to use the [http://joomlacode.org/gf/project/trans_mngr/frs/ Translation manager extension]. This helps by automating the creation of the files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Translation pack==&lt;br /&gt;
A translation pack consists of an xml file, a blank index file and a set of *.ini files containing the language strings for your language. The easiest way to understand this structure is to look at the files in the language/en-GB folder of your Joomla! installation. &lt;br /&gt;
&lt;br /&gt;
This is an excerpt from en-GB.mod_login.ini&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
 BUTTON_LOGIN=Login&lt;br /&gt;
 BUTTON_LOGOUT=Logout&lt;br /&gt;
 ENCRYPT LOGIN FORM=Encrypt Login Form&lt;br /&gt;
 FORGOT_YOUR_PASSWORD=Forgot your password?&lt;br /&gt;
 FORGOT_YOUR_USERNAME=Forgot your username?&lt;br /&gt;
 GREETING=Greeting&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To create a package for your language you change the strings to the right of the = signal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Language naming convention==&lt;br /&gt;
Language naming convention in Joomla are: language + ISO code. &lt;br /&gt;
* Use 2 letters when available. [http://www.loc.gov/standards/iso639-2/php/code_list.php The list is available here.]&lt;br /&gt;
* [http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm  This reference concerns country codes]&lt;br /&gt;
&lt;br /&gt;
Name of package should start with your language&#039;s ISO code + description + version:&lt;br /&gt;
* fr-FR_joomla_lang_full_3.0.2v1.zip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Locale==&lt;br /&gt;
The locale is used to sort translated lists when present on the server.&lt;br /&gt;
[http://forum.joomla.org/viewtopic.php?t=25077  Information on available locales may be found here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Guidelines for developers==&lt;br /&gt;
Guidelines for developers to facilitate translation: [[Language Guidelines for 3rd Party Extensions]]&lt;br /&gt;
* &#039;&#039;&#039;For Joomla 1.5 see the forum: [http://forum.joomla.org/viewtopic.php?f=11&amp;amp;t=88326&amp;amp;start=0 Building Extension&#039;s Language Pack for J1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Languages]][[Category:Tutorials]][[Category:Language Development]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84491</id>
		<title>J3.x:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84491"/>
		<updated>2013-04-16T10:46:49Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* What not to translate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|3.0}}&lt;br /&gt;
==How to create localized CORE language packs==&lt;br /&gt;
===Notes===&lt;br /&gt;
* ALL FILES MUST BE SAVED AS UTF8 NO BOM (for non-ascii glyphs as in accented letters, etc.) &lt;br /&gt;
&lt;br /&gt;
* The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
* For 3rd party extensions self-contained ini files installation, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
* For Joomla 2.x core language packs, see http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6&lt;br /&gt;
&lt;br /&gt;
==Full language packs==&lt;br /&gt;
&#039;&#039;&#039;* fr-FR is taken as an example of language prefix.&#039;&#039;&#039;&lt;br /&gt;
A full language pack will contain translations for site and admin parts&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_3.1.0v1.zip&lt;br /&gt;
&lt;br /&gt;
# Files required for partial deletion&lt;br /&gt;
#* each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
#* &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://http://docs.joomla.org/index.php?title=Making_a_Language_Pack_for_Joomla_3.x#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A pkg_fr-FR.xml file===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;3.1&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt;  &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;  &amp;lt;!-- change the version # 3.x.x.x when updating, will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;   &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;url&amp;gt;&amp;lt;/url&amp;gt;&lt;br /&gt;
	&amp;lt;packager&amp;gt;Joomla! French&amp;lt;/packager&amp;gt;&lt;br /&gt;
	&amp;lt;packagerurl&amp;gt;www.joomla.fr&amp;lt;/packagerurl&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;&lt;br /&gt;
		&amp;lt;![CDATA[&lt;br /&gt;
		&amp;lt;div style=&amp;quot;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Joomla! 3.1 Full French (fr-FR) Language Package - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Paquet de langue Joomla! 3.1 français (fr-FR) complet - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;Installation du pack de langue fr-FR de TinyMCE 3.5.6 pour Joomla 3.1 inclus&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-weight: normal; padding-bottom:20px;&amp;quot;&amp;gt;N&#039;oubliez pas de sélectionner la langue FR dans les &amp;lt;a href=&amp;quot;index.php?option=com_plugins&amp;amp;amp;view=plugins&amp;amp;amp;filter_search=TinyMCE&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;paramètres du plug-in &#039;Éditeur - TinyMCE&#039;&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt; (paramètre  &#039;Langue de l&#039;éditeur&#039; = fr).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 		Si vous utilisez la &amp;lt;strong&amp;gt;détection automatique&amp;lt;/strong&amp;gt;, veillez à ce que soient installés les différents packs de langue de TinyMCE correspondants aux packs de langue installés pour Joomla!&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		]]&amp;gt;&lt;br /&gt;
	&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;file&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;TinyMCE_fr-FR&amp;quot;&amp;gt;fr-FR_TinyMCE_3.5.6.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist_3.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: TinyMCE files are not mandatory but recommended.&lt;br /&gt;
&lt;br /&gt;
===One zip per client (i.e. site and admin)===&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
====an install.xml ====&lt;br /&gt;
Example for admin&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;fr-FR administrator language&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_mailto.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt;  &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notes: &lt;br /&gt;
* fr-FR.lib_joomla.ini : Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* fr-FR.css : NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.&lt;br /&gt;
* fr-FR.xml : Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack.&lt;br /&gt;
* install.xml : Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot;&lt;br /&gt;
* fr-FR.localise.php : Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* Folder media destination=&amp;quot;fr-FR&amp;quot; : If one needs to add a specific calendar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====All the ini files====&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
* Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
* NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.xml====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/04/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 Open Source Matters &amp;amp;amp; Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 3.0&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;Français (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
		&amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, fr_FR, fre_FR, fr, france&amp;lt;/locale&amp;gt;&lt;br /&gt;
		&amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* &amp;lt;locale&amp;gt; the locale is used to sort translated lists when present on the server.&lt;br /&gt;
* &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.localise.php====&lt;br /&gt;
This file should be present at least in site zip&lt;br /&gt;
&lt;br /&gt;
Explanation of this file: It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Example 1 - Custom transliteration NOT implemented=====&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Example 2 - Custom transliteration implemented=====&lt;br /&gt;
&lt;br /&gt;
Example of the function to add to file localise.php when custom transliteration is desired&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,a,a,a,?,a,?&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,c,c,c,c,?,?&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;d,d,Ð,?,?,d,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,e,e,e,e,e,?,e,?&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,?&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;g,g,g,g,g,?,?&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;h,h,H,?&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,i,i,i,i,i,?,?,?,?,?,?,?&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;j,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;??&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;k,?,?&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;l,l,l,?,l,?,?&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;µ,?&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,n,n,?,?,?,?&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,o,o,o,?,?,?,?&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;?,p&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;f&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;r,r,r,?,?,s,?&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;s,s,s,s,š,?&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;t,t,t,t,?&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,u,u,u,u,u,u,?&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;w&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;?,?&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,y&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;z,z,ž,?,?,?&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Example 3 - Custom calendar implemented=====&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;???????&amp;quot;,&amp;quot;????????&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;??????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;??&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;?????&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TinyMCE language files==&lt;br /&gt;
You can include a zip file for tinyMCE editor language files. &lt;br /&gt;
See files statement at pkg_fr-FR.xml file&lt;br /&gt;
Note: TinyMCE files are not mandatory but recommended. They can also be installed in separated language pack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Site-only pack==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;15/04/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 3.1&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 3.0]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==What not to translate==&lt;br /&gt;
Don&#039;t translate this lines&lt;br /&gt;
* file fr-FR.ini = the lines for &amp;quot;JHELP_COMPONENTS_&amp;quot; &lt;br /&gt;
example &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JHELP_COMPONENTS_MESSAGING_INBOX=&amp;quot;Components_Messaging_Inbox&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
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&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84490</id>
		<title>J3.x:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84490"/>
		<updated>2013-04-16T10:45:16Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|3.0}}&lt;br /&gt;
==How to create localized CORE language packs==&lt;br /&gt;
===Notes===&lt;br /&gt;
* ALL FILES MUST BE SAVED AS UTF8 NO BOM (for non-ascii glyphs as in accented letters, etc.) &lt;br /&gt;
&lt;br /&gt;
* The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
* For 3rd party extensions self-contained ini files installation, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
* For Joomla 2.x core language packs, see http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6&lt;br /&gt;
&lt;br /&gt;
==Full language packs==&lt;br /&gt;
&#039;&#039;&#039;* fr-FR is taken as an example of language prefix.&#039;&#039;&#039;&lt;br /&gt;
A full language pack will contain translations for site and admin parts&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_3.1.0v1.zip&lt;br /&gt;
&lt;br /&gt;
# Files required for partial deletion&lt;br /&gt;
#* each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
#* &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://http://docs.joomla.org/index.php?title=Making_a_Language_Pack_for_Joomla_3.x#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A pkg_fr-FR.xml file===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;3.1&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt;  &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;  &amp;lt;!-- change the version # 3.x.x.x when updating, will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;   &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;url&amp;gt;&amp;lt;/url&amp;gt;&lt;br /&gt;
	&amp;lt;packager&amp;gt;Joomla! French&amp;lt;/packager&amp;gt;&lt;br /&gt;
	&amp;lt;packagerurl&amp;gt;www.joomla.fr&amp;lt;/packagerurl&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;&lt;br /&gt;
		&amp;lt;![CDATA[&lt;br /&gt;
		&amp;lt;div style=&amp;quot;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Joomla! 3.1 Full French (fr-FR) Language Package - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Paquet de langue Joomla! 3.1 français (fr-FR) complet - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;Installation du pack de langue fr-FR de TinyMCE 3.5.6 pour Joomla 3.1 inclus&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-weight: normal; padding-bottom:20px;&amp;quot;&amp;gt;N&#039;oubliez pas de sélectionner la langue FR dans les &amp;lt;a href=&amp;quot;index.php?option=com_plugins&amp;amp;amp;view=plugins&amp;amp;amp;filter_search=TinyMCE&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;paramètres du plug-in &#039;Éditeur - TinyMCE&#039;&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt; (paramètre  &#039;Langue de l&#039;éditeur&#039; = fr).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 		Si vous utilisez la &amp;lt;strong&amp;gt;détection automatique&amp;lt;/strong&amp;gt;, veillez à ce que soient installés les différents packs de langue de TinyMCE correspondants aux packs de langue installés pour Joomla!&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		]]&amp;gt;&lt;br /&gt;
	&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;file&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;TinyMCE_fr-FR&amp;quot;&amp;gt;fr-FR_TinyMCE_3.5.6.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist_3.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: TinyMCE files are not mandatory but recommended.&lt;br /&gt;
&lt;br /&gt;
===One zip per client (i.e. site and admin)===&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
====an install.xml ====&lt;br /&gt;
Example for admin&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;fr-FR administrator language&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_mailto.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt;  &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notes: &lt;br /&gt;
* fr-FR.lib_joomla.ini : Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* fr-FR.css : NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.&lt;br /&gt;
* fr-FR.xml : Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack.&lt;br /&gt;
* install.xml : Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot;&lt;br /&gt;
* fr-FR.localise.php : Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* Folder media destination=&amp;quot;fr-FR&amp;quot; : If one needs to add a specific calendar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====All the ini files====&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
* Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
* NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.xml====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/04/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 Open Source Matters &amp;amp;amp; Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 3.0&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;Français (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
		&amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, fr_FR, fre_FR, fr, france&amp;lt;/locale&amp;gt;&lt;br /&gt;
		&amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* &amp;lt;locale&amp;gt; the locale is used to sort translated lists when present on the server.&lt;br /&gt;
* &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.localise.php====&lt;br /&gt;
This file should be present at least in site zip&lt;br /&gt;
&lt;br /&gt;
Explanation of this file: It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Example 1 - Custom transliteration NOT implemented=====&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Example 2 - Custom transliteration implemented=====&lt;br /&gt;
&lt;br /&gt;
Example of the function to add to file localise.php when custom transliteration is desired&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,a,a,a,?,a,?&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,c,c,c,c,?,?&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;d,d,Ð,?,?,d,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,e,e,e,e,e,?,e,?&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,?&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;g,g,g,g,g,?,?&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;h,h,H,?&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,i,i,i,i,i,?,?,?,?,?,?,?&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;j,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;??&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;k,?,?&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;l,l,l,?,l,?,?&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;µ,?&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,n,n,?,?,?,?&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,o,o,o,?,?,?,?&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;?,p&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;f&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;r,r,r,?,?,s,?&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;s,s,s,s,š,?&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;t,t,t,t,?&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,u,u,u,u,u,u,?&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;w&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;?,?&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,y&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;z,z,ž,?,?,?&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Example 3 - Custom calendar implemented=====&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;???????&amp;quot;,&amp;quot;????????&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;??????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;??&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;?????&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TinyMCE language files==&lt;br /&gt;
You can include a zip file for tinyMCE editor language files. &lt;br /&gt;
See files statement at pkg_fr-FR.xml file&lt;br /&gt;
Note: TinyMCE files are not mandatory but recommended. They can also be installed in separated language pack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Site-only pack==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;15/04/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 3.1&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 3.0]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==What not to translate==&lt;br /&gt;
Don&#039;t translate this lines&lt;br /&gt;
* file fr-FR.ini = the lines for &amp;quot;JHELP_COMPONENTS_&amp;quot; &lt;br /&gt;
example &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JHELP_COMPONENTS_MESSAGING_INBOX=&amp;quot;Components_Messaging_Inbox&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
They are used for mapping the help. They may have to be in the future if we have a specific wiki for help per language&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84489</id>
		<title>J3.x:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84489"/>
		<updated>2013-04-16T10:42:21Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: final edits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|3.0}}&lt;br /&gt;
==How to create localized CORE language packs==&lt;br /&gt;
===Notes===&lt;br /&gt;
* ALL FILES MUST BE SAVED AS UTF8 NO BOM (for non-ascii glyphs as in accented letters, etc.) &lt;br /&gt;
&lt;br /&gt;
* The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
* For 3rd party extensions self-contained ini files installation, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
* For Joomla 2.x core language packs, see http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6&lt;br /&gt;
&lt;br /&gt;
==Full language packs==&lt;br /&gt;
&#039;&#039;&#039;* fr-FR is taken as an example of language prefix.&#039;&#039;&#039;&lt;br /&gt;
A full language pack will contain translations for site and admin parts&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_3.1.0v1.zip&lt;br /&gt;
&lt;br /&gt;
# Files required for partial deletion&lt;br /&gt;
#* each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
#* &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://http://docs.joomla.org/index.php?title=Making_a_Language_Pack_for_Joomla_3.x#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TinyMCE language files==&lt;br /&gt;
You can include a zip file for tinyMCE editor language files. &lt;br /&gt;
See files statement at pkg_fr-FR.xml file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A pkg_fr-FR.xml file===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;3.1&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt;  &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;  &amp;lt;!-- change the version # 3.x.x.x when updating, will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;   &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;url&amp;gt;&amp;lt;/url&amp;gt;&lt;br /&gt;
	&amp;lt;packager&amp;gt;Joomla! French&amp;lt;/packager&amp;gt;&lt;br /&gt;
	&amp;lt;packagerurl&amp;gt;www.joomla.fr&amp;lt;/packagerurl&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;&lt;br /&gt;
		&amp;lt;![CDATA[&lt;br /&gt;
		&amp;lt;div style=&amp;quot;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Joomla! 3.1 Full French (fr-FR) Language Package - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Paquet de langue Joomla! 3.1 français (fr-FR) complet - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;Installation du pack de langue fr-FR de TinyMCE 3.5.6 pour Joomla 3.1 inclus&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-weight: normal; padding-bottom:20px;&amp;quot;&amp;gt;N&#039;oubliez pas de sélectionner la langue FR dans les &amp;lt;a href=&amp;quot;index.php?option=com_plugins&amp;amp;amp;view=plugins&amp;amp;amp;filter_search=TinyMCE&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;paramètres du plug-in &#039;Éditeur - TinyMCE&#039;&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt; (paramètre  &#039;Langue de l&#039;éditeur&#039; = fr).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 		Si vous utilisez la &amp;lt;strong&amp;gt;détection automatique&amp;lt;/strong&amp;gt;, veillez à ce que soient installés les différents packs de langue de TinyMCE correspondants aux packs de langue installés pour Joomla!&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		]]&amp;gt;&lt;br /&gt;
	&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;file&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;TinyMCE_fr-FR&amp;quot;&amp;gt;fr-FR_TinyMCE_3.5.6.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist_3.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===One zip per client (i.e. site and admin)===&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
====an install.xml ====&lt;br /&gt;
Example for admin&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;fr-FR administrator language&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_mailto.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt;  &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notes: &lt;br /&gt;
* fr-FR.lib_joomla.ini : Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* fr-FR.css : NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.&lt;br /&gt;
* fr-FR.xml : Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack.&lt;br /&gt;
* install.xml : Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot;&lt;br /&gt;
* fr-FR.localise.php : Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* Folder media destination=&amp;quot;fr-FR&amp;quot; : If one needs to add a specific calendar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====All the ini files====&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
* Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
* NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.xml====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/04/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 Open Source Matters &amp;amp;amp; Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 3.0&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;Français (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
		&amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, fr_FR, fre_FR, fr, france&amp;lt;/locale&amp;gt;&lt;br /&gt;
		&amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* &amp;lt;locale&amp;gt; the locale is used to sort translated lists when present on the server.&lt;br /&gt;
* &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.localise.php====&lt;br /&gt;
This file should be present at least in site zip&lt;br /&gt;
&lt;br /&gt;
Explanation of this file: It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Example 1 - Custom transliteration NOT implemented=====&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Example 2 - Custom transliteration implemented=====&lt;br /&gt;
&lt;br /&gt;
Example of the function to add to file localise.php when custom transliteration is desired&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,a,a,a,?,a,?&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,c,c,c,c,?,?&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;d,d,Ð,?,?,d,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,e,e,e,e,e,?,e,?&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,?&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;g,g,g,g,g,?,?&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;h,h,H,?&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,i,i,i,i,i,?,?,?,?,?,?,?&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;j,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;??&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;k,?,?&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;l,l,l,?,l,?,?&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;µ,?&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,n,n,?,?,?,?&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,o,o,o,?,?,?,?&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;?,p&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;f&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;r,r,r,?,?,s,?&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;s,s,s,s,š,?&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;t,t,t,t,?&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,u,u,u,u,u,u,?&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;w&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;?,?&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,y&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;z,z,ž,?,?,?&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Example 3 - Custom calendar implemented=====&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;???????&amp;quot;,&amp;quot;????????&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;??????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;??&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;?????&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
==The Site-only pack==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;15/04/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 3.1&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 3.0]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==What not to translate==&lt;br /&gt;
Don&#039;t translate this lines&lt;br /&gt;
* file fr-FR.ini = the lines for &amp;quot;JHELP_COMPONENTS_&amp;quot; &lt;br /&gt;
example &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
JHELP_COMPONENTS_MESSAGING_INBOX=&amp;quot;Components_Messaging_Inbox&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
They are used for mapping the help. They may have to be in the future if we have a specific wiki for help per language&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84488</id>
		<title>J3.x:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84488"/>
		<updated>2013-04-16T10:13:43Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* the fr-FR.xml */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|3.0}}&lt;br /&gt;
==How to create localized CORE language packs==&lt;br /&gt;
===Notes===&lt;br /&gt;
* ALL FILES MUST BE SAVED AS UTF8 NO BOM (for non-ascii glyphs as in accented letters, etc.) &lt;br /&gt;
&lt;br /&gt;
* The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
* For 3rd party extensions self-contained ini files installation, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
* For Joomla 2.x core language packs, see http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6&lt;br /&gt;
&lt;br /&gt;
==Full language packs==&lt;br /&gt;
A full language pack will contain translations for site and admin parts&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;* fr-FR is taken as an example of language prefix.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_2.5.6v1.zip&lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
Also, each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
&lt;br /&gt;
===A pkg_fr-FR.xml file===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;3.1&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt;  &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;  &amp;lt;!-- change the version # 3.x.x.x when updating, will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;   &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;url&amp;gt;&amp;lt;/url&amp;gt;&lt;br /&gt;
	&amp;lt;packager&amp;gt;Joomla! French&amp;lt;/packager&amp;gt;&lt;br /&gt;
	&amp;lt;packagerurl&amp;gt;www.joomla.fr&amp;lt;/packagerurl&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;&lt;br /&gt;
		&amp;lt;![CDATA[&lt;br /&gt;
		&amp;lt;div style=&amp;quot;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Joomla! 3.1 Full French (fr-FR) Language Package - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Paquet de langue Joomla! 3.1 français (fr-FR) complet - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;Installation du pack de langue fr-FR de TinyMCE 3.5.6 pour Joomla 3.1 inclus&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-weight: normal; padding-bottom:20px;&amp;quot;&amp;gt;N&#039;oubliez pas de sélectionner la langue FR dans les &amp;lt;a href=&amp;quot;index.php?option=com_plugins&amp;amp;amp;view=plugins&amp;amp;amp;filter_search=TinyMCE&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;paramètres du plug-in &#039;Éditeur - TinyMCE&#039;&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt; (paramètre  &#039;Langue de l&#039;éditeur&#039; = fr).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 		Si vous utilisez la &amp;lt;strong&amp;gt;détection automatique&amp;lt;/strong&amp;gt;, veillez à ce que soient installés les différents packs de langue de TinyMCE correspondants aux packs de langue installés pour Joomla!&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		]]&amp;gt;&lt;br /&gt;
	&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;file&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;TinyMCE_fr-FR&amp;quot;&amp;gt;fr-FR_TinyMCE_3.5.6.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist_3.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===One zip per client (i.e. site and admin)===&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
====an install.xml ====&lt;br /&gt;
&amp;lt;install is deprecated&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;fr-FR administrator language&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_mailto.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;  &amp;lt;!-- Mandatory! This file lets uninstall a language --&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt;  &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notes: &lt;br /&gt;
* fr-FR.lib_joomla.ini : Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* fr-FR.css : NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.&lt;br /&gt;
* fr-FR.xml : Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack.&lt;br /&gt;
* install.xml : Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot;&lt;br /&gt;
* fr-FR.localise.php : Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* Folder media destination=&amp;quot;fr-FR&amp;quot; : If one needs to add a specific calendar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====All the ini files====&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
&lt;br /&gt;
Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.xml====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/04/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 Open Source Matters &amp;amp;amp; Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 3.0&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;Français (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
		&amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, fr_FR, fre_FR, fr, france&amp;lt;/locale&amp;gt;&lt;br /&gt;
		&amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* &amp;lt;locale&amp;gt; the locale is used to sort translated lists when present on the server.&lt;br /&gt;
* &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc.&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.localise.php====&lt;br /&gt;
&lt;br /&gt;
(This file should be present at least in site zip)&lt;br /&gt;
&lt;br /&gt;
Explanation of this file:&lt;br /&gt;
&lt;br /&gt;
It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example of the function to add when custom transliteration is desired===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,a,a,a,?,a,?&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,c,c,c,c,?,?&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;d,d,Ð,?,?,d,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,e,e,e,e,e,?,e,?&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,?&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;g,g,g,g,g,?,?&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;h,h,H,?&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,i,i,i,i,i,?,?,?,?,?,?,?&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;j,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;??&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;k,?,?&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;l,l,l,?,l,?,?&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;µ,?&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,n,n,?,?,?,?&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,o,o,o,?,?,?,?&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;?,p&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;f&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;r,r,r,?,?,s,?&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;s,s,s,s,š,?&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;t,t,t,t,?&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,u,u,u,u,u,u,?&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;w&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;?,?&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,y&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;z,z,ž,?,?,?&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;???????&amp;quot;,&amp;quot;????????&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;??????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;??&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;?????&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
==The Site-only pack==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2012-02-13&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2012 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 2.5&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 3.0]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84487</id>
		<title>J3.x:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84487"/>
		<updated>2013-04-16T10:12:59Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* the fr-FR.xml */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|3.0}}&lt;br /&gt;
==How to create localized CORE language packs==&lt;br /&gt;
===Notes===&lt;br /&gt;
* ALL FILES MUST BE SAVED AS UTF8 NO BOM (for non-ascii glyphs as in accented letters, etc.) &lt;br /&gt;
&lt;br /&gt;
* The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
* For 3rd party extensions self-contained ini files installation, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
* For Joomla 2.x core language packs, see http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6&lt;br /&gt;
&lt;br /&gt;
==Full language packs==&lt;br /&gt;
A full language pack will contain translations for site and admin parts&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;* fr-FR is taken as an example of language prefix.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_2.5.6v1.zip&lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
Also, each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
&lt;br /&gt;
===A pkg_fr-FR.xml file===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;3.1&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt;  &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;  &amp;lt;!-- change the version # 3.x.x.x when updating, will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;   &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;url&amp;gt;&amp;lt;/url&amp;gt;&lt;br /&gt;
	&amp;lt;packager&amp;gt;Joomla! French&amp;lt;/packager&amp;gt;&lt;br /&gt;
	&amp;lt;packagerurl&amp;gt;www.joomla.fr&amp;lt;/packagerurl&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;&lt;br /&gt;
		&amp;lt;![CDATA[&lt;br /&gt;
		&amp;lt;div style=&amp;quot;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Joomla! 3.1 Full French (fr-FR) Language Package - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Paquet de langue Joomla! 3.1 français (fr-FR) complet - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;Installation du pack de langue fr-FR de TinyMCE 3.5.6 pour Joomla 3.1 inclus&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-weight: normal; padding-bottom:20px;&amp;quot;&amp;gt;N&#039;oubliez pas de sélectionner la langue FR dans les &amp;lt;a href=&amp;quot;index.php?option=com_plugins&amp;amp;amp;view=plugins&amp;amp;amp;filter_search=TinyMCE&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;paramètres du plug-in &#039;Éditeur - TinyMCE&#039;&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt; (paramètre  &#039;Langue de l&#039;éditeur&#039; = fr).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 		Si vous utilisez la &amp;lt;strong&amp;gt;détection automatique&amp;lt;/strong&amp;gt;, veillez à ce que soient installés les différents packs de langue de TinyMCE correspondants aux packs de langue installés pour Joomla!&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		]]&amp;gt;&lt;br /&gt;
	&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;file&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;TinyMCE_fr-FR&amp;quot;&amp;gt;fr-FR_TinyMCE_3.5.6.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist_3.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===One zip per client (i.e. site and admin)===&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
====an install.xml ====&lt;br /&gt;
&amp;lt;install is deprecated&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;fr-FR administrator language&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_mailto.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;  &amp;lt;!-- Mandatory! This file lets uninstall a language --&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt;  &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notes: &lt;br /&gt;
* fr-FR.lib_joomla.ini : Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* fr-FR.css : NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.&lt;br /&gt;
* fr-FR.xml : Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack.&lt;br /&gt;
* install.xml : Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot;&lt;br /&gt;
* fr-FR.localise.php : Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* Folder media destination=&amp;quot;fr-FR&amp;quot; : If one needs to add a specific calendar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====All the ini files====&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
&lt;br /&gt;
Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.xml====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.0.2.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/04/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 Open Source Matters &amp;amp;amp; Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 3.0&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;Français (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
		&amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, fr_FR, fre_FR, fr, france&amp;lt;/locale&amp;gt;&lt;br /&gt;
		&amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* &amp;lt;locale&amp;gt; the locale is used to sort translated lists when present on the server.&lt;br /&gt;
* &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc.&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.localise.php====&lt;br /&gt;
&lt;br /&gt;
(This file should be present at least in site zip)&lt;br /&gt;
&lt;br /&gt;
Explanation of this file:&lt;br /&gt;
&lt;br /&gt;
It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example of the function to add when custom transliteration is desired===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,a,a,a,?,a,?&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,c,c,c,c,?,?&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;d,d,Ð,?,?,d,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,e,e,e,e,e,?,e,?&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,?&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;g,g,g,g,g,?,?&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;h,h,H,?&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,i,i,i,i,i,?,?,?,?,?,?,?&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;j,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;??&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;k,?,?&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;l,l,l,?,l,?,?&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;µ,?&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,n,n,?,?,?,?&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,o,o,o,?,?,?,?&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;?,p&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;f&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;r,r,r,?,?,s,?&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;s,s,s,s,š,?&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;t,t,t,t,?&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,u,u,u,u,u,u,?&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;w&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;?,?&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,y&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;z,z,ž,?,?,?&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;???????&amp;quot;,&amp;quot;????????&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;??????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;??&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;?????&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
==The Site-only pack==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2012-02-13&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2012 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 2.5&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 3.0]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84486</id>
		<title>J3.x:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84486"/>
		<updated>2013-04-16T10:09:34Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|3.0}}&lt;br /&gt;
==How to create localized CORE language packs==&lt;br /&gt;
===Notes===&lt;br /&gt;
* ALL FILES MUST BE SAVED AS UTF8 NO BOM (for non-ascii glyphs as in accented letters, etc.) &lt;br /&gt;
&lt;br /&gt;
* The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
* For 3rd party extensions self-contained ini files installation, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
* For Joomla 2.x core language packs, see http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6&lt;br /&gt;
&lt;br /&gt;
==Full language packs==&lt;br /&gt;
A full language pack will contain translations for site and admin parts&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;* fr-FR is taken as an example of language prefix.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_2.5.6v1.zip&lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
Also, each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
&lt;br /&gt;
===A pkg_fr-FR.xml file===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;3.1&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt;  &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;  &amp;lt;!-- change the version # 3.x.x.x when updating, will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;   &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;  &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;url&amp;gt;&amp;lt;/url&amp;gt;&lt;br /&gt;
	&amp;lt;packager&amp;gt;Joomla! French&amp;lt;/packager&amp;gt;&lt;br /&gt;
	&amp;lt;packagerurl&amp;gt;www.joomla.fr&amp;lt;/packagerurl&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;&lt;br /&gt;
		&amp;lt;![CDATA[&lt;br /&gt;
		&amp;lt;div style=&amp;quot;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Joomla! 3.1 Full French (fr-FR) Language Package - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Paquet de langue Joomla! 3.1 français (fr-FR) complet - Version 3.1.0v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;Installation du pack de langue fr-FR de TinyMCE 3.5.6 pour Joomla 3.1 inclus&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-weight: normal; padding-bottom:20px;&amp;quot;&amp;gt;N&#039;oubliez pas de sélectionner la langue FR dans les &amp;lt;a href=&amp;quot;index.php?option=com_plugins&amp;amp;amp;view=plugins&amp;amp;amp;filter_search=TinyMCE&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;paramètres du plug-in &#039;Éditeur - TinyMCE&#039;&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt; (paramètre  &#039;Langue de l&#039;éditeur&#039; = fr).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 		Si vous utilisez la &amp;lt;strong&amp;gt;détection automatique&amp;lt;/strong&amp;gt;, veillez à ce que soient installés les différents packs de langue de TinyMCE correspondants aux packs de langue installés pour Joomla!&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		]]&amp;gt;&lt;br /&gt;
	&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;file&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;TinyMCE_fr-FR&amp;quot;&amp;gt;fr-FR_TinyMCE_3.5.6.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist_3.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===One zip per client (i.e. site and admin)===&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
====an install.xml ====&lt;br /&gt;
&amp;lt;install is deprecated&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;3.1&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack&lt;br /&gt;
	&amp;lt;name&amp;gt;French (fr-FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;15/05/2013&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2013 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;fr-FR administrator language&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_banners.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_checkin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_config.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_contact.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_cpanel.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_installer.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_languages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_mailto.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_media.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_menus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_messages.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_modules.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_plugins.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_search.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_templates.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_users.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.com_wrapper.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_custom.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_feed.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_latest.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_logged.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_login.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_menu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_multilangstatus.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_popular.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_quickicon.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_stats_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_status.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_submenu.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_title.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_toolbar.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.mod_version.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_gmail.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_authentication_ldap.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_captcha_recaptcha.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_emailcloak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_finder.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_geshi.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_loadmodule.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_pagenavigation.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_content_vote.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_codemirror.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_none.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors_tinymce.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_article.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_image.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_pagebreak.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_editors-xtd_readmore.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_extension_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_finder_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_extensionupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_quickicon_joomlaupdate.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_categories.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_contacts.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_content.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_newsfeeds.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_search_weblinks.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_cache.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_debug.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_highlight.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagecode.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_languagefilter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_log.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_logout.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_p3p.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_redirect.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_remember.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_system_sef.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_contactcreator.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_joomla.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.plg_user_profile.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_hathor.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.tpl_isis.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;  &amp;lt;!-- Mandatory! This file lets uninstall a language --&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt;  &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Notes: &lt;br /&gt;
* fr-FR.lib_joomla.ini : Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* fr-FR.css : NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.&lt;br /&gt;
* fr-FR.xml : Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack.&lt;br /&gt;
* install.xml : Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot;&lt;br /&gt;
* fr-FR.localise.php : Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below&lt;br /&gt;
* Folder media destination=&amp;quot;fr-FR&amp;quot; : If one needs to add a specific calendar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====All the ini files====&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
&lt;br /&gt;
Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.xml====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 1.6&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2011 Open Source Matters &amp;amp;amp;  Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
                &amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, French_Standard,french, fr_FR, fre_FR, fr&amp;lt;/locale&amp;gt; &amp;lt;!-- the locale is used to sort translated lists when present on the server. --&amp;gt;&lt;br /&gt;
                &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; &amp;lt;!-- used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc. --&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.localise.php====&lt;br /&gt;
&lt;br /&gt;
(This file should be present at least in site zip)&lt;br /&gt;
&lt;br /&gt;
Explanation of this file:&lt;br /&gt;
&lt;br /&gt;
It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example of the function to add when custom transliteration is desired===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,a,a,a,?,a,?&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,c,c,c,c,?,?&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;d,d,Ð,?,?,d,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,e,e,e,e,e,?,e,?&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,?&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;g,g,g,g,g,?,?&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;h,h,H,?&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,i,i,i,i,i,?,?,?,?,?,?,?&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;j,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;??&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;k,?,?&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;l,l,l,?,l,?,?&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;µ,?&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,n,n,?,?,?,?&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,o,o,o,?,?,?,?&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;?,p&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;f&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;r,r,r,?,?,s,?&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;s,s,s,s,š,?&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;t,t,t,t,?&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,u,u,u,u,u,u,?&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;w&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;?,?&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,y&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;z,z,ž,?,?,?&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;???????&amp;quot;,&amp;quot;????????&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;??????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;??&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;?????&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
==The Site-only pack==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2012-02-13&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2012 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 2.5&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 3.0]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84485</id>
		<title>J3.x:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Making_a_Language_Pack_for_Joomla&amp;diff=84485"/>
		<updated>2013-04-16T09:43:37Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: Tutorial created just for Joomla 3 version from the previous one http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|3.0}}&lt;br /&gt;
==How to create localized CORE language packs==&lt;br /&gt;
===Notes===&lt;br /&gt;
* ALL FILES MUST BE SAVED AS UTF8 NO BOM (for non-ascii glyphs as in accented letters, etc.) &lt;br /&gt;
&lt;br /&gt;
* The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
* For 3rd party extensions self-contained ini files installation, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
* For Joomla 2.x core language packs, see http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6&lt;br /&gt;
&lt;br /&gt;
==Full language packs==&lt;br /&gt;
A full language pack will contain translations for site and admin parts&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;* fr-FR is taken as an example of language prefix.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_2.5.6v1.zip&lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
Also, each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
&lt;br /&gt;
===A pkg_fr-FR.xml file===&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;3.0&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;3.0.2.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;08/11/2012&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;French translation team : joomla.fr&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2012 joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;url&amp;gt;&amp;lt;/url&amp;gt;&lt;br /&gt;
	&amp;lt;packager&amp;gt;Joomla! French&amp;lt;/packager&amp;gt;&lt;br /&gt;
	&amp;lt;packagerurl&amp;gt;www.joomla.fr&amp;lt;/packagerurl&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;&lt;br /&gt;
		&amp;lt;![CDATA[&lt;br /&gt;
		&amp;lt;div style=&amp;quot;text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Joomla! 3.0 Full French (fr-FR) Language Package - Version 3.0.2v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;h3&amp;gt;Paquet de langue Joomla! 3.0 français (fr-FR) complet - Version 3.0.2v1&amp;lt;/h3&amp;gt;&lt;br /&gt;
		&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;h4&amp;gt;Installation du pack de langue fr-FR de TinyMCE 3.5.6 pour Joomla 3.0 inclus&amp;lt;/h4&amp;gt;&lt;br /&gt;
		&amp;lt;div style=&amp;quot;font-weight: normal; padding-bottom:20px;&amp;quot;&amp;gt;N&#039;oubliez pas de sélectionner la langue FR dans les &amp;lt;a href=&amp;quot;index.php?option=com_plugins&amp;amp;amp;view=plugins&amp;amp;amp;filter_search=TinyMCE&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;paramètres du plug-in &#039;Éditeur - TinyMCE&#039;&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt; (paramètre  &#039;Langue de l&#039;éditeur&#039; = fr).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 		Si vous utilisez la &amp;lt;strong&amp;gt;détection automatique&amp;lt;/strong&amp;gt;, veillez à ce que soient installés les différents packs de langue de TinyMCE correspondants aux packs de langue installés pour Joomla!&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		]]&amp;gt;&lt;br /&gt;
	&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
&amp;lt;!-- Can also include the zip for Tiny for 3.x packs &amp;lt;file type=&amp;quot;file&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;TinyMCE_fr-FR&amp;quot;&amp;gt;fr-FR_TinyMCE_3.5.6.zip&amp;lt;/file&amp;gt;  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist_3.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;2.5&amp;quot;&amp;gt;  &amp;lt;!-- replace by 3.0 for 3.0 packs --&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt; &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
&amp;lt;version&amp;gt;2.5.6.x&amp;lt;/version&amp;gt; &amp;lt;!-- change the version # when updating, will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;creationDate&amp;gt;&amp;lt;/creationDate&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&amp;lt;/author&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;description&amp;gt;2.5.6.1 Joomla French Language Package&amp;lt;/description&amp;gt;  &amp;lt;!-- replace by 3.0.x.x in 3.0 packs --&amp;gt;&lt;br /&gt;
&amp;lt;files&amp;gt;&lt;br /&gt;
	&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
&amp;lt;/files&amp;gt;&lt;br /&gt;
	 &amp;lt;updateservers&amp;gt;&lt;br /&gt;
		&amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;!-- replace url by http://update.joomla.org/language/translationlist_3.xml for 3.x packs --&amp;gt;&lt;br /&gt;
	&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===One zip per client (i.e. site and admin)===&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
====an install.xml ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack &amp;lt;install is deprecated. Use &amp;lt;extension as it will be compatible with the 3.x series&lt;br /&gt;
    &amp;lt;name&amp;gt;French (Fr)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2010 Joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;French language pack for Joomla! 1.7&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt; .....ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		[...]&lt;br /&gt;
		&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt; &amp;lt;!-- Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below --&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.css&amp;lt;/filename&amp;gt; &amp;lt;!-- NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.--&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt; &amp;lt;!-- Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack. --&amp;gt;&lt;br /&gt;
                &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt; &amp;lt;!-- Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot; --&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt; &amp;lt;!-- Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below --&amp;gt;&lt;br /&gt;
      &amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt; &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====All the ini files====&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
&lt;br /&gt;
Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.xml====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 1.6&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2011 Open Source Matters &amp;amp;amp;  Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
                &amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, French_Standard,french, fr_FR, fre_FR, fr&amp;lt;/locale&amp;gt; &amp;lt;!-- the locale is used to sort translated lists when present on the server. --&amp;gt;&lt;br /&gt;
                &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; &amp;lt;!-- used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc. --&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====the fr-FR.localise.php====&lt;br /&gt;
&lt;br /&gt;
(This file should be present at least in site zip)&lt;br /&gt;
&lt;br /&gt;
Explanation of this file:&lt;br /&gt;
&lt;br /&gt;
It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example of the function to add when custom transliteration is desired===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,a,a,a,?,a,?&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,c,c,c,c,?,?&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;d,d,Ð,?,?,d,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,e,e,e,e,e,?,e,?&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,?&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;g,g,g,g,g,?,?&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;h,h,H,?&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,i,i,i,i,i,?,?,?,?,?,?,?&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;j,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;??&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;k,?,?&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;l,l,l,?,l,?,?&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;µ,?&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,n,n,?,?,?,?&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,o,o,o,?,?,?,?&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;?,p&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;f&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;r,r,r,?,?,s,?&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;s,s,s,s,š,?&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,?&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;t,t,t,t,?&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,u,u,u,u,u,u,?&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;?&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;w&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;?,?&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,y&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;z,z,ž,?,?,?&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;???????&amp;quot;,&amp;quot;????????&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;?????&amp;quot;,&amp;quot;??????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;???&amp;quot;,&amp;quot;??&amp;quot;,&amp;quot;????&amp;quot;,&amp;quot;?????&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;? ?&#039; : &#039;? ?&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
==The Site-only pack==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2012-02-13&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2012 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 2.5&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 3.0]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Making_a_Language_Pack_for_Joomla&amp;diff=84484</id>
		<title>Archived:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Making_a_Language_Pack_for_Joomla&amp;diff=84484"/>
		<updated>2013-04-16T09:15:28Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: Removed Joomla 3 category. A new doc will be created from this tutorial for Joomla 3 only&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|1.6,1.7,2.5}}&lt;br /&gt;
==How to create your CORE language packs==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For 3rd party extensions self-contained ini files installation&#039;&#039;&#039;, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
fr-FR is taken as an example of language prefix.&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_2.5.6v1.zip&lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
Also, each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
&lt;br /&gt;
==A pkg_fr-FR.xml file==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;2.5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt; &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
&amp;lt;version&amp;gt;2.5.6.x&amp;lt;/version&amp;gt; &amp;lt;!-- change the version # when updating, will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;creationDate&amp;gt;&amp;lt;/creationDate&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&amp;lt;/author&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;description&amp;gt;2.5.6.1 Joomla French Language Package&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;files&amp;gt;&lt;br /&gt;
	&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
&amp;lt;/files&amp;gt;&lt;br /&gt;
	 &amp;lt;updateservers&amp;gt;&lt;br /&gt;
		&amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
	&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==One zip per client (i.e. site and admin)==&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
===an install.xml ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack &amp;lt;install is deprecated. Use &amp;lt;extension as it will be compatible with the 3.x series&lt;br /&gt;
    &amp;lt;name&amp;gt;French (Fr)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2010 Joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;French language pack for Joomla! 1.7&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt; .....ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		[...]&lt;br /&gt;
		&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt; &amp;lt;!-- Add in both admin and site At least in site if &amp;quot;site only pack&amp;quot;, see below --&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.css&amp;lt;/filename&amp;gt; &amp;lt;!-- NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.--&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt; &amp;lt;!-- Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack. --&amp;gt;&lt;br /&gt;
                &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt; &amp;lt;!-- Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot; --&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt; &amp;lt;!-- Add in both admin and site. At least in site if &amp;quot;site only pack&amp;quot;, see below --&amp;gt;&lt;br /&gt;
      &amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt; &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All the ini files===&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
&lt;br /&gt;
Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
===the fr-FR.xml===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 1.6&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2011 Open Source Matters &amp;amp;amp;  Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
                &amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, French_Standard,french, fr_FR, fre_FR, fr&amp;lt;/locale&amp;gt; &amp;lt;!-- the locale is used to sort translated lists when present on the server. --&amp;gt;&lt;br /&gt;
                &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; &amp;lt;!-- used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc. --&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===the fr-FR.localise.php===&lt;br /&gt;
&lt;br /&gt;
(This file should be present at least in site zip)&lt;br /&gt;
&lt;br /&gt;
Explanation of this file:&lt;br /&gt;
&lt;br /&gt;
It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!  // not the same as your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example of the function to add when custom transliteration is desired===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,ā,ă,ą,ḁ,α,ά&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;β,б&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,ć,ĉ,ċ,č,ћ,ц&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;ч&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;ď,đ,Ð,д,ђ,δ,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;џ&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,ē,ĕ,ė,ę,ě,э,ε,έ&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,ф&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;ğ,ĝ,ğ,ġ,ģ,г,γ&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;ĥ,ħ,Ħ,х&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,ı,ĩ,ī,ĭ,į,и,й,ъ,ы,ь,η,ή&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;ĳ&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;ĵ,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;я&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;яю&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;ķ,ĸ,κ&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;ĺ,ļ,ľ,ŀ,ł,л,λ&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;љ&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;μ,м&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,ņ,ň,ŉ,ŋ,н,ν&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;њ&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,ō,ŏ,ő,ο,ό,ω,ώ&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;п,π&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;φ&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;ψ&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;ŕ,ŗ,ř,р,ρ,σ,ς&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;ş,ś,ŝ,ş,š,с&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,ſ&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;ш&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;щ&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;ţ,ť,ŧ,τ,т&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;θ&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,у&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;в&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;ŵ&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;χ,ξ&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,ŷ&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;ź,ż,ž,з,ж,ζ&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;فروردين&amp;quot;,&amp;quot;ارديبهشت&amp;quot;,&amp;quot;خرداد&amp;quot;,&amp;quot;تیر&amp;quot;,&amp;quot;مرداد&amp;quot;,&amp;quot;شهریور&amp;quot;,&amp;quot;مهر&amp;quot;,&amp;quot;آبان&amp;quot;,&amp;quot;آذر&amp;quot;,&amp;quot;دی&amp;quot;,&amp;quot;بهمن&amp;quot;,&amp;quot;اسفند&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;ب ظ&#039; : &#039;ق ظ&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;ب ظ&#039; : &#039;ق ظ&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
===The Site-only pack===&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.6.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2012-02-13&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2012 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 2.5&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Robots.txt_file&amp;diff=81052</id>
		<title>Robots.txt file</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Robots.txt_file&amp;diff=81052"/>
		<updated>2013-02-11T15:01:07Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
{{review}}&lt;br /&gt;
Web Robots (Crawlers, Web Wanderers or Spiders) are programs that traverse the Web automatically. Among many uses, search engines use them to index the web content.&lt;br /&gt;
Robots.txt implements the REP (Robots Exclusion Protocol), which allows the web site administrator to define what parts of the site are off-limits to specific robot user agent names. Web administrators can Allow access to their web content and Disallow access to cgi, private and temporary directories, for example, if they do not want pages in those areas indexed. &lt;br /&gt;
&lt;br /&gt;
==Where to place my robots.txt file?==&lt;br /&gt;
A standard robots.txt its included in your joomla root.&lt;br /&gt;
The robots.txt file must reside in the root of the domain and must be named &amp;quot;robots.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Joomla in a subdomain===&lt;br /&gt;
A robots.txt file located in a subdirectory isn&#039;t valid, as bots only check for this file in the root of the domain.&lt;br /&gt;
If the Joomla site is installed within a folder such as at e.g. www.example.com/joomla/ the robots.txt file MUST be moved to the site root at e.g. www.example.com/robots.txt .&lt;br /&gt;
Note: The joomla folder name MUST be prefixed to the disallowed path, e.g. the Disallow rule for the /administrator/ folder MUST be changed to read Disallow: /joomla/administrator/&lt;br /&gt;
&lt;br /&gt;
==Joomla robots.txt contents==&lt;br /&gt;
This is the contents of a standard Joomla robots.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
User-agent: *&lt;br /&gt;
Disallow: /administrator/&lt;br /&gt;
Disallow: /cache/&lt;br /&gt;
Disallow: /cli/&lt;br /&gt;
Disallow: /components/&lt;br /&gt;
Disallow: /images/&lt;br /&gt;
Disallow: /includes/&lt;br /&gt;
Disallow: /installation/&lt;br /&gt;
Disallow: /language/&lt;br /&gt;
Disallow: /libraries/&lt;br /&gt;
Disallow: /logs/&lt;br /&gt;
Disallow: /media/&lt;br /&gt;
Disallow: /modules/&lt;br /&gt;
Disallow: /plugins/&lt;br /&gt;
Disallow: /templates/&lt;br /&gt;
Disallow: /tmp/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Robot Exclusion==&lt;br /&gt;
You can exclude directories or block robots from your site adding Disallow rule to the robots.txt&lt;br /&gt;
&lt;br /&gt;
Infos:&lt;br /&gt;
* [http://www.robotstxt.org/orig.html A Standard for Robot Exclusion]&lt;br /&gt;
* [http://support.google.com/webmasters/bin/answer.py?hl=en-GB&amp;amp;answer=156449 Block or remove pages using a robots.txt file]&lt;br /&gt;
&lt;br /&gt;
==Syntax checking==&lt;br /&gt;
For syntax checking you can use a validator for robots.txt files.&lt;br /&gt;
Try one of these:&lt;br /&gt;
* [http://tool.motoricerca.info/robots-checker.phtml Robots.txt Checker (by Motoricerca)]&lt;br /&gt;
* [http://www.frobee.com/robots-txt-check Robots.txt Checker (by Frobee)]&lt;br /&gt;
* [http://www.searchenginepromotionhelp.com/m/robots-text-tester/robots-checker.php robots.txt Checker (by Search Engine Promotion Help)]&lt;br /&gt;
&lt;br /&gt;
==Infos==&lt;br /&gt;
For additional infos please read:&lt;br /&gt;
===Joomla! Documentation===&lt;br /&gt;
* [[Creating_a_Custom_404_Error_Page|Creating a Custom 404 Error Page]]&lt;br /&gt;
* [[Custom_error_pages|Custom Error Pages]]&lt;br /&gt;
* [[System_error_pages|System Error Pages]]&lt;br /&gt;
* [[Making_your_site_Search_Engine_Friendly|Making your site Search Engine Friendly]]&lt;br /&gt;
* [[Entering_search_engine_meta-data|Entering search engine meta-data]]&lt;br /&gt;
&lt;br /&gt;
===How to: Robots.txt and Joomla===&lt;br /&gt;
* [http://www.kangainternet.com.au/joomla-seo-blog/joomla-google-the-robots.txt-file.html Joomla &amp;amp; Google Robots Text File]&lt;br /&gt;
* [http://www.joomlablogger.net/seo/joomla-seo/how-to-set-up-the-robotstxt-file-in-joomla How to set up the robots.txt file in Joomla]&lt;br /&gt;
&lt;br /&gt;
===General informations===&lt;br /&gt;
* [http://www.robotstxt.org/orig.html The Web Robots Pages]&lt;br /&gt;
* [https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag Robots meta tag and X-Robots-Tag HTTP header specifications]&lt;br /&gt;
* [http://www.searchtools.com/robots/robots-txt.html Robots.txt and Search Indexing]&lt;br /&gt;
&lt;br /&gt;
===Tools for Webmasters===&lt;br /&gt;
* [https://www.google.com/webmasters/tools Google Webmaster Tools]&lt;br /&gt;
&lt;br /&gt;
[[Category:Search Engine Optimization]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Robots.txt_file&amp;diff=80995</id>
		<title>Robots.txt file</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Robots.txt_file&amp;diff=80995"/>
		<updated>2013-02-10T20:35:43Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
{{review}}&lt;br /&gt;
Web Robots (Crawlers, Web Wanderers or Spiders) are programs that traverse the Web automatically. Among many uses, search engines use them to index the web content.&lt;br /&gt;
Robots.txt implements the REP (Robots Exclusion Protocol), which allows the web site administrator to define what parts of the site are off-limits to specific robot user agent names. Web administrators can Allow access to their web content and Disallow access to cgi, private and temporary directories, for example, if they do not want pages in those areas indexed. &lt;br /&gt;
&lt;br /&gt;
==Where to place my robots.txt file?==&lt;br /&gt;
A standard robots.txt its included in your joomla root.&lt;br /&gt;
The robots.txt file must reside in the root of the domain and must be named &amp;quot;robots.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Joomla in a subdomain===&lt;br /&gt;
A robots.txt file located in a subdirectory isn&#039;t valid, as bots only check for this file in the root of the domain.&lt;br /&gt;
If the Joomla site is installed within a folder such as at e.g. www.example.com/joomla/ the robots.txt file MUST be moved to the site root at e.g. www.example.com/robots.txt .&lt;br /&gt;
Note: The joomla folder name MUST be prefixed to the disallowed path, e.g. the Disallow rule for the /administrator/ folder MUST be changed to read Disallow: /joomla/administrator/&lt;br /&gt;
&lt;br /&gt;
==Joomla robots.txt contents==&lt;br /&gt;
This is the contents of a standard Joomla robots.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
User-agent: *&lt;br /&gt;
Disallow: /administrator/&lt;br /&gt;
Disallow: /cache/&lt;br /&gt;
Disallow: /cli/&lt;br /&gt;
Disallow: /components/&lt;br /&gt;
Disallow: /images/&lt;br /&gt;
Disallow: /includes/&lt;br /&gt;
Disallow: /installation/&lt;br /&gt;
Disallow: /language/&lt;br /&gt;
Disallow: /libraries/&lt;br /&gt;
Disallow: /logs/&lt;br /&gt;
Disallow: /media/&lt;br /&gt;
Disallow: /modules/&lt;br /&gt;
Disallow: /plugins/&lt;br /&gt;
Disallow: /templates/&lt;br /&gt;
Disallow: /tmp/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Robot Exclusion==&lt;br /&gt;
You can exclude directories or block robots from your site adding Disallow rule to the robots.txt&lt;br /&gt;
&lt;br /&gt;
Infos:&lt;br /&gt;
* [http://www.robotstxt.org/orig.html A Standard for Robot Exclusion]&lt;br /&gt;
* [http://support.google.com/webmasters/bin/answer.py?hl=en-GB&amp;amp;answer=156449 Block or remove pages using a robots.txt file]&lt;br /&gt;
&lt;br /&gt;
==Syntax checking==&lt;br /&gt;
For syntax checking you can use a validator for robots.txt files.&lt;br /&gt;
Try one of these:&lt;br /&gt;
* [http://tool.motoricerca.info/robots-checker.phtml Motoricerca Robots.txt Checker]&lt;br /&gt;
* [http://www.frobee.com/robots-txt-check]Robots.txt Frobee Robots.txt Checker]&lt;br /&gt;
* [http://www.searchenginepromotionhelp.com/m/robots-text-tester/robots-checker.php Search Engine Promotion Help robots.txt Checker]&lt;br /&gt;
&lt;br /&gt;
==Infos==&lt;br /&gt;
For additional infos please read:&lt;br /&gt;
===Joomla! Documentation===&lt;br /&gt;
* [[Creating_a_Custom_404_Error_Page|Creating a Custom 404 Error Page]]&lt;br /&gt;
* [[Custom_error_pages|Custom Error Pages]]&lt;br /&gt;
* [[System_error_pages|System Error Pages]]&lt;br /&gt;
* [[Making_your_site_Search_Engine_Friendly|Making your site Search Engine Friendly]]&lt;br /&gt;
* [[Entering_search_engine_meta-data|Entering search engine meta-data]]&lt;br /&gt;
&lt;br /&gt;
===How to: Robots.txt and Joomla===&lt;br /&gt;
* [http://www.kangainternet.com.au/joomla-seo-blog/joomla-google-the-robots.txt-file.html Joomla &amp;amp; Google Robots Text File]&lt;br /&gt;
* [http://www.joomlablogger.net/seo/joomla-seo/how-to-set-up-the-robotstxt-file-in-joomla How to set up the robots.txt file in Joomla]&lt;br /&gt;
&lt;br /&gt;
===General informations===&lt;br /&gt;
* [http://www.robotstxt.org/orig.html The Web Robots Pages]&lt;br /&gt;
* [https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag Robots meta tag and X-Robots-Tag HTTP header specifications]&lt;br /&gt;
* [http://www.searchtools.com/robots/robots-txt.html Robots.txt and Search Indexing]&lt;br /&gt;
&lt;br /&gt;
===Tools for Webmasters===&lt;br /&gt;
* [https://www.google.com/webmasters/tools Google Webmaster Tools]&lt;br /&gt;
&lt;br /&gt;
[[Category:Search Engine Optimization]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Entering_search_engine_meta-data&amp;diff=80992</id>
		<title>Entering search engine meta-data</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Entering_search_engine_meta-data&amp;diff=80992"/>
		<updated>2013-02-10T20:14:56Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* Controlled Crawling */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Meta-data is information about the website in the header portion of the webpage.  This information is used by search engines to determine the relevance of the give page to the search request it is processing at any given time.  This data is constantly collected by various means by all search engines such as Google, Yahoo, Ask and others. The following list is a partial list of things to consider when building and publishing a web site.&lt;br /&gt;
&lt;br /&gt;
GoDaddy hosting has a web site analysis tool to examine your site and report how each of these rules is violated.  The report is shaky at best but it helps in identifying your website&#039;s weaknesses.&lt;br /&gt;
&lt;br /&gt;
== Title Tags ==&lt;br /&gt;
Well-constructed title tags contain the main keyword for the page, followed by a brief description of the page content. It will be less than 65 characters and avoid using stop words such as: a, if, the, then, and, an, to, etc. Your title tag should also be limited to the use of alphanumeric characters, hyphens, and commas. &lt;br /&gt;
&lt;br /&gt;
== Description Tags ==&lt;br /&gt;
Good description tags contain information about the page&#039;s content and persuade search engine users to visit your web site. They should be between 25 and 35 words in length. &lt;br /&gt;
&lt;br /&gt;
== Keywords Tags ==&lt;br /&gt;
Your keywords meta tag should contain between 5-10 keywords or keyword phrases that are also found in page content. &lt;br /&gt;
&lt;br /&gt;
== Heading Tags ==&lt;br /&gt;
Each page of your site should use at least the H1 heading tag for the search engines that examine it when crawling your site. &lt;br /&gt;
&lt;br /&gt;
== Page Content ==&lt;br /&gt;
Pages should have between 300 and 700 words of descriptive content that contains the keywords specified in the keywords meta tag for the page. A page&#039;s meta tag keywords should also be those that occur most frequently on the page. &lt;br /&gt;
 &lt;br /&gt;
== Proper Navigation ==&lt;br /&gt;
Each page of your site should contain links to every other page so search engine spiders can find every page. This is a critical step for the proper indexing and page rank distribution of your site. &lt;br /&gt;
&lt;br /&gt;
== Proper Sitemap ==&lt;br /&gt;
It&#039;s important to use two site maps for your website--an XML version and a static version. The XML table protocol is explained in detail on http://www.sitemaps.org.  The static version should sit on a static HTML page and contain links to every other page. &lt;br /&gt;
 &lt;br /&gt;
== Controlled Crawling ==&lt;br /&gt;
It&#039;s important that search engine spiders find your robots.txt file that guides spiders to pages and directories you want crawled and denies entry to protected areas of your site. More information can be found at * [[Robots.txt|Robots.txt]]&lt;br /&gt;
&lt;br /&gt;
== Duplicate Content/Tags ==&lt;br /&gt;
Because search engines treat web sites as a grouping of pages and not a single entity, each page on your site should be unique so that the tags and content differ between each page. Doing so increases the number of pages that will rank. &lt;br /&gt;
&lt;br /&gt;
== Word Density ==&lt;br /&gt;
Pages should contain 300 to 700 words of unique and descriptive content.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tips and tricks]]&lt;br /&gt;
[[Category:Article Management]]&lt;br /&gt;
[[Category:Search Engine Optimization]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Robots.txt_file&amp;diff=80991</id>
		<title>Robots.txt file</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Robots.txt_file&amp;diff=80991"/>
		<updated>2013-02-10T20:13:37Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
{{review}}&lt;br /&gt;
Web Robots (Crawlers, Web Wanderers or Spiders) are programs that traverse the Web automatically. Among many uses, search engines use them to index the web content.&lt;br /&gt;
Robots.txt implements the REP (Robots Exclusion Protocol), which allows the web site administrator to define what parts of the site are off-limits to specific robot user agent names. Web administrators can Allow access to their web content and Disallow access to cgi, private and temporary directories, for example, if they do not want pages in those areas indexed. &lt;br /&gt;
&lt;br /&gt;
==Where to place my robots.txt file?==&lt;br /&gt;
A standard robots.txt its included in your joomla root.&lt;br /&gt;
The robots.txt file must reside in the root of the domain and must be named &amp;quot;robots.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Joomla in a subdomain===&lt;br /&gt;
A robots.txt file located in a subdirectory isn&#039;t valid, as bots only check for this file in the root of the domain.&lt;br /&gt;
If the Joomla site is installed within a folder such as at e.g. www.example.com/joomla/ the robots.txt file MUST be moved to the site root at e.g. www.example.com/robots.txt .&lt;br /&gt;
Note: The joomla folder name MUST be prefixed to the disallowed path, e.g. the Disallow rule for the /administrator/ folder MUST be changed to read Disallow: /joomla/administrator/&lt;br /&gt;
&lt;br /&gt;
==Joomla robots.txt contents==&lt;br /&gt;
This is the contents of a standard Joomla robots.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
User-agent: *&lt;br /&gt;
Disallow: /administrator/&lt;br /&gt;
Disallow: /cache/&lt;br /&gt;
Disallow: /cli/&lt;br /&gt;
Disallow: /components/&lt;br /&gt;
Disallow: /images/&lt;br /&gt;
Disallow: /includes/&lt;br /&gt;
Disallow: /installation/&lt;br /&gt;
Disallow: /language/&lt;br /&gt;
Disallow: /libraries/&lt;br /&gt;
Disallow: /logs/&lt;br /&gt;
Disallow: /media/&lt;br /&gt;
Disallow: /modules/&lt;br /&gt;
Disallow: /plugins/&lt;br /&gt;
Disallow: /templates/&lt;br /&gt;
Disallow: /tmp/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Robot Exclusion==&lt;br /&gt;
You can exclude directories or block robots from your site adding Disallow rule to the robots.txt&lt;br /&gt;
&lt;br /&gt;
Infos:&lt;br /&gt;
* [http://www.robotstxt.org/orig.html A Standard for Robot Exclusion]&lt;br /&gt;
* [http://support.google.com/webmasters/bin/answer.py?hl=en-GB&amp;amp;answer=156449 Block or remove pages using a robots.txt file]&lt;br /&gt;
&lt;br /&gt;
==Syntax checking==&lt;br /&gt;
For syntax checking you can use a validator for robots.txt files.&lt;br /&gt;
Try one of these:&lt;br /&gt;
* [http://tool.motoricerca.info/robots-checker.phtml Motoricerca Robots.txt Checker]&lt;br /&gt;
* [http://www.frobee.com/robots-txt-check]Robots.txt Frobee Robots.txt Checker]&lt;br /&gt;
* [http://www.searchenginepromotionhelp.com/m/robots-text-tester/robots-checker.php Search Engine Promotion Help robots.txt Checker]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Joomla! Documentation===&lt;br /&gt;
* [[Creating_a_Custom_404_Error_Page|Creating a Custom 404 Error Page]]&lt;br /&gt;
* [[Custom_error_pages|Custom Error Pages]]&lt;br /&gt;
* [[System_error_pages|System Error Pages]]&lt;br /&gt;
* [[Making_your_site_Search_Engine_Friendly|Making your site Search Engine Friendly]]&lt;br /&gt;
* [[Entering_search_engine_meta-data|Entering search engine meta-data]]&lt;br /&gt;
&lt;br /&gt;
===How to: Robots.txt and Joomla===&lt;br /&gt;
* [http://www.kangainternet.com.au/joomla-seo-blog/joomla-google-the-robots.txt-file.html Joomla &amp;amp; Google Robots Text File]&lt;br /&gt;
* [http://www.joomlablogger.net/seo/joomla-seo/how-to-set-up-the-robotstxt-file-in-joomla How to set up the robots.txt file in Joomla]&lt;br /&gt;
&lt;br /&gt;
===General informations===&lt;br /&gt;
* [http://www.robotstxt.org/orig.html The Web Robots Pages]&lt;br /&gt;
* [https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag Robots meta tag and X-Robots-Tag HTTP header specifications]&lt;br /&gt;
* [http://www.searchtools.com/robots/robots-txt.html Robots.txt and Search Indexing]&lt;br /&gt;
&lt;br /&gt;
===Tools for Webmasters===&lt;br /&gt;
* [https://www.google.com/webmasters/tools Google Webmaster Tools]&lt;br /&gt;
&lt;br /&gt;
[[Category:Search Engine Optimization]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Robots.txt_file&amp;diff=80990</id>
		<title>Robots.txt file</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Robots.txt_file&amp;diff=80990"/>
		<updated>2013-02-10T20:12:17Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
{{review}}&lt;br /&gt;
Web Robots (Crawlers, Web Wanderers or Spiders) are programs that traverse the Web automatically. Among many uses, search engines use them to index the web content.&lt;br /&gt;
Robots.txt implements the REP (Robots Exclusion Protocol), which allows the web site administrator to define what parts of the site are off-limits to specific robot user agent names. Web administrators can Allow access to their web content and Disallow access to cgi, private and temporary directories, for example, if they do not want pages in those areas indexed. &lt;br /&gt;
&lt;br /&gt;
==Where to place my robots.txt file?==&lt;br /&gt;
A standard robots.txt its included in your joomla root.&lt;br /&gt;
The robots.txt file must reside in the root of the domain and must be named &amp;quot;robots.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Joomla in a subdomain===&lt;br /&gt;
A robots.txt file located in a subdirectory isn&#039;t valid, as bots only check for this file in the root of the domain.&lt;br /&gt;
If the Joomla site is installed within a folder such as at e.g. www.example.com/joomla/ the robots.txt file MUST be moved to the site root at e.g. www.example.com/robots.txt .&lt;br /&gt;
Note: The joomla folder name MUST be prefixed to the disallowed path, e.g. the Disallow rule for the /administrator/ folder MUST be changed to read Disallow: /joomla/administrator/&lt;br /&gt;
&lt;br /&gt;
==Joomla robots.txt contents==&lt;br /&gt;
This is the contents of a standard Joomla robots.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
User-agent: *&lt;br /&gt;
Disallow: /administrator/&lt;br /&gt;
Disallow: /cache/&lt;br /&gt;
Disallow: /cli/&lt;br /&gt;
Disallow: /components/&lt;br /&gt;
Disallow: /images/&lt;br /&gt;
Disallow: /includes/&lt;br /&gt;
Disallow: /installation/&lt;br /&gt;
Disallow: /language/&lt;br /&gt;
Disallow: /libraries/&lt;br /&gt;
Disallow: /logs/&lt;br /&gt;
Disallow: /media/&lt;br /&gt;
Disallow: /modules/&lt;br /&gt;
Disallow: /plugins/&lt;br /&gt;
Disallow: /templates/&lt;br /&gt;
Disallow: /tmp/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Robot Exclusion==&lt;br /&gt;
You can exclude directories or block robots from your site adding Disallow rule to the robots.txt&lt;br /&gt;
&lt;br /&gt;
Infos:&lt;br /&gt;
* [http://www.robotstxt.org/orig.html A Standard for Robot Exclusion]&lt;br /&gt;
* [http://support.google.com/webmasters/bin/answer.py?hl=en-GB&amp;amp;answer=156449 Block or remove pages using a robots.txt file]&lt;br /&gt;
&lt;br /&gt;
==Syntax checking==&lt;br /&gt;
For syntax checking you can use a validator for robots.txt files.&lt;br /&gt;
Try one of these:&lt;br /&gt;
* [http://tool.motoricerca.info/robots-checker.phtml Motoricerca Robots.txt Checker]&lt;br /&gt;
* [http://www.frobee.com/robots-txt-check]Robots.txt Frobee Robots.txt Checker]&lt;br /&gt;
* [http://www.searchenginepromotionhelp.com/m/robots-text-tester/robots-checker.php Search Engine Promotion Help robots.txt Checker]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Joomla! Documentation===&lt;br /&gt;
* [[Creating_a_Custom_404_Error_Page|Creating a Custom 404 Error Page]]&lt;br /&gt;
* [[Custom_error_pages|Custom Error Pages]]&lt;br /&gt;
* [[System_error_pages|System Error Pages]]&lt;br /&gt;
* [[Making_your_site_Search_Engine_Friendly|Making your site Search Engine Friendly]]&lt;br /&gt;
* [[Entering_search_engine_meta-data|Entering search engine meta-data]]&lt;br /&gt;
&lt;br /&gt;
===How to: Robots.txt and Joomla===&lt;br /&gt;
* [http://www.kangainternet.com.au/joomla-seo-blog/joomla-google-the-robots.txt-file.html Joomla &amp;amp; Google Robots Text File]&lt;br /&gt;
* [http://www.joomlablogger.net/seo/joomla-seo/how-to-set-up-the-robotstxt-file-in-joomla How to set up the robots.txt file in Joomla]&lt;br /&gt;
&lt;br /&gt;
===General informations===&lt;br /&gt;
* [http://www.robotstxt.org/orig.html The Web Robots Pages]&lt;br /&gt;
* [https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag Robots meta tag and X-Robots-Tag HTTP header specifications]&lt;br /&gt;
* [http://www.searchtools.com/robots/robots-txt.html Robots.txt and Search Indexing]&lt;br /&gt;
&lt;br /&gt;
===Tools for Webmasters===&lt;br /&gt;
* [https://www.google.com/webmasters/tools Google Webmaster Tools]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Robots.txt_file&amp;diff=80989</id>
		<title>Robots.txt file</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Robots.txt_file&amp;diff=80989"/>
		<updated>2013-02-10T20:10:10Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: Initial editings. Revision required and aditional contets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
Web Robots (Crawlers, Web Wanderers or Spiders) are programs that traverse the Web automatically. Among many uses, search engines use them to index the web content.&lt;br /&gt;
Robots.txt implements the REP (Robots Exclusion Protocol), which allows the web site administrator to define what parts of the site are off-limits to specific robot user agent names. Web administrators can Allow access to their web content and Disallow access to cgi, private and temporary directories, for example, if they do not want pages in those areas indexed. &lt;br /&gt;
&lt;br /&gt;
==Where to place my robots.txt file?==&lt;br /&gt;
A standard robots.txt its included in your joomla root.&lt;br /&gt;
The robots.txt file must reside in the root of the domain and must be named &amp;quot;robots.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Joomla in a subdomain===&lt;br /&gt;
A robots.txt file located in a subdirectory isn&#039;t valid, as bots only check for this file in the root of the domain.&lt;br /&gt;
If the Joomla site is installed within a folder such as at e.g. www.example.com/joomla/ the robots.txt file MUST be moved to the site root at e.g. www.example.com/robots.txt .&lt;br /&gt;
Note: The joomla folder name MUST be prefixed to the disallowed path, e.g. the Disallow rule for the /administrator/ folder MUST be changed to read Disallow: /joomla/administrator/&lt;br /&gt;
&lt;br /&gt;
==Joomla robots.txt contents==&lt;br /&gt;
This is the contents of a standard Joomla robots.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
User-agent: *&lt;br /&gt;
Disallow: /administrator/&lt;br /&gt;
Disallow: /cache/&lt;br /&gt;
Disallow: /cli/&lt;br /&gt;
Disallow: /components/&lt;br /&gt;
Disallow: /images/&lt;br /&gt;
Disallow: /includes/&lt;br /&gt;
Disallow: /installation/&lt;br /&gt;
Disallow: /language/&lt;br /&gt;
Disallow: /libraries/&lt;br /&gt;
Disallow: /logs/&lt;br /&gt;
Disallow: /media/&lt;br /&gt;
Disallow: /modules/&lt;br /&gt;
Disallow: /plugins/&lt;br /&gt;
Disallow: /templates/&lt;br /&gt;
Disallow: /tmp/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Robot Exclusion==&lt;br /&gt;
You can exclude directories or block robots from your site adding Disallow rule to the robots.txt&lt;br /&gt;
&lt;br /&gt;
Infos:&lt;br /&gt;
* [http://www.robotstxt.org/orig.html A Standard for Robot Exclusion]&lt;br /&gt;
* [http://support.google.com/webmasters/bin/answer.py?hl=en-GB&amp;amp;answer=156449 Block or remove pages using a robots.txt file]&lt;br /&gt;
&lt;br /&gt;
==Syntax checking==&lt;br /&gt;
For syntax checking you can use a validator for robots.txt files.&lt;br /&gt;
Try one of these:&lt;br /&gt;
* [http://tool.motoricerca.info/robots-checker.phtml Motoricerca Robots.txt Checker]&lt;br /&gt;
* [http://www.frobee.com/robots-txt-check]Robots.txt Frobee Robots.txt Checker]&lt;br /&gt;
* [http://www.searchenginepromotionhelp.com/m/robots-text-tester/robots-checker.php Search Engine Promotion Help robots.txt Checker]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Joomla! Documentation===&lt;br /&gt;
* [[Creating_a_Custom_404_Error_Page|Creating a Custom 404 Error Page]]&lt;br /&gt;
* [[Custom_error_pages|Custom Error Pages]]&lt;br /&gt;
* [[System_error_pages|System Error Pages]]&lt;br /&gt;
* [[Making_your_site_Search_Engine_Friendly|Making your site Search Engine Friendly]]&lt;br /&gt;
* [[Entering_search_engine_meta-data|Entering search engine meta-data]]&lt;br /&gt;
&lt;br /&gt;
===How to: Robots.txt and Joomla===&lt;br /&gt;
* [http://www.kangainternet.com.au/joomla-seo-blog/joomla-google-the-robots.txt-file.html Joomla &amp;amp; Google Robots Text File]&lt;br /&gt;
* [http://www.joomlablogger.net/seo/joomla-seo/how-to-set-up-the-robotstxt-file-in-joomla How to set up the robots.txt file in Joomla]&lt;br /&gt;
&lt;br /&gt;
===General informations===&lt;br /&gt;
* [http://www.robotstxt.org/orig.html The Web Robots Pages]&lt;br /&gt;
* [https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag Robots meta tag and X-Robots-Tag HTTP header specifications]&lt;br /&gt;
* [http://www.searchtools.com/robots/robots-txt.html Robots.txt and Search Indexing]&lt;br /&gt;
&lt;br /&gt;
===Tools for Webmasters===&lt;br /&gt;
* [https://www.google.com/webmasters/tools Google Webmaster Tools]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=67240</id>
		<title>Potential backward compatibility issues in Joomla 3 and Joomla Platform 12.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2&amp;diff=67240"/>
		<updated>2012-05-13T23:10:44Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}{{RightTOC}}This documents track potential backward compatibility issues for Joomla 3.0 and Joomla Platform 12.1 which is included in Joomla 3.0. Listed are issues which potentially break extensions.&lt;br /&gt;
Please help making this document complete.&lt;br /&gt;
&lt;br /&gt;
The base of this comparison is Joomla 2.5/Platform 11.4.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility issues were also tracked for Joomla 2.5: [[Potential backward compatibility issues in Joomla 2.5 and Joomla Platform 11.4]]&lt;br /&gt;
&lt;br /&gt;
= Platform =&lt;br /&gt;
The platform removed a larger number of deprecated classes and methods. For most extensions written for Joomla 2.5 the required changes should be reasonably small. Note that there are still deprecated classes in the platform that will be removed in future versions, developers should stop using them where possible.&lt;br /&gt;
&lt;br /&gt;
== General changes ==&lt;br /&gt;
*Appending ?no_html to an URL to get a RAW view is not supported anymore (this was an old Joomla 1.0 feature)&lt;br /&gt;
*The DS constant has been removed. If you really need it you can use DIRECTORY_SEPARATOR instead&lt;br /&gt;
*Many more function arguments have been type hinted, including existing classes. Make sure you&#039;re always passing values of the correct type.&lt;br /&gt;
*PHP 5.3 is now required&lt;br /&gt;
*register_globals = on is not supported anymore&lt;br /&gt;
*The name of modules now have to start with mod_&lt;br /&gt;
*The module cacheing option &amp;quot;oldstatic&amp;quot; has been removed.&lt;br /&gt;
*Extensions need to set the registeredurlparams now, the fall back on the URL has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes to extension installation ==&lt;br /&gt;
*Use of the &amp;lt;install&amp;gt; base tag (from 1.5) is no longer supported; use &amp;lt;extension&amp;gt; instead&lt;br /&gt;
*Suppport for install_script and uninstall_script, and the methods com_install and com_uninstall in these scripts, has been removed; use scriptfile instead&lt;br /&gt;
*In language extensions, support for client=&amp;quot;both&amp;quot; has been removed; package each client as a separate extension and optionally bundle them as a package extension instead&lt;br /&gt;
*File paths for plugins no longer support the old 1.5 method (i.e. plugins/system/cache.php); each plugin must be in its own folder (i.e. plugins/system/cache/cache.php)&lt;br /&gt;
&lt;br /&gt;
== Changes to Components ==&lt;br /&gt;
*In admin components the admin.*.php and toolbar.*.php are not automatically included anymore. This was a Joomla 1.0 legacy feature.&lt;br /&gt;
&lt;br /&gt;
== Moved files ==&lt;br /&gt;
All classes listed here should now be autoloadable. Explicit requires and includes have to be modified or removed.&lt;br /&gt;
&lt;br /&gt;
=== Classes moved to the CMS ===&lt;br /&gt;
*JFormFieldHelpsite&lt;br /&gt;
*JFormFieldMedia&lt;br /&gt;
*JFormFieldMenuitem&lt;br /&gt;
*JFormFieldUser&lt;br /&gt;
*JHelp&lt;br /&gt;
*JTableContent&lt;br /&gt;
&lt;br /&gt;
=== Classes moved within the platform ===&lt;br /&gt;
*JDatabaseQuery subclasses&lt;br /&gt;
*JInput (and all subclasses)&lt;br /&gt;
*JTable (and all subclasses)&lt;br /&gt;
*JArchive (and all subclasses)&lt;br /&gt;
&lt;br /&gt;
== Renamed classes ==&lt;br /&gt;
*JFTP is now called JClientFtp&lt;br /&gt;
*JLDAP is now called JClientLdap&lt;br /&gt;
*JWebClient is now called JApplicationWebClient&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*JParameter (use JForm instead)&lt;br /&gt;
*JElement and its subclasses&lt;br /&gt;
*JFormFieldEditors (use JFormFieldPlugins instead)&lt;br /&gt;
*JHtmlImage&lt;br /&gt;
*JSimpleXML&lt;br /&gt;
*JPane&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
=== Base classes ===&lt;br /&gt;
&lt;br /&gt;
==== JFactory ====&lt;br /&gt;
*JFactory::getXMLParser() has been removed. For RSS and Atom use cases, use JFactory::getFeedParser() instead. To read XML files or strings use JFactory::getXML().&lt;br /&gt;
*JFactory::_createConfig() has been removed. Use JFactory::createConfig() instead.&lt;br /&gt;
*JFactory::_createSession() has been removed. Use JFactory::createSession() instead.&lt;br /&gt;
*JFactory::_createDbo() has been removed. Use JFactory::createDbo() instead.&lt;br /&gt;
*JFactory::_createMailer() has been removed. Use JFactory::createMailer() instead.&lt;br /&gt;
*JFactory::_createDocument() has been removed. Use JFactory::createDocument() instead.&lt;br /&gt;
&lt;br /&gt;
=== Application ===&lt;br /&gt;
&lt;br /&gt;
==== JApplicationHelper ====&lt;br /&gt;
*JApplicationHelper::getPath() has been removed. No replacement.&lt;br /&gt;
*JApplicationHelper::_checkPath() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JController ====&lt;br /&gt;
*JController::$_acoSection has been removed.&lt;br /&gt;
*JController::$_acoSectionValue has been removed.&lt;br /&gt;
*JController::authorize() has been removed. Use JController::authorise() instead.&lt;br /&gt;
*JController:: setAccessControl() has been removed. Use JAccess.&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
==== Adapters ====&lt;br /&gt;
*JArchiveBzip2 does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveGzip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveTar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JArchiveZip does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Base ===&lt;br /&gt;
&lt;br /&gt;
==== JObject ====&lt;br /&gt;
*JObject::toString() has been removed. Use JObject::__toString() instead.&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
==== JClientLdap (formerly JLDAP) ====&lt;br /&gt;
*JClientLdap does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
JDatabase had been renamed JDatabaseDriver. JDatabase is still around (but deprecated) and is the base of JDatabaseDriver, this way type hints and instance of checks keep working.&lt;br /&gt;
&lt;br /&gt;
Due to lazy-connecting a connection is only opened when running a query or explicitly calling JDatabseDriver::connected(). Beware of that when checking JDatabaseDriver::connected().&lt;br /&gt;
&lt;br /&gt;
==== JDatabase ====&lt;br /&gt;
*JDatabase::$hasQuoted has been removed.&lt;br /&gt;
*JDatabase::$quoted has been removed.&lt;br /&gt;
*JDatabase::addQuoted() has been removed.&lt;br /&gt;
*JDatabase::hasUTF() has been removed.&lt;br /&gt;
*JDatabase::debug() has been removed. Use JDatabase::setDebug() instead.&lt;br /&gt;
*JDatabase::explain() has been removed.&lt;br /&gt;
*JDatabase::getEscaped() has been removed. Use JDatabase::escape() instead.&lt;br /&gt;
*JDatabase::getTableFields() has been removed. Use JDatabase::getTableColumns() instead.&lt;br /&gt;
*JDatabase::getTicker() has been removed. Use JDatabase::count() instead.&lt;br /&gt;
*JDatabase::isQuoted() has been removed.&lt;br /&gt;
*JDatabase::loadResultArray() has been removed. Use JDatabase::loadColumn() instead.&lt;br /&gt;
*JDatabase::nameQuote() has been removed. Use JDatabase::quoteName() instead.&lt;br /&gt;
*JDatabase::queryBatch() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Document ===&lt;br /&gt;
&lt;br /&gt;
==== JDocument ====&lt;br /&gt;
*JDocument::setMetaData() the $sync argument has been removed. It was broken beyond repair.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentRenderer ====&lt;br /&gt;
*JDocumentRenderer does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentFeed ====&lt;br /&gt;
*JFeedItem does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedEnclosure does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JFeedImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentOpenSearch ====&lt;br /&gt;
*JOpenSearchUrl does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JOpenSearchImage does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JDocumentXml ====&lt;br /&gt;
*JDocumentXml::_name has been renamed to JDocumentXml::name&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== JBrowser ====&lt;br /&gt;
*JBrowser does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JBrowser::setQuirk() has been removed.&lt;br /&gt;
*JBrowser::hasQuirk() has been removed.&lt;br /&gt;
*JBrowser::getQuirk() has been removed.&lt;br /&gt;
*JBrowser::setFeature() has been removed.&lt;br /&gt;
*JBrowser::hasFeature() has been removed.&lt;br /&gt;
*JBrowser::getFeature() has been removed.&lt;br /&gt;
*JBrowser::_majorVersion has been renamed to JBrowser::majorVersion&lt;br /&gt;
*JBrowser::_minorVersion has been renamed to JBrowser::minorVersion&lt;br /&gt;
*JBrowser::_browser has been renamed to JBrowser::browser&lt;br /&gt;
*JBrowser::_agent has been renamed to JBrowser::agent&lt;br /&gt;
*JBrowser::_lowerAgent has been renamed to JBrowser::lowerAgent&lt;br /&gt;
*JBrowser::_accept has been renamed to JBrowser::accept&lt;br /&gt;
*JBrowser::_accept_parsed has been renamed to JBrowser::acceptParsed&lt;br /&gt;
*JBrowser::_platform has been renamed to JBrowser::platform&lt;br /&gt;
*JBrowser::_robots has been renamed to JBrowser::robots&lt;br /&gt;
*JBrowser::_mobile has been renamed to JBrowser::mobile&lt;br /&gt;
*JBrowser::_images has been renamed to JBrowser::images&lt;br /&gt;
&lt;br /&gt;
==== JRequest ====&lt;br /&gt;
*JRequest::clean() has been removed.&lt;br /&gt;
*JRequest::_cleanVar() is now protected.&lt;br /&gt;
&lt;br /&gt;
==== JURI ====&lt;br /&gt;
*JURI does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JUri::_uri has been renamed to JUri::uri&lt;br /&gt;
*JUri::_scheme has been renamed to JUri::scheme&lt;br /&gt;
*JUri::_host has been renamed to JUri::host&lt;br /&gt;
*JUri::_port has been renamed to JUri::port&lt;br /&gt;
*JUri::_user has been renamed to JUri::user&lt;br /&gt;
*JUri::_pass has been renamed to JUri::pass&lt;br /&gt;
*JUri::_path has been renamed to JUri::path&lt;br /&gt;
*JUri::_query has been renamed to JUri::query&lt;br /&gt;
*JUri::_fragment has been renamed to JUri::fragment&lt;br /&gt;
*JUri::_vars has been renamed to JUri::vars&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
==== JError ====&lt;br /&gt;
*JError::isError() has been removed. Use instance of Exception instead.&lt;br /&gt;
&lt;br /&gt;
==== JProfiler ====&lt;br /&gt;
*JProfiler does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
*JProfiler::_start has been renamed to JProfiler::start&lt;br /&gt;
*JProfiler::_prefix has been renamed to JProfiler::prefix&lt;br /&gt;
*JProfiler::_buffer has been renamed to JProfiler::buffer&lt;br /&gt;
*JProfiler::_previous_time has been renamed to JProfiler::previousTime&lt;br /&gt;
*JProfiler::_previous_mem has been renamed to JProfiler::previousMem&lt;br /&gt;
*JProfiler::_iswin has been renamed to JProfiler::isWin&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
==== JStream ====&lt;br /&gt;
*JStream::_fh has been renamed to JStream::fh&lt;br /&gt;
*JStream::_filesize has been renamed to JStream::filesize&lt;br /&gt;
*JStream::_context has been renamed to JStream::context&lt;br /&gt;
*JStream::_contextOptions has been renamed to JStream::contextOptions&lt;br /&gt;
*JStream::_openmode has been renamed to JStream::openmode&lt;br /&gt;
&lt;br /&gt;
==== JStreamString ====&lt;br /&gt;
*JStream::_currentstring has been renamed to JStream::currentString&lt;br /&gt;
*JStream::_path has been renamed to JStream::path&lt;br /&gt;
*JStream::_mode has been renamed to JStream::mode&lt;br /&gt;
*JStream::_options has been renamed to JStream::options&lt;br /&gt;
*JStream::_opened_path has been renamed to JStream::openedPath&lt;br /&gt;
*JStream::_pos has been renamed to JStream::pos&lt;br /&gt;
*JStream::_len has been renamed to JStream::len&lt;br /&gt;
*JStream::_stat has been renamed to JStream::stat&lt;br /&gt;
&lt;br /&gt;
=== Filter ===&lt;br /&gt;
&lt;br /&gt;
==== JFilterInput ====&lt;br /&gt;
*JFilterInput does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
==== JHtml ====&lt;br /&gt;
*JHtml::_includeRelativeFiles() has been removed. Use JHtml::includeRelativeFiles() instead.&lt;br /&gt;
*JHtml::core() has been removed. Use JHtmlBehavior::framework() instead.&lt;br /&gt;
*JHtml::script() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
*JHtml::stylesheet() doesn&#039;t support a string as the second parameter anymore. This used to be the path to the file in Joomla 1.5 and has been removed now.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlAccess ====&lt;br /&gt;
*JHtmlAccess::assetgroups() the argument $config has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlBehavior ====&lt;br /&gt;
*JHtmlBehavior::mootools() has been removed. Use JHtmlBehavior::framework instead.&lt;br /&gt;
*JHtmlBehavior::noframes() the argument $location has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlList ====&lt;br /&gt;
*JHtmlList::ordering() the argument $chop has been removed. It was previously unused.&lt;br /&gt;
*JHtmlList::users(), the argument $reg has been removed.&lt;br /&gt;
&lt;br /&gt;
==== JHtmlSelect ====&lt;br /&gt;
*JHtmlSelect::_optionDefaults has been renamed to JHtmlSelect::optionDefaults&lt;br /&gt;
&lt;br /&gt;
==== JToolBar ====&lt;br /&gt;
*JToolBar does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JButton ====&lt;br /&gt;
*JButton does not extend JObject anymore. You must not use any of JObject&#039;s methods.&lt;br /&gt;
&lt;br /&gt;
==== JPagination ====&lt;br /&gt;
*JPagination::_viewall has been renamed to JPagination::viewall&lt;br /&gt;
*JPagination::_additionalUrlParams has been renamed to JPagination::additionalUrlParams&lt;br /&gt;
&lt;br /&gt;
=== Installer ===&lt;br /&gt;
&lt;br /&gt;
==== JInstaller ====&lt;br /&gt;
*JInstaller::getOverwrite() has been removed. Use JInstaller::isOverwrite() instead.&lt;br /&gt;
*JInstaller::getUpgrade() has been removed. Use JInstaller::isUpgrade() instead.&lt;br /&gt;
*JInstaller::_paths has been renamed to JInstaller::paths&lt;br /&gt;
*JInstaller::_upgrade has been renamed to JInstaller::upgrade&lt;br /&gt;
*JInstaller::_overwrite has been renamed to JInstaller::overwrite&lt;br /&gt;
*JInstaller::_stepStack has been renamed to JInstaller::stepStack&lt;br /&gt;
&lt;br /&gt;
==== JInstallerLanguage ====&lt;br /&gt;
*JInstallerLanguage::_core as been renamed to JInstallerLanguage::core&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
&lt;br /&gt;
==== JLanguage ====&lt;br /&gt;
*JLanguage::getPluralSufficesCallback() has been removed. Use JLanguage::getPluralSuffixesCallback() instead.&lt;br /&gt;
*JLanguage::_parseLanguageFiles() has been removed. Use JLangauge::parseLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles() has been removed. Use JLangauge::parseXMLLanguageFiles() instead.&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile() has been removed. Use JLangauge::parseXMLLanguageFile() instead.&lt;br /&gt;
*JLanguage::loadLanguage() the argument $overwrite has been removed. It was previously unused.&lt;br /&gt;
&lt;br /&gt;
=== Registry ===&lt;br /&gt;
&lt;br /&gt;
==== JRegistry ====&lt;br /&gt;
*JRegistry::loadXML() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadINI() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::loadJSON() has been removed. Use JRegistry::loadString() instead.&lt;br /&gt;
*JRegistry::makeNameSpace() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getNameSpaces() has been removed. No replacement.&lt;br /&gt;
*JRegistry::getValue() has been removed. Use JRegistry::get() instead.&lt;br /&gt;
*JRegistry::setValue() has been removed. Use JRegistry::set() instead.&lt;br /&gt;
*JRegistry::loadSetupFile() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatINI ====&lt;br /&gt;
* JRegistryFormatINI::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
==== JRegistryFormatJSON ====&lt;br /&gt;
*JRegistryFormatJSON::stringToObject() the second argument ($option) may not be a boolean anymore.&lt;br /&gt;
&lt;br /&gt;
=== Session ===&lt;br /&gt;
&lt;br /&gt;
==== JSessionStorageDatabase ====&lt;br /&gt;
*JSessionStorageDatabase::_data has been renamed to JSessionStorageDatabase::data&lt;br /&gt;
&lt;br /&gt;
=== Table ===&lt;br /&gt;
&lt;br /&gt;
==== JTable ====&lt;br /&gt;
*JTable::canDelete() has been removed.&lt;br /&gt;
*JTable::toXML() has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Updater ===&lt;br /&gt;
&lt;br /&gt;
==== JUpdate ====&lt;br /&gt;
*JUpdate::_xml_parser has been renamed to JUpdate::xmlParser&lt;br /&gt;
*JUpdate::_stack has been renamed to JUpdate::stack&lt;br /&gt;
*JUpdate::_state_store has been renamed to JUpdate::stateStore&lt;br /&gt;
*JUpdate::_current_update has been renamed to JUpdate::currentUpdate&lt;br /&gt;
&lt;br /&gt;
==== JUpdater ====&lt;br /&gt;
*JUpdater::arrayUnique() has been removed. Use JArrayHelper::arrayUnique() instead.&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
&lt;br /&gt;
==== JAuthentication ====&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_SUCCESS has been removed. Use JAuthentication::STATUS_SUCCESS instead.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_CANCEL has been removed. No replacement.&lt;br /&gt;
*The constant JAUTHENTICATE_STATUS_FAILURE has been removed. Use JAuthentication:: STATUS_FAILURE instead.&lt;br /&gt;
*JAuthentication::_observers has been renamed to JAuthentication::observers&lt;br /&gt;
*JAuthentication::_state has been renamed to JAuthentication::state&lt;br /&gt;
*JAuthentication::_methods has been renamed to JAuthentication::methods&lt;br /&gt;
&lt;br /&gt;
==== JUser ====&lt;br /&gt;
*JUser::getParameters() has been removed.&lt;br /&gt;
*Juser::authorisedLevels() has been removed. Use JUser::getAuthorisedViewLevels() instead.&lt;br /&gt;
*Juser::authorize() has been removed. Use JUser::authorise() instead.&lt;br /&gt;
*JUser::$usertype has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
&lt;br /&gt;
==== JBuffer ====&lt;br /&gt;
*JBuffer::_buffers has been renamed to JBuffer::buffers&lt;br /&gt;
&lt;br /&gt;
==== JDate ====&lt;br /&gt;
*JDate::toMysql() has been removed. Use JDate::toSql() instead.&lt;br /&gt;
*JDate::toFormat() has been removed. Use JDate::format() instead.&lt;br /&gt;
*JDate::setOffset() has been removed.&lt;br /&gt;
*JDate::$offsets has been removed.&lt;br /&gt;
*JDate__construct() doesn&#039;t accept an numeric value for $tz anymore.&lt;br /&gt;
*JDate::_tz has been renamed to JDate::tz.&lt;br /&gt;
&lt;br /&gt;
==== JUtility ====&lt;br /&gt;
*JUtility::sendMail() has been removed. Use JMail::sendMail() instead.&lt;br /&gt;
*JUtility::sendAdminMail() has been removed. Use JMail:: sendAdminMail() instead.&lt;br /&gt;
*JUtility::getHash() has been removed. Use JApplication::getHash() instead.&lt;br /&gt;
*JUtility::getToken() has been removed. Use JSession::getFormToken() instead.&lt;br /&gt;
*JUtility::isWinOS() has been removed. Use JApplication::isWinOS() instead.&lt;br /&gt;
*JUtility::dump() has been removed. No replacement.&lt;br /&gt;
*JUtility::array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
*JUtility:: array_unshift_ref() has been removed. No replacement.&lt;br /&gt;
&lt;br /&gt;
==== JXMLElement ====&lt;br /&gt;
*JXMLElement::data() has been removed&lt;br /&gt;
*JXMLElement::getAttribute() has been removed. Use SimpleXMLElement::attributes() instead.&lt;br /&gt;
&lt;br /&gt;
== JavaScript ==&lt;br /&gt;
*Compatibility with MooTools 1.2 has been removed&lt;br /&gt;
*Forms that have name=&amp;quot;adminForm&amp;quot; now also require id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
*checkAll() has been removed. Use Joomla.checkAll() instead.&lt;br /&gt;
*isChecked() has been removed. Use Joomla.isChecked() instead.&lt;br /&gt;
*popupWindow() has been removed. Use Joomla.popupWindow() instead.&lt;br /&gt;
*tableOrdering() has been removed. Use Joomla.tableOrdering() instead.&lt;br /&gt;
&lt;br /&gt;
= CMS =&lt;br /&gt;
&lt;br /&gt;
== Changes to classes ==&lt;br /&gt;
&lt;br /&gt;
== Removed classes ==&lt;br /&gt;
*All classes extending JElement have been removed&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
&lt;br /&gt;
==== JHelp ====&lt;br /&gt;
*JHelp::createSiteList() the argument $selected has been removed. It was unused.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Compatibility]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66152</id>
		<title>Creating language packs for extensions in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66152"/>
		<updated>2012-04-11T05:47:36Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* Special lang files for labels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Although Joomla 2.5 supports installing language files for the front end (site) or back end (admin), it has no dedicated way to install language files for extensions (components, plugins, modules) unless they are installed with the extension itself.&lt;br /&gt;
&lt;br /&gt;
Fortunately, since Joomla 1.6, Joomla! supports a powerful way to install an arbitrary set of files called a &#039;files&#039; installation unit.&lt;br /&gt;
Here you will find examples for file structure, XML and lang files content and an installation unit set of files.&lt;br /&gt;
* All of the language files could technically have been in the top directory, but this example will show how to set up files in folders in the language pack folder using the &#039;folder=&#039; attribute in the XML &amp;lt;files&amp;gt; tag.  Also, putting them in folders as shown ensures that the installer can find them during installation to use them to display the name of the language pack as part of the installation confirmation.&lt;br /&gt;
&lt;br /&gt;
== Example Plugin Language Pack ==&lt;br /&gt;
&lt;br /&gt;
Suppose you have a content plugin named &#039;ganymede&#039; that you want to create a new language pack for language zz-ZZ.  Here is what your language pack files in the folder &#039;ganymede_zz_zz_language_pack&#039; might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── ganymede_zz_zz_language_pack&lt;br /&gt;
   ├── index.html&lt;br /&gt;
   ├── ganymede_zz_zz_language_pack.xml&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the file &#039;ganymede_zz_zz_language_pack.xml&#039; is the installation manifest file.  &lt;br /&gt;
&lt;br /&gt;
=== Special lang files for labels ===&lt;br /&gt;
You need to create one file for the lang pack, and a reference language file for en-GB. They will be installed in Joomla admin language folder and the contents its displayed on the install screen and as label in extension manager&lt;br /&gt;
&lt;br /&gt;
The file  &#039;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have this language keys for english:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede en-GB file for zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; copyright    Copyright (c) 2006 - 2012. All rights reserved.&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have similar contents only for zz-ZZ lang:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; copyright    Copyright (c) 2006 - 2012. All rights reserved.&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that the name of the language key (to the left of the equals sign) must be identical to the name of the manifest file prefixed with &#039;files_&#039; in order for the extension manager to find it.&lt;br /&gt;
As in &#039;FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&#039; for XML file named &#039;ganymede_zz_zz_language_pack.xml&#039; .&lt;br /&gt;
&lt;br /&gt;
=== Example plugin manifest file ===&lt;br /&gt;
The manifest file would look something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 - 2012. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Language files for the plugin --&amp;gt;&lt;br /&gt;
        &amp;lt;files target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Lang pack updates --&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
    &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special note:&lt;br /&gt;
This example includes also the update servers statement for one click languages updates using the discovery feature on Joomla Extensions manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A few notes and warnings:&lt;br /&gt;
* Once this installed, the pseudo-language pack will be listed in the Extension manager (not the language manager).&lt;br /&gt;
* This approach installs the plugin language files into the correct location inside the plugin folder.  This is the new approach for the location of extension language files in Joomla 1.6+.&lt;br /&gt;
* The language files &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; (and its English counterpart) will be put into the top-level (site) language/ folder. They are only needed for displaying the name of this pseudo-language pack in the Extension manager.&lt;br /&gt;
* The English version of the language pack file need to be included. This is not only for convenience even if English is often a second language for many sites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a language pack for several extensions in one file ==&lt;br /&gt;
This same a approach can be used to create a single language pack for several extensions at once.  Just create a language pack as shown above for a plugin and add additional &amp;lt;files&amp;gt; sections for each component, plugin, and module.  An additional benefit is that language-specific versions of the help file can be installed in their correct locations as well.  &lt;br /&gt;
&lt;br /&gt;
For example suppose we have an extension composed by a plugin &#039;ganymede&#039; and a component &#039;jupiter&#039;.  To create the zz-ZZ language pack, set up files in the following directory structure:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── jupiter_zz_zz_language_pack&lt;br /&gt;
   ├── jupiter_zz_zz_language_pack.xml&lt;br /&gt;
   ├── com_jupiter&lt;br /&gt;
   │   ├── administrator&lt;br /&gt;
   │   │   ├── help&lt;br /&gt;
   │   │   │   └── zz-ZZ&lt;br /&gt;
   │   │   │       ├── help.css&lt;br /&gt;
   │   │   │       ├── help.html&lt;br /&gt;
   │   │   │       └── index.html&lt;br /&gt;
   │   │   ├── index.html&lt;br /&gt;
   │   │   ├── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   │   │   └── zz-ZZ.com_jupiter.sys.ini&lt;br /&gt;
   │   └── language&lt;br /&gt;
   │       ├── index.html&lt;br /&gt;
   │       └── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   ├── plg_ganymede&lt;br /&gt;
   │   ├── index.html&lt;br /&gt;
   │   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   │   └── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manifest file for component and plugin ===&lt;br /&gt;
The corresponding manifest file for jupiter_zz_zz_language_pack.xml, would like something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;FILES_JUPITER_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 ???. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;FILES_JUPITER_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator&amp;quot; target=&amp;quot;administrator/components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component zz language help folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator/help/&amp;quot; target=&amp;quot;administrator/components/com_jupiter/help&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;folder&amp;gt;zz-ZZ&amp;lt;/folder&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Site component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/language&amp;quot; target=&amp;quot;components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Ganymede plugin language files --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;plg_ganymede&amp;quot; target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;en-GB.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we have created several different &amp;lt;files&amp;gt; sections for the admin language files, the admin help files, the site language files, the plugin language files, and the language files for the language pack itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example installation unit ==&lt;br /&gt;
SVN &#039;files&#039; for:&lt;br /&gt;
[http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftrunk%2Ftests%2F_data%2Finstaller_packages%2Ffiles_test1%2F Installation unit for an arbitrary set of files named &#039;files_test1&#039;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One click updates ==&lt;br /&gt;
Joomla has the ability to install language packs updates with just one click. This can be done for language core files but also for extensions languages files.&lt;br /&gt;
&lt;br /&gt;
Read here:  [[One_click_updates_for_language_packs|One click updates for language packs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]] [[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66151</id>
		<title>Creating language packs for extensions in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66151"/>
		<updated>2012-04-11T05:45:02Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: small updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Although Joomla 2.5 supports installing language files for the front end (site) or back end (admin), it has no dedicated way to install language files for extensions (components, plugins, modules) unless they are installed with the extension itself.&lt;br /&gt;
&lt;br /&gt;
Fortunately, since Joomla 1.6, Joomla! supports a powerful way to install an arbitrary set of files called a &#039;files&#039; installation unit.&lt;br /&gt;
Here you will find examples for file structure, XML and lang files content and an installation unit set of files.&lt;br /&gt;
* All of the language files could technically have been in the top directory, but this example will show how to set up files in folders in the language pack folder using the &#039;folder=&#039; attribute in the XML &amp;lt;files&amp;gt; tag.  Also, putting them in folders as shown ensures that the installer can find them during installation to use them to display the name of the language pack as part of the installation confirmation.&lt;br /&gt;
&lt;br /&gt;
== Example Plugin Language Pack ==&lt;br /&gt;
&lt;br /&gt;
Suppose you have a content plugin named &#039;ganymede&#039; that you want to create a new language pack for language zz-ZZ.  Here is what your language pack files in the folder &#039;ganymede_zz_zz_language_pack&#039; might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── ganymede_zz_zz_language_pack&lt;br /&gt;
   ├── index.html&lt;br /&gt;
   ├── ganymede_zz_zz_language_pack.xml&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the file &#039;ganymede_zz_zz_language_pack.xml&#039; is the installation manifest file.  &lt;br /&gt;
&lt;br /&gt;
=== Special lang files for labels ===&lt;br /&gt;
You need to create one file for the lang pack, and a reference language file for en-GB. They will be installed in Joomla admin language folder and the contents its displayed on the install screen and as label in extension manager&lt;br /&gt;
&lt;br /&gt;
The file  &#039;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have this language keys for english:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede en-GB file for zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have similar contents only for zz-ZZ lang:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that the name of the language key (to the left of the equals sign) must be identical to the name of the manifest file prefixed with &#039;files_&#039; in order for the extension manager to find it.&lt;br /&gt;
As in &#039;FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&#039; for XML file named &#039;ganymede_zz_zz_language_pack.xml&#039; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example plugin manifest file ===&lt;br /&gt;
The manifest file would look something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 - 2012. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Language files for the plugin --&amp;gt;&lt;br /&gt;
        &amp;lt;files target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Lang pack updates --&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
    &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special note:&lt;br /&gt;
This example includes also the update servers statement for one click languages updates using the discovery feature on Joomla Extensions manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A few notes and warnings:&lt;br /&gt;
* Once this installed, the pseudo-language pack will be listed in the Extension manager (not the language manager).&lt;br /&gt;
* This approach installs the plugin language files into the correct location inside the plugin folder.  This is the new approach for the location of extension language files in Joomla 1.6+.&lt;br /&gt;
* The language files &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; (and its English counterpart) will be put into the top-level (site) language/ folder. They are only needed for displaying the name of this pseudo-language pack in the Extension manager.&lt;br /&gt;
* The English version of the language pack file need to be included. This is not only for convenience even if English is often a second language for many sites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a language pack for several extensions in one file ==&lt;br /&gt;
This same a approach can be used to create a single language pack for several extensions at once.  Just create a language pack as shown above for a plugin and add additional &amp;lt;files&amp;gt; sections for each component, plugin, and module.  An additional benefit is that language-specific versions of the help file can be installed in their correct locations as well.  &lt;br /&gt;
&lt;br /&gt;
For example suppose we have an extension composed by a plugin &#039;ganymede&#039; and a component &#039;jupiter&#039;.  To create the zz-ZZ language pack, set up files in the following directory structure:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── jupiter_zz_zz_language_pack&lt;br /&gt;
   ├── jupiter_zz_zz_language_pack.xml&lt;br /&gt;
   ├── com_jupiter&lt;br /&gt;
   │   ├── administrator&lt;br /&gt;
   │   │   ├── help&lt;br /&gt;
   │   │   │   └── zz-ZZ&lt;br /&gt;
   │   │   │       ├── help.css&lt;br /&gt;
   │   │   │       ├── help.html&lt;br /&gt;
   │   │   │       └── index.html&lt;br /&gt;
   │   │   ├── index.html&lt;br /&gt;
   │   │   ├── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   │   │   └── zz-ZZ.com_jupiter.sys.ini&lt;br /&gt;
   │   └── language&lt;br /&gt;
   │       ├── index.html&lt;br /&gt;
   │       └── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   ├── plg_ganymede&lt;br /&gt;
   │   ├── index.html&lt;br /&gt;
   │   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   │   └── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manifest file for component and plugin ===&lt;br /&gt;
The corresponding manifest file for jupiter_zz_zz_language_pack.xml, would like something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;FILES_JUPITER_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 ???. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;FILES_JUPITER_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator&amp;quot; target=&amp;quot;administrator/components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component zz language help folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator/help/&amp;quot; target=&amp;quot;administrator/components/com_jupiter/help&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;folder&amp;gt;zz-ZZ&amp;lt;/folder&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Site component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/language&amp;quot; target=&amp;quot;components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Ganymede plugin language files --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;plg_ganymede&amp;quot; target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;en-GB.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we have created several different &amp;lt;files&amp;gt; sections for the admin language files, the admin help files, the site language files, the plugin language files, and the language files for the language pack itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example installation unit ==&lt;br /&gt;
SVN &#039;files&#039; for:&lt;br /&gt;
[http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftrunk%2Ftests%2F_data%2Finstaller_packages%2Ffiles_test1%2F Installation unit for an arbitrary set of files named &#039;files_test1&#039;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One click updates ==&lt;br /&gt;
Joomla has the ability to install language packs updates with just one click. This can be done for language core files but also for extensions languages files.&lt;br /&gt;
&lt;br /&gt;
Read here:  [[One_click_updates_for_language_packs|One click updates for language packs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]] [[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JED_history&amp;diff=66102</id>
		<title>JED history</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JED_history&amp;diff=66102"/>
		<updated>2012-04-10T05:30:58Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: Updates on 2011&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
JED History: Joomla! Extensions Directory facts and dates&amp;lt;ref&amp;gt;The dates presented in this document are confirmed by different documents, public and private. The persons involved also contribute to revise this document. Our thanks to all&amp;lt;/ref&amp;gt;.&lt;br /&gt;
(Dates are in DD-MM-YYYY)&lt;br /&gt;
&lt;br /&gt;
= Special dates =&lt;br /&gt;
JED started on basis of [http://forum.joomla.org/viewtopic.php?t=25317 this list at Joomla! forum]&lt;br /&gt;
Ken actually started the list back when we were Mambo. It was then that a few of us began discussion an actual Directory as something that we should be working on.&lt;br /&gt;
&lt;br /&gt;
==A Directory is born==&lt;br /&gt;
* Directory Conception: 15-10-2005&lt;br /&gt;
* Directory Born: 05-03-2006&lt;br /&gt;
** Birth certificate: [http://forum.joomla.org/viewtopic.php?f=8&amp;amp;t=43586 It&#039;s Time to Celebrate the Freedom - Yet Again!] &lt;br /&gt;
&lt;br /&gt;
== Directory Baptism: ==&lt;br /&gt;
proposal by ot2sen - 12-08-2006&lt;br /&gt;
* full name: Joomla! Extensions Directory&lt;br /&gt;
* nick: JED&lt;br /&gt;
&lt;br /&gt;
== Extension numbers ==&lt;br /&gt;
JED launched with 314 extensions &amp;lt;ref&amp;gt;At the time with an estimated value of over $139,500 for the 310 free “310 extensions x 15 hours development per extension x $30/hour = $139,500. A ridiculously low estimate of the value of the extensions is well over $100,000 - for FREE”: http://forum.joomla.org/viewtopic.php?p=236402#p236402&amp;lt;/ref&amp;gt;,&lt;br /&gt;
* 314 extensions - 05-03-2006&lt;br /&gt;
* 1000 extensions mark - 16-09-2006&lt;br /&gt;
* 2000 extensions mark - 28-08-2007&lt;br /&gt;
* 3000 extensions mark - 20-01-2008&lt;br /&gt;
* 4000 extensions mark - 17-10-2008&lt;br /&gt;
* 5000 extensions mark - 27-05-2010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GPL only ==&lt;br /&gt;
* March 31 2009: the Joomla! Extensions Directory (JED) no longer accept non GPL&lt;br /&gt;
* July 1 2009: only GPL extensions are allowed to be listed&lt;br /&gt;
Announcement: [http://community.joomla.org/blogs/leadership/636-jed-to-be-gpl-only-by-july-2009.html JED to be GPL Only by July 2009]&lt;br /&gt;
&lt;br /&gt;
== Extension Versions ==&lt;br /&gt;
* No 1.0 extensions: March 31 2009, JED no longer accepts Joomla! 1.0 compatible-only extensions. However, accepts extensions compatible with Joomla! 1.0 and Joomla! 1.5&lt;br /&gt;
** Announcement: [http://community.joomla.org/blogs/community/629-jed-will-phase-out-joomla-10-extensions-in-june-2009.html JED Will Phase Out Joomla 1.0 Extensions in June 2009]&lt;br /&gt;
* No 1.5 legacy only for new extensions -&lt;br /&gt;
* Open for 1.6 extensions - &lt;br /&gt;
* Open for 2.5 extensions - Jan, 24, 2012&lt;br /&gt;
* End for 1.6 and 1.7 extensions: April 30, 2012 - [http://community.joomla.org/blogs/leadership/1566-the-jed-and-version-support.html The JED and Version Support]&lt;br /&gt;
* End of 1.5 only extensions: April 1, 2012 - [http://community.joomla.org/blogs/leadership/1566-the-jed-and-version-support.html The JED and Version Support]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= JED Team History =&lt;br /&gt;
== Actual JED Team ==&lt;br /&gt;
Team Profiles: http://forum.joomla.org/memberlist.php?mode=group &lt;br /&gt;
=== Manager ===&lt;br /&gt;
* mlipscomb (Matt Lipscomb) - (appointed by CLT 06-08-2010)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=2938&lt;br /&gt;
&lt;br /&gt;
=== Editors: ===&lt;br /&gt;
* Horus_68 (Paulo Izidoro) - Joined: 08-01-2008 /&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6515&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: 14-06-2008 / &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* LaFrance (Pierre Gazzola) - Joined: 10-01-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=87230&lt;br /&gt;
* Seblod (Sebastian Lapoux) - Joined: ?? &lt;br /&gt;
* Andy Sharman - Joined: ?? &lt;br /&gt;
* Herdboy.789 (Mustaq Sheikh)  - Joined: ??&lt;br /&gt;
* Nathan Gifford   - Joined: ??&lt;br /&gt;
* Costas Kakousis  - Joined: ??&lt;br /&gt;
* Daniel Dimitrov  - Joined: 22-02-2012&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Development ===&lt;br /&gt;
* Dknight (Lee Cher Yeong) - Joined: 15-10-2005&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=79&lt;br /&gt;
&lt;br /&gt;
== Joined in 2012 ==&lt;br /&gt;
* Daniel Dimitrov  - Joined: 22-02-2012&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2011 ==&lt;br /&gt;
* natselection (Nathan Gifford) - Joined: ?? &lt;br /&gt;
* Seblod (Sebastian Lapoux) - Joined: ?? &lt;br /&gt;
* Andy Sharman - Joined: ?? &lt;br /&gt;
* Herdboy.789 (Mustaq Sheikh)  - Joined: ??&lt;br /&gt;
* Eduardo Lomeli   - Joined: ??&lt;br /&gt;
* Costas.Kakousis  - Joined: ??&lt;br /&gt;
* hooduku  - Joined: ??&lt;br /&gt;
* Sudhi  - Joined: ??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2010 ==&lt;br /&gt;
* LaFrance (Pierre Gazzola) - Joined: 10-01-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=87230&lt;br /&gt;
* ot2sen (Ole Bang Ottosen) - Joined (appointed by CLT): 09-03-2010 / Left 25-03-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=178&lt;br /&gt;
* Danayel (Daniel Chapman) - Joined: 03-08-2010 / Left 20-09-2010 &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=94326&lt;br /&gt;
* jeffchannell (Jeff Channels) - Joined: 17-08-2010 / Left 11-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=322239&lt;br /&gt;
* mlipscomb (Matt Lipscomb) - (appointed by CLT 06-08-2010)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=293859&lt;br /&gt;
* porwig (Paul Orwig) - (appointed by CLT 06-08-2010) Left: 31-12-2011)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=251146 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2009 ==&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: before 12-02-2009&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* tj.baker (TJ Baker) - Joined: 31-12-2009 / Left: 02-08-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=23008&lt;br /&gt;
* nonumber (Peter Van Westen) - Joined: 15-09-2009 / Left: 3-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=59328&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2008 ==&lt;br /&gt;
* Horus_68 (Paulo Izidoro) - Joined: 08-01-2008 /&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6515&lt;br /&gt;
* timothy.stiffler (Timothy Stiffler) - Joined: 21-01-2008 / Left: 16-04-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=138200&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: after 14-06-2008 / &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* Toni Marie - Joined: 10-03-2008 / Left: 06-08-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=35733&lt;br /&gt;
* alledia (Steve Burge) - Joined: 10-03-2008 / Left: 20-04-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=46545&lt;br /&gt;
* mindiam (Ben Rogers) - Joined: 29-03-2008 / Left: 20-08-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=4340&lt;br /&gt;
* Geoff (Geoff Cheung)- Joined: 09-09-2008 / Left: ??&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=32483&lt;br /&gt;
* normdouglas (Norm Douglas) - Joined: 26-12-2009 / Left: 09-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=19591&lt;br /&gt;
* vdrover (Victor Drover) - Joined: 26-12-2008 / Left: 06-04-2012&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=25584 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2007 ==&lt;br /&gt;
* doctorj (Josh) - Joined: 02-07-2007 / Left: 27-08-2007&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=3420&lt;br /&gt;
* ircmaxell (Anthony Ferrara) - Joined: 13-12-2007 / Left: 29-05-2008 (?)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=11402&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2006 ==&lt;br /&gt;
* Tonie (Tonie de Wilde) - Joined: 05-03-2006  / Left: 29-04-2008 &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=100&lt;br /&gt;
* Vimes - Joined: 08-08-2006 / Left: 15-06-2007&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=561&lt;br /&gt;
* LorenzoG (Lorenzo Garcia) - Joined: 16-10-2006 / Left: 12-04-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=726&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-launch team - 2005==&lt;br /&gt;
Since 15-10-2005 until the directory launch on 05-03-2006 &amp;lt;ref&amp;gt;The 1st JED TEAM started his functions on 05 Mar 2006 (the directory opening day) &amp;quot;The Directory team which consists of Andy [rhuk], Graham [Graham Spice], ot2sen [Ole Bang Ottosen] and Lee [dknight]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gsbe (Graham Spice) - Joined: 15-10-2005 / Left: 03-05-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=33&lt;br /&gt;
* ot2sen (Ole Bang Ottosen) - Joined: 15-10-2005 / Left: 10-03-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=178&lt;br /&gt;
* dknight (Lee Cher Yeong) - Joined: 15-10-2005&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=79&lt;br /&gt;
* rhuk (Andy Miller) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=13&lt;br /&gt;
&lt;br /&gt;
===Pre-launch helpers===&lt;br /&gt;
original site template: rhuk&lt;br /&gt;
&lt;br /&gt;
code contributes: Andrew Eddie&lt;br /&gt;
&lt;br /&gt;
* manuman (Shayne Bartlett) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6&lt;br /&gt;
* DeanMarshall (Dean Marshall) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=595&lt;br /&gt;
* brad (Brad Baker) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=166991&lt;br /&gt;
* kenmcd (Ken McDonald) was the original &#039;collector&#039; of extensions&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=65&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Team Leaders =&lt;br /&gt;
Users in leadership roles at JED team&lt;br /&gt;
* Tonie (From 05-03-2006 to 29-04-2008)&lt;br /&gt;
* LorenzoG (From 29-04-2008 to 12-04-2010)&lt;br /&gt;
* Toni Marie (From 12-04-2010  to 06-08-2010)&lt;br /&gt;
* Co-managers (CLT appointment): mlipscomb (From 06-08-2010 to 31-12-2011) and porwig (From 06-08-2010 to 31-12-2011)&lt;br /&gt;
* Manager: mlipscomb (From 31-12-2011 to actual date )&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:JED]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JED_history&amp;diff=66101</id>
		<title>JED history</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JED_history&amp;diff=66101"/>
		<updated>2012-04-10T04:50:13Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
JED History: Joomla! Extensions Directory facts and dates&amp;lt;ref&amp;gt;The dates presented in this document are confirmed by different documents, public and private. The persons involved also contribute to revise this document. Our thanks to all&amp;lt;/ref&amp;gt;.&lt;br /&gt;
(Dates are in DD-MM-YYYY)&lt;br /&gt;
&lt;br /&gt;
= Special dates =&lt;br /&gt;
JED started on basis of [http://forum.joomla.org/viewtopic.php?t=25317 this list at Joomla! forum]&lt;br /&gt;
Ken actually started the list back when we were Mambo. It was then that a few of us began discussion an actual Directory as something that we should be working on.&lt;br /&gt;
&lt;br /&gt;
==A Directory is born==&lt;br /&gt;
* Directory Conception: 15-10-2005&lt;br /&gt;
* Directory Born: 05-03-2006&lt;br /&gt;
** Birth certificate: [http://forum.joomla.org/viewtopic.php?f=8&amp;amp;t=43586 It&#039;s Time to Celebrate the Freedom - Yet Again!] &lt;br /&gt;
&lt;br /&gt;
== Directory Baptism: ==&lt;br /&gt;
proposal by ot2sen - 12-08-2006&lt;br /&gt;
* full name: Joomla! Extensions Directory&lt;br /&gt;
* nick: JED&lt;br /&gt;
&lt;br /&gt;
== Extension numbers ==&lt;br /&gt;
JED launched with 314 extensions &amp;lt;ref&amp;gt;At the time with an estimated value of over $139,500 for the 310 free “310 extensions x 15 hours development per extension x $30/hour = $139,500. A ridiculously low estimate of the value of the extensions is well over $100,000 - for FREE”: http://forum.joomla.org/viewtopic.php?p=236402#p236402&amp;lt;/ref&amp;gt;,&lt;br /&gt;
* 314 extensions - 05-03-2006&lt;br /&gt;
* 1000 extensions mark - 16-09-2006&lt;br /&gt;
* 2000 extensions mark - 28-08-2007&lt;br /&gt;
* 3000 extensions mark - 20-01-2008&lt;br /&gt;
* 4000 extensions mark - 17-10-2008&lt;br /&gt;
* 5000 extensions mark - 27-05-2010&lt;br /&gt;
&lt;br /&gt;
== GPL only ==&lt;br /&gt;
* March 31 2009: the Joomla! Extensions Directory (JED) no longer accept non GPL&lt;br /&gt;
* July 1 2009: only GPL extensions are allowed to be listed&lt;br /&gt;
Announcement: [http://community.joomla.org/blogs/leadership/636-jed-to-be-gpl-only-by-july-2009.html JED to be GPL Only by July 2009]&lt;br /&gt;
&lt;br /&gt;
== Extension Versions ==&lt;br /&gt;
* No 1.0 extensions: March 31 2009, JED no longer accepts Joomla! 1.0 compatible-only extensions. However, accepts extensions compatible with Joomla! 1.0 and Joomla! 1.5&lt;br /&gt;
** Announcement: [http://community.joomla.org/blogs/community/629-jed-will-phase-out-joomla-10-extensions-in-june-2009.html JED Will Phase Out Joomla 1.0 Extensions in June 2009]&lt;br /&gt;
* No 1.5 legacy extensions -&lt;br /&gt;
* Open for 1.6 extensions - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= JED Team History =&lt;br /&gt;
== Actual JED Team ==&lt;br /&gt;
Team Profiles: http://forum.joomla.org/memberlist.php?mode=group &lt;br /&gt;
=== Manager ===&lt;br /&gt;
* mlipscomb (Matt Lipscomb) - (appointed by CLT 06-08-2010)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=2938&lt;br /&gt;
&lt;br /&gt;
=== Editors: ===&lt;br /&gt;
* Horus_68 (Paulo Izidoro) - Joined: 08-01-2008 /&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6515&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: 14-06-2008 / &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* LaFrance (Pierre Gazzola) - Joined: 10-01-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=87230&lt;br /&gt;
* Seblod (Sebastian Lapoux) - Joined: ?? &lt;br /&gt;
* Andy Sharman - Joined: ?? &lt;br /&gt;
* Herdboy (mustaq-ahmed)  - Joined: ??&lt;br /&gt;
* Nathan Gifford   - Joined: ??&lt;br /&gt;
* Costas Kakousis  - Joined: ??&lt;br /&gt;
* Daniel Dimitrov  - Joined: 22-02-2012&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Development ===&lt;br /&gt;
* Dknight (Lee Cher Yeong) - Joined: 15-10-2005&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=79&lt;br /&gt;
&lt;br /&gt;
== Joined in 2012 ==&lt;br /&gt;
* Daniel Dimitrov  - Joined: 22-02-2012&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2011 ==&lt;br /&gt;
* natselection (Nathan Gifford) - Joined: ?? &lt;br /&gt;
* Seblod (Sebastian Lapoux) - Joined: ?? &lt;br /&gt;
* Andy Sharman - Joined: ?? &lt;br /&gt;
* Herdboy.789 (MustaqS)  - Joined: ??&lt;br /&gt;
* Herdboy (mustaq-ahmed)  - Joined: ??&lt;br /&gt;
* Eduardo Lomeli   - Joined: ??&lt;br /&gt;
* Costas.Kakousis  - Joined: ??&lt;br /&gt;
* hooduku  - Joined: ??&lt;br /&gt;
* Sudhi  - Joined: ??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2010 ==&lt;br /&gt;
* LaFrance (Pierre Gazzola) - Joined: 10-01-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=87230&lt;br /&gt;
* ot2sen (Ole Bang Ottosen) - Joined (appointed by CLT): 09-03-2010 / Left 25-03-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=178&lt;br /&gt;
* Danayel (Daniel Chapman) - Joined: 03-08-2010 / Left 20-09-2010 &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=94326&lt;br /&gt;
* jeffchannell (Jeff Channels) - Joined: 17-08-2010 / Left 11-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=322239&lt;br /&gt;
* mlipscomb (Matt Lipscomb) - (appointed by CLT 06-08-2010)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=293859&lt;br /&gt;
* porwig (Paul Orwig) - (appointed by CLT 06-08-2010) Left: 31-12-2011)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=251146 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2009 ==&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: before 12-02-2009&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* tj.baker (TJ Baker) - Joined: 31-12-2009 / Left: 02-08-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=23008&lt;br /&gt;
* nonumber (Peter Van Westen) - Joined: 15-09-2009 / Left: 3-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=59328&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2008 ==&lt;br /&gt;
* Horus_68 (Paulo Izidoro) - Joined: 08-01-2008 /&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6515&lt;br /&gt;
* timothy.stiffler (Timothy Stiffler) - Joined: 21-01-2008 / Left: 16-04-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=138200&lt;br /&gt;
* astgeorge (Aaron St.George) - Joined: after 14-06-2008 / &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=97007&lt;br /&gt;
* Toni Marie - Joined: 10-03-2008 / Left: 06-08-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=35733&lt;br /&gt;
* alledia (Steve Burge) - Joined: 10-03-2008 / Left: 20-04-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=46545&lt;br /&gt;
* mindiam (Ben Rogers) - Joined: 29-03-2008 / Left: 20-08-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=4340&lt;br /&gt;
* Geoff (Geoff Cheung)- Joined: 09-09-2008 / Left: ??&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=32483&lt;br /&gt;
* normdouglas (Norm Douglas) - Joined: 26-12-2009 / Left: 09-09-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=19591&lt;br /&gt;
* vdrover (Victor Drover) - Joined: 26-12-2008 / Left: 06-04-2012&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=25584 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2007 ==&lt;br /&gt;
* doctorj (Josh) - Joined: 02-07-2007 / Left: 27-08-2007&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=3420&lt;br /&gt;
* ircmaxell (Anthony Ferrara) - Joined: 13-12-2007 / Left: 29-05-2008 (?)&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=11402&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Joined in 2006 ==&lt;br /&gt;
* Tonie (Tonie de Wilde) - Joined: 05-03-2006  / Left: 29-04-2008 &lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=100&lt;br /&gt;
* Vimes - Joined: 08-08-2006 / Left: 15-06-2007&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=561&lt;br /&gt;
* LorenzoG (Lorenzo Garcia) - Joined: 16-10-2006 / Left: 12-04-2010&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=726&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-launch team - 2005==&lt;br /&gt;
Since 15-10-2005 until the directory launch on 05-03-2006 &amp;lt;ref&amp;gt;The 1st JED TEAM started his functions on 05 Mar 2006 (the directory opening day) &amp;quot;The Directory team which consists of Andy [rhuk], Graham [Graham Spice], ot2sen [Ole Bang Ottosen] and Lee [dknight]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gsbe (Graham Spice) - Joined: 15-10-2005 / Left: 03-05-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=33&lt;br /&gt;
* ot2sen (Ole Bang Ottosen) - Joined: 15-10-2005 / Left: 10-03-2008&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=178&lt;br /&gt;
* dknight (Lee Cher Yeong) - Joined: 15-10-2005&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=79&lt;br /&gt;
* rhuk (Andy Miller) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=13&lt;br /&gt;
&lt;br /&gt;
===Pre-launch helpers===&lt;br /&gt;
original site template: rhuk&lt;br /&gt;
&lt;br /&gt;
code contributes: Andrew Eddie&lt;br /&gt;
&lt;br /&gt;
* manuman (Shayne Bartlett) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=6&lt;br /&gt;
* DeanMarshall (Dean Marshall) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=595&lt;br /&gt;
* brad (Brad Baker) - Joined: 15-10-2005 / Left: 05-03-2006&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=166991&lt;br /&gt;
* kenmcd (Ken McDonald) was the original &#039;collector&#039; of extensions&lt;br /&gt;
http://forum.joomla.org/memberlist.php?mode=viewprofile&amp;amp;u=65&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Team Leaders =&lt;br /&gt;
Users in leadership roles at JED team&lt;br /&gt;
* Tonie (From 05-03-2006 to 29-04-2008)&lt;br /&gt;
* LorenzoG (From 29-04-2008 to 12-04-2010)&lt;br /&gt;
* Toni Marie (From 12-04-2010  to 06-08-2010)&lt;br /&gt;
* Co-managers (CLT appointment): mlipscomb (From 06-08-2010 to 31-12-2011) and porwig (From 06-08-2010 to 31-12-2011)&lt;br /&gt;
* Manager: mlipscomb (From 31-12-2011 to actual date )&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:JED]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66089</id>
		<title>One click updates for language packs</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66089"/>
		<updated>2012-04-09T19:20:29Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* Before proceeding: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Joomla has the ability to install language packs updates with just one click. This can be done for [[Creating_language_packs_for_extensions_in_Joomla_2.5|language core files]] but also for extensions languages files&lt;br /&gt;
&lt;br /&gt;
== Before proceeding: ==&lt;br /&gt;
You should read:&lt;br /&gt;
# [[Help16:Extensions_Extension_Manager_Update|Extension Manager Update]]&lt;br /&gt;
# [[Creating_language_packs_for_extensions_in_Joomla_2.5|Creating language packs for extensions in Joomla 2.5]]&lt;br /&gt;
&lt;br /&gt;
== Language pack XML ==&lt;br /&gt;
by including the &amp;quot;update server&amp;quot; tag on XML language packs you can have oneclick updates for extension languages. This needs to be included in the XML language pack and it links to an update server. Joomla extension update panel checks the installed XML language packs for the version number and update server. If the update server has more recent version number it alerts for an updated available&lt;br /&gt;
&lt;br /&gt;
=== Update Server tag ===&lt;br /&gt;
Language pack XML file needs to include (zz-ZZ stands for your language code):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
See full example here: [[Creating_language_packs_for_extensions_in_Joomla_2.5|Creating language packs for extensions in Joomla 2.5]]&lt;br /&gt;
&lt;br /&gt;
== Update Server ==&lt;br /&gt;
A tiny web space its required to state the latest version and URL for downloadable packs. You can post the zip packs in a different domain but all files need to be directly linked!&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; to keep it clean you can use a subdomain just for updates as in http://update.zzZZ.com/&lt;br /&gt;
&lt;br /&gt;
=== Update server packs list ===&lt;br /&gt;
The update server will include one translationlist.xml with all the latest language release versions. This is done with a tag for each extension/language available.&lt;br /&gt;
&lt;br /&gt;
If you wanto to create an update server list for Joomla + tinyMCE + 2 different components (using the names Jupiter and Pluto as component names) for the zz-ZZ language, the translationlist.xml contents would be:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extensionset name=&amp;quot;zz-ZZ Language Updates&amp;quot; description=&amp;quot;zz-ZZ Joomla core and extensions languages updates&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Joomla&amp;quot; element=&amp;quot;pkg_zz-ZZ&amp;quot; type=&amp;quot;package&amp;quot; version=&amp;quot;2.5.4.2&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for TinyMCE&amp;quot; element=&amp;quot;file_tinymce_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.4.7.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_tinymce.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Jupiter&amp;quot; element=&amp;quot;file_jupiter_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;2.0.2.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_jupiter.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Pluto&amp;quot; element=&amp;quot;file_pluto_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.0.3.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/pt-PT_details_pluto.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/extensionset&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* element info = same as the XML file name on the language pack  &#039;&#039;file_jupiter_pt-PT.xml&#039;&#039;. This name will never change!&lt;br /&gt;
* version number = the version number for the latest language pack as stated in version field at the updated XML pack file:   &#039;&#039;&amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; the translation language version should use the same version number as the extension itself (as in 2.0.2.x) and one more number for each translation version (as in x.x.x.1) so you can easily remember what extension version is that translation good for!&lt;br /&gt;
&lt;br /&gt;
=== Details update packs ===&lt;br /&gt;
Listed in the &#039;&#039;translationlist.xml&#039;&#039; are the different languages packs available to update. Each pack URL and version its stated in an single &#039;&#039;details xml file&#039;&#039; for each extension.&lt;br /&gt;
A details XML file would include the details for that language pack as in:&lt;br /&gt;
&#039;&#039;\details\zz-ZZ_details_jupiter.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;updates&amp;gt;&lt;br /&gt;
  &amp;lt;update&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;zz-ZZ language for Jupiter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;zz-ZZ language for Jupiter 2.0.2&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;element&amp;gt;file_jupiter_zz-ZZ&amp;lt;/element&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;file&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;downloads&amp;gt;&lt;br /&gt;
      &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://joomlacode.org/gf/download/frsrelease/3238/72703/jupiter_202_lang_zz-ZZ_v2021.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
    &amp;lt;/downloads&amp;gt;&lt;br /&gt;
    &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/update&amp;gt;&lt;br /&gt;
&amp;lt;/updates&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
This can have more than one language pack (inside &amp;lt;updates&amp;gt; ... &amp;lt;/updates&amp;gt; ) but you can only list one extension by file.&lt;br /&gt;
&lt;br /&gt;
== Updating language files ==&lt;br /&gt;
A translations its a work in progress and require frequent updates. To deliver your new language files you need:&lt;br /&gt;
# Update the language files.&lt;br /&gt;
## Edit the language pack XML file for version number&lt;br /&gt;
# Publish the new zip pack&lt;br /&gt;
## Get URL for a direct download&lt;br /&gt;
# Edit the Update server files&lt;br /&gt;
## Update the version number at translationlist.xml&lt;br /&gt;
## Update the &#039;&#039;\details\zz-ZZ_details_jupiter.xml&#039;&#039; for new translation version number and URL for direct download pack&lt;br /&gt;
&lt;br /&gt;
Users just need to check for updates on Joomla panel to get the new language pack installed!&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66088</id>
		<title>One click updates for language packs</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66088"/>
		<updated>2012-04-09T19:19:54Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* Before proceeding: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Joomla has the ability to install language packs updates with just one click. This can be done for [[Creating_language_packs_for_extensions_in_Joomla_2.5|language core files]] but also for extensions languages files&lt;br /&gt;
&lt;br /&gt;
== Before proceeding: ==&lt;br /&gt;
You should read:&lt;br /&gt;
&lt;br /&gt;
1- [[Help16:Extensions_Extension_Manager_Update|Extension Manager Update]]&lt;br /&gt;
&lt;br /&gt;
2- [[Creating_language_packs_for_extensions_in_Joomla_2.5|Creating language packs for extensions in Joomla 2.5]]&lt;br /&gt;
&lt;br /&gt;
== Language pack XML ==&lt;br /&gt;
by including the &amp;quot;update server&amp;quot; tag on XML language packs you can have oneclick updates for extension languages. This needs to be included in the XML language pack and it links to an update server. Joomla extension update panel checks the installed XML language packs for the version number and update server. If the update server has more recent version number it alerts for an updated available&lt;br /&gt;
&lt;br /&gt;
=== Update Server tag ===&lt;br /&gt;
Language pack XML file needs to include (zz-ZZ stands for your language code):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
See full example here: [[Creating_language_packs_for_extensions_in_Joomla_2.5|Creating language packs for extensions in Joomla 2.5]]&lt;br /&gt;
&lt;br /&gt;
== Update Server ==&lt;br /&gt;
A tiny web space its required to state the latest version and URL for downloadable packs. You can post the zip packs in a different domain but all files need to be directly linked!&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; to keep it clean you can use a subdomain just for updates as in http://update.zzZZ.com/&lt;br /&gt;
&lt;br /&gt;
=== Update server packs list ===&lt;br /&gt;
The update server will include one translationlist.xml with all the latest language release versions. This is done with a tag for each extension/language available.&lt;br /&gt;
&lt;br /&gt;
If you wanto to create an update server list for Joomla + tinyMCE + 2 different components (using the names Jupiter and Pluto as component names) for the zz-ZZ language, the translationlist.xml contents would be:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extensionset name=&amp;quot;zz-ZZ Language Updates&amp;quot; description=&amp;quot;zz-ZZ Joomla core and extensions languages updates&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Joomla&amp;quot; element=&amp;quot;pkg_zz-ZZ&amp;quot; type=&amp;quot;package&amp;quot; version=&amp;quot;2.5.4.2&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for TinyMCE&amp;quot; element=&amp;quot;file_tinymce_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.4.7.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_tinymce.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Jupiter&amp;quot; element=&amp;quot;file_jupiter_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;2.0.2.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_jupiter.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Pluto&amp;quot; element=&amp;quot;file_pluto_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.0.3.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/pt-PT_details_pluto.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/extensionset&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* element info = same as the XML file name on the language pack  &#039;&#039;file_jupiter_pt-PT.xml&#039;&#039;. This name will never change!&lt;br /&gt;
* version number = the version number for the latest language pack as stated in version field at the updated XML pack file:   &#039;&#039;&amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; the translation language version should use the same version number as the extension itself (as in 2.0.2.x) and one more number for each translation version (as in x.x.x.1) so you can easily remember what extension version is that translation good for!&lt;br /&gt;
&lt;br /&gt;
=== Details update packs ===&lt;br /&gt;
Listed in the &#039;&#039;translationlist.xml&#039;&#039; are the different languages packs available to update. Each pack URL and version its stated in an single &#039;&#039;details xml file&#039;&#039; for each extension.&lt;br /&gt;
A details XML file would include the details for that language pack as in:&lt;br /&gt;
&#039;&#039;\details\zz-ZZ_details_jupiter.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;updates&amp;gt;&lt;br /&gt;
  &amp;lt;update&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;zz-ZZ language for Jupiter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;zz-ZZ language for Jupiter 2.0.2&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;element&amp;gt;file_jupiter_zz-ZZ&amp;lt;/element&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;file&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;downloads&amp;gt;&lt;br /&gt;
      &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://joomlacode.org/gf/download/frsrelease/3238/72703/jupiter_202_lang_zz-ZZ_v2021.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
    &amp;lt;/downloads&amp;gt;&lt;br /&gt;
    &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/update&amp;gt;&lt;br /&gt;
&amp;lt;/updates&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
This can have more than one language pack (inside &amp;lt;updates&amp;gt; ... &amp;lt;/updates&amp;gt; ) but you can only list one extension by file.&lt;br /&gt;
&lt;br /&gt;
== Updating language files ==&lt;br /&gt;
A translations its a work in progress and require frequent updates. To deliver your new language files you need:&lt;br /&gt;
# Update the language files.&lt;br /&gt;
## Edit the language pack XML file for version number&lt;br /&gt;
# Publish the new zip pack&lt;br /&gt;
## Get URL for a direct download&lt;br /&gt;
# Edit the Update server files&lt;br /&gt;
## Update the version number at translationlist.xml&lt;br /&gt;
## Update the &#039;&#039;\details\zz-ZZ_details_jupiter.xml&#039;&#039; for new translation version number and URL for direct download pack&lt;br /&gt;
&lt;br /&gt;
Users just need to check for updates on Joomla panel to get the new language pack installed!&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66087</id>
		<title>One click updates for language packs</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66087"/>
		<updated>2012-04-09T19:19:38Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* Before proceeding: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Joomla has the ability to install language packs updates with just one click. This can be done for [[Creating_language_packs_for_extensions_in_Joomla_2.5|language core files]] but also for extensions languages files&lt;br /&gt;
&lt;br /&gt;
== Before proceeding: ==&lt;br /&gt;
You should read:&lt;br /&gt;
1- [[Help16:Extensions_Extension_Manager_Update|Extension Manager Update]]&lt;br /&gt;
&lt;br /&gt;
2- [[Creating_language_packs_for_extensions_in_Joomla_2.5|Creating language packs for extensions in Joomla 2.5]]&lt;br /&gt;
&lt;br /&gt;
== Language pack XML ==&lt;br /&gt;
by including the &amp;quot;update server&amp;quot; tag on XML language packs you can have oneclick updates for extension languages. This needs to be included in the XML language pack and it links to an update server. Joomla extension update panel checks the installed XML language packs for the version number and update server. If the update server has more recent version number it alerts for an updated available&lt;br /&gt;
&lt;br /&gt;
=== Update Server tag ===&lt;br /&gt;
Language pack XML file needs to include (zz-ZZ stands for your language code):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
See full example here: [[Creating_language_packs_for_extensions_in_Joomla_2.5|Creating language packs for extensions in Joomla 2.5]]&lt;br /&gt;
&lt;br /&gt;
== Update Server ==&lt;br /&gt;
A tiny web space its required to state the latest version and URL for downloadable packs. You can post the zip packs in a different domain but all files need to be directly linked!&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; to keep it clean you can use a subdomain just for updates as in http://update.zzZZ.com/&lt;br /&gt;
&lt;br /&gt;
=== Update server packs list ===&lt;br /&gt;
The update server will include one translationlist.xml with all the latest language release versions. This is done with a tag for each extension/language available.&lt;br /&gt;
&lt;br /&gt;
If you wanto to create an update server list for Joomla + tinyMCE + 2 different components (using the names Jupiter and Pluto as component names) for the zz-ZZ language, the translationlist.xml contents would be:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extensionset name=&amp;quot;zz-ZZ Language Updates&amp;quot; description=&amp;quot;zz-ZZ Joomla core and extensions languages updates&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Joomla&amp;quot; element=&amp;quot;pkg_zz-ZZ&amp;quot; type=&amp;quot;package&amp;quot; version=&amp;quot;2.5.4.2&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for TinyMCE&amp;quot; element=&amp;quot;file_tinymce_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.4.7.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_tinymce.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Jupiter&amp;quot; element=&amp;quot;file_jupiter_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;2.0.2.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_jupiter.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Pluto&amp;quot; element=&amp;quot;file_pluto_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.0.3.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/pt-PT_details_pluto.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/extensionset&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* element info = same as the XML file name on the language pack  &#039;&#039;file_jupiter_pt-PT.xml&#039;&#039;. This name will never change!&lt;br /&gt;
* version number = the version number for the latest language pack as stated in version field at the updated XML pack file:   &#039;&#039;&amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; the translation language version should use the same version number as the extension itself (as in 2.0.2.x) and one more number for each translation version (as in x.x.x.1) so you can easily remember what extension version is that translation good for!&lt;br /&gt;
&lt;br /&gt;
=== Details update packs ===&lt;br /&gt;
Listed in the &#039;&#039;translationlist.xml&#039;&#039; are the different languages packs available to update. Each pack URL and version its stated in an single &#039;&#039;details xml file&#039;&#039; for each extension.&lt;br /&gt;
A details XML file would include the details for that language pack as in:&lt;br /&gt;
&#039;&#039;\details\zz-ZZ_details_jupiter.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;updates&amp;gt;&lt;br /&gt;
  &amp;lt;update&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;zz-ZZ language for Jupiter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;zz-ZZ language for Jupiter 2.0.2&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;element&amp;gt;file_jupiter_zz-ZZ&amp;lt;/element&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;file&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;downloads&amp;gt;&lt;br /&gt;
      &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://joomlacode.org/gf/download/frsrelease/3238/72703/jupiter_202_lang_zz-ZZ_v2021.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
    &amp;lt;/downloads&amp;gt;&lt;br /&gt;
    &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/update&amp;gt;&lt;br /&gt;
&amp;lt;/updates&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
This can have more than one language pack (inside &amp;lt;updates&amp;gt; ... &amp;lt;/updates&amp;gt; ) but you can only list one extension by file.&lt;br /&gt;
&lt;br /&gt;
== Updating language files ==&lt;br /&gt;
A translations its a work in progress and require frequent updates. To deliver your new language files you need:&lt;br /&gt;
# Update the language files.&lt;br /&gt;
## Edit the language pack XML file for version number&lt;br /&gt;
# Publish the new zip pack&lt;br /&gt;
## Get URL for a direct download&lt;br /&gt;
# Edit the Update server files&lt;br /&gt;
## Update the version number at translationlist.xml&lt;br /&gt;
## Update the &#039;&#039;\details\zz-ZZ_details_jupiter.xml&#039;&#039; for new translation version number and URL for direct download pack&lt;br /&gt;
&lt;br /&gt;
Users just need to check for updates on Joomla panel to get the new language pack installed!&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66086</id>
		<title>One click updates for language packs</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66086"/>
		<updated>2012-04-09T19:19:16Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Joomla has the ability to install language packs updates with just one click. This can be done for [[Creating_language_packs_for_extensions_in_Joomla_2.5|language core files]] but also for extensions languages files&lt;br /&gt;
&lt;br /&gt;
== Before proceeding: ==&lt;br /&gt;
You should read:&lt;br /&gt;
1- [[Help16:Extensions_Extension_Manager_Update|Extension Manager Update]]&lt;br /&gt;
2- [[Creating_language_packs_for_extensions_in_Joomla_2.5|Creating language packs for extensions in Joomla 2.5]]&lt;br /&gt;
&lt;br /&gt;
== Language pack XML ==&lt;br /&gt;
by including the &amp;quot;update server&amp;quot; tag on XML language packs you can have oneclick updates for extension languages. This needs to be included in the XML language pack and it links to an update server. Joomla extension update panel checks the installed XML language packs for the version number and update server. If the update server has more recent version number it alerts for an updated available&lt;br /&gt;
&lt;br /&gt;
=== Update Server tag ===&lt;br /&gt;
Language pack XML file needs to include (zz-ZZ stands for your language code):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
See full example here: [[Creating_language_packs_for_extensions_in_Joomla_2.5|Creating language packs for extensions in Joomla 2.5]]&lt;br /&gt;
&lt;br /&gt;
== Update Server ==&lt;br /&gt;
A tiny web space its required to state the latest version and URL for downloadable packs. You can post the zip packs in a different domain but all files need to be directly linked!&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; to keep it clean you can use a subdomain just for updates as in http://update.zzZZ.com/&lt;br /&gt;
&lt;br /&gt;
=== Update server packs list ===&lt;br /&gt;
The update server will include one translationlist.xml with all the latest language release versions. This is done with a tag for each extension/language available.&lt;br /&gt;
&lt;br /&gt;
If you wanto to create an update server list for Joomla + tinyMCE + 2 different components (using the names Jupiter and Pluto as component names) for the zz-ZZ language, the translationlist.xml contents would be:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extensionset name=&amp;quot;zz-ZZ Language Updates&amp;quot; description=&amp;quot;zz-ZZ Joomla core and extensions languages updates&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Joomla&amp;quot; element=&amp;quot;pkg_zz-ZZ&amp;quot; type=&amp;quot;package&amp;quot; version=&amp;quot;2.5.4.2&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for TinyMCE&amp;quot; element=&amp;quot;file_tinymce_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.4.7.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_tinymce.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Jupiter&amp;quot; element=&amp;quot;file_jupiter_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;2.0.2.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_jupiter.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Pluto&amp;quot; element=&amp;quot;file_pluto_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.0.3.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/pt-PT_details_pluto.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/extensionset&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* element info = same as the XML file name on the language pack  &#039;&#039;file_jupiter_pt-PT.xml&#039;&#039;. This name will never change!&lt;br /&gt;
* version number = the version number for the latest language pack as stated in version field at the updated XML pack file:   &#039;&#039;&amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; the translation language version should use the same version number as the extension itself (as in 2.0.2.x) and one more number for each translation version (as in x.x.x.1) so you can easily remember what extension version is that translation good for!&lt;br /&gt;
&lt;br /&gt;
=== Details update packs ===&lt;br /&gt;
Listed in the &#039;&#039;translationlist.xml&#039;&#039; are the different languages packs available to update. Each pack URL and version its stated in an single &#039;&#039;details xml file&#039;&#039; for each extension.&lt;br /&gt;
A details XML file would include the details for that language pack as in:&lt;br /&gt;
&#039;&#039;\details\zz-ZZ_details_jupiter.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;updates&amp;gt;&lt;br /&gt;
  &amp;lt;update&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;zz-ZZ language for Jupiter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;zz-ZZ language for Jupiter 2.0.2&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;element&amp;gt;file_jupiter_zz-ZZ&amp;lt;/element&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;file&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;downloads&amp;gt;&lt;br /&gt;
      &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://joomlacode.org/gf/download/frsrelease/3238/72703/jupiter_202_lang_zz-ZZ_v2021.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
    &amp;lt;/downloads&amp;gt;&lt;br /&gt;
    &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/update&amp;gt;&lt;br /&gt;
&amp;lt;/updates&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
This can have more than one language pack (inside &amp;lt;updates&amp;gt; ... &amp;lt;/updates&amp;gt; ) but you can only list one extension by file.&lt;br /&gt;
&lt;br /&gt;
== Updating language files ==&lt;br /&gt;
A translations its a work in progress and require frequent updates. To deliver your new language files you need:&lt;br /&gt;
# Update the language files.&lt;br /&gt;
## Edit the language pack XML file for version number&lt;br /&gt;
# Publish the new zip pack&lt;br /&gt;
## Get URL for a direct download&lt;br /&gt;
# Edit the Update server files&lt;br /&gt;
## Update the version number at translationlist.xml&lt;br /&gt;
## Update the &#039;&#039;\details\zz-ZZ_details_jupiter.xml&#039;&#039; for new translation version number and URL for direct download pack&lt;br /&gt;
&lt;br /&gt;
Users just need to check for updates on Joomla panel to get the new language pack installed!&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66085</id>
		<title>Creating language packs for extensions in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66085"/>
		<updated>2012-04-09T19:14:39Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* One click updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Although Joomla 2.5 supports installing language files for the front end (site) or back end (admin), it has no dedicated way to install language files for extensions (components, plugins, modules) unless they are installed with the extension itself.&lt;br /&gt;
&lt;br /&gt;
Fortunately, since Joomla 1.6, Joomla! supports a powerful way to install an arbitrary set of files called a &#039;files&#039; installation unit.&lt;br /&gt;
Here you will find examples for file structure, XML and lang files content and an installation unit set of files.&lt;br /&gt;
* All of the language files could technically have been in the top directory, but this example will show how to set up files in folders in the language pack folder using the &#039;folder=&#039; attribute in the XML &amp;lt;files&amp;gt; tag.  Also, putting them in folders as shown ensures that the installer can find them during installation to use them to display the name of the language pack as part of the installation confirmation.&lt;br /&gt;
&lt;br /&gt;
== Example Plugin Language Pack ==&lt;br /&gt;
&lt;br /&gt;
Suppose you have a content plugin named &#039;ganymede&#039; that you want to create a new language pack for language zz-ZZ.  Here is what your language pack files in the folder &#039;ganymede_zz_zz_language_pack&#039; might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── ganymede_zz_zz_language_pack&lt;br /&gt;
   ├── index.html&lt;br /&gt;
   ├── ganymede_zz_zz_language_pack.xml&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the file &#039;ganymede_zz_zz_language_pack.xml&#039; is the installation manifest file.  &lt;br /&gt;
&lt;br /&gt;
=== Special lang files for label ===&lt;br /&gt;
Languages files for the set of files. You need to create one file for the lang pack, and a reference file for en-GB. They will be installed in Joomla admin language folder and the contents its displayed on the install screen and as label in extension manager&lt;br /&gt;
&lt;br /&gt;
The file  &#039;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have this language keys in english:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede en-GB file for zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have similar contents only in zz-ZZ lang:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that the name of the language key (to the left of the equals sign) must be identical to the name of the manifest file prefixed with &#039;files_&#039; in order for the extension manager to find it.&lt;br /&gt;
As in &#039;FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&#039; for XML file named &#039;ganymede_zz_zz_language_pack.xml&#039; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example plugin manifest file ===&lt;br /&gt;
The manifest file would look something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 - 2012. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Language files for the plugin --&amp;gt;&lt;br /&gt;
        &amp;lt;files target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
    &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special note:&lt;br /&gt;
This example includes also the update servers statement for languages updates using the discovery feature on Joomla Extensions manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A few notes and warnings:&lt;br /&gt;
* Once this installed, the pseudo-language pack will be listed in the Extension manager (not the language manager).&lt;br /&gt;
* This approach installs the plugin language files into the correct location inside the plugin folder.  This is the new approach for the location of extension language files in Joomla 1.6+.&lt;br /&gt;
* The language files &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; (and its English counterpart) will be put into the top-level (site) language/ folder. They are only needed for displaying the name of this pseudo-language pack in the Extension manager.&lt;br /&gt;
* The English version of the language pack file need to be included. This is not only for convenience even if English is often a second language for many sites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a language pack for several extensions in one file ==&lt;br /&gt;
This same a approach can be used to create a single language pack for several extensions at once.  Just create a language pack as shown above for a plugin and add additional &amp;lt;files&amp;gt; sections for each component, plugin, and module.  An additional benefit is that language-specific versions of the help file can be installed in their correct locations as well.  &lt;br /&gt;
&lt;br /&gt;
For example suppose we have an extension composed by a plugin &#039;ganymede&#039; and a component &#039;jupiter&#039;.  To create the zz-ZZ language pack, set up files in the following directory structure:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── jupiter_zz_zz_language_pack&lt;br /&gt;
   ├── jupiter_zz_zz_language_pack.xml&lt;br /&gt;
   ├── com_jupiter&lt;br /&gt;
   │   ├── administrator&lt;br /&gt;
   │   │   ├── help&lt;br /&gt;
   │   │   │   └── zz-ZZ&lt;br /&gt;
   │   │   │       ├── help.css&lt;br /&gt;
   │   │   │       ├── help.html&lt;br /&gt;
   │   │   │       └── index.html&lt;br /&gt;
   │   │   ├── index.html&lt;br /&gt;
   │   │   ├── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   │   │   └── zz-ZZ.com_jupiter.sys.ini&lt;br /&gt;
   │   └── language&lt;br /&gt;
   │       ├── index.html&lt;br /&gt;
   │       └── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   ├── plg_ganymede&lt;br /&gt;
   │   ├── index.html&lt;br /&gt;
   │   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   │   └── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manifest file for component and plugin ===&lt;br /&gt;
The corresponding manifest file for jupiter_zz_zz_language_pack.xml, would like something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 ???. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator&amp;quot; target=&amp;quot;administrator/components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component zz language help folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator/help/&amp;quot; target=&amp;quot;administrator/components/com_jupiter/help&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;folder&amp;gt;zz-ZZ&amp;lt;/folder&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Site component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/language&amp;quot; target=&amp;quot;components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Ganymede plugin language files --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;plg_ganymede&amp;quot; target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;en-GB.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we have created several different &amp;lt;files&amp;gt; sections for the admin language files, the admin help files, the site language files, the plugin language files, and the language files for the language pack itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example installation unit ==&lt;br /&gt;
SVN &#039;files&#039; for:&lt;br /&gt;
[http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftrunk%2Ftests%2F_data%2Finstaller_packages%2Ffiles_test1%2F Installation unit for an arbitrary set of files named &#039;files_test1&#039;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One click updates ==&lt;br /&gt;
Joomla has the ability to install language packs updates with just one click. This can be done for language core files but also for extensions languages files.&lt;br /&gt;
&lt;br /&gt;
Read here:  [[One_click_updates_for_language_packs|One click updates for language packs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]] [[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66084</id>
		<title>Creating language packs for extensions in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66084"/>
		<updated>2012-04-09T19:13:40Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* One click updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Although Joomla 2.5 supports installing language files for the front end (site) or back end (admin), it has no dedicated way to install language files for extensions (components, plugins, modules) unless they are installed with the extension itself.&lt;br /&gt;
&lt;br /&gt;
Fortunately, since Joomla 1.6, Joomla! supports a powerful way to install an arbitrary set of files called a &#039;files&#039; installation unit.&lt;br /&gt;
Here you will find examples for file structure, XML and lang files content and an installation unit set of files.&lt;br /&gt;
* All of the language files could technically have been in the top directory, but this example will show how to set up files in folders in the language pack folder using the &#039;folder=&#039; attribute in the XML &amp;lt;files&amp;gt; tag.  Also, putting them in folders as shown ensures that the installer can find them during installation to use them to display the name of the language pack as part of the installation confirmation.&lt;br /&gt;
&lt;br /&gt;
== Example Plugin Language Pack ==&lt;br /&gt;
&lt;br /&gt;
Suppose you have a content plugin named &#039;ganymede&#039; that you want to create a new language pack for language zz-ZZ.  Here is what your language pack files in the folder &#039;ganymede_zz_zz_language_pack&#039; might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── ganymede_zz_zz_language_pack&lt;br /&gt;
   ├── index.html&lt;br /&gt;
   ├── ganymede_zz_zz_language_pack.xml&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the file &#039;ganymede_zz_zz_language_pack.xml&#039; is the installation manifest file.  &lt;br /&gt;
&lt;br /&gt;
=== Special lang files for label ===&lt;br /&gt;
Languages files for the set of files. You need to create one file for the lang pack, and a reference file for en-GB. They will be installed in Joomla admin language folder and the contents its displayed on the install screen and as label in extension manager&lt;br /&gt;
&lt;br /&gt;
The file  &#039;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have this language keys in english:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede en-GB file for zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have similar contents only in zz-ZZ lang:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that the name of the language key (to the left of the equals sign) must be identical to the name of the manifest file prefixed with &#039;files_&#039; in order for the extension manager to find it.&lt;br /&gt;
As in &#039;FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&#039; for XML file named &#039;ganymede_zz_zz_language_pack.xml&#039; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example plugin manifest file ===&lt;br /&gt;
The manifest file would look something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 - 2012. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Language files for the plugin --&amp;gt;&lt;br /&gt;
        &amp;lt;files target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
    &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special note:&lt;br /&gt;
This example includes also the update servers statement for languages updates using the discovery feature on Joomla Extensions manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A few notes and warnings:&lt;br /&gt;
* Once this installed, the pseudo-language pack will be listed in the Extension manager (not the language manager).&lt;br /&gt;
* This approach installs the plugin language files into the correct location inside the plugin folder.  This is the new approach for the location of extension language files in Joomla 1.6+.&lt;br /&gt;
* The language files &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; (and its English counterpart) will be put into the top-level (site) language/ folder. They are only needed for displaying the name of this pseudo-language pack in the Extension manager.&lt;br /&gt;
* The English version of the language pack file need to be included. This is not only for convenience even if English is often a second language for many sites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a language pack for several extensions in one file ==&lt;br /&gt;
This same a approach can be used to create a single language pack for several extensions at once.  Just create a language pack as shown above for a plugin and add additional &amp;lt;files&amp;gt; sections for each component, plugin, and module.  An additional benefit is that language-specific versions of the help file can be installed in their correct locations as well.  &lt;br /&gt;
&lt;br /&gt;
For example suppose we have an extension composed by a plugin &#039;ganymede&#039; and a component &#039;jupiter&#039;.  To create the zz-ZZ language pack, set up files in the following directory structure:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── jupiter_zz_zz_language_pack&lt;br /&gt;
   ├── jupiter_zz_zz_language_pack.xml&lt;br /&gt;
   ├── com_jupiter&lt;br /&gt;
   │   ├── administrator&lt;br /&gt;
   │   │   ├── help&lt;br /&gt;
   │   │   │   └── zz-ZZ&lt;br /&gt;
   │   │   │       ├── help.css&lt;br /&gt;
   │   │   │       ├── help.html&lt;br /&gt;
   │   │   │       └── index.html&lt;br /&gt;
   │   │   ├── index.html&lt;br /&gt;
   │   │   ├── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   │   │   └── zz-ZZ.com_jupiter.sys.ini&lt;br /&gt;
   │   └── language&lt;br /&gt;
   │       ├── index.html&lt;br /&gt;
   │       └── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   ├── plg_ganymede&lt;br /&gt;
   │   ├── index.html&lt;br /&gt;
   │   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   │   └── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manifest file for component and plugin ===&lt;br /&gt;
The corresponding manifest file for jupiter_zz_zz_language_pack.xml, would like something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 ???. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator&amp;quot; target=&amp;quot;administrator/components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component zz language help folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator/help/&amp;quot; target=&amp;quot;administrator/components/com_jupiter/help&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;folder&amp;gt;zz-ZZ&amp;lt;/folder&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Site component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/language&amp;quot; target=&amp;quot;components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Ganymede plugin language files --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;plg_ganymede&amp;quot; target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;en-GB.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we have created several different &amp;lt;files&amp;gt; sections for the admin language files, the admin help files, the site language files, the plugin language files, and the language files for the language pack itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example installation unit ==&lt;br /&gt;
SVN &#039;files&#039; for:&lt;br /&gt;
[http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftrunk%2Ftests%2F_data%2Finstaller_packages%2Ffiles_test1%2F Installation unit for an arbitrary set of files named &#039;files_test1&#039;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One click updates ==&lt;br /&gt;
Joomla has the ability to install language packs updates with just one click. This can be done for language core files but also for extensions languages files.&lt;br /&gt;
&lt;br /&gt;
Read here: One click updates for language packs [[One_click_updates_for_language_packs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]] [[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66083</id>
		<title>Creating language packs for extensions in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66083"/>
		<updated>2012-04-09T19:13:25Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* One click updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Although Joomla 2.5 supports installing language files for the front end (site) or back end (admin), it has no dedicated way to install language files for extensions (components, plugins, modules) unless they are installed with the extension itself.&lt;br /&gt;
&lt;br /&gt;
Fortunately, since Joomla 1.6, Joomla! supports a powerful way to install an arbitrary set of files called a &#039;files&#039; installation unit.&lt;br /&gt;
Here you will find examples for file structure, XML and lang files content and an installation unit set of files.&lt;br /&gt;
* All of the language files could technically have been in the top directory, but this example will show how to set up files in folders in the language pack folder using the &#039;folder=&#039; attribute in the XML &amp;lt;files&amp;gt; tag.  Also, putting them in folders as shown ensures that the installer can find them during installation to use them to display the name of the language pack as part of the installation confirmation.&lt;br /&gt;
&lt;br /&gt;
== Example Plugin Language Pack ==&lt;br /&gt;
&lt;br /&gt;
Suppose you have a content plugin named &#039;ganymede&#039; that you want to create a new language pack for language zz-ZZ.  Here is what your language pack files in the folder &#039;ganymede_zz_zz_language_pack&#039; might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── ganymede_zz_zz_language_pack&lt;br /&gt;
   ├── index.html&lt;br /&gt;
   ├── ganymede_zz_zz_language_pack.xml&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the file &#039;ganymede_zz_zz_language_pack.xml&#039; is the installation manifest file.  &lt;br /&gt;
&lt;br /&gt;
=== Special lang files for label ===&lt;br /&gt;
Languages files for the set of files. You need to create one file for the lang pack, and a reference file for en-GB. They will be installed in Joomla admin language folder and the contents its displayed on the install screen and as label in extension manager&lt;br /&gt;
&lt;br /&gt;
The file  &#039;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have this language keys in english:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede en-GB file for zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have similar contents only in zz-ZZ lang:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that the name of the language key (to the left of the equals sign) must be identical to the name of the manifest file prefixed with &#039;files_&#039; in order for the extension manager to find it.&lt;br /&gt;
As in &#039;FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&#039; for XML file named &#039;ganymede_zz_zz_language_pack.xml&#039; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example plugin manifest file ===&lt;br /&gt;
The manifest file would look something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 - 2012. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Language files for the plugin --&amp;gt;&lt;br /&gt;
        &amp;lt;files target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
    &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special note:&lt;br /&gt;
This example includes also the update servers statement for languages updates using the discovery feature on Joomla Extensions manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A few notes and warnings:&lt;br /&gt;
* Once this installed, the pseudo-language pack will be listed in the Extension manager (not the language manager).&lt;br /&gt;
* This approach installs the plugin language files into the correct location inside the plugin folder.  This is the new approach for the location of extension language files in Joomla 1.6+.&lt;br /&gt;
* The language files &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; (and its English counterpart) will be put into the top-level (site) language/ folder. They are only needed for displaying the name of this pseudo-language pack in the Extension manager.&lt;br /&gt;
* The English version of the language pack file need to be included. This is not only for convenience even if English is often a second language for many sites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a language pack for several extensions in one file ==&lt;br /&gt;
This same a approach can be used to create a single language pack for several extensions at once.  Just create a language pack as shown above for a plugin and add additional &amp;lt;files&amp;gt; sections for each component, plugin, and module.  An additional benefit is that language-specific versions of the help file can be installed in their correct locations as well.  &lt;br /&gt;
&lt;br /&gt;
For example suppose we have an extension composed by a plugin &#039;ganymede&#039; and a component &#039;jupiter&#039;.  To create the zz-ZZ language pack, set up files in the following directory structure:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── jupiter_zz_zz_language_pack&lt;br /&gt;
   ├── jupiter_zz_zz_language_pack.xml&lt;br /&gt;
   ├── com_jupiter&lt;br /&gt;
   │   ├── administrator&lt;br /&gt;
   │   │   ├── help&lt;br /&gt;
   │   │   │   └── zz-ZZ&lt;br /&gt;
   │   │   │       ├── help.css&lt;br /&gt;
   │   │   │       ├── help.html&lt;br /&gt;
   │   │   │       └── index.html&lt;br /&gt;
   │   │   ├── index.html&lt;br /&gt;
   │   │   ├── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   │   │   └── zz-ZZ.com_jupiter.sys.ini&lt;br /&gt;
   │   └── language&lt;br /&gt;
   │       ├── index.html&lt;br /&gt;
   │       └── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   ├── plg_ganymede&lt;br /&gt;
   │   ├── index.html&lt;br /&gt;
   │   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   │   └── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manifest file for component and plugin ===&lt;br /&gt;
The corresponding manifest file for jupiter_zz_zz_language_pack.xml, would like something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 ???. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator&amp;quot; target=&amp;quot;administrator/components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component zz language help folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator/help/&amp;quot; target=&amp;quot;administrator/components/com_jupiter/help&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;folder&amp;gt;zz-ZZ&amp;lt;/folder&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Site component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/language&amp;quot; target=&amp;quot;components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Ganymede plugin language files --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;plg_ganymede&amp;quot; target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;en-GB.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we have created several different &amp;lt;files&amp;gt; sections for the admin language files, the admin help files, the site language files, the plugin language files, and the language files for the language pack itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example installation unit ==&lt;br /&gt;
SVN &#039;files&#039; for:&lt;br /&gt;
[http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftrunk%2Ftests%2F_data%2Finstaller_packages%2Ffiles_test1%2F Installation unit for an arbitrary set of files named &#039;files_test1&#039;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One click updates ==&lt;br /&gt;
Joomla has the ability to install language packs updates with just one click. This can be done for language core files but also for extensions languages files.&lt;br /&gt;
Read here: One click updates for language packs [[One_click_updates_for_language_packs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]] [[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66082</id>
		<title>Creating language packs for extensions in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66082"/>
		<updated>2012-04-09T19:12:27Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* One click updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Although Joomla 2.5 supports installing language files for the front end (site) or back end (admin), it has no dedicated way to install language files for extensions (components, plugins, modules) unless they are installed with the extension itself.&lt;br /&gt;
&lt;br /&gt;
Fortunately, since Joomla 1.6, Joomla! supports a powerful way to install an arbitrary set of files called a &#039;files&#039; installation unit.&lt;br /&gt;
Here you will find examples for file structure, XML and lang files content and an installation unit set of files.&lt;br /&gt;
* All of the language files could technically have been in the top directory, but this example will show how to set up files in folders in the language pack folder using the &#039;folder=&#039; attribute in the XML &amp;lt;files&amp;gt; tag.  Also, putting them in folders as shown ensures that the installer can find them during installation to use them to display the name of the language pack as part of the installation confirmation.&lt;br /&gt;
&lt;br /&gt;
== Example Plugin Language Pack ==&lt;br /&gt;
&lt;br /&gt;
Suppose you have a content plugin named &#039;ganymede&#039; that you want to create a new language pack for language zz-ZZ.  Here is what your language pack files in the folder &#039;ganymede_zz_zz_language_pack&#039; might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── ganymede_zz_zz_language_pack&lt;br /&gt;
   ├── index.html&lt;br /&gt;
   ├── ganymede_zz_zz_language_pack.xml&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the file &#039;ganymede_zz_zz_language_pack.xml&#039; is the installation manifest file.  &lt;br /&gt;
&lt;br /&gt;
=== Special lang files for label ===&lt;br /&gt;
Languages files for the set of files. You need to create one file for the lang pack, and a reference file for en-GB. They will be installed in Joomla admin language folder and the contents its displayed on the install screen and as label in extension manager&lt;br /&gt;
&lt;br /&gt;
The file  &#039;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have this language keys in english:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede en-GB file for zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have similar contents only in zz-ZZ lang:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that the name of the language key (to the left of the equals sign) must be identical to the name of the manifest file prefixed with &#039;files_&#039; in order for the extension manager to find it.&lt;br /&gt;
As in &#039;FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&#039; for XML file named &#039;ganymede_zz_zz_language_pack.xml&#039; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example plugin manifest file ===&lt;br /&gt;
The manifest file would look something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 - 2012. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Language files for the plugin --&amp;gt;&lt;br /&gt;
        &amp;lt;files target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
    &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special note:&lt;br /&gt;
This example includes also the update servers statement for languages updates using the discovery feature on Joomla Extensions manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A few notes and warnings:&lt;br /&gt;
* Once this installed, the pseudo-language pack will be listed in the Extension manager (not the language manager).&lt;br /&gt;
* This approach installs the plugin language files into the correct location inside the plugin folder.  This is the new approach for the location of extension language files in Joomla 1.6+.&lt;br /&gt;
* The language files &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; (and its English counterpart) will be put into the top-level (site) language/ folder. They are only needed for displaying the name of this pseudo-language pack in the Extension manager.&lt;br /&gt;
* The English version of the language pack file need to be included. This is not only for convenience even if English is often a second language for many sites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a language pack for several extensions in one file ==&lt;br /&gt;
This same a approach can be used to create a single language pack for several extensions at once.  Just create a language pack as shown above for a plugin and add additional &amp;lt;files&amp;gt; sections for each component, plugin, and module.  An additional benefit is that language-specific versions of the help file can be installed in their correct locations as well.  &lt;br /&gt;
&lt;br /&gt;
For example suppose we have an extension composed by a plugin &#039;ganymede&#039; and a component &#039;jupiter&#039;.  To create the zz-ZZ language pack, set up files in the following directory structure:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── jupiter_zz_zz_language_pack&lt;br /&gt;
   ├── jupiter_zz_zz_language_pack.xml&lt;br /&gt;
   ├── com_jupiter&lt;br /&gt;
   │   ├── administrator&lt;br /&gt;
   │   │   ├── help&lt;br /&gt;
   │   │   │   └── zz-ZZ&lt;br /&gt;
   │   │   │       ├── help.css&lt;br /&gt;
   │   │   │       ├── help.html&lt;br /&gt;
   │   │   │       └── index.html&lt;br /&gt;
   │   │   ├── index.html&lt;br /&gt;
   │   │   ├── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   │   │   └── zz-ZZ.com_jupiter.sys.ini&lt;br /&gt;
   │   └── language&lt;br /&gt;
   │       ├── index.html&lt;br /&gt;
   │       └── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   ├── plg_ganymede&lt;br /&gt;
   │   ├── index.html&lt;br /&gt;
   │   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   │   └── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manifest file for component and plugin ===&lt;br /&gt;
The corresponding manifest file for jupiter_zz_zz_language_pack.xml, would like something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 ???. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator&amp;quot; target=&amp;quot;administrator/components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component zz language help folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator/help/&amp;quot; target=&amp;quot;administrator/components/com_jupiter/help&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;folder&amp;gt;zz-ZZ&amp;lt;/folder&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Site component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/language&amp;quot; target=&amp;quot;components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Ganymede plugin language files --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;plg_ganymede&amp;quot; target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;en-GB.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we have created several different &amp;lt;files&amp;gt; sections for the admin language files, the admin help files, the site language files, the plugin language files, and the language files for the language pack itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example installation unit ==&lt;br /&gt;
SVN &#039;files&#039; for:&lt;br /&gt;
[http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftrunk%2Ftests%2F_data%2Finstaller_packages%2Ffiles_test1%2F Installation unit for an arbitrary set of files named &#039;files_test1&#039;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One click updates ==&lt;br /&gt;
Joomla has the ability to install language packs updates with just one click. This can be done for language core files but also for extensions languages files.&lt;br /&gt;
Read here: [[One click updates for language packs: One_click_updates_for_language_packs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]] [[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66081</id>
		<title>Creating language packs for extensions in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66081"/>
		<updated>2012-04-09T19:11:21Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: /* One click updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Although Joomla 2.5 supports installing language files for the front end (site) or back end (admin), it has no dedicated way to install language files for extensions (components, plugins, modules) unless they are installed with the extension itself.&lt;br /&gt;
&lt;br /&gt;
Fortunately, since Joomla 1.6, Joomla! supports a powerful way to install an arbitrary set of files called a &#039;files&#039; installation unit.&lt;br /&gt;
Here you will find examples for file structure, XML and lang files content and an installation unit set of files.&lt;br /&gt;
* All of the language files could technically have been in the top directory, but this example will show how to set up files in folders in the language pack folder using the &#039;folder=&#039; attribute in the XML &amp;lt;files&amp;gt; tag.  Also, putting them in folders as shown ensures that the installer can find them during installation to use them to display the name of the language pack as part of the installation confirmation.&lt;br /&gt;
&lt;br /&gt;
== Example Plugin Language Pack ==&lt;br /&gt;
&lt;br /&gt;
Suppose you have a content plugin named &#039;ganymede&#039; that you want to create a new language pack for language zz-ZZ.  Here is what your language pack files in the folder &#039;ganymede_zz_zz_language_pack&#039; might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── ganymede_zz_zz_language_pack&lt;br /&gt;
   ├── index.html&lt;br /&gt;
   ├── ganymede_zz_zz_language_pack.xml&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the file &#039;ganymede_zz_zz_language_pack.xml&#039; is the installation manifest file.  &lt;br /&gt;
&lt;br /&gt;
=== Special lang files for label ===&lt;br /&gt;
Languages files for the set of files. You need to create one file for the lang pack, and a reference file for en-GB. They will be installed in Joomla admin language folder and the contents its displayed on the install screen and as label in extension manager&lt;br /&gt;
&lt;br /&gt;
The file  &#039;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have this language keys in english:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede en-GB file for zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have similar contents only in zz-ZZ lang:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that the name of the language key (to the left of the equals sign) must be identical to the name of the manifest file prefixed with &#039;files_&#039; in order for the extension manager to find it.&lt;br /&gt;
As in &#039;FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&#039; for XML file named &#039;ganymede_zz_zz_language_pack.xml&#039; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example plugin manifest file ===&lt;br /&gt;
The manifest file would look something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 - 2012. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Language files for the plugin --&amp;gt;&lt;br /&gt;
        &amp;lt;files target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
    &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special note:&lt;br /&gt;
This example includes also the update servers statement for languages updates using the discovery feature on Joomla Extensions manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A few notes and warnings:&lt;br /&gt;
* Once this installed, the pseudo-language pack will be listed in the Extension manager (not the language manager).&lt;br /&gt;
* This approach installs the plugin language files into the correct location inside the plugin folder.  This is the new approach for the location of extension language files in Joomla 1.6+.&lt;br /&gt;
* The language files &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; (and its English counterpart) will be put into the top-level (site) language/ folder. They are only needed for displaying the name of this pseudo-language pack in the Extension manager.&lt;br /&gt;
* The English version of the language pack file need to be included. This is not only for convenience even if English is often a second language for many sites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a language pack for several extensions in one file ==&lt;br /&gt;
This same a approach can be used to create a single language pack for several extensions at once.  Just create a language pack as shown above for a plugin and add additional &amp;lt;files&amp;gt; sections for each component, plugin, and module.  An additional benefit is that language-specific versions of the help file can be installed in their correct locations as well.  &lt;br /&gt;
&lt;br /&gt;
For example suppose we have an extension composed by a plugin &#039;ganymede&#039; and a component &#039;jupiter&#039;.  To create the zz-ZZ language pack, set up files in the following directory structure:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── jupiter_zz_zz_language_pack&lt;br /&gt;
   ├── jupiter_zz_zz_language_pack.xml&lt;br /&gt;
   ├── com_jupiter&lt;br /&gt;
   │   ├── administrator&lt;br /&gt;
   │   │   ├── help&lt;br /&gt;
   │   │   │   └── zz-ZZ&lt;br /&gt;
   │   │   │       ├── help.css&lt;br /&gt;
   │   │   │       ├── help.html&lt;br /&gt;
   │   │   │       └── index.html&lt;br /&gt;
   │   │   ├── index.html&lt;br /&gt;
   │   │   ├── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   │   │   └── zz-ZZ.com_jupiter.sys.ini&lt;br /&gt;
   │   └── language&lt;br /&gt;
   │       ├── index.html&lt;br /&gt;
   │       └── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   ├── plg_ganymede&lt;br /&gt;
   │   ├── index.html&lt;br /&gt;
   │   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   │   └── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manifest file for component and plugin ===&lt;br /&gt;
The corresponding manifest file for jupiter_zz_zz_language_pack.xml, would like something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 ???. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator&amp;quot; target=&amp;quot;administrator/components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component zz language help folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator/help/&amp;quot; target=&amp;quot;administrator/components/com_jupiter/help&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;folder&amp;gt;zz-ZZ&amp;lt;/folder&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Site component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/language&amp;quot; target=&amp;quot;components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Ganymede plugin language files --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;plg_ganymede&amp;quot; target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;en-GB.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we have created several different &amp;lt;files&amp;gt; sections for the admin language files, the admin help files, the site language files, the plugin language files, and the language files for the language pack itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example installation unit ==&lt;br /&gt;
SVN &#039;files&#039; for:&lt;br /&gt;
[http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftrunk%2Ftests%2F_data%2Finstaller_packages%2Ffiles_test1%2F Installation unit for an arbitrary set of files named &#039;files_test1&#039;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One click updates ==&lt;br /&gt;
Joomla has the ability to install language packs updates with just one click. This can be done for language core files but also for extensions languages files.&lt;br /&gt;
Read here:  [[ One_click_updates_for_language_packs One click updates for language packs ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]] [[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66080</id>
		<title>Creating language packs for extensions in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=66080"/>
		<updated>2012-04-09T19:10:19Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: One click updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Although Joomla 2.5 supports installing language files for the front end (site) or back end (admin), it has no dedicated way to install language files for extensions (components, plugins, modules) unless they are installed with the extension itself.&lt;br /&gt;
&lt;br /&gt;
Fortunately, since Joomla 1.6, Joomla! supports a powerful way to install an arbitrary set of files called a &#039;files&#039; installation unit.&lt;br /&gt;
Here you will find examples for file structure, XML and lang files content and an installation unit set of files.&lt;br /&gt;
* All of the language files could technically have been in the top directory, but this example will show how to set up files in folders in the language pack folder using the &#039;folder=&#039; attribute in the XML &amp;lt;files&amp;gt; tag.  Also, putting them in folders as shown ensures that the installer can find them during installation to use them to display the name of the language pack as part of the installation confirmation.&lt;br /&gt;
&lt;br /&gt;
== Example Plugin Language Pack ==&lt;br /&gt;
&lt;br /&gt;
Suppose you have a content plugin named &#039;ganymede&#039; that you want to create a new language pack for language zz-ZZ.  Here is what your language pack files in the folder &#039;ganymede_zz_zz_language_pack&#039; might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── ganymede_zz_zz_language_pack&lt;br /&gt;
   ├── index.html&lt;br /&gt;
   ├── ganymede_zz_zz_language_pack.xml&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the file &#039;ganymede_zz_zz_language_pack.xml&#039; is the installation manifest file.  &lt;br /&gt;
&lt;br /&gt;
=== Special lang files for label ===&lt;br /&gt;
Languages files for the set of files. You need to create one file for the lang pack, and a reference file for en-GB. They will be installed in Joomla admin language folder and the contents its displayed on the install screen and as label in extension manager&lt;br /&gt;
&lt;br /&gt;
The file  &#039;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have this language keys in english:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede en-GB file for zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have similar contents only in zz-ZZ lang:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that the name of the language key (to the left of the equals sign) must be identical to the name of the manifest file prefixed with &#039;files_&#039; in order for the extension manager to find it.&lt;br /&gt;
As in &#039;FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&#039; for XML file named &#039;ganymede_zz_zz_language_pack.xml&#039; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example plugin manifest file ===&lt;br /&gt;
The manifest file would look something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 - 2012. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Language files for the plugin --&amp;gt;&lt;br /&gt;
        &amp;lt;files target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
    &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special note:&lt;br /&gt;
This example includes also the update servers statement for languages updates using the discovery feature on Joomla Extensions manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A few notes and warnings:&lt;br /&gt;
* Once this installed, the pseudo-language pack will be listed in the Extension manager (not the language manager).&lt;br /&gt;
* This approach installs the plugin language files into the correct location inside the plugin folder.  This is the new approach for the location of extension language files in Joomla 1.6+.&lt;br /&gt;
* The language files &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; (and its English counterpart) will be put into the top-level (site) language/ folder. They are only needed for displaying the name of this pseudo-language pack in the Extension manager.&lt;br /&gt;
* The English version of the language pack file need to be included. This is not only for convenience even if English is often a second language for many sites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a language pack for several extensions in one file ==&lt;br /&gt;
This same a approach can be used to create a single language pack for several extensions at once.  Just create a language pack as shown above for a plugin and add additional &amp;lt;files&amp;gt; sections for each component, plugin, and module.  An additional benefit is that language-specific versions of the help file can be installed in their correct locations as well.  &lt;br /&gt;
&lt;br /&gt;
For example suppose we have an extension composed by a plugin &#039;ganymede&#039; and a component &#039;jupiter&#039;.  To create the zz-ZZ language pack, set up files in the following directory structure:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── jupiter_zz_zz_language_pack&lt;br /&gt;
   ├── jupiter_zz_zz_language_pack.xml&lt;br /&gt;
   ├── com_jupiter&lt;br /&gt;
   │   ├── administrator&lt;br /&gt;
   │   │   ├── help&lt;br /&gt;
   │   │   │   └── zz-ZZ&lt;br /&gt;
   │   │   │       ├── help.css&lt;br /&gt;
   │   │   │       ├── help.html&lt;br /&gt;
   │   │   │       └── index.html&lt;br /&gt;
   │   │   ├── index.html&lt;br /&gt;
   │   │   ├── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   │   │   └── zz-ZZ.com_jupiter.sys.ini&lt;br /&gt;
   │   └── language&lt;br /&gt;
   │       ├── index.html&lt;br /&gt;
   │       └── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   ├── plg_ganymede&lt;br /&gt;
   │   ├── index.html&lt;br /&gt;
   │   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   │   └── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manifest file for component and plugin ===&lt;br /&gt;
The corresponding manifest file for jupiter_zz_zz_language_pack.xml, would like something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 ???. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator&amp;quot; target=&amp;quot;administrator/components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component zz language help folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator/help/&amp;quot; target=&amp;quot;administrator/components/com_jupiter/help&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;folder&amp;gt;zz-ZZ&amp;lt;/folder&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Site component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/language&amp;quot; target=&amp;quot;components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Ganymede plugin language files --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;plg_ganymede&amp;quot; target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;en-GB.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we have created several different &amp;lt;files&amp;gt; sections for the admin language files, the admin help files, the site language files, the plugin language files, and the language files for the language pack itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example installation unit ==&lt;br /&gt;
SVN &#039;files&#039; for:&lt;br /&gt;
[http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftrunk%2Ftests%2F_data%2Finstaller_packages%2Ffiles_test1%2F Installation unit for an arbitrary set of files named &#039;files_test1&#039;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One click updates ==&lt;br /&gt;
Joomla has the ability to install language packs updates with just one click. This can be done for language core files but also for extensions languages files.&lt;br /&gt;
Read here:  [[One click updates for language packs One_click_updates_for_language_packs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]] [[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66079</id>
		<title>One click updates for language packs</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66079"/>
		<updated>2012-04-09T19:08:07Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Joomla has the ability to install language packs updates with just one click. This can be done for language core files [[Creating_language_packs_for_extensions_in_Joomla_2.5]] but also for extensions languages files&lt;br /&gt;
&lt;br /&gt;
== Before proceeding: ==&lt;br /&gt;
You should read:&lt;br /&gt;
1- Extension Manager Update [[Help16:Extensions_Extension_Manager_Update]]&lt;br /&gt;
2- Creating language packs for extensions in Joomla 2.5 [[Creating_language_packs_for_extensions_in_Joomla_2.5]]&lt;br /&gt;
&lt;br /&gt;
== Language pack XML ==&lt;br /&gt;
by including the &amp;quot;update server&amp;quot; tag on XML language packs you can have oneclick updates for extension languages. This needs to be included in the XML language pack and it links to an update server. Joomla extension update panel checks the installed XML language packs for the version number and update server. If the update server has more recent version number it alerts for an updated available&lt;br /&gt;
&lt;br /&gt;
=== Update Server tag ===&lt;br /&gt;
Language pack XML file needs to include (zz-ZZ stands for your language code):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
See full example here. Creating language packs for extensions in Joomla 2.5 [[Creating_language_packs_for_extensions_in_Joomla_2.5]]&lt;br /&gt;
&lt;br /&gt;
== Update Server ==&lt;br /&gt;
A tiny web space its required to state the latest version and URL for downloadable packs. You can post the zip packs in a different domain but all files need to be directly linked!&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; to keep it clean you can use a subdomain just for updates as in http://update.zzZZ.com/&lt;br /&gt;
&lt;br /&gt;
=== Update server packs list ===&lt;br /&gt;
The update server will include one translationlist.xml with all the latest language release versions. This is done with a tag for each extension/language available.&lt;br /&gt;
&lt;br /&gt;
If you wanto to create an update server list for Joomla + tinyMCE + 2 different components (using the names Jupiter and Pluto as component names) for the zz-ZZ language, the translationlist.xml contents would be:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extensionset name=&amp;quot;zz-ZZ Language Updates&amp;quot; description=&amp;quot;zz-ZZ Joomla core and extensions languages updates&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Joomla&amp;quot; element=&amp;quot;pkg_zz-ZZ&amp;quot; type=&amp;quot;package&amp;quot; version=&amp;quot;2.5.4.2&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for TinyMCE&amp;quot; element=&amp;quot;file_tinymce_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.4.7.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_tinymce.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Jupiter&amp;quot; element=&amp;quot;file_jupiter_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;2.0.2.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_jupiter.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Pluto&amp;quot; element=&amp;quot;file_pluto_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.0.3.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/pt-PT_details_pluto.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/extensionset&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* element info = same as the XML file name on the language pack  &#039;&#039;file_jupiter_pt-PT.xml&#039;&#039;. This will be allways the same!&lt;br /&gt;
* version number = the version number for the latest language pack as stated in version field at the XML pack file:   &#039;&#039;&amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; the translation language version should use the same version number as the extension itself (as in 2.0.2.x) and one more number for each translation version (as in x.x.x.1) so you can easily remember what extension version is that translation good for!&lt;br /&gt;
&lt;br /&gt;
=== Details update packs ===&lt;br /&gt;
Listed in the translationlist.xml are the different languages packs available to update. Each pack URL and version its stated in an individual details xml file for each extension.&lt;br /&gt;
A details XML file would include the details for that language pack as in:&lt;br /&gt;
\details\zz-ZZ_details_jupiter.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;updates&amp;gt;&lt;br /&gt;
  &amp;lt;update&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;zz-ZZ language for Jupiter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;zz-ZZ language for Jupiter 2.0.2&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;element&amp;gt;file_jupiter_zz-ZZ&amp;lt;/element&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;file&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;downloads&amp;gt;&lt;br /&gt;
      &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://joomlacode.org/gf/download/frsrelease/3238/72703/jupiter_202_lang_zz-ZZ_v2021.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
    &amp;lt;/downloads&amp;gt;&lt;br /&gt;
    &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/update&amp;gt;&lt;br /&gt;
&amp;lt;/updates&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
This can have more than one language pack (inside &amp;lt;updates&amp;gt; ... &amp;lt;/updates&amp;gt; ) but you can only list one extension by file.&lt;br /&gt;
&lt;br /&gt;
== Updating language files ==&lt;br /&gt;
A translations its a work in progress and require frequent updates. To deliver your new language files you need:&lt;br /&gt;
# Update the language files.&lt;br /&gt;
## Edit the language pack XML file for version number&lt;br /&gt;
# Publish the new zip pack&lt;br /&gt;
## Get URL for a direct download&lt;br /&gt;
# Edit the Update server files&lt;br /&gt;
## Update the version number at translationlist.xml&lt;br /&gt;
## Update the \details\zz-ZZ_details_jupiter.xml for new translation version number and URL for direct download&lt;br /&gt;
&lt;br /&gt;
Users just need to check for updates on Joomla panel to get the new language pack installed!&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66078</id>
		<title>One click updates for language packs</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66078"/>
		<updated>2012-04-09T19:01:03Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: Updating for new versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Joomla has the ability to install language packs updates with just one click. This can be done for language core files [[Creating_language_packs_for_extensions_in_Joomla_2.5]] but also for extensions languages files&lt;br /&gt;
&lt;br /&gt;
== Before proceeding: ==&lt;br /&gt;
You should read:&lt;br /&gt;
1- Extension Manager Update [[Help16:Extensions_Extension_Manager_Update]]&lt;br /&gt;
2- Creating language packs for extensions in Joomla 2.5 [[Creating_language_packs_for_extensions_in_Joomla_2.5]]&lt;br /&gt;
&lt;br /&gt;
== Update Server tag ==&lt;br /&gt;
by including the &amp;quot;update server&amp;quot; tag on XML language packs you can have oneclick updates for extension languages. This needs to be included in the XML language pack and it links to an update server. Joomla extension update panel checks the installed XML language packs for the version number and update server. If the update server has more recent version number it alerts for an updated available&lt;br /&gt;
&lt;br /&gt;
=== Language pack XML ===&lt;br /&gt;
Language pack XML file needs to include (zz-ZZ stands for your language code):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
See full example here. Creating language packs for extensions in Joomla 2.5 [[Creating_language_packs_for_extensions_in_Joomla_2.5]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update server packs list ===&lt;br /&gt;
The update server will include one translationlist.xml with all the latest language release versions. This is done with a tag for each extension/language available.&lt;br /&gt;
&lt;br /&gt;
If you wanto to create an update server list for Joomla + tinyMCE + 2 different components (using the names Jupiter and Pluto as component names) for the zz-ZZ language, the translationlist.xml contents would be:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extensionset name=&amp;quot;zz-ZZ Language Updates&amp;quot; description=&amp;quot;zz-ZZ Joomla core and extensions languages updates&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Joomla&amp;quot; element=&amp;quot;pkg_zz-ZZ&amp;quot; type=&amp;quot;package&amp;quot; version=&amp;quot;2.5.4.2&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for TinyMCE&amp;quot; element=&amp;quot;file_tinymce_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.4.7.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_tinymce.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Jupiter&amp;quot; element=&amp;quot;file_jupiter_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;2.0.2.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_jupiter.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Pluto&amp;quot; element=&amp;quot;file_pluto_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.0.3.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/pt-PT_details_pluto.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/extensionset&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* element info = same as the XML file name on the language pack  &#039;&#039;file_jupiter_pt-PT.xml&#039;&#039;. This will be allways the same!&lt;br /&gt;
* version number = the version number for the latest language pack as stated in version field at the XML pack file:   &#039;&#039;&amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; the translation language version should use the same version number as the extension itself (as in 2.0.2.x) and one more number for each translation version (as in x.x.x.1) so you can easily remember what extension version is that translation good for!&lt;br /&gt;
&lt;br /&gt;
=== Details update packs ===&lt;br /&gt;
Listed in the translationlist.xml are the different languages packs available to update. Each pack URL and version its stated in an individual details xml file for each extension.&lt;br /&gt;
A details XML file would include the details for that language pack as in:&lt;br /&gt;
\details\zz-ZZ_details_jupiter.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;updates&amp;gt;&lt;br /&gt;
  &amp;lt;update&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;zz-ZZ language for Jupiter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;zz-ZZ language for Jupiter 2.0.2&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;element&amp;gt;file_jupiter_zz-ZZ&amp;lt;/element&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;file&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;downloads&amp;gt;&lt;br /&gt;
      &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://joomlacode.org/gf/download/frsrelease/3238/72703/jupiter_202_lang_zz-ZZ_v2021.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
    &amp;lt;/downloads&amp;gt;&lt;br /&gt;
    &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/update&amp;gt;&lt;br /&gt;
&amp;lt;/updates&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
This can have more than one language pack (inside &amp;lt;updates&amp;gt; ... &amp;lt;/updates&amp;gt; ) but you can only list one extension by file.&lt;br /&gt;
&lt;br /&gt;
== Updating language files ==&lt;br /&gt;
A translations its a work in progress and require frequent updates. To deliver your new language files you need:&lt;br /&gt;
# Update the language files.&lt;br /&gt;
## Edit the language pack XML file for version number&lt;br /&gt;
# Publish the new zip pack&lt;br /&gt;
## Get URL for a direct download&lt;br /&gt;
# Edit the Update server files&lt;br /&gt;
## Update the version number at translationlist.xml&lt;br /&gt;
## Update the \details\zz-ZZ_details_jupiter.xml for new translation version number and URL for direct download&lt;br /&gt;
&lt;br /&gt;
Users just need to check for updates on Joomla panel to get the new language pack installed!&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66077</id>
		<title>One click updates for language packs</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=One_click_updates_for_language_packs&amp;diff=66077"/>
		<updated>2012-04-09T18:50:44Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: creation of the help doc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Joomla has the ability to install language packs updates with just one click. This can be done for language core files [[Creating_language_packs_for_extensions_in_Joomla_2.5]] but also for extensions languages files&lt;br /&gt;
&lt;br /&gt;
== Before proceeding: ==&lt;br /&gt;
You should read:&lt;br /&gt;
1- Extension Manager Update [[Help16:Extensions_Extension_Manager_Update]]&lt;br /&gt;
2- Creating language packs for extensions in Joomla 2.5 [[Creating_language_packs_for_extensions_in_Joomla_2.5]]&lt;br /&gt;
&lt;br /&gt;
== Update Server tag ==&lt;br /&gt;
by including the &amp;quot;update server&amp;quot; tag on XML language packs you can have oneclick updates for extension languages. This needs to be included in the XML language pack and it links to an update server. Joomla extension update panel checks the installed XML language packs for the version number and update server. If the update server has more recent version number it alerts for an updated available&lt;br /&gt;
&lt;br /&gt;
=== Language pack XML ===&lt;br /&gt;
Language pack XML file needs to include (zz-ZZ stands for your language code):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
See full example here. Creating language packs for extensions in Joomla 2.5 [[Creating_language_packs_for_extensions_in_Joomla_2.5]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Update server packs list ===&lt;br /&gt;
The update server will include one translationlist.xml with all the latest language release versions. This is done with a tag for each extension/language available.&lt;br /&gt;
&lt;br /&gt;
If you wanto to create an update server list for Joomla + tinyMCE + 2 different components (using the names Jupiter and Pluto as component names) for the zz-ZZ language, the translationlist.xml contents would be:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extensionset name=&amp;quot;zz-ZZ Language Updates&amp;quot; description=&amp;quot;zz-ZZ Joomla core and extensions languages updates&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Joomla&amp;quot; element=&amp;quot;pkg_zz-ZZ&amp;quot; type=&amp;quot;package&amp;quot; version=&amp;quot;2.5.4.2&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for TinyMCE&amp;quot; element=&amp;quot;file_tinymce_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.4.7.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_tinymce.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Jupiter&amp;quot; element=&amp;quot;file_jupiter_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;2.0.2.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/zz-ZZ_details_jupiter.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;extension name=&amp;quot;zz-ZZ language for Pluto&amp;quot; element=&amp;quot;file_pluto_zz-ZZ&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;3.0.3.1&amp;quot; detailsurl=&amp;quot;http://update.zzZZ.com/details/pt-PT_details_pluto.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/extensionset&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* element info = same as the XML file name on the language pack  &#039;&#039;file_jupiter_pt-PT.xml&#039;&#039;. This will be allways the same!&lt;br /&gt;
* version number = the version number for the latest language pack as stated in version field at the XML pack file:   &#039;&#039;&amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Good practice:&#039;&#039;&#039; the translation language version should use the same version number as the extension itself (as in 2.0.2.x) and one more number for each translation version (as in x.x.x.1) so you can easily remember what extension version is that translation good for!&lt;br /&gt;
&lt;br /&gt;
=== Details update packs ===&lt;br /&gt;
Listed in the translationlist.xml are the different languages packs available to update. Each pack URL and version its stated in an individual details xml file for each extension.&lt;br /&gt;
A details XML file would include the details for that language pack as in:&lt;br /&gt;
\details\zz-ZZ_details_jupiter.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;updates&amp;gt;&lt;br /&gt;
  &amp;lt;update&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;zz-ZZ language for Jupiter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;zz-ZZ language for Jupiter 2.0.2&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;element&amp;gt;file_jupiter_zz-ZZ&amp;lt;/element&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;file&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.0.2.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;downloads&amp;gt;&lt;br /&gt;
      &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://joomlacode.org/gf/download/frsrelease/3238/72703/jupiter_202_lang_zz-ZZ_v2021.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
    &amp;lt;/downloads&amp;gt;&lt;br /&gt;
    &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/update&amp;gt;&lt;br /&gt;
&amp;lt;/updates&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
This can have more than one language pack (inside &amp;lt;updates&amp;gt; ... &amp;lt;/updates&amp;gt; ) but you can only list one extension by file.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla!_Codenames&amp;diff=65886</id>
		<title>Joomla! Codenames</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla!_Codenames&amp;diff=65886"/>
		<updated>2012-03-29T01:10:22Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: 2.5.2 and 2.5.3 versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DEFAULTSORT:Codenames}}Ever wondered what the internal codenames of Joomla! were?&lt;br /&gt;
&lt;br /&gt;
== Codenames of [[:Category:Joomla! 2.5|Joomla! 2.5]] ==&lt;br /&gt;
&amp;lt;section begin=names25/&amp;gt;&lt;br /&gt;
* 2.5.3 Ember -- [http://www.joomla.org/announcements/release-news/5416-joomla-253-released.html Released] [15-March-2012]&lt;br /&gt;
* 2.5.2 Ember -- [http://www.joomla.org/announcements/release-news/5415-joomla-252-released.html Released] [05-March-2012]&lt;br /&gt;
* 2.5.1 Ember -- [http://www.joomla.org/announcements/release-news/5410-joomla-251-released.html Released] [02-February-2012]&lt;br /&gt;
* 2.5.0 Ember -- [http://www.joomla.org/announcements/release-news/5403-joomla-250-released.html Released] [24-January-2011]&lt;br /&gt;
&amp;lt;section end=names25/&amp;gt;&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;br /&gt;
&lt;br /&gt;
== Codenames of [[:Category:Joomla! 1.7|Joomla! 1.7]] ==&lt;br /&gt;
&amp;lt;section begin=names17/&amp;gt;&lt;br /&gt;
* 1.7.5 Ember -- [http://www.joomla.org/announcements/release-news/5411-joomla-175-released.html Released] [02-February-2012]&lt;br /&gt;
* 1.7.4 Ember -- [http://www.joomla.org/announcements/release-news/5405-joomla-174-released.html Released] [24-January-2012]&lt;br /&gt;
* 1.7.3 Ember -- [http://www.joomla.org/announcements/release-news/5392-joomla-173-released.html Released] [14-November-2011]&lt;br /&gt;
* 1.7.2 Ember -- [http://www.joomla.org/announcements/release-news/5389-joomla-172-released.html Released] [17-October-2011]&lt;br /&gt;
* 1.7.1 Ember -- [http://www.joomla.org/announcements/release-news/5387-joomla-171-released.html Released] [26-September-2011]&lt;br /&gt;
* 1.7.0 Ember -- [http://www.joomla.org/announcements/release-news/5380-joomla-170-released.html Released] [19-July-2011]&lt;br /&gt;
&amp;lt;section end=names17/&amp;gt;&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Codenames of [[:Category:Joomla! 1.6|Joomla! 1.6]] ==&lt;br /&gt;
&amp;lt;section begin=names16/&amp;gt;&lt;br /&gt;
* 1.6.5 Onward -- [http://www.joomla.org/announcements/release-news/5374-joomla-164-released.html Released] [11-July-2011]&lt;br /&gt;
* 1.6.4 Onward -- [http://www.joomla.org/announcements/release-news/5374-joomla-164-released.html Released] [27-June-2011]&lt;br /&gt;
* 1.6.3 Onward -- [http://www.joomla.org/announcements/release-news/5370-joomla-163-released.html Released] [18-April-2011]&lt;br /&gt;
* 1.6.2 Onward -- [http://www.joomla.org/announcements/release-news/5368-joomla-162-released.html Released] [14-April-2011]&lt;br /&gt;
* 1.6.1 Onward -- [http://www.joomla.org/announcements/release-news/5350-joomla-161-released.html Released] [07-March-2011]&lt;br /&gt;
* 1.6.0 Onward -- [http://www.joomla.org/announcements/general-news/5348-joomlar-16-has-arrived.html Released] [10-January-2011]&lt;br /&gt;
&amp;lt;section end=names16/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;See also:&#039;&#039;&#039; [[Joomla 1.6 version history]]&lt;br /&gt;
=== Pre-final releases ===&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Alpha 1 Released [22-April-2009]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Alpha 2 [http://community.joomla.org/blogs/community/1061-joomla-16-alpha-2-released.html Released] [24-October-2009]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 1, [http://www.joomla.org/announcements/release-news/5275-joomla-16-beta-now-available.html Released] [17-May-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 2, [http://www.joomla.org/announcements/release-news/5278-joomla-16-beta2-now-available.html Released] [31-May-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 3, [http://www.joomla.org/announcements/release-news/5279-joomla-16-beta3-now-available.html Released] [14-June-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 4, [http://www.joomla.org/announcements/release-news/5280-joomla-16-beta4-now-available.html Released] [28-June-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 5, [http://www.joomla.org/announcements/release-news/5282-joomla-16-beta5-now-available.html Released] [12-July-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 6, [http://www.joomla.org/announcements/release-news/5285-joomla-16-beta6-now-available.html Released] [26-July-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 7, [http://www.joomla.org/announcements/release-news/5291-joomla-16-beta7-now-available.html Released] [9-August-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 8, [http://www.joomla.org/announcements/release-news/5292-joomla-16-beta8-now-available.html Released] [23-August-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 9, [http://www.joomla.org/announcements/release-news/5294-joomla-16-beta9-now-available.html Released] [7-September-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 10, [http://www.joomla.org/announcements/release-news/5295-joomla-16-beta10-now-available.html Released] [20-September-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 11, [http://www.joomla.org/announcements/release-news/5296-joomla-16-beta11-now-available.html Released] [4-October-2010]&lt;br /&gt;
* &#039;&#039;&#039;Hope&#039;&#039;&#039; -- 1.6 Beta 12, [http://www.joomla.org/announcements/release-news/5304-joomla-16-beta12-now-available.html Released] [18-October-2010]&lt;br /&gt;
* &#039;&#039;&#039;Onward&#039;&#039;&#039; -- 1.6 Beta 13, [http://www.joomla.org/announcements/release-news/5315-joomla-16-beta13-now-available.html Released] [1-November-2010]&lt;br /&gt;
* &#039;&#039;&#039;Onward&#039;&#039;&#039; -- 1.6 Beta 14, [http://www.joomla.org/announcements/release-news/5320-joomla-16-beta14-now-available.html Released] [15-November-2010]&lt;br /&gt;
* &#039;&#039;&#039;Onward&#039;&#039;&#039; -- 1.6 Beta 15, [http://www.joomla.org/announcements/release-news/5324-joomla-16-beta15-now-available.html Released] [29-November-2010]&lt;br /&gt;
* &#039;&#039;&#039;Onward&#039;&#039;&#039; -- 1.6 Release Candidate 1, [http://www.joomla.org/announcements/release-news/5328-joomla-16-rc1-now-available.html Released] [14-December-2010]&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
&lt;br /&gt;
== Codenames of [[:Category:Joomla! 1.5|Joomla! 1.5]] ==&lt;br /&gt;
&amp;lt;section begin=names15/&amp;gt;&lt;br /&gt;
* 1.5.0 Khepri&amp;lt;ref&amp;gt;The Egyptian God [[Wikipedia:Khepri|Khepri]]&amp;lt;/ref&amp;gt; --  [http://www.joomla.org/announcements/36-project-release-news/4488-ladies-and-gentlemen.html Released] [21-January-2008]&lt;br /&gt;
* 1.5.1 Seenu&amp;lt;ref name=&amp;quot;yaqui&amp;quot;&amp;gt;The  words for &amp;quot;one&amp;quot;, &amp;quot;two&amp;quot;, &amp;quot;three&amp;quot;, etc. in the [http://www.native-languages.org/famuto_words.htm Taracahitic] [http://www.native-languages.org/yaqui_numbers.htm Yaqui] language ([[wikipedia::Uto-Aztecan_languages|Uto-Aztecan]])&amp;lt;/ref&amp;gt; -- [http://www.joomla.org/announcements/36-project-release-news/4560-joomla-1-5-1-released.html Released] [8-February-2008]&lt;br /&gt;
* 1.5.2 Woi&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/36-project-release-news/4720-joomla-152-released.html Released] [23-March-2008]&lt;br /&gt;
* 1.5.3 Vahi&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/36-project-release-news/4852-joomla-153-released.html Released] [24-April-2008]&lt;br /&gt;
* 1.5.4 Naiki&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/36-project-release-news/5180-joomla-154-released.html Released] [08-July-2008]&lt;br /&gt;
* 1.5.5 Mamni&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/36-project-release-news/5193-joomla-155-released.html Released] [28-July-2008]&lt;br /&gt;
* 1.5.6 Vusani&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/36-project-release-news/5199-joomla-156-released.html Released] [12-August-2008]&lt;br /&gt;
* 1.5.7 Wovusani&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/36-project-release-news/5212-joomla-157-security-release-now-available.html Released] [09-September-2008]&lt;br /&gt;
* 1.5.8 Wohnaiki&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5219-joomla-158-released.html Released] [10-November-2008]&lt;br /&gt;
* 1.5.9 Vatani&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5226-joomla-159-security-release-now-available.html Released] [10-January-2009]&lt;br /&gt;
* 1.5.10 Wohmamni&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5231-joomla-1510-security-release-now-available.html Released] [28-March-2009]&lt;br /&gt;
* 1.5.11 Vea&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5235-joomla-1511-security-release-now-available.html Released] [3-June-2009]&lt;br /&gt;
* 1.5.12 Wohmamni Ama Woi&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5242-joomla-1512-released.html Released] [1-July-2009]&lt;br /&gt;
* 1.5.13 Wojmamni ama baji&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5243-joomla-1513-security-release-now-available.html Released] [22-July-2009]&lt;br /&gt;
* 1.5.14 Wojmamni ama naiki&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5244-joomla-1514-released.html Released] [30-July-2009]&lt;br /&gt;
* 1.5.15 Wojmamni ama mamni&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5249-joomla-1515-released.html Released] [4-November-2009]&lt;br /&gt;
* 1.5.16 Wojmamni ama busani&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5259-joomla-1516-released.html Released] [23-April-2010]&lt;br /&gt;
* 1.5.17 Wojmamni ama woobusani&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5268-joomla-1517-released.html Released] [27-April-2010]&lt;br /&gt;
* 1.5.18 Wojmamni ama wojnaiki&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; -- [http://www.joomla.org/announcements/release-news/5276-joomla-1518-released.html Released] [28-May-2010]&lt;br /&gt;
* 1.5.19 Wojmamni ama batani&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; --  [http://www.joomla.org/announcements/release-news/5283-joomla-1519-released.html Released] [15-July-2010]&lt;br /&gt;
* 1.5.20 Senu takaa&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; --  [http://www.joomla.org/announcements/release-news/5284-joomla-1520-released.html Released] [18-July-2010]&lt;br /&gt;
* 1.5.21 Senu takaa ama wepulai&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; --  [http://www.joomla.org/announcements/release-news/5300-joomla-1521-released.html Released] [8-October-2010]&lt;br /&gt;
* 1.5.22 Senu takaa ama woi&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; --  [http://www.joomla.org/announcements/release-news/5318-joomla-1522-released.html Released] [5-November-2010]&lt;br /&gt;
* 1.5.23 Senu takaa ama baji&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; --  [http://www.joomla.org/announcements/release-news/5367-joomla-1523-released.html Released] [4-April-2011]&lt;br /&gt;
* 1.5.24 Senu takaa ama naiki&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; --  [http://www.joomla.org/announcements/release-news/5390-joomla-1524-released.html Released] [17-October-2011]&lt;br /&gt;
* 1.5.25 Senu takaa ama mamni&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; --  [http://www.joomla.org/announcements/release-news/5393-joomla-1525-released.html Released] [14-November-2011]&lt;br /&gt;
* 1.5.26 Senu takaa ama busani&amp;lt;ref name=&amp;quot;yaqui&amp;quot;/&amp;gt; --  [http://www.joomla.org/announcements/release-news/5419-joomla-1526-released.html Released] [27-March-2012]&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.5]]&lt;br /&gt;
&amp;lt;section end=names15/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See also:&#039;&#039;&#039; [[Joomla 1.5 version history]]&lt;br /&gt;
&lt;br /&gt;
=== Pre-final releases ===&lt;br /&gt;
* &#039;&#039;&#039;Nightfall&#039;&#039;&#039; -- 1.1 Alpha, Released [26-October-2005]&lt;br /&gt;
* &#039;&#039;&#039;Nightlight&#039;&#039;&#039; -- 1.1 Alpha 2, Released [06-February-2006]&lt;br /&gt;
* &#039;&#039;&#039;Khepri&#039;&#039;&#039; -- Beta, Released [12-October-2006]&lt;br /&gt;
* &#039;&#039;&#039;Khepri&#039;&#039;&#039;&amp;lt;ref&amp;gt;aka [http://www.joomla.org/content/view/3287/1/ The Red Barchetta]&amp;lt;/ref&amp;gt; -- Beta 2, Released [04-May-2007]&lt;br /&gt;
* &#039;&#039;&#039;Mapya&#039;&#039;&#039;&amp;lt;ref&amp;gt;[[Wikipedia:Swahili|Swahili]] for &amp;quot;new&amp;quot;&amp;lt;/ref&amp;gt;  -- Release Candidate 1, Released [21-July-2007]&lt;br /&gt;
* &#039;&#039;&#039;Endeleo&#039;&#039;&#039;&amp;lt;ref&amp;gt;Swahili for &amp;quot;development, progress, improvement&amp;quot;&amp;lt;/ref&amp;gt; -- Release Candidate 2, Released [1-September-2007]&lt;br /&gt;
* &#039;&#039;&#039;Takriban&#039;&#039;&#039;&amp;lt;ref&amp;gt;Swahili for &amp;quot;almost&amp;quot;, [http://forum.joomla.org/index.php/topic,227070.0.html]&amp;lt;/ref&amp;gt; -- Release Candidate 3, Released [5-October-2007]&lt;br /&gt;
* &#039;&#039;&#039;Karibu&#039;&#039;&#039;&amp;lt;ref&amp;gt;Swahili for &amp;quot;near by&amp;quot;, [http://www.joomla.org/announcements/36-project-release-news/4340-meet-karibu.html]&amp;lt;/ref&amp;gt; -- Release Candidate 4, Released [19-December-2007]&lt;br /&gt;
&lt;br /&gt;
== Codenames of [[:Category:Joomla! 1.0|Joomla! 1.0]] ==&lt;br /&gt;
&amp;lt;section begin=names10 /&amp;gt;&lt;br /&gt;
* 1.0.0 [[:Category:Joomla! 1.0.0|Sunrise]]   -- [15-September-2005]&lt;br /&gt;
* 1.0.1 &#039;&#039;[[:Category:Joomla! 1.0.1|Sunburst]]&#039;&#039;  -- [21-September-2005]&lt;br /&gt;
* 1.0.2 [[:Category:Joomla! 1.0.2|Sunset]]    -- [2-October-2005]&lt;br /&gt;
* 1.0.3 [[:Category:Joomla! 1.0.3|Sunlight]]  -- [14-October-2005]&lt;br /&gt;
* 1.0.4 [[:Category:Joomla! 1.0.4|Sundial]]   -- [21-November-2005]&lt;br /&gt;
* 1.0.5 [[:Category:Joomla! 1.0.5|Sunspot]]   -- [24-December-2005]&lt;br /&gt;
* 1.0.6 [[:Category:Joomla! 1.0.6|Sunscreen]] -- [&#039;&#039;15-January-2006&#039;&#039;]&lt;br /&gt;
* 1.0.7 &#039;&#039;[[:Category:Joomla! 1.0.7|Sunburst]]&#039;&#039;  -- [&#039;&#039;15-January-2006&#039;&#039;]&lt;br /&gt;
* 1.0.8 [[:Category:Joomla! 1.0.8|Sunshade]]  -- [26-February-2006]&lt;br /&gt;
* 1.0.9 [[:Category:Joomla! 1.0.9|Sunshine]]  -- [5-June-2006]&lt;br /&gt;
* 1.0.10 [[:Category:Joomla! 1.0.10|Sundown]]  -- [26-June-2006]&lt;br /&gt;
* 1.0.11 [[:Category:Joomla! 1.0.11|Sunbow]]   -- [29-August-2006]&lt;br /&gt;
* 1.0.12 [[:Category:Joomla! 1.0.12|Sunfire]]  -- [25-December-2006]&lt;br /&gt;
* 1.0.13 [[:Category:Joomla! 1.0.13|Sunglow]]  -- [21-July-2007]&lt;br /&gt;
* 1.0.14 [[:Category:Joomla! 1.0.14|Daybreak]] -- [11-February-2008]&lt;br /&gt;
* 1.0.15 [[:Category:Joomla! 1.0.15|Daytime]] -- [22-February-2008]&lt;br /&gt;
[[Category:Joomla! 1.0]]&lt;br /&gt;
&amp;lt;section end=names10 /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Updating_from_an_existing_version&amp;diff=65795</id>
		<title>J2.5:Updating from an existing version</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Updating_from_an_existing_version&amp;diff=65795"/>
		<updated>2012-03-21T13:03:22Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
=Overview=&lt;br /&gt;
Starting with version 1.6, there are two recommended ways to update your Joomla website with running versions 1.6, 1.7 or 2.5. &lt;br /&gt;
&lt;br /&gt;
* Extension Manager: Update&lt;br /&gt;
* Extension Manager: Install&lt;br /&gt;
* Manually Copy Program Files&lt;br /&gt;
&lt;br /&gt;
Each of these is discussed below.&lt;br /&gt;
==Upgrade from version earlier then 1.6.x to Joomla 1.7? ==&lt;br /&gt;
This page does not contain the instructions for migrating a Website from Joomla versions earlier than 1.6. See the [[Upgrading and Migrating Joomla]] page.&lt;br /&gt;
&lt;br /&gt;
==Upgrade from version 1.6.x to Joomla 1.7? ==&lt;br /&gt;
Note: To upgrade from version 1.6.x to Joomla 1.7 please follow this [[Upgrade 1.6.5 to 1.7|guide]].&lt;br /&gt;
&lt;br /&gt;
==Upgrade to Joomla 2.5 on shared hosts==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important note as of 28 January 2012:&#039;&#039;&#039; &#039;&#039;On some shared host environments (GoDaddy.com and perhaps others), the normal Joomla update from 1.7 to 2.5 can intermittently fail with the error &amp;quot;Internal Server Error&amp;quot;. In some cases, this can happen in the middle of the file transfer process and cause errors on the site. On GoDaddy.com, this appears to happen when the server is under a heavy load and the update takes longer than 2 minutes to complete.&#039;&#039;&lt;br /&gt;
&#039;&#039;Based on recent testing, sites on these slower shared hosts can safely be updated using a free third-party extension called [http://tinyurl.com/7d9odse Admin Tools]. If you are updating a site on a shared host, please consider using Admin Tools or else use the Manually Copy Program Files method outlined below.&#039;&#039;&lt;br /&gt;
&#039;&#039;If you have experienced an error during the update, there is a process for repairing the site.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps and actions:&#039;&#039;&#039;&lt;br /&gt;
It is recommended that you follow these steps when updating a production site:&lt;br /&gt;
# Back up your site before upgrading to a new version. That way, if something goes wrong during the upgrade process, you can easily restore your site to the earlier version. &lt;br /&gt;
# Review the release notes for the new version to be familiar with what was changed.&lt;br /&gt;
# Update using one of the recommended methods outlined in this document. These methods install the new program files, delete unneeded old program files, and update the database as needed for the new Joomla version.&lt;br /&gt;
# Check that the update was successful, using the steps outlined in [[#Checking Your Site]].&lt;br /&gt;
&lt;br /&gt;
=Method A - Extension Manager: Update Method=&lt;br /&gt;
{{JVer|1.6}}{{JVer|1.7}}{{JVer|2.5}}&lt;br /&gt;
This is the easier way, also called &#039;&#039;One click update&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Step 1: Make sure you have a current backup of your site==&lt;br /&gt;
In many cases, your host will make periodic site backups.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Find and install updates==&lt;br /&gt;
# In the back end of your Joomla site, navigate to Extensions &amp;amp;rarr; Extension Manager and open the Update tab.&lt;br /&gt;
# Click on the Purge Cache icon to clear out the cache.&lt;br /&gt;
# Click on the Find Updates icon in the toolbar. If there is an available update, the screen will list it, similar to the screen shown below. [[Image:Update-screenshot-20120124-01.png|frame|center]] Note that available upgrades for extensions used in the site will also show in the list.&lt;br /&gt;
# Select the update (using the checkbox) and click on the Update icon in the toolbar. &lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; This process will take a few minutes. Wait until the process completes and the success message shows, similar to the screen shown below. [[Image:Update-screenshot-20120124-02.png|frame|center]]&lt;br /&gt;
# Congratulations! At this point, your site is updated.&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; You need now to check that your site is working correctly. See below Checking Your Site&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Method B - Extension Manager: Install Method=&lt;br /&gt;
{{JVer|1.6}}{{JVer|1.7}}{{JVer|2.5}}&lt;br /&gt;
In some cases it may not be possible to use the Extension Manager: Update method to update your site. One reason for this might be that you are using a non-standard distribution (for example, a distribution with a different default language installed). Another reason might be that your don&#039;t have a reliable enough internet connection to support automatic installation. &lt;br /&gt;
&lt;br /&gt;
In this case, you can still do an easy installation using the Extension Manager: Install screen. Like the Update screen, this method will do the database updates automatically and will completely update your system without any further steps.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Make sure you have a current backup of your site==&lt;br /&gt;
In many cases, your host will make periodic site backups.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Locate the update file==&lt;br /&gt;
Locate the required archive file (for example, .zip, .tag.gz, or tar.bz2 archive) for your version. If you are updating to an x.x.0 release (for example, from 1.7.3 to 2.5.0), this will normally be a file like Joomla_2.5.0-Stable-Update_Package.zip. If you are updating within the same release series (for example, 2.5.0 to 2.5.1), then the file will be named something like Joomla_2.5.0_to_2.5.1-Stable-Patch_Package.zip.&lt;br /&gt;
&lt;br /&gt;
At this point, you have three options:&lt;br /&gt;
# Install from URL&lt;br /&gt;
# Install from Directory&lt;br /&gt;
# Upload Package File&lt;br /&gt;
&lt;br /&gt;
Install from URL is the easiest to do. With this option, the upgrade archive is loaded directly by the server, so it works well even if your local computer has a slow or unreliable internet connection. &lt;br /&gt;
&lt;br /&gt;
Install from Directory is the safest method if the server itself has a slow internet connection. With this method, you use FTP to load the unpacked update files into a temporary folder on the server. Then you point to that directory on the server for the installation.&lt;br /&gt;
&lt;br /&gt;
Upload Package File is fairly simple, but it requires that you have a good connection between your local computer and the server. &lt;br /&gt;
&lt;br /&gt;
The screen below shows the Extension Manager: Install screen with the three options labeled. &lt;br /&gt;
[[Image:Update-screenshot-20120124-03.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
===Install from URL===&lt;br /&gt;
This option is the easiest, if the archive file is available on a website. &lt;br /&gt;
# In the Extension Manager: Install screen, enter the URL for the archive file in the Install URL field.&lt;br /&gt;
# Press the Install button. &lt;br /&gt;
The system will work for a period of time, up to two minutes or more for a full version update. Then a message indicating a successful installation will display.&lt;br /&gt;
&lt;br /&gt;
===Install from Directory===&lt;br /&gt;
This option requires that you unpack the archive file in a directory on your server. This is the best method if you have a slow internet connection or you are experiencing timeouts during the update process.&lt;br /&gt;
# Unpack the archive file in a temporary directory on your local machine.&lt;br /&gt;
# Upload all the files in this directory (for example, using FTP) to a temporary directory that is visible to the web server. For example, you can create a sub-directory under the tmp directory in your Joomla root. For this example, let&#039;s say the directory on the server is &amp;lt;code&amp;gt;/home/myuser/myjoomla/tmp/upgrade250&amp;lt;/code&amp;gt;).&lt;br /&gt;
# In the Extension Manager: Install screen, enter the full path of the temporary directory (on the server) from step 2 (for example, &amp;lt;code&amp;gt;/home/myuser/myjoomla/tmp/upgrade250&amp;lt;/code&amp;gt;).&lt;br /&gt;
# Press the Install button. &lt;br /&gt;
The system will work for a short time (perhaps a minute or less, depending on your server). Then a message indicating a successful installation will display.&lt;br /&gt;
&lt;br /&gt;
===Upload Package File===&lt;br /&gt;
This option requires that you first download the archive file to your local machine. &lt;br /&gt;
# Download the file to your local computer.&lt;br /&gt;
# In the Extension Manager: Install screen, click the Browse button next to the Package File field and browse to the archive file.&lt;br /&gt;
# Press the Install button. &lt;br /&gt;
The system will work for a period of time, up to two minutes or more for a full version update. Then a message indicating a successful installation will display.&lt;br /&gt;
&lt;br /&gt;
# Congratulations! At this point, your site is updated.&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; You need now to check that your site is working correctly. See below Checking Your Site.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Method C - Manually Copy New Program Files=&lt;br /&gt;
This method is similar to the old method for updating Joomla versions. Here we want to replace the existing program files with the files from the update archive. The advantage of this method is that it will work on slower shared hosts. The disadvantage is that it requires more work by the system administrator.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Important: This method can also be used to repair a site where the automatic update failed due to a server timeout.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Copy the New Program Files to Your Site==&lt;br /&gt;
There are two ways you can do this.&lt;br /&gt;
# Copy the archive file to the root directory of your site and unpack the archive. The update archive will be named something like &amp;lt;code&amp;gt;Joomla_2.5.0-Stable-Update_Package.zip&amp;lt;/code&amp;gt;. Note that you need to tell the system to replace any existing files. For example, in GoDaddy.com, use the FTP File Manager to upload the update file and then use &amp;quot;Unarchive&amp;quot; to unpack it. Check the box &amp;quot;Overwrite existing files&amp;quot;.&lt;br /&gt;
# If you don&#039;t have the ability to unpack the archive on the server, create a temporary directory on your local machine and unpack the archive file there. Then FTP these files to the root directory of your site, overwriting the existing files.&lt;br /&gt;
&lt;br /&gt;
==Update the Database==&lt;br /&gt;
At this point, you should be able to log into the back end of your site with the new version installed. However, you are not done. Navigate to Extension Manager: Database. You will initially have Database problems when you check the Database, similar to the screen below. &lt;br /&gt;
[[Image:Update-screenshot-20120124-08.png|frame|center|Database Screen Before Fix]]&lt;br /&gt;
This is expected. Click on the Fix icon to correct the problems. Now the screen should show that the database is up to date.&lt;br /&gt;
&lt;br /&gt;
==Install New Extensions==&lt;br /&gt;
Navigate to Extension Manager: Discover and click on the Discover icon in the toolbar. If the updated version has new core extensions, new extensions will be listed, as shown below. &lt;br /&gt;
[[Image:Update-screenshot-20120124-09.png|frame|center|Discover Screen Before Install]]&lt;br /&gt;
Select all the extensions and click on the Install icon in the toolbar. The system should display a success message similar to the screen below.&lt;br /&gt;
[[Image:Update-screenshot-20120124-10.png|frame|center|Discover Screen After Install]]&lt;br /&gt;
&lt;br /&gt;
==Update the #__extensions Table==&lt;br /&gt;
At this point, your site is updated. However, there is one more thing to do. The site will think it needs to be updated because a value in the #__extensions table is wrong. To fix this:&lt;br /&gt;
* Using phpMyAdmin or a similar tool, edit the row of the #__extensions table where the id column is &#039;700&#039;. (Note that the table prefix will be different in your site. For example, if your table prefix is &amp;quot;jos_&amp;quot;, then the table will be called &amp;quot;jos_extensions&amp;quot;.&lt;br /&gt;
* In the manifest_cache column, you will see the old version in the text (for example, &amp;lt;code&amp;gt;&amp;quot;version&amp;quot;:&amp;quot;1.7.3&amp;quot;&amp;lt;/code&amp;gt;). Change this to the new version (for example, &amp;lt;code&amp;gt;&amp;quot;version&amp;quot;:&amp;quot;2.5.0&amp;quot;&amp;lt;/code&amp;gt;). Be careful to not change anything else in this column.&lt;br /&gt;
* To check that this was successful, navigate to Extension Manager: Update and click Check for Updates. You should &#039;&#039;&#039;not&#039;&#039;&#039; see the current Joomla version in the list.&lt;br /&gt;
&lt;br /&gt;
At this point, your site should be updated correctly. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Your Site=&lt;br /&gt;
&#039;&#039;&#039;This is required for method A and B!&#039;&#039;&#039;&lt;br /&gt;
After an update, it is a good idea to check your site to make sure the update was successful. There are two quick checks you can do from the Extension Manager.&lt;br /&gt;
==Extension Manager: Check Database==&lt;br /&gt;
{{JVer|2.5}} This feature was added in version 2.5.0. It checks that your database is up to date with your Joomla programs. &lt;br /&gt;
&lt;br /&gt;
Navigate to Extension Manager: Database. If your database is up to date, you should see a screen similar to the one below:&lt;br /&gt;
[[Image:Update-screenshot-20120124-04.png|frame|center|Database Screen With No Problems]]&lt;br /&gt;
&lt;br /&gt;
If your database is not up to date, you will see a screen listing the problems found, similar to the one below:&lt;br /&gt;
[[Image:Update-screenshot-20120124-05.png|frame|center|Database Screen With 3 Database Problems]]&lt;br /&gt;
In this case, press the Fix button in the upper right corner. Joomla will update your database to correct the issues listed and then it will re-display the screen. If the fix was successful, the display will indicate that the database is up to date.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;N.B.&#039;&#039;&#039; If any errors fail to fix then make sure all the database Tables are checked in.&lt;br /&gt;
&lt;br /&gt;
==Extension Manager: Discover==&lt;br /&gt;
In some cases, when you update to a new Joomla version, new core extensions are added. If there were problems with the database update, these extensions may not have been correctly installed. To check this, navigate to Extension Manager: Discover. Then click on the Discover icon in the toolbar. The screen should show as follows:&lt;br /&gt;
[[Image:Update-screenshot-20120124-06.png|frame|center|Discover Screen With No Extensions To Install]]&lt;br /&gt;
If so, you know that any new extensions added during the udpate were correctly installed in the database.&lt;br /&gt;
&lt;br /&gt;
If there are uninstalled extensions, they will show similar to the following screen:&lt;br /&gt;
[[Image:Update-screenshot-20120124-07.png|frame|center|Discover Screen With Two Extensions To Install]]&lt;br /&gt;
In this case, check the check boxes and click on the Install icon in the toolbar. Joomla will install the extension(s) and then display the screen showing no extensions discovered. At this point, the new extensions have been installed in the database.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting Update Problems=&lt;br /&gt;
If you have any questions before, during, or after the upgrade then please ask them on the [http://forum.joomla.org/viewforum.php?f=625&amp;amp;sid=259a29d8e21242b6770f86026f6c9c3a Joomla! 1.6 Migrating and Upgrading Forum].&lt;br /&gt;
&lt;br /&gt;
If you have problems or errors during the update process, here are some tips.&lt;br /&gt;
* If any database error messages show after the update, be sure to check the Extension Manager: Database tab followed by the Extension Manager: Discover tab. In some cases, if a database error occurs it will prevent all the database updates from running. In this case, you can run them from the Database tab and then use the Discover&amp;amp;rarr;Install method to check and install any new extensions.&lt;br /&gt;
* If you encounter any errors or problems during or after the update, be sure to check the FAQ for the version you updated to. For example, for version 2.5.0, this will be an article entitled [http://docs.joomla.org/Category:Version_2.5.0_FAQ http://docs.joomla.org/Category:Version_2.5.0_FAQ].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Upgrading]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Updating_from_an_existing_version&amp;diff=65794</id>
		<title>J2.5:Updating from an existing version</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Updating_from_an_existing_version&amp;diff=65794"/>
		<updated>2012-03-21T12:59:28Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
=Overview=&lt;br /&gt;
Starting with version 1.6, there are two recommended ways to update your Joomla website with running versions 1.6, 1.7 or 2.5. &lt;br /&gt;
&lt;br /&gt;
* Extension Manager: Update&lt;br /&gt;
* Extension Manager: Install&lt;br /&gt;
* Manually Copy Program Files&lt;br /&gt;
&lt;br /&gt;
Each of these is discussed below.&lt;br /&gt;
==Upgrade from version earlier then 1.6.x to Joomla 1.7? ==&lt;br /&gt;
This page does not contain the instructions for migrating a Website from Joomla versions earlier than 1.6. See the [[Upgrading and Migrating Joomla]] page.&lt;br /&gt;
&lt;br /&gt;
==Upgrade from version 1.6.x to Joomla 1.7? ==&lt;br /&gt;
Note: To upgrade from version 1.6.x to Joomla 1.7 please follow this [[Upgrade 1.6.5 to 1.7|guide]].&lt;br /&gt;
&lt;br /&gt;
==Upgrade to Joomla 2.5 on shared hosts==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important note as of 28 January 2012:&#039;&#039;&#039; &#039;&#039;On some shared host environments (GoDaddy.com and perhaps others), the normal Joomla update from 1.7 to 2.5 can intermittently fail with the error &amp;quot;Internal Server Error&amp;quot;. In some cases, this can happen in the middle of the file transfer process and cause errors on the site. On GoDaddy.com, this appears to happen when the server is under a heavy load and the update takes longer than 2 minutes to complete.&#039;&#039;&lt;br /&gt;
&#039;&#039;Based on recent testing, sites on these slower shared hosts can safely be updated using a free third-party extension called [http://tinyurl.com/7d9odse Admin Tools]. If you are updating a site on a shared host, please consider using Admin Tools or else use the Manually Copy Program Files method outlined below.&#039;&#039;&lt;br /&gt;
&#039;&#039;If you have experienced an error during the update, there is a process for repairing the site.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps and actions:&#039;&#039;&#039;&lt;br /&gt;
It is recommended that you follow these steps when updating a production site:&lt;br /&gt;
# Back up your site before upgrading to a new version. That way, if something goes wrong during the upgrade process, you can easily restore your site to the earlier version. &lt;br /&gt;
# Review the release notes for the new version to be familiar with what was changed.&lt;br /&gt;
# Update using one of the recommended methods outlined in this document. These methods install the new program files, delete unneeded old program files, and update the database as needed for the new Joomla version.&lt;br /&gt;
# Check that the update was successful, using the steps outlined in [[#Checking Your Site]].&lt;br /&gt;
&lt;br /&gt;
=Method A - Extension Manager: Update Method=&lt;br /&gt;
{{JVer|1.6}}{{JVer|1.7}}{{JVer|2.5}}&lt;br /&gt;
&lt;br /&gt;
==Step 1: Make sure you have a current backup of your site==&lt;br /&gt;
In many cases, your host will make periodic site backups.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Find and install updates==&lt;br /&gt;
# In the back end of your Joomla site, navigate to Extensions &amp;amp;rarr; Extension Manager and open the Update tab.&lt;br /&gt;
# Click on the Purge Cache icon to clear out the cache.&lt;br /&gt;
# Click on the Find Updates icon in the toolbar. If there is an available update, the screen will list it, similar to the screen shown below. [[Image:Update-screenshot-20120124-01.png|frame|center]] Note that available upgrades for extensions used in the site will also show in the list.&lt;br /&gt;
# Select the update (using the checkbox) and click on the Update icon in the toolbar. &lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; This process will take a few minutes. Wait until the process completes and the success message shows, similar to the screen shown below. [[Image:Update-screenshot-20120124-02.png|frame|center]]&lt;br /&gt;
# Congratulations! At this point, your site is updated.&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; You need now to check that your site is working correctly. See below Checking Your Site&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Method B - Extension Manager: Install Method=&lt;br /&gt;
{{JVer|1.6}}{{JVer|1.7}}{{JVer|2.5}}&lt;br /&gt;
In some cases it may not be possible to use the Extension Manager: Update method to update your site. One reason for this might be that you are using a non-standard distribution (for example, a distribution with a different default language installed). Another reason might be that your don&#039;t have a reliable enough internet connection to support automatic installation. &lt;br /&gt;
&lt;br /&gt;
In this case, you can still do an easy installation using the Extension Manager: Install screen. Like the Update screen, this method will do the database updates automatically and will completely update your system without any further steps.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Make sure you have a current backup of your site==&lt;br /&gt;
In many cases, your host will make periodic site backups.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Locate the update file==&lt;br /&gt;
Locate the required archive file (for example, .zip, .tag.gz, or tar.bz2 archive) for your version. If you are updating to an x.x.0 release (for example, from 1.7.3 to 2.5.0), this will normally be a file like Joomla_2.5.0-Stable-Update_Package.zip. If you are updating within the same release series (for example, 2.5.0 to 2.5.1), then the file will be named something like Joomla_2.5.0_to_2.5.1-Stable-Patch_Package.zip.&lt;br /&gt;
&lt;br /&gt;
At this point, you have three options:&lt;br /&gt;
# Install from URL&lt;br /&gt;
# Install from Directory&lt;br /&gt;
# Upload Package File&lt;br /&gt;
&lt;br /&gt;
Install from URL is the easiest to do. With this option, the upgrade archive is loaded directly by the server, so it works well even if your local computer has a slow or unreliable internet connection. &lt;br /&gt;
&lt;br /&gt;
Install from Directory is the safest method if the server itself has a slow internet connection. With this method, you use FTP to load the unpacked update files into a temporary folder on the server. Then you point to that directory on the server for the installation.&lt;br /&gt;
&lt;br /&gt;
Upload Package File is fairly simple, but it requires that you have a good connection between your local computer and the server. &lt;br /&gt;
&lt;br /&gt;
The screen below shows the Extension Manager: Install screen with the three options labeled. &lt;br /&gt;
[[Image:Update-screenshot-20120124-03.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
===Install from URL===&lt;br /&gt;
This option is the easiest, if the archive file is available on a website. &lt;br /&gt;
# In the Extension Manager: Install screen, enter the URL for the archive file in the Install URL field.&lt;br /&gt;
# Press the Install button. &lt;br /&gt;
The system will work for a period of time, up to two minutes or more for a full version update. Then a message indicating a successful installation will display.&lt;br /&gt;
&lt;br /&gt;
===Install from Directory===&lt;br /&gt;
This option requires that you unpack the archive file in a directory on your server. This is the best method if you have a slow internet connection or you are experiencing timeouts during the update process.&lt;br /&gt;
# Unpack the archive file in a temporary directory on your local machine.&lt;br /&gt;
# Upload all the files in this directory (for example, using FTP) to a temporary directory that is visible to the web server. For example, you can create a sub-directory under the tmp directory in your Joomla root. For this example, let&#039;s say the directory on the server is &amp;lt;code&amp;gt;/home/myuser/myjoomla/tmp/upgrade250&amp;lt;/code&amp;gt;).&lt;br /&gt;
# In the Extension Manager: Install screen, enter the full path of the temporary directory (on the server) from step 2 (for example, &amp;lt;code&amp;gt;/home/myuser/myjoomla/tmp/upgrade250&amp;lt;/code&amp;gt;).&lt;br /&gt;
# Press the Install button. &lt;br /&gt;
The system will work for a short time (perhaps a minute or less, depending on your server). Then a message indicating a successful installation will display.&lt;br /&gt;
&lt;br /&gt;
===Upload Package File===&lt;br /&gt;
This option requires that you first download the archive file to your local machine. &lt;br /&gt;
# Download the file to your local computer.&lt;br /&gt;
# In the Extension Manager: Install screen, click the Browse button next to the Package File field and browse to the archive file.&lt;br /&gt;
# Press the Install button. &lt;br /&gt;
The system will work for a period of time, up to two minutes or more for a full version update. Then a message indicating a successful installation will display.&lt;br /&gt;
&lt;br /&gt;
# Congratulations! At this point, your site is updated.&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; You need now to check that your site is working correctly. See below Checking Your Site.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Method C - Manually Copy New Program Files=&lt;br /&gt;
This method is similar to the old method for updating Joomla versions. Here we want to replace the existing program files with the files from the update archive. The advantage of this method is that it will work on slower shared hosts. The disadvantage is that it requires more work by the system administrator.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Important: This method can also be used to repair a site where the automatic update failed due to a server timeout.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Copy the New Program Files to Your Site==&lt;br /&gt;
There are two ways you can do this.&lt;br /&gt;
# Copy the archive file to the root directory of your site and unpack the archive. The update archive will be named something like &amp;lt;code&amp;gt;Joomla_2.5.0-Stable-Update_Package.zip&amp;lt;/code&amp;gt;. Note that you need to tell the system to replace any existing files. For example, in GoDaddy.com, use the FTP File Manager to upload the update file and then use &amp;quot;Unarchive&amp;quot; to unpack it. Check the box &amp;quot;Overwrite existing files&amp;quot;.&lt;br /&gt;
# If you don&#039;t have the ability to unpack the archive on the server, create a temporary directory on your local machine and unpack the archive file there. Then FTP these files to the root directory of your site, overwriting the existing files.&lt;br /&gt;
&lt;br /&gt;
==Update the Database==&lt;br /&gt;
At this point, you should be able to log into the back end of your site with the new version installed. However, you are not done. Navigate to Extension Manager: Database. You will initially have Database problems when you check the Database, similar to the screen below. &lt;br /&gt;
[[Image:Update-screenshot-20120124-08.png|frame|center|Database Screen Before Fix]]&lt;br /&gt;
This is expected. Click on the Fix icon to correct the problems. Now the screen should show that the database is up to date.&lt;br /&gt;
&lt;br /&gt;
==Install New Extensions==&lt;br /&gt;
Navigate to Extension Manager: Discover and click on the Discover icon in the toolbar. If the updated version has new core extensions, new extensions will be listed, as shown below. &lt;br /&gt;
[[Image:Update-screenshot-20120124-09.png|frame|center|Discover Screen Before Install]]&lt;br /&gt;
Select all the extensions and click on the Install icon in the toolbar. The system should display a success message similar to the screen below.&lt;br /&gt;
[[Image:Update-screenshot-20120124-10.png|frame|center|Discover Screen After Install]]&lt;br /&gt;
&lt;br /&gt;
==Update the #__extensions Table==&lt;br /&gt;
At this point, your site is updated. However, there is one more thing to do. The site will think it needs to be updated because a value in the #__extensions table is wrong. To fix this:&lt;br /&gt;
* Using phpMyAdmin or a similar tool, edit the row of the #__extensions table where the id column is &#039;700&#039;. (Note that the table prefix will be different in your site. For example, if your table prefix is &amp;quot;jos_&amp;quot;, then the table will be called &amp;quot;jos_extensions&amp;quot;.&lt;br /&gt;
* In the manifest_cache column, you will see the old version in the text (for example, &amp;lt;code&amp;gt;&amp;quot;version&amp;quot;:&amp;quot;1.7.3&amp;quot;&amp;lt;/code&amp;gt;). Change this to the new version (for example, &amp;lt;code&amp;gt;&amp;quot;version&amp;quot;:&amp;quot;2.5.0&amp;quot;&amp;lt;/code&amp;gt;). Be careful to not change anything else in this column.&lt;br /&gt;
* To check that this was successful, navigate to Extension Manager: Update and click Check for Updates. You should &#039;&#039;&#039;not&#039;&#039;&#039; see the current Joomla version in the list.&lt;br /&gt;
&lt;br /&gt;
At this point, your site should be updated correctly. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Your Site=&lt;br /&gt;
&#039;&#039;&#039;This is required for method A and B!&#039;&#039;&#039;&lt;br /&gt;
After an update, it is a good idea to check your site to make sure the update was successful. There are two quick checks you can do from the Extension Manager.&lt;br /&gt;
==Extension Manager: Check Database==&lt;br /&gt;
This feature was added in version 2.5.0. It checks that your database is up to date with your Joomla programs. &lt;br /&gt;
&lt;br /&gt;
Navigate to Extension Manager: Database. If your database is up to date, you should see a screen similar to the one below:&lt;br /&gt;
[[Image:Update-screenshot-20120124-04.png|frame|center|Database Screen With No Problems]]&lt;br /&gt;
&lt;br /&gt;
If your database is not up to date, you will see a screen listing the problems found, similar to the one below:&lt;br /&gt;
[[Image:Update-screenshot-20120124-05.png|frame|center|Database Screen With 3 Database Problems]]&lt;br /&gt;
In this case, press the Fix button in the upper right corner. Joomla will update your database to correct the issues listed and then it will re-display the screen. If the fix was successful, the display will indicate that the database is up to date.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;N.B.&#039;&#039;&#039; If any errors fail to fix then make sure all the database Tables are checked in.&lt;br /&gt;
&lt;br /&gt;
==Extension Manager: Discover==&lt;br /&gt;
In some cases, when you update to a new Joomla version, new core extensions are added. If there were problems with the database update, these extensions may not have been correctly installed. To check this, navigate to Extension Manager: Discover. Then click on the Discover icon in the toolbar. The screen should show as follows:&lt;br /&gt;
[[Image:Update-screenshot-20120124-06.png|frame|center|Discover Screen With No Extensions To Install]]&lt;br /&gt;
If so, you know that any new extensions added during the udpate were correctly installed in the database.&lt;br /&gt;
&lt;br /&gt;
If there are uninstalled extensions, they will show similar to the following screen:&lt;br /&gt;
[[Image:Update-screenshot-20120124-07.png|frame|center|Discover Screen With Two Extensions To Install]]&lt;br /&gt;
In this case, check the check boxes and click on the Install icon in the toolbar. Joomla will install the extension(s) and then display the screen showing no extensions discovered. At this point, the new extensions have been installed in the database.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting Update Problems=&lt;br /&gt;
If you have any questions before, during, or after the upgrade then please ask them on the [http://forum.joomla.org/viewforum.php?f=625&amp;amp;sid=259a29d8e21242b6770f86026f6c9c3a Joomla! 1.6 Migrating and Upgrading Forum].&lt;br /&gt;
&lt;br /&gt;
If you have problems or errors during the update process, here are some tips.&lt;br /&gt;
* If any database error messages show after the update, be sure to check the Extension Manager: Database tab followed by the Extension Manager: Discover tab. In some cases, if a database error occurs it will prevent all the database updates from running. In this case, you can run them from the Database tab and then use the Discover&amp;amp;rarr;Install method to check and install any new extensions.&lt;br /&gt;
* If you encounter any errors or problems during or after the update, be sure to check the FAQ for the version you updated to. For example, for version 2.5.0, this will be an article entitled [http://docs.joomla.org/Category:Version_2.5.0_FAQ http://docs.joomla.org/Category:Version_2.5.0_FAQ].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Upgrading]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=65682</id>
		<title>Creating language packs for extensions in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_language_packs_for_extensions_in_Joomla_2.5&amp;diff=65682"/>
		<updated>2012-03-16T03:25:56Z</updated>

		<summary type="html">&lt;p&gt;Horus 68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}Although Joomla 2.5 supports installing language files for the front end (site) or back end (admin), it has no dedicated way to install language files for extensions (components, plugins, modules) unless they are installed with the extension itself.&lt;br /&gt;
&lt;br /&gt;
Fortunately, since Joomla 1.6, Joomla! supports a powerful way to install an arbitrary set of files called a &#039;files&#039; installation unit.&lt;br /&gt;
Here you will find examples for file structure, XML and lang files content and an installation unit set of files.&lt;br /&gt;
* All of the language files could technically have been in the top directory, but this example will show how to set up files in folders in the language pack folder using the &#039;folder=&#039; attribute in the XML &amp;lt;files&amp;gt; tag.  Also, putting them in folders as shown ensures that the installer can find them during installation to use them to display the name of the language pack as part of the installation confirmation.&lt;br /&gt;
&lt;br /&gt;
== Example Plugin Language Pack ==&lt;br /&gt;
&lt;br /&gt;
Suppose you have a content plugin named &#039;ganymede&#039; that you want to create a new language pack for language zz-ZZ.  Here is what your language pack files in the folder &#039;ganymede_zz_zz_language_pack&#039; might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── ganymede_zz_zz_language_pack&lt;br /&gt;
   ├── index.html&lt;br /&gt;
   ├── ganymede_zz_zz_language_pack.xml&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   ├── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the file &#039;ganymede_zz_zz_language_pack.xml&#039; is the installation manifest file.  &lt;br /&gt;
&lt;br /&gt;
=== Special lang files for label ===&lt;br /&gt;
Languages files for the set of files. You need to create one file for the lang pack, and a reference file for en-GB. They will be installed in Joomla admin language folder and the contents its displayed on the install screen and as label in extension manager&lt;br /&gt;
&lt;br /&gt;
The file  &#039;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have this language keys in english:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede en-GB file for zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; would have similar contents only in zz-ZZ lang:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; package : plg_ganymede zz-ZZ language pack&lt;br /&gt;
; translator : Galileu Galilei&lt;br /&gt;
; License : GNU General Public License version 2 or later: http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
; Note : All ini files need to be saved as UTF-8 - No BOM&lt;br /&gt;
&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK=&amp;quot;Plugin Ganymede zz-ZZ Language Pack&amp;quot;&lt;br /&gt;
FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC=&amp;quot;Plugin Ganymede zz-ZZ Language Pack created by zz-ZZ Team&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that the name of the language key (to the left of the equals sign) must be identical to the name of the manifest file prefixed with &#039;files_&#039; in order for the extension manager to find it.&lt;br /&gt;
As in &#039;FILES_GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&#039; for XML file named &#039;ganymede_zz_zz_language_pack.xml&#039; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example plugin manifest file ===&lt;br /&gt;
The manifest file would look something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 - 2012. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;GNU/GPL http://www.gnu.org/licenses/gpl-2.0.html&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;GANYMEDE_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Language files for the plugin --&amp;gt;&lt;br /&gt;
        &amp;lt;files target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;en-GB.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;filename&amp;gt;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
    &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special note:&lt;br /&gt;
This example includes also the update servers statement for languages updates using the discovery feature on Joomla Extensions manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A few notes and warnings:&lt;br /&gt;
* Once this installed, the pseudo-language pack will be listed in the Extension manager (not the language manager).&lt;br /&gt;
* This approach installs the plugin language files into the correct location inside the plugin folder.  This is the new approach for the location of extension language files in Joomla 1.6+.&lt;br /&gt;
* The language files &#039;zz-ZZ.files_ganymede_zz_zz_language_pack.sys.ini&#039; (and its English counterpart) will be put into the top-level (site) language/ folder. They are only needed for displaying the name of this pseudo-language pack in the Extension manager.&lt;br /&gt;
* The English version of the language pack file need to be included. This is not only for convenience even if English is often a second language for many sites.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a language pack for several extensions in one file ==&lt;br /&gt;
This same a approach can be used to create a single language pack for several extensions at once.  Just create a language pack as shown above for a plugin and add additional &amp;lt;files&amp;gt; sections for each component, plugin, and module.  An additional benefit is that language-specific versions of the help file can be installed in their correct locations as well.  &lt;br /&gt;
&lt;br /&gt;
For example suppose we have an extension composed by a plugin &#039;ganymede&#039; and a component &#039;jupiter&#039;.  To create the zz-ZZ language pack, set up files in the following directory structure:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
── jupiter_zz_zz_language_pack&lt;br /&gt;
   ├── jupiter_zz_zz_language_pack.xml&lt;br /&gt;
   ├── com_jupiter&lt;br /&gt;
   │   ├── administrator&lt;br /&gt;
   │   │   ├── help&lt;br /&gt;
   │   │   │   └── zz-ZZ&lt;br /&gt;
   │   │   │       ├── help.css&lt;br /&gt;
   │   │   │       ├── help.html&lt;br /&gt;
   │   │   │       └── index.html&lt;br /&gt;
   │   │   ├── index.html&lt;br /&gt;
   │   │   ├── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   │   │   └── zz-ZZ.com_jupiter.sys.ini&lt;br /&gt;
   │   └── language&lt;br /&gt;
   │       ├── index.html&lt;br /&gt;
   │       └── zz-ZZ.com_jupiter.ini&lt;br /&gt;
   ├── plg_ganymede&lt;br /&gt;
   │   ├── index.html&lt;br /&gt;
   │   ├── zz-ZZ.plg_content_ganymede.ini&lt;br /&gt;
   │   └── zz-ZZ.plg_content_ganymede.sys.ini&lt;br /&gt;
   └── language&lt;br /&gt;
       ├── en-GB&lt;br /&gt;
       │   └── en-GB.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
       └── zz-ZZ&lt;br /&gt;
           └── zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manifest file for component and plugin ===&lt;br /&gt;
The corresponding manifest file for jupiter_zz_zz_language_pack.xml, would like something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;file&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;&lt;br /&gt;
      &amp;lt;creationDate&amp;gt;07 January 1609&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;Galileu Galilei&amp;lt;/author&amp;gt;&lt;br /&gt;
      &amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
      &amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
      &amp;lt;copyright&amp;gt;Copyright (C) 2011 ???. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
      &amp;lt;license&amp;gt;http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL&amp;lt;/license&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;JUPITER_ZZ_ZZ_LANGUAGE_PACK_DESC&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;fileset&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator&amp;quot; target=&amp;quot;administrator/components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Admin component zz language help folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/administrator/help/&amp;quot; target=&amp;quot;administrator/components/com_jupiter/help&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;folder&amp;gt;zz-ZZ&amp;lt;/folder&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Site component language folder --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;com_jupiter/language&amp;quot; target=&amp;quot;components/com_jupiter/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.com_jupiter.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Ganymede plugin language files --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;plg_ganymede&amp;quot; target=&amp;quot;plugins/content/ganymede/language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.plg_content_ganymede.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;!-- Lang pack languages --&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/en-GB&amp;quot; target=&amp;quot;language/en-GB&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;en-GB.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
          &amp;lt;files folder=&amp;quot;language/zz-ZZ&amp;quot; target=&amp;quot;language/zz-ZZ&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;filename&amp;gt;zz-ZZ.files_jupiter_zz_zz_language_pack.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
          &amp;lt;/files&amp;gt;&lt;br /&gt;
      &amp;lt;/fileset&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;zz-ZZ Language Updates&amp;quot;&amp;gt;http://update.zzZZ.com/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Note that we have created several different &amp;lt;files&amp;gt; sections for the admin language files, the admin help files, the site language files, the plugin language files, and the language files for the language pack itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example installation unit ==&lt;br /&gt;
SVN &#039;files&#039; for:&lt;br /&gt;
[http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftrunk%2Ftests%2F_data%2Finstaller_packages%2Ffiles_test1%2F Installation unit for an arbitrary set of files named &#039;files_test1&#039;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]] [[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Horus 68</name></author>
	</entry>
</feed>