All Projects → cospired → i18n-iso-languages

cospired / i18n-iso-languages

Licence: MIT license
i18n for ISO 639-1 language codes

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to i18n-iso-languages

example-app
Example app showcasing fulls1z3's Angular libraries
Stars: ✭ 27 (-28.95%)
Mutual labels:  i18n
msgtools
Tools for Developing Diagnostic Messages
Stars: ✭ 18 (-52.63%)
Mutual labels:  i18n
Slim-Auth
A Slim 4 Skeleton.
Stars: ✭ 22 (-42.11%)
Mutual labels:  i18n
awesome-i18n
🌍 A curated list of i18n resources for all kind of languages and frameworks
Stars: ✭ 205 (+439.47%)
Mutual labels:  i18n
typesafe-i18n
A fully type-safe and lightweight internationalization library for all your TypeScript and JavaScript projects.
Stars: ✭ 1,227 (+3128.95%)
Mutual labels:  i18n
qiokian
🙊 live2d anime waifu vuejs component.
Stars: ✭ 34 (-10.53%)
Mutual labels:  i18n
universal-react-starter-kit
Universal React Starter Kit is an universal web application framework using koa, react, redux and webpack.
Stars: ✭ 13 (-65.79%)
Mutual labels:  i18n
ember-i18n-cp-validations
ember-i18n support for ember-cp-validations
Stars: ✭ 20 (-47.37%)
Mutual labels:  i18n
strf
Yet another C++ text formatting library.
Stars: ✭ 57 (+50%)
Mutual labels:  i18n
translation-generator
Generate translation files for your Angular project
Stars: ✭ 17 (-55.26%)
Mutual labels:  i18n
poeditor-cli
POEditor CLI
Stars: ✭ 29 (-23.68%)
Mutual labels:  i18n
Foxy
🦊 A very, very cute, multipurpose, multilingual bot for Discord! Making your server cuter -w-
Stars: ✭ 58 (+52.63%)
Mutual labels:  i18n
bpmn-js-i18n
Internationalization resources for bpmn-js
Stars: ✭ 49 (+28.95%)
Mutual labels:  i18n
doorkeeper-i18n
Translation files for Doorkeeper OAuth 2 provider
Stars: ✭ 30 (-21.05%)
Mutual labels:  i18n
deepl-php-lib
🧠 DeepL API Client Library supporting PHP >= 7.3
Stars: ✭ 50 (+31.58%)
Mutual labels:  i18n
react-mobx-router
Create React App with React Router 4 and MobX + Internationalization
Stars: ✭ 90 (+136.84%)
Mutual labels:  i18n
angular-i18n-localization
An angular application with i18n and localization implemented.
Stars: ✭ 22 (-42.11%)
Mutual labels:  i18n
express-mvp
Express.js project template ready to go
Stars: ✭ 21 (-44.74%)
Mutual labels:  i18n
next.js-boilerplate
next.js bolierplate, next.js 的开发模板
Stars: ✭ 28 (-26.32%)
Mutual labels:  i18n
redux-polyglot
Polyglot.js bindings for Redux
Stars: ✭ 59 (+55.26%)
Mutual labels:  i18n

Build Status npm version Maintainability Test Coverage

i18n-iso-languages

i18n 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

This packages is heavily based on i18n-iso-countries.

We intent to keep the interface of i18n-iso-languages as close as possible to i18n-iso-countries.

Installing

Install it using npm: npm install @cospired/i18n-iso-languages

If used in a browser environment, you will need to manually install the local you wish to support.

var languages = require("@cospired/i18n-iso-languages");

// Support german & english languages.
languages.registerLocale(require("@cospired/i18n-iso-languages/langs/en.json"));
languages.registerLocale(require("@cospired/i18n-iso-languages/langs/de.json"));

Code to Language

Get the name of a language by it's ISO 639-1 (Alpha-2), ISO 639-2/T or B (Alpha-3) code

var languages = require("@cospired/i18n-iso-languages");
console.log("de (639-1/Alpha-2) => " + languages.getName("de", "en")); // German
console.log("en (639-1/Alpha-2) => " + languages.getName("de", "de")); // Deutsch
console.log("de (639-2T/Alpha-3) => " + languages.getName("deu", "en")); // German
console.log("de (639-2B/Alpha-3) => " + languages.getName("ger", "en")); // German

Get all names by their ISO 639-1 code

var languages = require("@cospired/i18n-iso-languages");
console.log(languages.getNames("en")); // { 'ab': 'Abkhazian', 'aa': 'Afar', [...], 'za': 'Zhuang', 'zu': 'Zulu' }

Supported languages (ISO 639-1)

List of ISO 639-1 codes

Language to Code

var languages = require("@cospired/i18n-iso-languages");
console.log("German => " + languages.getAlpha2Code('German', 'en'));
// German => de

console.log("German => " + languages.getAlpha3TCode('German', 'en'));
// German => deu

console.log("German => " + languages.getAlpha3BCode('German', 'en'));
// German => ger

Codes

Convert ISO 639-2 (Alpha-3) to ISO 639-1 (Alpha-2) code

var languages = require("@cospired/i18n-iso-languages");
console.log("deu (Alpha-3) => " + languages.alpha3ToAlpha2("deu") + " (Alpha-2)");
// deu (Alpha-3 T) => de (Alpha-2)

var languages = require("@cospired/i18n-iso-languages");
console.log("ger (Alpha-3 B) => " + languages.alpha3ToAlpha2("ger") + " (Alpha-2)");
// ger (Alpha-3 B) => de (Alpha-2)

Convert ISO 639-1 (Alpha-2) to ISO 639-2 (Alpha-3) code

var languages = require("@cospired/i18n-iso-languages");
console.log("de (Alpha-2) => " + languages.alpha2ToAlpha3T("de") + " (Alpha-3 T)");
// de (Alpha-2) => deu (Alpha-3 T)

var languages = require("@cospired/i18n-iso-languages");
console.log("de (Alpha-2) => " + languages.alpha2ToAlpha3B("de") + " (Alpha-3 B)");
// de (Alpha-2) => ger (Alpha-3 B)

Get all ISO 639-1 (Alpha-2) codes

var languages = require("@cospired/i18n-iso-languages");
console.log(languages.getAlpha2Codes());
// { 'aa': 'aar', 'ab': 'abk', [...], 'za': 'zha', 'zu': 'zul' }

Get all ISO 639-2 (Alpha-3) codes

var languages = require("@cospired/i18n-iso-languages");
console.log(languages.getAlpha3TCodes());
// { 'aar': 'aa', 'abk': 'ab', [...], 'zha': 'za', 'zul': 'zu' }

var languages = require("@cospired/i18n-iso-languages");
console.log(languages.getAlpha3BCodes());
// { 'aar': 'aa', 'abk': 'ab', [...], 'zha': 'za', 'zul': 'zu' }

Validate language code

var languages = require("@cospired/i18n-iso-languages");
console.log(languages.isValid("de"), languages.isValid("ger"), languages.isValid("xx")));
// true, true, false

Contribution

To add a language:

  • add a json file under langs/ (in alphabetical order)
  • add the language to the data object in enty-node.js at the top (in alphabetical order)
  • add language to section Supported languages in README.md (in alphabetical order)
  • add language to keywords in package.json (in alphabetical order)
  • add language to the "unreleased" section of the changelog
  • run npm install && make test to make sure that tests are passing
  • open a PR on GitHub

Please do not change the version in package.json, package-lock.json or changelog.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].