0.0.1 • Published 9 months ago

mamma-localization v0.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

Translation Package

This is a mini translation package that allows you to translate text keys into different languages using a languages object. It is lightweight, simple to use, and reliable.

Installation

To install this package, you can use npm or yarn:

npm install mamma-localization
# or
yarn add mamma-localization

Usage

To use this package, you need to import it and call the init function once before using the translate function. You also need to provide a languages object that contains the translations for each text key and language. Here is an example of how you can use this package in your app:

// Import the package
import translation from 'mamma-localization'

// Define your languages object
const languages = {
  en: {
    hello: 'Hello',
    welcome: 'Welcome, {{name}}',
  },
  am: {
    hello: 'ሰላም',
    welcome: 'እንኳን ደህና መጣህ, {{name}}',
  },
  or: {
    hello: 'Asham',
    welcome: 'Baga nagaan dhufte, {{name}}',
  },
}

// Initialize the package with the current language
translation.init()

// Translate a text key without variables
console.log(translation.translate('hello')) // returns 'Hello'

// Translate a text key with variables
console.log(translation.translate('welcome', { name: 'John' })) // returns 'Welcome, John'

API Reference

init(language)

Initializes the translation module by setting the current language.

  • language: A string that represents the current language. If not provided, defaults to 'en'.

translate(text, variables)

Translates a text key into the current language using the languages object.

  • text: A string that represents the text key to translate. If not provided, returns an error object.
  • variables: An object that contains the variables to replace in the translated text. Optional.

Returns a string that represents the translated text or an error object.

License

This package is licensed under the MIT License. See LICENSE for more details.