blob: 23ca8b642f096677776fc9caf75cfa55cc30dab7 [file] [log] [blame] [edit]
use polib::po_file;
use std::env;
use std::error::Error;
use std::path::Path;
fn main() -> Result<(), Box<dyn Error>> {
let path = match env::args().nth(1) {
Some(str) => str,
None => {
println!("Usage: cargo run --example print -- <path to .po>");
return Ok(());
}
};
let catalog = po_file::parse(Path::new(&path))?;
for message in catalog.messages() {
if message.is_translated() {
println!(
"{} => {}",
message.msgid(),
match message.is_plural() {
true => message.msgstr_plural()?.join(", "),
false => message.msgstr()?.to_string(),
}
);
}
}
Ok(())
}