com.neovisionaries.i18n.LanguageAlpha3Code Maven / Gradle / Ivy
/*
* Copyright (C) 2012-2015 Neo Visionaries Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.neovisionaries.i18n;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
/**
* ISO 639-2
* language code (3-letter lowercase code).
*
*
* Most languages have just one ISO 639-2 code, but there are some languages
* that have 2 codes, ISO 639-2/T code ("terminological" code) and ISO 639-2/B
* code ("bibliographic" code). The table below lists up langueses having two
* ISO 639-2 codes.
*
*
*
*
* ISO 639-1
* ISO 639-2/T
* ISO 639-2/B
* Language
*
*
* {@link LanguageCode#bo bo}
* {@link LanguageAlpha3Code#bod bod}
* {@link LanguageAlpha3Code#tib tib}
* Tibetan
*
*
* {@link LanguageCode#eu eu}
* {@link LanguageAlpha3Code#eus eus}
* {@link LanguageAlpha3Code#baq baq}
* Basque
*
*
* {@link LanguageCode#cs cs}
* {@link LanguageAlpha3Code#ces ces}
* {@link LanguageAlpha3Code#cze cze}
* Czech
*
*
* {@link LanguageCode#cy cy}
* {@link LanguageAlpha3Code#cym cym}
* {@link LanguageAlpha3Code#wel wel}
* Welsh
*
*
* {@link LanguageCode#de de}
* {@link LanguageAlpha3Code#deu deu}
* {@link LanguageAlpha3Code#ger ger}
* German
*
*
* {@link LanguageCode#el el}
* {@link LanguageAlpha3Code#ell ell}
* {@link LanguageAlpha3Code#gre gre}
* Greek
*
*
* {@link LanguageCode#fa fa}
* {@link LanguageAlpha3Code#fas fas}
* {@link LanguageAlpha3Code#per per}
* Persian
*
*
* {@link LanguageCode#fr fr}
* {@link LanguageAlpha3Code#fra fra}
* {@link LanguageAlpha3Code#fre fre}
* French
*
*
* {@link LanguageCode#hy hy}
* {@link LanguageAlpha3Code#hye hye}
* {@link LanguageAlpha3Code#arm arm}
* Armenian
*
*
* {@link LanguageCode#is is}
* {@link LanguageAlpha3Code#isl isl}
* {@link LanguageAlpha3Code#ice ice}
* Icelandic
*
*
* {@link LanguageCode#ka ka}
* {@link LanguageAlpha3Code#kat kat}
* {@link LanguageAlpha3Code#geo geo}
* Georgian
*
*
* {@link LanguageCode#mi mi}
* {@link LanguageAlpha3Code#mri mri}
* {@link LanguageAlpha3Code#mao mao}
* Māori
*
*
*
* {@link LanguageCode#mk mk}
* {@link LanguageAlpha3Code#mkd mkd}
* {@link LanguageAlpha3Code#mac mac}
* Macedonian
*
*
*
* {@link LanguageCode#ms ms}
* {@link LanguageAlpha3Code#msa msa}
* {@link LanguageAlpha3Code#may may}
* Malay
*
*
* {@link LanguageCode#my my}
* {@link LanguageAlpha3Code#mya mya}
* {@link LanguageAlpha3Code#bur bur}
* Burmese
*
*
* {@link LanguageCode#nl nl}
* {@link LanguageAlpha3Code#nld nld}
* {@link LanguageAlpha3Code#dut dut}
* Dutch
*
*
* {@link LanguageCode#ro ro}
* {@link LanguageAlpha3Code#ron ron}
* {@link LanguageAlpha3Code#rum rum}
* Romanian
*
*
* {@link LanguageCode#sk sk}
* {@link LanguageAlpha3Code#slk slk}
* {@link LanguageAlpha3Code#slo slo}
* Slovak
*
*
* {@link LanguageCode#sq sq}
* {@link LanguageAlpha3Code#sqi sqi}
* {@link LanguageAlpha3Code#alb alb}
* Albanian
*
*
*
*
* ISO 639-2 code for Newari is {@code new}, but in this enum, the corresponding entry
* is not {@code new} but {@link #New} (the first letter is capital),
* because {@code new} is a special word for Java programming language.
*
*
* @since 1.1
* @author Takahiko Kawasaki
*/
public enum LanguageAlpha3Code
{
/**
* Undefined.
*
*
* This is not an official ISO 639-2 code.
*
*
* @since 1.14
* @see #und und: Undetermined
* @see #zxx zxx: No linguistic content
*/
undefined("Undefined")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.undefined;
}
},
/**
* Afar
* ({@link LanguageCode#aa aa}).
*/
aar("Afar")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.aa;
}
},
/**
* Austro-Asiatic languages
*
* @since 1.10
*/
aav("Austro-Asiatic languages"),
/**
* Abkhaz
* ({@link LanguageCode#ab ab}).
*/
abk("Abkhaz")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ab;
}
},
/**
* Achinese
*
* @since 1.10
*/
ace("Achinese"),
/**
* Acoli
*
* @since 1.10
*/
ach("Acoli"),
/**
* Adangme
*
* @since 1.10
*/
ada("Adangme"),
/**
* Adyghe
*
* @since 1.10
*/
ady("Adyghe"),
/**
* Afro-Asiatic languages
*
* @since 1.10
*/
afa("Afro-Asiatic languages"),
/**
* Afrihili
*
* @since 1.10
*/
afh("Afrihili"),
/**
* Afrikaans
* ({@link LanguageCode#af af}).
*/
afr("Afrikaans")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.af;
}
},
/**
* Ainu (Japan)
*
* @since 1.10
*/
ain("Ainu (Japan)"),
/**
* Akan
* ({@link LanguageCode#ak ak}).
*/
aka("Akan")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ak;
}
},
/**
* Akkadian
*
* @since 1.10
*/
akk("Akkadian"),
/**
* Albanian
* ({@link LanguageCode#sq sq}) for bibliographic applications.
*
* @see #sqi
*/
alb("Albanian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sq;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return sqi;
}
},
/**
* Aleut
*
* @since 1.10
*/
ale("Aleut"),
/**
* Algonquian languages
*
* @since 1.10
*/
alg("Algonquian languages"),
/**
* Southern Altai
*
* @since 1.10
*/
alt("Southern Altai"),
/**
* Atlantic-Congo languages
*
* @since 1.10
*/
alv("Atlantic-Congo languages"),
/**
* Amharic
* ({@link LanguageCode#am am}).
*/
amh("Amharic")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.am;
}
},
/**
* Old English (ca. 450-1100)
*
* @since 1.10
*/
ang("Old English"),
/**
* Angika
*
* @since 1.10
*/
anp("Angika"),
/**
* Apache languages
*
* @since 1.10
*/
apa("Apache languages"),
/**
* Alacalufan languages
*
* @since 1.10
*/
aqa("Alacalufan languages"),
/**
* Algic languages
*
* @since 1.10
*/
aql("Algic languages"),
/**
* Arabic
* ({@link LanguageCode#ar ar}).
*/
ara("Arabic")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ar;
}
},
/**
* Official Aramaic (700-300 BCE)
*
* @since 1.10
*/
arc("Official Aramaic"),
/**
* Aragonese
* ({@link LanguageCode#an an}).
*/
arg("Aragonese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.an;
}
},
/**
* Armenian
* ({@link LanguageCode#hy hy}) for bibliographic applications.
*
* @see #hye
*/
arm("Armenian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.hy;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return hye;
}
},
/**
* Mapudungun
*
* @since 1.10
*/
arn("Mapudungun"),
/**
* Arapaho
*
* @since 1.10
*/
arp("Arapaho"),
/**
* Artificial languages
*
* @since 1.10
*/
art("Artificial languages"),
/**
* Arawak
*
* @since 1.10
*/
arw("Arawak"),
/**
* Assamese
* ({@link LanguageCode#as as}).
*/
asm("Assamese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.as;
}
},
/**
* Asturian
*
* @since 1.10
*/
ast("Asturian"),
/**
* Athapascan languages
*
* @since 1.10
*/
ath("Athapascan languages"),
/**
* Arauan languages
*
* @since 1.10
*/
auf("Arauan languages"),
/**
* Australian languages
*
* @since 1.10
*/
aus("Australian languages"),
/**
* Avaric
* ({@link LanguageCode#av av}).
*/
ava("Avaric")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.av;
}
},
/**
* Avestan
* ({@link LanguageCode#ae ae}).
*/
ave("Avestan")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ae;
}
},
/**
* Awadhi
*
* @since 1.10
*/
awa("Awadhi"),
/**
* Arawakan languages
*
* @since 1.10
*/
awd("Arawakan languages"),
/**
* Aymara
* ({@link LanguageCode#ay ay}).
*/
aym("Aymara")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ay;
}
},
/**
* Uto-Aztecan languages
*
* @since 1.10
*/
azc("Uto-Aztecan languages"),
/**
* Azerbaijani
* ({@link LanguageCode#az az}).
*/
aze("Azerbaijani")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.az;
}
},
/**
* Banda languages
*
* @since 1.10
*/
bad("Banda languages"),
/**
* Bamileke languages
*
* @since 1.10
*/
bai("Bamileke languages"),
/**
* Bashkir
* ({@link LanguageCode#ba ba}).
*/
bak("Bashkir")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ba;
}
},
/**
* Baluchi
*/
bal("Baluchi"),
/**
* Bambara
* ({@link LanguageCode#bm bm}).
*/
bam("Bambara")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.bm;
}
},
/**
* Balinese
*
* @since 1.10
*/
ban("Balinese"),
/**
* Basque
* ({@link LanguageCode#eu eu}) for bibliographic applications.
*
* @see #eus
*/
baq("Basque")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.eu;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return eus;
}
},
/**
* Basa (Cameroon)
*
* @since 1.10
*/
bas("Basa (Cameroon)"),
/**
* Baltic languages
*
* @since 1.10
*/
bat("Baltic languages"),
/**
* Beja
*
* @since 1.10
*/
bej("Beja"),
/**
* Belarusian
* ({@link LanguageCode#be be}).
*/
bel("Belarusian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.be;
}
},
/**
* Bemba (Zambia)
*
* @since 1.10
*/
bem("Bemba (Zambia)"),
/**
* Bengali
* ({@link LanguageCode#bn bn}).
*/
ben("Bengali")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.bn;
}
},
/**
* Berber languages
*
* @since 1.10
*/
ber("Berber languages"),
/**
* Bhojpuri
*
* @since 1.10
*/
bho("Bhojpuri"),
/**
* Bihari
* ({@link LanguageCode#bh bh}).
*/
bih("Bihari languages")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.bh;
}
},
/**
* Bikol
*
* @since 1.10
*/
bik("Bikol"),
/**
* Bini
*
* @since 1.10
*/
bin("Bini"),
/**
* Bislama
* ({@link LanguageCode#bi bi}).
*/
bis("Bislama")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.bi;
}
},
/**
* Siksika
*
* @since 1.10
*/
bla("Siksika"),
/**
* Bantu languages
*
* @since 1.10
*/
bnt("Bantu languages"),
/**
* Tibetan
* ({@link LanguageCode#bo bo}) for terminology applications.
*
* @see #tib
*/
bod("Tibetan")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.bo;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return tib;
}
},
/**
* Bosnian
* ({@link LanguageCode#bs bs}).
*/
bos("Bosnian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.bs;
}
},
/**
* Braj
*
* @since 1.10
*/
bra("Braj"),
/**
* Breton
* ({@link LanguageCode#br br}).
*/
bre("Breton")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.br;
}
},
/**
* Batak languages
*
* @since 1.10
*/
btk("Batak languages"),
/**
* Buriat
*
* @since 1.10
*/
bua("Buriat"),
/**
* Buginese
*
* @since 1.10
*/
bug("Buginese"),
/**
* Bulgarian
* ({@link LanguageCode#bg bg}).
*/
bul("Bulgarian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.bg;
}
},
/**
* Burmese
* ({@link LanguageCode#my my}) for bibliographic applications.
*
* @see #mya
*/
bur("Burmese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.my;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return mya;
}
},
/**
* Bilin
*
* @since 1.10
*/
byn("Bilin"),
/**
* Caddo
*
* @since 1.10
*/
cad("Caddo"),
/**
* Central American Indian languages
*
* @since 1.10
*/
cai("Central American Indian languages"),
/**
* Galibi Carib
*
* @since 1.10
*/
car("Galibi Carib"),
/**
* Catalan
* ({@link LanguageCode#ca ca}).
*/
cat("Catalan")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ca;
}
},
/**
* Caucasian languages
*
* @since 1.10
*/
cau("Caucasian languages"),
/**
* Chibchan languages
*
* @since 1.10
*/
cba("Chibchan languages"),
/**
* North Caucasian languages
*
* @since 1.10
*/
ccn("North Caucasian languages"),
/**
* South Caucasian languages
*
* @since 1.10
*/
ccs("South Caucasian languages"),
/**
* Chadic languages
*
* @since 1.10
*/
cdc("Chadic languages"),
/**
* Caddoan languages
*
* @since 1.10
*/
cdd("Caddoan languages"),
/**
* Cebuano
*
* @since 1.10
*/
ceb("Cebuano"),
/**
* Celtic languages
*
* @since 1.10
*/
cel("Celtic languages"),
/**
* Czech
* ({@link LanguageCode#cs cs}) for terminology applications.
*
* @see #cze
*/
ces("Czech")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.cs;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return cze;
}
},
/**
* Chamorro
* ({@link LanguageCode#ch ch}).
*/
cha("Chamorro")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ch;
}
},
/**
* Chibcha
*
* @since 1.10
*/
chb("Chibcha"),
/**
* Chechen
* ({@link LanguageCode#ce ce}).
*/
che("Chechen")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ce;
}
},
/**
* Chagatai
*
* @since 1.10
*/
chg("Chagatai"),
/**
* Chinese
* ({@link LanguageCode#zh zh}) for bibliographic applications.
*
* @see #zho
*/
chi("Chinese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.zh;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return zho;
}
},
/**
* Chuukese
*
* @since 1.10
*/
chk("Chuukese"),
/**
* Mari (Russia)
*
* @since 1.10
*/
chm("Mari (Russia)"),
/**
* Chinook jargon
*
* @since 1.10
*/
chn("Chinook jargon"),
/**
* Choctaw
*
* @since 1.10
*/
cho("Choctaw"),
/**
* Chipewyan
*
* @since 1.10
*/
chp("Chipewyan"),
/**
* Cherokee
*
* @since 1.10
*/
chr("Cherokee"),
/**
* Church
* Slavonic
* ({@link LanguageCode#cu cu}).
*/
chu("Church Slavic")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.cu;
}
},
/**
* Chuvash
* ({@link LanguageCode#cv cv}).
*/
chv("Chuvash")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.cv;
}
},
/**
* Cheyenne
*
* @since 1.10
*/
chy("Cheyenne"),
/**
* Chamic languages
*
* @since 1.10
*/
cmc("Chamic languages"),
/**
* Coptic
*
* @since 1.1.0
*/
cop("Coptic"),
/**
* Cornish
* ({@link LanguageCode#kw kw}).
*/
cor("Comish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.kw;
}
},
/**
* Corsican
* ({@link LanguageCode#co co}).
*/
cos("Corsican")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.co;
}
},
/**
* English based Creoles and
* pidgins
*
* @since 1.10
*/
cpe("English based Creoles and pidgins"),
/**
* French-Based Creoles and
* pidgins
*
* @since 1.10
*/
cpf("French-Based Creoles and pidgins"),
/**
* Portuguese-Based Creoles and
* pidgins
*
* @since 1.10
*/
cpp("Portuguese-Based Creoles and pidgins"),
/**
* Cree
* ({@link LanguageCode#cr cr}).
*/
cre("Cree")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.cr;
}
},
/**
* Crimean Tatar
*
* @since 1.10
*/
crh("Crimean Tatar"),
/**
* Creoles and
* pidgins
*
* @since 1.10
*/
crp("Creoles and pidgins"),
/**
* Kashubian
*
* @since 1.10
*/
csb("Kashubian"),
/**
* Central Sudanic languages
*
* @since 1.10
*/
csu("Central Sudanic languages"),
/**
* Cushitic languages
*
* @since 1.10
*/
cus("Cushitic languages"),
/**
* Welsh
* ({@link LanguageCode#cy cy}) for terminology applications.
*
* @see #wel
*/
cym("Welsh")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.cy;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return wel;
}
},
/**
* Czech
* ({@link LanguageCode#cs cs}) for bibliographic applications.
*
* @see #ces
*/
cze("Czech")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.cs;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return ces;
}
},
/**
* Dakota
*
* @since 1.10
*/
dak("Dakota"),
/**
* Danish
* {@link LanguageCode#da da}).
*/
dan("Danish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.da;
}
},
/**
* Dargwa
*
* @since 1.10
*/
dar("Dargwa"),
/**
* Land Dayak languages
*
* @since 1.10
*/
day("Land Dayak languages"),
/**
* Delaware
*
* @since 1.10
*/
del("Delaware"),
/**
* Slave (Athapascan)
*
* @since 1.10
*/
den("Slave (Athapascan)"),
/**
* German
* ({@link LanguageCode#de de}) for terminology applications.
*
* @see #ger
*/
deu("German")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.de;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return ger;
}
},
/**
* Dogrib
*
* @since 1.10
*/
dgr("Dogrib"),
/**
* Dinka
*
* @since 1.10
*/
din("Dinka"),
/**
* Dhivehi
* ({@link LanguageCode#dv dv}).
*/
div("Dhivehi")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.dv;
}
},
/**
* Mande languages
*
* @since 1.10
*/
dmn("Mande languages"),
/**
* Dogri (macrolanguage)
*
* @since 1.10
*/
doi("Dogri"),
/**
* Dravidian languages
*
* @since 1.10
*/
dra("Dravidian languages"),
/**
* Lower Sorbian
*
* @since 1.10
*/
dsb("Lower Sorbian"),
/**
* Duala
*
* @since 1.10
*/
dua("Duala"),
/**
* Middle Dutch (ca. 1050-1350)
*
* @since 1.10
*/
dum("Middle Dutch"),
/**
* Dutch
* ({@link LanguageCode#nl nl}) for bibliography applications.
*
* @see #nld
*/
dut("Dutch")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.nl;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return nld;
}
},
/**
* Dyula
*
* @since 1.10
*/
dyu("Dyula"),
/**
* Dzongkha
* ({@link LanguageCode#dz dz}).
*/
dzo("Dzongkha")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.dz;
}
},
/**
* Efik
*
* @since 1.10
*/
efi("Efik"),
/**
* Egyptian languages
*
* @since 1.10
*/
egx("Egyptian languages"),
/**
* Egyptian (Ancient)
*
* @since 1.10
*/
egy("Egyptian (Ancient)"),
/**
* Ekajuk
*
* @since 1.10
*/
eka("Ekajuk"),
/**
* Modern Greek (1453-)
* ({@link LanguageCode#el el}) for terminology applications.
*
* @see #gre Modern Greek (gre)
* @see #grc Acient Greek (grc)
*/
ell("Modern Greek")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.el;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return gre;
}
},
/**
* Elamite
*
* @since 1.10
*/
elx("Elamite"),
/**
* English
* ({@link LanguageCode#en en}).
*/
eng("English")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.en;
}
},
/**
* Middle English (1100-1500)
*/
enm("Middle English"),
/**
* Esperanto
* ({@link LanguageCode#eo eo}).
*/
epo("Esperanto")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.eo;
}
},
/**
* Estonian
* ({@link LanguageCode#et et}).
*/
est("Estonian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.et;
}
},
/**
* Eskimo-Aleut languages
*
* @since 1.10
*/
esx("Eskimo-Aleut languages"),
/**
* Basque (family)
*
* @since 1.10
*/
euq("Basque"),
/**
* Basque (family)
* ({@link LanguageCode#eu eu}) for terminology applications.
*
* @see #baq
*/
eus("Basque (family)")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.eu;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return baq;
}
},
/**
* Ewe
* ({@link LanguageCode#ee ee}).
*/
ewe("Ewe")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ee;
}
},
/**
* Ewondo
*
* @since 1.10
*/
ewo("Ewondo"),
/**
* Fang (Equatorial Guinea)
*
* @since 1.10
*/
fan("Fang (Equatorial Guinea)"),
/**
* Faroese
* ({@link LanguageCode#fo fo}).
*/
fao("Faroese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.fo;
}
},
/**
* Persian
* ({@link LanguageCode#fa fa}) for terminology applications.
*
* @see #per
*/
fas("Persian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.fa;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return per;
}
},
/**
* Fanti
*
* @since 1.10
*/
fat("Fanti"),
/**
* Fijian
* ({@link LanguageCode#fj fj}).
*/
fij("Fijian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.fj;
}
},
/**
* Filipino
*
* @since 1.10
*/
fil("Filipino"),
/**
* Finnish
* ({@link LanguageCode#fi fi}).
*/
fin("Finnish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.fi;
}
},
/**
* Finno-Ugrian languages
*
* @since 1.10
*/
fiu("Finno-Ugrian languages"),
/**
* Fon
*
* @since 1.10
*/
fon("Fon"),
/**
* Formosan languages
*
* @since 1.10
*/
fox("Formosan languages"),
/**
* French
* ({@link LanguageCode#fr fr}) for terminology applications.
*
* @see #fre
*/
fra("French")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.fr;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return fre;
}
},
/**
* French
* ({@link LanguageCode#fr fr}) for bibliographic applications.
*
* @see #fra
*/
fre("French")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.fr;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return fra;
}
},
/**
* Middle French (ca. 1400-1600)
*
* @since 1.10
*/
frm("Middle French"),
/**
* Old French (842-ca. 1400)
*
* @since 1.10
*/
fro("Old French"),
/**
* Northern Frisian
*
* @since 1.10
*/
frr("Northern Frisian"),
/**
* Eastern Frisian
*
* @since 1.10
*/
frs("Eastern Frisian"),
/**
* West
* Frisian
* ({@link LanguageCode#fy fy}).
*/
fry("West Frisian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.fy;
}
},
/**
* Fula
* ({@link LanguageCode#ff ff}).
*/
ful("Fula")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ff;
}
},
/**
* Friulian
*
* @since 1.10
*/
fur("Friulian"),
/**
* Ga
*
* @since 1.10
*/
gaa("Ga"),
/**
* Gayo
*
* @since 1.10
*/
gay("Gayo"),
/**
* Gbaya (Central African Republic)
*
* @since 1.10
*/
gba("Gbaya (Central African Republic)"),
/**
* Germanic languages
*
* @since 1.10
*/
gem("Germanic languages"),
/**
* Georgian
* ({@link LanguageCode#ka ka}) for bibliographic applications.
*
* @see #kat
*/
geo("Georgian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ka;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return kat;
}
},
/**
* German
* ({@link LanguageCode#de de}) for bibliographic applications.
*
* @see #deu
*/
ger("German")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.de;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return deu;
}
},
/**
* Geez
*
* @since 1.10
*/
gez("Geez"),
/**
* Gilbertese
*
* @since 1.10
*/
gil("Gilbertese"),
/**
* Scottish
* Gaelic
* ({@link LanguageCode#gd gd}).
*/
gla("Scottish Gaelic")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.gd;
}
},
/**
* Irish
* ({@link LanguageCode#ga ga}).
*/
gle("Irish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ga;
}
},
/**
* Galician
* ({@link LanguageCode#gl gl}).
*/
glg("Galician")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.gl;
}
},
/**
* Manx
* ({@link LanguageCode#gv gv}).
*/
glv("Manx")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.gv;
}
},
/**
* East Germanic languages
*
* @since 1.10
*/
gme("East Germanic languages"),
/**
* Middle High German (ca. 1050-1500)
*
* @since 1.10
*/
gmh("Middle High German"),
/**
* North Germanic languages
*
* @since 1.10
*/
gmq("North Germanic languages"),
/**
* West Germanic languages
*
* @since 1.10
*/
gmw("West Germanic languages"),
/**
* Old High German (ca. 750-1050)
*
* @since 1.10
*/
goh("Old High German"),
/**
* Gondi
*
* @since 1.10
*/
gon("Gondi"),
/**
* Gorontalo
*
* @since 1.10
*/
gor("Gorontalo"),
/**
* Gothic
*
* @since 1.10
*/
got("Gothic"),
/**
* Grebo
*
* @since 1.10
*/
grb("Grebo"),
/**
* Ancient Greek (to 1453)
*
* @see #ell Modern Greek (ell)
* @since 1.10
*/
grc("Ancient Greek"),
/**
* Modern Greek (1453-)
* ({@link LanguageCode#el el}) for bibliographic applications.
*
* @see #ell Modern Greek (ell)
* @see #grc Acient Greek (grc)
*/
gre("Modern Greek")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.el;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return ell;
}
},
/**
* Greek languages
*
* @since 1.10
*/
grk("Greek languages"),
/**
* Guaraní
* ;
* ({@link LanguageCode#gn gn}).
*/
grn("Guaran\u00ED")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.gn;
}
},
/**
* Swiss German
*
* @since 1.10
*/
gsw("Swiss German"),
/**
* Gujarati
* ({@link LanguageCode#gu gu}).
*/
guj("Gujarati")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.gu;
}
},
/**
* Gwichʼin
*
* @since 1.10
*/
gwi("Gwich\u02BCin"),
/**
* Haida
*
* @since 1.10
*/
hai("Haida"),
/**
* Haitian
* ({@link LanguageCode#ht ht}).
*/
hat("Haitian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ht;
}
},
/**
* Hausa
* ({@link LanguageCode#ha ha}).
*/
hau("Hausa")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ha;
}
},
/**
* Hawaiian
*
* @since 1.10
*/
haw("Hawaiian"),
/**
* Hebrew
* ({@link LanguageCode#he he}).
*/
heb("Hebrew")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.he;
}
},
/**
* Herero
* ({@link LanguageCode#hz hz}).
*/
her("Herero")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.hz;
}
},
/**
* Hiligaynon
*
* @since 1.10
*/
hil("Hiligaynon"),
/**
* Himachali languages
*
* @since 1.10
*/
him("Himachali languages"),
/**
* Hindi
* ({@link LanguageCode#hi hi}).
*/
hin("Hindi")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.hi;
}
},
/**
* Hittite
*
* @since 1.10
*/
hit("Hittite"),
/**
* Hmong
*
* @since 1.10
*/
hmn("Hmong"),
/**
* Hiri Motu
* ({@link LanguageCode#ho ho}).
*/
hmo("Hiri Motu")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ho;
}
},
/**
* Hmong-Mien languages
*
* @since 1.10
*/
hmx("Hmong-Mien languages"),
/**
* Hokan languages
*
* @since 1.10
*/
hok("Hokan languages"),
/**
* Croatian
* ({@link LanguageCode#hr hr}).
*/
hrv("Croatian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.hr;
}
},
/**
* Upper Sorbian
*
* @since 1.10
*/
hsb("Upper Sorbian"),
/**
* Hungarian
* ({@link LanguageCode#hu hu}).
*/
hun("Hungarian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.hu;
}
},
/**
* Hupa
*
* @since 1.10
*/
hup("Hupa"),
/**
* Armenian
* ({@link LanguageCode#hy hy}) for terminology applications.
*
* @see #arm
*/
hye("Armenian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.hy;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return arm;
}
},
/**
* Armenian (family)
*
* @since 1.10
*/
hyx("Armenian (family)"),
/**
* Iban
*
* @since 1.10
*/
iba("Iban"),
/**
* Igbo
* ({@link LanguageCode#ig ig}).
*/
ibo("Igbo")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ig;
}
},
/**
* Icelandic
* ({@link LanguageCode#is is}) for biblioraphic applications.
*
* @see #isl
*/
ice("Icelandic")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.is;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return isl;
}
},
/**
* Ido
* ({@link LanguageCode#io io}).
*/
ido("Ido")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.io;
}
},
/**
* Nuosu
* ({@link LanguageCode#ii ii}).
*/
iii("Nuosu")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ii;
}
},
/**
* Indo-Iranian languages
*
* @since 1.10
*/
iir("Indo-Iranian languages"),
/**
* Ijo languages
*
* @since 1.10
*/
ijo("Ijo languages"),
/**
* Inuktitut
* ({@link LanguageCode#iu iu}).
*/
iku("Inuktitut")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.iu;
}
},
/**
* Interlingue
* ({@link LanguageCode#ie ie}).
*/
ile("Interlingue")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ie;
}
},
/**
* Iloko
*
* @since 1.10
*/
ilo("Iloko"),
/**
* Interlingua
* {@link LanguageCode#ia ia}).
*/
ina("Interlingua")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ia;
}
},
/**
* Interlingua (International Auxiliary Language Association)
*
* @since 1.10
*/
inc("Interlingua (International Auxiliary Language Association)"),
/**
* Indonesian
* ({@link LanguageCode#id id}).
*/
ind("Indonesian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.id;
}
},
/**
* Indo-European languages
*
* @since 1.10
*/
ine("Indo-European languages"),
/**
* Ingush
*
* @since 1.10
*/
inh("Ingush"),
/**
* Inupiaq
* ({@link LanguageCode#ik ik}).
*/
ipk("Inupiaq")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ik;
}
},
/**
* Iranian languages
*
* @since 1.10
*/
ira("Iranian languages"),
/**
* Iroquoian languages
*
* @since 1.10
*/
iro("Iroquoian languages"),
/**
* Icelandic
* ({@link LanguageCode#is is}) for terminology applications.
*
* @see #ice
*/
isl("Icelandic")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.is;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return ice;
}
},
/**
* Italian
* ({@link LanguageCode#it it}).
*/
ita("Italian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.it;
}
},
/**
* Italic languages
*
* @since 1.10
*/
itc("Italic languages"),
/**
* Javanese
* ({@link LanguageCode#jv jv}).
*/
jav("Javanese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.jv;
}
},
/**
* Lojban
*
* @since 1.10
*/
jbo("Lojban"),
/**
* Japanese
* ({@link LanguageCode#ja ja}).
*/
jpn("Japanese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ja;
}
},
/**
* Judeo-Persian
*
* @since 1.10
*/
jpr("Judeo-Persian"),
/**
* Japanese (family)
*
* @since 1.10
*/
jpx("Japanese (family)"),
/**
* Judeo-Arabic
*
* @since 1.10
*/
jrb("Judeo-Arabic"),
/**
* Kara-Kalpak
*
* @since 1.10
*/
kaa("Kara-Kalpak"),
/**
* Kabyle
*
* @since 1.10
*/
kab("Kabyle"),
/**
* Kachin
*
* @since 1.10
*/
kac("Kachin"),
/**
* Kalaallisut
* ({@link LanguageCode#kl kl}).
*/
kal("Kalaallisut")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.kl;
}
},
/**
* Kamba (Kenya)
*
* @since 1.10
*/
kam("Kamba (Kenya)"),
/**
* Kannada
* ({@link LanguageCode#kn kn}).
*/
kan("Kannada")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.kn;
}
},
/**
* Karen languages
*
* @since 1.10
*/
kar("Karen languages"),
/**
* Kashmiri
* ({@link LanguageCode#ks ks}).
*/
kas("Kashmiri")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ks;
}
},
/**
* Georgian
* ({@link LanguageCode#ka ka}) for terminology applications.
*
* @see #geo
*/
kat("Georgian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ka;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return geo;
}
},
/**
* Kanuri
* ({@link LanguageCode#kr kr}).
*/
kau("Kanuri")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.kr;
}
},
/**
* Kawi
*
* @since 1.10
*/
kaw("Kawi"),
/**
* Kazakh
* ({@link LanguageCode#kk kk}).
*/
kaz("Kazakh")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.kk;
}
},
/**
* Kabardian
*
* @since 1.10
*/
kbd("Kabardian"),
/**
* Kordofanian languages
*
* @since 1.10
*/
kdo("Kordofanian languages"),
/**
* Khasi
*
* @since 1.10
*/
kha("Khasi"),
/**
* Khoisan languages
*
* @since 1.10
*/
khi("Khoisan languages"),
/**
* Khmer
* ({@link LanguageCode#km km}).
*/
khm("Central Khmer")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.km;
}
},
/**
* Khotanese
*
* @since 1.10
*/
kho("Khotanese"),
/**
* Kikuyu
* ({@link LanguageCode#ki ki}).
*/
kik("Kikuyu")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ki;
}
},
/**
* Kinyarwanda
* ({@link LanguageCode#rw rw}).
*/
kin("Kinyarwanda")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.rw;
}
},
/**
* Kyrgyz
* ({@link LanguageCode#ky ky}).
*/
kir("Kirghiz")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ky;
}
},
/**
* Kimbundu
*
* @since 1.10
*/
kmb("Kimbundu"),
/**
* Konkani (macrolanguage)
*
* @since 1.10
*/
kok("Konkani"),
/**
* Komi
* ({@link LanguageCode#kv kv}).
*/
kom("Komi")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.kv;
}
},
/**
* Kongo
* ({@link LanguageCode#kg kg}).
*/
kon("Kongo")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.kg;
}
},
/**
* Korean
* ({@link LanguageCode#ko ko}).
*/
kor("Korean")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ko;
}
},
/**
* Kosraean
*
* @since 1.10
*/
kos("Kosraean"),
/**
* Kpelle
*
* @since 1.10
*/
kpe("Kpelle"),
/**
* Karachay-Balkar
*
* @since 1.10
*/
krc("Karachay-Balkar"),
/**
* Karelian
*
* @since 1.10
*/
krl("Karelian"),
/**
* Kru languages
*
* @since 1.10
*/
kro("Kru languages"),
/**
* Kurukh
*
* @since 1.10
*/
kru("Kurukh"),
/**
* Kwanyama
* ({@link LanguageCode#kj kj}).
*/
kua("Kuanyama")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.kj;
}
},
/**
* Kumyk
*
* @since 1.10
*/
kum("Kumyk"),
/**
* Kurdish
* ({@link LanguageCode#ku ku}).
*/
kur("Kurdish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ku;
}
},
/**
* Kutenai
*
* @since 1.10
*/
kut("Kutenai"),
/**
* Ladino
*
* @since 1.10
*/
lad("Ladino"),
/**
* Lahnda
*
* @since 1.10
*/
lah("Lahnda"),
/**
* Lamba
*
* @since 1.10
*/
lam("Lamba"),
/**
* Lao
* ({@link LanguageCode#lo lo}).
*/
lao("Lao")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.lo;
}
},
/**
* Latin
* ({@link LanguageCode#la la}).
*/
lat("Latin")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.la;
}
},
/**
* Latvian
* ({@link LanguageCode#lv lv}).
*/
lav("Latvian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.lv;
}
},
/**
* Lezghian
*
* @since 1.10
*/
lez("Lezghian"),
/**
* Limburgish
* ({@link LanguageCode#li li}).
*/
lim("Limburgan")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.li;
}
},
/**
* Lingala
* ({@link LanguageCode#ln ln}).
*/
lin("Lingala")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ln;
}
},
/**
* Lithuanian
* ({@link LanguageCode#lt lt}).
*/
lit("Lithuanian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.lt;
}
},
/**
* Mongo
*
* @since 1.10
*/
lol("Mongo"),
/**
* Lozi
*
* @since 1.10
*/
loz("Lozi"),
/**
*
* Luxembourgish
* ({@link LanguageCode#lb lb}).
*/
ltz("Luxembourgish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.lb;
}
},
/**
* Luba-Lulua
*
* @since 1.10
*/
lua("Luba-Lulua"),
/**
* Luba-Katanga
* ({@link LanguageCode#lu lu}).
*/
lub("Luba-Katanga")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.lu;
}
},
/**
* Ganda
* ({@link LanguageCode#lg lg}).
*/
lug("Ganda")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.lg;
}
},
/**
* Luiseno
*
* @since 1.10
*/
lui("Luiseno"),
/**
* Lunda
*
* @since 1.10
*/
lun("Lunda"),
/**
* Luo (Kenya and Tanzania)
*
* @since 1.10
*/
luo("Luo (Kenya and Tanzania)"),
/**
* Lushai
*
* @since 1.10
*/
lus("Lushai"),
/**
* Macedonian
* ({@link LanguageCode#mk mk}) for bibliographic applications.
*
* @see #mkd
*/
mac("Macedonian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.mk;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return mkd;
}
},
/**
* Madurese
*
* @since 1.10
*/
mad("Madurese"),
/**
* Magahi
*
* @since 1.10
*/
mag("Magahi"),
/**
* Marshallese
* ({@link LanguageCode#mh mh}).
*/
mah("Marshallese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.mh;
}
},
/**
* Maithili
*
* @since 1.10
*/
mai("Maithili"),
/**
* Makasar
*
* @since 1.10
*/
mak("Makasar"),
/**
* Malayalam
* ({@link LanguageCode#ml ml}).
*/
mal("Malayalam")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ml;
}
},
/**
* Mandingo
*
* @since 1.10
*/
man("Mandingo"),
/**
* Māori
* ({@link LanguageCode#mi mi}) for bibliographic applications.
*
* @see #mri
*/
mao("M\u0101ori")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.mi;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return mri;
}
},
/**
* Austronesian languages
*
* @since 1.10
*/
map("Austronesian languages"),
/**
* Marathi
* ({@link LanguageCode#mr mr}).
*/
mar("Marathi")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.mr;
}
},
/**
* Masai
*
* @since 1.10
*/
mas("Masai"),
/**
* Malay (macrolanguage)
* ({@link LanguageCode#ms ms}) for bibliographic applications.
*
* @see #msa
*/
may("Malay")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ms;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return msa;
}
},
/**
* Moksha
*
* @since 1.10
*/
mdf("Moksha"),
/**
* Mandar
*
* @since 1.10
*/
mdr("Mandar"),
/**
* Mende (Sierra Leone)
*
* @since 1.10
*/
men("Mende (Sierra Leone)"),
/**
* Middle Irish (900-1200)
*
* @since 1.10
*/
mga("Middle Irish"),
/**
* Mi'kmaq
*
* @since 1.10
*/
mic("Mi'kmaq"),
/**
* Minangkabau
*
* @since 1.10
*/
min("Minangkabau"),
/**
* Uncoded languages.
*
* @since 1.10
*/
mis("Uncoded languages"),
/**
* Macedonian
* ({@link LanguageCode#mk mk}) for terminology applications.
*
* @see #mac
*/
mkd("Macedonian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.mk;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return mac;
}
},
/**
* Mon-Khmer languages
*
* @since 1.10
*/
mkh("Mon-Khmer languages"),
/**
* Malagasy
* ({@link LanguageCode#mg mg}).
*/
mlg("Malagasy")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.mg;
}
},
/**
* Maltese
* ({@link LanguageCode#mt mt}).
*/
mlt("Maltese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.mt;
}
},
/**
* Manchu
*
* @since 1.10
*/
mnc("Manchu"),
/**
* Manipuri
*
* @since 1.10
*/
mni("Manipuri"),
/**
* Manobo languages
*
* @since 1.10
*/
mno("Manobo languages"),
/**
* Mohawk
*
* @since 1.10
*/
moh("Mohawk"),
/**
* Mongolian
* ({@link LanguageCode#mn mn}).
*/
mon("Mongolian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.mn;
}
},
/**
* Mossi
*
* @since 1.10
*/
mos("Mossi"),
/**
* Māori
* ({@link LanguageCode#mi mi}) for terminology applications.
*
* @see #mao
*/
mri("M\u0101ori")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.mi;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return mao;
}
},
/**
* Malay
* ({@link LanguageCode#ms ms}) for terminology applications.
*
* @see #may
*/
msa("Malay")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ms;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return may;
}
},
/**
* Multiple languages.
*
* @since 1.10
*/
mul("Multiple languages"),
/**
* Munda languages
*
* @since 1.10
*/
mun("Munda languages"),
/**
* Creek
*
* @since 1.10
*/
mus("Creek"),
/**
* Mirandese
*
* @since 1.10
*/
mwl("Mirandese"),
/**
* Marwari
*
* @since 1.10
*/
mwr("Marwari"),
/**
* Burmese
* ({@link LanguageCode#my my}) for terminology applications.
*
* @see #bur
*/
mya("Burmese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.my;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return bur;
}
},
/**
* Mayan languages
*
* @since 1.10
*/
myn("Mayan languages"),
/**
* Erzya
*
* @since 1.10
*/
myv("Erzya"),
/**
* Nahuatl languages
*
* @since 1.10
*/
nah("Nahuatl languages"),
/**
* North American Indian
*
* @since 1.10
*/
nai("North American Indian"),
/**
* Neapolitan
*
* @since 1.10
*/
nap("Neapolitan"),
/**
* Nauru
* ({@link LanguageCode#na na}).
*/
nau("Nauru")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.na;
}
},
/**
* Navajo
* ({@link LanguageCode#nv nv}).
*/
nav("Navajo")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.nv;
}
},
/**
* Southern
* Ndebele
* ({@link LanguageCode#nr nr}).
*/
nbl("South Ndebele")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.nr;
}
},
/**
* Northern
* Ndebele
* ({@link LanguageCode#nd nd}).
*/
nde("North Ndebele")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.nd;
}
},
/**
* Ndonga
* ({@link LanguageCode#ng ng}).
*/
ndo("Ndonga")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ng;
}
},
/**
* Low German
*
* @since 1.10
*/
nds("Low German"),
/**
* Nepali (macrolanguage)
* ({@link LanguageCode#ne ne}).
*/
nep("Nepali")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ne;
}
},
/**
* Newari
*
*
* Because {@code new} is a special word for Java programming
* language, {@code new} cannot be used as an enum entry.
* So, the first letter of this entry is a capital letter.
*
*
*
* {@code toString()} method of this instance ({@code New})
* returns {@code "new"}.
*
*
* @since 1.10
*/
New("Newari")
{
@Override
public String toString()
{
return "new";
}
},
/**
* Trans-New Guinea languages
*
* @since 1.10
*/
ngf("Trans-New Guinea languages"),
/**
* Nias
*
* @since 1.10
*/
nia("Nias"),
/**
* Niger-Kordofanian languages
*
* @since 1.10
*/
nic("Niger-Kordofanian languages"),
/**
* Niuean
*
* @since 1.10
*/
niu("Niuean"),
/**
* Dutch
* ({@link LanguageCode#nl nl}) for terminology applications.
*
* @see #dut
*/
nld("Dutch")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.nl;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return dut;
}
},
/**
* Norwegian Nynorsk
* ({@link LanguageCode#nn nn}).
*/
nno("Norwegian Nynorsk")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.nn;
}
},
/**
* Norwegian
* Bokmål
* ({@link LanguageCode#nb nb}).
*/
nob("Norwegian Bokm\u00E5l")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.nb;
}
},
/**
* Nogai
*
* @since 1.10
*/
nog("Nogai"),
/**
* Old Norse
*
* @since 1.10
*/
non("Old Norse"),
/**
* Norwegian
* ({@link LanguageCode#no no}).
*/
nor("Norwegian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.no;
}
},
/**
* N'Ko
*
* @since 1.10
*/
nqo("N'Ko"),
/**
* Pedi
*
* @since 1.10
*/
nso("Pedi"),
/**
* Nubian languages
*
* @since 1.10
*/
nub("Nubian languages"),
/**
* Classical Newari
*
* @since 1.10
*/
nwc("Classical Newari"),
/**
* Chichewa
* ({@link LanguageCode#ny ny}).
*/
nya("Nyanja")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ny;
}
},
/**
* Nyamwezi
*
* @since 1.10
*/
nym("Nyamwezi"),
/**
* Nyankole
*
* @since 1.10
*/
nyn("Nyankole"),
/**
* Nyoro
*
* @since 1.10
*/
nyo("Nyoro"),
/**
* Nzima
*
* @since 1.10
*/
nzi("Nzima"),
/**
* Occitan (post 1500)
* ({@link LanguageCode#oc oc}).
*/
oci("Occitan")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.oc;
}
},
/**
* Ojibwe
* ({@link LanguageCode#oj oj}).
*/
oji("Ojibwa")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.oj;
}
},
/**
* Oto-Manguean languages
*
* @since 1.10
*/
omq("Oto-Manguean languages"),
/**
* Omotic languages
*
* @since 1.10
*/
omv("Omotic languages"),
/**
* Oriya (macrolanguage)
* ({@link LanguageCode#or or}).
*/
ori("Oriya")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.or;
}
},
/**
* Oromo
* ({@link LanguageCode#om om}).
*/
orm("Oromo")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.om;
}
},
/**
* Osage
*
* @since 1.10
*/
osa("Osage"),
/**
* Ossetian
* ({@link LanguageCode#os os}).
*/
oss("Ossetian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.os;
}
},
/**
* Ottoman Turkish (1500-1928)
*
* @since 1.10
*/
ota("Ottoman Turkish"),
/**
* Otomian languages
*
* @since 1.10
*/
oto("Otomian languages"),
/**
* Papuan languages
*
* @since 1.10
*/
paa("Papuan languages"),
/**
* Pangasinan
*
* @since 1.10
*/
pag("Pangasinan"),
/**
* Pahlavi
*
* @since 1.10
*/
pal("Pahlavi"),
/**
* Pampanga
*
* @since 1.10
*/
pam("Pampanga"),
/**
* Punjabi
* ({@link LanguageCode#pa pa}).
*/
pan("Panjabi")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.pa;
}
},
/**
* Papiamento
*
* @since 1.10
*/
pap("Papiamento"),
/**
* Palauan
*
* @since 1.10
*/
pau("Palauan"),
/**
* Old Persian (ca. 600-400 B.C.)
*/
peo("Old Persian"),
/**
* Persian
* ({@link LanguageCode#fa fa}) for bibliographic applications.
*
* @see #fas
*/
per("Persian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.fa;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return fas;
}
},
/**
* Philippine languages
*
* @since 1.10
*/
phi("Philippine languages"),
/**
* Phoenician
*
* @since 1.10
*/
phn("Phoenician"),
/**
* Central Malayo-Polynesian languages
*
* @since 1.10
*/
plf("Central Malayo-Polynesian languages"),
/**
* Pāli
* ({@link LanguageCode#pi pi}).
*/
pli("P\u0101li")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.pi;
}
},
/**
* Polish
* ({@link LanguageCode#pl pl}).
*/
pol("Polish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.pl;
}
},
/**
* Pohnpeian
*
* @since 1.10
*/
pon("Pohnpeian"),
/**
* Portuguese
* ({@link LanguageCode#pt pt}).
*/
por("Portuguese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.pt;
}
},
/**
* Malayo-Polynesian languages
*
* @since 1.10
*/
poz("Malayo-Polynesian languages"),
/**
* Eastern Malayo-Polynesian languages
*
* @since 1.10
*/
pqe("Eastern Malayo-Polynesian languages"),
/**
* Western Malayo-Polynesian languages
*
* @since 1.10
*/
pqw("Western Malayo-Polynesian languages"),
/**
* Prakrit languages
*
* @since 1.10
*/
pra("Prakrit languages"),
/**
* Old Provençal (to 1500)
*
* @since 1.10
*/
pro("Old Proven\u00E7al"),
/**
* Pashto
* ({@link LanguageCode#ps ps}).
*/
pus("Pushto")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ps;
}
},
/**
* Quechua
* ({@link LanguageCode#qu qu}).
*/
que("Quechua")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.qu;
}
},
/**
* Quechuan (family)
*
* @since 1.10
*/
qwe("Quechuan (family)"),
/**
* Rajasthani
*
* @since 1.10
*/
raj("Rajasthani"),
/**
* Rapanui
*
* @since 1.10
*/
rap("Rapanui"),
/**
* Rarotongan
*
* @since 1.10
*/
rar("Rarotongan"),
/**
* Romance languages
*
* @since 1.10
*/
roa("Romance languages"),
/**
* Romansh
* ({@link LanguageCode#rm rm})
*/
roh("Romansh")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.rm;
}
},
/**
* Romany
*
* @since 1.10
*/
rom("Romany"),
/**
* Romanian
* ({@link LanguageCode#ro ro}) for terminology applications.
*
* @see #rum
*/
ron("Romanian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ro;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return rum;
}
},
/**
* Romanian
* ({@link LanguageCode#ro ro}) for bibliographic applications.
*
* @see #ron
*/
rum("Romansh")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ro;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return ron;
}
},
/**
* Kirundi
* ({@link LanguageCode#rn rn}).
*/
run("Kirundi")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.rn;
}
},
/**
* Macedo-Romanian
*
* @since 1.10
*/
rup("Macedo-Romanian"),
/**
* Russian
* ({@link LanguageCode#ru ru}).
*/
rus("Russian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ru;
}
},
/**
* Sango
*
* @since 1.10
*/
sad("Sango"),
/**
* Sango
* ({@link LanguageCode#sg sg}).
*/
sag("Sango")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sg;
}
},
/**
* Yakut
*
* @since 1.10
*/
sah("Yakut"),
/**
* South American Indian languages
*
* @since 1.10
*/
sai("South American Indian languages"),
/**
* Salishan languages
*
* @since 1.10
*/
sal("Salishan languages"),
/**
* Samaritan Aramaic
*
* @since 1.10
*/
sam("Samaritan Aramaic"),
/**
* Sanskrit
* ({@link LanguageCode#sa sa}).
*/
san("Sanskrit")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sa;
}
},
/**
* Sasak
*
* @since 1.10
*/
sas("Sasak"),
/**
* Santali
*
* @since 1.10
*/
sat("Santali"),
/**
* Sicilian
*
* @since 1.10
*/
scn("Sicilian"),
/**
* Scots
*
* @since 1.10
*/
sco("Scots"),
/**
* Eastern Sudanic languages
*
* @since 1.10
*/
sdv("Eastern Sudanic languages"),
/**
* Selkup
*
* @since 1.10
*/
sel("Selkup"),
/**
* Semitic languages
*
* @since 1.10
*/
sem("Semitic languages"),
/**
* Old Irish (to 900)
*
* @since 1.10
*/
sga("Old Irish"),
/**
* Sign languages
*
* @since 1.10
*/
sgn("Sign languages"),
/**
* Shan
*
* @since 1.10
*/
shn("Shan"),
/**
* Sidamo
*
* @since 1.10
*/
sid("Sidamo"),
/**
* Sinhala
* ({@link LanguageCode#si si}).
*/
sin("Sinhala")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.si;
}
},
/**
* Siouan languages
*
* @since 1.10
*/
sio("Siouan languages"),
/**
* Sino-Tibetan languages
*
* @since 1.10
*/
sit("Sino-Tibetan languages"),
/**
* Slavic languages
*
* @since 1.10
*/
sla("Slavic languages"),
/**
* Slovak
* ({@link LanguageCode#sk sk}) for terminology aplications.
*
* @see #slo
*/
slk("Slovak")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sk;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return slo;
}
},
/**
* Slovak
* ({@link LanguageCode#sk sk}) for bibliographic aplications.
*
* @see #slk
*/
slo("Slovak")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sk;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return slk;
}
},
/**
* Slovene
* ({@link LanguageCode#sl sl}).
*/
slv("Slovene")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sl;
}
},
/**
* Southern Sami
*
* @since 1.10
*/
sma("Southern Sami"),
/**
* Northern Sami
* ({@link LanguageCode#se se}).
*/
sme("Northern Sami")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.se;
}
},
/**
* Sami languages
*
* @since 1.10
*/
smi("Sami languages"),
/**
* Lule Sami
*
* @since 1.10
*/
smj("Lule Sami"),
/**
* Inari Sami
*
* @since 1.10
*/
smn("Inari Sami"),
/**
* Samoan
* ({@link LanguageCode#sm sm}).
*/
smo("Samoan")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sm;
}
},
/**
* Skolt Sami
*
* @since 1.10
*/
sms("Skolt Sami"),
/**
* Shona
* ({@link LanguageCode#sn sn}).
*/
sna("Shona")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sn;
}
},
/**
* Sindhi
* ({@link LanguageCode#sd sd}).
*/
snd("Sindhi")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sd;
}
},
/**
* Soninke
*
* @since 1.10
*/
snk("Soninke"),
/**
* Sogdian
*
* @since 1.10
*/
sog("Sogdian"),
/**
* Somali
* ({@link LanguageCode#so so}).
*/
som("Somali")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.so;
}
},
/**
* Songhai languages
*
* @since 1.10
*/
son("Songhai languages"),
/**
* Southern Sotho
* ({@link LanguageCode#st st}).
*/
sot("Southern Sotho")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.st;
}
},
/**
* Spanish
* ({@link LanguageCode#es es}).
*/
spa("Spanish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.es;
}
},
/**
* Albanian
* ({@link LanguageCode#sq sq}) for terminology applications.
*
* @see #alb
*/
sqi("Albanian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sq;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return alb;
}
},
/**
* Albanian languages
*
* @since 1.10
*/
sqj("Albanian languages"),
/**
* Sardinian
* ({@link LanguageCode#sc sc}).
*/
srd("Sardinian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sc;
}
},
/**
* Sranan Tongo
*
* @since 1.10
*/
srn("Sranan Tongo"),
/**
* Serbian
* ({@link LanguageCode#sr sr}).
*/
srp("Serbian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sr;
}
},
/**
* Serer
*
* @since 1.10
*/
srr("Serer"),
/**
* Nilo-Saharan languages
*
* @since 1.10
*/
ssa("Nilo-Saharan languages"),
/**
* Swati
* ({@link LanguageCode#ss ss}).
*/
ssw("Swati")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ss;
}
},
/**
* Sukuma
*
* @since 1.10
*/
suk("Sukuma"),
/**
* Sundanese
* ({@link LanguageCode#su su}).
*/
sun("Sundanese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.su;
}
},
/**
* Susu
*
* @since 1.10
*/
sus("Susu"),
/**
* Sumerian
*
* @since 1.10
*/
sux("Sumerian"),
/**
* Swahili (macrolanguage)
* ({@link LanguageCode#sw sw}).
*/
swa("Swahili")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sw;
}
},
/**
* Swedish
* ({@link LanguageCode#sv sv}).
*/
swe("Swedish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.sv;
}
},
/**
* Classical Syriac
*
* @since 1.10
*/
syc("Classical Syriac"),
/**
* Samoyedic languages
*
* @since 1.10
*/
syd("Samoyedic languages"),
/**
* Syriac
*
* @since 1.10
*/
syr("Syriac"),
/**
* Tahitian
* ({@link LanguageCode#ty ty}).
*/
tah("Tahitian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ty;
}
},
/**
* Tai languages
*
* @since 1.10
*/
tai("Tai languages"),
/**
* Tamil
* ({@link LanguageCode#ta ta}).
*/
tam("Tamil")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ta;
}
},
/**
* Tatar
* ({@link LanguageCode#tt tt}).
*/
tat("Tatar")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.tt;
}
},
/**
* Tibeto-Burman languages
*
* @since 1.10
*/
tbq("Tibeto-Burman languages"),
/**
* Telugu
* ({@link LanguageCode#te te}).
*/
tel("Telugu")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.te;
}
},
/**
* Timne
*
* @since 1.10
*/
tem("Timne"),
/**
* Tereno
*
* @since 1.10
*/
ter("Tereno"),
/**
* Tetum
*
* @since 1.10
*/
tet("Tetum"),
/**
* Tajik
* ({@link LanguageCode#tg tg}).
*/
tgk("Tajik")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.tg;
}
},
/**
* Tagalog
* ({@link LanguageCode#tl tl}).
*/
tgl("Tagalog")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.tl;
}
},
/**
* Thai
* ({@link LanguageCode#th th}).
*/
tha("Thai")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.th;
}
},
/**
* Tibetan
* ({@link LanguageCode#bo bo}) for terminology applications.
*
* @see #bod
*/
tib("Tibetan")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.bo;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return bod;
}
},
/**
* Tigre
*
* @since 1.10
*/
tig("Tigre"),
/**
* Tigrinya
* ({@link LanguageCode#ti ti}).
*/
tir("Tigrinya")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ti;
}
},
/**
* Tiv
*
* @since 1.10
*/
tiv("Tiv"),
/**
* Tokelau
*
* @since 1.10
*/
tkl("Tokelau"),
/**
* Klingon
*
* @since 1.10
*/
tlh("Klingon"),
/**
* Tlingit
*
* @since 1.10
*/
tli("Tlingit"),
/**
* Tamashek
*
* @since 1.10
*/
tmh("Tamashek"),
/**
* Tonga (Nyasa)
*
* @since 1.10
*/
tog("Tonga (Nyasa)"),
/**
* Tonga (Tonga Islands)
* ({@link LanguageCode#to to}).
*/
ton("Tonga (Tonga Islands)")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.to;
}
},
/**
* Tok Pisin
*
* @since 1.10
*/
tpi("Tok Pisin"),
/**
* Turkic languages
*
* @since 1.10
*/
trk("Turkic languages"),
/**
* Tsimshian
*
* @since 1.10
*/
tsi("Tsimshian"),
/**
* Tswana
* ({@link LanguageCode#tn tn}).
*/
tsn("Tswana")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.tn;
}
},
/**
* Tsonga
* ({@link LanguageCode#ts ts}).
*/
tso("Tsonga")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ts;
}
},
/**
* Turkmen
* ({@link LanguageCode#tk tk}).
*/
tuk("Turkmen")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.tk;
}
},
/**
* Tumbuka
*
* @since 1.10
*/
tum("Tumbuka"),
/**
* Tupi languages
*
* @since 1.10
*/
tup("Tupi languages"),
/**
* Turkish
* ({@link LanguageCode#tr tr}).
*/
tur("Turkish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.tr;
}
},
/**
* Altaic languages
*
* @since 1.10
*/
tut("Altaic languages"),
/**
* Tungus languages
*
* @since 1.10
*/
tuw("Tungus languages"),
/**
* Tuvalu
*
* @since 1.10
*/
tvl("Tuvalu"),
/**
* Twi
* ({@link LanguageCode#tw tw}).
*/
twi("Twi")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.tw;
}
},
/**
* Tuvinian
*
* @since 1.10
*/
tyv("Tuvinian"),
/**
* Udmurt
*
* @since 1.10
*/
udm("Udmurt"),
/**
* Ugaritic
*
* @since 1.10
*/
uga("Ugaritic"),
/**
* Uighur
* ({@link LanguageCode#ug ug}).
*/
uig("Uighur")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ug;
}
},
/**
* Ukrainian
* ({@link LanguageCode#uk uk}).
*/
ukr("Ukrainian")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.uk;
}
},
/**
* Umbundu
*
* @since 1.10
*/
umb("Umbundu"),
/**
* Undetermined.
*
* @since 1.10
*/
und("Undetermined"),
/**
* Urdu
* ({@link LanguageCode#ur ur}).
*/
urd("Urdu")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ur;
}
},
/**
* Uralic languages
*
* @since 1.10
*/
urj("Uralic languages"),
/**
* Uzbek
* ({@link LanguageCode#uz uz}).
*/
uzb("Uzbek")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.uz;
}
},
/**
* Vai
*
* @since 1.10
*/
vai("Vai"),
/**
* Venda
* ({@link LanguageCode#ve ve}).
*/
ven("Venda")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.ve;
}
},
/**
* Vietnamese
* ({@link LanguageCode#vi vi}).
*/
vie("Vietnamese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.vi;
}
},
/**
* Volapük
* ({@link LanguageCode#vo vo}).
*/
vol("Volap\u00FCk")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.vo;
}
},
/**
* Votic
*
* @since 1.10
*/
vot("Votic"),
/**
* Wakashan languages
*
* @since 1.10
*/
wak("Wakashan languages"),
/**
* Wolaytta
*
* @since 1.10
*/
wal("Wolaytta"),
/**
* Waray (Philippines)
*
* @since 1.10
*/
war("Waray (Philippines)"),
/**
* Washo
*
* @since 1.10
*/
was("Washo"),
/**
* Welsh
* ({@link LanguageCode#cy cy}) for bibliographic applications.
*
* @see #cym
*/
wel("Welsh")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.cy;
}
@Override
public Usage getUsage()
{
return Usage.BIBLIOGRAPHY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return cym;
}
},
/**
* Sorbian languages
*
* @since 1.10
*/
wen("Sorbian languages"),
/**
* Walloon
* ({@link LanguageCode#wa wa}).
*/
wln("Walloon")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.wa;
}
},
/**
* Wolof
* ({@link LanguageCode#wo wo}).
*/
wol("Wolof")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.wo;
}
},
/**
* Kalmyk
*
* @since 1.10
*/
xal("Kalmyk"),
/**
* Mongolian languages
*
* @since 1.10
*/
xgn("Mongolian languages"),
/**
* Xhosa
* ({@link LanguageCode#xh xh}).
*/
xho("Xhosa")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.xh;
}
},
/**
* Na-Dene languages
*
* @since 1.10
*/
xnd("Na-Dene languages"),
/**
* Yao
*
* @since 1.10
*/
yao("Yao"),
/**
* Yapese
*
* @since 1.10
*/
yap("Yapese"),
/**
* Yiddish
* ({@link LanguageCode#yi yi}).
*/
yid("Yiddish")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.yi;
}
},
/**
* Yoruba
* ({@link LanguageCode#yo yo}).
*/
yor("Yoruba")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.yo;
}
},
/**
* Yupik languages
*
* @since 1.10
*/
ypk("Yupik languages"),
/**
* Zapotec
*
* @since 1.10
*/
zap("Zapotec"),
/**
* Blissymbols
*
* @since 1.10
*/
zbl("Blissymbols"),
/**
* Zenaga
*
* @since 1.10
*/
zen("Zenaga"),
/**
* Zhuang
* ({@link LanguageCode#za za}).
*/
zha("Zhuang")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.za;
}
},
/**
* Chinese
* ({@link LanguageCode#zh zh}) for terminology applications.
*
* @see #chi
*/
zho("Chinese")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.zh;
}
@Override
public Usage getUsage()
{
return Usage.TERMINOLOGY;
}
@Override
public LanguageAlpha3Code getSynonym()
{
return chi;
}
},
/**
* Chinese (family)
*
* @since 1.10
*/
zhx("Chinese (family)"),
/**
* East Slavic languages
*
* @since 1.10
*/
zle("East Slavic languages"),
/**
* South Slavic languages
*
* @since 1.10
*/
zls("South Slavic languages"),
/**
* West Slavic languages
*
* @since 1.10
*/
zlw("West Slavic languages"),
/**
* Zande languages
*
* @since 1.10
*/
znd("Zande languages"),
/**
* Zulu
* ({@link LanguageCode#zu zu}).
*/
zul("Zulu")
{
@Override
public LanguageCode getAlpha2()
{
return LanguageCode.zu;
}
},
/**
* Zuni
*
* @since 1.10
*/
zun("Zuni"),
/**
* No linguistic content.
*
* @since 1.10
*/
zxx("No linguistic content"),
/**
* Zaza
*
* @since 1.10
*/
zza("Zaza")
;
/**
* The usage of this language code.
*
* @since 1.1
*/
public enum Usage
{
/**
* Code for terminology applications (ISO 639-2/T).
*/
TERMINOLOGY,
/**
* Code for bibliographic applications (ISO 639-2/B).
*/
BIBLIOGRAPHY,
/**
* For all applications including both terminology and
* bibliographic applications.
*/
COMMON
};
/**
* Language name.
*/
private final String name;
private LanguageAlpha3Code(String name)
{
this.name = name;
}
/**
* Get the language name.
*
* @return
* The language name.
*/
public String getName()
{
return name;
}
/**
* Get ISO 639-1
* language code.
*
* @return
* ISO 639-1
* language code. This method may return {@code null}.
*/
public LanguageCode getAlpha2()
{
return null;
}
/**
* Get the usage of this language code.
*
*
* Most language codes return {@link Usage#COMMON Usage.COMMON}.
*
*
* @return
* The usage of this language code.
*/
public Usage getUsage()
{
return Usage.COMMON;
}
/**
* Get the synonym of this code.
*
*
* In most cases, this method simply returns this
object. On
* the other hand, language codes that have two alpha-3 codes, namely, ISO
* 639-2/T code ("terminological" code) and ISO 639-2/B code
* ("bibliographic" code), return their counterparts. For example,
* {@link #deu LanguageAlpha3Code.deu}{@code .getSynonym()} returns
* {@link #ger LanguageAlpha3Code.ger}.
*
*
* @return
* ISO 639-2
* language code.
*/
public LanguageAlpha3Code getSynonym()
{
return this;
}
/**
* Get the bibliographic code of this language.
*
*
* Most languages have just one ISO 639-2 code and they
* simply return this
object. Only ISO 639-2/T codes
* ("terminological" codes) return counterpart objects. For example,
* {@link LanguageAlpha3Code#fra LanguageAlpha3Code.fra}{@code .getAlpha3B()}
* returns {@link LanguageAlpha3Code#fre LanguageAlpha3Code.fre}.
*
*
* @return
* The bibliographic code of this language.
*/
public LanguageAlpha3Code getAlpha3B()
{
if (getUsage() == Usage.BIBLIOGRAPHY)
{
return this;
}
else
{
return getSynonym();
}
}
/**
* Get the terminological code of this language.
*
*
* Most languages have just one ISO 639-2 code and they
* simply return this
object. Only ISO 639-2/B codes
* ("bibliographic" codes) return counterpart objects. For example,
* {@link LanguageAlpha3Code#fre LanguageAlpha3Code.fre}{@code .getAlpha3T()}
* returns {@link LanguageAlpha3Code#fra LanguageAlpha3Code.fra}.
*
*
*
* @return
* The terminological code of this language.
*/
public LanguageAlpha3Code getAlpha3T()
{
if (getUsage() == Usage.TERMINOLOGY)
{
return this;
}
else
{
return getSynonym();
}
}
/**
* Get a {@code LanguageAlpha3Code} that corresponds to a given
* ISO 639-1 code
* (2-letter lowercase code) or
* ISO 639-2 code
* (3-letter lowercase code).
*
*
* This method calls {@link #getByCode(String, boolean) getByCode}{@code (code, true)}.
* Note that the behavior has changed since the version 1.13. In the older versions,
* this method was an alias of {@code getByCode(code, false)}.
*
*
* @param code
* An ISO 639-1
* code (2-letter lowercase code) or an
* ISO 639-2
* code (3-letter lowercase code). Or "undefined".
* Note that if the given code is one of legacy language codes
* ("iw", "ji" and "in"), it is treated as its official counterpart
* ("he", "yi" and "id"), respectively. For example, if "in" is
* given, this method returns {@link #ind LanguageAlpha3Code.ind}.
*
* @return
* A {@code LanguageAlpha3Code} instance, or {@code null} if not found.
* If ISO 639-1
* code (2-letter code) is given and the language has two
* ISO 639-2
* codes, ISO 639/T code ("terminological" code) is returned.
*/
public static LanguageAlpha3Code getByCode(String code)
{
return getByCode(code, true);
}
/**
* Get a {@code LanguageAlpha3Code} that corresponds to a given
* ISO 639-1 code
* (2-letter lowercase code) or
* ISO 639-2 code
* (3-letter lowercase code).
*
*
* This method calls {@link #getByCode(String, boolean) getByCode}{@code (code, false)}.
*
*
* @param code
* An ISO 639-1
* code (2-letter lowercase code) or an
* ISO 639-2
* code (3-letter lowercase code). Or "undefined" (case insensitive).
* Note that if the given code is one of legacy language codes
* ("iw", "ji" and "in"), it is treated as its official counterpart
* ("he", "yi" and "id"), respectively. For example, if "in" is
* given, this method returns {@link #ind LanguageAlpha3Code.ind}.
*
* @return
* A {@code LanguageAlpha3Code} instance, or {@code null} if not found.
* If ISO 639-1
* code (2-letter code) is given and the language has two
* ISO 639-2
* codes, ISO 639/T code ("terminological" code) is returned.
*
* @since 1.13
*/
public static LanguageAlpha3Code getByCodeIgnoreCase(String code)
{
return getByCode(code, false);
}
/**
* Get a {@code LanguageAlpha3Code} that corresponds to a given
* ISO 639-1 code
* (2-letter lowercase code) or
* ISO 639-2 code
* (3-letter lowercase code).
*
* @param code
* An ISO 639-1
* code (2-letter lowercase code) or an
* ISO 639-2
* code (3-letter lowercase code). Or "undefined" (its case
* sensitivity depends on the value of {@code caseSensitive}).
* Note that if the given code is one of legacy language codes
* ("iw", "ji" and "in"), it is treated as its official counterpart
* ("he", "yi" and "id"), respectively. For example, if "in" is
* given, this method returns {@link #ind LanguageAlpha3Code.ind}.
*
* @param caseSensitive
* If {@code true}, the given code should consist of lowercase letters only.
* If {@code false}, this method internally canonicalizes the given code by
* {@link String#toLowerCase()} and then performs search. For
* example, {@code getByCode("JPN", true)} returns {@code null}, but on the
* other hand, {@code getByCode("JPN", false)} returns {@link #jpn
* LanguageAlpha3Code.jpn}.
*
* As an exceptional case, both {@code getByCode("New", true)} and
* {@code getByCode("new", true)} return {@link #New} (Newari).
*
* @return
* A {@code LanguageAlpha3Code} instance, or {@code null} if not found.
* If ISO 639-1
* code (2-letter code) is given and the language has two
* ISO 639-2
* codes, ISO 639/T code ("terminological" code) is returned.
*/
public static LanguageAlpha3Code getByCode(String code, boolean caseSensitive)
{
code = canonicalize(code, caseSensitive);
if (code == null)
{
return null;
}
switch (code.length())
{
case 2:
break;
case 3:
case 9:
return getByEnumName(code);
default:
return null;
}
code = LanguageCode.canonicalize(code, caseSensitive);
LanguageCode alpha2 = LanguageCode.getByEnumName(code);
if (alpha2 == null)
{
return null;
}
return alpha2.getAlpha3();
}
static LanguageAlpha3Code getByEnumName(String name)
{
try
{
return Enum.valueOf(LanguageAlpha3Code.class, name);
}
catch (IllegalArgumentException e)
{
return null;
}
}
private static String canonicalize(String code, boolean caseSensitive)
{
if (code == null || code.length() == 0)
{
return null;
}
if (caseSensitive == false)
{
code = code.toLowerCase();
}
// A special case for Newari.
if (code.equals("new")) {
code = "New";
}
return code;
}
/**
* Get a list of {@code LanguageAlpha3Code} by a name regular expression.
*
*
* This method is almost equivalent to {@link #findByName(Pattern)
* findByName}{@code (Pattern.compile(regex))}.
*
*
* @param regex
* Regular expression for names.
*
* @return
* List of {@code LanguageAlpha3Code}. If nothing has matched,
* an empty list is returned.
*
* @throws IllegalArgumentException
* {@code regex} is {@code null}.
*
* @throws java.util.regex.PatternSyntaxException
* {@code regex} failed to be compiled.
*
* @since 1.11
*/
public static List findByName(String regex)
{
if (regex == null)
{
throw new IllegalArgumentException("regex is null.");
}
// Compile the regular expression. This may throw
// java.util.regex.PatternSyntaxException.
Pattern pattern = Pattern.compile(regex);
return findByName(pattern);
}
/**
* Get a list of {@code LanguageAlpha3Code} by a name pattern.
*
*
* For example, the list obtained by the code snippet below:
*
*
*
* Pattern pattern = Pattern.compile("Old.*");
* List<LanguageAlpha3Code> list = LanguageAlpha3Code.findByName(pattern);
*
*
* contains 7 {@code LanguageAlpha3Code}s as listed below.
*
*
*
* - {@link #ang} : Old English
*
- {@link #fro} : Old French
*
- {@link #goh} : Old High German
*
- {@link #non} : Old Norse
*
- {@link #peo} : Old Persian
*
- {@link #pro} : Old Provençal
*
- {@link #sga} : Old Irish
*
*
* @param pattern
* Pattern to match names.
*
* @return
* List of {@code LanguageAlpha3Code}. If nothing has matched,
* an empty list is returned.
*
* @throws IllegalArgumentException
* {@code pattern} is {@code null}.
*
* @since 1.11
*/
public static List findByName(Pattern pattern)
{
if (pattern == null)
{
throw new IllegalArgumentException("pattern is null.");
}
List list = new ArrayList();
for (LanguageAlpha3Code entry : values())
{
// If the name matches the given pattern.
if (pattern.matcher(entry.getName()).matches())
{
list.add(entry);
}
}
return list;
}
}