All Projects → projectfluent → Fluent.js

projectfluent / Fluent.js

Licence: apache-2.0
JavaScript implementation of Project Fluent

Programming Languages

javascript
184084 projects - #8 most used programming language
language
365 projects

Projects that are alternatives of or similar to Fluent.js

Weblate
Web based localization tool with tight version control integration.
Stars: ✭ 2,719 (+337.14%)
Mutual labels:  translation, i18n, localization, internationalization, l10n
i18n
internationalize projects to Arabic
Stars: ✭ 67 (-89.23%)
Mutual labels:  i18n, translation, internationalization, localization, l10n
inlang
Open Source Localization Solution for Software.
Stars: ✭ 160 (-74.28%)
Mutual labels:  i18n, translation, internationalization, localization, l10n
Mojito
An automation platform that enables continuous localization.
Stars: ✭ 256 (-58.84%)
Mutual labels:  translation, i18n, localization, internationalization, l10n
Dom I18n
Provides a very basic HTML multilingual support using JavaScript
Stars: ✭ 125 (-79.9%)
Mutual labels:  translation, i18n, localization, internationalization, l10n
Pseudo Localization
Dynamic pseudo-localization in the browser and nodejs
Stars: ✭ 109 (-82.48%)
Mutual labels:  translation, i18n, localization, internationalization, l10n
labels
Bolt Labels extension - Translatable labels for Bolt
Stars: ✭ 18 (-97.11%)
Mutual labels:  i18n, translation, internationalization, localization, l10n
Node Gettext
A JavaScript implementation of gettext, a localization framework.
Stars: ✭ 175 (-71.86%)
Mutual labels:  translation, i18n, localization, internationalization, l10n
rosetta
A blazing fast internationalization (i18n) library for Crystal with compile-time key lookup.
Stars: ✭ 23 (-96.3%)
Mutual labels:  i18n, translation, internationalization, localization, l10n
React Localize Redux
Dead simple localization for your React components
Stars: ✭ 384 (-38.26%)
Mutual labels:  translation, i18n, localization, internationalization
i18n-tag-schema
Generates a json schema for all i18n tagged template literals in your project
Stars: ✭ 15 (-97.59%)
Mutual labels:  i18n, translation, localization, l10n
Easy localization
Easy and Fast internationalizing your Flutter Apps
Stars: ✭ 407 (-34.57%)
Mutual labels:  translation, i18n, localization, internationalization
python-fluent
Python implementation of Project Fluent
Stars: ✭ 142 (-77.17%)
Mutual labels:  i18n, internationalization, localization, l10n
i18n
Package i18n is for app Internationalization and Localization.
Stars: ✭ 79 (-87.3%)
Mutual labels:  i18n, internationalization, localization, l10n
plate
Internationalization library for Python
Stars: ✭ 31 (-95.02%)
Mutual labels:  i18n, translation, internationalization, localization
Angular-Gulp-Boilerplate
Clean but full-featured AngularJS boilerplate using Gulp workflow and best practices
Stars: ✭ 30 (-95.18%)
Mutual labels:  i18n, internationalization, localization, l10n
Tower
i18n & L10n library for Clojure/Script
Stars: ✭ 264 (-57.56%)
Mutual labels:  translation, i18n, localization, l10n
Gotext
Go (Golang) GNU gettext utilities package
Stars: ✭ 292 (-53.05%)
Mutual labels:  translation, i18n, internationalization, l10n
Js Lingui
🌍📖 A readable, automated, and optimized (5 kb) internationalization for JavaScript
Stars: ✭ 3,249 (+422.35%)
Mutual labels:  translation, i18n, localization, internationalization
Laravel Js Localization
🌐 Convert your Laravel messages and consume them in the front-end!
Stars: ✭ 451 (-27.49%)
Mutual labels:  i18n, localization, internationalization, l10n

Project Fluent Build Status

Fluent.js is a JavaScript implementation of Project Fluent, a localization framework designed to unleash the expressive power of the natural language.

Project Fluent keeps simple things simple and makes complex things possible. The syntax used for describing translations is easy to read and understand. At the same time it allows, when necessary, to represent complex concepts from natural languages like gender, plurals, conjugations, and others.

Packages

Fluent.js consists of a set of packages which have different use-cases and can be installed independently of each other.

You can install each of the above packages via npm, e.g. npm install @fluent/react.
See the end of this README for instructions on how to build fluent.js locally.

Learn the FTL syntax

FTL is a localization file format used for describing translation resources. FTL stands for Fluent Translation List.

FTL is designed to be simple to read, but at the same time allows to represent complex concepts from natural languages like gender, plurals, conjugations, and others.

hello-user = Hello, { $username }!

Read the Fluent Syntax Guide in order to learn more about the syntax. If you're a tool author you may be interested in the formal EBNF grammar.

Discuss

We'd love to hear your thoughts on Project Fluent! Whether you're a localizer looking for a better way to express yourself in your language, or a developer trying to make your app localizable and multilingual, or a hacker looking for a project to contribute to, please do get in touch!

Get Involved

Fluent.js is open-source, licensed under the Apache License, Version 2.0. We encourage everyone to take a look at our code and we'll listen to your feedback.

Local Development

Hacking on fluent.js is easy! To quickly get started clone the repo:

$ git clone https://github.com/projectfluent/fluent.js.git
$ cd fluent.js

You'll need at least Node.js 10 LTS. Older versions are not supported.

Install the build tools used by all packages (Babel, Rollup, Mocha etc.):

$ npm install

Install dependencies of individual fluent.js packages which are required for passing tests:

$ make deps

Build all packages at once:

$ make

…which is equivalent to:

$ make lint
$ make test
$ make build

You can also cd into a package's directory and issue the above make commands from there. Only this one package will be affected.

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].