#!/bin/bash set -e declare -a I18_DIRS=() I18_DIRS+=("lib/NGCP/Panel/Role") I18_DIRS+=("lib/NGCP/Panel/Field") I18_DIRS+=("lib/NGCP/Panel/AuthenticationStore") I18_DIRS+=("lib/NGCP/Panel/Form") I18_DIRS+=("lib/NGCP/Panel/Render") I18_DIRS+=("lib/NGCP/Panel/Controller") I18_DIRS+=("lib/NGCP/Panel/Model") I18_DIRS+=("lib/NGCP/Panel/Utils") I18_DIRS+=("lib/NGCP/Panel/Widget") I18_DIRS+=("lib/NGCP/Panel/View") I18_DIRS+=("lib/NGCP/Panel/Cache") I18_DIRS+=("share/templates") I18_DIRS+=("share/layout") POT="lib/NGCP/Panel/I18N/messages.pot" echo; echo "Dumping DB and Form strings"; echo perl -I../sipwise-base/lib -I../ngcp-schema/lib -Ilib script/ngcp_panel_dump_db_strings.pl echo; echo "Creating ${POT} Portable Object Template file with a list of all the translatable strings extracted from the sources"; echo xgettext.pl \ --no-wrap \ --output="${POT}" \ "${I18_DIRS[@]/#/--directory=}" \ -P perl=tt,pm echo; echo "Normalazing previously created ${POT} file"; echo msgattrib \ --no-wrap \ --add-location=file \ --width=100000 \ --output-file="${POT}" \ "${POT}" # echo; echo "Updating existing *.po (Portable Object) translation files according to ${POT} file"; echo # while IFS= read -r -d '' po ; do # echo; echo "Merging ${po}"; echo # msgmerge \ # --no-fuzzy-matching \ # --no-wrap \ # --width=100000 \ # --add-location=file \ # --update \ # "${po}" \ # "${POT}" # done < <(find lib/NGCP/Panel/I18N -name "*.po" -print0) echo; echo "Removing line numbers"; echo sed -i -e '/#: /s!\(\(lib\|share\)\S*\):[0-9]*!\1!g' lib/NGCP/Panel/I18N/*