all-iso-language-codes
v1.0.17
Published
List of all iso 639-1, 639-2T, 639-2B, 639-3 codes with their translations in any language
Downloads
5,005
Maintainers
Readme
List of ISO 639-1, 639-2T, 639-2B and 639-3 codes with translations in all available languages
Sometimes you need to get a fresh list of 639-1, 639-2T, 639-2B or 639-3 language codes and their translations. Until now there was not an easy way to get them.
All data are available in json
format in data/[language]/639-1.json
. More formats might be available in the future.
Usage
- JS functions (with TS type definitions included)
- Directly, using files located in data folder
JS functions
| Function | Arguments | Return value | Example usage |
|---|---|---|---|
| getEnglishName(code: string)
| language code
| string
| null
| getEnglishName('cs')
=> Czech
|
| getNativeName(code: string)
| language code
| string
| null
| getNativeName('cs')
=> čeština
|
| getName(code: string, language = 'en')
| from language, to language?
| string
| null
| getName('cs', 'en')
=> Czech
|
| isValid(code: string, availableIsoTypes?: IsoType[], moreInfo = false)
| language code, IsoType (below table), moreInfo
| boolean
| { iso: IsoType
| null; found: boolean; }
| isValid('cs')
=> true
, isValid('cs', ['639-1'], true)
=> { iso: '639-1'; found: true; }
, |
| getIsoCodesFromNativeName(nativeName: string, normalizeString = false)
| language name, should normalize string (lowercase and remove diacritics)
| IsoType[]
| null
| getIsoCodesFromNativeName('ČeŠtInA', true)
=> ['639-3', '639-2B', '639-2T', '639-1']
|
| getAll639_1()
| - | string[]
(639-1 array) | getAll639_1()
=> ['aa', 'ab', 'af'...]
|
| getAll639_2B()
| - | string[]
(639-2B array) | getAll639_2B()
=> ['aar', 'abk', 'ace'...]
|
| getAll639_2T()
| - | string[]
(639-2T array) | getAll639_2T()
=> ['aar', 'abk', 'ace'...]
|
| getAll639_3()
| - | string[]
(639-3 array) | getAll639_3()
=> ['aaa', 'aab', 'aac'...]
|
type IsoType = '639-1' | '639-2B' | '639-2T' | '639-3'
File format
If you have some ideas (csv
, another JSON
format...) let me know or create PR.
Adding more languages
Language matrix is generated by Node.js
Intl
API (version 22.2.0). If you would like to edit something, Create PR in Node.js
Intl
API. Wait until release and run yarn generate
.
Tests
There are jest
tests which tests basic functionality. Feel free to extend them or convert to vitest
.
More info
Getting the list of all available languages is from official list
More packages from me
- all-iso-language-codes - List of ISO 639-1, 639-2T, 639-2B and 639-3 codes with translations in all available languages
- expo-video-player - Customizable Video Player controls for Expo
- free-email-domains-list - Fresh list of all free email domain providers. Can be used to check if an email address belongs to a company. Updated weekly