Skip to content

Fluent get_attr does not use current languages #159

@danini-the-panini

Description

@danini-the-panini

When using get_attr with fluent-system, the current languages set by select_languages are not used.

Reproduction: https://github.com/danini-the-panini/i18n_embed_test

let en: LanguageIdentifier = "en".parse().expect("EN FAIL!");
let af: LanguageIdentifier = "af".parse().expect("AF FAIL!");
let fr: LanguageIdentifier = "fr".parse().expect("AF FAIL!");

let i18n = fluent_language_loader!();
i18n.load_available_languages(&*LOCALIZATIONS)
    .expect("LOAD FAIL");

println!("Default: {}", i18n.get("foo"));

let t_af = i18n.select_languages(&[af]);
let t_en = i18n.select_languages(&[en]);
let t_fr = i18n.select_languages(&[fr]);

println!("Afrikaans get:  {}", t_af.get("foo"));
println!("Afrikaans attr: {}", t_af.get_attr("foo", "bar"));
println!("English get:  {}", t_en.get("foo"));
println!("English attr: {}", t_af.get_attr("foo", "bar"));
println!("French get:  {}", t_fr.get("foo"));
println!("French attr: {}", t_af.get_attr("foo", "bar"));
Default: Hallo wereld
Afrikaans get:  Hallo wereld
Afrikaans attr: Dis 'n krisis van epidermiese proporsies
English get:  Hello World
English attr: Dis 'n krisis van epidermiese proporsies
French get:  Bonjour de monde!
French attr: Dis 'n krisis van epidermiese proporsies

Expected behaviour

Fluent loader should get attributes from the current language(s)

Actual behaviour

Fluent loader gets attributes from the first available language in the list

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions