Skip to content

Why is this line hardcoded to a path? #376

Description

@Elsie19

let full_path = format!("./tests/resources/{}/{}", locale, res_id);

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());
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions