Skip to main content

@rtorcato/js-common / i18n

i18n

Functions​

detectLanguage()​

detectLanguage(defaultLang?): string

Defined in: i18n/index.ts:12

Detects the user's preferred language from the browser or Node.js environment.

Example​

detectLanguage() // 'en' (from navigator.language 'en-GB' or LANG 'en_US.UTF-8')
detectLanguage('fr') // 'fr' when nothing can be detected

Parameters​

defaultLang?​

string = 'en'

Returns​

string

The language code (e.g., 'en', 'fr').


formatNumber()​

formatNumber(value, locale?, options?): string

Defined in: i18n/index.ts:37

Formats a number as a localized string.

Example​

formatNumber(1234.5, 'en-US') // '1,234.5'
formatNumber(1234.5, 'de-DE') // '1.234,5'
formatNumber(0.42, 'en-US', { style: 'percent' }) // '42%'

Parameters​

value​

number

The number to format.

locale?​

string

The locale code (e.g., 'en-US').

options?​

NumberFormatOptions

Intl.NumberFormat options.

Returns​

string


formatDateI18n()​

formatDateI18n(date, locale?, options?): string

Defined in: i18n/index.ts:60

Formats a date as a localized string.

Example​

const d = new Date('2026-08-11T12:00:00Z')
formatDateI18n(d, 'en-US', { timeZone: 'UTC' }) // '8/11/2026'
formatDateI18n(d, 'en-GB', { timeZone: 'UTC' }) // '11/08/2026'

Parameters​

date​

Date

The date to format.

locale?​

string

The locale code (e.g., 'en-US').

options?​

DateTimeFormatOptions

Intl.DateTimeFormat options.

Returns​

string


t()​

t(key, dict, lang?): string

Defined in: i18n/index.ts:75

Simple translation function using a dictionary object.

Parameters​

key​

string

The translation key.

dict​

Record<string, Record<string, string>>

The dictionary object (e.g., { en: { hello: 'Hello' }, fr: { hello: 'Bonjour' } }).

lang?​

string

The language code (optional, defaults to detected language).

Returns​

string