#! /bin/bash # This script is a hack to extract translations for some strings from # the gedit translations and append them to the gnome-terminal translations. # # To apply translations, use: # ./apply-extra-translations --apply gnome-terminal-2.28.0 extra-translations # # To update the translations, use: # ./apply-extra-translations --update gnome-terminal-2.28.0 extra-translations if [ $# -ne 3 ]; then echo "Usage: apply-extra-translations [--update|--apply] DIRECTORY FILE" exit 1 fi mode=$1 dir=$2 translations=$3 gedit_strings=("_Search" "_Find..." "Find Ne_xt" "Find Pre_vious" "Find" "_Search for: " "_Match case" "Match _entire word only" "Match as _regular expression" "Search _backwards" "_Wrap around") our_strings=("_Search" "_Find..." "Find Ne_xt" "Find Pre_vious" "Find" "_Search for:" "_Match case" "Match _entire word only" "Match as _regular expression" "Search _backwards" "_Wrap around") if [ "$mode" = "--update" ]; then if ! rpm -q gedit >/dev/null ; then echo "Please install gedit" exit 1 fi for l in `grep -v "^#" $dir/po/LINGUAS`; do for s in "${gedit_strings[@]}"; do msgstr=`env LANGUAGE="$l.UTF-8" gettext --domain=gedit "$s"` echo "$l@$s@$msgstr" done done >$translations elif [ "$mode" = "--apply" ]; then for l in `grep -v "^#" $dir/po/LINGUAS`; do for (( i = 0; i < ${#our_strings[@]}; i++ )) ; do s=${gedit_strings[$i]} msgid=${our_strings[$i]} msgstr=`grep "^$l@$s@" $translations | cut -d@ -f3` cat >>$dir/po/$l.po <