Skip to main content

translation/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![allow(
4    clippy::doc_markdown,
5    clippy::missing_const_for_fn,
6    clippy::missing_errors_doc,
7    clippy::module_name_repetitions
8)]
9
10#[cfg(feature = "async")]
11/// Async wrappers for Translation.framework operations.
12pub mod async_api;
13/// Availability APIs mirroring Translation.framework's `LanguageAvailability`.
14pub mod availability;
15/// Language recognition helpers used alongside Translation.framework.
16pub mod detection;
17/// Error re-exports for Translation.framework operations.
18pub mod error;
19pub mod ffi;
20/// Language identifier types used by Translation.framework.
21pub mod language;
22/// `LanguageAvailability` bindings for Translation.framework.
23pub mod language_availability;
24/// Source/target language pair types for Translation.framework.
25pub mod language_pair;
26/// NaturalLanguage-backed detection helpers for Translation workflows.
27pub mod language_recognition;
28mod private;
29/// Session re-exports for Translation.framework workflows.
30pub mod session;
31/// Translation attribute helpers for attributed text workflows.
32pub mod translation_attributes;
33/// Mutable configuration helpers for Translation.framework sessions.
34pub mod translation_configuration;
35/// Error types for Translation.framework operations.
36pub mod translation_error;
37/// Response types returned by Translation.framework translations.
38pub mod translation_response;
39/// Core `TranslationSession` wrappers for Translation.framework.
40pub mod translation_session;
41
42pub use language::Language;
43pub use language_availability::{LanguageAvailability, LanguageAvailabilityStatus};
44pub use language_pair::LanguagePair;
45pub use language_recognition::{detect_language, recognize_language};
46pub use translation_attributes::{
47    SkipTranslationAttribute, SkipTranslationAttributeValue, TranslationAttributedRun,
48    TranslationAttributedString, TranslationAttributes, TranslationAttributesDecodingConfiguration,
49    TranslationAttributesEncodingConfiguration,
50};
51pub use translation_configuration::TranslationConfiguration;
52pub use translation_error::TranslationError;
53pub use translation_response::TranslationResponse;
54pub use translation_session::{
55    TranslationBatchResponse, TranslationRequest, TranslationSession,
56    TranslationSessionConfiguration, TranslationStrategy,
57};
58
59/// Common Translation.framework wrapper types for glob imports.
60pub mod prelude {
61    #[cfg(feature = "async")]
62    pub use crate::async_api::{AsyncLanguageAvailability, AsyncTranslationSession};
63    pub use crate::language::Language;
64    pub use crate::language_availability::{LanguageAvailability, LanguageAvailabilityStatus};
65    pub use crate::language_pair::LanguagePair;
66    pub use crate::language_recognition::{detect_language, recognize_language};
67    pub use crate::translation_attributes::{
68        SkipTranslationAttribute, SkipTranslationAttributeValue, TranslationAttributedRun,
69        TranslationAttributedString, TranslationAttributes,
70        TranslationAttributesDecodingConfiguration, TranslationAttributesEncodingConfiguration,
71    };
72    pub use crate::translation_configuration::TranslationConfiguration;
73    pub use crate::translation_error::TranslationError;
74    pub use crate::translation_response::TranslationResponse;
75    pub use crate::translation_session::{
76        TranslationBatchResponse, TranslationRequest, TranslationSession,
77        TranslationSessionConfiguration, TranslationStrategy,
78    };
79}