Installable Localization Packages

sipXecs was designed with localization in mind. Localization packages can be created easily and uploaded by the admin. A localization package can contain several elements relevant to localization:# Voice prompts for voicemail, auto-attendant, ACD, conference, etc.# User interface translations for admin and user portals# Region or country specific dial plans# Localization files for third party software componentsBoth admin and user portals offered by sipXconfig can display text in any language based on the user's browser settings (locale of the respective computer and browser accessing sipXconfig). Therefore, sipXconfig displays many different languages simultaneously without any need for server side configuration. Localization packages became available with sipXecs release 3.10. A localization package allows an administrator of a sipXecs system to add language specific and/or region specific files to an existing (running) system. The intent was to enable users to create their own localization packages without requiring any development and without code dependencies on sipXecs.

 

The following language packs are available so far:http://sipxecs.sipfoundry.org/rep/sipXecs-il8n/

  1. US English (default)
  2. German
  3. French
  4. UK English
  5. Spanish
  6. Mexican Spanish
  7. Canadian French
  8. Dutch (The Netherlands)
  9. Brazilian Portuguese
  10. Japanese
  11. Chinese

Licensing of language packs: Language packs are an integral part of the sipXecs solution. They are licensed under the L-GPL license. If you create your own language packs or improve on the ones currently available we expect you to contribute them back to the project. We are happy to publish them for you. Not contributing back is unfair and not in compliance with our license.

The currently available language packs were donated to the sipXecs project by Nortel - many thanks! This version of localization packages contains properties files (sipXecs GUI text prompts) from various sipXecs versions. There could be a relatively significant delta between this revision and the current stream. Any help with translating missing properties files and/or text prompts for any of the localization packages would be appreciated.

Please post on the dev-list if you have contributions.

Installation and Activation of a Localization Package

To install a localization package, do the following:

  • Login to the sipXecs GUI as the administrator (using the "superadmin" account)
    From the*System menu, select the Localization item to go to the Localization page
    Use the*Browse button in the Localization Package area to select the localization package you want to install
    Press the*Install Package button to start the installation process. Depending on the connection speed between your PC and the sipXecs system, this operation can take up to several minutes. The message Localization package installed will be presented once the installation is finished close to the top of the Localization page.
    At this point, all the files included in the installed localization package are placed on the sipXecs system and ready to use. Nevertheless, not all of them can be used right away. Certain software components look for new files only during their initialization phase. Thus, a restart of such components or a restart of the system is required in order for these components to discover the localized files.

Language specific voice prompts can be used without a restart - you will immediately see new language options in the Language section of the Localization page. Region specific files (dial plan templates) can be used after the restart of Configuration Server (the restart is necessary even though the region name is presented immediately after the installation of the localization package in the Region section of the Localization page). In order to find new language specific GUI text prompts, Configuration Server must be restarted. Please go to the Services page, which can be accessed via the Diagnostics menu, select ConfigServer and press the �Restart� button to restart the service. Once the service is restarted (after about 1 minute), your region specific templates will be available and your browser will be able to use the new GUI text prompts.

Selection of a Language for Voice Applications

To change the default language used by voice applications, do the following:
After the installation of a localization package, open the drop down list box in the*Language area of the Localization page and select the desired language (that was included in the localization package)
Press the*Apply Language button to change the default language. The message Language change applied and media server restarted will be presented close to the top of the Localization page. As soon as the restart of the media server is complete, voice applications will immediately use the selected language for all new calls.

Personal Auto-Attendant:
Each user can be configured with a personal auto-attendant that picks up the phone as the call gets diverted to voicemail. This personal auto-attendant allows an individual selection of language. It can be configured by the administrator on behalf of the user or a group of users or alternatively the language selection can be made by the user using the user portal.

Selection of a Language for sipXecs GUI Text Prompts

To change the language used for the sipXecs GUI text prompts (both the administrator and the user portal GUI), do the following:

  • Restart the Configuration Server component. Normally, this operation would be done via the Diagnostics - Services page. During the restart, the Configuration Server component will discover new jar file(s) with localized text prompts.
  • The sipXecs GUI uses the first choice from the list of languages configured in your Internet Browser. If you have the new language already at the top of the language list (or as the only language in the list), you don't have to do anything - the sipXecs GUI will immediately start using the localized GUI text prompts. Otherwise, add the new language to your Browser configuration and move the language to the top (to make it the preferred language). To add/select the language, use the following dialog box:
  • *Internet Explorer: Tools - Internet Options - General - Languages
  • *Firefox/Mozilla: Tools - Options - Advanced - Languages Choose

In this way sipXecs displays allows personal selection of user interface language where many different users and administrators can each use their own preferred language simultaneously.

Use of a Region Specific Dial Plan Template

