Complete Intl/I18n solution for browser and node. Old Owner: @flexper
- React Implementation : Rosetty React
const { rosetty } = require('rosetty');
const { enGB } = require('date-fns/locale');
const r = rosetty(
{
en: {
dict: {
test: 'This is a test',
},
locale: enGB,
},
},
'en'
);
console.log(r.t('test')); // This is a test
Options
Field Name | Type | Description |
---|---|---|
config | Record<string, Language> | Specify dictionnary and locale to use for each lang |
defaultLang | string? | Specify default language to use (should be the same as config) |
translateFallback | boolean? | Return fallback if translation is not defined |
Return
Field Name | Type | Description |
---|---|---|
changeLang | (newLang: string) => void | Change current lang |
languages | string[] | List of languages who can be selected |
getCurrentLang | () => string | Return current lang |
t | (key: string, params?: Record<string, any>, dict?: Record<string, any>) => string OR undefined | Return translated text https://github.com/lukeed/rosetta#rosettatkey-params-lang. If dict is defined, he will use dict. |
displayNames | Documentation | Consistent translation of language, region and script display names https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/DisplayNames |
listFormat | Documentation | Language-sensitive list formatting https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat |
numberFormat | Documentation | Language-sensitive list formatting https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat |
pluralRules | Documentation | Plural-sensitive formatting and plural-related language rules https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/PluralRules/PluralRules |
format | Documentation | Return the formatted date string in the given format https://date-fns.org/v3.3.0/docs/format |
formatRelative | Documentation | Represent the date in words relative to the given base date. https://date-fns.org/v3.3.0/docs/formatRelative |
formatDistance | Documentation | Return the distance between the given dates in words. https://date-fns.org/v3.3.0/docs/formatDistance |
formatDistanceToNow | Documentation | Return the distance between the given date and now in words. https://date-fns.org/v3.3.0/docs/formatDistanceToNow |
formatDuration | Documentation | Return human-readable duration string i.e. "9 months 2 days" https://date-fns.org/v3.3.0/docs/formatDuration |
You need to import locale from date-fns
package.
const { enGB } = require('date-fns/locale');
This package use TSdx. Please check documentation to update this package.