How do I translate HESK?
» The short version:
-
Text used by HESK is located in file language/en/text.php
-
Email templates are inside language/en/emails/
- HTML email templates are inside language/en/html_emails/
-
Settings help files are inside language/en/help_files/
-
Encoding must be set to UTF-8 and files must be saved as UTF-8 without byte order mark (BOM).
-
When translated the language is installed on the admin Settings page.
» A Step-by-step guide:
-
Go to the language folder and copy en folder into a new one, for example, named fr (for French).
-
Inside the new folder open text.php file with a text editor.
Do NOT use Windows Notepad or Wordpad, they do not save UTF-8 files without BOM!
Use a more powerful text editor, such as your website editor or the free Notepad++.
-
Translate all lines containing text. You may translate only the right side of each line, for example:
$hesklang['DO_NOT_CHANGE_THIS']='TRANSLATE WORDS HERE';When translating make sure to:
-
keep the line format: single quotes (') around each phrase and lines must end with a semi-colon (;)
-
if you use single quotes in words escape them with a backslash (\).
WRONG: can't
CORRECT: can\'t -
do not change special codes such as %s and %d as they are used by HESK
-
The language name is stored in the variable
$hesklang['LANGUAGE']='English';For example when translating to French change it to:
$hesklang['LANGUAGE']='Francais'; -
Set the LANGUAGE_EN variable to the English name of the language you are translating.
For example when translating to French change it to:
$hesklang['LANGUAGE_EN']='French'; -
The character encoding used must remain UTF-8, other encodings will not work correctly:
$hesklang['ENCODING']='UTF-8';
-
-
Save changes to the text.php file
-
Translate all the text files inside emails folder (language/fr/emails).
-
Translate all the text files inside html_emails folder (language/fr/html_emails).
-
Upload the new language folder to the server, for example to:
http://www.domain.com/hesk/language/fr - Open text.php file in your browser to check syntax, for example:
http://www.domain.com/hesk/language/fr/text.php
If everything is OK you should get a message saying "No syntax errors detected in /text.php".
If you get any errors then the PHP syntax is wrong. The error should give you line number with error, check syntax around that line; make sure all lines end with ";" and quotes are escaped with \'
-
Login to your HESK administration panel and go to Settings.
-
Is your new language listed under Language Settings > Default Language?
If yes, the language has been installed properly. You can make it the HESK default language by choosing it and clicking the Save Changes button at the bottom of the Settings page.
If not, something is wrong. Clicking the Test language folder link and it will list all the folders located in the language folder and the reason why the language isn't installed.
-
To finish language installation don't forget to click the Save Changes button at the bottom of the settings page!
-
Test HESK with the new language and make sure it works OK.
If you want to allow your customers to choose a language from all the installed HESK languages, enable the Multiple languages setting (set it to YES). If you provide support in one (default) language only, leave it disabled (set it to NO).
If you translate HESK to your language, please share it with others.