📄 localename.c
字号:
/* Determine the current selected locale. Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *//* Written by Ulrich Drepper <drepper@gnu.org>, 1995. *//* Win32 code written by Tor Lillqvist <tml@iki.fi>. *//* MacOS X code written by Bruno Haible <bruno@clisp.org>. */#ifdef HAVE_CONFIG_H# include <config.h>#endif#include <stdlib.h>#include <locale.h>#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE# include <string.h># include <CFString.h># if HAVE_CFLOCALECOPYCURRENT# include <CFLocale.h># elif HAVE_CFPREFERENCESCOPYAPPVALUE# include <CFPreferences.h># endif#endif#if defined _WIN32 || defined __WIN32__# undef WIN32 /* avoid warning on mingw32 */# define WIN32#endif#ifdef WIN32# define WIN32_LEAN_AND_MEAN# include <windows.h>/* List of language codes, sorted by value: 0x01 LANG_ARABIC 0x02 LANG_BULGARIAN 0x03 LANG_CATALAN 0x04 LANG_CHINESE 0x05 LANG_CZECH 0x06 LANG_DANISH 0x07 LANG_GERMAN 0x08 LANG_GREEK 0x09 LANG_ENGLISH 0x0a LANG_SPANISH 0x0b LANG_FINNISH 0x0c LANG_FRENCH 0x0d LANG_HEBREW 0x0e LANG_HUNGARIAN 0x0f LANG_ICELANDIC 0x10 LANG_ITALIAN 0x11 LANG_JAPANESE 0x12 LANG_KOREAN 0x13 LANG_DUTCH 0x14 LANG_NORWEGIAN 0x15 LANG_POLISH 0x16 LANG_PORTUGUESE 0x17 LANG_RHAETO_ROMANCE 0x18 LANG_ROMANIAN 0x19 LANG_RUSSIAN 0x1a LANG_CROATIAN == LANG_SERBIAN 0x1b LANG_SLOVAK 0x1c LANG_ALBANIAN 0x1d LANG_SWEDISH 0x1e LANG_THAI 0x1f LANG_TURKISH 0x20 LANG_URDU 0x21 LANG_INDONESIAN 0x22 LANG_UKRAINIAN 0x23 LANG_BELARUSIAN 0x24 LANG_SLOVENIAN 0x25 LANG_ESTONIAN 0x26 LANG_LATVIAN 0x27 LANG_LITHUANIAN 0x28 LANG_TAJIK 0x29 LANG_FARSI 0x2a LANG_VIETNAMESE 0x2b LANG_ARMENIAN 0x2c LANG_AZERI 0x2d LANG_BASQUE 0x2e LANG_SORBIAN 0x2f LANG_MACEDONIAN 0x30 LANG_SUTU 0x31 LANG_TSONGA 0x32 LANG_TSWANA 0x33 LANG_VENDA 0x34 LANG_XHOSA 0x35 LANG_ZULU 0x36 LANG_AFRIKAANS 0x37 LANG_GEORGIAN 0x38 LANG_FAEROESE 0x39 LANG_HINDI 0x3a LANG_MALTESE 0x3b LANG_SAAMI 0x3c LANG_GAELIC 0x3d LANG_YIDDISH 0x3e LANG_MALAY 0x3f LANG_KAZAK 0x40 LANG_KYRGYZ 0x41 LANG_SWAHILI 0x42 LANG_TURKMEN 0x43 LANG_UZBEK 0x44 LANG_TATAR 0x45 LANG_BENGALI 0x46 LANG_PUNJABI 0x47 LANG_GUJARATI 0x48 LANG_ORIYA 0x49 LANG_TAMIL 0x4a LANG_TELUGU 0x4b LANG_KANNADA 0x4c LANG_MALAYALAM 0x4d LANG_ASSAMESE 0x4e LANG_MARATHI 0x4f LANG_SANSKRIT 0x50 LANG_MONGOLIAN 0x51 LANG_TIBETAN 0x52 LANG_WELSH 0x53 LANG_CAMBODIAN 0x54 LANG_LAO 0x55 LANG_BURMESE 0x56 LANG_GALICIAN 0x57 LANG_KONKANI 0x58 LANG_MANIPURI 0x59 LANG_SINDHI 0x5a LANG_SYRIAC 0x5b LANG_SINHALESE 0x5c LANG_CHEROKEE 0x5d LANG_INUKTITUT 0x5e LANG_AMHARIC 0x5f LANG_TAMAZIGHT 0x60 LANG_KASHMIRI 0x61 LANG_NEPALI 0x62 LANG_FRISIAN 0x63 LANG_PASHTO 0x64 LANG_TAGALOG 0x65 LANG_DIVEHI 0x66 LANG_EDO 0x67 LANG_FULFULDE 0x68 LANG_HAUSA 0x69 LANG_IBIBIO 0x6a LANG_YORUBA 0x70 LANG_IGBO 0x71 LANG_KANURI 0x72 LANG_OROMO 0x73 LANG_TIGRINYA 0x74 LANG_GUARANI 0x75 LANG_HAWAIIAN 0x76 LANG_LATIN 0x77 LANG_SOMALI 0x78 LANG_YI 0x79 LANG_PAPIAMENTU*//* Mingw headers don't have latest language and sublanguage codes. */# ifndef LANG_AFRIKAANS# define LANG_AFRIKAANS 0x36# endif# ifndef LANG_ALBANIAN# define LANG_ALBANIAN 0x1c# endif# ifndef LANG_AMHARIC# define LANG_AMHARIC 0x5e# endif# ifndef LANG_ARABIC# define LANG_ARABIC 0x01# endif# ifndef LANG_ARMENIAN# define LANG_ARMENIAN 0x2b# endif# ifndef LANG_ASSAMESE# define LANG_ASSAMESE 0x4d# endif# ifndef LANG_AZERI# define LANG_AZERI 0x2c# endif# ifndef LANG_BASQUE# define LANG_BASQUE 0x2d# endif# ifndef LANG_BELARUSIAN# define LANG_BELARUSIAN 0x23# endif# ifndef LANG_BENGALI# define LANG_BENGALI 0x45# endif# ifndef LANG_BURMESE# define LANG_BURMESE 0x55# endif# ifndef LANG_CAMBODIAN# define LANG_CAMBODIAN 0x53# endif# ifndef LANG_CATALAN# define LANG_CATALAN 0x03# endif# ifndef LANG_CHEROKEE# define LANG_CHEROKEE 0x5c# endif# ifndef LANG_DIVEHI# define LANG_DIVEHI 0x65# endif# ifndef LANG_EDO# define LANG_EDO 0x66# endif# ifndef LANG_ESTONIAN# define LANG_ESTONIAN 0x25# endif# ifndef LANG_FAEROESE# define LANG_FAEROESE 0x38# endif# ifndef LANG_FARSI# define LANG_FARSI 0x29# endif# ifndef LANG_FRISIAN# define LANG_FRISIAN 0x62# endif# ifndef LANG_FULFULDE# define LANG_FULFULDE 0x67# endif# ifndef LANG_GAELIC# define LANG_GAELIC 0x3c# endif# ifndef LANG_GALICIAN# define LANG_GALICIAN 0x56# endif# ifndef LANG_GEORGIAN# define LANG_GEORGIAN 0x37# endif# ifndef LANG_GUARANI# define LANG_GUARANI 0x74# endif# ifndef LANG_GUJARATI# define LANG_GUJARATI 0x47# endif# ifndef LANG_HAUSA# define LANG_HAUSA 0x68# endif# ifndef LANG_HAWAIIAN# define LANG_HAWAIIAN 0x75# endif# ifndef LANG_HEBREW# define LANG_HEBREW 0x0d# endif# ifndef LANG_HINDI# define LANG_HINDI 0x39# endif# ifndef LANG_IBIBIO# define LANG_IBIBIO 0x69# endif# ifndef LANG_IGBO# define LANG_IGBO 0x70# endif# ifndef LANG_INDONESIAN# define LANG_INDONESIAN 0x21# endif# ifndef LANG_INUKTITUT# define LANG_INUKTITUT 0x5d# endif# ifndef LANG_KANNADA# define LANG_KANNADA 0x4b# endif# ifndef LANG_KANURI# define LANG_KANURI 0x71# endif# ifndef LANG_KASHMIRI# define LANG_KASHMIRI 0x60# endif# ifndef LANG_KAZAK# define LANG_KAZAK 0x3f# endif# ifndef LANG_KONKANI# define LANG_KONKANI 0x57# endif# ifndef LANG_KYRGYZ# define LANG_KYRGYZ 0x40# endif# ifndef LANG_LAO# define LANG_LAO 0x54# endif# ifndef LANG_LATIN# define LANG_LATIN 0x76# endif# ifndef LANG_LATVIAN# define LANG_LATVIAN 0x26# endif# ifndef LANG_LITHUANIAN# define LANG_LITHUANIAN 0x27# endif# ifndef LANG_MACEDONIAN# define LANG_MACEDONIAN 0x2f# endif# ifndef LANG_MALAY# define LANG_MALAY 0x3e# endif# ifndef LANG_MALAYALAM# define LANG_MALAYALAM 0x4c# endif# ifndef LANG_MALTESE# define LANG_MALTESE 0x3a# endif# ifndef LANG_MANIPURI# define LANG_MANIPURI 0x58# endif# ifndef LANG_MARATHI# define LANG_MARATHI 0x4e# endif# ifndef LANG_MONGOLIAN# define LANG_MONGOLIAN 0x50# endif# ifndef LANG_NEPALI# define LANG_NEPALI 0x61# endif# ifndef LANG_ORIYA# define LANG_ORIYA 0x48# endif# ifndef LANG_OROMO# define LANG_OROMO 0x72# endif# ifndef LANG_PAPIAMENTU# define LANG_PAPIAMENTU 0x79# endif# ifndef LANG_PASHTO# define LANG_PASHTO 0x63# endif# ifndef LANG_PUNJABI# define LANG_PUNJABI 0x46# endif# ifndef LANG_RHAETO_ROMANCE# define LANG_RHAETO_ROMANCE 0x17# endif# ifndef LANG_SAAMI# define LANG_SAAMI 0x3b# endif# ifndef LANG_SANSKRIT# define LANG_SANSKRIT 0x4f# endif# ifndef LANG_SERBIAN# define LANG_SERBIAN 0x1a# endif# ifndef LANG_SINDHI# define LANG_SINDHI 0x59# endif# ifndef LANG_SINHALESE# define LANG_SINHALESE 0x5b# endif# ifndef LANG_SLOVAK# define LANG_SLOVAK 0x1b# endif# ifndef LANG_SOMALI# define LANG_SOMALI 0x77# endif# ifndef LANG_SORBIAN# define LANG_SORBIAN 0x2e# endif# ifndef LANG_SUTU# define LANG_SUTU 0x30# endif# ifndef LANG_SWAHILI# define LANG_SWAHILI 0x41# endif# ifndef LANG_SYRIAC# define LANG_SYRIAC 0x5a# endif# ifndef LANG_TAGALOG# define LANG_TAGALOG 0x64# endif# ifndef LANG_TAJIK# define LANG_TAJIK 0x28# endif# ifndef LANG_TAMAZIGHT# define LANG_TAMAZIGHT 0x5f# endif# ifndef LANG_TAMIL# define LANG_TAMIL 0x49# endif# ifndef LANG_TATAR# define LANG_TATAR 0x44# endif# ifndef LANG_TELUGU# define LANG_TELUGU 0x4a# endif# ifndef LANG_THAI# define LANG_THAI 0x1e# endif# ifndef LANG_TIBETAN# define LANG_TIBETAN 0x51# endif# ifndef LANG_TIGRINYA# define LANG_TIGRINYA 0x73# endif# ifndef LANG_TSONGA# define LANG_TSONGA 0x31# endif# ifndef LANG_TSWANA# define LANG_TSWANA 0x32# endif# ifndef LANG_TURKMEN# define LANG_TURKMEN 0x42# endif# ifndef LANG_UKRAINIAN# define LANG_UKRAINIAN 0x22# endif# ifndef LANG_URDU# define LANG_URDU 0x20# endif# ifndef LANG_UZBEK# define LANG_UZBEK 0x43# endif# ifndef LANG_VENDA# define LANG_VENDA 0x33# endif# ifndef LANG_VIETNAMESE# define LANG_VIETNAMESE 0x2a# endif# ifndef LANG_WELSH# define LANG_WELSH 0x52# endif# ifndef LANG_XHOSA# define LANG_XHOSA 0x34# endif# ifndef LANG_YI# define LANG_YI 0x78# endif# ifndef LANG_YIDDISH# define LANG_YIDDISH 0x3d# endif# ifndef LANG_YORUBA# define LANG_YORUBA 0x6a# endif# ifndef LANG_ZULU# define LANG_ZULU 0x35# endif# ifndef SUBLANG_ARABIC_SAUDI_ARABIA# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01# endif# ifndef SUBLANG_ARABIC_IRAQ# define SUBLANG_ARABIC_IRAQ 0x02# endif# ifndef SUBLANG_ARABIC_EGYPT# define SUBLANG_ARABIC_EGYPT 0x03# endif# ifndef SUBLANG_ARABIC_LIBYA# define SUBLANG_ARABIC_LIBYA 0x04# endif# ifndef SUBLANG_ARABIC_ALGERIA# define SUBLANG_ARABIC_ALGERIA 0x05# endif# ifndef SUBLANG_ARABIC_MOROCCO# define SUBLANG_ARABIC_MOROCCO 0x06# endif# ifndef SUBLANG_ARABIC_TUNISIA# define SUBLANG_ARABIC_TUNISIA 0x07# endif# ifndef SUBLANG_ARABIC_OMAN# define SUBLANG_ARABIC_OMAN 0x08# endif# ifndef SUBLANG_ARABIC_YEMEN# define SUBLANG_ARABIC_YEMEN 0x09# endif# ifndef SUBLANG_ARABIC_SYRIA# define SUBLANG_ARABIC_SYRIA 0x0a# endif# ifndef SUBLANG_ARABIC_JORDAN# define SUBLANG_ARABIC_JORDAN 0x0b# endif# ifndef SUBLANG_ARABIC_LEBANON# define SUBLANG_ARABIC_LEBANON 0x0c# endif# ifndef SUBLANG_ARABIC_KUWAIT# define SUBLANG_ARABIC_KUWAIT 0x0d# endif# ifndef SUBLANG_ARABIC_UAE# define SUBLANG_ARABIC_UAE 0x0e# endif# ifndef SUBLANG_ARABIC_BAHRAIN# define SUBLANG_ARABIC_BAHRAIN 0x0f# endif# ifndef SUBLANG_ARABIC_QATAR# define SUBLANG_ARABIC_QATAR 0x10# endif# ifndef SUBLANG_AZERI_LATIN# define SUBLANG_AZERI_LATIN 0x01# endif# ifndef SUBLANG_AZERI_CYRILLIC# define SUBLANG_AZERI_CYRILLIC 0x02# endif# ifndef SUBLANG_BENGALI_INDIA# define SUBLANG_BENGALI_INDIA 0x00# endif# ifndef SUBLANG_BENGALI_BANGLADESH# define SUBLANG_BENGALI_BANGLADESH 0x01
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -