pydantic错误翻译。
项目描述
pydantic-translations
pydantic错误翻译。
语言
目前,我们已经将pydantic v1.10.2错误翻译成以下语言
de
: 德语。87/87。es
: 西班牙语。87/87。fr
: 法语。87/87。it
: 意大利语。87/87。nl
: 荷兰语。87/87。ru
: 俄语。82/87。
需要更多语言?欢迎贡献!
安装
python3 -m pip install pydantic-translations
用法
假设您有一个pydantic模型User
from pydantic import BaseModel
class User(BaseModel):
age: int
翻译由Translator
类管理,该类使用您想要消息翻译到的区域设置(语言)进行实例化
from pydantic_translations import Translator
tr = Translator('ru')
您可以使用翻译器作为上下文管理器来翻译上下文中引发的pydantic异常
with tr:
User.parse_obj({'age': 'idk'})
# ValidationError: 1 validation error for User
# age
# значение должно быть целым числом (type=type_error.integer)
或使用translate_exception
方法直接翻译异常实例
from pydantic import ValidationError
try:
User.parse_obj({'age': 'idk'})
except ValidationError as exc:
exc = tr.translate_exception(exc)
raise exc
或使用translate_error
方法翻译特定错误
try:
User.parse_obj({'age': 'idk'})
except ValidationError as exc:
err = exc.errors()[0]
err = tr.translate_error(err)
print(err)
# {'loc': ('age',), 'msg': 'значение должно быть целым числом', 'type': 'type_error.integer'}
自定义翻译
如果您已将错误翻译成新语言,最好的做法是将它贡献回来。如果由于某些(法律?)原因您不能这样做,您可以将带有翻译的l10n区域设置传递给Translated
from l10n import Locales
locales = Locales()
locale = locales['ua']
tr = Translator(locale)
贡献者
- 由@samuelcolvin和pydantic贡献者提供的原始错误消息。
- 俄语翻译由@orsinium提供。
- 德语、西班牙语、法语、意大利语和荷兰语的翻译由Andovar翻译机构提供。
小修小改由项目贡献者提供。
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
pydantic_translations-0.2.2.tar.gz (32.8 kB 查看哈希值)
构建分发
关闭
pydantic_translations-0.2.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d9000242d640f8d4e4b2e4b263df39bce9afb6cf023185f65271053e28907c56 |
|
MD5 | ea5c9079c1a86829c33f637a8da4055f |
|
BLAKE2b-256 | 98f5291154e6598a2b1b05815d88992d8330e11ed777d2cab602b9f9a71bbe2e |
关闭
pydantic_translations-0.2.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1b5445d9c7d113b810d42ca0876148f4a1372d91759c98507c7c434a1f958037 |
|
MD5 | f260b7a3320d6e380ddef8504d5f9c5c |
|
BLAKE2b-256 | 641f8d5bb5791350d5e11bf8925383aa588e92f4a1cbc5e62b783494bd0d214c |