#language-detection #site #static #generator #ssg #translate-text

langweave

A Rust library for seamless internationalization (i18n) and localization

1 unstable release

0.0.1 Oct 19, 2024

#9 in #translate-text

Download history 170/week @ 2024-10-14 108/week @ 2024-10-21 14/week @ 2024-10-28 161/week @ 2024-11-04 64/week @ 2024-11-11

493 downloads per month
Used in 3 crates (2 directly)

MIT/Apache

80KB
1K SLoC

LangWeave logo

LangWeave

A powerful Rust library for seamless internationalization and localization.

Made With Love Crates.io lib.rs Docs.rs Codecov Build Status GitHub

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

Overview

langweave is a robust Rust library that provides efficient internationalization and localization capabilities. Designed for applications requiring multi-language support, it offers fast language detection, fluid translations, and intuitive multilingual content management.

Features

  • Instant Language Detection: Quickly identify the language of input text.
  • Efficient Translation: Translate text between multiple languages.
  • Flexible Content Management: Easily manage and retrieve localized content.
  • Performance Optimized: Utilizes efficient algorithms for fast processing.
  • Comprehensive Language Support: Handles a wide range of languages, including non-Latin scripts.
  • Error Handling: Robust error management for reliable operation.

Installation

Add langweave to your Cargo.toml:

[dependencies]
langweave = "0.0.1"

Usage

Here's a basic example of how to use langweave:

use langweave::language_detector::LanguageDetector;
use langweave::error::I18nError;
use langweave::language_detector_trait::LanguageDetectorTrait;

#[tokio::main]
async fn main() -> Result<(), I18nError> {
    // Create a new language detector
    let detector = LanguageDetector::new();

    // Detect language
    let lang = detector.detect_async("Hello, world!").await?;
    println!("Detected language: {}", lang);

    // Use the detected language for further processing
    // (e.g., translation, localization)

    Ok(())
}

This example demonstrates how to use LangWeave to detect the language of a given text.

Documentation

For full API documentation, please visit docs.rs/langweave.

Examples

To explore more examples, clone the repository and run the following command:

cargo run --example example_name

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under either of

at your option.

Acknowledgements

Special thanks to all contributors who have helped build the langweave library.

Dependencies

~8–16MB
~195K SLoC