sipXcom was designed with localization in mind. Localization packages can be created easily and uploaded by the administrator. A localization package can contain several elements relevant to localization such as:
Voice prompts for voice mail, auto-attendant, conference, etc.
User interface translations for admin and user portals
Region or country specific dial plans
Localization files for third-party software components
Both admin and user portal (legacy) 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.
A localization package allows an administrator of a sipXcom system to add language specific and/or region specific files to an existing system. The intent was to enable users to create their own localization packages without requiring any development and without code dependencies on sipXcom.
The following language packs are available:
- US English (default)
- UK English (sipxlang-en_gb)
- German (sipxlang-de)
- German Switzerland (sipxlang-ch)
- French (sipxlang-fr)
- Canadian French (sipxlang-fr_ca)
- Canadian French Quebec Abitibi Region (sipxlang-abitibi-ft_ca)
- Spanish (sipxlang-es)
- Mexican Spanish (sipxlang-es_mx)
- Italian (sipxlang-it)
- Dutch (The Netherlands) (sipxlang-nl)
- Portuguese (sipxlang-pt)
- Brazilian Portuguese (sipxlang-pt_br)
- Japanese (sipxlang-ja)
- Simplified Chinese (sipxlang-zh)
- Czech (sipxlang-cs)
- Polish (sipxlang-pl)
Licensing of language packs: Language packs are an integral part of the sipXcom solution. They are licensed under the L-GPL license. If you create your own language packs or improve on the ones currently available we would hope that you contribute them back to the project. We are happy to publish them for you. Contributing back makes the solution better for all.
Some of the currently available language packs were donated to the sipXcom project by Nortel, others have been contributed by users. This version of localization packages contains properties files (sipXcom GUI text prompts) from various sipXcom 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:
- SSH to the system and login as root
- Run 'yum instal xxxx'
- Where xxxx is the language file as noted above in list of languages)
- Restart sipXconfig
- 'service sipxconfig restart'
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, login to the Admin Portal and find the open the drop down box in the Language area of the Localization page (system -> Localization)
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.
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 sipXcom GUI Text Prompts
To change the language used for the sipXcom GUI text prompts (both the administrator and the user portal GUI), do the following:
- Restart the Configuration Server service. This can be done via the System -> Servers -> Click on Primary Server -> Services or from command line (service sipxconfig restart). During the restart, the Configuration Server service will discover new jar file(s) with localized text prompts.
- The sipXcom 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 sipXcom 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).
In this manner, sipXcom accommodates the 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:
- Login to the sipXcom 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. Note that this action will remove all current dial plan rules on the system!
- From the System menu, select Dial Plans 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.
Components of a Localization Package
A localization package contains one or more of the following components:
- Region-specific configuration files and templates
- Language specific voice prompts (used by voice applications)
- Language specific GUI text prompts (text prompts for the user configuration portal and the administrator configuration portal)
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
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.
Customizing Localization Packages
Localization packages are documented extensively in the wiki: Localization
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 sipXcom 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. 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 sipXcom software defines many that are ready to be used. If you provide voice prompts for a language that is not included in this list of voice prompts, the language would still be available for selection and voice prompts would be fully usable. 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 sipXcom because user interface screens change and new features are added. These files are a community effort. If something is missing please refer to 'Customizing Localization Packages' to discover how you can help update the packages.
We 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 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.