The softphone support multilanguage user interface. It is possible to translate the application to any language.
The softphone loads language-specific phrases from *.lng files. For example:
- English.lng for English
- Spanish.lng for Spanish
- German.lng for German
Below is a short part of Spanish.lng file:
[Main::Buttons]
Call = Llamar
Cancel = Cancelar
Quickdial = Rapido
Setup = Config
Answer = Contestar
Dial = Marcar
Reject = Rechazar
[Call::Status]
Incoming call from {REMOTE-PARTY} = Llamada de {REMOTE-PARTY}
Trying to call {REMOTE-PARTY} = Llamando a {REMOTE-PARTY}
Calling to {REMOTE-PARTY} = Llamando a {REMOTE-PARTY}
{REMOTE-PARTY} is ringing = {REMOTE-PARTY} esta llamando
Talking to {REMOTE-PARTY} = Hablando con {REMOTE-PARTY}
Hanging up call with {REMOTE-PARTY} = Desconectando...
Answering call from {REMOTE-PARTY} = Llamada de {REMOTE-PARTY}
...
Format of Language (*.lng) file
Format of this file is a standard INI-file (in UNICODE code-page).
File consists of different sections, which are enclosed with square brackets [ ], like:
[Main::Buttons] ...
[Call::Status] ...
In above example, there are sections "Main::Buttons" and "Call::Status".
Each section may contain zero or more parameters:
<English text> = <Other language text>
For example:
[Main::Buttons] Call = Llamar Cancel = Cancelar
Above example tells the application to use a text "Llamar" instead of English version "Call" for all buttons and text "Cancelar" instead of "Cancel".
Some text phrases contains parameters, which are substituted in real-time by phone number, user name etc.
Such parameters are enclosed into braces { }.
For example:
[Call::Status]
Incoming call from {REMOTE-PARTY} = Llamada de {REMOTE-PARTY}
Trying to call {REMOTE-PARTY} = Llamando a {REMOTE-PARTY}
{REMOTE-PARTY} will be replaced with correct name or phone number of remote party, for example 123456. So, actual displayed text will be something like:
Llamada de 123456
It is possible to move that parameter to another position, for example:
[Call::Status]
Incoming call from {REMOTE-PARTY} = {REMOTE-PARTY} is calling you
Or even miss it, like:
[Call::Status]
Incoming call from {REMOTE-PARTY} = Somebody is calling you
Steps for translating User Interface into new language:
- Copy English.lng file to a new file, for example, MyLanguage.lng
- Edit phrases inside new file.
- Save new file in UNICODE format. This will guarantee that non-latin characters are displayed correctly on any Windows system. You can use Notepad.exe to save the file in UNICODE.
- Include that new file into installation script.