|
from typing import Optional |
|
|
|
from pydantic import BaseModel, Field |
|
|
|
|
|
class I18nObject(BaseModel): |
|
""" |
|
Model class for i18n object. |
|
""" |
|
|
|
en_US: str |
|
zh_Hans: Optional[str] = Field(default=None) |
|
pt_BR: Optional[str] = Field(default=None) |
|
ja_JP: Optional[str] = Field(default=None) |
|
|
|
def __init__(self, **data): |
|
super().__init__(**data) |
|
self.zh_Hans = self.zh_Hans or self.en_US |
|
self.pt_BR = self.pt_BR or self.en_US |
|
self.ja_JP = self.ja_JP or self.en_US |
|
|
|
def to_dict(self) -> dict: |
|
return {"zh_Hans": self.zh_Hans, "en_US": self.en_US, "pt_BR": self.pt_BR, "ja_JP": self.ja_JP} |
|
|