18 lines
492 B
Python
18 lines
492 B
Python
from pydantic import BaseModel, Field
|
|
from enum import Enum
|
|
|
|
|
|
class TranslationStyle(str, Enum):
|
|
literal = "literal"
|
|
fluent = "fluent"
|
|
casual = "casual"
|
|
|
|
|
|
class TranslateRequest(BaseModel):
|
|
source_text: str = Field(..., min_length=1, max_length=10000)
|
|
source_lang: str = Field(default="auto", max_length=10)
|
|
target_lang: str = Field(..., max_length=10)
|
|
style: TranslationStyle = TranslationStyle.literal
|
|
glossary_id: str | None = None
|
|
format: str = "text"
|