summaryrefslogtreecommitdiff
path: root/bin/localize-ooo
diff options
context:
space:
mode:
Diffstat (limited to 'bin/localize-ooo')
-rwxr-xr-xbin/localize-ooo197
1 files changed, 0 insertions, 197 deletions
diff --git a/bin/localize-ooo b/bin/localize-ooo
deleted file mode 100755
index 59ec08134..000000000
--- a/bin/localize-ooo
+++ /dev/null
@@ -1,197 +0,0 @@
-#!/usr/bin/env bash
-
-#
-# See setup for user tweakables.
-#
-if test -n "$OO_TOOLSDIR" ; then
- # split build
- . $OO_TOOLSDIR/piece/sys-setup
- . $OO_TOOLSDIR/setup
- OOBUILDDIR=`pwd`
- SRCDIR_PIECE=$OOBUILDDIR/ooo-build/sdf
- TOOLSDIR=$OO_TOOLSDIR/..
- OOO_LANGS_LIST=`echo $OO_LANGS | sed -e "s|ALL|$ALL_LANGS|g"`
- split_build=yes
-else
- . ./setup
- . $OOBUILDDIR/*.[sS]et.sh
- . ./setup
- SRCDIR_PIECE=
- split_build=no
-fi
-
-export LC_ALL='C';
-
-# do nothing for en-US only build
-test "$OOO_LANGS_LIST" = "en-US" && exit 0;
-
-merge_localization()
-{
- sdf_file="$1"
- langcode="$2"
-
- # we do not want en-US strings
- sdf_file_filtered=`mktemp localize-ooo-sdf-filtered-XXXXXX`
- awk -F "\t" '{ if ($10 != "en-US") print }' "$sdf_file" >"$sdf_file_filtered"
-
- # merge the localization
- if test `wc -l "$sdf_file_filtered" | awk '{print $1}'` -eq 0 ; then
- echo "Warning: Ignoring empty extra localization $(basename $sdf_file)..."
- else
- echo "Merging extra localization $(basename $sdf_file)..."
- localize -m -x -o -l "$langcode" -f "$sdf_file_filtered" || exit 1;
- echo ""
- fi
-
- rm "$sdf_file_filtered"
-}
-
-# fix broken image in help, i#99165
-for lang in $OOO_LANGS_LIST; do
- if [ -d $OOBUILDDIR/default_images/res/commandimagelist/$lang/ ]
- then
- if [ ! -f $OOBUILDDIR/default_images/res/commandimagelist/$lang/sc_label.png ]
- then
- cp $OOBUILDDIR/default_images/res/commandimagelist/sc_label.png $OOBUILDDIR/default_images/res/commandimagelist/$lang/
- fi
- fi
-done
-
-# build the localize tool if needed (only in the non-split build)
-if test "$split_build" != "yes" && ! localize -h >/dev/null 2>&1 ; then
- echo 'Building localize stuff at first...'
- cd $OOBUILDDIR/l10ntools
- perl $SOLARENV/bin/build.pl --all $EXTRA_BUILD_FLAGS $EXTRA_DMAKE_FLAGS || exit 1;
- perl $SOLARENV/bin/deliver.pl || exit 1;
- cd -
-
- echo "Fixing localize.sdf permissions..."
- if [ -d $OOBUILDDIR/l10n ]; then
- find $OOBUILDDIR/l10n -type f -name "localize.sdf" -exec chmod 644 {} \;
- fi
-fi
-
-# stamp files
-if test "$split_build" = "yes" ; then
- stamp_dir=$OOBUILDDIR/ooo-build/stamp
- mkdir -p $stamp_dir
-else
- stamp_dir=$TOOLSDIR/stamp
-fi
-# already applied sdf files
-extra_trans_stamp=$stamp_dir/build.extra.translations
-# lang-specific sdf files
-extra_trans_lang_list=$stamp_dir/build.extra.translations.lang.list
-
-test "$VENDORNAME" = "OxygenOffice" && rm -rf "$extra_trans_stamp" "$extra_trans_lang_list" && echo "$VENDORNAME distro rebuilds translations every time."
-
-# call grep only once to speed up the search from 22s to 2s
-all_langs_pattern=`mktemp /tmp/localize-ooo-XXXXXX`
-for lang in $ALL_LANGS ; do
- echo "$lang.sdf\$" >>$all_langs_pattern
-done
-
-# lang-specific sdf files
-# it looks for files "any-name-<lang>.sdf", e.g. "gallery-hu.sdf"
-# it ignores files below $ (upstream sources available when --with-git is used)
-hungarian_updated=
-for sdf_file in `find $TOOLSDIR/src $DEB_GSIDIR $TOOLSDIR/po $SRCDIR_PIECE -path $TOOLSDIR/src/clone -prune -o -name "*.sdf"` ; do
-
- # check if it is lang-specific file
- echo "$sdf_file" | grep -q -f "$all_langs_pattern" || continue;
-
- # mention it in specific sdf file list
- grep -q "^$sdf_file$" $extra_trans_lang_list 2>/dev/null || echo $sdf_file >>$extra_trans_lang_list
-
- # skip this localization if it is already merged
- grep -q "^$sdf_file$" $extra_trans_stamp 2>/dev/null && continue;
-
- # find if this localization is required
- langcode=
- for lang in $OOO_LANGS_LIST ; do
- echo "$sdf_file" | grep -q "$lang.sdf$" && langcode=$lang
- done
- test -z "$langcode" && continue;
-
- merge_localization "$sdf_file" "$langcode"
-
- # workaround for i#56622, n#210797
- test "$langcode" = "hu" && hungarian_updated=yes
-
- # copy help auxiliary files if they are missing but the localized strings are available
- if test -d "$OOBUILDDIR/helpcontent2" ; then
- if grep -q "^helpcontent2" $sdf_file &&
- test ! -d $OOBUILDDIR/helpcontent2/source/auxiliary/$langcode ; then
- echo "Copying English help auxiliary files for \"$langcode\"..."
- cd $OOBUILDDIR/helpcontent2/source/auxiliary
- cp -r en-US $langcode
- perl -pi -e "s|Language=en-US|Language=$langcode|" $langcode/*.cfg
- fi
- fi
-
- # make stamp for this localization
- echo "$sdf_file" >>$extra_trans_stamp
-done
-
-sdf_langpack=`mktemp /tmp/langpack-ooo-sdf-XXXXXX`
-echo -n "Generating langpack description from translation: "
-for sdf_file in `find $OOBUILDDIR/l10n/source -name "*.sdf" | sort` ; do
- echo -n "."
- grep -E "STR_...._MODULE_LANGPACK_" $sdf_file >> $sdf_langpack
-done
-sed -e 's/source\\ooo\\module_langpack\.ulf/source\\accessories\\module_samples_accessories\.ulf/g' $sdf_langpack > $TOOLSDIR/src/accessories-samples-langpack.sdf
-sed -e 's/source\\ooo\\module_langpack\.ulf/source\\accessories\\module_templates_accessories\.ulf/g' $sdf_langpack > $TOOLSDIR/src/accessories-templates-langpack.sdf
-sed -e 's/source\\ooo\\module_langpack\.ulf/source\\extensions\\module_extensions_sun_templates\.ulf/g' $sdf_langpack > $TOOLSDIR/src/extensions-sun-templates-langpack.sdf
-sed -e 's/source\\ooo\\module_langpack\.ulf/source\\extensions\\module_extensions_lightproof\.ulf/g' $sdf_langpack > $TOOLSDIR/src/extensions-lightproof-langpack.sdf
-rm $sdf_langpack
-echo "done!"
-
-echo "Processing non language specific files:"
-# apply lang-non-specific sdf files
-# the files "any-name-<lang>.sdf" are ignored because they are already processed above
-# it ignores files below $TOOLSDIR/src/clone (upstream sources available when --with-git is used)
-for fn in `find $TOOLSDIR/src $DEB_GSIDIR $TOOLSDIR/po $SRCDIR_PIECE -path $TOOLSDIR/src/clone -prune -o -name "*.sdf"` ; do
- [ -f "$fn" ] || continue
- # skip if already processed as lang-specific files
- grep -q "^$fn$" $extra_trans_lang_list 2>/dev/null && continue;
- # skip if already merged
- grep -q "^$fn$" $extra_trans_stamp 2>/dev/null && continue;
- # skip sdf-templates
- echo "$fn" | grep -q "^$TOOLSDIR/po/sdf-templates" && continue;
- echo "$fn" | grep -q "^$TOOLSDIR/po/lo-build.sdf" && continue;
- # skip exotic localizations that are not in $ALL_LANGS and thus not detected
- echo "$fn" | grep -q "$TOOLSDIR/src/GSI" && ! echo $OOO_LANGS | grep -q "$(echo $(basename $fn) | cut -d'_' -f2)" && continue;
- echo "$fn" | grep -q "$TOOLSDIR/po/lo-build" && ! echo $OOO_LANGS | grep -q "$(echo $(basename $fn) | cut -d'-' -f3)" && continue;
- merge_localization "$fn" "all" || exit 1;
- echo "$fn" >>$extra_trans_stamp
-done
-
-if test "z$DEB_GSIDIR" != "z"; then
- for fn in $DEB_GSIDIR/*all*.sdf; do
- [ -f "$fn" ] || continue
- echo "Merging additional localization $(basename $fn) ..."
- merge_localization "$fn" "all" || exit 1;
- done
-fi
-
-# FIXME: add all missing en-GB strings; it is a workaround for i#66919, n#231678
-if ! grep -q "^GSI_en-GB-en-US.sdf$" $extra_trans_stamp 2>/dev/null ; then
- for lang in $OOO_LANGS_LIST ; do
- if test "$lang" = "en-GB" ; then
- gsi_temp=`mktemp /tmp/build-ooo.XXXXXX`
- echo "Fixing en-GB localization..."
- localize -e -l en-US,en-GB=en-US -f $gsi_temp
- merge_localization "$gsi_temp" "en-GB"
- echo "GSI_en-GB-en-US.sdf" >>$extra_trans_stamp
- rm -f $gsi_temp
- break;
- fi
- done
-fi
-
-# remove temporary files
-rm $all_langs_pattern
-
-echo "Localizations updated ...!"
-
-exit 0;