返回排行榜

projectfluent/fluent.js

JavaScriptprojectfluent.org

JavaScript implementation of Project Fluent

localizationl10ninternationalizationi18nftllocalelanguagelanguage-negotiationglobalizationreactformattingtranslation
Star 增长趋势
Star
1k
Forks
80
周增长
Issues
62
5001k
2017年2月2020年3月2023年5月2026年7月
制品库npmnpm install fluent.js
README

Project Fluent

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 20.19. Older versions are not supported.

Install the dependencies used by all packages, which are managed as npm workspaces:

$ npm install

Build and test all packages at once:

$ npm run dist

…which is equivalent to:

$ npm run clean
$ npm run build --workspaces
$ npm run lint
$ npm run test
$ npm run docs

Each package may also be built separately by running npm run build in its directory.

相关仓库
AtsushiSakai/PythonRobotics

Python sample codes and textbook for robotics algorithms.

PythonPyPIOtherpythonrobotics
atsushisakai.github.io/PythonRobotics/
30.1k7.4k
Huanshere/VideoLingo

Netflix-level subtitle cutting, translation, alignment, and even dubbing - one-click fully automated AI video subtitle team | Netflix级字幕切割、翻译、对齐、甚至加上配音,一键全自动视频搬运AI字幕组

PythonPyPIApache License 2.0ai-translationdubbing
docs.videolingo.io
17.8k2k
formatjs/formatjs

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

TypeScriptnpmjavascriptreact
formatjs.github.io
14.7k1.4k
krillinai/KrillinAI

AI video translation & dubbing tool for humans and AI Agents, powered by LLMs. Full pipeline: download, transcribe, translate, TTS dub, reformat, cover generation. 100+ languages, optimized for YouTube, TikTok, Bilibili, Douyin, and more.AI视频翻译配音工具,面向人类与AI Agent,100+语言全链路,CLI分阶段调用,适配抖音、小红书、哔哩哔哩、视频号、TikTok、YouTube

GoGo ModulesGNU General Public License v3.0video-transcriptionvideo-translation
10.5k980
Humanizr/Humanizer

Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities

C#Otherlocalizationhacktoberfest
9.8k1.1k
SwiftGen/SwiftGen

The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!

SwiftMIT Licenseiosswift
9.6k765
cartographer-project/cartographer

Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.

C++Apache License 2.0slammapping
7.9k2.3k
Laravel-Lang/lang

List of 128 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel UI.

PHPPackagistMIT Licenselaravellanguage
laravel-lang.com/packages-lang.html
7.8k3k
WeblateOrg/weblate

Web based localization tool with tight version control integration.

PythonPyPIGNU General Public License v3.0localizationinternationalization
weblate.org
6k1.3k
lingui/js-lingui

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

TypeScriptnpmMIT Licensetranslationinternationalization
lingui.dev
5.8k448
tolgee/tolgee-platform

Developer & translator friendly web-based localization platform

TypeScriptnpmOtherlocalizationlocalization-tool
tolgee.io
4k363
github/relative-time-element

Web component extensions to the standard <time> element.

JavaScriptnpmMIT Licenseweb-componentscustom-elements
github.github.io/relative-time-element/examples/
4k189