DatoCMS plugin: Translate fields

Overview

DatoCMS plugin: Translate fields

This DatoCMS plugin gives you the ability to translate structured-text, string and text fields. This plugin is an addon which will add a translate button to all selected fields.

Features

  • Translate text and string fields
  • Translate structured text fields
  • Translate to all languages with one button press
  • Translate and copy text from the default language

Configuration

First add this plugin via DatoCMS Settings > Plugins > Add (/admin/plugins/new).

Plugin settings

For this plugin you can configure global settings and configure the plugin per field. Choose to apply the plugin automatically to all string/text fields or add the plugin as addon per model/field. Settings set per model/field will always overwrite all global settings.

Global Settings

  • Auto apply to fields (switch): When enabled this will automatically apply the plugin to all structured-text, string and text fields. By changing the following setting you can choose on which fields this plugin will be applied.

  • Field where this plugin is enabled (multi select): You can choose to which fields the plugin will be applied.

Options of Field where this plugin is enabled:

  • Structured-text fields
  • String fields
  • text fields

General Settings

  • Translation service: You can choose which service will be used to translate. The chosen service will be used and an option to add a api key will be presented automatically.

Options of Translation service:

  • Yandex translate
  • DEEPL translate
  • Api key of [selected translation service]: Add the api key of the translation service that you have selected. The plugin will give errors if the api key isn't added or if the translation service serves an error.

Contributing

See contributing.md.

License

MIT Licensed by De Voorhoede.

Comments
  • Chinese simplified translate not working via DeepL

    Chinese simplified translate not working via DeepL

    This in an excellent plugin, very useful. I am using DeepL translator with FREE plan.

    The one issue I am having is it does not translate the Chinese (Simplified) locale (zh-CN). The plugin returns "DEEPL returned status 400". It still translates all other locales, except Chinese...

    Screenshot 2022-07-23 at 14 20 17 Screenshot 2022-07-23 at 14 20 23
    opened by PrimozRome 7
  • fix(translation.ts): remove id from structured text block

    fix(translation.ts): remove id from structured text block

    Fix two bugs related to Structured text translation in transition.ts:

    #13 By keeping blocks inside the filteredArray the translation works for all the text available in structured text. Without this there was a mismatch in getTranslationPerPath with get(jsonObject,fullPath) because the path was not correct.

    #12 If you just copy the block data with the id you won't be able to save the record on Dato because the block id create a bug. To fix this, all blocks inside the Structured text are "stripped" from the id attribute when they are translated.

    opened by PaulBouisset 5
  • Text within structured beyond first block are not translated

    Text within structured beyond first block are not translated

    Hi, like asked I create a separate issue from #12

    If you translate a structured text the translation only work on the text before the first block in the structured text and not all the text content. If you don't have any blocks in your structured text that works but in case there is one block everything after the block is not translated.

    bug 
    opened by PaulBouisset 5
  • Copy and translate on Structured text can't save

    Copy and translate on Structured text can't save

    First thank you a lot for the great plugin.

    I run into multiple errors on structured text when using the plugin:

    • If you copy and translate a structured text containing blocks you can't save the document. It seems that this is due to the block id (I checked the console) being wrong. When you copy content with the Dato tool (not the button added by the plugin) there is no issue. Do you know how to fix this ?
    • If you translate a structured text the translation only work on the text before the first block in the structured text and not all the text content
    bug 
    opened by PaulBouisset 3
  • Feat/map supported languages

    Feat/map supported languages

    By getting a list of all supported locales and mapping locales from DatoCMS we make sure the locales are being translated as good as possible.

    This will fix this issue

    opened by velomovies 1
  • Chore/update dependencies

    Chore/update dependencies

    This pull request includes minor and patch updates for dependencies. I also set the preferred Node version. This makes it easier for development in the future.

    opened by vvandijck 1
  • feat: support DeepL Free API

    feat: support DeepL Free API

    Add support for the DeepL Free API tier. It needs to target another endpoint, but otherwise it functions the same. This allows you to try out the DeepL service, and switch to the paid plan by switching out the endpoint.

    Fixes #1

    opened by thebuilder 1
  • Support DeepL free API

    Support DeepL free API

    Hey great plugin, but can it add support for the free DeepL tier? The free tier targets a different endpoint - https://api-free.deepl.com

    See: https://www.deepl.com/docs-api/

    opened by thebuilder 1
  • Translate fields within modular content

    Translate fields within modular content

    Hi, when I put "multiple-paragraph text" field straight to the model the content is translated well. But when I embed this exact field in Modular Content block it's not being translated at all. I tried to prefill a Modular Content block with structure from the other language but it still does not work. Is it some Dato limitation?

    Please let me know if any further details are necessary for investigation.

    enhancement 
    opened by earendillo 3
  • Double translate button

    Double translate button

    Sometimes two translate buttons show under the filed to where plugin is applied... See the screenshot.

    Screenshot 2022-08-11 at 14 01 31

    I could not find pattern, but it happens on multiple places, kind of random.

    bug good first issue 
    opened by PrimozRome 2
