Fluent
cargo-i18n
Our great sponsors
Fluent | cargo-i18n | |
---|---|---|
14 | 1 | |
987 | 113 | |
3.3% | - | |
6.6 | 5.7 | |
about 1 month ago | 6 days ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Fluent
-
Libxo: The Easy Way to Generate Text, XML, JSON, and HTML Output
> Typical printf usage is imperative and additive:
> if (enter) printf("Hello "); else printf("Goodbye "); printf("World!\n");
And unless you want your translator to hate you, you really, really mustn’t do this in user-facing output.
(OK, you can if you really want to and if you’re ready to give them the same tools[1], but it won’t be simple. Although I’m unaware of any professional translators supporting this either—most use a CAT, and the Fluent approach ignores those.)
[1] https://projectfluent.org/
- Fluent – A localization system for natural-sounding translations
-
Extensions written in Rust
I wrote one for creating a Fluent library for PHP.
- Show HN: My first blog post on Rust 1.58.0 format strings
-
New internationalization plugin for Vue - fluent-vue
No. fluent-vue uses Fluent syntax from Mozilla https://projectfluent.org/. Which, I would say is just as powerful as ICU but is much more readable.
-
What they don’t tell you when you translate your app
I think Mozilla's translation system called Fluent can handle that.
https://projectfluent.org/
-
4 Difficulties You Might Encounter When Using vue-i18n
After few months of frustration with trying to use the "de-facto" internationalization library for Vue.js - vue-i18n, I've decided it is time to replace it. And that is why I have created fluent-vue. I will write more about it and Fluent syntax it uses in my following blog posts.
-
5 JavaScript internationalization libraries that look interesting
fluent
-
The Goals of XML at 25: and the one change that XML now needs
> I'm also not sold on the whole "HTML-style error-recovery"
Having used and written a parser for a similar recoverable localization language (https://projectfluent.org/) I'm sold on it.
It makes a lot of things easier. It's kinda like adding trailing comma to lists. It's both boon when writing lists by hand and generating it via code.
cargo-i18n
-
Some of our projects will be translatable soon
It recently became possible to set up translation infrastructure in Rust with i18n-embed and Project Fluent. Popsicle is the first project to receive this treatment (https://github.com/pop-os/popsicle/pull/123), and other projects will be following soon. So if you've been interested in translating our software, the chance to do so will be present soon.
What are some alternatives?
regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
Popsicle - Multiple USB File Flasher
icu4x - Solving i18n for client-side and resource-constrained environments.
nim-nimterlingua - Internationalization at Compile Time for Nim
whatlang-rs - Natural language detection library for Rust. Try demo online: https://whatlang.org/
UNIC - UNIC: Unicode and Internationalization Crates for Rust
tabwriter - Elastic tabstops for Rust.
textwrap - An efficient and powerful Rust library for word wrapping text.
fluent-vue - Internationalization plugin for Vue.js
ngrams - (Read-only) Generate n-grams
pontoon - Mozilla's Localization Platform
flutter-gen-l10n-example - Flutter app localization example with gen_l10n