Maintained fork of country-language with zero-dependencies. Query languages spoken to a country or countries where people speak a language.
npm install @ladjs/country-language




![license]()
> Maintained fork of country-language with zero-dependencies. Query any country's spoken languages or countries where a language is spoken.
* Install
* Usage
* .getLanguageCodes (languageCodeType, cb)
* .getCountryCodes (countryCodeType, cb)
* .languageCodeExists (languageCode)
* .countryCodeExists (countryCode)
* .getCountry (code, cb)
* .getLanguage (code, cb)
* .getCountryLanguages (code, cb)
* .getLanguageCountries (code, cb)
* .getCountryMsLocales (code, cb)
* .getLanguageMsLocales (code, cb)
* .getCountries ()
* .getLanguages ()
* .getLanguageFamilies ()
* .getLocales (mode)
* .getLanguageFamilyMembers (family, cb)
* Contributors
* License
[npm][]:
``sh`
npm install @ladjs/country-language
Once you require @ladjs/country-language, the following API will be available.
`js`
const CountryLanguage = require('@ladjs/country-language');
@param {String}* language code type. Acceptable values: 1, 2 or 3.
@param {Function}* callback on complete or error
@cb {Error|null}* if error
@cb {Object}* array String with language codes
Acceptable language code type parameter values: 1, 2, 3 for returning ISO-639-1, ISO-639-2, ISO-639-3 codes respectively.
If not provided, ISO-639-1 codes will be returned.
`js`
const allLanguageCodes = CountryLanguage.getLanguageCodes(2);
@param {String}* country code type. Acceptable values: 1, 2 or 3.
@param {Function}* callback on complete or error
@cb {Error|null}* if error
@cb {Object}* array String with country codes
Acceptable country code type parameter values: 1, 2, 3 for returning numerical code, alpha-2, alpha-3 codes respectively.
If not provided, alpha-2 codes will be returned.
`js`
const allCountryCodes = CountryLanguage.getCountryCodes(2);
@param {String}* language code to check.
Returns Boolean indicating language existance.
Language code parameter can be either a ISO-639-1, ISO-639-2 or ISO-639-3 code.
`js`
const languageExists = CountryLanguage.languageCodeExists('en');
@param {String}* country code to check.
Returns Boolean indicating country existance.
Country code parameter can be either an alpha-2, alpha-3 or numerical code.
`js`
const countryExists = CountryLanguage.countryCodeExists('GB');
@param {String}* country code
@param {Function}* callback on complete or error
@cb {Error|null}* if error
@cb {Object}* object containing country info
Country code can be either an Alpha-2 or Alpha-3 code.
The returned object includes the following info:
* code_2: Country alpha-2 code (2 letters)code_3
* : Country alpha-3 code (3 letters)numCode
* : Country numeric codename
* : Country namelanguages
* : Array of language objects for each language spoken in the countrylangCultureMs
* : Array of language cultures for the country supported by Microsoft©
Each language object in languages property includes the following info:
* iso639_1: language iso639-1 code (2 letters)iso639_2
* : language iso639-2 code (3 letters)iso639_2en
* : language iso639-2 code with some codes derived from English names rather than native names of languages (3 letters)iso639_3
* : language iso639-3 code (3 letters)name
* : String array with one or more language names (in English)nativeName
* : String array with one or more language names (in native language)direction
* : Language script direction (either "LTR" or "RTL") - Left-to-Right, Right-to-Leftfamily
* : language familycountries
* : Array of country objects where this language is spoken
Each Microsoft© language culture object in langCultureMs property icludes the following info:
* langCultureName: language culture namedisplayName
* : language culture dispaly namecultureCode
* : language culture code
`js`
CountryLanguage.getCountry('GB', function (err, country) {
if (err) {
console.log(err);
} else {
const languagesInGB = country.languages;
}
});
@param {String}* language code
@param {Function}* callback on complete or error
@cb {Error|null}* if error
@cb {Object}* object containing language info
Language code can be either iso639-1, iso639-2, iso639-2en or iso639-3 code.
Contents of the returned language object are described in .getCountry method.
`js`
CountryLanguage.getLanguage('en', function (err, language) {
if (err) {
console.log(err);
} else {
const countriesSpeakingEN = language.countries;
}
});
@param {String}* country code
@param {Function}* callback on complete or error
@cb {Error|null}* if error
@cb {Object}* object array containing country languages info
Country code can be either an Alpha-2 or Alpha-3 code.
Each language object contains the following info:
* iso639_1: language iso639-1 code (2 letters)iso639_2
* : language iso639-2 code with some codes derived from English names rather than native names of languages (3 letters)iso639_3
* : language iso639-3 code (3 letters)
`js`
CountryLanguage.getCountryLanguages('GB', function (err, languages) {
if (err) {
console.log(err);
} else {
languages.forEach(function (languageCodes) {
console.log(languageCodes.iso639_1);
});
}
});
@param {String}* language code
@param {Function}* callback on complete or error
@cb {Error|null}* if error
@cb {Object}* object array containing country info
Language code can be either iso639-1, iso639-2, iso639-2en or iso639-3 code.
Each Country object contains the following info:
* code_2: Country alpha-2 code (2 letters)code_3
* : Country alpha-3 code (3 letters)numCode
* : Country numeric code
`js`
CountryLanguage.getLanguageCountries('en', function (err, countries) {
if (err) {
console.log(err);
} else {
countries.forEach(function (countryCodes) {
console.log(countryCodes.code_3);
});
}
});
@param {String}* country code
@param {Function}* callback on complete or error
@cb {Error|null}* if error
@cb {Object}* object array containing Language Cultures info for the country
Country code can be either an Alpha-2 or Alpha-3 code.
Contents of each Language Culture object are described in .getCountry method.
`js`
CountryLanguage.getCountryMsLocales('GB', function (err, locales) {
if (err) {
console.log(err);
} else {
locales.forEach(function (locale) {
console.log(locale.langCultureName);
});
}
});
@param {String}* language code
@param {Function}* callback on complete or error
@cb {Error|null}* if error
@cb {Object}* object array containing Language Cultures info for the language
Language code can be either iso639-1, iso639-2, iso639-2en or iso639-3 code.
Contents of each Language Culture object are described in .getCountry method.
`js`
CountryLanguage.getLanguageMsLocales('en', function (err, locales) {
if (err) {
console.log(err);
} else {
locales.forEach(function (locale) {
console.log(locale.langCultureName);
});
}
});
Returns an array object with info for every country in the world having an ISO 3166 code.
Contents of each country object in the array is described in .getCountry method.
`js`
const allCountries = CountryLanguage.getCountries();
Returns an array object with info for every language in the world having an ISO 639-2 code (and a few more).
Contents of each language object in the array is described in .getCountry method.
`js`
const allLanguages = CountryLanguage.getLanguages();
Returns an array of strings with the names of each language family.
`js`
const allLanguageFamilies = CountryLanguage.getLanguageFamilies();
@param {Boolean}* locale symbols mode
Returns an array of strings with all locale codes.
If mode ommited or false, locales with 3 parts will be returned like: az-Cyrl-AZ
`js`
const localesSymbols = CountryLanguage.getLocales();
If mode is set to true, they will be returned like: az-AZ-Cyrl
`js`
const localesSymbols = CountryLanguage.getLocales(true);
Returns an array object with info for every language in the world having an ISO 639-2 code (and a few more).
Contents of each language object in the array is described in .getCountry method.
@param {String}* language family name (
@param {Function}* callback on complete or error
@cb {Error|null}* if error
@cb {Object}* object array containing languages info for each language member in the family.
Contents of the returned language object are described in .getCountry method.
`js`
CountryLanguage.getLanguageFamilyMembers('Indo-European', function (err, languages) {
if (err) {
console.log(err);
} else {
languages.forEach(function (language) {
console.log(language.name);
});
}
});
For the following methods:
* .getLanguageCodes
* .getCountryCodes
* .getCountry
* .getLanguage
* .getCountryLanguages
* .getLanguageCountries
* .getCountryMsLocales
* .getLanguageMsLocales
* .getLanguageFamilyMembers
the cb parameter is optional. When not provided, each method returns either an Object when there is no error, or a String in case of an error.
Any input parameter (country code, language code, language family name) is case insensitive.
Language#nativeName` string is not displayed correclty on the console for Right-to-Left (RTL) languages. However, there is no issue on string rendering (either on the browser or any text editor).
| Name |
| ------------ |
| titanism |
MIT © Tassos Diamantidis
##
[npm]: https://www.npmjs.com/