langcodec (Library)
Universal localization file toolkit for Rust. Parse, write, convert, merge.
- Formats: Apple
.strings,.xcstrings, Androidstrings.xml, CSV, TSV - Unified model:
ResourcewithEntry,Translation::Singular|Plural - Robust error type, utilities to infer format/language, merge, cache
Install
[]
= "0.4.0"
Docs: https://docs.rs/langcodec
Quick Start
use ;
// Convert between formats automatically
convert_auto?;
// Load, inspect, and write
let mut codec = new;
codec.read_file_by_extension?;
codec.write_to_file?;
# Ok::
Builder Pattern
use Codec;
let codec = builder
.add_file?
.add_file?
.build;
# Ok::
Work with Entries
use ;
let mut codec = new;
codec.add_entry?;
codec.update_translation?;
# Ok::
Conversion Helpers
convert(input, input_format, output, output_format)convert_auto(input, output)infer_format_from_path,infer_language_from_path
Plurals
.xcstrings: plural variations supported via CLDR categories- Android
strings.xml:<plurals>supported (one/two/few/many/other/zero)
Error Handling
All APIs return langcodec::Error with variants for parse, I/O, validation, conversion.
License
MIT