将django模型翻译与localise.co集成

modeltranslation-lokalise的Python项目详细描述


Django模型翻译lokalise

django-modeltranslationlokalise.co集成。 它将允许您的项目使用API将模型的可翻译字段上载到lokalise.io中 当有人在lokalise上更新本地翻译时,也要更新它们。

安装

pip install modeltranslation-lokalise

modeltranslation_lokalise取决于django的contribtypes应用程序, 因此,在modeltranslation_lokalise之前,请确保将其包含在INSTALLED_APPS设置中:

INSTALLED_APPS=[...'django.contrib.contenttypes',...'modeltranslation_lokalise',...]

为了让modeltranslation_lokalise正确更新,您需要提供lokalise proyect id和api密钥 你的翻译。

LOKALISE_API_KEY=''LOKALISE_PROJECT_ID=''

如果您想让您的模型在有人更新lokalise时自动更新,请将视图添加到 您的urls.py配置。请注意,当前仅支持translation.updated

frommodeltranslation_lokaliseimportTranslationWebhookViewurlpatterns=[...path('api/translations/',TranslationWebhookView.as_view(),name='translation_webhook'),...]

您还需要进行迁移,以便在数据库上创建必要的表来处理翻译:

python manage.py makemigrations
python manage.py migrate

如何使用

您应该使用modeltranslation_lokalise.register_translation

frommodeltranslation.translatorimportTranslationOptionsfrommodeltranslation_lokalise.signalsimportregister_translationfromyour_app.modelsimportModel1classModel1TranslationOptions(TranslationOptions):fields=('name','description',)register_translation(Model1,Model1TranslationOptions)

仅此而已,modeltranslations-lokalise将跟踪可翻译模型上的更改并将其导入 每次更新一个可翻译字段时,都会执行lokalise项目。

非lokalise可翻译字段

有可能您希望某些字段在模型翻译方面是可翻译的,但将它们排除在 上传到Lokalise。在这种情况下,可以向translationoptions对象添加属性non_lokalise_fields。 ModelTranslation Lokalise不会跟踪该字段上的更改。

classProductTranslationOptions(TranslationOptions):non_lokalise_fields=('slug',)fields=('title','description',)+non_lokalise_fields

许可证

这个项目是在麻省理工学院的许可下授权的-详细信息请参见LICENSE文件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Synth xml中的java设置JLabel图标   java全屏Flash应用程序测试需要外部戳   评测配置文件Java CPU负载   java如何显示布尔值?   java共享库与微服务?   使用bash脚本重定向java输出(liquibase)   java如何进行结构化日志记录?   属性JSF2的java绑定属性<h:dataTable>   java Android Restlet包装崩溃   java如果在一个事务中我们只在一个数据源上写,是否可以避免2PC或手动处理提交?(J2CA0030E)   java从哪里获得openCV的jar?   java正在尝试更新SQL数据库条目,但收到SQL语法错误。我怎么知道这里出了什么问题?   java如何在Firebase数据库值中添加空格   为什么在java中读取datainputstream时会出现EOF异常?   java STDERR将每个stacktrace行作为错误日志条目写入WildFly服务器。日志   java通过socket编写一个没有'ImageIO'的映像   java为什么JBoss会在出现错误时破坏连接池?   javafxjava如何查找当月的第一次登录   java这个Android项目给了我一个崩溃的机会,我正试图让这个项目有一个来自编辑文本的数字,并在文本视图中得到它两次