This is a utility library designed to facilitate testing for Nuxt.js applications that use the nuxt-i18n-micro-core
package. It provides helper functions to handle translations, formatting, and locale switching, simplifying the process of testing internationalization (i18n) functionality.
-
Translation Helper Functions: Easily retrieve and interpolate translations with the
t
andtc
functions. -
Pluralization: Handle plural forms of translations with the
tc
function. - 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
mergeTranslations
function. - Locale Switching: Switch between locales dynamically and update route and path accordingly.
You can install the package via npm or yarn:
npm install nuxt-i18n-micro-test-utils
or
yarn add nuxt-i18n-micro-test-utils
To use the utility functions, import them as follows:
import { i18nUtils } from 'nuxt-i18n-micro-test-utils'
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 name
Use the tn
function to format numbers based on the current locale:
const formattedNumber = i18nUtils.tn(12345.6789)
console.log(formattedNumber) // Output: formatted number
Use the td
function to format dates:
const formattedDate = i18nUtils.td(new Date())
console.log(formattedDate) // Output: formatted date
Handle plural translations with tc
:
const pluralValue = i18nUtils.tc('item_count', 3)
console.log(pluralValue) // Output: appropriate plural form
To add new translations, use the mergeTranslations
function:
i18nUtils.mergeTranslations({ welcome_message: 'Hello, {name}!' })
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 locale
Load translations dynamically using the setTranslationsFromJson
function:
const newTranslations = { welcome_message: 'Welcome!' }
i18nUtils.setTranslationsFromJson('en', newTranslations)
MIT License. See the LICENSE file for details.
- Name: s00d
- Email: Virus191288@gmail.com
- Website: https://s00d.github.io/