WHMCS supports numerous languages, in both in the client and admin areas. To enable this, all text used throughout the system is stored within language files.
Language files are stored in the /lang/ sub-folders of both the client and admin directories.
WHMCS includes 13 client area translations by default. These are:
Arabic, Catalan, Croatian, Czech, Danish, Dutch, English, Farsi, French, German, Hungarian, Italian, Norwegian, Brazilian & Native Portuguese, Russian, Spanish, Swedish, Turkish & Ukranian
And for the admin area there are 4 translations included:
Czech, English, French, Portuguese, Russian & Spanish
We rely on the dedication and generosity of our users for contributing translations, as we find real life translations are a much higher quality compared with using automated translation systems as some softwares do. So if you have any suggestions for improvements, or a new language file you are willing to contribute, please get in touch.
Adding a New Language
If a language you operate in is not available as standard, then you can create your own translation. Here's how:
- Begin by opening an existing language file
- Save this file with a new name - the name you want to be shown in the language selection dropdown menu in WHMCS - the name should only consist of a-z0-9 characters and end with the extension ".php"
- Once the file has been created, you can then begin going through and translating the lines within it
- An example line is as follows - you should only change the part in bold:
$_LANG['accountinfo'] = "Account Information";
Be careful not to delete any of the quotation marks (") around the text strings or the semi-colons on the ends of each line (;). Also should you want to use a quote character (") within your translated text, you must escape it - for example: \" The language files are written in PHP syntax so valid PHP code must be maintained.
Overriding Language Strings
Should you want to customise any of the default language file strings, we recommend using the overrides system. Overrides as the name suggests are a way of overriding language file text values without making changes to the core language files themselves. This has the benefit of meaning that when it comes to upgrades, you don't have any risk of overwriting and losing your customisations.
If this is your first time overriding language strings you will need to begin by creating a subfolder named overrides within the /lang/ directory (overrides are supported for both client and admin area languages).
- To start overriding language strings, begin by creating an empty file in the overrides folder matching the name of the default language file you want to override
- Next copy and paste any language strings from the default file into the override file that you want to customise
- Now edit the translations within the override file in exactly the same way as demonstrated above.
An example /lang/overrides/english.php file:
<?php $_LANG['globalsystemname'] = "Support System"; $_LANG['headertext'] = "Welcome to our members area."; ?>