]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Document the most important ISO-639 three-letter language codes.
authorBruno Haible <bruno@clisp.org>
Thu, 19 Oct 2006 11:43:15 +0000 (11:43 +0000)
committerBruno Haible <bruno@clisp.org>
Tue, 23 Jun 2009 10:14:09 +0000 (12:14 +0200)
gettext-tools/doc/ChangeLog
gettext-tools/doc/Makefile.am
gettext-tools/doc/gettext.texi
gettext-tools/src/ChangeLog
gettext-tools/src/lang-table.c
gettext-tools/src/msginit.c

index 0badacf36a50fc3c493c6987bf87fa747bd5055d..00285c20ddea71b32ca611acfdee2427d7dc2636 100644 (file)
@@ -1,3 +1,13 @@
+2006-10-17  Bruno Haible  <bruno@clisp.org>
+
+       * ISO_639-2: New file.
+       * iso-639-2.sed: New file.
+       * Makefile.am (gettext_TEXINFOS): Add iso-639-2.texi.
+       (EXTRA_DIST): Add iso-639-2.sed, ISO_639-2.
+       (iso-639-2.texi): New rule.
+       * gettext.texi (Language codes): Split into two nodes "Usual Language
+       Codes" and "Rare Language Codes". Include iso-639-2.texi.
+
 2006-10-08  Bruno Haible  <bruno@clisp.org>
 
        * gettextize.texi: Document the --symlink option instead of the --copy
index b5130825efdb1b802491975bc1f5e4a7dd58f0d9..a60c8fa0dfc7c9b4f1a2f0d662023cae63739147 100644 (file)
@@ -34,7 +34,7 @@ gettext_TEXINFOS = \
   xgettext.texi msginit.texi msgmerge.texi msgcat.texi msgconv.texi \
   msggrep.texi msgfilter.texi msguniq.texi msgcomm.texi msgcmp.texi \
   msgattrib.texi msgen.texi msgexec.texi msgfmt.texi msgunfmt.texi \
-  gettextize.texi autopoint.texi iso-639.texi iso-3166.texi \
+  gettextize.texi autopoint.texi iso-639.texi iso-639-2.texi iso-3166.texi \
   gpl.texi lgpl.texi fdl.texi \
   $(top_srcdir)/../gettext-runtime/doc/rt-gettext.texi \
   $(top_srcdir)/../gettext-runtime/doc/rt-ngettext.texi \
@@ -46,7 +46,9 @@ doc_DATA = FAQ.html tutorial.html
 EXTRA_DIST += $(doc_DATA)
 
 EXTRA_DIST += \
-  iso-639.sed iso-3166.sed ISO_639 ISO_3166 ISO_3166_de texi2html \
+  iso-639.sed iso-639-2.sed iso-3166.sed \
+  ISO_639 ISO_639-2 ISO_3166 ISO_3166_de \
+  texi2html \
   ChangeLog.0
 
 iso-639.texi: ISO_639 iso-639.sed
@@ -54,6 +56,11 @@ iso-639.texi: ISO_639 iso-639.sed
        rm -f $(srcdir)/iso-639.texi
        mv iso-639.tmp $(srcdir)/iso-639.texi
 
+iso-639-2.texi: ISO_639-2 iso-639-2.sed
+       $(SED) -f $(srcdir)/iso-639-2.sed $(srcdir)/ISO_639-2 > iso-639-2.tmp
+       rm -f $(srcdir)/iso-639-2.texi
+       mv iso-639-2.tmp $(srcdir)/iso-639-2.texi
+
 iso-3166.texi: ISO_3166 iso-3166.sed
        $(SED) -f $(srcdir)/iso-3166.sed $(srcdir)/ISO_3166 > iso-3166.tmp
        rm -f $(srcdir)/iso-3166.texi
index feeecb51ddc30cf7008ea7c4e1b3712866876e83..8936946cf4723b51b21f5d3a73b3b83dde6ab5a8 100644 (file)
@@ -436,6 +436,11 @@ Concluding Remarks
 * History::                     History of GNU @code{gettext}
 * References::                  Related Readings
 
+Language Codes
+
+* Usual Language Codes::        Two-letter ISO 639 language codes
+* Rare Language Codes::         Three-letter ISO 639 language codes
+
 Licenses
 
 * GNU GPL::                     GNU General Public License
@@ -10852,14 +10857,37 @@ together with French translations of many Linux-related documents.
 @cindex language codes
 @cindex ISO 639
 
-The @w{ISO 639} standard defines two character codes for many languages.
+The @w{ISO 639} standard defines two-letter codes for many languages, and
+three-letter codes for more rarely used languages.
 All abbreviations for languages used in the Translation Project should
 come from this standard.
 
+@menu
+* Usual Language Codes::        Two-letter ISO 639 language codes
+* Rare Language Codes::         Three-letter ISO 639 language codes
+@end menu
+
+@node Usual Language Codes, Rare Language Codes, Language Codes, Language Codes
+@appendixsec Usual Language Codes
+
+For the commonly used languages, the @w{ISO 639-1} standard defines two-letter
+codes.
+
 @table @samp
 @include iso-639.texi
 @end table
 
+@node Rare Language Codes,  , Usual Language Codes, Language Codes
+@appendixsec Rare Language Codes
+
+For rarely used languages, the @w{ISO 639-2} standard defines three-letter
+codes.  Here is the current list, reduced to only living languages with at least
+one million of speakers.
+
+@table @samp
+@include iso-639-2.texi
+@end table
+
 @node Country Codes, Licenses, Language Codes, Top
 @appendix Country Codes
 @cindex country codes
index a12ef56e4e87636a26fd5883b52145c77fe2368d..221cba960c003022f27b6afde169ac725908f0c6 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-17  Bruno Haible  <bruno@clisp.org>
+
+       * lang-table.c (language_table): Add the most important languages that
+       have an ISO 639-2 code.
+       * msginit.c (catalogname_for_locale): Likewise.
+
 2006-10-15  Bruno Haible  <bruno@clisp.org>
 
        * read-catalog-abstract.h (input_syntax_ty): Remove type.
