A set of tools for pydantic(i18n, alias(comming soon), etc.)
pip install pydantic-tools
from pydantic_tools import i18n
class TestModel(i18n.BaseModel_i18n):
name: str
age: int
class Config:
locale = "zh_cn"
test = TestModel()
pydantic.error_wrappers.ValidationError: 2 validation errors for TestModel
name
确保该值不缺失 (type=value_error.missing)
age
确保该值不缺失 (type=value_error.missing)
-
locale
: The locale of the model, default isNone
, which means no translation enabled, and the default error message will be used. Usepython -m pydantic_tools.i18n -l
to show all available locales. -
locale_strict
: Whether to raise an error when the locale is not found, default isFalse
. -
translations
: If specified, the error messages will be translated according to the given dict instead of the locale config. The dict should be like{"value_error.missing": "Missing"}
. One oflocale
andtranslations
should be specified, do not set both of them. -
extra_translations
: If specified, an extra dict will be merged into the default translations. The dict should be like{"value_error.missing": "some msg"}
.
python -m pydantic_tools.i18n -l
python -m pydantic_tools.i18n -t
Comming soon