Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - ttag-org/ttag: :orange_book: simple approach for javascript localization
:orange_book: simple approach for javascript localization - ttag-org/ttag
Visit SiteGitHub - ttag-org/ttag: :orange_book: simple approach for javascript localization
:orange_book: simple approach for javascript localization - ttag-org/ttag
Powered by 0x5a.live ๐
Modern javascript i18n localization library based on ES6 tagged templates and the good old GNU gettext
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.
JavaScript Resources
are all listed below.
Made with โค๏ธ
to provide different kinds of informations and resources.