⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 language.c

📁 ISO638国际标准
💻 C
📖 第 1 页 / 共 2 页
字号:
//"Marwari",                  "mwr", "mwr", 
  "Masai",                    "mas", "mas", 
//"Mayan",                    "myn", "myn", 
  "Mende",                    "men", "men", 
//"Micmac",                   "mic", "mic", 
  "Minangkabau",              "min", "min", 
//"Mohawk",                   "moh", "moh", 
  "Moldavian",                "mol", "mol", 
  "Mon-Khmer",                "mkh", "mkh", 
  "Mongo",                    "lol", "lol", 
  "Mongolian",                "mon", "mon", 
  "Mossi",                    "mos", "mos", 
  "Munda",                    "mun", "mun", 

//"Nahuatl",                  "nah", "nah", 
  "Nauru",                    "nau", "nau", 
//"Navajo",                   "nav", "nav", 
  "Ndebele, N",               "nde", "nde", 
  "Ndebele, S",               "nbl", "nbl", 
  "Ndonga",                   "ndo", "ndo", 
  "Nepali",                   "nep", "nep", 
  "Newari",                   "new", "new", 
  "Nias",                     "nia", "nia", 
//"Niger-Kordofanian",        "nic", "nic", 
//"Nilo-Saharan",             "ssa", "ssa", 
  "Niuean",                   "niu", "niu", 
//"North American Indian",    "nai", "nai",    Group
  "North Sami",               "sme", "sme", 
  "Norwegian",                "nor", "nor", // There are three possible Norwegian dialects
//"Norwegian Bokmal",         "nob", "nob",    it is difficult to say which would be used
//"Norwegian Nynorsk",        "nno", "nno",    so uncomment as necessary
  "Nubian",                   "nub", "nub", 
  "Nyamwezi",                 "nym", "nym", 
  "Nyanja",                   "nya", "nya", 
  "Nyankole",                 "nyn", "nyn", 
  "Nyoro",                    "nyo", "nyo", 
//"Nzima",                    "nzi", "nzi", 

//"Occitan; Provencal",       "oci", "oci",    Old French dialect
//"Ojibwa",                   "oji", "oji",    NAI
  "Oriya",                    "ori", "ori", 
  "Oromo",                    "orm", "orm", 
  "Osage",                    "osa", "osa", 
//"Ossetian",                 "oss", "oss",    NAI
//"Otomian",                  "oto", "oto",    Extinct

//"Pahlavi",                  "pal", "pal",    Extinct
  "Palauan",                  "pau", "pau", 
//"Pali",                     "pli", "pli",    Obscure, buddhist, extinct?
  "Pampanga",                 "pam", "pam", 
  "Pangasinan",               "pag", "pag", 
  "Panjabi",                  "pan", "pan", 
  "Papiamento",               "pap", "pap", // Caribbean
//"Papuan",                   "paa", "paa",    Group
  "Persian",                  "per", "fas", 
//"Philippine",               "phi", "phi",    Group
//"Phoenician",               "phn", "phn",    Extinct
  "Pohnpeian",                "pon", "pon", 
  "Polish",                   "pol", "pol", 
  "Portuguese",               "por", "por", 
//"Prakrit",                  "pra", "pra",    Extinct
//"Provencal; Occitan",       "oci", "oci",    Old French dialect
  "Pushto",                   "pus", "pus", // Afghan

  "Quechua",                  "que", "que", // High Andes

//"Raeto-Romance",            "roh", "roh",    Swiss dialect
  "Rajasthani",               "raj", "raj", 
  "Rapanui",                  "rap", "rap", // Easter Island
  "Rarotongan",               "rar", "rar", // Cook Islands
//"Romance",                  "roa", "roa",    Group
  "Romanian",                 "rum", "ron", 
  "Romany",                   "rom", "rom", 
  "Rundi",                    "run", "run", 
  "Russian",                  "rus", "rus", 

  "Salishan",                 "sal", "sal", 
//"Samaritan Aramaic",        "sam", "sam",    Extinct
  "Sami",                     "smi", "smi", 
  "Samoan",                   "smo", "smo", 
  "Sandawe",                  "sad", "sad", 
  "Sango",                    "sag", "sag", 
