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