You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
latte-dock/po/Messages.sh

207 lines
8.1 KiB
Bash

#!/bin/sh
BASEDIR="../.." # root of translatable sources
PROJECT="plasma_applet_org.kde.latte.containment" # project name
PROJECTPATH="../../containment" # project path
BUGADDR="https://github.com/psifidotos/latte-dock/" # MSGID-Bugs
WDIR="`pwd`/containment" # working dir
PROJECTPLASMOID="plasma_applet_org.kde.latte.plasmoid" # project name
PROJECTPATHPLASMOID="../../plasmoid" # project path
WDIRPLASMOID="`pwd`/plasmoid" # working dir
PROJECTSHELL="plasma_shell_org.kde.latte.shell" # project name
PROJECTPATHSHELL="../../shell" # project path
WDIRSHELL="`pwd`/shell" # working dir
PROJECTAPP="latte-dock" # project name
PROJECTPATHAPP="../../app" # project path
WDIRAPP="`pwd`/app" # working dir
echo "Preparing rc files for panel"
cd containment
# we use simple sorting to make sure the lines do not jump around too much from system to system
find "${PROJECTPATH}" -name '*.rc' -o -name '*.ui' -o -name '*.kcfg' | sort > "${WDIR}/rcfiles.list"
xargs --arg-file="${WDIR}/rcfiles.list" extractrc > "${WDIR}/rc.cpp"
intltool-extract --quiet --type=gettext/ini ../../containment.metadata.desktop.template
cat ../../containment.metadata.desktop.template.h >> ${WDIR}/rc.cpp
rm ../../containment.metadata.desktop.template.h
echo "Done preparing rc files for panel"
echo "Extracting messages for panel"
# see above on sorting
find "${PROJECTPATH}" -name '*.cpp' -o -name '*.h' -o -name '*.c' -o -name '*.qml' -o -name '*.qml.cmake' | sort > "${WDIR}/infiles.list"
echo "rc.cpp" >> "${WDIR}/infiles.list"
xgettext --from-code=UTF-8 -C -kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 \
-ktr2i18n:1 -kI18N_NOOP:1 -kI18N_NOOP2:1c,2 -kN_:1 -kaliasLocale -kki18n:1 -kki18nc:1c,2 \
-kki18np:1,2 -kki18ncp:1c,2,3 --msgid-bugs-address="${BUGADDR}" --files-from=infiles.list \
-D "${BASEDIR}" -D "${WDIR}" -o "${PROJECT}.pot" || \
{ echo "error while calling xgettext. aborting."; exit 1; }
echo "Done extracting messages for panel"
echo "Merging translations for panel"
catalogs=`find . -name '*.po'`
for cat in $catalogs; do
echo "$cat"
msgmerge -o "$cat.new" "$cat" "${WDIR}/${PROJECT}.pot"
mv "$cat.new" "$cat"
done
intltool-merge --quiet --desktop-style . ../../containment.metadata.desktop.template "${PROJECTPATH}"/metadata.desktop.cmake
echo "Done merging translations for panel"
echo "Cleaning up"
rm "${WDIR}/rcfiles.list"
rm "${WDIR}/infiles.list"
rm "${WDIR}/rc.cpp"
echo "Done translations for panel"
#---------------------- Plasmoid section ----------------#
echo "Preparing rc files for plasmoid"
cd ../plasmoid
# we use simple sorting to make sure the lines do not jump around too much from system to system
find "${PROJECTPATHPLASMOID}" -name '*.rc' -o -name '*.ui' -o -name '*.kcfg' | sort > "${WDIRPLASMOID}/rcfiles.list"
xargs --arg-file="${WDIRPLASMOID}/rcfiles.list" extractrc > "${WDIRPLASMOID}/rc.cpp"
intltool-extract --quiet --type=gettext/ini ../../plasmoid.metadata.desktop.template
cat ../../plasmoid.metadata.desktop.template.h >> ${WDIRPLASMOID}/rc.cpp
rm ../../plasmoid.metadata.desktop.template.h
echo "Done preparing rc files for plasmoid"
echo "Extracting messages for plasmoid"
# see above on sorting
find "${PROJECTPATHPLASMOID}" -name '*.cpp' -o -name '*.h' -o -name '*.c' -o -name '*.qml' -o -name '*.qml.cmake' | sort > "${WDIRPLASMOID}/infiles.list"
echo "rc.cpp" >> "${WDIRPLASMOID}/infiles.list"
xgettext --from-code=UTF-8 -C -kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 \
-ktr2i18n:1 -kI18N_NOOP:1 -kI18N_NOOP2:1c,2 -kN_:1 -kaliasLocale -kki18n:1 -kki18nc:1c,2 \
-kki18np:1,2 -kki18ncp:1c,2,3 --msgid-bugs-address="${BUGADDR}" --files-from=infiles.list \
-D "${BASEDIR}" -D "${WDIRPLASMOID}" -o "${PROJECTPLASMOID}.pot" || \
{ echo "error while calling xgettext. aborting."; exit 1; }
echo "Done extracting messages for plasmoid"
echo "Merging translations for plasmoid"
catalogs=`find . -name '*.po'`
for cat in $catalogs; do
echo "$cat"
msgmerge -o "$cat.new" "$cat" "${WDIRPLASMOID}/${PROJECTPLASMOID}.pot"
mv "$cat.new" "$cat"
done
intltool-merge --quiet --desktop-style . ../../plasmoid.metadata.desktop.template "${PROJECTPATHPLASMOID}"/metadata.desktop.cmake
echo "Done merging translations for plasmoid"
echo "Cleaning up for plasmoid"
rm "${WDIRPLASMOID}/rcfiles.list"
rm "${WDIRPLASMOID}/infiles.list"
rm "${WDIRPLASMOID}/rc.cpp"
echo "Done"
#---------------------- Shell Section ----------------#
echo "Preparing rc files for shell"
cd ../shell
echo "Disabling shell translations except the metadata file"
# we use simple sorting to make sure the lines do not jump around too much from system to system
#find "${PROJECTPATHSHELL}" -name '*.rc' -o -name '*.ui' -o -name '*.kcfg' | sort > "${WDIRSHELL}/rcfiles.list"
#xargs --arg-file="${WDIRSHELL}/rcfiles.list" extractrc > "${WDIRSHELL}/rc.cpp"
intltool-extract --quiet --type=gettext/ini ../../shell.metadata.desktop.template
cat ../../shell.metadata.desktop.template.h >> ${WDIRSHELL}/rc.cpp
rm ../../shell.metadata.desktop.template.h
echo "Done preparing rc files for shell"
echo "Extracting messages for shell"
# see above on sorting
#find "${PROJECTPATHSHELL}" -name '*.cpp' -o -name '*.h' -o -name '*.c' -o -name '*.qml' -o -name '*.qml.cmake' | sort > "${WDIRSHELL}/infiles.list"
echo "rc.cpp" >> "${WDIRSHELL}/infiles.list"
xgettext --from-code=UTF-8 -C -kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 \
-ktr2i18n:1 -kI18N_NOOP:1 -kI18N_NOOP2:1c,2 -kN_:1 -kaliasLocale -kki18n:1 -kki18nc:1c,2 \
-kki18np:1,2 -kki18ncp:1c,2,3 --msgid-bugs-address="${BUGADDR}" --files-from=infiles.list \
-D "${BASEDIR}" -D "${WDIRSHELL}" -o "${PROJECTSHELL}.pot" || \
{ echo "error while calling xgettext. aborting."; exit 1; }
echo "Done extracting messages for shell"
echo "Merging translations for shell"
catalogs=`find . -name '*.po'`
for cat in $catalogs; do
echo "$cat"
msgmerge -o "$cat.new" "$cat" "${WDIRSHELL}/${PROJECTSHELL}.pot"
mv "$cat.new" "$cat"
done
intltool-merge --quiet --desktop-style . ../../shell.metadata.desktop.template "${PROJECTPATHSHELL}"/metadata.desktop.cmake
echo "Done merging translations for shell"
echo "Cleaning up for shell"
#rm "${WDIRSHELL}/rcfiles.list"
rm "${WDIRSHELL}/infiles.list"
rm "${WDIRSHELL}/rc.cpp"
echo "Done"
#---------------------- Corona Section ----------------#
echo "Preparing rc files for app"
cd ../app
# we use simple sorting to make sure the lines do not jump around too much from system to system
find "${PROJECTPATHSHELL}" -name '*.rc' -o -name '*.ui' -o -name '*.kcfg' | sort > "${WDIRAPP}/rcfiles.list"
find "${PROJECTPATHAPP}" -name '*.rc' -o -name '*.ui' -o -name '*.kcfg' | sort >> "${WDIRAPP}/rcfiles.list"
xargs --arg-file="${WDIRAPP}/rcfiles.list" extractrc > "${WDIRAPP}/rc.cpp"
intltool-extract --quiet --type=gettext/ini ../../latte-dock.desktop.template
cat ../../latte-dock.desktop.template.h >> ${WDIRAPP}/rc.cpp
rm ../../latte-dock.desktop.template.h
echo "Done preparing rc files for app"
echo "Extracting messages for app"
# see above on sorting
find "${PROJECTPATHSHELL}" -name '*.cpp' -o -name '*.h' -o -name '*.c' -o -name '*.qml' -o -name '*.qml.cmake' | sort > "${WDIRAPP}/infiles.list"
find "${PROJECTPATHAPP}" -name '*.cpp' -o -name '*.h' -o -name '*.c' -o -name '*.qml' -o -name '*.qml.cmake' | sort >> "${WDIRAPP}/infiles.list"
echo "rc.cpp" >> "${WDIRAPP}/infiles.list"
xgettext --from-code=UTF-8 -C -kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 \
-ktr2i18n:1 -kI18N_NOOP:1 -kI18N_NOOP2:1c,2 -kN_:1 -kaliasLocale -kki18n:1 -kki18nc:1c,2 \
-kki18np:1,2 -kki18ncp:1c,2,3 --msgid-bugs-address="${BUGADDR}" --files-from=infiles.list \
-D "${BASEDIR}" -D "${WDIRAPP}" -o "${PROJECTAPP}.pot" || \
{ echo "error while calling xgettext. aborting."; exit 1; }
echo "Done extracting messages for app"
echo "Merging translations for app"
catalogs=`find . -name '*.po'`
for cat in $catalogs; do
echo "$cat"
msgmerge -o "$cat.new" "$cat" "${WDIRAPP}/${PROJECTAPP}.pot"
mv "$cat.new" "$cat"
done
intltool-merge --quiet --desktop-style . ../../latte-dock.desktop.template "${PROJECTPATHAPP}"/latte-dock.desktop
echo "Done merging translations for app"
echo "Cleaning up for app"
rm "${WDIRAPP}/rcfiles.list"
rm "${WDIRAPP}/infiles.list"
rm "${WDIRAPP}/rc.cpp"
echo "Done"