将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第三方库


热门话题
javascript问题:通过URL用网站数据填充Textview   java TabLayout Android,如何用几个标签填充整个屏幕宽度,并用大量标签滚动?   Eclipse Java运行的文件不再存在于我的工作区中   安装两个Java版本时,使用Java的windows链接不起作用   java将多个图形添加到单个JPanel   java Kafka ConsumerFactory,带有两个Desiarizer   使用反射更改java类超类   当一致性测试失败时,java有没有办法让堆栈跟踪显示在控制台中   java映射到基元类型的HashMap的快速替代方案是什么?   java关闭一个jframe所有剩余的打开jframe都将关闭。   java为什么不推荐“使用getString()获取设备标识符”?   java值比较和值赋值之间有什么性能差异吗?   Java实体数组到JavaScript数组   java使用流将一个列表转换为另一个列表   在JTree中保存对象,但更改显示的名称(java swing)?   java“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器   java在方法之间传递值   java如何为项目数组创建ParseQuery?