{"id":13500631,"url":"https://github.com/projectfluent/fluent","last_synced_at":"2025-04-07T23:12:38.492Z","repository":{"id":39120956,"uuid":"77912374","full_name":"projectfluent/fluent","owner":"projectfluent","description":"Fluent — planning, spec and documentation","archived":false,"fork":false,"pushed_at":"2024-02-28T18:50:56.000Z","size":2785,"stargazers_count":1459,"open_issues_count":88,"forks_count":46,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-03-31T22:24:36.933Z","etag":null,"topics":["asdl","ebnf","ftl","globalization","internationalization","intl","l10n","localization","specification","translate","translation"],"latest_commit_sha":null,"homepage":"https://projectfluent.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/projectfluent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-03T11:44:58.000Z","updated_at":"2025-03-29T11:23:10.000Z","dependencies_parsed_at":"2024-01-12T11:02:26.996Z","dependency_job_id":"4b630fe9-4bc4-44e0-8705-1e941d7446bb","html_url":"https://github.com/projectfluent/fluent","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectfluent%2Ffluent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectfluent%2Ffluent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectfluent%2Ffluent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectfluent%2Ffluent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/projectfluent","download_url":"https://codeload.github.com/projectfluent/fluent/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247744335,"owners_count":20988783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asdl","ebnf","ftl","globalization","internationalization","intl","l10n","localization","specification","translate","translation"],"created_at":"2024-07-31T22:01:07.771Z","updated_at":"2025-04-07T23:12:38.457Z","avatar_url":"https://github.com/projectfluent.png","language":"JavaScript","readme":"# Fluent\n\nFluent is a localization system designed to unleash the expressive power of\nthe natural language.\n\nThis repository contains the specification, the reference implementation of the\nparser and the documentation for Fluent.\n\n## Fluent Syntax (FTL)\n\nFTL is the syntax for describing translation resources in Project Fluent.  FTL\nstands for *Fluent Translation List*. Read the [Fluent Syntax Guide][] to get\nstarted learning Fluent.\n\nThe `syntax/` directory contains the reference implementation of the syntax as\na _LL(infinity)_ parser.\n\nThe `spec/` directory contains the formal EBNF grammar, autogenerated from the\nreference implementation.\n\n## Development\n\nWhile working on the reference parser, use the following commands to test and\nvalidate your work:\n\n    npm test                   # Test the parser against JSON AST fixtures.\n    npm run lint               # Lint the parser code.\n\n    npm run generate:ebnf      # Generate the EBNF from syntax/grammar.js.\n    npm run generate:fixtures  # Generate test fixtures (FTL → JSON AST).\n\n    npm run build:guide        # Build the HTML version of the Guide.\n\n    npm run bench              # Run the performance benchmark on large FTL.\n\n## Other Implementations\n\nThis repository contains the reference implementation of the parser. Other implementations exist which should be preferred for use in production and in tooling.\n\n  - The JavaScript implementation at [`fluent.js`](https://github.com/projectfluent/fluent.js), including the [React bindings](https://github.com/projectfluent/fluent.js/tree/master/fluent-react).\n  - The Python implementation at [`python-fluent`](https://github.com/projectfluent/python-fluent).\n  - The Rust implementation at [`fluent-rs`](https://github.com/projectfluent/fluent-rs).\n\nWe also know about the following community-driven implementations:\n\n  - [`Fluent.Net`](https://github.com/blushingpenguin/Fluent.Net) by [@blushingpenguin](https://github.com/blushingpenguin). See [#93](https://github.com/projectfluent/fluent/issues/93) for more info.\n  - [`Linguini`](https://github.com/Ygg01/Linguini) a .NET library by [@Ygg01](https://github.com/Ygg01)\n  - A Java/Kotlin implementation has been requested in [#158](https://github.com/projectfluent/fluent/issues/158).\n  - [`elm-fluent`](https://github.com/elm-fluent/elm-fluent) by [@spookylukey](https://github.com/spookylukey/)\n  - [`Fluent`](https://github.com/alabamenhu/Fluent) as a Perl 6 module by [@alabamenhu](https://github.com/alabamenhu/)\n  - [`fluent-dart`](https://github.com/ryanhz/fluent-dart) as a Dart runtime implementation by [@ryanhz](https://github.com/ryanhz).\n  - [`fluent-compiler`](https://github.com/django-ftl/fluent-compiler) - an alternative Python implementation by [@spookylukey](https://github.com/spookylukey/).\n  - [`fluent-vue`](https://github.com/demivan/fluent-vue) - Vue.js plugin - integration for `fluent.js`\n  - A Lua implementation effort is underway at [`fluent-lua`](https://github.com/alerque/fluent-lua) by [@alerque](https://github.com/alerque).\n  - A D implementation effort is underway at [`fluentd`](https://github.com/SirNickolas/fluentd) by [@SirNickolas](https://github.com/SirNickolas).\n  - [`fluent.go`](https://github.com/lus/fluent.go) - a Golang implementation by [@lus](https://github.com/lus)\n  - [`fluent-php`](https://github.com/Ennexa/fluent-php) - a PHP module providing bindings wrapping the Rust library by [@Ennexa](https://github.com/Ennexa)\n\n## Learn More and Discuss\n\nFind out more about Project Fluent at [projectfluent.org][] and discuss the future of Fluent at [Mozilla Discourse][].\n\n[Fluent Syntax Guide]: http://projectfluent.org/fluent/guide\n[projectfluent.org]: http://projectfluent.org\n[Mozilla Discourse]: https://discourse.mozilla.org/c/fluent\n","funding_links":[],"categories":["JavaScript","localization","Tools"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectfluent%2Ffluent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprojectfluent%2Ffluent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectfluent%2Ffluent/lists"}