uapi_sdk_rust/models/generated/
post_ai_translate_request.rs

1/*
2 * UAPI
3 *
4 * UAPI 官方接口文档
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PostAiTranslateRequest {
16    /// 单个翻译时使用的待翻译文本,与texts参数二选一。最大长度10,000字符。
17    #[serde(rename = "text", skip_serializing_if = "Option::is_none")]
18    pub text: Option<String>,
19    /// 批量翻译时使用的待翻译文本列表,与text参数二选一。最多50条,总计最大100,000字符。
20    #[serde(rename = "texts", skip_serializing_if = "Option::is_none")]
21    pub texts: Option<Vec<String>>,
22    /// 源语言代码,可选。如果不指定,系统会自动检测源语言。
23    #[serde(rename = "source_lang", skip_serializing_if = "Option::is_none")]
24    pub source_lang: Option<String>,
25    /// 翻译风格,可选。支持casual(随意口语化)、professional(专业商务,默认)、academic(学术正式)、literary(文学艺术)。
26    #[serde(rename = "style", skip_serializing_if = "Option::is_none")]
27    pub style: Option<Style>,
28    /// 翻译上下文场景,可选。支持general(通用,默认)、business(商务)、technical(技术)、medical(医疗)、legal(法律)、marketing(市场营销)、entertainment(娱乐)、education(教育)、news(新闻)。
29    #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
30    pub context: Option<Context>,
31    /// 是否保留原文格式,包括换行、缩进等。
32    #[serde(rename = "preserve_format", skip_serializing_if = "Option::is_none")]
33    pub preserve_format: Option<bool>,
34    /// 是否启用快速模式。快速模式响应时间约800ms,准确率95%+;普通模式响应时间约2000ms,准确率98%+。
35    #[serde(rename = "fast_mode", skip_serializing_if = "Option::is_none")]
36    pub fast_mode: Option<bool>,
37    /// 批量翻译时的最大并发数,范围1-10。仅在批量翻译时有效。
38    #[serde(rename = "max_concurrency", skip_serializing_if = "Option::is_none")]
39    pub max_concurrency: Option<i32>,
40}
41
42impl PostAiTranslateRequest {
43    pub fn new() -> PostAiTranslateRequest {
44        PostAiTranslateRequest {
45            text: None,
46            texts: None,
47            source_lang: None,
48            style: None,
49            context: None,
50            preserve_format: None,
51            fast_mode: None,
52            max_concurrency: None,
53        }
54    }
55}
56/// 翻译风格,可选。支持casual(随意口语化)、professional(专业商务,默认)、academic(学术正式)、literary(文学艺术)。
57#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum Style {
59    #[serde(rename = "casual")]
60    Casual,
61    #[serde(rename = "professional")]
62    Professional,
63    #[serde(rename = "academic")]
64    Academic,
65    #[serde(rename = "literary")]
66    Literary,
67}
68
69impl Default for Style {
70    fn default() -> Style {
71        Self::Casual
72    }
73}
74/// 翻译上下文场景,可选。支持general(通用,默认)、business(商务)、technical(技术)、medical(医疗)、legal(法律)、marketing(市场营销)、entertainment(娱乐)、education(教育)、news(新闻)。
75#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
76pub enum Context {
77    #[serde(rename = "general")]
78    General,
79    #[serde(rename = "business")]
80    Business,
81    #[serde(rename = "technical")]
82    Technical,
83    #[serde(rename = "medical")]
84    Medical,
85    #[serde(rename = "legal")]
86    Legal,
87    #[serde(rename = "marketing")]
88    Marketing,
89    #[serde(rename = "entertainment")]
90    Entertainment,
91    #[serde(rename = "education")]
92    Education,
93    #[serde(rename = "news")]
94    News,
95}
96
97impl Default for Context {
98    fn default() -> Context {
99        Self::General
100    }
101}
102