
Security News
ESLint Adds Official Support for Linting HTML
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
strapi-plugin-deepl
Advanced tools
Strapi plugin for automated translation of content using DeepL
Integration with the DeepL-API to provide quick automated translation of content fields.
This plugin is still a work in progress
This plugin requires the following, in order to work correctly:
@strapi/plugin-i18n
[npm])Unless you have the previous set up, the field on the right where you can translate will not show up. Also it will not show up when editing the currently only available translation of an entry.
# with npm
$ npm install strapi-plugin-deepl
# or with yarn
$ yarn add strapi-plugin-deepl
After successful installation you have to build a fresh package that includes plugin UI:
# with npm
$ npm run build && npm run develop
# or with yarn
$ yarn build && yarn develop
The overall plugin configurtion is done through
config[/env]/plugins.js
or environment variables
module.exports = {
// ...
deepl: {
enabled: true,
config: {
// your DeepL API key
apiKey: 'key',
// whether to use the free or paid api, default true
freeApi: true,
// Which field types are translated (default string, text, richtext, components and dynamiczones)
translatedFieldTypes: [
'string',
'text',
'richtext',
'component',
'dynamiczone',
],
// If relations should be translated (default true)
translateRelations: true,
// You can define a custom glossary to be used here (see https://www.deepl.com/docs-api/managing-glossaries/)
glossaryId: 'customGlossary',
},
},
// ...
}
or using the default environment variables:
DEEPL_API_KEY
- default null
DEEPL_API_FREE
- default true
To get an API key, register for free at www.deepl.com/pro#developer.
There are two options to configure translation of individual fields. Both are configured either in the Content-Type Builder in the admin interface in development mode, or in the pluginOptions
property in the schema file.
This is part of the i18n
-plugin and available in all field types except relation
, uid
under the name Enable localization for this field
.
Set this value to false, and the field will not be translated. However it will be copied and have the same value for all localizations.
For the field types component
, dynamiczone
, media
, relation
, richtext
, string
, text
, you can additionally configure the behavior when translating automatically under the name Configure automated translation for this field?
. There are three options:
translate
: The field in automatically translated using DeepLcopy
: The original value of the source localization is copieddelete
: The field is let empty after translationRelations are again little bit different. The
translate
option works as described below, thecopy
option only works when the related content type is not localized and is one way or if bothWays is eithermanyToOne
ormanyToMany
If you have other fields (e.g. custom fields) for which you want to configure the translation, this cannot be done through the Content-Type Builder, but only in the schema file:
{
//...
"attributes": {
//...
"customField": {
"type": "customField",
"pluginOptions": {
"deepl": {
"translate": "copy"
},
"i18n": {
"localized": true
}
}
}
//...
}
//...
}
This plugin allows you to automatically translate content types. This can be done either on a single entity, or for all entities of a content type.
The following features are included:
Internationalization
section on the right sidebarTranslate from another locale
in the DeepL
section on the right sidebartranslate
, cancel
, pause
and resume
. Most actions are disabled, since no job is running.translate
button, select the source locale and if already published entries should be published as well (Auto-Publish option)Additional remarks:
Job failed
badgeThe related objects are not translated directly, only the relation itself is translated
richtext
created using a different WYSIWYG editor is not supportedtranslate
endpoint. Probably you can change the permissions with an enterprise subscription but I am not sure. If you know how to do that also in the community edition please tell me or open a merge request!Feki.de e.V. do not hold the copyright to the Logos of Strapi Inc. or DeepL SE. There is no cooperation or any other sort of affiliation between Feki.de e.V. and Strapi Inc. or DeepL SE. The Logos are used under fair use in order to not confuse Users as to what this plugin does.
FAQs
Strapi plugin for automated translation of content using DeepL
The npm package strapi-plugin-deepl receives a total of 41 weekly downloads. As such, strapi-plugin-deepl popularity was classified as not popular.
We found that strapi-plugin-deepl demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.