阅读:0       作者:严长生

Linux setlocale()区域设置格式说明以及名称汇总

使用 setlocale() 进行区域设置(本地设置、地域设置)时,可以通过 locale 参数指明具体的地域设置名称(字符串),也就是设置为哪种地域,或者说哪种语言文化。

C语言标准并未对 locale 的格式进行说明,只是要求编译器至少支持以下三个名称:
  • "C":默认的地域设置,只包含了很少的地域信息;
  • "":使用当前操作系统默认的地域设置;
  • NULL:不设置任何地域信息,而是用来获取当前地域设置的名称。

locale 在 Windows 和 Linux 下有不同的格式,除了上面三个强制要求的名称,其他名称在 Windows 和 Linux 下的写法一般不同。本文只讲解 Linux 下的地域设置格式,如果读者希望了解 Windows 下的情况,请猛击《Windows setlocale()区域设置格式说明以及名称汇总》。

Linux 下 locale 的格式

在 Linux 下,locale 的命名格式为:

language_area.charset

language 表示语言,例如英语或中文;area 表示使用该语言的地区,例如美国或者中国大陆;charset 表示字符集编码,例如 UTF-8 或者 GBK。

举一个简单的例子:

zh_CN.UTF-8

zh 代表中文,CN 代表大陆地区,UTF-8 表示字符集编码。

charset 可以省略,此时会选择当前语言的默认 charset。Linux 发行版大都使用 UTF-8 编码,它是 Unicode 字符集的一种编码方式,能够支持世界上的所有语言;省略 charset,也就意味使用 UTF-8。

