mirror of
https://gitgud.io/wackyideas/aerothemeplasma.git
synced 2024-08-15 00:43:43 +00:00
103 lines
2.7 KiB
Bash
Executable file
103 lines
2.7 KiB
Bash
Executable file
#!/bin/bash
|
|
# Version 6
|
|
# Requires plasmoidviewer v5.13.0
|
|
|
|
function checkIfLangInstalled {
|
|
if [ -x "$(command -v dpkg)" ]; then
|
|
dpkg -l ${1} >/dev/null 2>&1 || ( \
|
|
echo -e "${1} not installed.\nInstalling now before continuing.\n" \
|
|
; sudo apt install ${1} \
|
|
) || ( \
|
|
echo -e "\nError trying to install ${1}\nPlease run 'sudo apt install ${1}'\n" \
|
|
; exit 1 \
|
|
)
|
|
elif [ -x "$(command -v pacman)" ]; then
|
|
# TODO: run `locale -a` and check if the locale is enabled.
|
|
if false; then
|
|
# https://wiki.archlinux.org/index.php/Locale
|
|
# Uncomment the locale in /etc/locale.gen
|
|
# Then run `locale-gen`
|
|
echo -e "\nPlease install this locale in System Settings first.\n"
|
|
exit 1
|
|
else
|
|
echo ""
|
|
fi
|
|
else
|
|
echo -e "\nPackage manager not recognized. If the widget is not translated, please install the package '${1}'\n"
|
|
fi
|
|
}
|
|
|
|
langInput="${1}"
|
|
lang=""
|
|
languagePack=""
|
|
|
|
if [[ "$langInput" =~ ":" ]]; then # String contains a colon so assume it's a locale code.
|
|
lang="${langInput}"
|
|
IFS=: read -r l1 l2 <<< "${lang}"
|
|
languagePack="language-pack-${l2}"
|
|
fi
|
|
|
|
declare -a langArr=(
|
|
"ar_EG:ar:Arabic (Egypt)"
|
|
"bg_BG:bg:Bulgarian (Bulgaria)"
|
|
"da_DK:da:Danish (Denmark)"
|
|
"de_DE:de:German (Germany)"
|
|
"el_GR:el:Greek (Greece)"
|
|
"es_MX:es:Spanish (Mexico)"
|
|
"fr_CA:fr:French (Canada)"
|
|
"hr_HR:hr:Croatian (Croatia)"
|
|
"id_ID:id:Indonesian (Indonesia)"
|
|
"ko_KR:ko:Korean (South Korea)"
|
|
"nl_NL:nl:Dutch (Netherlands)"
|
|
"pl_PL:pl:Polish (Poland)"
|
|
"pt_BR:pt:Portuguese (Brazil)"
|
|
"ru_RU:ru:Russian (Russia)"
|
|
"tr_TR:tr:Turkish (Turkey)"
|
|
"uk_UA:uk:Ukrainian (Ukraine)"
|
|
"zh_CN:zh:Chinese (China)"
|
|
)
|
|
|
|
for i in "${langArr[@]}"; do
|
|
IFS=: read -r l1 l2 l3 <<< "$i"
|
|
if [ "$langInput" == "$l2" ]; then
|
|
lang="${l1}:${l2}"
|
|
languagePack="language-pack-${l2}"
|
|
fi
|
|
done
|
|
|
|
if [ -z "$lang" ]; then
|
|
echo "plasmoidlocaletest doesn't recognize the language '$lang'"
|
|
echo "Eg:"
|
|
scriptcmd='sh ./plasmoidlocaletest'
|
|
for i in "${langArr[@]}"; do
|
|
IFS=: read -r l1 l2 l3 <<< "$i"
|
|
echo " ${scriptcmd} ${l2} | ${l3}"
|
|
done
|
|
echo ""
|
|
echo "Or use a the full locale code:"
|
|
echo " ${scriptcmd} ar_EG:ar"
|
|
exit 1
|
|
fi
|
|
|
|
IFS=: read -r l1 l2 <<< "${lang}"
|
|
l1="${l1}.UTF-8"
|
|
|
|
# Check if language is installed
|
|
if [ ! -z "$languagePack" ]; then
|
|
if [ "$lang" == "zh_CN:zh" ]; then languagePack="language-pack-zh-hans"
|
|
fi
|
|
|
|
checkIfLangInstalled "$languagePack" || exit 1
|
|
fi
|
|
|
|
|
|
echo "LANGUAGE=\"${lang}\""
|
|
echo "LANG=\"${l1}\""
|
|
|
|
scriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
packageDir="${scriptDir}/.."
|
|
|
|
# Build local translations for plasmoidviewer
|
|
sh "${scriptDir}/build"
|
|
|
|
LANGUAGE="${lang}" LANG="${l1}" LC_TIME="${l1}" QML_DISABLE_DISK_CACHE=true plasmoidviewer -a "$packageDir" -l topedge -f horizontal -x 0 -y 0
|