nuxt-i18n-micro-test-utils
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

Nuxt I18n Micro Test Utils

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.

Features

  • Translation Helper Functions: Easily retrieve and interpolate translations with the t and tc 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.

Installation

You can install the package via npm or yarn:

npm install nuxt-i18n-micro-test-utils

or

yarn add nuxt-i18n-micro-test-utils

Usage

Importing the helper functions

To use the utility functions, import them as follows:

import { i18nUtils } from 'nuxt-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 name

Formatting numbers

Use the tn function to format numbers based on the current locale:

const formattedNumber = i18nUtils.tn(12345.6789)
console.log(formattedNumber)  // Output: formatted number

Formatting dates

Use the td function to format dates:

const formattedDate = i18nUtils.td(new Date())
console.log(formattedDate)  // Output: formatted date

Pluralization

Handle plural translations with tc:

const pluralValue = i18nUtils.tc('item_count', 3)
console.log(pluralValue)  // Output: appropriate plural form

Merging 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 locale

Setting 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

Dependencies (1)

Dev Dependencies (1)

Package Sidebar

Install

npm i nuxt-i18n-micro-test-utils

Weekly Downloads

401

Version

1.0.3

License

MIT

Unpacked Size

737 kB

Total Files

28

Last publish

Collaborators

  • s00d