icu4x
Fluent
icu4x | Fluent | |
---|---|---|
25 | 14 | |
1,252 | 997 | |
1.3% | 2.2% | |
9.8 | 6.6 | |
4 days ago | 8 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
icu4x
-
Any new Opensource projects in (rust) looking for contributors. I want to start my journey as an OSS contributor.
ICU4X has a large priority backlog which are "issues that the team wants to definitely see fixed, but which currently lack resourcing."
- icu4x: pure rust implementation of the unicode ICU library
-
Self-referential types for fun and profit
this also (probably) means it's safe from LLVM-noalias unsoundness, though it still runs into the same Rust-level unsoundness
- ICU4X: Solving Internationalization for Clients and Limited Environments
-
uni-algo v0.5.0: Modern Unicode Library
Actually, the Rust version also offers multiple modes, see comparison.rs:
-
Announcing ICU4X 1.0 – New Internationalization Library from Unicode
It's generated from https://github.com/unicode-org/icu4x/blob/main/provider/datagen/data/segmenter/dictionary_cj.toml, which in turn comes from ICU4C.
-
The Unicode Consortium announces ICU4X 1.0, its new high-performance internationalization library. It's written in Rust, with official C++ and JavaScript wrappers available.
The code can be seen at https://github.com/unicode-org/icu4x, I count 193 uses of unsafe, though not all are the keyword, and some are in tests.
- icu4x: Can we have `rustc_layout_scalar_valid_range_end` on stable. Lang team: You have `rustc_layout_scalar_valid_range_end` on stable. `rustc_layout_scalar_valid_range_end` on stable:
-
Not a Yoking Matter (Zero-Copy #1)
We've got an issue filed about noalias UB in Yoke.
-
Chinese numerals are not recognized by char::is_numeric
As a reference for his expertise: he's part of team that develops https://github.com/unicode-org/icu4x
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.
What are some alternatives?
I18N - I18N Library for .NET, and Delphi
regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
encoding_rs - A Gecko-oriented implementation of the Encoding Standard in Rust
whatlang-rs - Natural language detection library for Rust. Try demo online: https://whatlang.org/
cldr - The home of the Unicode Common Locale Data Repository
UNIC - UNIC: Unicode and Internationalization Crates for Rust
rust_icu - rust_icu: rust bindings for ICU (International Components for Unicode) library
cargo-i18n - A Rust Cargo sub-command and libraries to extract and build localization resources to embed in your application/library
verona - Research programming language for concurrent ownership
tabwriter - Elastic tabstops for Rust.
textwrap - An efficient and powerful Rust library for word wrapping text.