GithubHelp home page GithubHelp logo

reword's Introduction

Reword


Circle CI

A tiny translator. The use case is simple: you have known and finite list of abbreviated/encoded strings and you need to map them to other (perhaps human-readable) strings.

Supports nested translations and a few different syntax variations for retrieving entries.

The signatures are as follows:

t(String, ..)

If exactly one string argument is provided, Reword will look in the translations for a property with that name and return it's value.

If more than one string argument is provided, Reword will look up each independently and return an array of the results.

t(Array)

If an array of strings is provided, Reword will treat this as a nested lookup.

t(String special)

If a string is provided and it has . (periods) anywhere inside that string, Reword will treat this as a nested lookup, splitting the string on the . character.

A tiny example:

Import reword, give it a map of translations, and an optional notFoundHandler which will be called with the input string.

import reword from 'reword'

const translations = {
  smt : 'something',
  nm  : 'not much',
  hru : 'how are you',

  colors: {
    blue  : '#00f',
    red   : '#f00',
    green : '#0f0'
  }
}

const notFoundHandler = (string) => {
  if (process.env.NODE_ENV !== 'production') {
    console.warn(`No translation found for ${string}.`)
  }
  
  return string
}

const t = reword(translations, notFoundHandler)

t('smt')    // => 'something'
t('nm')     // => 'not much'
t('hru')    // => 'how are you'
t('uhhhh')  // => 'uhhhh' (notFoundHandler invoked with 'uhhh')

t(['colors', 'blue']) // => '#00f'
t('colors.red')       // => '#f00'

Code At Viget

Visit code.viget.com to see more projects from Viget.

reword's People

Contributors

solomonhawk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.