index 18c03f610dd243413494543de9162c58a09f72db..9e5961259b62af6415d580d4b0fc106b4a10e1ec 100644 (file)
@@ -28,6 +28,7 @@ struct language_table_entry language_table[] =
   {
     { "aa", "Afar" },
     { "ab", "Abkhazian" },
+    { "ace", "Achinese" },
     { "ad", "Adangme" },
     { "ae", "Avestan" },
     { "af", "Afrikaans" },
@@ -38,20 +39,27 @@ struct language_table_entry language_table[] =
     { "ar", "Arabic" },
     { "as", "Assamese" },
     { "av", "Avaric" },
+    { "awa", "Awadhi" },
     { "ay", "Aymara" },
     { "az", "Azerbaijani" },
     { "ba", "Bashkir" },
+    { "ban", "Balinese" },
     { "be", "Belarusian" },
+    { "bem", "Bemba" },
     { "bg", "Bulgarian" },
     { "bh", "Bihari" },
+    { "bho", "Bhojpuri" },
     { "bi", "Bislama" },
+    { "bin", "Bini" },
     { "bm", "Bambara" },
     { "bn", "Bengali" },
     { "bo", "Tibetan" },
     { "br", "Breton" },
     { "bs", "Bosnian" },
+    { "bug", "Buginese" },
     { "ca", "Catalan" },
     { "ce", "Chechen" },
+    { "ceb", "Cebuano" },
     { "ch", "Chamorro" },
     { "co", "Corsican" },
     { "cr", "Cree" },
@@ -74,19 +82,23 @@ struct language_table_entry language_table[] =
     { "fa", "Persian" },
     { "ff", "Fulah" },
     { "fi", "Finnish" },
+    { "fil", "Filipino" },
     { "fj", "Fijian" },
     { "fo", "Faroese" },
+    { "fon", "Fon" },
     { "fr", "French" },
     { "fy", "Western Frisian" },
     { "ga", "Irish" },
     { "gd", "Scots" },
     { "gl", "Galician" },
     { "gn", "Guarani" },
+    { "gsw", "Swiss German" },
     { "gu", "Gujarati" },
     { "gv", "Manx" },
     { "ha", "Hausa" },
     { "he", "Hebrew" },
     { "hi", "Hindi" },
+    { "hil", "Hiligaynon" },
     { "ho", "Hiri Motu" },
     { "hr", "Croatian" },
     { "ht", "Haitian" },
@@ -99,6 +111,7 @@ struct language_table_entry language_table[] =
     { "ig", "Igbo" },
     { "ii", "Sichuan Yi" },
     { "ik", "Inupiak" },
+    { "ilo", "Iloko" },
     { "is", "Icelandic" },
     { "it", "Italian" },
     { "iu", "Inuktitut" },
@@ -106,7 +119,10 @@ struct language_table_entry language_table[] =
     { "jab", "Hyam" },
     { "jw", "Javanese" },
     { "ka", "Georgian" },
+    { "kab", "Kabyle" },
     { "kaj", "Jju" },
+    { "kam", "Kamba" },
+    { "kbd", "Kabardian" },
     { "kcg", "Tyap" },
     { "kdm", "Kagoma" },
     { "kg", "Kongo" },
@@ -115,9 +131,11 @@ struct language_table_entry language_table[] =
     { "kk", "Kazakh" },
     { "kl", "Kalaallisut" },
     { "km", "Khmer" },
+    { "kmb", "Kimbundu" },
     { "kn", "Kannada" },
     { "ko", "Korean" },
     { "kr", "Kanuri" },
+    { "kru", "Kurukh" },
     { "ks", "Kashmiri" },
     { "ku", "Kurdish" },
     { "kv", "Komi" },
@@ -132,22 +150,33 @@ struct language_table_entry language_table[] =
     { "lo", "Laotian" },
     { "lt", "Lithuanian" },
     { "lu", "Luba-Katanga" },
+    { "lua", "Luba-Lulua" },
+    { "luo", "Luo" },
     { "lv", "Latvian" },
+    { "mad", "Madurese" },
+    { "mag", "Magahi" },
     { "mai", "Maithili" },
+    { "mak", "Makasar" },
+    { "man", "Mandingo" },
+    { "men", "Mende" },
     { "mg", "Malagasy" },
     { "mh", "Marshallese" },
     { "mi", "Maori" },
+    { "min", "Minangkabau" },
     { "mk", "Macedonian" },
     { "ml", "Malayalam" },
     { "mn", "Mongolian" },
     { "mni", "Manipuri" },
     { "mo", "Moldavian" },
+    { "mos", "Mossi" },
     { "mr", "Marathi" },
     { "ms", "Malay" },
     { "mt", "Maltese" },
+    { "mwr", "Marwari" },
     { "my", "Burmese" },
     { "myn", "Mayan" },
     { "na", "Nauru" },
+    { "nap", "Neapolitan" },
     { "nah", "Nahuatl" },
     { "nb", "Norwegian Bokmal" },
     { "nd", "North Ndebele" },
@@ -161,29 +190,39 @@ struct language_table_entry language_table[] =
     { "nso", "Northern Sotho" },
     { "nv", "Navajo" },
     { "ny", "Nyanja" },
+    { "nym", "Nyamwezi" },
+    { "nyn", "Nyankole" },
     { "oc", "Occitan" },
     { "oj", "Ojibwa" },
     { "om", "(Afan) Oromo" },
     { "or", "Oriya" },
     { "os", "Ossetian" },
     { "pa", "Punjabi" },
+    { "pag", "Pangasinan" },
+    { "pam", "Pampanga" },
     { "pbb", "Páez" },
     { "pi", "Pali" },
     { "pl", "Polish" },
     { "ps", "Pashto" },
     { "pt", "Portuguese" },
     { "qu", "Quechua" },
+    { "raj", "Rajasthani" },
     { "rm", "Rhaeto-Roman" },
     { "rn", "Kirundi" },
     { "ro", "Romanian" },
     { "ru", "Russian" },
     { "rw", "Kinyarwanda" },
     { "sa", "Sanskrit" },
+    { "sas", "Sasak" },
+    { "sat", "Santali" },
     { "sc", "Sardinian" },
+    { "scn", "Sicilian" },
     { "sd", "Sindhi" },
     { "se", "Northern Sami" },
     { "sg", "Sango" },
+    { "shn", "Shan" },
     { "si", "Sinhala" },
+    { "sid", "Sidamo" },
     { "sk", "Slovak" },
     { "sl", "Slovenian" },
     { "sm", "Samoan" },
@@ -191,17 +230,22 @@ struct language_table_entry language_table[] =
     { "so", "Somali" },
     { "sq", "Albanian" },
     { "sr", "Serbian" },
+    { "srr", "Serer" },
     { "ss", "Siswati" },
     { "st", "Sesotho" },
     { "su", "Sundanese" },
+    { "suk", "Sukuma" },
+    { "sus", "Susu" },
     { "sv", "Swedish" },
     { "sw", "Swahili" },
     { "ta", "Tamil" },
     { "te", "Telugu" },
+    { "tem", "Timne" },
     { "tet", "Tetum" },
     { "tg", "Tajik" },
     { "th", "Thai" },
     { "ti", "Tigrinya" },
+    { "tiv", "Tiv" },
     { "tk", "Turkmen" },
     { "tl", "Tagalog" },
     { "tn", "Setswana" },
@@ -209,18 +253,23 @@ struct language_table_entry language_table[] =
     { "tr", "Turkish" },
     { "ts", "Tsonga" },
     { "tt", "Tatar" },
+    { "tum", "Tumbuka" },
     { "tw", "Twi" },
     { "ty", "Tahitian" },
     { "ug", "Uighur" },
     { "uk", "Ukrainian" },
+    { "umb", "Umbundu" },
     { "ur", "Urdu" },
     { "uz", "Uzbek" },
     { "ve", "Venda" },
     { "vi", "Vietnamese" },
     { "vo", "Volapuk" },
+    { "wal", "Walamo" },
+    { "war", "Waray" },
     { "wen", "Sorbian" },
     { "wo", "Wolof" },
     { "xh", "Xhosa" },
+    { "yao", "Yao" },
     { "yi", "Yiddish" },
     { "yo", "Yoruba" },
     { "za", "Zhuang" },
index 1d44b3374571a50d00ca859251bfdb3922ad275f..08d114c6173023137d1363f726565744472419d5 100644 (file)
@@ -487,6 +487,7 @@ catalogname_for_locale (const char *locale)
 {
   static const char *locales_with_principal_territory[] = {
                /* Language     Main territory */
+    "ace_ID",  /* Achinese     Indonesia */
     "af_ZA",   /* Afrikaans    South Africa */
     "ak_GH",   /* Akan         Ghana */
     "am_ET",   /* Amharic      Ethiopia */
@@ -494,16 +495,23 @@ catalogname_for_locale (const char *locale)
     "ang_GB",  /* Old English  Britain */
     "as_IN",   /* Assamese     India */
     "av_RU",   /* Avaric       Russia */
+    "awa_IN",  /* Awadhi       India */
     "az_AZ",   /* Azerbaijani  Azerbaijan */
+    "ban_ID",  /* Balinese     Indonesia */
     "be_BY",   /* Belarusian   Belarus */
+    "bem_ZM",  /* Bemba        Zambia */
     "bg_BG",   /* Bulgarian    Bulgaria */
+    "bho_IN",  /* Bhojpuri     India */
+    "bin_NG",  /* Bini         Nigeria */
     "bm_ML",   /* Bambara      Mali */
     "bn_IN",   /* Bengali      India */
     "bo_CN",   /* Tibetan      China */
     "br_FR",   /* Breton       France */
     "bs_BA",   /* Bosnian      Bosnia */
+    "bug_ID",  /* Buginese     Indonesia */
     "ca_ES",   /* Catalan      Spain */
     "ce_RU",   /* Chechen      Russia */
+    "ceb_PH",  /* Cebuano      Philippines */
     "co_FR",   /* Corsican     France */
     "cr_CA",   /* Cree         Canada */
     "cs_CZ",   /* Czech        Czech Republic */
@@ -521,15 +529,19 @@ catalogname_for_locale (const char *locale)
     "et_EE",   /* Estonian     Estonia */
     "fa_IR",   /* Persian      Iran */
     "fi_FI",   /* Finnish      Finland */
+    "fil_PH",  /* Filipino     Philippines */
     "fj_FJ",   /* Fijian       Fiji */
     "fo_FO",   /* Faroese      Faeroe Islands */
+    "fon_BJ",  /* Fon          Benin */
     "fr_FR",   /* French       France */
     "fy_NL",   /* Western Frisian      Netherlands */
     "ga_IE",   /* Irish        Ireland */
     "gd_GB",   /* Scots        Britain */
+    "gsw_CH",  /* Swiss German Switzerland */
     "gu_IN",   /* Gujarati     India */
     "he_IL",   /* Hebrew       Israel */
     "hi_IN",   /* Hindi        India */
+    "hil_PH",  /* Hiligaynon   Philippines */
     "hr_HR",   /* Croatian     Croatia */
     "ht_HT",   /* Haitian      Haiti */
     "hu_HU",   /* Hungarian    Hungary */
@@ -537,13 +549,17 @@ catalogname_for_locale (const char *locale)
     "id_ID",   /* Indonesian   Indonesia */
     "ig_NG",   /* Igbo         Nigeria */
     "ii_CN",   /* Sichuan Yi   China */
+    "ilo_PH",  /* Iloko        Philippines */
     "is_IS",   /* Icelandic    Iceland */
     "it_IT",   /* Italian      Italy */
     "ja_JP",   /* Japanese     Japan */
     "jab_NG",  /* Hyam         Nigeria */
     "jv_ID",   /* Javanese     Indonesia */
     "ka_GE",   /* Georgian     Georgia */
+    "kab_DZ",  /* Kabyle       Algeria */
     "kaj_NG",  /* Jju          Nigeria */
+    "kam_KE",  /* Kamba        Kenya */
+    "kmb_AO",  /* Kimbundu     Angola */
     "kcg_NG",  /* Tyap         Nigeria */
     "kdm_NG",  /* Kagoma       Nigeria */
     "kg_CD",   /* Kongo        Democratic Republic of Congo */
@@ -554,24 +570,36 @@ catalogname_for_locale (const char *locale)
     "ko_KR",   /* Korean       Korea (South) */
     "kok_IN",  /* Konkani      India */
     "kr_NG",   /* Kanuri       Nigeria */
+    "kru_IN",  /* Kurukh       India */
     "lg_UG",   /* Ganda        Uganda */
     "li_BE",   /* Limburgish   Belgium */
     "lo_LA",   /* Laotian      Laos */
     "lt_LT",   /* Lithuanian   Lithuania */
     "lu_CD",   /* Luba-Katanga Democratic Republic of Congo */
+    "lua_CD",  /* Luba-Lulua   Democratic Republic of Congo */
+    "luo_KE",  /* Luo          Kenya */
     "lv_LV",   /* Latvian      Latvia */
+    "mad_ID",  /* Madurese     Indonesia */
+    "mag_IN",  /* Magahi       India */
     "mai_IN",  /* Maithili     India */
+    "mak_ID",  /* Makasar      Indonesia */
+    "man_ML",  /* Mandingo     Mali */
+    "men_SL",  /* Mende        Sierra Leone */
     "mg_MG",   /* Malagasy     Madagascar */
+    "min_ID",  /* Minangkabau  Indonesia */
     "mk_MK",   /* Macedonian   Macedonia */
     "ml_IN",   /* Malayalam    India */
     "mn_MN",   /* Mongolian    Mongolia */
     "mni_IN",  /* Manipuri     India */
+    "mos_BF",  /* Mossi        Burkina Faso */
     "mr_IN",   /* Marathi      India */
     "ms_MY",   /* Malay        Malaysia */
     "mt_MT",   /* Maltese      Malta */
+    "mwr_IN",  /* Marwari      India */
     "my_MM",   /* Burmese      Myanmar */
     "na_NR",   /* Nauru        Nauru */
     "nah_MX",  /* Nahuatl      Mexico */
+    "nap_IT",  /* Neapolitan   Italy */
     "nb_NO",   /* Norwegian Bokmål    Norway */
     "nds_DE",  /* Low Saxon    Germany */
     "ne_NP",   /* Nepali       Nepal */
@@ -580,44 +608,64 @@ catalogname_for_locale (const char *locale)
     "no_NO",   /* Norwegian    Norway */
     "nr_ZA",   /* South Ndebele        South Africa */
     "nso_ZA",  /* Northern Sotho       South Africa */
+    "nym_TZ",  /* Nyamwezi     Tanzania */
+    "nyn_UG",  /* Nyankole     Uganda */
     "oc_FR",   /* Occitan      France */
     "oj_CA",   /* Ojibwa       Canada */
     "or_IN",   /* Oriya        India */
     "pa_IN",   /* Punjabi      India */
+    "pag_PH",  /* Pangasinan   Philippines */
+    "pam_PH",  /* Pampanga     Philippines */
     "pbb_CO",  /* Páez                Colombia */
     "pl_PL",   /* Polish       Poland */
     "ps_AF",   /* Pashto       Afghanistan */
     "pt_PT",   /* Portuguese   Portugal */
+    "raj_IN",  /* Rajasthani   India */
     "rm_CH",   /* Rhaeto-Roman Switzerland */
     "rn_BI",   /* Kirundi      Burundi */
     "ro_RO",   /* Romanian     Romania */
     "ru_RU",   /* Russian      Russia */
     "sa_IN",   /* Sanskrit     India */
+    "sas_ID",  /* Sasak        Indonesia */
+    "sat_IN",  /* Santali      India */
     "sc_IT",   /* Sardinian    Italy */
+    "scn_IT",  /* Sicilian     Italy */
     "sg_CF",   /* Sango        Central African Republic */
+    "shn_MM",  /* Shan         Myanmar */
     "si_LK",   /* Sinhala      Sri Lanka */
+    "sid_ET",  /* Sidamo       Ethiopia */
     "sk_SK",   /* Slovak       Slovakia */
     "sl_SI",   /* Slovenian    Slovenia */
     "so_SO",   /* Somali       Somalia */
     "sq_AL",   /* Albanian     Albania */
     "sr_RS",   /* Serbian      Serbia */
     "sr_YU",   /* Serbian      Yugoslavia */
+    "srr_SN",  /* Serer        Senegal */
+    "suk_TZ",  /* Sukuma       Tanzania */
+    "sus_GN",  /* Susu         Guinea */
     "sv_SE",   /* Swedish      Sweden */
     "te_IN",   /* Telugu       India */
+    "tem_SL",  /* Timne        Sierra Leone */
     "tet_ID",  /* Tetum        Indonesia */
     "tg_TJ",   /* Tajik        Tajikistan */
     "th_TH",   /* Thai         Thailand */
+    "tiv_NG",  /* Tiv          Nigeria */
     "tk_TM",   /* Turkmen      Turkmenistan */
     "tl_PH",   /* Tagalog      Philippines */
     "to_TO",   /* Tonga        Tonga */
     "tr_TR",   /* Turkish      Turkey */
+    "tum_MW",  /* Tumbuka      Malawi */
     "uk_UA",   /* Ukrainian    Ukraine */
+    "umb_AO",  /* Umbundu      Angola */
     "ur_PK",   /* Urdu         Pakistan */
     "uz_UZ",   /* Uzbek        Uzbekistan */
     "ve_ZA",   /* Venda        South Africa */
     "vi_VN",   /* Vietnamese   Vietnam */
     "wa_BE",   /* Walloon      Belgium */
+    "wal_ET",  /* Walamo       Ethiopia */
+    "war_PH",  /* Waray        Philippines */
     "wen_DE",  /* Sorbian      Germany */
+    "yao_MW",  /* Yao          Malawi */
     "zap_MX"   /* Zapotec      Mexico */
   };
   const char *dot;