File indexing completed on 2024-09-29 10:12:33
0001 #!/usr/bin/env bash 0002 0003 # The name of catalog we create (without the.pot extension), sourced from the scripty scripts 0004 FILENAME="kdeconnect-android" 0005 0006 function export_pot_file # First parameter will be the path of the pot file we have to create, includes $FILENAME 0007 { 0008 potfile=$1 0009 mkdir outdir 0010 ANSI_COLORS_DISABLED=1 a2po export --android res/ --gettext outdir 0011 mv outdir/template.pot $potfile 0012 rm -rf outdir 0013 } 0014 0015 function import_po_files # First parameter will be a path that will contain several .po files with the format LANG.po 0016 { 0017 podir=$1 0018 # Android doesn't support languages with an @ 0019 find "$podir" -type f -name "*@*.po" -delete 0020 # drop obsolete messages, as Babel cannot parse them -- see: 0021 # https://github.com/python-babel/babel/issues/206 0022 # https://github.com/python-babel/babel/issues/566 0023 find "$podir" -name '*.po' -exec msgattrib --no-obsolete -o {} {} \; 0024 ANSI_COLORS_DISABLED=1 a2po import --ignore-fuzzy --android res/ --gettext $podir 0025 0026 # Generate the locales_config.xml 0027 pushd res 0028 echo '<?xml version="1.0" encoding="utf-8"?>' > xml/locales_config.xml 0029 echo '<locale-config xmlns:android="http://schemas.android.com/apk/res/android">' >> xml/locales_config.xml 0030 transform_locale_regex='(\w+)-r(\w+)' 0031 # Add en-US as the first locale so that is the fallback, and also because it won't be handled in the following loop 0032 echo -e '\t<locale android:name="en-US"/>' >> xml/locales_config.xml 0033 for i in values-*; do 0034 if [ -d "${i}" ]; then 0035 if [ -e "${i}/strings.xml" ]; then 0036 locale="${i:7}" 0037 if [[ "${locale}" =~ $transform_locale_regex ]]; then 0038 # Special case to turn locales like "en-rUS", "en-rGB" into "en-US" and "en-GB" 0039 transformed_locale="${BASH_REMATCH[1]}-${BASH_REMATCH[2]}" 0040 echo -e "\t<locale android:name=\"${transformed_locale}\"/>" >> xml/locales_config.xml 0041 else 0042 echo -e "\t<locale android:name=\"${locale}\"/>" >> xml/locales_config.xml 0043 fi 0044 fi 0045 fi 0046 done 0047 0048 echo "</locale-config>" >> xml/locales_config.xml 0049 popd 0050 } 0051