From: Bruno Haible Date: Thu, 19 Oct 2006 11:43:15 +0000 (+0000) Subject: Document the most important ISO-639 three-letter language codes. X-Git-Tag: 0.16.x-branchpoint~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ea3a9ba6ae95eb13af6fa1392612f8a2ad3f22a;p=thirdparty%2Fgettext.git Document the most important ISO-639 three-letter language codes. --- diff --git a/gettext-tools/doc/ChangeLog b/gettext-tools/doc/ChangeLog index 0badacf36..00285c20d 100644 --- a/gettext-tools/doc/ChangeLog +++ b/gettext-tools/doc/ChangeLog @@ -1,3 +1,13 @@ +2006-10-17 Bruno Haible + + * 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 * gettextize.texi: Document the --symlink option instead of the --copy diff --git a/gettext-tools/doc/Makefile.am b/gettext-tools/doc/Makefile.am index b5130825e..a60c8fa0d 100644 --- a/gettext-tools/doc/Makefile.am +++ b/gettext-tools/doc/Makefile.am @@ -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 diff --git a/gettext-tools/doc/gettext.texi b/gettext-tools/doc/gettext.texi index feeecb51d..8936946cf 100644 --- a/gettext-tools/doc/gettext.texi +++ b/gettext-tools/doc/gettext.texi @@ -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 diff --git a/gettext-tools/src/ChangeLog b/gettext-tools/src/ChangeLog index a12ef56e4..221cba960 100644 --- a/gettext-tools/src/ChangeLog +++ b/gettext-tools/src/ChangeLog @@ -1,3 +1,9 @@ +2006-10-17 Bruno Haible + + * 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 * read-catalog-abstract.h (input_syntax_ty): Remove type. diff --git a/gettext-tools/src/lang-table.c b/gettext-tools/src/lang-table.c index 18c03f610..9e5961259 100644 --- a/gettext-tools/src/lang-table.c +++ b/gettext-tools/src/lang-table.c @@ -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" }, diff --git a/gettext-tools/src/msginit.c b/gettext-tools/src/msginit.c index 1d44b3374..08d114c61 100644 --- a/gettext-tools/src/msginit.c +++ b/gettext-tools/src/msginit.c @@ -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;