Joomla! uses three language packages, one for the front end, one for the administrator and one for installation. Ideally you will create all three.
Many people find it helpful to use the Translation manager extension. This helps by automating the creation of the files.
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.
This is an excerpt from en-GB.mod_login.ini
BUTTON_LOGIN=Login BUTTON_LOGOUT=Logout ENCRYPT LOGIN FORM=Encrypt Login Form FORGOT_YOUR_PASSWORD=Forgot your password? FORGOT_YOUR_USERNAME=Forgot your username? GREETING=Greeting
To create a package for your language you change the strings to the right of the = signal.
Language naming convention in Joomla are: language + ISO code.
Name of package should start with your language's ISO code + description + version:
The locale is used to sort translated lists when present on the server. Information on available locales may be found here.
Guidelines for developers to facilitate translation: Language Guidelines for 3rd Party Extensions