I have a leptos-based web app that I want to translate.
I’d like to use fluent. My needs aren’t complex, but I don’t want to learn or be tied to any homegrown, framework-specific translation format.
Looking at high-level APIs for fluent (selecting locales, providing a macro, embedding data into the executable), I’m aware of these alternatives:
fluent-fallback, from fluent-rs. For a high-level crate, APIs like
format_value_syncare still cumbersome to use, and I would have to write my own wrapper on top.
- fluent-templates, by XAMPPRocky (a prolific crate author I trust). Seems easy to use
- i18n-embed / cargo-i18n, by kellpossible. I hit a papercut on first try but it does provide a convenient proc macro (i18n-embed-fl)
- l10n. An all-in-one crate by MathieuTricoire with another macro. I like that he contributed PRs to fix stuff in fluent-bundle; unfortunately the fluent-rs project has yet to cut releases with those (latest release was almost one year ago, for fluent-resmgr).
- fluent-localization-loader / fluent-localization-bindgen (I’ve hit the link limit) by AEnterprise
Does anyone have any experience with these?
While looking into the lack of recent releases (with the fixes for the l10n crate), I realized that ICU4X might start on support for its own way of localising strings, but this is years away, and the language might be overly complex (ICU4J example); I’d like to have recommendations I could work on now.