122 lines
3.8 KiB
Python
Raw Normal View History

2025-02-13 02:27:44 +08:00
# _*_ coding : UTF-8 _*_
# @Time : 2025/02/04 15:55
# @UpdateTime : 2025/02/04 15:55
# @Author : sonder
# @File : i18n.py
# @Software : PyCharm
# @Comment : 本程序
from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel, Field, ConfigDict
from pydantic.alias_generators import to_camel
from schemas.common import BaseResponse, ListQueryResult
class LocaleInfo(BaseModel):
"""
语言模型信息
"""
model_config = ConfigDict(alias_generator=to_camel)
id: str = Field(..., description="主键")
create_by: str = Field(default="", description="创建者")
create_time: Optional[datetime] = Field(default=None, description="创建时间")
update_by: str = Field(default="", description="更新者")
update_time: Optional[datetime] = Field(default=None, description="更新时间")
code: str = Field(default="", description="语言代码")
name: str = Field(default="", description="语言名称")
class AddLocaleParams(BaseModel):
"""
添加语言类型参数
"""
code: str = Field(default="", description="语言代码")
name: str = Field(default="", description="语言名称")
class GetLocaleInfoResponse(BaseResponse):
"""
获取语言模型信息响应
"""
data: LocaleInfo = Field(default=None, description="语言模型信息")
class GetLocaleInfoResult(ListQueryResult):
"""
获取语言模型信息结果
"""
result: List[LocaleInfo] = Field(default=[], description="语言模型信息")
class GetLocaleListResponse(BaseResponse):
"""
获取语言模型信息响应
"""
data: GetLocaleInfoResult = Field(default={}, description="语言模型信息")
class I18nInfo(BaseModel):
"""
国际化模型信息
"""
model_config = ConfigDict(alias_generator=to_camel)
id: str = Field(..., description="主键")
create_by: str = Field(default="", description="创建者")
create_time: Optional[datetime] = Field(default=None, description="创建时间")
update_by: str = Field(default="", description="更新者")
update_time: Optional[datetime] = Field(default=None, description="更新时间")
key: str = Field(default="", description="国际化key")
locale_code: str = Field(default="", description="语言代码")
locale_id: str = Field(default="", description="语言ID")
locale_name: str = Field(default="", description="语言名称")
translation: str = Field(default="", description="翻译内容")
class AddI18nParams(BaseModel):
"""
添加国际化参数
"""
key: str = Field(default="", description="国际化key")
locale_id: str = Field(default="", description="语言ID")
translation: str = Field(default="", description="翻译内容")
class GetI18nInfoResponse(BaseResponse):
"""
获取国际化模型信息响应
"""
data: I18nInfo = Field(default=None, description="国际化模型信息")
class GetI18nInfoResult(ListQueryResult):
"""
获取国际化模型信息结果
"""
result: List[I18nInfo] = Field(default=[], description="国际化模型信息")
class GetI18nListResponse(BaseResponse):
"""
获取国际化模型信息响应
"""
data: GetI18nInfoResult = Field(default=None, description="国际化模型信息")
class I18nList(BaseModel):
"""
国际化模型信息
"""
model_config = ConfigDict(alias_generator=to_camel)
locale: str = Field(default="", description="语言名称")
name: str = Field(default="", description="语言名称")
data: dict = Field(default={}, description="国际化模型信息")
class GetI18nInfoListResponse(BaseResponse):
"""
获取国际化模型信息响应
"""
data: I18nList = Field(default=None, description="国际化模型信息")