88 lines
1.8 KiB
Python
Raw Permalink Normal View History

2025-02-13 02:27:44 +08:00
# _*_ coding : UTF-8 _*_
# @Time : 2025/02/04 15:43
# @UpdateTime : 2025/02/04 15:43
# @Author : sonder
# @File : i18n.py
# @Software : PyCharm
# @Comment : 本程序
from tortoise import fields
from models.common import BaseModel
class Locale(BaseModel):
"""
语言模型.
"""
code = fields.CharField(
max_length=10,
description="语言代码",
source_field="code",
unique=True
)
"""
语言代码
- 例如en英语zh中文fr法语
- 最大长度为10个字符
- 映射到数据库字段 code
"""
name = fields.CharField(
max_length=50,
description="语言名称",
source_field="name",
unique=True
)
"""
语言名称
- 最大长度为50个字符
- 映射到数据库字段 name
"""
class Meta:
table = "locale"
table_description = "语言表"
class I18n(BaseModel):
"""
国际化模型.
"""
key = fields.CharField(
max_length=255,
description="国际化key",
source_field="key"
)
"""
国际化key
- 最大长度为255个字符
- 映射到数据库字段 key
"""
locale = fields.ForeignKeyField(
"models.Locale",
related_name="i18n",
description="语言",
source_field="locale_id"
)
"""
语言
- 关联到 Locale 模型
- 映射到数据库字段 locale_id
"""
translation = fields.TextField(
description="翻译内容",
source_field="translation"
)
"""
翻译内容
- 存储具体的翻译文本
- 映射到数据库字段 translation
"""
class Meta:
table = "i18n"
table_description = "国际化表"