{"id":21890905,"url":"https://github.com/statikbe/craft-deepl","last_synced_at":"2025-04-15T13:39:13.044Z","repository":{"id":58735333,"uuid":"523737007","full_name":"statikbe/craft-deepl","owner":"statikbe","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-30T13:45:53.000Z","size":179,"stargazers_count":3,"open_issues_count":6,"forks_count":0,"subscribers_count":9,"default_branch":"develop","last_synced_at":"2025-03-28T20:36:41.722Z","etag":null,"topics":["craft-plugin","craftcms","translation"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/statikbe.png","metadata":{"files":{"readme":"README.MD","changelog":"CHANGELOG.MD","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-11T13:38:13.000Z","updated_at":"2025-01-30T13:45:15.000Z","dependencies_parsed_at":"2024-01-04T14:29:58.669Z","dependency_job_id":"358fd3a6-6011-482d-b757-e57eb0cde2ab","html_url":"https://github.com/statikbe/craft-deepl","commit_stats":{"total_commits":61,"total_committers":4,"mean_commits":15.25,"dds":0.2622950819672131,"last_synced_commit":"7e7fbc0257842bbc84b225c4b05f70d708bf6e82"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statikbe%2Fcraft-deepl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statikbe%2Fcraft-deepl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statikbe%2Fcraft-deepl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statikbe%2Fcraft-deepl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/statikbe","download_url":"https://codeload.github.com/statikbe/craft-deepl/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249081516,"owners_count":21209712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["craft-plugin","craftcms","translation"],"created_at":"2024-11-28T12:18:13.088Z","updated_at":"2025-04-15T13:39:12.986Z","avatar_url":"https://github.com/statikbe.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DeepL integration for Craft CMS\n\nThe goal of this plugin is to let \u003ca href=\"https://www.deepl.com/\" target=\"_blank\" rel=\"noopener\"\u003eDeepL\u003c/a\u003e handle 95% of the translation work, after which you can review the content and change it to your own tone of voice and specific industry jargon.\n\n__It is not meant to be a single click all encompassing translation tool.__\n\nThe plugin will translate supported text fields and will copy other field types without interfering with them. For example:\na plain text field and a Redactor field will get translated, a Categories and a dropdown field will keep the same value.\n\n_The plugin is not affiliated or linked to DeepL in any way_\n\n## Workflow\n\nWhen the plugin is enabled, you'll see a new block in the sidebar of the entry edit page.\nDepending on how many languages your CMS install has, you'll see more translation options.\n\nThe plugin doesn't  support translating specific fields or texts, **only all fields at once**. So we recommend the following workflow:\n- Finish the entry 1 language\n- Switch to the language to which you want to translate\n- Click the option for the language from which you want to translate (the one you finished in the first step)\n\nWhen you click the ‘translate to’ button in your source entry (e.g. English version is source content), a draft version of the ‘translate to language’ (e.g. Dutch) will be created for that entry. \nIn this draft version (Dutch), all text fields of the source language entry will be translated into your chosen language (Dutch) via Deepl. Content that already existed in the new language (Dutch in this example) for the entry, will be overwritten when using the \"translate via Deepl\" button.\n\nOnce the draft version with Deepl translations is created, it’s up to the content manager to check and refine the translations, as well as the non-text-fields, and to publish the draft when satisfied with the result.\n\n\u003e **Warning**\n\u003e Warning: The plugin does not keep track of which fields or entries have been translated in earlier stages. If you have made changes in the new language (Dutch in our example), and then click the translation button again (from the English source content to the Dutch translated language), all changes previously made in the destination language entry will be discarded in the newly created draft.\n\n---\n\n## Requirements\n\n- Craft CMS 4.0.0 or later.\n- a \u003ca href=\"https://www.deepl.com/pro-api?cta=header-pro-api/\" target=\"_blank\" rel=\"noopener\"\u003eDeepL API key\u003c/a\u003e\n\n\u003e **Note**\n\u003e Using the plugin is only possible with a Deepl API key, which will require your payment details. The current pricing model of Deepl allows a certain number of monthly translations at no cost. \n\u003e The plugin maintainers are not responsible for any possible change in pricing model Deepl would make.\n\n## Installation\n\nTo install the plugin, follow these instructions.\n\n1. Open your terminal and go to your Craft project:\n\n```bash\n# go to the project directory\ncd /path/to/my-craft-project.dev\n\n# tell Composer to install the plugin\ncomposer require statikbe/craft-deepl\n\n# tell Craft to install the plugin\nphp craft install/plugin deepl\n```\n\n## Glossaries\nYou can add glossaries for certain language pairs to aid translation of jargon or sector specific terms.\nThis can be done through the ``deepl.php`` config file, like the example bellow:\n\n````php\n\u003c?php\n\nreturn [\n    'glossaries' =\u003e [\n        [\n            'name' =\u003e 'Glossary 1',\n            'source' =\u003e 'nl',\n            'target' =\u003e 'fr',\n            'entries' =\u003e [\n                \"Word NL\" =\u003e \"Word FR\",\n            ]\n        ]\n    ]\n];\n````\n\nNote that DeepL does not support country specific language variants here. So you can not create a glossary to transate from ``nl-BE`` to ``nl-NL``.\n\n### Creating a glossary\nOnce you have you config file, run the sync command on command line to add your glossaries to DeepL. You can run this in production or locally - as long as your using the same API key in both places\n````bash\nphp craft deepl/glossary/sync\n````\n\n### Updating a glossary\nIf you have the make changes to the glossary at the later point in time, simply run the sync command again and the plug-in will replace the glossary you previously created with the new one.\n\n## Copy content (1.5.0 and later)\nIf you simply want to copy content from another entry, without translating, you can enable the \"Copy content\" setting and a new set of buttons will appear.\nNot that this runs through the same and thus it is limited to the same supported fields as the translate function.\n\n## Supported Fields\nThe plugin currently supports (for either translation or for copying values)\n\n#### Core Craft fields:\n- Plain Text\n- Matrix\n- Assets\n- Entry\n\n#### Third party fields\n- craftcms/redactor\n- craftcms/ckeditor\n- verbb/supertable \n- hybridinteractive/craft-position-fieldtype\n- statikbe/craft-config-values \n- statikbe/craft-cta-field\n- studioespresso/craft-seo-fields\n- nystudio107/craft-seomatic\n\n\n## Roadmap\n\n- [ ] Support for different propagation methods for sections\n- [ ] Support for different propagation methods for matrix fields\n\n---\nBrought to you by [Statik.be](https://www.statik.be)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatikbe%2Fcraft-deepl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstatikbe%2Fcraft-deepl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatikbe%2Fcraft-deepl/lists"}