To use a dial plan template that was provided in the localization package, do the following:

  • If you did not restart the Configuration Server component (or the system) in the previous steps (e.g,, if you skipped the step because you don't want to change the sipXecs GUI language), restart the Configuration Server component now. This operation is done via the Diagnostics - Services page. During the restart, the Configuration Server component will process new dial plan template file(s).
  • Login to the sipXecs GUI as the administrator (using the "superadmin" account)
    From the*System menu, select the Localization item to go to the Localization page
    Open the drop down list box in the*Region area of the Localization page and select the desired region (that was included in the localization package)
    Press the*Apply Region button to overwrite your current dial plan rules with new dial plan rules that are defined in the region specific dial plan template. A confirmation page will be displayed.
  • Press OK to confirm the region change. Please note that this action will remove all current dial plan rules on the system!
    From the*System menu, select the Dial Plans item to go to the Dial Plans page. The dial plan rules added from the region specific dial plan template will be presented.
  • By default, only dial plan rules for the Auto Attendant and Voice Mail are enabled. You should go through all the rules, modify them to suit your needs (if required) and enable rules you want to use.
    Finally, to activate the new dial plan rules, select the*Activate link on the Dial Plan page.
    Note - This can still be done however all major localization package dial plans have been put into the sipXecs builds. If you need one not checked in you could use this mechanism.

Components of a Localization Package

A localization package contains one or more of the following components:

  1. Region specific configuration files and templates
  2. Language specific voice prompts (used by voice applications)
  3. Language specific GUI text prompts (text prompts for the user configuration portal and the administrator configuration portal)
  4. Third party software components

Typically, a single localization package will contain all necessary components for a specific country. Such a package would include

  • A set of voice prompts in the language of that country
  • A set of GUI text prompts in the language of that country
  • A dial plan template for the country or for the region in which the country is located (For sipXecs 4.0.1 and higher dial plans can still be done this way however all have been included in the builds)

Nevertheless, a localization package does not have to contain all components or it can contain components for more than one language or region. For example, a localization package for Australia could contain only Australian English voice prompts, while a localization package for Switzerland could contain a complete set of components for Swiss French, Italian and German.

There are no mandatory components that must be included in a localization package. The only requirement is that there must be at least one valid localization component in each localization package file.

Packaging

In order to ensure that localization packages can be supported in a variety of Linux distributions, the initial format used for localization packages is a plain TAR file (tar). This format has a big advantage that it is platform and Linux distribution independent. The disadvantage is that files installed by extracting the contents of a TAR file cannot be easily tracked for removal.

To package up a language pack check out the relevant package and create a tar or tgz file. The files are under source control at:
[ http:-sipxecs.sipfoundry.org-rep-sipXecs-il8n]. Follow these steps to create a package:

  • check out the language you are interested in using SVN. All languages are in a separate directory.
  • create a tar or tgz file of the contents of the directory. Directory structure should look like:
    • sipxpbx
    • stdprompts_lang (where lang is the language)
  • This needs to be done on a machine that supports symbolic links or the music localization will not work for conferencing

Notes:

  • Both simple .tar files as well as compressed .tgz files can be used. If you use compressed .tgz tar files make sure your sytsem has at least TAR version 1.15 installed. This could be a problem on old RHEL 4 systems.
  • To add support for the RPM (or similar) file format will be considered in one of the next releases of sipXecs. With such a file format, it will be possible to remove localization packages on Linux distributions that support the format.

Internal Structure of a Localization Package

The internal structure of a localization package matches to a great extent the directory structure that is used internally on an installed sipXecs system. There is one base directory for each of the four component types that can be stored in a localization package. The directories are:

  • region_rid (where rid is an identifier of a region) that contains region specific configuration files and templates
  • stdprompts_lid (where lid is an identifier of a language) that contains language specific voice prompts
    • cpui (is a sub directory of stdprompts_lid and contains the CallPilot prompts)
    • conf (is a sub directory of stdprompts_lid and contains the conferencing prompts)
    • music is a symbolic link in the stdprompts_lid directory that points to /usr/share/www/doc/stdprompts_en/music
  • sipxpbx that contains language specific GUI text prompts
  • third_party that contains third party localization files

Region specific configuration files and templates for a specific region are stored in a directory that has the prefix region_ followed by a lower case identifier of the region. All region specific files must be stored within this directory. For example, the region specific directory for Netherlands would be region_nl. The sipXecs software defines 28 regions that are ready to be used. If you create region specific files (a dial plan template) for a region that is not included in this list of Defined Regions, the dial plan template would still be available for selection and thus fully useable. The only drawback would be the failure of the Configuration Server to convert the region ID into a text string for the presentation in the GUI (capitalized LABEL.REGION_XX would be displayed in the region selection list box on the Localization page instead). In order to add a new region, you'd have to add an appropriate label to the file sipXconfig/web/context/WEB-INF/admin/LocalizationPage.properties.

Language specific voice prompt files are stored in a directory that has the prefix stdprompts_ followed by a lower case identifier of the language. For example, the voice prompt directory for Dutch voice prompts would be stdprompts_nl. The sipXecs software defines 23 languages that are ready to be used. If you provide voice prompts for a language that is not included in this list of Voice Prompts Defined Languages, the language would still be available for selection and voice prompts would be fully useable. The only drawback would be the failure the Configuration Server to convert the language ID into a text string for the presentation in the GUI (capitalized LABEL.STDPROMPTS_XX would be displayed in the language selection list box on the Localization page instead). In order to add a new language, you'd have to add an appropriate label to the file sipXconfig/web/context/WEB-INF/admin/LocalizationPage.properties.

Future Upgrades of Language Packs

Language or Localization Packages will have to be updated for every future release of sipXecs because user interface screens change and new features are added. In addition, we expect some changes going forward to voice prompts as well as we add services such as personal assistant phase 2.

We will have to rely on the users and community to assist with the maintenance of these language packs. The original set of language packs were provided to us by Nortel. This is a considerable effort and we therefore hope that going forward we get help from users out there. Please let us know on our mailing lists if you think you could contribute to this effort.