#!/bin/sh -e # -*- mode: Shell-script; tab-width: 8; fill-column: 70; -*- # $Id: S00firefox.common.langs.sh,v 0.0.1 2005/08/26 14:54:08 legion Exp $ PROG="${0##*/}" extensions_dir="@firefox_extensionsdir@" # Requires: PROG error() { printf %s\\n "$PROG: ERROR: $*" >&2 exit 1 } [ -d "${HOME}/${MOZ_PIS_USER_DIR}" ] || error "not directory: ${HOME}/${MOZ_PIS_USER_DIR}" [ -d "$extensions_dir" ] || error "not directory: $extensions_dir" # Requires: extensions_dir, HOME, MOZ_PIS_USER_DIR register_user_language() { local prefs_js user_lang_file cid register_done user_language find "${HOME}/${MOZ_PIS_USER_DIR}" -mindepth 1 -maxdepth 1 -type f -name 'firefox\.lang\.*' | while read user_lang_file; do cid= register_done= user_language= . "$user_lang_file" [ -n "$cid" -a -n "$user_language" ] || continue if ! fgrep -sq "urn:mozilla:extension:$cid" "$extensions_dir/Extensions.rdf"; then find "${HOME}/${MOZ_PIS_USER_DIR}" -mindepth 2 -maxdepth 2 -type f -name 'prefs.js' | xargs -r subst "/^user_pref(\"general.useragent.locale\", \"$user_language\");/d" -- rm -f "$user_lang_file" continue fi [ -z "$register_done" ] || continue find "${HOME}/${MOZ_PIS_USER_DIR}" -mindepth 2 -maxdepth 2 -type f -name 'prefs.js' | while read prefs_js; do if ! grep -sqG '^user_pref("general\.useragent\.locale",' "$prefs_js"; then printf 'user_pref("general.useragent.locale", "%s");\n' "$user_language" >> "$prefs_js" fi done echo "register_done=1" >> "$user_lang_file" done } register_user_language