#!/usr/bin/with-contenv bash

# Determine our OS
if [ -f /usr/sbin/pacman ]; then
  LSIO_BASE=arch
elif grep -q 'ID=debian' /etc/os-release; then
  LSIO_BASE=debian
elif grep -q 'ID=ubuntu' /etc/os-release; then
  LSIO_BASE=ubuntu
elif [ -f /bin/dnf ]; then
  LSIO_BASE=fedora
elif [ -f /sbin/apk ]; then
  LSIO_BASE=alpine
else
  echo "Unable to determine base image, internationalization mod failed to run"
  exit 1
fi

# Define locales for distros that need manual generation
IFS=" "
if [ -z ${LC_ALL+x} ]; then
  LOCALES="aa_DJ aa_ER aa_ET af_ZA am_ET an_ES ar_AE ar_BH ar_DZ ar_EG ar_IN ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY ar_TN ar_YE as_IN ast_ES ayc_PE az_AZ be_BY bem_ZM ber_DZ ber_MA bg_BG bho_IN bn_BD bn_IN bo_CN bo_IN br_FR brx_IN bs_BA byn_ER ca_AD ca_ES ca_FR ca_IT crh_UA csb_PL cs_CZ cv_RU cy_GB da_DK de_AT de_BE de_CH de_DE de_LU doi_IN dv_MV dz_BT el_CY el_GR en_AG en_AU en_BW en_CA en_DK en_GB en_HK en_IE en_IN en_NG en_NZ en_PH en_SG en_US en_ZA en_ZM en_ZW es_AR es_BO es_CL es_CO es_CR es_CU es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et_EE eu_ES fa_IR ff_SN fi_FI fil_PH fo_FO fr_BE fr_CA fr_CH fr_FR fr_LU fur_IT fy_DE fy_NL ga_IE gd_GB gez_ER gez_ET gl_ES gu_IN gv_GB ha_NG he_IL hi_IN hne_IN hr_HR hsb_DE ht_HT hu_HU hy_AM ia_FR id_ID ig_NG ik_CA is_IS it_CH it_IT iu_CA ja_JP ka_GE kk_KZ kl_GL km_KH kn_IN kok_IN ko_KR ks_IN ku_TR kw_GB ky_KG lb_LU lg_UG li_BE lij_IT li_NL lo_LA lt_LT lv_LV mag_IN mai_IN mg_MG mhr_RU mi_NZ mk_MK ml_IN mni_IN mn_MN mr_IN ms_MY mt_MT my_MM nb_NO nds_DE nds_NL ne_NP nhn_MX niu_NU niu_NZ nl_AW nl_BE nl_NL nn_NO nr_ZA nso_ZA oc_FR om_ET om_KE or_IN os_RU pa_IN pa_PK pl_PL ps_AF pt_BR pt_PT ro_RO ru_RU ru_UA rw_RW sa_IN sat_IN sc_IT sd_IN se_NO shs_CA sid_ET si_LK sk_SK sl_SI so_DJ so_ET so_KE so_SO sq_AL sq_MK sr_ME sr_RS ss_ZA st_ZA sv_FI sv_SE sw_KE sw_TZ szl_PL ta_IN ta_LK te_IN tg_TJ th_TH ti_ER ti_ET tig_ER tk_TM tl_PH tn_ZA tr_CY tr_TR ts_ZA tt_RU ug_CN uk_UA unm_US ur_IN ur_PK uz_UZ ve_ZA vi_VN wa_BE wae_CH wal_ET wo_SN xh_ZA yi_US yo_NG yue_HK zh_CN zh_HK zh_SG zh_TW zu_ZA"
else
  LOCALES=${LC_ALL%.UTF-8}
  # Remove language restrictions on newly installed packages
  if grep -q 'ID=ubuntu' /etc/os-release || grep -q 'ID=debian' /etc/os-release; then
    echo 'Acquire::Languages "'${LC_ALL:0:2}'";' > /etc/apt/apt.conf.d/docker-no-languages
  fi
  # Set additional env vars for app compatibility
  printf "${LC_ALL}" > /run/s6/container_environment/LANGUAGE
  printf "${LC_ALL}" > /run/s6/container_environment/LANG
fi

# Install pacakges and fonts
if [[ "${LSIO_BASE}" == "alpine" ]] && [[ ! -f /usr/share/fonts/noto/NotoSansCJK-Regular.ttc ]]; then
  # Add fonts and lang
  echo "\
    font-noto-all \
    font-noto-cjk \
    font-noto-emoji \
    lang" >> /mod-repo-packages-to-install.list
elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then
  # Install fonts and locales
  sed -i \
    '/locale/d' \
    /etc/dpkg/dpkg.cfg.d/excludes
  echo "\
    fonts-noto \
    language-pack-af \
    language-pack-am \
    language-pack-an \
    language-pack-ar \
    language-pack-as \
    language-pack-ast \
    language-pack-az \
    language-pack-be \
    language-pack-bg \
    language-pack-bn \
    language-pack-br \
    language-pack-bs \
    language-pack-ca \
    language-pack-crh \
    language-pack-cs \
    language-pack-cy \
    language-pack-da \
    language-pack-de \
    language-pack-dz \
    language-pack-el \
    language-pack-en \
    language-pack-eo \
    language-pack-es \
    language-pack-et \
    language-pack-eu \
    language-pack-fa \
    language-pack-fi \
    language-pack-fr \
    language-pack-fur \
    language-pack-ga \
    language-pack-gd \
    language-pack-gl \
    language-pack-gu \
    language-pack-he \
    language-pack-hi \
    language-pack-hr \
    language-pack-hu \
    language-pack-ia \
    language-pack-id \
    language-pack-is \
    language-pack-it \
    language-pack-ja \
    language-pack-ka \
    language-pack-kk \
    language-pack-km \
    language-pack-kn \
    language-pack-ko \
    language-pack-ku \
    language-pack-lt \
    language-pack-lv \
    language-pack-mk \
    language-pack-ml \
    language-pack-mr \
    language-pack-ms \
    language-pack-my \
    language-pack-nb \
    language-pack-nds \
    language-pack-ne \
    language-pack-nl \
    language-pack-nn \
    language-pack-oc \
    language-pack-or \
    language-pack-pa \
    language-pack-pl \
    language-pack-pt \
    language-pack-ro \
    language-pack-ru \
    language-pack-si \
    language-pack-sk \
    language-pack-sl \
    language-pack-sq \
    language-pack-sr \
    language-pack-sv \
    language-pack-ta \
    language-pack-te \
    language-pack-tg \
    language-pack-th \
    language-pack-tr \
    language-pack-ug \
    language-pack-uk \
    language-pack-vi \
    language-pack-xh \
    language-pack-zh-hans \
    language-pack-zh-hant" >> /mod-repo-packages-to-install.list
elif [[ "${LSIO_BASE}" == "debian" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then
  # Install fonts and locales
  sed -i \
    '/locale/d' \
    /etc/dpkg/dpkg.cfg.d/docker
    echo "\
    fonts-noto \
    locales-all" >> /mod-repo-packages-to-install.list
  # Generate locales
  for LOCALE in ${LOCALES}; do
    echo "Generating Locale for ${LOCALE}"
    localedef -i "${LOCALE}" -f UTF-8 "${LOCALE}.UTF-8"
  done
elif [[ "${LSIO_BASE}" == "fedora" ]] && [[ ! -d /usr/share/licenses/google-noto-cjk-fonts-common ]]; then
  # Install fonts and locales
  rm -f /etc/rpm/macros.image-language-conf
    echo "\
    glibc-langpack-aa \
    glibc-langpack-af \
    glibc-langpack-agr \
    glibc-langpack-ak \
    glibc-langpack-am \
    glibc-langpack-an \
    glibc-langpack-anp \
    glibc-langpack-ar \
    glibc-langpack-as \
    glibc-langpack-ast \
    glibc-langpack-ayc \
    glibc-langpack-az \
    glibc-langpack-be \
    glibc-langpack-bem \
    glibc-langpack-ber \
    glibc-langpack-bg \
    glibc-langpack-bhb \
    glibc-langpack-bho \
    glibc-langpack-bi \
    glibc-langpack-bn \
    glibc-langpack-bo \
    glibc-langpack-br \
    glibc-langpack-brx \
    glibc-langpack-bs \
    glibc-langpack-byn \
    glibc-langpack-ca \
    glibc-langpack-ce \
    glibc-langpack-chr \
    glibc-langpack-cmn \
    glibc-langpack-crh \
    glibc-langpack-cs \
    glibc-langpack-csb \
    glibc-langpack-cv \
    glibc-langpack-cy \
    glibc-langpack-da \
    glibc-langpack-de \
    glibc-langpack-doi \
    glibc-langpack-dsb \
    glibc-langpack-dv \
    glibc-langpack-dz \
    glibc-langpack-el \
    glibc-langpack-en \
    glibc-langpack-eo \
    glibc-langpack-es \
    glibc-langpack-et \
    glibc-langpack-eu \
    glibc-langpack-fa \
    glibc-langpack-ff \
    glibc-langpack-fi \
    glibc-langpack-fil \
    glibc-langpack-fo \
    glibc-langpack-fr \
    glibc-langpack-fur \
    glibc-langpack-fy \
    glibc-langpack-ga \
    glibc-langpack-gd \
    glibc-langpack-gez \
    glibc-langpack-gl \
    glibc-langpack-gu \
    glibc-langpack-gv \
    glibc-langpack-ha \
    glibc-langpack-hak \
    glibc-langpack-he \
    glibc-langpack-hi \
    glibc-langpack-hif \
    glibc-langpack-hne \
    glibc-langpack-hr \
    glibc-langpack-hsb \
    glibc-langpack-ht \
    glibc-langpack-hu \
    glibc-langpack-hy \
    glibc-langpack-ia \
    glibc-langpack-id \
    glibc-langpack-ig \
    glibc-langpack-ik \
    glibc-langpack-is \
    glibc-langpack-it \
    glibc-langpack-iu \
    glibc-langpack-ja \
    glibc-langpack-ka \
    glibc-langpack-kab \
    glibc-langpack-kk \
    glibc-langpack-kl \
    glibc-langpack-km \
    glibc-langpack-kn \
    glibc-langpack-ko \
    glibc-langpack-kok \
    glibc-langpack-ks \
    glibc-langpack-ku \
    glibc-langpack-kw \
    glibc-langpack-ky \
    glibc-langpack-lb \
    glibc-langpack-lg \
    glibc-langpack-li \
    glibc-langpack-lij \
    glibc-langpack-ln \
    glibc-langpack-lo \
    glibc-langpack-lt \
    glibc-langpack-lv \
    glibc-langpack-lzh \
    glibc-langpack-mag \
    glibc-langpack-mai \
    glibc-langpack-mfe \
    glibc-langpack-mg \
    glibc-langpack-mhr \
    glibc-langpack-mi \
    glibc-langpack-miq \
    glibc-langpack-mjw \
    glibc-langpack-mk \
    glibc-langpack-ml \
    glibc-langpack-mn \
    glibc-langpack-mni \
    glibc-langpack-mr \
    glibc-langpack-ms \
    glibc-langpack-mt \
    glibc-langpack-my \
    glibc-langpack-nan \
    glibc-langpack-nb \
    glibc-langpack-nds \
    glibc-langpack-ne \
    glibc-langpack-nhn \
    glibc-langpack-niu \
    glibc-langpack-nl \
    glibc-langpack-nn \
    glibc-langpack-nr \
    glibc-langpack-nso \
    glibc-langpack-oc \
    glibc-langpack-om \
    glibc-langpack-or \
    glibc-langpack-os \
    glibc-langpack-pa \
    glibc-langpack-pap \
    glibc-langpack-pl \
    glibc-langpack-ps \
    glibc-langpack-pt \
    glibc-langpack-quz \
    glibc-langpack-raj \
    glibc-langpack-ro \
    glibc-langpack-ru \
    glibc-langpack-rw \
    glibc-langpack-sa \
    glibc-langpack-sah \
    glibc-langpack-sat \
    glibc-langpack-sc \
    glibc-langpack-sd \
    glibc-langpack-se \
    glibc-langpack-sgs \
    glibc-langpack-shn \
    glibc-langpack-shs \
    glibc-langpack-si \
    glibc-langpack-sid \
    glibc-langpack-sk \
    glibc-langpack-sl \
    glibc-langpack-sm \
    glibc-langpack-so \
    glibc-langpack-sq \
    glibc-langpack-sr \
    glibc-langpack-ss \
    glibc-langpack-st \
    glibc-langpack-sv \
    glibc-langpack-sw \
    glibc-langpack-szl \
    glibc-langpack-ta \
    glibc-langpack-tcy \
    glibc-langpack-te \
    glibc-langpack-tg \
    glibc-langpack-th \
    glibc-langpack-the \
    glibc-langpack-ti \
    glibc-langpack-tig \
    glibc-langpack-tk \
    glibc-langpack-tl \
    glibc-langpack-tn \
    glibc-langpack-to \
    glibc-langpack-tpi \
    glibc-langpack-tr \
    glibc-langpack-ts \
    glibc-langpack-tt \
    glibc-langpack-ug \
    glibc-langpack-uk \
    glibc-langpack-unm \
    glibc-langpack-ur \
    glibc-langpack-uz \
    glibc-langpack-ve \
    glibc-langpack-vi \
    glibc-langpack-wa \
    glibc-langpack-wae \
    glibc-langpack-wal \
    glibc-langpack-wo \
    glibc-langpack-xh \
    glibc-langpack-yi \
    glibc-langpack-yo \
    glibc-langpack-yue \
    glibc-langpack-yuw \
    glibc-langpack-zh \
    glibc-langpack-zu \
    glibc-locale-source \
    google-noto-cjk-fonts \
    google-noto-emoji-fonts \
    google-noto-fonts-common \
    google-noto-kufi-arabic-fonts \
    google-noto-kufi-arabic-vf-fonts \
    google-noto-looped-lao-fonts \
    google-noto-looped-lao-ui-fonts \
    google-noto-looped-lao-ui-vf-fonts \
    google-noto-looped-lao-vf-fonts \
    google-noto-looped-thai-fonts \
    google-noto-looped-thai-ui-fonts \
    google-noto-looped-thai-ui-vf-fonts \
    google-noto-looped-thai-vf-fonts \
    google-noto-music-fonts \
    google-noto-naskh-arabic-fonts \
    google-noto-naskh-arabic-ui-fonts \
    google-noto-naskh-arabic-ui-vf-fonts \
    google-noto-naskh-arabic-vf-fonts \
    google-noto-nastaliq-urdu-fonts \
    google-noto-nastaliq-urdu-vf-fonts \
    google-noto-rashi-hebrew-fonts \
    google-noto-rashi-hebrew-vf-fonts \
    google-noto-sans-adlam-fonts \
    google-noto-sans-adlam-unjoined-fonts \
    google-noto-sans-adlam-unjoined-vf-fonts \
    google-noto-sans-adlam-vf-fonts \
    google-noto-sans-anatolian-hieroglyphs-fonts \
    google-noto-sans-anatolian-hieroglyphs-vf-fonts \
    google-noto-sans-arabic-fonts \
    google-noto-sans-arabic-ui-fonts \
    google-noto-sans-arabic-ui-vf-fonts \
    google-noto-sans-arabic-vf-fonts \
    google-noto-sans-armenian-fonts \
    google-noto-sans-armenian-vf-fonts \
    google-noto-sans-avestan-fonts \
    google-noto-sans-avestan-vf-fonts \
    google-noto-sans-balinese-fonts \
    google-noto-sans-balinese-vf-fonts \
    google-noto-sans-bamum-fonts \
    google-noto-sans-bamum-vf-fonts \
    google-noto-sans-bassa-vah-fonts \
    google-noto-sans-bassa-vah-vf-fonts \
    google-noto-sans-batak-fonts \
    google-noto-sans-bengali-fonts \
    google-noto-sans-bengali-ui-fonts \
    google-noto-sans-bengali-ui-vf-fonts \
    google-noto-sans-bengali-vf-fonts \
    google-noto-sans-bhaiksuki-fonts \
    google-noto-sans-brahmi-fonts \
    google-noto-sans-buginese-fonts \
    google-noto-sans-buginese-vf-fonts \
    google-noto-sans-buhid-fonts \
    google-noto-sans-buhid-vf-fonts \
    google-noto-sans-canadian-aboriginal-fonts \
    google-noto-sans-canadian-aboriginal-vf-fonts \
    google-noto-sans-carian-fonts \
    google-noto-sans-carian-vf-fonts \
    google-noto-sans-caucasian-albanian-fonts \
    google-noto-sans-chakma-fonts \
    google-noto-sans-cham-fonts \
    google-noto-sans-cham-vf-fonts \
    google-noto-sans-cherokee-fonts \
    google-noto-sans-cherokee-vf-fonts \
    google-noto-sans-chorasmian-fonts \
    google-noto-sans-coptic-fonts \
    google-noto-sans-cuneiform-fonts \
    google-noto-sans-cuneiform-vf-fonts \
    google-noto-sans-cypriot-fonts \
    google-noto-sans-cypriot-vf-fonts \
    google-noto-sans-cypro-minoan-fonts \
    google-noto-sans-deseret-fonts \
    google-noto-sans-deseret-vf-fonts \
    google-noto-sans-devanagari-fonts \
    google-noto-sans-devanagari-ui-fonts \
    google-noto-sans-devanagari-ui-vf-fonts \
    google-noto-sans-devanagari-vf-fonts \
    google-noto-sans-display-fonts \
    google-noto-sans-display-vf-fonts \
    google-noto-sans-duployan-fonts \
    google-noto-sans-egyptian-hieroglyphs-fonts \
    google-noto-sans-egyptian-hieroglyphs-vf-fonts \
    google-noto-sans-elbasan-fonts \
    google-noto-sans-elymaic-fonts \
    google-noto-sans-elymaic-vf-fonts \
    google-noto-sans-ethiopic-fonts \
    google-noto-sans-ethiopic-vf-fonts \
    google-noto-sans-fonts \
    google-noto-sans-georgian-fonts \
    google-noto-sans-georgian-vf-fonts \
    google-noto-sans-glagolitic-fonts \
    google-noto-sans-gothic-fonts \
    google-noto-sans-gothic-vf-fonts \
    google-noto-sans-grantha-fonts \
    google-noto-sans-gujarati-fonts \
    google-noto-sans-gujarati-ui-fonts \
    google-noto-sans-gujarati-vf-fonts \
    google-noto-sans-gunjala-gondi-fonts \
    google-noto-sans-gunjala-gondi-vf-fonts \
    google-noto-sans-gurmukhi-fonts \
    google-noto-sans-gurmukhi-ui-fonts \
    google-noto-sans-gurmukhi-ui-vf-fonts \
    google-noto-sans-gurmukhi-vf-fonts \
    google-noto-sans-hanifi-rohingya-fonts \
    google-noto-sans-hanifi-rohingya-vf-fonts \
    google-noto-sans-hanunoo-fonts \
    google-noto-sans-hatran-fonts \
    google-noto-sans-hatran-vf-fonts \
    google-noto-sans-hebrew-droid-fonts \
    google-noto-sans-hebrew-droid-vf-fonts \
    google-noto-sans-hebrew-fonts \
    google-noto-sans-hebrew-new-fonts \
    google-noto-sans-hebrew-new-vf-fonts \
    google-noto-sans-hebrew-vf-fonts \
    google-noto-sans-imperial-aramaic-fonts \
    google-noto-sans-imperial-aramaic-vf-fonts \
    google-noto-sans-indic-siyaq-numbers-fonts \
    google-noto-sans-inscriptional-pahlavi-fonts \
    google-noto-sans-inscriptional-parthian-fonts \
    google-noto-sans-javanese-fonts \
    google-noto-sans-javanese-vf-fonts \
    google-noto-sans-kaithi-fonts \
    google-noto-sans-kannada-fonts \
    google-noto-sans-kannada-ui-fonts \
    google-noto-sans-kannada-ui-vf-fonts \
    google-noto-sans-kannada-vf-fonts \
    google-noto-sans-kayah-li-fonts \
    google-noto-sans-kayah-li-vf-fonts \
    google-noto-sans-kharoshthi-fonts \
    google-noto-sans-khmer-fonts \
    google-noto-sans-khmer-ui-fonts \
    google-noto-sans-khmer-ui-vf-fonts \
    google-noto-sans-khmer-vf-fonts \
    google-noto-sans-khojki-fonts \
    google-noto-sans-khudawadi-fonts \
    google-noto-sans-lao-fonts \
    google-noto-sans-lao-looped-fonts \
    google-noto-sans-lao-looped-vf-fonts \
    google-noto-sans-lao-ui-fonts \
    google-noto-sans-lao-ui-vf-fonts \
    google-noto-sans-lao-vf-fonts \
    google-noto-sans-lepcha-fonts \
    google-noto-sans-limbu-fonts \
    google-noto-sans-linear-a-fonts \
    google-noto-sans-linear-a-vf-fonts \
    google-noto-sans-linear-b-fonts \
    google-noto-sans-linear-b-vf-fonts \
    google-noto-sans-lisu-fonts \
    google-noto-sans-lisu-vf-fonts \
    google-noto-sans-lycian-fonts \
    google-noto-sans-lycian-vf-fonts \
    google-noto-sans-lydian-fonts \
    google-noto-sans-lydian-vf-fonts \
    google-noto-sans-mahajani-fonts \
    google-noto-sans-malayalam-fonts \
    google-noto-sans-malayalam-ui-fonts \
    google-noto-sans-malayalam-ui-vf-fonts \
    google-noto-sans-malayalam-vf-fonts \
    google-noto-sans-mandaic-fonts \
    google-noto-sans-mandaic-vf-fonts \
    google-noto-sans-manichaean-fonts \
    google-noto-sans-marchen-fonts \
    google-noto-sans-marchen-vf-fonts \
    google-noto-sans-masaram-gondi-fonts \
    google-noto-sans-math-fonts \
    google-noto-sans-math-vf-fonts \
    google-noto-sans-mayan-numerals-fonts \
    google-noto-sans-mayan-numerals-vf-fonts \
    google-noto-sans-medefaidrin-fonts \
    google-noto-sans-medefaidrin-vf-fonts \
    google-noto-sans-meetei-mayek-fonts \
    google-noto-sans-meeteimayek-vf-fonts \
    google-noto-sans-mende-kikakui-fonts \
    google-noto-sans-meroitic-fonts \
    google-noto-sans-miao-fonts \
    google-noto-sans-modi-fonts \
    google-noto-sans-mongolian-fonts \
    google-noto-sans-mono-fonts \
    google-noto-sans-mono-vf-fonts \
    google-noto-sans-mro-fonts \
    google-noto-sans-mro-vf-fonts \
    google-noto-sans-multani-fonts \
    google-noto-sans-multani-vf-fonts \
    google-noto-sans-myanmar-fonts \
    google-noto-sans-myanmar-ui-fonts \
    google-noto-sans-myanmar-ui-vf-fonts \
    google-noto-sans-myanmar-vf-fonts \
    google-noto-sans-nabataean-fonts \
    google-noto-sans-nabataean-vf-fonts \
    google-noto-sans-nandinagari-fonts \
    google-noto-sans-newa-fonts \
    google-noto-sans-new-tai-lue-fonts \
    google-noto-sans-new-tai-lue-vf-fonts \
    google-noto-sans-nko-fonts \
    google-noto-sans-nushu-fonts \
    google-noto-sans-ogham-fonts \
    google-noto-sans-ogham-vf-fonts \
    google-noto-sans-ol-chiki-fonts \
    google-noto-sans-ol-chiki-vf-fonts \
    google-noto-sans-old-hungarian-fonts \
    google-noto-sans-old-italic-fonts \
    google-noto-sans-old-north-arabian-fonts \
    google-noto-sans-old-permic-fonts \
    google-noto-sans-old-persian-fonts \
    google-noto-sans-old-sogdian-fonts \
    google-noto-sans-old-south-arabian-fonts \
    google-noto-sans-old-turkic-fonts \
    google-noto-sans-oriya-fonts \
    google-noto-sans-oriya-ui-fonts \
    google-noto-sans-oriya-ui-vf-fonts \
    google-noto-sans-oriya-vf-fonts \
    google-noto-sans-osage-fonts \
    google-noto-sans-osmanya-fonts \
    google-noto-sans-osmanya-vf-fonts \
    google-noto-sans-pahawh-hmong-fonts \
    google-noto-sans-palmyrene-fonts \
    google-noto-sans-pau-cin-hau-fonts \
    google-noto-sans-phags-pa-fonts \
    google-noto-sans-phoenician-fonts \
    google-noto-sans-psalter-pahlavi-fonts \
    google-noto-sans-rejang-fonts \
    google-noto-sans-runic-fonts \
    google-noto-sans-runic-vf-fonts \
    google-noto-sans-samaritan-fonts \
    google-noto-sans-saurashtra-fonts \
    google-noto-sans-sharada-fonts \
    google-noto-sans-shavian-fonts \
    google-noto-sans-shavian-vf-fonts \
    google-noto-sans-siddham-fonts \
    google-noto-sans-signwriting-fonts \
    google-noto-sans-sinhala-fonts \
    google-noto-sans-sinhala-ui-fonts \
    google-noto-sans-sinhala-ui-vf-fonts \
    google-noto-sans-sinhala-vf-fonts \
    google-noto-sans-sogdian-fonts \
    google-noto-sans-sora-sompeng-fonts \
    google-noto-sans-sora-sompeng-vf-fonts \
    google-noto-sans-soyombo-fonts \
    google-noto-sans-soyombo-vf-fonts \
    google-noto-sans-sundanese-fonts \
    google-noto-sans-sundanese-vf-fonts \
    google-noto-sans-syloti-nagri-fonts \
    google-noto-sans-symbols2-fonts \
    google-noto-sans-symbols-fonts \
    google-noto-sans-symbols-vf-fonts \
    google-noto-sans-syriac-eastern-fonts \
    google-noto-sans-syriac-fonts \
    google-noto-sans-syriac-western-fonts \
    google-noto-sans-tagalog-fonts \
    google-noto-sans-tagbanwa-fonts \
    google-noto-sans-tagbanwa-vf-fonts \
    google-noto-sans-tai-le-fonts \
    google-noto-sans-tai-tham-fonts \
    google-noto-sans-tai-tham-vf-fonts \
    google-noto-sans-tai-viet-fonts \
    google-noto-sans-tai-viet-vf-fonts \
    google-noto-sans-takri-fonts \
    google-noto-sans-takri-vf-fonts \
    google-noto-sans-tamil-fonts \
    google-noto-sans-tamil-supplement-fonts \
    google-noto-sans-tamil-supplement-vf-fonts \
    google-noto-sans-tamil-ui-fonts \
    google-noto-sans-tamil-ui-vf-fonts \
    google-noto-sans-tamil-vf-fonts \
    google-noto-sans-tangsa-fonts \
    google-noto-sans-tangsa-vf-fonts \
    google-noto-sans-telugu-fonts \
    google-noto-sans-telugu-ui-fonts \
    google-noto-sans-telugu-ui-vf-fonts \
    google-noto-sans-telugu-vf-fonts \
    google-noto-sans-thaana-fonts \
    google-noto-sans-thaana-vf-fonts \
    google-noto-sans-thai-fonts \
    google-noto-sans-thai-looped-fonts \
    google-noto-sans-thai-looped-vf-fonts \
    google-noto-sans-thai-ui-fonts \
    google-noto-sans-thai-ui-vf-fonts \
    google-noto-sans-thai-vf-fonts \
    google-noto-sans-tifinagh-adrar-fonts \
    google-noto-sans-tifinagh-agraw-imazighen-fonts \
    google-noto-sans-tifinagh-ahaggar-fonts \
    google-noto-sans-tifinagh-air-fonts \
    google-noto-sans-tifinagh-apt-fonts \
    google-noto-sans-tifinagh-azawagh-fonts \
    google-noto-sans-tifinagh-fonts \
    google-noto-sans-tifinagh-ghat-fonts \
    google-noto-sans-tifinagh-hawad-fonts \
    google-noto-sans-tifinagh-rhissa-ixa-fonts \
    google-noto-sans-tifinagh-sil-fonts \
    google-noto-sans-tifinagh-tawellemmet-fonts \
    google-noto-sans-tirhuta-fonts \
    google-noto-sans-ugaritic-fonts \
    google-noto-sans-ugaritic-vf-fonts \
    google-noto-sans-vai-fonts \
    google-noto-sans-vai-vf-fonts \
    google-noto-sans-vf-fonts \
    google-noto-sans-vithkuqi-fonts \
    google-noto-sans-vithkuqi-vf-fonts \
    google-noto-sans-wancho-fonts \
    google-noto-sans-wancho-vf-fonts \
    google-noto-sans-warang-citi-fonts \
    google-noto-sans-warang-citi-vf-fonts \
    google-noto-sans-yi-fonts \
    google-noto-sans-yi-vf-fonts \
    google-noto-sans-zanabazar-square-fonts \
    google-noto-sans-zanabazar-square-vf-fonts \
    google-noto-serif-ahom-fonts \
    google-noto-serif-armenian-fonts \
    google-noto-serif-armenian-vf-fonts \
    google-noto-serif-balinese-fonts \
    google-noto-serif-bengali-fonts \
    google-noto-serif-bengali-vf-fonts \
    google-noto-serif-devanagari-fonts \
    google-noto-serif-devanagari-vf-fonts \
    google-noto-serif-display-fonts \
    google-noto-serif-display-vf-fonts \
    google-noto-serif-dives-akuru-fonts \
    google-noto-serif-dogra-fonts \
    google-noto-serif-dogra-vf-fonts \
    google-noto-serif-ethiopic-fonts \
    google-noto-serif-ethiopic-vf-fonts \
    google-noto-serif-fonts \
    google-noto-serif-georgian-fonts \
    google-noto-serif-georgian-vf-fonts \
    google-noto-serif-grantha-fonts \
    google-noto-serif-gujarati-fonts \
    google-noto-serif-gujarati-vf-fonts \
    google-noto-serif-gurmukhi-fonts \
    google-noto-serif-gurmukhi-vf-fonts \
    google-noto-serif-hebrew-fonts \
    google-noto-serif-hebrew-vf-fonts \
    google-noto-serif-kannada-fonts \
    google-noto-serif-kannada-vf-fonts \
    google-noto-serif-khmer-fonts \
    google-noto-serif-khmer-vf-fonts \
    google-noto-serif-khojki-fonts \
    google-noto-serif-khojki-vf-fonts \
    google-noto-serif-lao-fonts \
    google-noto-serif-lao-vf-fonts \
    google-noto-serif-makasar-fonts \
    google-noto-serif-malayalam-fonts \
    google-noto-serif-malayalam-vf-fonts \
    google-noto-serif-myanmar-fonts \
    google-noto-serif-myanmar-vf-fonts \
    google-noto-serif-nyiakeng-puachue-hmong-fonts \
    google-noto-serif-nyiakeng-puachue-hmong-vf-fonts \
    google-noto-serif-old-uyghur-fonts \
    google-noto-serif-oriya-fonts \
    google-noto-serif-oriya-vf-fonts \
    google-noto-serif-sinhala-fonts \
    google-noto-serif-sinhala-vf-fonts \
    google-noto-serif-tamil-fonts \
    google-noto-serif-tamil-slanted-fonts \
    google-noto-serif-tamil-slanted-vf-fonts \
    google-noto-serif-tamil-vf-fonts \
    google-noto-serif-tangut-fonts \
    google-noto-serif-tangut-vf-fonts \
    google-noto-serif-telugu-fonts \
    google-noto-serif-telugu-vf-fonts \
    google-noto-serif-thai-fonts \
    google-noto-serif-thai-vf-fonts \
    google-noto-serif-tibetan-fonts \
    google-noto-serif-tibetan-vf-fonts \
    google-noto-serif-toto-fonts \
    google-noto-serif-toto-vf-fonts \
    google-noto-serif-vf-fonts \
    google-noto-serif-vithkuqi-fonts \
    google-noto-serif-vithkuqi-vf-fonts \
    google-noto-serif-yezidi-fonts \
    google-noto-serif-yezidi-vf-fonts \
    google-noto-traditional-nushu-fonts" >> /mod-repo-packages-to-install.list
  # Generate locales
  for LOCALE in ${LOCALES}; do
    echo "Generating Locale for ${LOCALE}"
    localedef -i "${LOCALE}" -f UTF-8 "${LOCALE}.UTF-8"
  done
elif [[ "${LSIO_BASE}" == "arch" ]] && [[ ! -f /usr/share/fonts/noto-cjk/NotoSansCJK-Regular.ttc ]]; then
  # Install fonts
  sed -i \
    '/locale/d' \
    /etc/pacman.conf
    echo "\
    glibc \
    noto-fonts-cjk \
    noto-fonts-emoji \
    noto-fonts-extra" >> /mod-repo-packages-to-install.list
  # Generate locales
  for LOCALE in ${LOCALES}; do
    echo "Generating Locale for ${LOCALE}"
    localedef -i "${LOCALE}" -f UTF-8 "${LOCALE}.UTF-8"
  done
else
  echo "**** International Fonts/Locales installed skipping ****"
fi

# Add Firefox Langpacks
if which firefox && [ ! -f /langlock ]; then
  echo "Installing firefox langpacks"
  FIREFOX_VERSION=$(curl -sI https://download.mozilla.org/?product=firefox-latest | awk -F '(releases/|/win32)' '/Location/ {print $2}')
  RELEASE_URL="https://releases.mozilla.org/pub/firefox/releases/${FIREFOX_VERSION}/win64/xpi/"
  LANGS=$(curl -Ls "${RELEASE_URL}" | awk -F '(xpi">|</a>)' '/href.*xpi/ {print $2}' | tr '\n' ' ')
  if [[ "${LSIO_BASE}" == "alpine" ]]; then
    EXTENSION_DIR=/usr/lib/firefox/distribution/extensions/
  else
    EXTENSION_DIR=/usr/lib/firefox-addons/distribution/extensions/
  fi
  mkdir -p ${EXTENSION_DIR}
  for LANG in ${LANGS}; do
    LANGCODE=$(echo ${LANG} | sed 's/\.xpi//g')
    echo "Downloading ${LANG} Firefox Language pack"
    curl -o \
      "${EXTENSION_DIR}langpack-${LANGCODE}@firefox.mozilla.org.xpi" -Ls \
      "${RELEASE_URL}${LANG}"
  done
fi

touch /langlock
