first
This commit is contained in:
43
backend/app/models/translation.py
Normal file
43
backend/app/models/translation.py
Normal file
@@ -0,0 +1,43 @@
|
||||
"""
|
||||
Tool_OCR - Translation Config Model (RESERVED)
|
||||
Reserved for future translation feature implementation
|
||||
"""
|
||||
|
||||
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, JSON
|
||||
from sqlalchemy.orm import relationship
|
||||
from datetime import datetime
|
||||
|
||||
from app.core.database import Base
|
||||
|
||||
|
||||
class TranslationConfig(Base):
|
||||
"""
|
||||
Translation configuration (RESERVED for future implementation)
|
||||
|
||||
This table is created but not actively used until translation feature is implemented.
|
||||
"""
|
||||
|
||||
__tablename__ = "paddle_ocr_translation_configs"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
user_id = Column(Integer, ForeignKey("paddle_ocr_users.id", ondelete="CASCADE"), nullable=False, index=True)
|
||||
|
||||
source_lang = Column(String(20), nullable=False) # ch, en, japan, korean, etc.
|
||||
target_lang = Column(String(20), nullable=False) # en, ch, japan, korean, etc.
|
||||
|
||||
# Translation engine type: "offline" (argostranslate), "ernie", "google", "deepl"
|
||||
engine_type = Column(String(50), nullable=False, default="offline")
|
||||
|
||||
# Engine-specific configuration stored as JSON
|
||||
# For offline (argostranslate): {"model_path": "/path/to/model"}
|
||||
# For API-based: {"api_key": "xxx", "endpoint": "https://..."}
|
||||
engine_config = Column(JSON, nullable=True)
|
||||
|
||||
created_at = Column(DateTime, default=datetime.utcnow, nullable=False)
|
||||
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False)
|
||||
|
||||
# Relationships
|
||||
user = relationship("User", back_populates="translation_configs")
|
||||
|
||||
def __repr__(self):
|
||||
return f"<TranslationConfig(id={self.id}, {self.source_lang}->{self.target_lang}, engine='{self.engine_type}')>"
|
||||
Reference in New Issue
Block a user