locale 名称及其说明
locale 名称 说明
af_ZA 南非语
ar_AE 阿拉伯语(阿联酋)
ar_BH 阿拉伯语(巴林)
ar_DZ 阿拉伯语(阿尔及利亚)
ar_EG 阿拉伯语(埃及)
ar_IQ 阿拉伯语(伊拉克)
ar_JO 阿拉伯语(约旦)
ar_KW 阿拉伯语(科威特)
ar_LB 阿拉伯语(黎巴嫩)
ar_LY 阿拉伯语(利比亚)
ar_MA 阿拉伯语(摩洛哥)
ar_OM 阿拉伯语(阿曼)
ar_QA 阿拉伯语(卡塔尔)
ar_SA 阿拉伯语(沙特阿拉伯)
ar_SY 阿拉伯语(叙利亚)
ar_TN 阿拉伯语(突尼斯)
ar_YE 阿拉伯语(也门)
az_AZ 阿塞拜疆语(拉丁文)
az_AZ 阿塞拜疆语(西里尔文)
be_BY 比利时语
bg_BG 保加利亚语
bs_BA 波斯尼亚语(拉丁文,波斯尼亚和黑塞哥维那)
ca_ES 加泰隆语
cs_CZ 捷克语
cy_GB 威尔士语
da_DK 丹麦语
de_AT 德语(奥地利)
de_CH 德语(瑞士)
de_DE 德语(德国)
de_LI 德语(列支敦士登)
de_LU 德语(卢森堡)
dv_MV 第维埃语
el_GR 希腊语
en_AU 英语(澳大利亚)
en_BZ 英语(伯利兹)
en_CA 英语(加拿大)
en_CB 英语(加勒比海)
en_GB 英语(英国)
en_IE 英语(爱尔兰)
en_JM 英语(牙买加)
en_NZ 英语(新西兰)
en_PH 英语(菲律宾)
en_TT 英语(特立尼达)
en_US 英语(美国)
en_ZA 英语(南非)
en_ZW 英语(津巴布韦)
es_AR 西班牙语(阿根廷)
es_BO 西班牙语(玻利维亚)
es_CL 西班牙语(智利)
es_CO 西班牙语(哥伦比亚)
es_CR 西班牙语(哥斯达黎加)
es_DO 西班牙语(多米尼加共和国)
es_EC 西班牙语(厄瓜多尔)
es_ES 西班牙语(传统)
es_ES 西班牙语(国际)
es_GT 西班牙语(危地马拉)
es_HN 西班牙语(洪都拉斯)
es_MX 西班牙语(墨西哥)
es_NI 西班牙语(尼加拉瓜)
es_PA 西班牙语(巴拿马)
es_PE 西班牙语(秘鲁)
es_PR 西班牙语(波多黎各(美))
es_PY 西班牙语(巴拉圭)
es_SV 西班牙语(萨尔瓦多)
es_UY 西班牙语(乌拉圭)
es_VE 西班牙语(委内瑞拉)
et_EE 爱沙尼亚语
eu_ES 巴士克语
fa_IR 法斯语
fi_FI 芬兰语
fo_FO 法罗语
fr_BE 法语(比利时)
fr_CA 法语(加拿大)
fr_CH 法语(瑞士)
fr_FR 法语(法国)
fr_LU 法语(卢森堡)
fr_MC 法语(摩纳哥)
gl_ES 加里西亚语
gu_IN 古吉拉特语
he_IL 希伯来语
hi_IN 印地语
hr_BA 克罗地亚语(波斯尼亚和黑塞哥维那)
hr_HR 克罗地亚语
hu_HU 匈牙利语
hy_AM 亚美尼亚语
id_ID 印度尼西亚语
is_IS 冰岛语
it_CH 意大利语(瑞士)
it_IT 意大利语(意大利)
ja_JP 日语
ka_GE 格鲁吉亚语
kk_KZ 哈萨克语
kn_IN 卡纳拉语
ko_KR 朝鲜语
kok_IN 孔卡尼语
ky_KG 吉尔吉斯语(西里尔文)
lt_LT 立陶宛语
lv_LV 拉脱维亚语
mi_NZ 毛利语
mk_MK 马其顿语(FYROM)
mn_MN 蒙古语(西里尔文)
mr_IN 马拉地语
ms_BN 马来语(文莱达鲁萨兰)
ms_MY 马来语(马来西亚)
mt_MT 马耳他语
nb_NO 挪威语(伯克梅尔)(挪威)
nl_BE 荷兰语(比利时)
nl_NL 荷兰语(荷兰)
nn_NO 挪威语(尼诺斯克)(挪威)
ns_ZA 北梭托语
pa_IN 旁遮普语
pl_PL 波兰语
pt_BR 葡萄牙语(巴西)
pt_PT 葡萄牙语(葡萄牙)
qu_BO 克丘亚语(玻利维亚)
qu_EC 克丘亚语(厄瓜多尔)
qu_PE 克丘亚语(秘鲁)
ro_RO 罗马尼亚语
ru_RU 俄语
sa_IN 梵文
se_FI 北萨摩斯语(芬兰)
se_FI 斯科特萨摩斯语(芬兰)
se_FI 伊那里萨摩斯语(芬兰)
se_NO 北萨摩斯语(挪威)
se_NO 律勒欧萨摩斯语(挪威)
se_NO 南萨摩斯语(挪威)
se_SE 北萨摩斯语(瑞典)
se_SE 律勒欧萨摩斯语(瑞典)
se_SE 南萨摩斯语(瑞典)
sk_SK 斯洛伐克语
sl_SI 斯洛文尼亚语
sq_AL 阿尔巴尼亚语
sr_BA 塞尔维亚语(拉丁文,波斯尼亚和黑塞哥维那)
sr_BA 塞尔维亚语(西里尔文,波斯尼亚和黑塞哥维那)
sr_SP 塞尔维亚(拉丁)
sr_SP 塞尔维亚(西里尔文)
sv_FI 瑞典语(芬兰)
sv_SE 瑞典语
sw_KE 斯瓦希里语
syr_SY 叙利亚语
ta_IN 泰米尔语
te_IN 泰卢固语
th_TH 泰语
tl_PH 塔加路语(菲律宾)
tn_ZA 茨瓦纳语
tr_TR 土耳其语
tt_RU 鞑靼语
uk_UA 乌克兰语
ur_PK 乌都语
uz_UZ 乌兹别克语(拉丁文)
uz_UZ 乌兹别克语(西里尔文)
vi_VN 越南语
xh_ZA 班图语
zh_CN 中文(简体)
zh_HK 中文(香港)
zh_MO 中文(澳门)
zh_SG 中文(新加坡)
zh_TW 中文(繁体)
zu_ZA 祖鲁语