//"Sanskrit",                 "san", "san",    Old, written language
  "Santali",                  "sat", "sat", 
  "Sardinian",                "srd", "srd", 
  "Sasak",                    "sas", "sas", 
  "Scots",                    "sco", "sco", 
  "Selkup",                   "sel", "sel", 
//"Semitic",                  "sem", "sem",    Group
  "Serbian",                  "scc", "srp", 
  "Serer",                    "srr", "srr", 
  "Shan",                     "shn", "shn", 
  "Shona",                    "sna", "sna", 
  "Sidamo",                   "sid", "sid", 
//"Siksika",                  "bla", "bla",    NAI
  "Sindhi",                   "snd", "snd", 
  "Sinhalese",                "sin", "sin", 
//"Sino-Tibetan",             "sit", "sit",    Group
//"Siouan",                   "sio", "sio",    Group
//"Slavic",                   "sla", "sla",    Group
  "Slovak",                   "slo", "slk", 
  "Slovenian",                "slv", "slv", 
  "Sogdian",                  "sog", "sog", 
  "Somali",                   "som", "som", 
  "Songhai",                  "son", "son", 
  "Soninke",                  "snk", "snk", 
//"Sorbian languages",        "wen", "wen",    Group
  "Sotho, N",                 "nso", "nso", 
  "Sotho, S",                 "sot", "sot", 
//"South American Indian",    "sai", "sai",    Group
  "Spanish",                  "spa", "spa", 
  "Sukuma",                   "suk", "suk", 
//"Sumerian",                 "sux", "sux",    Extinct
  "Sundanese",                "sun", "sun", 
  "Susu",                     "sus", "sus", 
  "Swahili",                  "swa", "swa", 
  "Swati",                    "ssw", "ssw", 
  "Swedish",                  "swe", "swe", 
//"Syriac",                   "syr", "syr",    Extinct

  "Tagalog",                  "tgl", "tgl", 
  "Tahitian",                 "tah", "tah", 
//"Tai (Other)",              "tai", "tai",    Group, entries elsewhere
  "Tajik",                    "tgk", "tgk", 
  "Tamashek",                 "tmh", "tmh", 
  "Tamil",                    "tam", "tam", 
  "Tatar",                    "tat", "tat", 
  "Telugu",                   "tel", "tel", 
  "Tereno",                   "ter", "ter", 
  "Tetum",                    "tet", "tet", 
  "Thai",                     "tha", "tha", 
  "Tibetan",                  "tib", "bod", 
  "Tigre",                    "tig", "tig", 
  "Tigrinya",                 "tir", "tir", 
  "Timne",                    "tem", "tem", 
  "Tiv",                      "tiv", "tiv", 
  "Tlingit",                  "tli", "tli", 
  "Tok Pisin",                "tpi", "tpi", 
  "Tokelau",                  "tkl", "tkl", 
  "Tonga (Nyasa)",            "tog", "tog", 
  "Tonga (Tonga)",            "ton", "ton", 
  "Tsimshian",                "tsi", "tsi", 
  "Tsonga",                   "tso", "tso", 
  "Tswana",                   "tsn", "tsn", 
  "Tumbuka",                  "tum", "tum", 
  "Turkish",                  "tur", "tur", 
  "Turkmen",                  "tuk", "tuk", 
  "Tuvalu",                   "tvl", "tvl", 
  "Tuvinian",                 "tyv", "tyv", 
  "Twi",                      "twi", "twi", 

//"Ugaritic",                 "uga", "uga",    Extinct
  "Uighur",                   "uig", "uig", 
  "Ukrainian",                "ukr", "ukr", 
  "Umbundu",                  "umb", "umb", 
  "Urdu",                     "urd", "urd", 
  "Uzbek",                    "uzb", "uzb", 

  "Vai",                      "vai", "vai", 
  "Venda",                    "ven", "ven", 
  "Vietnamese",               "vie", "vie",
//"Volapuk",                  "vol", "vol",    Synthetic
  "Votic",                    "vot", "vot", 

//"Wakashan",                 "wak", "wak",    NAI
  "Walamo",                   "wal", "wal", 
  "Waray",                    "war", "war", 
