返回排行榜

projectfluent/fluent

JavaScriptprojectfluent.org

Fluent — planning, spec and documentation

intllocalizationl10ninternationalizationglobalizationtranslatetranslationftlspecificationasdlebnf
Star 增长趋势
Star
1.7k
Forks
47
周增长
Issues
69
5001k1.5k
2017年1月2020年3月2023年5月2026年7月
制品库npmnpm install fluent
README

Fluent

Fluent is a localization system designed to unleash the expressive power of the natural language.

This repository contains the specification, the reference implementation of the parser and the documentation for Fluent.

Fluent Syntax (FTL)

FTL is the syntax for describing translation resources in Project Fluent. FTL stands for Fluent Translation List. Read the Fluent Syntax Guide to get started learning Fluent.

The syntax/ directory contains the reference implementation of the syntax as a LL(infinity) parser.

The spec/ directory contains the formal EBNF grammar, autogenerated from the reference implementation.

Development

While working on the reference parser, use the following commands to test and validate your work:

npm test                   # Test the parser against JSON AST fixtures.
npm run lint               # Lint the parser code.

npm run generate:ebnf      # Generate the EBNF from syntax/grammar.js.
npm run generate:fixtures  # Generate test fixtures (FTL → JSON AST).

npm run build:guide        # Build the HTML version of the Guide.

npm run bench              # Run the performance benchmark on large FTL.

Other Implementations

This repository contains the reference implementation of the parser. Other implementations exist which should be preferred for use in production and in tooling.

We also know about the following community-driven implementations:

Learn More and Discuss

Find out more about Project Fluent at projectfluent.org and discuss the future of Fluent at Mozilla Discourse.

相关仓库
moment/luxon

⏱ A library for working with dates and times in JS

JavaScriptnpmMIT Licenseintltimezones
moment.github.io/luxon
16.4k786
formatjs/formatjs

The monorepo home to all of the FormatJS related libraries, most notably react-intl.

TypeScriptnpmjavascriptreact
formatjs.github.io
14.7k1.4k
lingui/js-lingui

🌍 📖 A readable, automated, and optimized (2 kb) internationalization for JavaScript

TypeScriptnpmMIT Licensetranslationinternationalization
lingui.dev
5.8k448
globalizejs/globalize

A JavaScript library for internationalization and localization that leverages the official Unicode CLDR JSON data

JavaScriptnpmMIT Licensecldrcldr-data
globalizejs.com
4.8k587
symfony/polyfill-intl-idn

Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions

PHPPackagistMIT Licensecompatibilitycomponent
symfony.com/polyfill-intl-idn
3.4k8
symfony/intl

Provides access to the localization data of the ICU library

PHPPackagistMIT Licensephpsymfony
symfony.com/intl
2.6k53
alibaba/kiwi

🐤 Kiwi-国际化翻译全流程解决方案

TypeScriptnpmi18ng11n
2.6k240
symfony/polyfill-intl-icu

Symfony polyfill for intl's ICU-related data and classes

PHPPackagistMIT Licensesymfonypolyfill
symfony.com/polyfill-intl-icu
2.6k6
symfony/polyfill-intl-normalizer

Symfony polyfill for intl's Normalizer class and related functions

PHPPackagistMIT Licensesymfonypolyfill
symfony.com/polyfill-intl-normalizer
2.1k4
symfony/polyfill-intl-grapheme

Symfony polyfill for intl's grapheme_* functions

PHPPackagistMIT Licensesymfonycomponent
symfony.com/polyfill-intl-grapheme
1.7k5