@nofinite/locale
v1.0.0
Published
Nofinite's standardized country data, flags, and international dial codes for global applications.
Maintainers
Readme
Nofinite Locale
Lightweight library for country metadata, flags, and international dialing codes for web applications.
What this package provides
- Country metadata (name, ISO code, dial code)
- Type-safe country metadata
- CSS-based SVG flags (4:3 and 1:1)
- Works with modern frameworks and plain HTML (CDN)
Installation
Package Managers (Recommended)
# pnpm
pnpm add @nofinite/locale
# npm
npm install @nofinite/locale
# yarn
yarn add @nofinite/localeCDN (No build step)
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@nofinite/locale/dist/style.css"
/>
<script src="https://cdn.jsdelivr.net/npm/@nofinite/locale/dist/index.global.js"></script>Usage
Get Country (name, iso2, dial code)
(For Javascript/Typescript)
import { getCountryByCode, getCountryByDialCode } from '@nofinite/locale';
// Lookup by ISO-2 code (case-insensitive)
const in = getCountryByCode('IN');
// Lookup by dial code
const india = getCountryByDialCode('+91');
// or
const indiaAlt = getCountryByDialCode('91');
console.log(india);
/*
{
name: "India",
iso2: "IN",
dialCode: "+91"
}
*/(For HTML)
<script>
const country = NofiniteLocale.getCountryByCode("IN");
console.log(country.name); // India
console.log(country.dialCode); // +91
</script>Use Flags
Flags are provided via CSS. Import the stylesheet once.
(For Javascript/Typescript)
import "@nofinite/locale/style";(For HTML)
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@nofinite/locale/dist/style.css"
/>Flag Classes
| Class | Purpose |
| ---------------- | ------------------------------ |
| .nf-flag | Base flag class (required) |
| .nf-flag-{iso} | Country ISO-2 code (lowercase) |
| .square | Optional 1:1 ratio |
Examples
Standard (4:3)
<span class="nf-flag nf-flag-us"></span>Square (1:1)
<span class="nf-flag nf-flag-jp square"></span>Inside UI Elements
<button> <span class="nf-flag nf-flag-fr square"></span> Select Language </button>
License
This project is licensed under the Apache License, Version 2.0.
Feel free to use, modify, and share this project in your applications, products, and services. Attribution is welcome and appreciated, but never required.
