common_entities.py 650 B

1234567891011121314151617181920212223
  1. from typing import Optional
  2. from pydantic import BaseModel, Field
  3. class I18nObject(BaseModel):
  4. """
  5. Model class for i18n object.
  6. """
  7. en_US: str
  8. zh_Hans: Optional[str] = Field(default=None)
  9. pt_BR: Optional[str] = Field(default=None)
  10. ja_JP: Optional[str] = Field(default=None)
  11. def __init__(self, **data):
  12. super().__init__(**data)
  13. self.zh_Hans = self.zh_Hans or self.en_US
  14. self.pt_BR = self.pt_BR or self.en_US
  15. self.ja_JP = self.ja_JP or self.en_US
  16. def to_dict(self) -> dict:
  17. return {"zh_Hans": self.zh_Hans, "en_US": self.en_US, "pt_BR": self.pt_BR, "ja_JP": self.ja_JP}