翻译Django .po文件
项目描述
Django应用,用于翻译Django .po文件。它使用deep-translator和polib
安装
当使用pip时
pip install django-translatemessages
当使用poetry时
poetry add django-translatemessages
配置
您必须在您的settings.py中声明要使用的翻译器和其参数。请参阅deep-translator 翻译者了解需要指定哪些参数(注意:django-translatemessages会自动添加source和target参数)
要配置GoogleTranslator,请添加到您的settings.py
TRANSLATEMESSAGES_PARAMS = { "translator": { "class": "GoogleTranslator", "params": {}, }, }
要配置DeeplTranslator,您需要一个API密钥,请添加到您的settings.py
TRANSLATEMESSAGES_PARAMS = { "translator": { "class": "DeeplTranslator", "params": { "api_key": "your deepl api key", }, }, }
在Django应用程序中,将需要翻译的字符串封装到方括号中是一种良好的做法,这样你就可以立即看到哪些字符串还没有被翻译。你可以要求 django-translatemessages 从源字符串中提取需要翻译的字符串。使用正则表达式选择需要提取的文本。注意,如果没有匹配项,则不会进行翻译。
例如,如果你想将 [我的英文字符串] 翻译成 我的法语字符串,并使用deepl,请在 settings.py 中设置:
TRANSLATEMESSAGES_PARAMS = { "extract_regex": r"\[(.*)\]", "translator": { "class": "DeeplTranslator", "params": { "api_key": "your deepl api key", }, }, }
默认情况下,源语言为 en,但你可以在 settings.py 中使用其他语言。
TRANSLATEMESSAGES_PARAMS = { "source_lang": "fr", ... }
重要: 默认情况下,django-translatemessages 将使用标志 fuzzy 生成翻译。这将迫使开发者手动验证每个翻译。
为此,编辑每个 django.po 文件,搜索 #, fuzzy 行,如果你同意建议的翻译,则将其删除。如果不这样做,Django 将不会显示翻译。你还可以使用 poedit 并在同意的每个突出显示的翻译上按 CTRL + RETURN。
要禁用自动模糊功能,请在 settings.py 中使用以下内容:
TRANSLATEMESSAGES_PARAMS = { "auto_fuzzy": False, ... }
用法
自动翻译所有应用的所有语言
python ./manage.py translatemessages
如果需要,请不要忘记先进行 makemessages(参见Django文档)
有关更多选项,请运行 python ./manage.py translatemessages -h
新闻
0.0.5 (2023-06-29)
除非已过时或已由django-translatemessages翻译,否则强制翻译模糊字符串
0.0.4 (2023-06-21)
不翻译模糊字符串
0.0.2 (2023-06-11)
首次提交
项目详情
哈希值 for django_translatemessages-0.0.5-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e2271c1d7f6f2865d66bf9625cc3205b4fae2a569d9e4c98b32a24d80b770f00 |
|
MD5 | 59e4ab0f78742ae1b3fc32427a9051fe |
|
BLAKE2b-256 | 639db5832092141b201c19d6a1f452286b68430ca13149cb91ac043c91bd49f0 |