58 lines
1.6 KiB
Bash
58 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Taken from
|
|
# https://github.com/qvint/ungoogled-chromium-fedora/commit/a68fdd679566da5134d916776f14e00c8e6a8042
|
|
|
|
self="$(readlink -f "${0}")"
|
|
self_dir="$(dirname "${self}")"
|
|
dict_utility="${self_dir}/convert_dict"
|
|
|
|
# Defaults.
|
|
hunspell_dicts_dir="/usr/share/myspell"
|
|
user_data_dir="${HOME}/.config/chromium"
|
|
|
|
# Parse command-line arguments.
|
|
while [[ $# -gt 0 ]]; do
|
|
arg_name="${1}"
|
|
|
|
case "${arg_name}" in
|
|
"--hunspell-dicts-dir")
|
|
hunspell_dicts_dir="${2}"
|
|
shift; shift
|
|
;;
|
|
"--user-data-dir")
|
|
user_data_dir="${2}"
|
|
shift; shift
|
|
;;
|
|
*)
|
|
echo -n "Usage: ungoogled-chromium-update-dicts "
|
|
echo "[--hunspell-dicts-dir DIR] [--user-data-dir DIR]"
|
|
exit 1
|
|
esac
|
|
done
|
|
|
|
# List all chromium language entries.
|
|
chromium_language_entries="$("${dict_utility}" list)"
|
|
|
|
# Iterate through chromium language entries and make *.bdic files.
|
|
chromium_dicts_dir="${user_data_dir}/Dictionaries"
|
|
mkdir -p "${chromium_dicts_dir}"
|
|
while read -r chromium_language_entry; do
|
|
while read \
|
|
chromium_language \
|
|
chromium_language_region \
|
|
chromium_bdic_basename; do
|
|
|
|
hunspell_language_region="${chromium_language_region//-/_}"
|
|
aff_path="${hunspell_dicts_dir}/${hunspell_language_region}.aff"
|
|
dic_path="${hunspell_dicts_dir}/${hunspell_language_region}.dic"
|
|
bdic_path="${chromium_dicts_dir}/${chromium_bdic_basename}"
|
|
|
|
if \
|
|
[[ -f "${aff_path}" ]] && \
|
|
[[ -f "${dic_path}" ]] && \
|
|
[[ ! -f "${bdic_path}" ]]; then
|
|
"${dict_utility}" convert "${aff_path}" "${dic_path}" "${bdic_path}"
|
|
fi
|
|
done <<< "${chromium_language_entry}"
|
|
done <<< "${chromium_language_entries}" |