rimloc-core

Crates.iorimloc-core
lib.rsrimloc-core
version0.1.0
created_at2025-09-25 17:57:20.611092+00
updated_at2025-09-25 17:57:20.611092+00
descriptionCore data types and utilities for RimLoc translation toolkit
homepage
repositoryhttps://github.com/0-danielviktorovich-0/RimLoc
max_upload_size
id1854921
size17,264
Daniel Viktorovich (0-danielviktorovich-0)

documentation

https://0-danielviktorovich-0.github.io/RimLoc/

README

rimloc-core

Core data types and utilities used across the RimLoc toolkit.

Usage

Add to Cargo.toml:

[dependencies]
rimloc-core = "0.1.0"

Parse a minimal PO string and work with TransUnit/PoEntry:

use rimloc_core::{parse_simple_po, TransUnit};

fn main() -> color_eyre::Result<()> {
    // Minimal PO with two entries
    let po = r#"
msgid "Hello"
msgstr "Привет"

msgid "Bye"
msgstr "Пока"
"#;
    let entries = parse_simple_po(po)?;
    assert_eq!(entries.len(), 2);

    // Build a TransUnit for downstream exporters
    let unit = TransUnit {
        key: "Greeting".into(),
        source: Some("Hello".into()),
        path: "Mods/My/Languages/English/Keyed/A.xml".into(),
        line: Some(3),
    };
    println!("{unit:?}");
    Ok(())
}

Links

Commit count: 167

cargo fmt