ttag-org / Ttag
Licence: mit
📙 simple approach for javascript localization
Stars: ✭ 243
Programming Languages
javascript
184084 projects - #8 most used programming language
es6
455 projects
Labels
Projects that are alternatives of or similar to Ttag
Lang.js
🎭 Laravel Translator class in JavaScript!
Stars: ✭ 232 (-4.53%)
Mutual labels: i18n, localization
Formatjs
The monorepo home to all of the FormatJS related libraries, most notably react-intl.
Stars: ✭ 12,869 (+5195.88%)
Mutual labels: i18n, localization
Toolbelt.blazor.i18ntext
The class library that provides the ability to localize texts on your Blazor app!
Stars: ✭ 134 (-44.86%)
Mutual labels: i18n, localization
L10ns
Internationalization workflow and formatting
Stars: ✭ 234 (-3.7%)
Mutual labels: i18n, localization
Localize Router
An implementation of routes localisation for Angular
Stars: ✭ 177 (-27.16%)
Mutual labels: i18n, localization
Dom I18n
Provides a very basic HTML multilingual support using JavaScript
Stars: ✭ 125 (-48.56%)
Mutual labels: i18n, localization
I18n Extract
Manage localization with static analysis. 🔍
Stars: ✭ 152 (-37.45%)
Mutual labels: i18n, localization
Pseudo Localization
Dynamic pseudo-localization in the browser and nodejs
Stars: ✭ 109 (-55.14%)
Mutual labels: i18n, localization
React Translated
A dead simple way to add complex translations (i18n) in a React (DOM/Native) project 🌎🌍🌏
Stars: ✭ 176 (-27.57%)
Mutual labels: i18n, localization
Node Gettext
A JavaScript implementation of gettext, a localization framework.
Stars: ✭ 175 (-27.98%)
Mutual labels: i18n, localization
React I18nify
Simple i18n translation and localization components and helpers for React.
Stars: ✭ 123 (-49.38%)
Mutual labels: i18n, localization
Weblate
Web based localization tool with tight version control integration.
Stars: ✭ 2,719 (+1018.93%)
Mutual labels: i18n, localization
Phabricator zh hans
Phabricator zh-Hans Translation & Tools.
Stars: ✭ 113 (-53.5%)
Mutual labels: i18n, localization
Punic
PHP translation and localization made easy!
Stars: ✭ 133 (-45.27%)
Mutual labels: i18n, localization
Traduora
Ever® Traduora - Open-Source Translation Management Platform
Stars: ✭ 1,580 (+550.21%)
Mutual labels: localization, i18n
Jquery.ime
jQuery based input methods library
Stars: ✭ 145 (-40.33%)
Mutual labels: i18n, localization
Keys Translations Manager
KTM, a locale management web app built on MERN stack, lets you manage and control locales in one place. It's particularly useful for someone who needs to manage multiple internationalization/localization projects.
Stars: ✭ 81 (-66.67%)
Mutual labels: i18n, localization
Localechanger
An Android library to programmatically set the Locale of an app and persist the configuration.
Stars: ✭ 100 (-58.85%)
Mutual labels: i18n, localization
Es2015 I18n Tag
ES2015 template literal tag for i18n and l10n (translation and internationalization)
Stars: ✭ 171 (-29.63%)
Mutual labels: i18n, localization
Linguist
Easy multilingual urls and redirection support for the Laravel framework
Stars: ✭ 188 (-22.63%)
Mutual labels: i18n, localization
ttag
⚠️ This project was previously named
c-3po
. Some of the talks, presentations, and documentation may reference it with both names.
Modern javascript i18n localization library based on ES6 tagged templates and the good old GNU gettext
- Docs - https://ttag.js.org/
- Changelog - https://ttag.js.org/docs/changelog.html
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.
Useful links
Tutorials
Slides from talks
Talks
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].