Firefox plugin to automatically translate ° Fahrenheit and size measurements into european units

Eurofox ???? ?? ?? Firefox plugin to automatically translate ° Fahrenheit, weights, speed and size measurements into european units. To see the origin

Inga Feick 5 Oct 16, 2022
An Obsidian plugin to grab all yaml fields from all files into a dataframe

Metadataframe Metadataframe allows you to get all metadata from your vault into CSV file. With CSV in-hand, you can do any data analysis you want with

null 7 Sep 15, 2022
▶ A tool that helps developers to translate JSON to different languages with ease

JSON translator Link ?? : https://json-translator.vercel.app/ ?? The information you have entered will not be kept on this site. ?? Translation is usi

amine louni 6 Mar 6, 2022
This project is about building a web application to translate languages using language translator API.

Language Translator App A web application to translate multiple languages Want to see live preview » ✧ View Demo ✧ Report Bug ✧ Getting Started ✧ Inst

Mohit Sehrawat 15 Dec 19, 2022
Google translate dropdown customize with country flag

Flag google trasnalte demo without google bar and logo Screenshot How to use this 1. Create a country checklist containing languages from which you’ll

Devdreamsolution 28 Oct 11, 2022
Translate text in images using Vision API, Translation API and Jimp

translate-image-text Translate text in images using Vision API, Translation API Rendered using React and canvas Installation Create a Google Cloud pro

Huy Le 4 Oct 26, 2022
Translate text in images using Vision API, Translation API and React with Canvas

manga-translator Manga translator app using Vision API, Translation API Rendered using React and canvas Installation Create a Google Cloud project, en

Huy Le 4 Oct 26, 2022
Functions and objects that make it easier to add fields to Portable Text editors for accessibility meta information, like language changes or abbreviations.

Porta11y Porta11y is a collection of accessibility-focused annotations, decorators and validators for Sanity’s Portable Text editor. Portable Text is

Hidde de Vries 21 Aug 25, 2022
A simple easy to use vanilla JavaScript library for creating input fields that accept multiple email addresses

MeiMei - Multiple Email Input MeiMei: A simple easy to use vanilla JavaScript library for creating input fields that accept multiple email addresses.

Lars Straathof 1 Apr 13, 2022
Gthub action for Project (beta) management. Allows to update fields

titoportas/update-project-fields Use this action to automatically update GitHub project (beta) item fields. Note that this action does not support Git

null 3 Nov 3, 2022
Create beautiful, functional and extensive (Multi) Select Fields with pure, vanilla JavaScript.

tail.select.js - Beautify Select Fields (formerly tail.select) Replace and Improve your HTML <select> fields with style and without jQuery! The tail.s

Ciprian Popescu 69 Dec 30, 2022
Incredible resources (with links) to help up-skill yourselves on various fields. Resources like programming, designing, engineering and much more and completely Open Source.

Shiryoku Incredible resources (with links) to help up-skill yourselves on various fields. Resources like programming, designing, engineering and much

Kunal Keshan 22 Dec 15, 2022
A block preview that directly displays the block fields, including tabs.

Kirby Block Preview Fields This plugin for Kirby 3 displays the block fields directly in the block preview, including tabs. Inspired by the Kirby Fiel

JUNO 8 May 10, 2023
Babel-plugin-amd-checker - Module format checking plugin for Babel usable in both Node.js the web browser environments.

babel-plugin-amd-checker A Babel plugin to check the format of your modules when compiling your code using Babel. This plugin allows you to abort the

Ferdinand Prantl 1 Jan 6, 2022
A variety of jQuery plugin patterns for jump starting your plugin development

jQuery Plugin Patterns So, you've tried out jQuery Boilerplate or written a few of your own plugins before. They work to a degree and are readable, bu

jQuery Boilerplate 1.6k Dec 31, 2022
A tool to get plugin statistics of Obsidian plugin ecosystem.

Obsidian Plugin Stats A tool to get plugin statistics of Obsidian plugin ecosystem. Usage You can use this tool to see the plugins that has hit commun

Ganessh Kumar 27 Dec 25, 2022
📦 Alpine JS plugin to extend the functionality of the official $persist plugin

Alpine JS Persist Extended Alpine JS magic method $storage extends the official $persist plugin to help you work with local storage ?? Example ?? <div

Mark Mead 11 Dec 28, 2022
kakaolink-plugin is a remote-kakao plugin for sending KakaoLinks instead of plain text

kakaolink-plugin Discord Server About kakaolink-plugin is a remote-kakao plugin for sending KakaoLinks instead of plain text. Requirements Node.js v17

null 5 Oct 1, 2022
A markdown-it plugin that process images through the eleventy-img plugin. Can be used in any projects that uses markdown-it.

markdown-it-eleventy-img A markdown-it plugin that process images through the eleventy-img plugin. Can be used in any projects that use markdown-it. F

null 25 Dec 20, 2022