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