Multilanguage support

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:

  1. Copy English.lng file to a new file, for example, MyLanguage.lng
  2. Edit phrases inside new file.
  3. 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.
  4. Include that new file into installation script.

 

Comments (0)