ez-localize
Version:
Super-simple localization of strings in a Node/Browserify application
35 lines (27 loc) • 983 B
text/coffeescript
assert = require('chai').assert
Localizer = require '../src/Localizer'
describe "Localizer", ->
before ->
= {
locales: [
{ code: "en", name: "English" }
{ code: "es", name: "Espanol" }
]
strings: [
{ en: "dog", es: "perro" }
{ en: "cat", es: "gato" }
{ en: "a {0} b {1} c", es: "x {1} y {0} z" }
]
}
= new Localizer(, "es")
it "localizes string", ->
assert.equal .localizeString("dog"), "perro"
it "falls back to english", ->
assert.equal .localizeString("fish"), "fish"
it "replaces parameters", ->
assert.equal .localizeString("a {0} b {1} c", "1", 2), "x 2 y 1 z"
it "T replaces parameters", ->
assert.equal .T("a {0} b {1} c", "1", 2), "x 2 y 1 z"
describe "react-style localization", ->
it "returns array with objects", ->
assert.deepEqual .T("a {0} b {1} c", { x: 1 }, { y: 2 }), ["x ", { y: 2 }, " y ", { x: 1 }, " z"]