Project Fluent: A replacement for Gettext

In the past months Mozilla has started migrating their i18n to use their own internal tool, Project Fluent. Fluent allows translators to handle variables like gender, number, and any enumeration you want to include. There are two implementations, one in Rust and one in Javascript. I know that currently there’s no simple UI tool to do translations for it, but it’s an interesting project and I think we need to keep an eye on it.


I don’t see this going very far without an implementation that can be used from C (not necessarily written in C; they have a version written in Rust, but i’m not familiar with that language well enough to judge its usability; i.e. i know that Rust is a compiled language, and that it can be exposed with C interface, but doing that requires deliberate effort on part of the developer - it’s like exporting C++ with C interface, it doesn’t happen automatically; i don’t know Rust well enough to see whether the API is usable from C or not) and (by extension) anything that can use the C interface.

Please keep in mind that there is a massive ecosystem of tools around gettext. Apart from the gettext-tools, there are numerous GUI translation tools, web-based translation tools, quality checkers, command-line utilities, etc. Damned lies (the GNOME l10n platform) also only supports .po files, as far as I know. Gettext already supports number, and at least some of the gender issues are needed by Mozilla because of some their internal policies around product naming that GNOME shouldn’t be affected by.

I agree, since C is the parent class to almost all the programming languages however having a scripting language code being converted to some desktop development language always prone to some issues with it.
Whatever be the case this @desiderantes is right, this will be interesting.

I get the feeling that most people here assume that, somehow, Rust is a scripting language. Far from the truth. Rust is a compiled language which is blazingly fast and memory-efficient, with no runtime or garbage collector, and a candidate to overthrow C. Rust is able to expose a C ABI.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.