{"id":23363883,"url":"https://github.com/cospired/i18n-iso-languages","last_synced_at":"2025-04-06T02:09:06.051Z","repository":{"id":29921661,"uuid":"121890013","full_name":"cospired/i18n-iso-languages","owner":"cospired","description":"i18n for ISO 639-1 language codes","archived":false,"fork":false,"pushed_at":"2024-07-23T21:13:18.000Z","size":895,"stargazers_count":52,"open_issues_count":8,"forks_count":31,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-30T01:06:02.566Z","etag":null,"topics":["i18n","iso639-1","iso639-2","languages"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cospired.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-17T20:30:38.000Z","updated_at":"2025-03-12T08:40:07.000Z","dependencies_parsed_at":"2023-12-21T15:07:54.722Z","dependency_job_id":"cad24412-d14f-4e67-8d24-b1b51608ccc9","html_url":"https://github.com/cospired/i18n-iso-languages","commit_stats":{"total_commits":135,"total_committers":22,"mean_commits":6.136363636363637,"dds":0.6074074074074074,"last_synced_commit":"d6ace2cc34cd6ac9454ecff94e18de4bf903ae86"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cospired%2Fi18n-iso-languages","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cospired%2Fi18n-iso-languages/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cospired%2Fi18n-iso-languages/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cospired%2Fi18n-iso-languages/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cospired","download_url":"https://codeload.github.com/cospired/i18n-iso-languages/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423515,"owners_count":20936626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["i18n","iso639-1","iso639-2","languages"],"created_at":"2024-12-21T13:12:27.946Z","updated_at":"2025-04-06T02:09:06.034Z","avatar_url":"https://github.com/cospired.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.com/cospired/i18n-iso-languages.svg?branch=main)](https://travis-ci.com/cospired/i18n-iso-languages)\n[![npm version](https://badge.fury.io/js/%40cospired%2Fi18n-iso-languages.svg)](https://badge.fury.io/js/%40cospired%2Fi18n-iso-languages)\n[![Maintainability](https://api.codeclimate.com/v1/badges/31071476c2117e90d6fe/maintainability)](https://codeclimate.com/github/cospired/i18n-iso-languages/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/31071476c2117e90d6fe/test_coverage)](https://codeclimate.com/github/cospired/i18n-iso-languages/test_coverage)\n\n# i18n-iso-languages\n\ni18n for ISO 639 language codes. We support Alpha-2, Alpha-3 B and T codes from https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\n\nThis packages is heavily based on [i18n-iso-countries](https://github.com/michaelwittig/node-i18n-iso-countries).\n\nWe intent to keep the interface of i18n-iso-languages as close as possible to i18n-iso-countries.\n## Installing\n\nInstall it using npm: `npm install @cospired/i18n-iso-languages`\n\nIf used in a browser environment, you will need to manually install the local you wish to support.\n\n```javascript\nvar languages = require(\"@cospired/i18n-iso-languages\");\n\n// Support german \u0026 english languages.\nlanguages.registerLocale(require(\"@cospired/i18n-iso-languages/langs/en.json\"));\nlanguages.registerLocale(require(\"@cospired/i18n-iso-languages/langs/de.json\"));\n```\n\n## Code to Language\n\n### Get the name of a language by it's ISO 639-1 (Alpha-2), ISO 639-2/T or B (Alpha-3) code\n\n`````javascript\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(\"de (639-1/Alpha-2) =\u003e \" + languages.getName(\"de\", \"en\")); // German\nconsole.log(\"en (639-1/Alpha-2) =\u003e \" + languages.getName(\"de\", \"de\")); // Deutsch\nconsole.log(\"de (639-2T/Alpha-3) =\u003e \" + languages.getName(\"deu\", \"en\")); // German\nconsole.log(\"de (639-2B/Alpha-3) =\u003e \" + languages.getName(\"ger\", \"en\")); // German\n`````\n\n### Get all names by their ISO 639-1 code\n\n`````javascript\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(languages.getNames(\"en\")); // { 'ab': 'Abkhazian', 'aa': 'Afar', [...], 'za': 'Zhuang', 'zu': 'Zulu' }\n`````\n\n### Supported languages (ISO 639-1)\n\n* `ar`: Arabic (based on https://github.com/umpirsky/language-list/blob/master/data/ar/language.json)\n* `bg`: Bulgarian (based on https://bg.wikipedia.org/wiki/Кодове_на_езици with minor adjustments)\n* `br`: Breton (based on https://br.wikipedia.org/wiki/Listenn_glok_kodoù_ISO_639-1)\n* `cs`: Czech (based on https://cs.wikipedia.org/wiki/Seznam_kódů_ISO_639-1)\n* `da`: Danish (based on https://da.wikipedia.org/wiki/ISO_639-1)\n* `de`: German (by native speaker)\n* `en`: English (ISO 639-1 standard names)\n* `es`: Spanish (based on https://es.wikipedia.org/wiki/ISO_639-1)\n* `fi`: Finnish (based on https://kotoistus.fi/suositukset/suositukset-kielet-fi-koodi/)\n* `fr`: French (based on https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1)\n* `he`: Hebrew (based on ECMAScript Internationalization API data)\n* `hu`: Hungarian (based on https://hu.wikipedia.org/wiki/ISO_639-1_nyelvkódok_listája)\n* `id`: Indonesian (based on https://github.com/umpirsky/language-list/blob/master/data/id/language.json)\n* `is`: Islandic (based on https://is.wikipedia.org/wiki/Listi_yfir_tungumálakóða_%C3%AD_ISO_639-1)\n* `it`: Italian (based on https://github.com/umpirsky/language-list/blob/master/data/it/language.json)\n* `ja`: Japanese (by professional translator)\n* `ko`: Korean (based on https://github.com/umpirsky/language-list/blob/master/data/ko/language.json)\n* `lt`: Lithuanian (based on https://lt.wikipedia.org/wiki/Sąrašas:ISO_639-1_kodai)\n* `lv`: Latvian (based on https://lv.wikipedia.org/wiki/ISO_639-1_kodu_saraksts)\n* `ms`: Malay (based on https://github.com/umpirsky/language-list/blob/master/data/ms/language.json)\n* `nl`: Dutch (based on https://nl.wikipedia.org/wiki/Lijst_van_ISO_639-codes)\n* `no`: Norwegian (based on https://no.wikipedia.org/wiki/Liste_over_ISO_639-1-koder)\n* `pl`: Polish (based on https://pl.wiktionary.org/wiki/Wikis%C5%82ownik:Kody_j%C4%99zyk%C3%B3w)\n* `pt`: Portuguese (European) (based on https://pt.wikipedia.org/wiki/ISO_639)\n* `ro`: Romanian (based on https://ro.wikipedia.org/wiki/Lista_codurilor_ISO_639-1)\n* `ru`: Russian (by professional translator)\n* `sk`: Slovak (based on https://sk.wikipedia.org/wiki/ISO_639)\n* `sv`: Swedish (based on https://sv.wikipedia.org/wiki/ISO_639)\n* `th`: Thai (based on https://github.com/umpirsky/language-list/blob/master/data/th/language.json)\n* `uk`: Ukrainian (based on https://uk.wikipedia.org/wiki/Список_мовних_кодів_ISO_639)\n* `vi`: Vietnamese (based on https://github.com/umpirsky/language-list/blob/master/data/vi/language.json)\n* `zh`: Chinese (by professional translator)\n\n\n[List of ISO 639-1 codes](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)\n\n### Language to Code\n\n`````javascript\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(\"German =\u003e \" + languages.getAlpha2Code('German', 'en'));\n// German =\u003e de\n\nconsole.log(\"German =\u003e \" + languages.getAlpha3TCode('German', 'en'));\n// German =\u003e deu\n\nconsole.log(\"German =\u003e \" + languages.getAlpha3BCode('German', 'en'));\n// German =\u003e ger\n`````\n\n## Codes\n\n### Convert ISO 639-2 (Alpha-3) to ISO 639-1 (Alpha-2) code\n\n`````javascript\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(\"deu (Alpha-3) =\u003e \" + languages.alpha3ToAlpha2(\"deu\") + \" (Alpha-2)\");\n// deu (Alpha-3 T) =\u003e de (Alpha-2)\n\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(\"ger (Alpha-3 B) =\u003e \" + languages.alpha3ToAlpha2(\"ger\") + \" (Alpha-2)\");\n// ger (Alpha-3 B) =\u003e de (Alpha-2)\n`````\n\n### Convert ISO 639-1 (Alpha-2) to ISO 639-2 (Alpha-3) code\n`````javascript\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(\"de (Alpha-2) =\u003e \" + languages.alpha2ToAlpha3T(\"de\") + \" (Alpha-3 T)\");\n// de (Alpha-2) =\u003e deu (Alpha-3 T)\n\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(\"de (Alpha-2) =\u003e \" + languages.alpha2ToAlpha3B(\"de\") + \" (Alpha-3 B)\");\n// de (Alpha-2) =\u003e ger (Alpha-3 B)\n`````\n\n### Get all ISO 639-1 (Alpha-2) codes\n\n`````javascript\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(languages.getAlpha2Codes());\n// { 'aa': 'aar', 'ab': 'abk', [...], 'za': 'zha', 'zu': 'zul' }\n`````\n\n### Get all ISO 639-2 (Alpha-3) codes\n\n`````javascript\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(languages.getAlpha3TCodes());\n// { 'aar': 'aa', 'abk': 'ab', [...], 'zha': 'za', 'zul': 'zu' }\n\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(languages.getAlpha3BCodes());\n// { 'aar': 'aa', 'abk': 'ab', [...], 'zha': 'za', 'zul': 'zu' }\n`````\n\n### Validate language code\n``````javascript\nvar languages = require(\"@cospired/i18n-iso-languages\");\nconsole.log(languages.isValid(\"de\"), languages.isValid(\"ger\"), languages.isValid(\"xx\")));\n// true, true, false\n``````\n\n## Contribution\n\nTo add a language:\n\n* add a json file under langs/ (in alphabetical order)\n* add the language to the `data` object in enty-node.js at the top (in alphabetical order)\n* add language to section **Supported languages** in README.md (in alphabetical order)\n* add language to keywords in package.json (in alphabetical order)\n* add language to the \"unreleased\" section of the changelog\n* run `npm install \u0026\u0026 make test` to make sure that tests are passing\n* open a PR on GitHub\n\nPlease do not change the version in package.json, package-lock.json or changelog.md.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcospired%2Fi18n-iso-languages","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcospired%2Fi18n-iso-languages","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcospired%2Fi18n-iso-languages/lists"}