466 lines
12 KiB
Bash
466 lines
12 KiB
Bash
# GLib filename encoding guesser.
|
||
# Author: Stanislav Brabec <sbrabec@suse.cz>
|
||
# Additions are welcome.
|
||
# This script must be executed after setting LANG variable.
|
||
|
||
# Try filenames which are invalid in UTF-8 as locale specific.
|
||
# For selected locales, G_FILENAME_ENCODING takes precedence.
|
||
export G_BROKEN_FILENAMES=1
|
||
|
||
# In West Europe there was used both ISO-8859-15 and ISO-8859-1.
|
||
# There is no chance to recognize it, so we must guess.
|
||
#west_europe_legacy_encoding=ISO-8859-1
|
||
west_europe_legacy_encoding=ISO-8859-15
|
||
|
||
# In Russia, "official" encoding is ISO-8859-5, but most GNOME users
|
||
# preferred KOI8-R. We must guess.
|
||
#russian_legacy_encoding=ISO-8859-5
|
||
russian_legacy_encoding=KOI8-R
|
||
|
||
# In former Yugoslavia sr_YU have covered two different alphabets -
|
||
# one Latin and on Cyrillic. No chance to guess.
|
||
sr_YU_legacy_encoding=ISO-8859-2,CP1250
|
||
#sr_YU_legacy_encoding=ISO-8859-5
|
||
|
||
# Japanese uses two legacy encodings. Guess sometimes fails, sometimes not.
|
||
# Defining preferred encoding increases chance for success.
|
||
japanese_legacy_encoding=EUC-JP
|
||
#japanese_legacy_encoding=SHIFT_JIS
|
||
|
||
case $LANG in
|
||
aa_DJ* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
af_ZA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
an_ES* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
|
||
;;
|
||
ar_AE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_BH* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_DZ* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_EG* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_IQ* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_JO* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_KW* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_LB* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_LY* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_MA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_OM* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_QA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_SA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_SD* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_SY* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_TN* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
ar_YE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
|
||
;;
|
||
be_BY* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,CP1251
|
||
;;
|
||
bg_BG* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,CP1251
|
||
;;
|
||
br_FR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
bs_BA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||
;;
|
||
ca_ES* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
cs_CZ* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||
;;
|
||
cy_GB* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-14,CP1252
|
||
;;
|
||
da_DK* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
de_AT* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
de_BE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
de_DE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
de_CH* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
de_LU* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
el_GR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-7
|
||
;;
|
||
en_AU* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
en_BE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
en_BW* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
en_CA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
en_DK* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
en_GB* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
en_HK* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
en_IE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
en_NZ* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
en_PH* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
en_SG* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
en_US* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
en_ZA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
en_ZW* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_AR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_BO* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_CL* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_CO* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_CR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_DO* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_EC* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_ES* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
es_GT* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_HN* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_MX* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_NI* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_PA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_PE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_PR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_PY* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_SV* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_US* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_UY* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
es_VE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
et_EE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
eu_ES* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
fa_IR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,CP1256
|
||
;;
|
||
fi_FI* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
fo_FO* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
fr_BE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
fr_CA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
fr_FR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
fr_CH* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
fr_LU* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
ga_IE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
gd_GB* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
|
||
;;
|
||
gl_ES* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
gv_GB* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
he_IL* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-8
|
||
;;
|
||
hr_HR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||
;;
|
||
hu_HU* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||
;;
|
||
hy_AM* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ARMSCII-8
|
||
;;
|
||
id_ID* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
is_IS* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
it_CH* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
it_IT* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
iw_IL* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-8
|
||
;;
|
||
ja_JP* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$japanese_legacy_encoding,EUC-JP,SHIFT_JIS,ISO-8859-1
|
||
;;
|
||
ka_GE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,GEORGIAN-PS
|
||
;;
|
||
kl_GL* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
km_KH* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,GB18030
|
||
;;
|
||
ko_KR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,EUC-KR,ISO-8859-1
|
||
;;
|
||
kw_GB* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
lg_UG* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-10,CP1252
|
||
;;
|
||
lt_LT* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252
|
||
;;
|
||
lv_LV* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252
|
||
;;
|
||
mi_NZ* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252
|
||
;;
|
||
mk_MK* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-5,CP1251
|
||
;;
|
||
ms_MY* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
mt_MT* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-3
|
||
;;
|
||
nb_NO* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
nl_BE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
nl_NL* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
nn_NO* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
no_NO* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
oc_FR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
om_KE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
pl_PL* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||
;;
|
||
pt_BR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
pt_PT* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
ro_RO* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||
;;
|
||
ru_RU* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$russian_legacy_encoding,CP1251
|
||
;;
|
||
ru_UA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,KOI8-U
|
||
;;
|
||
sh_YU* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||
;;
|
||
sk_SK* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||
;;
|
||
sl_SI* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
|
||
;;
|
||
so_DJ* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
so_KE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
so_SO* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
sq_AL* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
sr_YU* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$sr_YU_legacy_encoding
|
||
;;
|
||
st_ZA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
sv_FI* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
sv_SE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
tg_TJ* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,KOI8-T
|
||
;;
|
||
th_TH* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,TIS-620,ISO-8859-1
|
||
;;
|
||
tl_PH* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
tr_TR* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-9
|
||
;;
|
||
uk_UA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,KOI8-U
|
||
;;
|
||
uz_UZ* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
vi_VN* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,TCVN5712-1,ISO-8859-1
|
||
;;
|
||
wa_BE* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
|
||
;;
|
||
xh_ZA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
yi_US* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,CP1255
|
||
;;
|
||
zh_CN* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1
|
||
;;
|
||
zh_HK* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,BIG5-HKSCS,ISO-8859-1
|
||
;;
|
||
zh_SG* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1
|
||
;;
|
||
zh_TW* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,BIG5,EUC-TW,ISO-8859-1
|
||
;;
|
||
zu_ZA* )
|
||
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
|
||
;;
|
||
esac
|
||
export G_FILENAME_ENCODING
|
||
|
||
unset west_europe_legacy_encoding
|
||
unset russian_legacy_encoding
|
||
unset sr_YU_legacy_encoding
|