cranberry 0.1.0

A versatile Rust library for Russian Cyrillic transliteration
Documentation
  • Coverage
  • 0%
    0 out of 97 items documented0 out of 38 items with examples
  • Size
  • Source code size: 97.79 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 909.79 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 22s Average build duration of successful builds.
  • all releases: 22s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • naregderlevonean/cranberry
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • naregderlevonean

cranberry

Cranberry is a versatile Rust library for transliterating Russian Cyrillic text to Latin script, addressing the challenge of inconsistent romanization standards across different applications. The library provides multiple transliteration schemes while maintaining exceptional performance and ease of integration.

Installation

Add to your Cargo.toml:

[dependencies]
cranberry = "0.1.0"

Or use cargo:

cargo add cranberry

Usage

use cranberry;

fn main() {
    // Example using the signature Cranberry scheme
    let expected = "V ċas̈ax ȷuga żil bı citrus? Da, no falȷṡivıȷ ekzėmplȧr!";
    let source = "В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!";
    
    let result = cranberry::Scheme::Cranberry.init().process(source);

    assert_eq!(expected, result);
}

Engines

Cranberry currently supports the following transliteration engines, covering modern, international, and historical standards:

Soviet Latinization & My Own (Cranberry)

Engine Scheme Pangram Example
cranberry::Scheme::Soviet1 Soviet #1 V cascax juga ƶil by çitrus? Da, no falíşivyj ekzemplár!
cranberry::Scheme::Soviet2 Soviet #2 V cascax juga ƶil by çitrus? Da, no faljşivyj ekzemplär!
cranberry::Scheme::Soviet3 Soviet #3 (Yanalif) V cascax juga ƶil bь çitrus? Da, no faljşivьj ekzemplər!
cranberry::Scheme::Cranberry Cranberry (Internal) V ċas̈ax ȷuga żil bı citrus? Da, no falȷṡivıȷ ekzėmplȧr!

Modern & Official Standards (RU/International)

Engine Scheme Pangram Example
cranberry::Scheme::Passport2013 Passport 2013 (ICAO) V chashchakh iuga zhil by tsitrus? Da, no falshivyi ekzempliar!
cranberry::Scheme::Passport2010 Passport 2010 V chashchakh iuga zhil by tcitrus? Da, no falshivyi ekzempliar!
cranberry::Scheme::Passport1997 Passport 1997 V chashchakh yuga zhil by tsitrus? Da, no falshivyy ekzemplyar!
cranberry::Scheme::Gost52535 GOST R 52535.1-2006 V chashchakh iuga zhil by tcitrus? Da, no falshivyi ekzempliar!
cranberry::Scheme::Gost52290 GOST R 52290-2004 V chashchakh yuga zhil by tsitrus? Da, no falshivyy ekzemplyar!
cranberry::Scheme::Gost779 GOST 7.79-2000 V čaŝah ûga žil by citrus? Da, no fal'šivyj èkzemplǎr!
cranberry::Scheme::Ungegn UNGEGN (1987) V čaščah juga žil by citrus? Da, no fal'šivyj èkzempljar!

International ISO Standards

Engine Scheme Pangram Example
cranberry::Scheme::ISO1995 ISO 9:1995 V čaŝah ûga žil by citrus? Da, no fal'šivyj èkzemplǎr!
cranberry::Scheme::ISO1968Base ISO 9:1968 Base V čaŝah ûga žil by citrus? Da, no fal'šivyj èkzemplǎr!
cranberry::Scheme::ISO1968Alt1 ISO 9:1968 Alt #1 V čaščach juga žil by citrus? Da, no fal'šivyj èkzempljar!
cranberry::Scheme::ISO1968Alt2 ISO 9:1968 Alt #2 V chashchakh yuga zhil by tsitrus? Da, no fal'shivyĭ èkzemplyar!
cranberry::Scheme::ISO1954 ISO 9:1954 V čaščah juga žil by citrus? Da, no fal'šivyj èkzempljar!

Scientific & Academic Systems

Engine Scheme Pangram Example
cranberry::Scheme::Scientific1951 Scientific 1951 V čaščah juga žil by citrus? Da, no fal'šivyj èkzempljar!
cranberry::Scheme::Scientific1939 Scientific 1939 V čaščah juga žil by citrus? Da, no fal'šivyj èkzempljar!
cranberry::Scheme::Scientific1905 Scientific 1905 V čaščah juga žil by citrus? Da, no fal'šivyj èkzempljar!
cranberry::Scheme::ALALC ALA-LC V chashchakh i͡uga zhil by t͡sitrus? Da, no fal'shivyĭ ėkzempli͡ar!
cranberry::Scheme::Ost8483 OST 8483 V čaščah juga žil by citrus? Da, no fal'šivyj èkzempljar!

Historical & Anglo-American

Engine Scheme Pangram Example
cranberry::Scheme::BgnPcgn BGN/PCGN V chashchakh yuga zhil by tsitrus? Da, no fal'shivyy ekzemplyar!
cranberry::Scheme::Bs2979 BS 2979:1958 V chashchakh yuga zhil by tsitrus? Da, no fal'shivyĭ ékzemplyar!
cranberry::Scheme::Gost16876 GOST 16876-71 V chashhah juga zhil by citrus? Da, no fal'shivyj ehkzempljar!
cranberry::Scheme::StSev1362 ST SEV 1362 V chashhah juga zhil by citrus? Da, no fal'shivyj ehkzempljar!

Roadmap

  • Features
    • Bidirectional Support: Latin-to-Cyrillic conversion capabilities.
    • Custom Schemas: API to allow user-defined mapping configurations.
  • Tools
    • CLI Tool: A standalone command-line interface for file processing.
    • WebAssembly Playground: An interactive web tool to test all schemes online.
    • GTK+ GUI: Desktop graphical interface for non-technical users.

License

This project is licensed under the GPL-3.0 License. See the LICENSE file for details.