@itomo/locale-core
v0.1.8
Published
ISO-driven world data for TypeScript: countries, currencies, languages, scripts, timezones — zero runtime dependencies, fully tree-shakable.
Maintainers
Readme
@itomo/locale-core
ISO-driven world data for TypeScript: countries, currencies, languages, scripts, and IANA timezones.
- Zero runtime dependencies
- ESM + strict TypeScript types
- Tree-shakable (including subpath exports)
Install
pnpm add @itomo/locale-coreQuick start
import { getCountryByCca2, getCurrencyByAlpha3, getTextDirection } from "@itomo/locale-core";
const vn = getCountryByCca2("VN");
console.log(vn?.name.common); // Vietnam
const usd = getCurrencyByAlpha3("USD");
console.log(usd?.symbol); // $
console.log(getTextDirection("mn-Mong-MN")); // ttbSubpath imports
import { VND, getCurrencyName } from "@itomo/locale-core/currencies";
import { ASIA_HO_CHI_MINH } from "@itomo/locale-core/timezones";Public API
Countries
- Lookups:
getCountryByCca2(code),getCountryByCca3(code),getCountryByNumeric(code),getCountryByCioc(code),getCountryByAnyCode(code) - Lists and filters:
getAllCountries(),getIndependentCountries(),getUNMemberCountries(),getCountriesByRegion(region),getCountriesByContinent(continent),getCountriesByLanguage(iso6393),getCountriesByCurrency(alpha3),getCountriesByTimezone(tzId),getCountriesByCallingCode(code),getCountriesByRegionalBloc(bloc),getBorderingCountries(cca3) - Names/search:
searchCountries(query, locale?),getCountryName(cca2, locale?),getCountryOfficialName(cca2, locale?),getCountryNativeName(cca2, iso6393?) - Subdivisions:
getSubdivisions(cca2),getSubdivisionByCode(cca2, code),getSubdivisionsByType(cca2, type) - Localized helpers:
getAllCountriesLocalized(locale),searchCountriesLocalized(query, locale)
Currencies
- Lookups:
getCurrencyByAlpha3(code),getCurrencyByNumeric(code),getCurrencyByAnyCode(code) - Lists and filters:
getAllCurrencies(),getActiveCurrencies(),getDeprecatedCurrencies(),getCurrenciesByType(type),getCurrenciesByCountry(cca2) - Names/search/format:
searchCurrencies(query),formatAmount(amount, alpha3, locale?),getCurrencySymbol(alpha3, locale?),getCurrencyName(alpha3, locale?) - Localized helpers:
getAllCurrenciesLocalized(locale),searchCurrenciesLocalized(query, locale)
Languages
- Lookups:
getLanguageByIso6391(code),getLanguageByIso6392b(code),getLanguageByIso6392t(code),getLanguageByIso6393(code),getLanguageByAnyCode(code) - Lists and filters:
getAllLanguages(),getLivingLanguages(),getRtlLanguages(),getLanguagesByFamily(family),getLanguagesByCountry(cca2),getLanguagesByScript(iso15924) - Names/search:
searchLanguages(query, locale?),getLanguageName(iso6393, locale?) - Localized helpers:
getAllLanguagesLocalized(locale),searchLanguagesLocalized(query, locale)
Scripts
getAllScripts()findScriptByCode(code)
Timezones
- Lookups and filters:
getAllTimezones(),getTimezoneById(tzId),getTimezonesByCountry(cca2),getTimezonesByUtcOffset(offset),getTimezonesByRegion(region),getCanonicalTimezones() - Search and utilities:
searchTimezones(query),getCurrentUtcOffset(tzId, when?),isDaylightSavingActive(tzId, when?),reinterpretInTimezone(date, fromTz, toTz) - Localized helpers:
getTimezoneName(tzId, locale),getAllTimezonesLocalized(locale),searchTimezonesLocalized(query, locale)
i18n and locale helpers
- Translation lifecycle:
loadTranslation(locale),isLocaleSupported(locale),getSupportedTranslationLocales(),getSupportedLanguages() - Locale tags:
buildLocaleTag(language, script?, region?),parseLocaleTag(tag),getLanguageSubtag(locale),getRegionSubtag(locale) - Locale resolution:
getCountryFromLocale(locale),getLanguageFromLocale(locale) - Phone and direction:
getPhoneCode(cca2),parsePhonePrefix(phone),getTextDirection(codeOrLocale),isRtlLanguage(codeOrLocale)
Exports
- Root:
@itomo/locale-core - Subpaths:
@itomo/locale-core/countries,currencies,languages,scripts,timezones,i18n
License
MIT © iTomo Vietnam
