You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ngcp-panel/script/extract_i18n.sh

55 lines
1.6 KiB

#!/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/*