//"Washo",                    "was", "was",    NAI
  "Welsh",                    "wel", "cym", 
  "Wolof",                    "wol", "wol", 

  "Xhosa",                    "xho", "xho", 

  "Yakut",                    "sah", "sah", 
  "Yao",                      "yao", "yao", 
  "Yapese",                   "yap", "yap", 
  "Yiddish",                  "yid", "yid", 
  "Yoruba",                   "yor", "yor", 
  "Yupik",                    "ypk", "ypk", 

  "Zande",                    "znd", "znd", 
  "Zapotec",                  "zap", "zap", 
  "Zenaga",                   "zen", "zen", 
  "Zhuang",                   "zha", "zha", 
  "Zulu",                     "zul", "zul", 
  "Zuni",                     "zun", "zun,"
}; 

int main(int argc, char *argv[])
{
  unsigned int   langCount,
                 i;
  unsigned short biblioCode,
                 termCode;
                 
  FILE *outFile, *headerFile;   
 
  langCount = sizeof(languages) / sizeof(struct ISO639_2);
  fprintf(stdout, "\nFTA2000 ISO639 Language Parser\n");
  fprintf(stdout, "==============================\n\n\t%d Languages Declared\n\n", langCount);

  fprintf(stdout, "\tOpening Output File\n");
  outFile = fopen("iso639.c", "w");
  if (outFile == NULL)
    {
      fprintf(stderr, "Couldn't open iso639.c\n");
      exit(1);
    }

  fprintf(stdout, "\tOpening Output Header File\n");
  headerFile = fopen("iso639.h", "w");
  if (headerFile == NULL)
    {
      fprintf(stderr, "Couldn't open iso639.h\n");
      exit(1);
    }

  fprintf(stdout, "\tWriting Header Information\n");
  
  fprintf(outFile, "/*\n** FTA2000 ISO639_2 Language Support\n**\n");
  fprintf(outFile, "** Machine generated source file containing %d languages\n**\n", langCount);
  fprintf(outFile, "** Each entry contains the name of the language (in English)\n");
  fprintf(outFile, "** and Base-26 (in decimal!) representations of the\n");
  fprintf(outFile, "** bibliographic and terminology codes. Using numerical\n");
  fprintf(outFile, "** references saves storage space and speeds searching.\n*/\n");

  fprintf(headerFile, "/*\n** FTA2000 ISO639_2 Language Support\n**\n");
  fprintf(headerFile, "** Machine generated source file containing %d languages\n**\n", langCount);
  fprintf(headerFile, "** Each entry contains the name of the language (in English)\n");
  fprintf(headerFile, "** and Base-26 (in decimal!) representations of the\n");
  fprintf(headerFile, "** bibliographic and terminology codes. Using numerical\n");
  fprintf(headerFile, "** references saves storage space and speeds searching.\n*/\n\n");

  fprintf(headerFile, "struct ISO639_2\n{\n  unsigned char *name;\n  unsigned short biblio;\n");
  fprintf(headerFile, "  unsigned short term;\n};\n\n#define LANGUAGE_COUNT %d\n", langCount);
  fprintf(headerFile, "\nextern struct ISO639_2 languages[];\n");

  fprintf(outFile, "\n#include \"iso639.h\"\n\n");
  
  fprintf(outFile, "struct ISO639_2 languages[] =\n{\n");

  fprintf(stdout, "\tWriting Language Information\n");  
  for (i = 0;i<langCount ;i++ )
  {
    biblioCode  = (languages[i].biblio[0] - 'a') * 26 * 26;   
    biblioCode += (languages[i].biblio[1] - 'a') * 26;   
    biblioCode += (languages[i].biblio[2] - 'a');   

    termCode    = (languages[i].term[0] - 'a') * 26 * 26;   
    termCode   += (languages[i].term[1] - 'a') * 26;   
    termCode   += (languages[i].term[2] - 'a');
    
    fprintf(outFile,"  {\"%s\", %d, %d}, /* %s %s */\n", languages[i].name, 
                                                         biblioCode,
                                                         termCode,
                                                         languages[i].biblio, 
                                                         languages[i].term );    
                                   

  }
  fprintf(stdout, "\tLanguage Parsing Complete\n");
  fprintf(outFile, "};\n\n/* The END */\n");
  fprintf(headerFile, "\n/* The END */\n");
  fprintf(stdout, "\tClosing file and exiting, results are in iso639.c and iso639.h\n\n");
  fclose(outFile);  
  fclose(headerFile);  
  return(0);
}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -