fluent-rs icon indicating copy to clipboard operation
fluent-rs copied to clipboard

Why is this line hardcoded to a path?

Open Elsie19 opened this issue 10 months ago • 4 comments

https://github.com/projectfluent/fluent-rs/blob/f2033ce8340e09000ad9efccd6215b3fa5c23496/fluent-resmgr/src/resource_manager.rs#L174

It seems that if I try to change the path in my program to something like this:

.
├── broken
│   └── resources
│       ├── en-US
│       │   └── test.ftl
│       └── pl
├── Cargo.lock
├── Cargo.toml
└── src
    └── main.rs

I get this:

thread 'main' panicked at /home/henry/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fluent-resmgr-0.0.7/src/resource_manager.rs:175:56:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

With this code:

use fluent_fallback::Localization;
use fluent_resmgr::ResourceManager;
use unic_langid::langid;

fn main() {
    let res_mgr = ResourceManager::new("./broken/resources/{locale}/".into());

    let loc = Localization::with_env(
        vec!["test.ftl".into()],
        true,
        vec![langid!("en-US")],
        res_mgr,
    );
    let bundles = loc.bundles();

    let mut errors = vec![];
    let value = bundles
        .format_value_sync("hello-world", None, &mut errors)
        .expect("Failed to format a value");

    println!("{}", value.unwrap());
}

Elsie19 avatar Dec 07 '24 01:12 Elsie19