@protontech/ttag
TypeScript icon, indicating that this package has built-in type declarations

1.7.25 • Public • Published

ttag

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

travis codecov downloads

NPM


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 = t`Hello ${name}`;

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

Installation

npm install --save ttag

CLI

You may also need to install ttag-cli for po files manipulation.

ttag cli - https://github.com/ttag-org/ttag-cli

npm install --save-dev ttag-cli

Usage from CDN

https://unpkg.com/ttag/dist/ttag.min.js

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

Support

Give a ⭐️ if this project helped you!

Useful links

Slides from talks

Talks

License

This project is licensed under the MIT license.

/@protontech/ttag/

    Package Sidebar

    Install

    npm i @protontech/ttag

    Weekly Downloads

    2

    Version

    1.7.25

    License

    MIT

    Unpacked Size

    81.9 kB

    Total Files

    16

    Last publish

    Collaborators

    • e1a0a0ea
    • guillaumez
    • edvincandon
    • epokk
    • econdepe
    • larabr
    • mmso
    • twiss
    • bartbutler