How can I localize/translate 3CX PhoneSystem

The 3CX Phone System is designed to be multi-lingual. Each text element in the 3CX Management Console is stored in a file and referenced from this file.

By creating a localized copy of this file, it is possible to easily translate the interface and allow users to select the preferred language option.

You may then be able to choose the language from the 3CX Management Console Login page.

Location of Language Files in an installed system

An installation of 3CX Phone System will have default language files.
These will be located in the following location:
Windows Vista / 2008 / 7:
 %programdata%\3cx\data\http\includes\

This folder will include a file named “ManagementLanguages.xml”, which will in turn list the languages which the system will make available to the user. The individual language files will be named “strings_en.ini”, “strings_de.ini”, and so on, with the last two characters of the filename before the extension representing the country’s language example: en=English and de=Deutsch (German).

Management of Language Files

The primary file which contains the reference material is the “English” version – the “strings_en.ini” file. This is the base file that should be used to make translations from. Therefore it is important to ensure that the latest version of the English file is in hand before asking translators to work on it.

Making changes to any language file

It is recommended to use Notepad++ or pspad as the text-editing application for any language file. The file MUST be in “Windows” format (in the Notepad++ menu, go to the “Format” menu and select “Convert to Windows Format”). The file MUST be encoded in “UTF-8” (in the Notepad++ menu, go to the “Format” menu and select “Encode in UTF-8 without BOM”).

Format of the “ManagementLanguages.xml” file

Step 1: Go to %programdata%\3CX\Data\Http\includes\
Step 2: Open ManagementLanguages.xml with a text editor.
This is the standard file as you will see it in a default installation.

Step 3: To add a language, for example Hungarian add the following line inside the <languages> xml tag like this <Hungarian culture=”hu”>strings_hu.ini</Hungarian>”

Ensure that the languages are listed in alphabetical order by language name. Keep in mind that the 2-character code (the culture code) must be identical to the second part of the file name.

Step 4: Save the file ManagementLanguages.xml and close.

Step 5: In the same directory make a copy of the “strings_en.ini” file and and rename it “strings_hu.ini”.

Step 6: Put this file in the same location as the other language files. The webserver will look in this location for new language files.

Step 7: Start translating this file from English to the language you want to create. In this example to Hungarian. Each line in the language file will be in the format: <variable> = <translated text> You can see the changes on the fly if you save this file and log out of the Management console. Every time you log out from the web interface, the Management console reloads the new language files.

Localizing the 3CX Hotel Module

Localizing the 3CX Hotel Module can be achieved very similarly by following these steps:

  • Log on to a machine that has the latest Hotel Module installed.
  • Use windows explorer to navigate to: “C:\ProgramData\HotelModule\Data\Language”.
  • Retrieve the file called “strings_hotelApp_en.ini”.
  • Use that file as a base, and translate the strings on the right hand side of the “=” sign for each variable.
  • When done, assuming for this example that we are doing a translation for Italian:
    • Save the amended file to the same folder but with a different filename – in this case the filename would be “strings_hotelApp_it.ini”.
    • From the same folder open the file “HotelLanguages.xml”.
    • Adjust the XML file to include Italian, by adding, inside the <languages> tag, a new line to read:

<Italiano culture=”it”>strings_hotelApp_it.ini<Italiano>

    • So that the new file would read as follows:

<languages>
<English culture=”en”>strings_hotelApp_en.ini</English>
<Deutsch culture=”de”>strings_hotelApp_de.ini</Deutsch>
<Italiano culture=”it”>strings_hotelApp_it.ini<Italiano>
</languages>

Localizing the promptset

If you want to localize the prompt set in your phone system (i.e.  the voice messages used to provide feedback to the user), please visit this article. Note that many languages are already available from the updates feature.

Liked this article?


Get notified of new articles
or share
You might also be interested in: