Skip to content

Commit

Permalink
fix: fix i18n_embed fallback to select language
Browse files Browse the repository at this point in the history
  • Loading branch information
eatradish committed Aug 15, 2024
1 parent 01c7c1c commit 0120375
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/lang.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
use std::sync::LazyLock;

use i18n_embed::{
fluent::{fluent_language_loader, FluentLanguageLoader},
LanguageLoader,
fluent::{fluent_language_loader, FluentLanguageLoader}, DefaultLocalizer, LanguageLoader, Localizer
};
use rust_embed::RustEmbed;

Expand Down Expand Up @@ -31,3 +30,8 @@ macro_rules! fl {
i18n_embed_fl::fl!($crate::lang::LANGUAGE_LOADER, $message_id, $($args), *)
}};
}

// Get the `Localizer` to be used for localizing this library.
pub fn localizer() -> Box<dyn Localizer> {
Box::from(DefaultLocalizer::new(&*LANGUAGE_LOADER, &Localizations))
}
8 changes: 8 additions & 0 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ use anyhow::anyhow;

use clap::ArgMatches;
use error::OutputError;
use i18n_embed::DesktopLanguageRequester;
use list::ListFlags;
use oma_console::print::{termbg, OmaColorFormat};
use oma_console::writer::{writeln_inner, MessageType, Writer};
Expand Down Expand Up @@ -104,6 +105,13 @@ pub struct OmaArgs {
}

fn main() {
let localizer = crate::lang::localizer();
let requested_languages = DesktopLanguageRequester::requested_languages();

if let Err(error) = localizer.select(&requested_languages) {
eprintln!("Error while loading languages for library_fluent {}", error);
}

ctrlc::set_handler(single_handler).expect(
"Oma could not initialize SIGINT handler.\n\nPlease restart your installation environment.",
);
Expand Down

0 comments on commit 0120375

Please sign in to comment.