A tiny translator.
JavaScript Makefile
Latest commit 45350e8 Dec 23, 2015 Doug Avery Adding code.viget.com plug to README
Permalink
Failed to load latest commit information.
src
.babelrc
.gitignore [config] Initial Commit May 17, 2015
.npmignore
CHANGELOG.md
CONTRIBUTING.md [config] Initial Commit May 17, 2015
LICENSE.md [config] Initial Commit May 17, 2015
Makefile [config] Re-add npm prepublish and release tasks May 17, 2015
README.md Adding code.viget.com plug to README Dec 23, 2015
karma.conf.js
npm-debug.log [config] Initial Commit May 17, 2015
package.json
webpack.config.js

README.md

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.