GNU Gettext FFI binding for Rust
Docs are available here
Usage:
rust
use gettextrs::*;
setlocale(LocaleCategory::LcAll, "en_US.UTF-8");
bindtextdomain("hellorust", "/usr/local/share/locale");
textdomain("hellorust");
println!("Translated: {}", gettext("Hello, world!"));
println!("Singular: {}", ngettext("One thing", "Multiple things", 1));
println!("Plural: {}", ngettext("One thing", "Multiple things", 2));