Need help with ttag?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

274 Stars 35 Forks MIT License 461 Commits 49 Opened issues


:orange_book: simple approach for javascript localization

Services available


Need anything else?

Contributors list


Modern javascript i18n localization library based on ES6 tagged templates and the good old GNU gettext

travis codecov downloads


Key features

  • Uses ES6 template literals for string formatting (no need for sprintf).
  • Contexts support
  • It can precompile translations on a build step.
  • Plurals support ngettext.
  • It can be integrated in any build tool that works with babel.
  • Has a builtin validation for translated strings format.
  • It can use any default locale in sources (not only English).
  • Handles React (jsx) translations.
  • Can be easily integrated with Create React App. CRA doc

Usage example

import { t, ngettext, msgid } from 'ttag'

// formatted strings const name = 'Mike'; const helloMike = tHello ${name};

// plurals (works for en locale out of the box) const n = 5; const msg = ngettext(msgid${ n } task left, ${ n } tasks left, n)


npm install --save ttag


You may also need to install ttag-cli for

files manipulation.

ttag cli -

npm install --save-dev ttag-cli

Usage from CDN

This project is designed to work in pair with babel-plugin-ttag.
But you can also play with it without transpilation.


Give a ⭐️ if this project helped you!

Useful links

Slides from talks



This project is licensed under the MIT license.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.