languagecode

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2020 License: MIT Imports: 0 Imported by: 0

README

go-languagecode

CI status GoDoc

Package languagecode provides utilities for representing languages in code, and handling their serializations and deserializations in a convenient way.

All serializations will result in LanguageUndefined if input data is not a recognized language code. Some conversions are lossy as not all languages have all codes. To avoid loss, you can use the Has<Format> method to check whether the language has a code of the wanted format before conversion.

ISO-639-2 and ISO-639-2/B codes are treated distinctly and the B codes will not default to the formal code. If you need defaulting you can perform a FormatAlpha3B lookup first and if it returns LanguageUndefined, perform a FormatAlpha3 lookup. This design choice is made because the defaulting logic requirements vary case by case.

All the exported types are one word in memory and as such provide fast equality checks, hashing for usage as keys in maps. Conversions between the types are zero overhead (don't even escape the stack), serialization is worst case O(1), and deserialization is worst case O(n).

License

MIT License. See LICENSE for more details.

Documentation

Overview

Package languagecode provides utilities for representing languages in code, and handling their serializations and deserializations in a convenient way.

All serializations will result in `LanguageUndefined` if input data is not a recognized language code. Some conversions are lossy as not all languages have all codes. To avoid loss, you can use the Has<Format> methods to check whether the language has a code of the wanted format before conversion.

ISO-639-2 and ISO-639-2/B codes are treated distinctly and the B codes will not default to the formal code. If you need defaulting you can perform a FormatAlpha3B lookup first and if it returns `LanguageUndefined`, perform a FormatAlpha3 lookup. This design choice is made because the defaulting logic requirements vary case by case.

All the exported types are one word in memory and as such provide fast equality checks, hashing for usage as keys in maps. Conversions between the types are zero overhead (don't even escape the stack), serialization is worst case O(1), and deserialization is worst case O(n).

Example (MarshalJSON)
mapping := map[languagecode.LanguageAlpha3]int{
	languagecode.ELL.Alpha3(): 1234,
	languagecode.ENG.Alpha3(): 2345,
}
data, _ := json.Marshal(mapping)
Output:

{"ell":1234,"eng":2345}
Example (UnmarshalJSON)
data := []byte(`
		{
			"ell": 1234,
			"eng": 2345
		}
	`)
var mapping map[languagecode.LanguageAlpha3]int
_ = json.Unmarshal(data, &mapping)
Output:

map[languagecode.LanguageAlpha3]int{ell:1234, eng:2345}

Index

Examples

Constants

This section is empty.

Variables

View Source
var (
	// AAR is Afar.
	AAR = Language{1}
	// ABK is Abkhazian.
	ABK = Language{2}
	// ACE is Achinese.
	ACE = Language{3}
	// ACH is Acoli.
	ACH = Language{4}
	// ADA is Adangme.
	ADA = Language{5}
	// ADY is Adyghe; Adygei.
	ADY = Language{6}
	// AFA is Afro-Asiatic languages.
	AFA = Language{7}
	// AFH is Afrihili.
	AFH = Language{8}
	// AFR is Afrikaans.
	AFR = Language{9}
	// AIN is Ainu.
	AIN = Language{10}
	// AKA is Akan.
	AKA = Language{11}
	// AKK is Akkadian.
	AKK = Language{12}
	// ALE is Aleut.
	ALE = Language{13}
	// ALG is Algonquian languages.
	ALG = Language{14}
	// ALT is Southern Altai.
	ALT = Language{15}
	// AMH is Amharic.
	AMH = Language{16}
	// ANG is English, Old (ca.450-1100).
	ANG = Language{17}
	// ANP is Angika.
	ANP = Language{18}
	// APA is Apache languages.
	APA = Language{19}
	// ARA is Arabic.
	ARA = Language{20}
	// ARC is Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE).
	ARC = Language{21}
	// ARG is Aragonese.
	ARG = Language{22}
	// ARN is Mapudungun; Mapuche.
	ARN = Language{23}
	// ARP is Arapaho.
	ARP = Language{24}
	// ART is Artificial languages.
	ART = Language{25}
	// ARW is Arawak.
	ARW = Language{26}
	// ASM is Assamese.
	ASM = Language{27}
	// AST is Asturian; Bable; Leonese; Asturleonese.
	AST = Language{28}
	// ATH is Athapascan languages.
	ATH = Language{29}
	// AUS is Australian languages.
	AUS = Language{30}
	// AVA is Avaric.
	AVA = Language{31}
	// AVE is Avestan.
	AVE = Language{32}
	// AWA is Awadhi.
	AWA = Language{33}
	// AYM is Aymara.
	AYM = Language{34}
	// AZE is Azerbaijani.
	AZE = Language{35}
	// BAD is Banda languages.
	BAD = Language{36}
	// BAI is Bamileke languages.
	BAI = Language{37}
	// BAK is Bashkir.
	BAK = Language{38}
	// BAL is Baluchi.
	BAL = Language{39}
	// BAM is Bambara.
	BAM = Language{40}
	// BAN is Balinese.
	BAN = Language{41}
	// BAS is Basa.
	BAS = Language{42}
	// BAT is Baltic languages.
	BAT = Language{43}
	// BEJ is Beja; Bedawiyet.
	BEJ = Language{44}
	// BEL is Belarusian.
	BEL = Language{45}
	// BEM is Bemba.
	BEM = Language{46}
	// BEN is Bengali.
	BEN = Language{47}
	// BER is Berber languages.
	BER = Language{48}
	// BHO is Bhojpuri.
	BHO = Language{49}
	// BIH is Bihari languages.
	BIH = Language{50}
	// BIK is Bikol.
	BIK = Language{51}
	// BIN is Bini; Edo.
	BIN = Language{52}
	// BIS is Bislama.
	BIS = Language{53}
	// BLA is Siksika.
	BLA = Language{54}
	// BNT is Bantu languages.
	BNT = Language{55}
	// BOD is Tibetan.
	BOD = Language{56}
	// BOS is Bosnian.
	BOS = Language{57}
	// BRA is Braj.
	BRA = Language{58}
	// BRE is Breton.
	BRE = Language{59}
	// BTK is Batak languages.
	BTK = Language{60}
	// BUA is Buriat.
	BUA = Language{61}
	// BUG is Buginese.
	BUG = Language{62}
	// BUL is Bulgarian.
	BUL = Language{63}
	// BYN is Blin; Bilin.
	BYN = Language{64}
	// CAD is Caddo.
	CAD = Language{65}
	// CAI is Central American Indian languages.
	CAI = Language{66}
	// CAR is Galibi Carib.
	CAR = Language{67}
	// CAT is Catalan; Valencian.
	CAT = Language{68}
	// CAU is Caucasian languages.
	CAU = Language{69}
	// CEB is Cebuano.
	CEB = Language{70}
	// CEL is Celtic languages.
	CEL = Language{71}
	// CES is Czech.
	CES = Language{72}
	// CHA is Chamorro.
	CHA = Language{73}
	// CHB is Chibcha.
	CHB = Language{74}
	// CHE is Chechen.
	CHE = Language{75}
	// CHG is Chagatai.
	CHG = Language{76}
	// CHK is Chuukese.
	CHK = Language{77}
	// CHM is Mari.
	CHM = Language{78}
	// CHN is Chinook jargon.
	CHN = Language{79}
	// CHO is Choctaw.
	CHO = Language{80}
	// CHP is Chipewyan; Dene Suline.
	CHP = Language{81}
	// CHR is Cherokee.
	CHR = Language{82}
	// CHU is Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic.
	CHU = Language{83}
	// CHV is Chuvash.
	CHV = Language{84}
	// CHY is Cheyenne.
	CHY = Language{85}
	// CMC is Chamic languages.
	CMC = Language{86}
	// COP is Coptic.
	COP = Language{87}
	// COR is Cornish.
	COR = Language{88}
	// COS is Corsican.
	COS = Language{89}
	// CPE is Creoles and pidgins, English based.
	CPE = Language{90}
	// CPF is Creoles and pidgins, French-based.
	CPF = Language{91}
	// CPP is Creoles and pidgins, Portuguese-based.
	CPP = Language{92}
	// CRE is Cree.
	CRE = Language{93}
	// CRH is Crimean Tatar; Crimean Turkish.
	CRH = Language{94}
	// CRP is Creoles and pidgins.
	CRP = Language{95}
	// CSB is Kashubian.
	CSB = Language{96}
	// CUS is Cushitic languages.
	CUS = Language{97}
	// CYM is Welsh.
	CYM = Language{98}
	// DAK is Dakota.
	DAK = Language{99}
	// DAN is Danish.
	DAN = Language{100}
	// DAR is Dargwa.
	DAR = Language{101}
	// DAY is Land Dayak languages.
	DAY = Language{102}
	// DEL is Delaware.
	DEL = Language{103}
	// DEN is Slave (Athapascan).
	DEN = Language{104}
	// DEU is German.
	DEU = Language{105}
	// DGR is Dogrib.
	DGR = Language{106}
	// DIN is Dinka.
	DIN = Language{107}
	// DIV is Divehi; Dhivehi; Maldivian.
	DIV = Language{108}
	// DOI is Dogri.
	DOI = Language{109}
	// DRA is Dravidian languages.
	DRA = Language{110}
	// DSB is Lower Sorbian.
	DSB = Language{111}
	// DUA is Duala.
	DUA = Language{112}
	// DUM is Dutch, Middle (ca.1050-1350).
	DUM = Language{113}
	// DYU is Dyula.
	DYU = Language{114}
	// DZO is Dzongkha.
	DZO = Language{115}
	// EFI is Efik.
	EFI = Language{116}
	// EGY is Egyptian (Ancient).
	EGY = Language{117}
	// EKA is Ekajuk.
	EKA = Language{118}
	// ELL is Greek, Modern (1453-).
	ELL = Language{119}
	// ELX is Elamite.
	ELX = Language{120}
	// ENG is English.
	ENG = Language{121}
	// ENM is English, Middle (1100-1500).
	ENM = Language{122}
	// EPO is Esperanto.
	EPO = Language{123}
	// EST is Estonian.
	EST = Language{124}
	// EUS is Basque.
	EUS = Language{125}
	// EWE is Ewe.
	EWE = Language{126}
	// EWO is Ewondo.
	EWO = Language{127}
	// FAN is Fang.
	FAN = Language{128}
	// FAO is Faroese.
	FAO = Language{129}
	// FAS is Persian.
	FAS = Language{130}
	// FAT is Fanti.
	FAT = Language{131}
	// FIJ is Fijian.
	FIJ = Language{132}
	// FIL is Filipino; Pilipino.
	FIL = Language{133}
	// FIN is Finnish.
	FIN = Language{134}
	// FIU is Finno-Ugrian languages.
	FIU = Language{135}
	// FON is Fon.
	FON = Language{136}
	// FRA is French.
	FRA = Language{137}
	// FRM is French, Middle (ca.1400-1600).
	FRM = Language{138}
	// FRO is French, Old (842-ca.1400).
	FRO = Language{139}
	// FRR is Northern Frisian.
	FRR = Language{140}
	// FRS is Eastern Frisian.
	FRS = Language{141}
	// FRY is Western Frisian.
	FRY = Language{142}
	// FUL is Fulah.
	FUL = Language{143}
	// FUR is Friulian.
	FUR = Language{144}
	// GAA is Ga.
	GAA = Language{145}
	// GAY is Gayo.
	GAY = Language{146}
	// GBA is Gbaya.
	GBA = Language{147}
	// GEM is Germanic languages.
	GEM = Language{148}
	// GEZ is Geez.
	GEZ = Language{149}
	// GIL is Gilbertese.
	GIL = Language{150}
	// GLA is Gaelic; Scottish Gaelic.
	GLA = Language{151}
	// GLE is Irish.
	GLE = Language{152}
	// GLG is Galician.
	GLG = Language{153}
	// GLV is Manx.
	GLV = Language{154}
	// GMH is German, Middle High (ca.1050-1500).
	GMH = Language{155}
	// GOH is German, Old High (ca.750-1050).
	GOH = Language{156}
	// GON is Gondi.
	GON = Language{157}
	// GOR is Gorontalo.
	GOR = Language{158}
	// GOT is Gothic.
	GOT = Language{159}
	// GRB is Grebo.
	GRB = Language{160}
	// GRC is Greek, Ancient (to 1453).
	GRC = Language{161}
	// GRN is Guarani.
	GRN = Language{162}
	// GSW is Swiss German; Alemannic; Alsatian.
	GSW = Language{163}
	// GUJ is Gujarati.
	GUJ = Language{164}
	// GWI is Gwich'in.
	GWI = Language{165}
	// HAI is Haida.
	HAI = Language{166}
	// HAT is Haitian; Haitian Creole.
	HAT = Language{167}
	// HAU is Hausa.
	HAU = Language{168}
	// HAW is Hawaiian.
	HAW = Language{169}
	// HEB is Hebrew.
	HEB = Language{170}
	// HER is Herero.
	HER = Language{171}
	// HIL is Hiligaynon.
	HIL = Language{172}
	// HIM is Himachali languages; Western Pahari languages.
	HIM = Language{173}
	// HIN is Hindi.
	HIN = Language{174}
	// HIT is Hittite.
	HIT = Language{175}
	// HMN is Hmong; Mong.
	HMN = Language{176}
	// HMO is Hiri Motu.
	HMO = Language{177}
	// HRV is Croatian.
	HRV = Language{178}
	// HSB is Upper Sorbian.
	HSB = Language{179}
	// HUN is Hungarian.
	HUN = Language{180}
	// HUP is Hupa.
	HUP = Language{181}
	// HYE is Armenian.
	HYE = Language{182}
	// IBA is Iban.
	IBA = Language{183}
	// IBO is Igbo.
	IBO = Language{184}
	// IDO is Ido.
	IDO = Language{185}
	// III is Sichuan Yi; Nuosu.
	III = Language{186}
	// IJO is Ijo languages.
	IJO = Language{187}
	// IKU is Inuktitut.
	IKU = Language{188}
	// ILE is Interlingue; Occidental.
	ILE = Language{189}
	// ILO is Iloko.
	ILO = Language{190}
	// INA is Interlingua (International Auxiliary Language Association).
	INA = Language{191}
	// INC is Indic languages.
	INC = Language{192}
	// IND is Indonesian.
	IND = Language{193}
	// INE is Indo-European languages.
	INE = Language{194}
	// INH is Ingush.
	INH = Language{195}
	// IPK is Inupiaq.
	IPK = Language{196}
	// IRA is Iranian languages.
	IRA = Language{197}
	// IRO is Iroquoian languages.
	IRO = Language{198}
	// ISL is Icelandic.
	ISL = Language{199}
	// ITA is Italian.
	ITA = Language{200}
	// JAV is Javanese.
	JAV = Language{201}
	// JBO is Lojban.
	JBO = Language{202}
	// JPN is Japanese.
	JPN = Language{203}
	// JPR is Judeo-Persian.
	JPR = Language{204}
	// JRB is Judeo-Arabic.
	JRB = Language{205}
	// KAA is Kara-Kalpak.
	KAA = Language{206}
	// KAB is Kabyle.
	KAB = Language{207}
	// KAC is Kachin; Jingpho.
	KAC = Language{208}
	// KAL is Kalaallisut; Greenlandic.
	KAL = Language{209}
	// KAM is Kamba.
	KAM = Language{210}
	// KAN is Kannada.
	KAN = Language{211}
	// KAR is Karen languages.
	KAR = Language{212}
	// KAS is Kashmiri.
	KAS = Language{213}
	// KAT is Georgian.
	KAT = Language{214}
	// KAU is Kanuri.
	KAU = Language{215}
	// KAW is Kawi.
	KAW = Language{216}
	// KAZ is Kazakh.
	KAZ = Language{217}
	// KBD is Kabardian.
	KBD = Language{218}
	// KHA is Khasi.
	KHA = Language{219}
	// KHI is Khoisan languages.
	KHI = Language{220}
	// KHM is Central Khmer.
	KHM = Language{221}
	// KHO is Khotanese; Sakan.
	KHO = Language{222}
	// KIK is Kikuyu; Gikuyu.
	KIK = Language{223}
	// KIN is Kinyarwanda.
	KIN = Language{224}
	// KIR is Kirghiz; Kyrgyz.
	KIR = Language{225}
	// KMB is Kimbundu.
	KMB = Language{226}
	// KOK is Konkani.
	KOK = Language{227}
	// KOM is Komi.
	KOM = Language{228}
	// KON is Kongo.
	KON = Language{229}
	// KOR is Korean.
	KOR = Language{230}
	// KOS is Kosraean.
	KOS = Language{231}
	// KPE is Kpelle.
	KPE = Language{232}
	// KRC is Karachay-Balkar.
	KRC = Language{233}
	// KRL is Karelian.
	KRL = Language{234}
	// KRO is Kru languages.
	KRO = Language{235}
	// KRU is Kurukh.
	KRU = Language{236}
	// KUA is Kuanyama; Kwanyama.
	KUA = Language{237}
	// KUM is Kumyk.
	KUM = Language{238}
	// KUR is Kurdish.
	KUR = Language{239}
	// KUT is Kutenai.
	KUT = Language{240}
	// LAD is Ladino.
	LAD = Language{241}
	// LAH is Lahnda.
	LAH = Language{242}
	// LAM is Lamba.
	LAM = Language{243}
	// LAO is Lao.
	LAO = Language{244}
	// LAT is Latin.
	LAT = Language{245}
	// LAV is Latvian.
	LAV = Language{246}
	// LEZ is Lezghian.
	LEZ = Language{247}
	// LIM is Limburgan; Limburger; Limburgish.
	LIM = Language{248}
	// LIN is Lingala.
	LIN = Language{249}
	// LIT is Lithuanian.
	LIT = Language{250}
	// LOL is Mongo.
	LOL = Language{251}
	// LOZ is Lozi.
	LOZ = Language{252}
	// LTZ is Luxembourgish; Letzeburgesch.
	LTZ = Language{253}
	// LUA is Luba-Lulua.
	LUA = Language{254}
	// LUB is Luba-Katanga.
	LUB = Language{255}
	// LUG is Ganda.
	LUG = Language{256}
	// LUI is Luiseno.
	LUI = Language{257}
	// LUN is Lunda.
	LUN = Language{258}
	// LUO is Luo (Kenya and Tanzania).
	LUO = Language{259}
	// LUS is Lushai.
	LUS = Language{260}
	// MAD is Madurese.
	MAD = Language{261}
	// MAG is Magahi.
	MAG = Language{262}
	// MAH is Marshallese.
	MAH = Language{263}
	// MAI is Maithili.
	MAI = Language{264}
	// MAK is Makasar.
	MAK = Language{265}
	// MAL is Malayalam.
	MAL = Language{266}
	// MAN is Mandingo.
	MAN = Language{267}
	// MAP is Austronesian languages.
	MAP = Language{268}
	// MAR is Marathi.
	MAR = Language{269}
	// MAS is Masai.
	MAS = Language{270}
	// MDF is Moksha.
	MDF = Language{271}
	// MDR is Mandar.
	MDR = Language{272}
	// MEN is Mende.
	MEN = Language{273}
	// MGA is Irish, Middle (900-1200).
	MGA = Language{274}
	// MIC is Mi'kmaq; Micmac.
	MIC = Language{275}
	// MIN is Minangkabau.
	MIN = Language{276}
	// MIS is Uncoded languages.
	MIS = Language{277}
	// MKD is Macedonian.
	MKD = Language{278}
	// MKH is Mon-Khmer languages.
	MKH = Language{279}
	// MLG is Malagasy.
	MLG = Language{280}
	// MLT is Maltese.
	MLT = Language{281}
	// MNC is Manchu.
	MNC = Language{282}
	// MNI is Manipuri.
	MNI = Language{283}
	// MNO is Manobo languages.
	MNO = Language{284}
	// MOH is Mohawk.
	MOH = Language{285}
	// MON is Mongolian.
	MON = Language{286}
	// MOS is Mossi.
	MOS = Language{287}
	// MRI is Maori.
	MRI = Language{288}
	// MSA is Malay.
	MSA = Language{289}
	// MUL is Multiple languages.
	MUL = Language{290}
	// MUN is Munda languages.
	MUN = Language{291}
	// MUS is Creek.
	MUS = Language{292}
	// MWL is Mirandese.
	MWL = Language{293}
	// MWR is Marwari.
	MWR = Language{294}
	// MYA is Burmese.
	MYA = Language{295}
	// MYN is Mayan languages.
	MYN = Language{296}
	// MYV is Erzya.
	MYV = Language{297}
	// NAH is Nahuatl languages.
	NAH = Language{298}
	// NAI is North American Indian languages.
	NAI = Language{299}
	// NAP is Neapolitan.
	NAP = Language{300}
	// NAU is Nauru.
	NAU = Language{301}
	// NAV is Navajo; Navaho.
	NAV = Language{302}
	// NBL is Ndebele, South; South Ndebele.
	NBL = Language{303}
	// NDE is Ndebele, North; North Ndebele.
	NDE = Language{304}
	// NDO is Ndonga.
	NDO = Language{305}
	// NDS is Low German; Low Saxon; German, Low; Saxon, Low.
	NDS = Language{306}
	// NEP is Nepali.
	NEP = Language{307}
	// NEW is Nepal Bhasa; Newari.
	NEW = Language{308}
	// NIA is Nias.
	NIA = Language{309}
	// NIC is Niger-Kordofanian languages.
	NIC = Language{310}
	// NIU is Niuean.
	NIU = Language{311}
	// NLD is Dutch; Flemish.
	NLD = Language{312}
	// NNO is Norwegian Nynorsk; Nynorsk, Norwegian.
	NNO = Language{313}
	// NOB is Bokmål, Norwegian; Norwegian Bokmål.
	NOB = Language{314}
	// NOG is Nogai.
	NOG = Language{315}
	// NON is Norse, Old.
	NON = Language{316}
	// NOR is Norwegian.
	NOR = Language{317}
	// NQO is N'Ko.
	NQO = Language{318}
	// NSO is Pedi; Sepedi; Northern Sotho.
	NSO = Language{319}
	// NUB is Nubian languages.
	NUB = Language{320}
	// NWC is Classical Newari; Old Newari; Classical Nepal Bhasa.
	NWC = Language{321}
	// NYA is Chichewa; Chewa; Nyanja.
	NYA = Language{322}
	// NYM is Nyamwezi.
	NYM = Language{323}
	// NYN is Nyankole.
	NYN = Language{324}
	// NYO is Nyoro.
	NYO = Language{325}
	// NZI is Nzima.
	NZI = Language{326}
	// OCI is Occitan (post 1500).
	OCI = Language{327}
	// OJI is Ojibwa.
	OJI = Language{328}
	// ORI is Oriya.
	ORI = Language{329}
	// ORM is Oromo.
	ORM = Language{330}
	// OSA is Osage.
	OSA = Language{331}
	// OSS is Ossetian; Ossetic.
	OSS = Language{332}
	// OTA is Turkish, Ottoman (1500-1928).
	OTA = Language{333}
	// OTO is Otomian languages.
	OTO = Language{334}
	// PAA is Papuan languages.
	PAA = Language{335}
	// PAG is Pangasinan.
	PAG = Language{336}
	// PAL is Pahlavi.
	PAL = Language{337}
	// PAM is Pampanga; Kapampangan.
	PAM = Language{338}
	// PAN is Panjabi; Punjabi.
	PAN = Language{339}
	// PAP is Papiamento.
	PAP = Language{340}
	// PAU is Palauan.
	PAU = Language{341}
	// PEO is Persian, Old (ca.600-400 B.C.).
	PEO = Language{342}
	// PHI is Philippine languages.
	PHI = Language{343}
	// PHN is Phoenician.
	PHN = Language{344}
	// PLI is Pali.
	PLI = Language{345}
	// POL is Polish.
	POL = Language{346}
	// PON is Pohnpeian.
	PON = Language{347}
	// POR is Portuguese.
	POR = Language{348}
	// PRA is Prakrit languages.
	PRA = Language{349}
	// PRO is Provençal, Old (to 1500); Occitan, Old (to 1500).
	PRO = Language{350}
	// PUS is Pushto; Pashto.
	PUS = Language{351}
	// QUE is Quechua.
	QUE = Language{352}
	// RAJ is Rajasthani.
	RAJ = Language{353}
	// RAP is Rapanui.
	RAP = Language{354}
	// RAR is Rarotongan; Cook Islands Maori.
	RAR = Language{355}
	// ROA is Romance languages.
	ROA = Language{356}
	// ROH is Romansh.
	ROH = Language{357}
	// ROM is Romany.
	ROM = Language{358}
	// RON is Romanian; Moldavian; Moldovan.
	RON = Language{359}
	// RUN is Rundi.
	RUN = Language{360}
	// RUP is Aromanian; Arumanian; Macedo-Romanian.
	RUP = Language{361}
	// RUS is Russian.
	RUS = Language{362}
	// SAD is Sandawe.
	SAD = Language{363}
	// SAG is Sango.
	SAG = Language{364}
	// SAH is Yakut.
	SAH = Language{365}
	// SAI is South American Indian languages.
	SAI = Language{366}
	// SAL is Salishan languages.
	SAL = Language{367}
	// SAM is Samaritan Aramaic.
	SAM = Language{368}
	// SAN is Sanskrit.
	SAN = Language{369}
	// SAS is Sasak.
	SAS = Language{370}
	// SAT is Santali.
	SAT = Language{371}
	// SCN is Sicilian.
	SCN = Language{372}
	// SCO is Scots.
	SCO = Language{373}
	// SEL is Selkup.
	SEL = Language{374}
	// SEM is Semitic languages.
	SEM = Language{375}
	// SGA is Irish, Old (to 900).
	SGA = Language{376}
	// SGN is Sign Languages.
	SGN = Language{377}
	// SHN is Shan.
	SHN = Language{378}
	// SID is Sidamo.
	SID = Language{379}
	// SIN is Sinhala; Sinhalese.
	SIN = Language{380}
	// SIO is Siouan languages.
	SIO = Language{381}
	// SIT is Sino-Tibetan languages.
	SIT = Language{382}
	// SLA is Slavic languages.
	SLA = Language{383}
	// SLK is Slovak.
	SLK = Language{384}
	// SLV is Slovenian.
	SLV = Language{385}
	// SMA is Southern Sami.
	SMA = Language{386}
	// SME is Northern Sami.
	SME = Language{387}
	// SMI is Sami languages.
	SMI = Language{388}
	// SMJ is Lule Sami.
	SMJ = Language{389}
	// SMN is Inari Sami.
	SMN = Language{390}
	// SMO is Samoan.
	SMO = Language{391}
	// SMS is Skolt Sami.
	SMS = Language{392}
	// SNA is Shona.
	SNA = Language{393}
	// SND is Sindhi.
	SND = Language{394}
	// SNK is Soninke.
	SNK = Language{395}
	// SOG is Sogdian.
	SOG = Language{396}
	// SOM is Somali.
	SOM = Language{397}
	// SON is Songhai languages.
	SON = Language{398}
	// SOT is Sotho, Southern.
	SOT = Language{399}
	// SPA is Spanish; Castilian.
	SPA = Language{400}
	// SQI is Albanian.
	SQI = Language{401}
	// SRD is Sardinian.
	SRD = Language{402}
	// SRN is Sranan Tongo.
	SRN = Language{403}
	// SRP is Serbian.
	SRP = Language{404}
	// SRR is Serer.
	SRR = Language{405}
	// SSA is Nilo-Saharan languages.
	SSA = Language{406}
	// SSW is Swati.
	SSW = Language{407}
	// SUK is Sukuma.
	SUK = Language{408}
	// SUN is Sundanese.
	SUN = Language{409}
	// SUS is Susu.
	SUS = Language{410}
	// SUX is Sumerian.
	SUX = Language{411}
	// SWA is Swahili.
	SWA = Language{412}
	// SWE is Swedish.
	SWE = Language{413}
	// SYC is Classical Syriac.
	SYC = Language{414}
	// SYR is Syriac.
	SYR = Language{415}
	// TAH is Tahitian.
	TAH = Language{416}
	// TAI is Tai languages.
	TAI = Language{417}
	// TAM is Tamil.
	TAM = Language{418}
	// TAT is Tatar.
	TAT = Language{419}
	// TEL is Telugu.
	TEL = Language{420}
	// TEM is Timne.
	TEM = Language{421}
	// TER is Tereno.
	TER = Language{422}
	// TET is Tetum.
	TET = Language{423}
	// TGK is Tajik.
	TGK = Language{424}
	// TGL is Tagalog.
	TGL = Language{425}
	// THA is Thai.
	THA = Language{426}
	// TIG is Tigre.
	TIG = Language{427}
	// TIR is Tigrinya.
	TIR = Language{428}
	// TIV is Tiv.
	TIV = Language{429}
	// TKL is Tokelau.
	TKL = Language{430}
	// TLH is Klingon; tlhIngan-Hol.
	TLH = Language{431}
	// TLI is Tlingit.
	TLI = Language{432}
	// TMH is Tamashek.
	TMH = Language{433}
	// TOG is Tonga (Nyasa).
	TOG = Language{434}
	// TON is Tonga (Tonga Islands).
	TON = Language{435}
	// TPI is Tok Pisin.
	TPI = Language{436}
	// TSI is Tsimshian.
	TSI = Language{437}
	// TSN is Tswana.
	TSN = Language{438}
	// TSO is Tsonga.
	TSO = Language{439}
	// TUK is Turkmen.
	TUK = Language{440}
	// TUM is Tumbuka.
	TUM = Language{441}
	// TUP is Tupi languages.
	TUP = Language{442}
	// TUR is Turkish.
	TUR = Language{443}
	// TUT is Altaic languages.
	TUT = Language{444}
	// TVL is Tuvalu.
	TVL = Language{445}
	// TWI is Twi.
	TWI = Language{446}
	// TYV is Tuvinian.
	TYV = Language{447}
	// UDM is Udmurt.
	UDM = Language{448}
	// UGA is Ugaritic.
	UGA = Language{449}
	// UIG is Uighur; Uyghur.
	UIG = Language{450}
	// UKR is Ukrainian.
	UKR = Language{451}
	// UMB is Umbundu.
	UMB = Language{452}
	// UND is Undetermined.
	UND = Language{453}
	// URD is Urdu.
	URD = Language{454}
	// UZB is Uzbek.
	UZB = Language{455}
	// VAI is Vai.
	VAI = Language{456}
	// VEN is Venda.
	VEN = Language{457}
	// VIE is Vietnamese.
	VIE = Language{458}
	// VOL is Volapük.
	VOL = Language{459}
	// VOT is Votic.
	VOT = Language{460}
	// WAK is Wakashan languages.
	WAK = Language{461}
	// WAL is Wolaitta; Wolaytta.
	WAL = Language{462}
	// WAR is Waray.
	WAR = Language{463}
	// WAS is Washo.
	WAS = Language{464}
	// WEN is Sorbian languages.
	WEN = Language{465}
	// WLN is Walloon.
	WLN = Language{466}
	// WOL is Wolof.
	WOL = Language{467}
	// XAL is Kalmyk; Oirat.
	XAL = Language{468}
	// XHO is Xhosa.
	XHO = Language{469}
	// YAO is Yao.
	YAO = Language{470}
	// YAP is Yapese.
	YAP = Language{471}
	// YID is Yiddish.
	YID = Language{472}
	// YOR is Yoruba.
	YOR = Language{473}
	// YPK is Yupik languages.
	YPK = Language{474}
	// ZAP is Zapotec.
	ZAP = Language{475}
	// ZBL is Blissymbols; Blissymbolics; Bliss.
	ZBL = Language{476}
	// ZEN is Zenaga.
	ZEN = Language{477}
	// ZGH is Standard Moroccan Tamazight.
	ZGH = Language{478}
	// ZHA is Zhuang; Chuang.
	ZHA = Language{479}
	// ZHO is Chinese.
	ZHO = Language{480}
	// ZND is Zande languages.
	ZND = Language{481}
	// ZUL is Zulu.
	ZUL = Language{482}
	// ZUN is Zuni.
	ZUN = Language{483}
	// ZXX is No linguistic content; Not applicable.
	ZXX = Language{484}
	// ZZA is Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki.
	ZZA = Language{485}
)

Code generated. DO NOT EDIT.

View Source
var LanguageUndefined = Language{}

LanguageUndefined represents an undefined language.

Functions

This section is empty.

Types

type Format

type Format int

Format represents a specific language code format with a specific serialization.

Example (TwoWayConversion)
const countryCodeFormat = languagecode.FormatAlpha3

type externalData struct {
	Language string
}

type internalData struct {
	Language languagecode.Language
}

toInternalData := func(d externalData) internalData {
	return internalData{Language: countryCodeFormat.Deserialize(d.Language)}
}

toExternalData := func(d internalData) externalData {
	return externalData{Language: countryCodeFormat.Serialize(d.Language)}
}

edata := externalData{Language: "ell"}
idata := toInternalData(edata)
edata = toExternalData(idata)
Output:

{ell}
const (
	// FormatAlpha3 is an ISO-639-2 language code.
	FormatAlpha3 Format = iota
	// FormatAlpha3B is an ISO-639-2/B language code.
	FormatAlpha3B
	// FormatAlpha2 is an ISO-639-1 language code.
	FormatAlpha2
)

func (Format) Deserialize

func (f Format) Deserialize(languageCode string) Language

Deserialize the specified language code string of the Format into a Language.

Example
country := languagecode.FormatAlpha2.Deserialize("en")
Output:

true

func (Format) Serialize

func (f Format) Serialize(language Language) string

Serialize the specified Language into a language code string of the Format.

Example
countryCodeAlpha2 := languagecode.FormatAlpha2.Serialize(languagecode.ENG)
Output:

en

type Language

type Language struct {
	// contains filtered or unexported fields
}

Language represents the language codes of a language.

func (Language) Alpha2

func (l Language) Alpha2() LanguageAlpha2

Alpha2 returns the language with the Alpha2 serialization.

func (Language) Alpha3

func (l Language) Alpha3() LanguageAlpha3

Alpha3 returns the language with the Alpha3 serialization.

func (Language) Alpha3B

func (l Language) Alpha3B() LanguageAlpha3B

Alpha3B returns the language with the Alpha3B serialization.

func (Language) GoString

func (l Language) GoString() string

GoString implements fmt.GoStringer.

func (Language) HasAlpha2

func (l Language) HasAlpha2() bool

HasAlpha2 returns a boolean indicating whether or not the language has a designated Alpha2 code.

func (Language) HasAlpha3

func (l Language) HasAlpha3() bool

HasAlpha3 returns a boolean indicating whether or not the language has a designated Alpha3 code.

func (Language) HasAlpha3B

func (l Language) HasAlpha3B() bool

HasAlpha3B returns a boolean indicating whether or not the language has a designated Alpha3B code.

type LanguageAlpha2

type LanguageAlpha2 struct {
	Language
}

LanguageAlpha2 is a Language in ISO 639-1 format.

func (LanguageAlpha2) GoString

func (l LanguageAlpha2) GoString() string

GoString implements fmt.GoStringer.

func (LanguageAlpha2) MarshalText

func (l LanguageAlpha2) MarshalText() ([]byte, error)

MarshalText implements encoding.TextMarshaler.

func (LanguageAlpha2) String

func (l LanguageAlpha2) String() string

String implements fmt.Stringer.

func (*LanguageAlpha2) UnmarshalText

func (l *LanguageAlpha2) UnmarshalText(text []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

type LanguageAlpha3

type LanguageAlpha3 struct {
	Language
}

LanguageAlpha3 is a Language in ISO 639-2 format.

func (LanguageAlpha3) GoString

func (l LanguageAlpha3) GoString() string

GoString implements fmt.GoStringer.

func (LanguageAlpha3) MarshalText

func (l LanguageAlpha3) MarshalText() ([]byte, error)

MarshalText implements encoding.TextMarshaler.

func (LanguageAlpha3) String

func (l LanguageAlpha3) String() string

String implements fmt.Stringer.

func (*LanguageAlpha3) UnmarshalText

func (l *LanguageAlpha3) UnmarshalText(text []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

type LanguageAlpha3B

type LanguageAlpha3B struct {
	Language
}

LanguageAlpha3B is a Language in ISO 639-2/B format.

func (LanguageAlpha3B) GoString

func (l LanguageAlpha3B) GoString() string

GoString implements fmt.GoStringer.

func (LanguageAlpha3B) MarshalText

func (l LanguageAlpha3B) MarshalText() ([]byte, error)

MarshalText implements encoding.TextMarshaler.

func (LanguageAlpha3B) String

func (l LanguageAlpha3B) String() string

String implements fmt.Stringer.

func (*LanguageAlpha3B) UnmarshalText

func (l *LanguageAlpha3B) UnmarshalText(text []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL