# _*_ 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 = "国际化表"