Internationalisation (LAN)
Introduction
Your website can be used in different languages. In order for your plugin or theme areas to be displayed in a specific language, it needs to be translated.
👍 You should always include the English language files in your plugin!
Language files
File Types
There are three types of language files that can be used in your plugin.
Language File
Usage
English_front.php
Used only for the frontend of your plugin
English_admin.php
Used only for the Admin Area of your plugin
English_global.php
Used site-wide, for example in 👉 plugin.xml, files such asxxxx_menu.php
or 👉 addons.
Defining Language Terms
Language Terms are more commonly known as LAN's. You can define LAN's by using PHP constants:
Best practices
👍 Always use the format LAN_PLUGIN_{FOLDER}_{TYPE} to prevent conflicts.
Avoid duplicating terms, particularly in the admin area.
👍 If defining terms for admin, always search lan_admin.php
for existing LANs which may match what you require.
Never use HTML or URLs inside LAN definitions.
👍 Use double quotes within the defines and use str_replace()
or 👉 lanVars() for variables where needed.
Avoid short language strings for common words
Examples are words such as 'and', 'to' and so on. There aren't always equivalents in other languages.
👍 If embedding values into a phrase, use substitution.
Avoid using substitution terms which are real words or known BBCodes.
👍 Use brackets [..]
and values such as x, y, z. See examples below.
Examples
Good
Bad
Substitution
Loading Language Files
e107::lan()
To load a language file from a plugin folder, use e107::lan()
:
This will include the following paths:
Last updated