Overview
VoipNow is improved with each release. Some of the generated language pack messages might be outdated or new ones might need to be added. To upgrade an existing translation you need to obtain the differences between an older language pack version and the one currently installed and to create the translated language pack of the currently installed VoipNow version.
Preparation
You need to identify the scripts needed for the translation process and to bring together all the needed data. The needed language pack versions are:
- last translated version of the language you need to translate
- English language pack corresponding to the above version
- English language pack corresponding to the version you want to translate to
The standard VoipNow distribution comes with a couple of scripts that help you create and install language packs. First we must make sure sure that we have all the scripts needed for the translation:
STEP 1: Log in to your server as root
using either SSH
from Linux or Putty
from Windows.
STEP 2: Check if the following files are located in the /usr/local/voipnow/bin/langutils
folder:
lpfunctions.php
lpmerge.php
lpvalidatepack.php
lpverkeydiff.php
lpreplicate.php
Then we need to bring together the translation files involved in process:
STEP 3: Outside the VoipNow structure, create a special directory for your work, and execute the translations steps. For example:
mkdir translation
cd translation
STEP 5: Copy your older translated version of the language pack in the working directory.
STEP 6: Replicate the language folder used by currently version of VoipNow and its APIs. To do so from your working directory, run the /usr/local/voipnow/bin/langutils/lpreplicate.php
script. It will generate a folder with the structure described here, adapted to your language pack. Please type:
php /usr/local/voipnow/bin/langutils/lpreplicate.php <the_code_of_the_language_you_want_to_translate>
lpreplicate.php
script can be found in the current directory. The replicated folder will be named after the language code you have earlier provided in the script.For a better understanding, here is an example. Let us assume that you already have the VoipNow language pack translated in Spanish for version 2.5.3 and you want to upgrade the files to version 3.0.0. After executing STEP 1 to STEP 6 described before, in the /usr/local/voipnow/bin/langutils/translation
folder, you should have the following files: 253en - The folder that contains the English language pack for version 2.5.3 obtained from STEP 4. Bellow there are some commands that might help you to fulfill this step:
wget "http://www.4psa.com/docs/lp/voipnow253_English.tar.gz" -O voipnow253_English.tar.gz
tar -xzvf voipnow253_English.tar.gz
mv en 253en
mkdir 253es
tar -xzvf voipnow253_Spanish.tar.gz -C 253es
php /usr/local/voipnow/bin/langutils/lpreplicate.php en
mv /usr/local/voipnow/bin/langutils/translation/language_packs/en en
Obtain differences
Next we need to find out what keys were changed since last version translated.
STEP 1: Run the lpverkeydiff.php
script to obtain the differences from the previous version. Type:
php /usr/local/voipnow/bin/langutils/lpverkeydiff.php \
-o <path_to_old_language_pack_version_in_english> \
-n <path_to_new_lp_version_in_english>
php /usr/local/voipnow/bin/langutils/lpverkeydiff.php -o 253en -n en
A changelog has been created in /usr/local/voipnow/bin/langutils/translation/change.log
You can copy the folder with the differences between the language pack versions from /usr/local/voipnow/bin/langutils/translation/language_diff_folder
/usr/local/voipnow/bin/langutils/translation/language_diff_folder/language/en
folder. The general folder structure is described here.language_diff_folder.
Except where otherwise noted, content in this space is licensed under a Creative Commons Attribution 4.0 International.