1 unstable release

0.1.0 Jul 8, 2020

#341 in Internationalization (i18n)

MIT license

14KB
315 lines

rstext

Rust GNU gettext utilities crate. Inspired by gotext library.

Overview

The library tries to be as lazy as possible in regard to reduce usage of memory. Therefore if you didn't use some locale it won't be loaded into the memory. The same goes with domains.

  • There's no support of .mo files yet.
  • There's no global function for working with the library as if you would work with virtual C library.

Usage

The library automatically simplifies locales if the specific one is not found. The language codes are assumed to be ISO 639-1 codes (2-letter codes).

    let mut locale = rstext::Locale::new("example_locales", "en_UK")?;
    let domain = locale.load("domain1")?;
    let greeting = domain.get("greeting").map_or("greeting not found", |g| g);

    println!("{:?}", greeting);

No runtime deps