removing intltool dependence and locale scripts improved
parent
e7eb5c6017
commit
bae7e4cfca
@ -1,206 +1,87 @@
|
||||
#!/bin/sh
|
||||
|
||||
BASEDIR="../.." # root of translatable sources
|
||||
PROJECT="plasma_applet_org.kde.latte.containment" # project name
|
||||
PROJECTPATH="../../containment" # project path
|
||||
BASEDIR="$(pwd $(dirname $0))" # root of translatable sources
|
||||
BUGADDR="https://github.com/psifidotos/latte-dock/" # MSGID-Bugs
|
||||
WDIR="`pwd`/containment" # working dir
|
||||
|
||||
cd "$BASEDIR/.."
|
||||
|
||||
PROJECTCONTAINMENT="plasma_applet_org.kde.latte.containment" # project name
|
||||
TEMPLATECONTCONTAINMENT="containment.metadata.desktop.template" # containment desktop template
|
||||
|
||||
PROJECTPLASMOID="plasma_applet_org.kde.latte.plasmoid" # project name
|
||||
PROJECTPATHPLASMOID="../../plasmoid" # project path
|
||||
WDIRPLASMOID="`pwd`/plasmoid" # working dir
|
||||
TEMPLATEPLASMOID="plasmoid.metadata.desktop.template" # plasmoid desktop template
|
||||
|
||||
PROJECTSHELL="plasma_shell_org.kde.latte.shell" # project name
|
||||
PROJECTPATHSHELL="../../shell" # project path
|
||||
WDIRSHELL="`pwd`/shell" # working dir
|
||||
TEMPLATESHELL="shell.metadata.desktop.template" # shell desktop template
|
||||
|
||||
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"
|
||||
TEMPLATEAPP="latte-dock.desktop.template" # app desktop template
|
||||
|
||||
function ki18n_xgettext
|
||||
{
|
||||
cd "$BASEDIR/$1"
|
||||
|
||||
WDIR="." # working dir
|
||||
ROOT="../../"
|
||||
PROJECTNAME=$2 # project name
|
||||
TEMPLATE=$3 # desktop template
|
||||
PROJECTPATH="../../$1" # project path
|
||||
PROJECTPATH2= #extra project path
|
||||
TARGET="\e[0;32m$1\e[0m"
|
||||
|
||||
if [ $4 ] ; then
|
||||
PROJECTPATH2="../../$4"
|
||||
TARGET="$TARGET and \e[0;32m$4\e[0m"
|
||||
else
|
||||
PROJECTPATH2=$PROJECTPATH # extra project path
|
||||
fi
|
||||
|
||||
echo -e "-- Preparing rc files for $TARGET"
|
||||
find "${PROJECTPATH}" "${PROJECTPATH2}" -name '*.rc' -o -name '*.ui' -o -name '*.kcfg' | sort > "${WDIR}/rcfiles.list"
|
||||
xargs --no-run-if-empty --arg-file="${WDIR}/rcfiles.list" extractrc > "${WDIR}/rc.cpp"
|
||||
echo "rc.cpp" > "${WDIR}/infiles.list"
|
||||
echo -e "-- Done preparing rc files for $TARGET"
|
||||
|
||||
echo -e "-- Extracting messages for $TARGET"
|
||||
find "${PROJECTPATH}" "${PROJECTPATH2}" -name '*.cpp' -o -name '*.h' -o -name '*.c' -o -name '*.qml' -o -name '*.qml.cmake' | sort >> "${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" || \
|
||||
-D "${WDIR}" -o "${WDIR}/${PROJECTNAME}.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" || \
|
||||
xgettext --from-code=UTF-8 --language=Desktop --join-existing --msgid-bugs-address="${BUGADDR}" \
|
||||
-k -kName -kGenericName -kComment \
|
||||
"${WDIR}/../desktop-templates/${TEMPLATE}" -o "${WDIR}/${PROJECTNAME}.pot" || \
|
||||
{ echo "error while calling xgettext. aborting."; exit 1; }
|
||||
echo "Done extracting messages for plasmoid"
|
||||
|
||||
echo "Merging translations for plasmoid"
|
||||
catalogs=`find . -name '*.po'`
|
||||
echo -e "-- Merging translations for $TARGET"
|
||||
catalogs=$(find "${WDIR}" -name '*.po')
|
||||
for cat in $catalogs; do
|
||||
echo "$cat"
|
||||
msgmerge -o "$cat.new" "$cat" "${WDIRPLASMOID}/${PROJECTPLASMOID}.pot"
|
||||
mv "$cat.new" "$cat"
|
||||
echo "${cat}"
|
||||
msgmerge -o "${cat}.new" "${cat}" "${PROJECTNAME}.pot"
|
||||
mv "${cat}.new" "${cat}"
|
||||
done
|
||||
echo -e "-- Done merging translations for $TARGET"
|
||||
|
||||
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 "-- Cleaning up"
|
||||
rm "rcfiles.list"
|
||||
rm "infiles.list"
|
||||
rm "rc.cpp"
|
||||
|
||||
echo "Disabling shell translations except the metadata file"
|
||||
echo -e "-- Done translations for $TARGET\n\n"
|
||||
}
|
||||
|
||||
# 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"
|
||||
ki18n_xgettext containment "$PROJECTCONTAINMENT" "$TEMPLATECONTCONTAINMENT"
|
||||
|
||||
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
|
||||
ki18n_xgettext plasmoid "$PROJECTPLASMOID" "$TEMPLATEPLASMOID"
|
||||
|
||||
intltool-merge --quiet --desktop-style . ../../latte-dock.desktop.template "${PROJECTPATHAPP}"/latte-dock.desktop
|
||||
ki18n_xgettext app "$PROJECTAPP" "$TEMPLATEAPP" shell
|
||||
|
||||
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"
|
||||
# The msg of shell package is merged with app
|
||||
# ki18n_xgettext shell "$PROJECTSHELL" "$TEMPLATESHELL"
|
||||
|
||||
|
||||
cd $BASEDIR
|
||||
bash ./update-metadata.sh
|
||||
|
@ -1,7 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
_Name=Latte
|
||||
_Comment=Containment provided for the Latte Dock
|
||||
Name=Latte
|
||||
Comment=Containment provided for the Latte Dock
|
||||
|
||||
Type=Service
|
||||
Keywords=
|
@ -1,7 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
_Name=Latte Shell
|
||||
_Comment=Shell provided for the Latte Dock
|
||||
Name=Latte Shell
|
||||
Comment=Shell provided for the Latte Dock
|
||||
|
||||
Keywords=shell
|
||||
Type=Service
|
Loading…
Reference in New Issue