Skip to content

mattyod/stringting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stringting NPM version

very alpha

String build tool for internationalisation i18n.

Quick overview

Take a template like:


html
  head
    title __(app.title)
  body
    h1 __(app.heading)
    p __(app.intro)

run stringting

And generate a translations file like:


{
  app: {
    title: {
      locations: ['app.jade:3'],
      msgid: "__(app.title)",
      msgstr: "",
      comments: ""
    },
    heading: {
      locations: ['app.jade:5'],
      msgid: "__(app.heading)",
      msgstr: "",
      comments: ""
    },
    intro: {
      locations: ['app.jade:6'],
      msgid: "__(app.intro)",
      msgstr: "",
      comments: ""
    }
  }
}

Then add some text for your keys like:


{
  app: {
    title: {
      locations: ['app.jade:3'],
      msgid: "__(app.title)",
      msgstr: "Demo site",
      comments: ""
    },
    heading: {
      locations: ['app.jade:5'],
      msgid: "__(app.heading)",
      msgstr: "Demonstrating Stringting",
      comments: ""
    },
    intro: {
      locations: ['app.jade:6'],
      msgid: "__(app.intro)",
      msgstr: "Just a quick little demo.",
      comments: ""
    }
  }
}

Run stringting again and get a template like:


html
  head
    title Demo site
  body
    h1 Demonstrating Stringting
    p Just a quick little demo.

Set up

To run stringting you will need a .stringtingrc file at your project root.

The minimum settings you will need to run a build are:

src

Path to your master templates. e.g.


"src": "src/templates"

translations

Path to your json translation files. e.g.


"translations": "src/translations"

locales

The locales to map translations and production templates to. e.g.


"locales": ["dev", "en", "fr"]

templates

Destination folder for your final compiled templates.


"templates": "views"

All together

So your finished .strintingrc file would look something like:


{
  "src": "src/templates",
  "translations": "src/translations",
  "locales": ["dev", "en"],
  "templates": "views"
}

Running it

If you have Stringting installed as a project dependency you will most likely want an npm or gulp task that runs the command:


node node_modules/stringting/bin/stringting

Or you might have it installed globally then you can just run:


stringting

Releases

No releases published

Packages

No packages published