Last active
November 13, 2024 09:22
-
-
Save Chizaruu/3324a299864d6f6842ee55a52810ad07 to your computer and use it in GitHub Desktop.
The World's langauges in one neat typescript array.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| interface Language { | |
| label: string; | |
| value: string; | |
| iso639_1?: string; | |
| iso639_2: string; | |
| } | |
| const languages: Language[] = [ | |
| { | |
| label: 'Afrikaans', | |
| value: 'afrikaans', | |
| iso639_1: 'af', | |
| iso639_2: 'afr' | |
| }, | |
| { | |
| label: 'Albanian', | |
| value: 'albanian', | |
| iso639_1: 'sq', | |
| iso639_2: 'alb' | |
| }, | |
| { | |
| label: 'Amharic', | |
| value: 'amharic', | |
| iso639_1: 'am', | |
| iso639_2: 'amh' | |
| }, | |
| { | |
| label: 'Arabic', | |
| value: 'arabic', | |
| iso639_1: 'ar', | |
| iso639_2: 'ara' | |
| }, | |
| { | |
| label: 'Arabic (Egyptian)', | |
| value: 'arabic-egyptian', | |
| iso639_1: 'ar', | |
| iso639_2: 'arz' | |
| }, | |
| { | |
| label: 'Arabic (Modern Standard)', | |
| value: 'arabic-modern', | |
| iso639_1: 'ar', | |
| iso639_2: 'arb' | |
| }, | |
| { | |
| label: 'Armenian', | |
| value: 'armenian', | |
| iso639_1: 'hy', | |
| iso639_2: 'arm' | |
| }, | |
| { | |
| label: 'Assamese', | |
| value: 'assamese', | |
| iso639_1: 'as', | |
| iso639_2: 'asm' | |
| }, | |
| { | |
| label: 'Aymara', | |
| value: 'aymara', | |
| iso639_1: 'ay', | |
| iso639_2: 'aym' | |
| }, | |
| { | |
| label: 'Azerbaijani', | |
| value: 'azerbaijani', | |
| iso639_1: 'az', | |
| iso639_2: 'aze' | |
| }, | |
| { | |
| label: 'Bambara', | |
| value: 'bambara', | |
| iso639_1: 'bm', | |
| iso639_2: 'bam' | |
| }, | |
| { | |
| label: 'Basque', | |
| value: 'basque', | |
| iso639_1: 'eu', | |
| iso639_2: 'eus' | |
| }, | |
| { | |
| label: 'Belarusian', | |
| value: 'belarusian', | |
| iso639_1: 'be', | |
| iso639_2: 'bel' | |
| }, | |
| { | |
| label: 'Bengali', | |
| value: 'bengali', | |
| iso639_1: 'bn', | |
| iso639_2: 'ben' | |
| }, | |
| { | |
| label: 'Bhojpuri', | |
| value: 'bhojpuri', | |
| iso639_2: 'bho' | |
| }, | |
| { | |
| label: 'Bislama', | |
| value: 'bislama', | |
| iso639_1: 'bi', | |
| iso639_2: 'bis' | |
| }, | |
| { | |
| label: 'Bosnian', | |
| value: 'bosnian', | |
| iso639_1: 'bs', | |
| iso639_2: 'bos' | |
| }, | |
| { | |
| label: 'Breton', | |
| value: 'breton', | |
| iso639_1: 'br', | |
| iso639_2: 'bre' | |
| }, | |
| { | |
| label: 'Bulgarian', | |
| value: 'bulgarian', | |
| iso639_1: 'bg', | |
| iso639_2: 'bul' | |
| }, | |
| { | |
| label: 'Burmese', | |
| value: 'burmese', | |
| iso639_1: 'my', | |
| iso639_2: 'mya' | |
| }, | |
| { | |
| label: 'Catalan', | |
| value: 'catalan', | |
| iso639_1: 'ca', | |
| iso639_2: 'cat' | |
| }, | |
| { | |
| label: 'Cebuano', | |
| value: 'cebuano', | |
| iso639_2: 'ceb' | |
| }, | |
| { | |
| label: 'Chamorro', | |
| value: 'chamorro', | |
| iso639_1: 'ch', | |
| iso639_2: 'cha' | |
| }, | |
| { | |
| label: 'Chechen', | |
| value: 'chechen', | |
| iso639_1: 'ce', | |
| iso639_2: 'che' | |
| }, | |
| { | |
| label: 'Cherokee', | |
| value: 'cherokee', | |
| iso639_2: 'chr' | |
| }, | |
| { | |
| label: 'Chinese (Cantonese)', | |
| value: 'chinese-cantonese', | |
| iso639_2: 'yue' | |
| }, | |
| { | |
| label: 'Chinese (Mandarin)', | |
| value: 'chinese-mandarin', | |
| iso639_1: 'zh', | |
| iso639_2: 'cmn' | |
| }, | |
| { | |
| label: 'Chinese (Min Nan)', | |
| value: 'chinese-min-nan', | |
| iso639_2: 'nan' | |
| }, | |
| { | |
| label: 'Chinese (Simplified)', | |
| value: 'chinese-simplified', | |
| iso639_1: 'zh', | |
| iso639_2: 'zho' | |
| }, | |
| { | |
| label: 'Chinese (Traditional)', | |
| value: 'chinese-traditional', | |
| iso639_1: 'zh', | |
| iso639_2: 'zho' | |
| }, | |
| { | |
| label: 'Chichewa', | |
| value: 'chichewa', | |
| iso639_1: 'ny', | |
| iso639_2: 'nya' | |
| }, | |
| { | |
| label: 'Corsican', | |
| value: 'corsican', | |
| iso639_1: 'co', | |
| iso639_2: 'cos' | |
| }, | |
| { | |
| label: 'Croatian', | |
| value: 'croatian', | |
| iso639_1: 'hr', | |
| iso639_2: 'hrv' | |
| }, | |
| { | |
| label: 'Czech', | |
| value: 'czech', | |
| iso639_1: 'cs', | |
| iso639_2: 'ces' | |
| }, | |
| { | |
| label: 'Danish', | |
| value: 'danish', | |
| iso639_1: 'da', | |
| iso639_2: 'dan' | |
| }, | |
| { | |
| label: 'Dari', | |
| value: 'dari', | |
| iso639_1: 'fa', | |
| iso639_2: 'prs' | |
| }, | |
| { | |
| label: 'Dhivehi', | |
| value: 'dhivehi', | |
| iso639_1: 'dv', | |
| iso639_2: 'div' | |
| }, | |
| { | |
| label: 'Dutch', | |
| value: 'dutch', | |
| iso639_1: 'nl', | |
| iso639_2: 'nld' | |
| }, | |
| { | |
| label: 'Dzongkha', | |
| value: 'dzongkha', | |
| iso639_1: 'dz', | |
| iso639_2: 'dzo' | |
| }, | |
| { | |
| label: 'English', | |
| value: 'english', | |
| iso639_1: 'en', | |
| iso639_2: 'eng' | |
| }, | |
| { | |
| label: 'English (Australia)', | |
| value: 'english-australian', | |
| iso639_1: 'en', | |
| iso639_2: 'eng' | |
| }, | |
| { | |
| label: 'English (Canada)', | |
| value: 'english-canadian', | |
| iso639_1: 'en', | |
| iso639_2: 'eng' | |
| }, | |
| { | |
| label: 'English (India)', | |
| value: 'english-indian', | |
| iso639_1: 'en', | |
| iso639_2: 'eng' | |
| }, | |
| { | |
| label: 'English (Ireland)', | |
| value: 'english-irish', | |
| iso639_1: 'en', | |
| iso639_2: 'eng' | |
| }, | |
| { | |
| label: 'English (New Zealand)', | |
| value: 'english-newzealand', | |
| iso639_1: 'en', | |
| iso639_2: 'eng' | |
| }, | |
| { | |
| label: 'English (Scotland)', | |
| value: 'english-scotland', | |
| iso639_1: 'en', | |
| iso639_2: 'eng' | |
| }, | |
| { | |
| label: 'English (South Africa)', | |
| value: 'english-southafrica', | |
| iso639_1: 'en', | |
| iso639_2: 'eng' | |
| }, | |
| { | |
| label: 'English (UK)', | |
| value: 'english-uk', | |
| iso639_1: 'en', | |
| iso639_2: 'eng' | |
| }, | |
| { | |
| label: 'English (US)', | |
| value: 'english-us', | |
| iso639_1: 'en', | |
| iso639_2: 'eng' | |
| }, | |
| { | |
| label: 'Esperanto', | |
| value: 'esperanto', | |
| iso639_1: 'eo', | |
| iso639_2: 'epo' | |
| }, | |
| { | |
| label: 'Estonian', | |
| value: 'estonian', | |
| iso639_1: 'et', | |
| iso639_2: 'est' | |
| }, | |
| { | |
| label: 'Ewe', | |
| value: 'ewe', | |
| iso639_1: 'ee', | |
| iso639_2: 'ewe' | |
| }, | |
| { | |
| label: 'Faroese', | |
| value: 'faroese', | |
| iso639_1: 'fo', | |
| iso639_2: 'fao' | |
| }, | |
| { | |
| label: 'Fijian', | |
| value: 'fijian', | |
| iso639_1: 'fj', | |
| iso639_2: 'fij' | |
| }, | |
| { | |
| label: 'Filipino', | |
| value: 'filipino', | |
| iso639_2: 'fil' | |
| }, | |
| { | |
| label: 'Finnish', | |
| value: 'finnish', | |
| iso639_1: 'fi', | |
| iso639_2: 'fin' | |
| }, | |
| { | |
| label: 'French', | |
| value: 'french', | |
| iso639_1: 'fr', | |
| iso639_2: 'fra' | |
| }, | |
| { | |
| label: 'French (Belgium)', | |
| value: 'french-belgian', | |
| iso639_1: 'fr', | |
| iso639_2: 'fra' | |
| }, | |
| { | |
| label: 'French (Canadian)', | |
| value: 'french-canadian', | |
| iso639_1: 'fr', | |
| iso639_2: 'fra' | |
| }, | |
| { | |
| label: 'French (Swiss)', | |
| value: 'french-swiss', | |
| iso639_1: 'fr', | |
| iso639_2: 'fra' | |
| }, | |
| { | |
| label: 'Frisian', | |
| value: 'frisian', | |
| iso639_1: 'fy', | |
| iso639_2: 'fry' | |
| }, | |
| { | |
| label: 'Fulah', | |
| value: 'fulah', | |
| iso639_1: 'ff', | |
| iso639_2: 'ful' | |
| }, | |
| { | |
| label: 'Galician', | |
| value: 'galician', | |
| iso639_1: 'gl', | |
| iso639_2: 'glg' | |
| }, | |
| { | |
| label: 'Georgian', | |
| value: 'georgian', | |
| iso639_1: 'ka', | |
| iso639_2: 'kat' | |
| }, | |
| { | |
| label: 'German', | |
| value: 'german', | |
| iso639_1: 'de', | |
| iso639_2: 'deu' | |
| }, | |
| { | |
| label: 'German (Austria)', | |
| value: 'german-austria', | |
| iso639_1: 'de', | |
| iso639_2: 'deu' | |
| }, | |
| { | |
| label: 'German (Swiss)', | |
| value: 'german-swiss', | |
| iso639_1: 'de', | |
| iso639_2: 'deu' | |
| }, | |
| { | |
| label: 'Greek', | |
| value: 'greek', | |
| iso639_1: 'el', | |
| iso639_2: 'ell' | |
| }, | |
| { | |
| label: 'Greenlandic', | |
| value: 'greenlandic', | |
| iso639_1: 'kl', | |
| iso639_2: 'kal' | |
| }, | |
| { | |
| label: 'Guarani', | |
| value: 'guarani', | |
| iso639_1: 'gn', | |
| iso639_2: 'grn' | |
| }, | |
| { | |
| label: 'Gujarati', | |
| value: 'gujarati', | |
| iso639_1: 'gu', | |
| iso639_2: 'guj' | |
| }, | |
| { | |
| label: 'Haitian Creole', | |
| value: 'haitian-creole', | |
| iso639_1: 'ht', | |
| iso639_2: 'hat' | |
| }, | |
| { | |
| label: 'Hausa', | |
| value: 'hausa', | |
| iso639_1: 'ha', | |
| iso639_2: 'hau' | |
| }, | |
| { | |
| label: 'Hawaiian', | |
| value: 'hawaiian', | |
| iso639_2: 'haw' | |
| }, | |
| { | |
| label: 'Hebrew', | |
| value: 'hebrew', | |
| iso639_1: 'he', | |
| iso639_2: 'heb' | |
| }, | |
| { | |
| label: 'Hindi', | |
| value: 'hindi', | |
| iso639_1: 'hi', | |
| iso639_2: 'hin' | |
| }, | |
| { | |
| label: 'Hmong', | |
| value: 'hmong', | |
| iso639_2: 'hmn' | |
| }, | |
| { | |
| label: 'Hungarian', | |
| value: 'hungarian', | |
| iso639_1: 'hu', | |
| iso639_2: 'hun' | |
| }, | |
| { | |
| label: 'Icelandic', | |
| value: 'icelandic', | |
| iso639_1: 'is', | |
| iso639_2: 'isl' | |
| }, | |
| { | |
| label: 'Igbo', | |
| value: 'igbo', | |
| iso639_1: 'ig', | |
| iso639_2: 'ibo' | |
| }, | |
| { | |
| label: 'Ilocano', | |
| value: 'ilocano', | |
| iso639_2: 'ilo' | |
| }, | |
| { | |
| label: 'Indonesian', | |
| value: 'indonesian', | |
| iso639_1: 'id', | |
| iso639_2: 'ind' | |
| }, | |
| { | |
| label: 'Inuktitut', | |
| value: 'inuktitut', | |
| iso639_1: 'iu', | |
| iso639_2: 'iku' | |
| }, | |
| { | |
| label: 'Irish', | |
| value: 'irish', | |
| iso639_1: 'ga', | |
| iso639_2: 'gle' | |
| }, | |
| { | |
| label: 'Italian', | |
| value: 'italian', | |
| iso639_1: 'it', | |
| iso639_2: 'ita' | |
| }, | |
| { | |
| label: 'Japanese', | |
| value: 'japanese', | |
| iso639_1: 'ja', | |
| iso639_2: 'jpn' | |
| }, | |
| { | |
| label: 'Javanese', | |
| value: 'javanese', | |
| iso639_1: 'jv', | |
| iso639_2: 'jav' | |
| }, | |
| { | |
| label: 'Kannada', | |
| value: 'kannada', | |
| iso639_1: 'kn', | |
| iso639_2: 'kan' | |
| }, | |
| { | |
| label: 'Kashmiri', | |
| value: 'kashmiri', | |
| iso639_1: 'ks', | |
| iso639_2: 'kas' | |
| }, | |
| { | |
| label: 'Kazakh', | |
| value: 'kazakh', | |
| iso639_1: 'kk', | |
| iso639_2: 'kaz' | |
| }, | |
| { | |
| label: 'Khmer', | |
| value: 'khmer', | |
| iso639_1: 'km', | |
| iso639_2: 'khm' | |
| }, | |
| { | |
| label: 'Kinyarwanda', | |
| value: 'kinyarwanda', | |
| iso639_1: 'rw', | |
| iso639_2: 'kin' | |
| }, | |
| { | |
| label: 'Korean', | |
| value: 'korean', | |
| iso639_1: 'ko', | |
| iso639_2: 'kor' | |
| }, | |
| { | |
| label: 'Kurdish', | |
| value: 'kurdish', | |
| iso639_1: 'ku', | |
| iso639_2: 'kur' | |
| }, | |
| { | |
| label: 'Kurdish (Sorani)', | |
| value: 'kurdish-sorani', | |
| iso639_2: 'ckb' | |
| }, | |
| { | |
| label: 'Kyrgyz', | |
| value: 'kyrgyz', | |
| iso639_1: 'ky', | |
| iso639_2: 'kir' | |
| }, | |
| { | |
| label: 'Lao', | |
| value: 'lao', | |
| iso639_1: 'lo', | |
| iso639_2: 'lao' | |
| }, | |
| { | |
| label: 'Latin', | |
| value: 'latin', | |
| iso639_1: 'la', | |
| iso639_2: 'lat' | |
| }, | |
| { | |
| label: 'Latvian', | |
| value: 'latvian', | |
| iso639_1: 'lv', | |
| iso639_2: 'lav' | |
| }, | |
| { | |
| label: 'Lingala', | |
| value: 'lingala', | |
| iso639_1: 'ln', | |
| iso639_2: 'lin' | |
| }, | |
| { | |
| label: 'Lithuanian', | |
| value: 'lithuanian', | |
| iso639_1: 'lt', | |
| iso639_2: 'lit' | |
| }, | |
| { | |
| label: 'Luxembourgish', | |
| value: 'luxembourgish', | |
| iso639_1: 'lb', | |
| iso639_2: 'ltz' | |
| }, | |
| { | |
| label: 'Macedonian', | |
| value: 'macedonian', | |
| iso639_1: 'mk', | |
| iso639_2: 'mkd' | |
| }, | |
| { | |
| label: 'Malagasy', | |
| value: 'malagasy', | |
| iso639_1: 'mg', | |
| iso639_2: 'mlg' | |
| }, | |
| { | |
| label: 'Malay', | |
| value: 'malay', | |
| iso639_1: 'ms', | |
| iso639_2: 'msa' | |
| }, | |
| { | |
| label: 'Malayalam', | |
| value: 'malayalam', | |
| iso639_1: 'ml', | |
| iso639_2: 'mal' | |
| }, | |
| { | |
| label: 'Maltese', | |
| value: 'maltese', | |
| iso639_1: 'mt', | |
| iso639_2: 'mlt' | |
| }, | |
| { | |
| label: 'Maori', | |
| value: 'maori', | |
| iso639_1: 'mi', | |
| iso639_2: 'mri' | |
| }, | |
| { | |
| label: 'Marathi', | |
| value: 'marathi', | |
| iso639_1: 'mr', | |
| iso639_2: 'mar' | |
| }, | |
| { | |
| label: 'Marshallese', | |
| value: 'marshallese', | |
| iso639_1: 'mh', | |
| iso639_2: 'mah' | |
| }, | |
| { | |
| label: 'Mongolian', | |
| value: 'mongolian', | |
| iso639_1: 'mn', | |
| iso639_2: 'mon' | |
| }, | |
| { | |
| label: 'Nauru', | |
| value: 'nauru', | |
| iso639_1: 'na', | |
| iso639_2: 'nau' | |
| }, | |
| { | |
| label: 'Navajo', | |
| value: 'navajo', | |
| iso639_1: 'nv', | |
| iso639_2: 'nav' | |
| }, | |
| { | |
| label: 'Nepali', | |
| value: 'nepali', | |
| iso639_1: 'ne', | |
| iso639_2: 'nep' | |
| }, | |
| { | |
| label: 'Northern Sami', | |
| value: 'northern-sami', | |
| iso639_1: 'se', | |
| iso639_2: 'sme' | |
| }, | |
| { | |
| label: 'Norwegian', | |
| value: 'norwegian', | |
| iso639_1: 'no', | |
| iso639_2: 'nor' | |
| }, | |
| { | |
| label: 'Norwegian (Nynorsk)', | |
| value: 'norwegian-nynorsk', | |
| iso639_1: 'nn', | |
| iso639_2: 'nno' | |
| }, | |
| { | |
| label: 'Occitan', | |
| value: 'occitan', | |
| iso639_1: 'oc', | |
| iso639_2: 'oci' | |
| }, | |
| { | |
| label: 'Odia', | |
| value: 'odia', | |
| iso639_1: 'or', | |
| iso639_2: 'ori' | |
| }, | |
| { | |
| label: 'Oromo', | |
| value: 'oromo', | |
| iso639_1: 'om', | |
| iso639_2: 'orm' | |
| }, | |
| { | |
| label: 'Pashto', | |
| value: 'pashto', | |
| iso639_1: 'ps', | |
| iso639_2: 'pus' | |
| }, | |
| { | |
| label: 'Persian', | |
| value: 'persian', | |
| iso639_1: 'fa', | |
| iso639_2: 'per' | |
| }, | |
| { | |
| label: 'Polish', | |
| value: 'polish', | |
| iso639_1: 'pl', | |
| iso639_2: 'pol' | |
| }, | |
| { | |
| label: 'Portuguese', | |
| value: 'portuguese', | |
| iso639_1: 'pt', | |
| iso639_2: 'por' | |
| }, | |
| { | |
| label: 'Portuguese (Brazil)', | |
| value: 'portuguese-brazil', | |
| iso639_1: 'pt', | |
| iso639_2: 'por' | |
| }, | |
| { | |
| label: 'Portuguese (Angola)', | |
| value: 'portuguese-angola', | |
| iso639_1: 'pt', | |
| iso639_2: 'por' | |
| }, | |
| { | |
| label: 'Punjabi', | |
| value: 'punjabi', | |
| iso639_1: 'pa', | |
| iso639_2: 'pan' | |
| }, | |
| { | |
| label: 'Quechua', | |
| value: 'quechua', | |
| iso639_1: 'qu', | |
| iso639_2: 'que' | |
| }, | |
| { | |
| label: 'Romanian', | |
| value: 'romanian', | |
| iso639_1: 'ro', | |
| iso639_2: 'ron' | |
| }, | |
| { | |
| label: 'Romansh', | |
| value: 'romansh', | |
| iso639_1: 'rm', | |
| iso639_2: 'roh' | |
| }, | |
| { | |
| label: 'Russian', | |
| value: 'russian', | |
| iso639_1: 'ru', | |
| iso639_2: 'rus' | |
| }, | |
| { | |
| label: 'Samoan', | |
| value: 'samoan', | |
| iso639_1: 'sm', | |
| iso639_2: 'smo' | |
| }, | |
| { | |
| label: 'Sanskrit', | |
| value: 'sanskrit', | |
| iso639_1: 'sa', | |
| iso639_2: 'san' | |
| }, | |
| { | |
| label: 'Scots', | |
| value: 'scots', | |
| iso639_2: 'sco' | |
| }, | |
| { | |
| label: 'Scottish Gaelic', | |
| value: 'scottish-gaelic', | |
| iso639_1: 'gd', | |
| iso639_2: 'gla' | |
| }, | |
| { | |
| label: 'Serbian', | |
| value: 'serbian', | |
| iso639_1: 'sr', | |
| iso639_2: 'srp' | |
| }, | |
| { | |
| label: 'Shona', | |
| value: 'shona', | |
| iso639_1: 'sn', | |
| iso639_2: 'sna' | |
| }, | |
| { | |
| label: 'Sindhi', | |
| value: 'sindhi', | |
| iso639_1: 'sd', | |
| iso639_2: 'snd' | |
| }, | |
| { | |
| label: 'Sinhala', | |
| value: 'sinhala', | |
| iso639_1: 'si', | |
| iso639_2: 'sin' | |
| }, | |
| { | |
| label: 'Slovak', | |
| value: 'slovak', | |
| iso639_1: 'sk', | |
| iso639_2: 'slk' | |
| }, | |
| { | |
| label: 'Slovenian', | |
| value: 'slovenian', | |
| iso639_1: 'sl', | |
| iso639_2: 'slv' | |
| }, | |
| { | |
| label: 'Somali', | |
| value: 'somali', | |
| iso639_1: 'so', | |
| iso639_2: 'som' | |
| }, | |
| { | |
| label: 'Spanish', | |
| value: 'spanish', | |
| iso639_1: 'es', | |
| iso639_2: 'spa' | |
| }, | |
| { | |
| label: 'Spanish (Argentina)', | |
| value: 'spanish-argentina', | |
| iso639_1: 'es', | |
| iso639_2: 'spa' | |
| }, | |
| { | |
| label: 'Spanish (Latin America)', | |
| value: 'spanish-latin-america', | |
| iso639_1: 'es', | |
| iso639_2: 'spa' | |
| }, | |
| { | |
| label: 'Spanish (Mexico)', | |
| value: 'spanish-mexico', | |
| iso639_1: 'es', | |
| iso639_2: 'spa' | |
| }, | |
| { | |
| label: 'Sundanese', | |
| value: 'sundanese', | |
| iso639_1: 'su', | |
| iso639_2: 'sun' | |
| }, | |
| { | |
| label: 'Swahili', | |
| value: 'swahili', | |
| iso639_1: 'sw', | |
| iso639_2: 'swa' | |
| }, | |
| { | |
| label: 'Swedish', | |
| value: 'swedish', | |
| iso639_1: 'sv', | |
| iso639_2: 'swe' | |
| }, | |
| { | |
| label: 'Tagalog', | |
| value: 'tagalog', | |
| iso639_1: 'tl', | |
| iso639_2: 'tgl' | |
| }, | |
| { | |
| label: 'Tajik', | |
| value: 'tajik', | |
| iso639_1: 'tg', | |
| iso639_2: 'tgk' | |
| }, | |
| { | |
| label: 'Tamil', | |
| value: 'tamil', | |
| iso639_1: 'ta', | |
| iso639_2: 'tam' | |
| }, | |
| { | |
| label: 'Tatar', | |
| value: 'tatar', | |
| iso639_1: 'tt', | |
| iso639_2: 'tat' | |
| }, | |
| { | |
| label: 'Telugu', | |
| value: 'telugu', | |
| iso639_1: 'te', | |
| iso639_2: 'tel' | |
| }, | |
| { | |
| label: 'Thai', | |
| value: 'thai', | |
| iso639_1: 'th', | |
| iso639_2: 'tha' | |
| }, | |
| { | |
| label: 'Tibetan', | |
| value: 'tibetan', | |
| iso639_1: 'bo', | |
| iso639_2: 'bod' | |
| }, | |
| { | |
| label: 'Tigrinya', | |
| value: 'tigrinya', | |
| iso639_1: 'ti', | |
| iso639_2: 'tir' | |
| }, | |
| { | |
| label: 'Tongan', | |
| value: 'tongan', | |
| iso639_1: 'to', | |
| iso639_2: 'ton' | |
| }, | |
| { | |
| label: 'Turkish', | |
| value: 'turkish', | |
| iso639_1: 'tr', | |
| iso639_2: 'tur' | |
| }, | |
| { | |
| label: 'Turkmen', | |
| value: 'turkmen', | |
| iso639_1: 'tk', | |
| iso639_2: 'tuk' | |
| }, | |
| { | |
| label: 'Twi', | |
| value: 'twi', | |
| iso639_1: 'tw', | |
| iso639_2: 'twi' | |
| }, | |
| { | |
| label: 'Ukrainian', | |
| value: 'ukrainian', | |
| iso639_1: 'uk', | |
| iso639_2: 'ukr' | |
| }, | |
| { | |
| label: 'Urdu', | |
| value: 'urdu', | |
| iso639_1: 'ur', | |
| iso639_2: 'urd' | |
| }, | |
| { | |
| label: 'Uyghur', | |
| value: 'uyghur', | |
| iso639_1: 'ug', | |
| iso639_2: 'uig' | |
| }, | |
| { | |
| label: 'Uzbek', | |
| value: 'uzbek', | |
| iso639_1: 'uz', | |
| iso639_2: 'uzb' | |
| }, | |
| { | |
| label: 'Valencian', | |
| value: 'valencian', | |
| iso639_2: 'cat' | |
| }, | |
| { | |
| label: 'Venda', | |
| value: 'venda', | |
| iso639_1: 've', | |
| iso639_2: 'ven' | |
| }, | |
| { | |
| label: 'Vietnamese', | |
| value: 'vietnamese', | |
| iso639_1: 'vi', | |
| iso639_2: 'vie' | |
| }, | |
| { | |
| label: 'Volapük', | |
| value: 'volapuk', | |
| iso639_1: 'vo', | |
| iso639_2: 'vol' | |
| }, | |
| { | |
| label: 'Walloon', | |
| value: 'walloon', | |
| iso639_1: 'wa', | |
| iso639_2: 'wln' | |
| }, | |
| { | |
| label: 'Welsh', | |
| value: 'welsh', | |
| iso639_1: 'cy', | |
| iso639_2: 'cym' | |
| }, | |
| { | |
| label: 'Wolof', | |
| value: 'wolof', | |
| iso639_1: 'wo', | |
| iso639_2: 'wol' | |
| }, | |
| { | |
| label: 'Xhosa', | |
| value: 'xhosa', | |
| iso639_1: 'xh', | |
| iso639_2: 'xho' | |
| }, | |
| { | |
| label: 'Yiddish', | |
| value: 'yiddish', | |
| iso639_1: 'yi', | |
| iso639_2: 'yid' | |
| }, | |
| { | |
| label: 'Yoruba', | |
| value: 'yoruba', | |
| iso639_1: 'yo', | |
| iso639_2: 'yor' | |
| }, | |
| { | |
| label: 'Zhuang', | |
| value: 'zhuang', | |
| iso639_1: 'za', | |
| iso639_2: 'zha' | |
| }, | |
| { | |
| label: 'Zulu', | |
| value: 'zulu', | |
| iso639_1: 'zu', | |
| iso639_2: 'zul' | |
| } | |
| ]; | |
| // Type validation | |
| type LanguageValidation = Record<'label' | 'value' | 'iso639_2', string> & { | |
| iso639_1?: string; | |
| }; | |
| // Validate and export | |
| const validateLanguages = (langs: LanguageValidation[]): Language[] => { | |
| // Additional validation could be added here | |
| return langs; | |
| }; | |
| const validatedLanguages = validateLanguages(languages); | |
| export default validatedLanguages; | |
| // Utility types and functions | |
| export type { Language }; | |
| export const getLanguageByCode = (code: string): Language | undefined => { | |
| return validatedLanguages.find((lang) => lang.iso639_1 === code || lang.iso639_2 === code); | |
| }; | |
| export const getLanguageByValue = (value: string): Language | undefined => { | |
| return validatedLanguages.find((lang) => lang.value === value); | |
| }; | |
| export const getAllLanguagesWithCode = (code: string): Language[] => { | |
| return validatedLanguages.filter((lang) => lang.iso639_1 === code || lang.iso639_2 === code); | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment