@i18n-micro/test-utils
v1.0.7
Published
This is a utility library designed to facilitate testing for Nuxt.js applications that use the `@i18n-micro/core` package. It provides helper functions to handle translations, formatting, and locale switching, simplifying the process of testing internatio
Readme
Nuxt I18n Micro Test Utils
This is a utility library designed to facilitate testing for Nuxt.js applications that use the @i18n-micro/core package. It provides helper functions to handle translations, formatting, and locale switching, simplifying the process of testing internationalization (i18n) functionality.
Features
- Translation Helper Functions: Easily retrieve and interpolate translations with the
tandtcfunctions. - Pluralization: Handle plural forms of translations with the
tcfunction. - Locale Management: Set and get the current locale and locale-specific data (e.g., route name, locale list).
- Number and Date Formatting: Format numbers and dates according to the current locale.
- Translation Merging: Merge new translations into the existing cache with the
mergeTranslationsfunction. - Locale Switching: Switch between locales dynamically and update route and path accordingly.
Installation
You can install the package via npm or yarn:
npm install @i18n-micro/test-utilsor
yarn add @i18n-micro/test-utilsUsage
Importing the helper functions
To use the utility functions, import them as follows:
import { i18nUtils } from '@i18n-micro/test-utils'Example Usage
Getting a translation
To retrieve a translation, you can use the t function:
const translatedValue = i18nUtils.t('welcome_message', { name: 'John' })
console.log(translatedValue) // Output: translated string with the injected nameFormatting numbers
Use the tn function to format numbers based on the current locale:
const formattedNumber = i18nUtils.tn(12345.6789)
console.log(formattedNumber) // Output: formatted numberFormatting dates
Use the td function to format dates:
const formattedDate = i18nUtils.td(new Date())
console.log(formattedDate) // Output: formatted datePluralization
Handle plural translations with tc:
const pluralValue = i18nUtils.tc('item_count', 3)
console.log(pluralValue) // Output: appropriate plural formMerging Translations
To add new translations, use the mergeTranslations function:
i18nUtils.mergeTranslations({ welcome_message: 'Hello, {name}!' })Locale Management
You can manage the current locale with the following functions:
i18nUtils.setLocale('en') // Set current locale to English
const currentLocale = i18nUtils.getLocale() // Get the current localeSetting Translations from JSON
Load translations dynamically using the setTranslationsFromJson function:
const newTranslations = { welcome_message: 'Welcome!' }
i18nUtils.setTranslationsFromJson('en', newTranslations)License
MIT License. See the LICENSE file for details.
Author
- Name: s00d
- Email: [email protected]
- Website: https://s00d.github.io/
