# /opt/docker/dev/service_finder/backend/app/models/translation.py from sqlalchemy import String, Text, Boolean, UniqueConstraint from sqlalchemy.orm import Mapped, mapped_column from app.db.base_class import Base class Translation(Base): """ Központi i18n adattábla. Minden rendszerüzenet és frontend felirat forrása. """ __tablename__ = "translations" __table_args__ = ( UniqueConstraint("key", "lang_code", name="uq_translation_key_lang"), ) id: Mapped[int] = mapped_column(primary_key=True, index=True) # A kulcs pontozott formátumú (pl: 'DASHBOARD.STATS.TITLE') key: Mapped[str] = mapped_column(String(150), nullable=False, index=True) # ISO kód (pl: 'hu', 'en', 'de') lang_code: Mapped[str] = mapped_column(String(5), nullable=False, index=True) # A tényleges lefordított szöveg value: Mapped[str] = mapped_column(Text, nullable=False) # Élesítési állapot (Draft/Published) is_published: Mapped[bool] = mapped_column(Boolean, default=False, index=True)