language-emoji v2.1.1
Language Emoji π
language-emoji
is a lightweight and easy-to-use package that helps you transform language codes (e.g., en_US
or en
) into country emoji flags π, language names, and native language names.
Features β¨
- π Supports multiple languages with language codes.
- πΊπΈ Converts language codes to emoji flags.
- π Provides English and native names for languages.
- β‘ Lightweight and fast β ideal for web and server-side projects, no dependencies.
- π€ Useful for Telegram bots: parse users language_code easily.
Installation π¦
Using npm
npm install language-emoji
Using yarn
yarn add language-emoji
Usage π
Import the package
import { langFlag, fallbackLangFlag, langName, langNativeName } from 'language-emoji';
Example 1: Get Emoji Flag
import { langFlag, fallbackLangFlag } from 'language-emoji';
console.log(langFlag('en_US')); // Output: πΊπΈ
console.log(langFlag('ru')); // Output: π·πΊ
console.log(langFlag('lalala')); // Output: undefined
console.log(fallbackLangFlag('lalala')); // Output: π
Example 2: Get Language Name
import { langName } from 'language-emoji';
console.log(langName('es')); // Output: Spanish
console.log(langName('de')); // Output: German
Example 3: Get Native Language Name
import { langNativeName } from 'language-emoji';
console.log(langNativeName('zh')); // Output: δΈζ
console.log(langNativeName('ja')); // Output: ζ₯ζ¬θͺ
API Reference π
langData(lang: string): LanguageData | undefined
Returns the language data for a given language code.
lang
: Language code in formats likeen_US
orfr
.- Returns: An object containing:
flag
: Emoji flag string (e.g., πΊπΈ).name
: English name string (e.g., English).native_name
: Native name string (e.g., FranΓ§ais).
langFlag(lang: string): string | undefined
Returns the emoji flag for a given language code.
lang
: Language code in formats likeen_US
orfr
.- Returns: Emoji flag string (e.g., πΊπΈ) or
undefined
if not found.
fallbackLangFlag(lang: string): string
Returns the emoji flag for a given language code, falling back to π if not found.
lang
: Language code.- Returns: Emoji flag string (e.g., "πΊπΈ") or "π" if not found.
langName(lang: string): string
Returns the English name of the language for a given code.
lang
: Language code.- Returns: English name string (e.g., "Spanish") or lang code itself if not found.
langNativeName(lang: string): string
Returns the native name of the language for a given code.
lang
: Language code.- Returns: Native name string (e.g., "FranΓ§ais") or lang code itself if not found.
Supported Languages π
The package supports a wide range of languages. Some examples include:
en
- English πΊπΈfr
- French π«π·es
- Spanish πͺπΈde
- German π©πͺzh
- Chinese π¨π³- And more...
For the full list of supported languages, check the data
object in the source code.
This package supports the following language code formats:
- IETF BCP 47 - e.g.,
en-US
,fr-CA
- ISO 639-1 - e.g.,
en
,fr
- Underscore Format - e.g.,
en_US
,fr_CA
(commonly used in localization systems)
You can input any of these formats, and the package will normalize them for consistent handling.
Contributing π€
Contributions are welcome! Feel free to open an issue or submit a pull request on GitHub.
License π
This project is licensed under the MIT License.
Contact π¬
For questions or support, reach out via:
- GitHub Issues: Create an Issue
Enjoy using language-emoji! πβ¨