The configuration #️⃣

Every time a collection type is modified (add, update, delete a field or a whole collection), the Content Transfer Setup needs to be checked and updated according to the collection types. Otherwise, the plugin won’t be able to determine whether a user wants to transfer the field or not, and consequently, it won’t let the user proceed with upload or download.

The Content Transfer Setup screen looks similar to the screen below.

Strapi localization Plugin - Content Transfer Setup

Some of the fields are disabled (shown as grey). This is due to the fact that the fields are not texts. For instance, a field named Pages in the Books collection is a number and therefore doesn’t have to be translated. Similar applies, e.g., for relations. Rich text (Blocks) fields are an exception — they are supported, see Blocks (rich text) fields support below.

Disabling the whole collection #️⃣

The whole collection can be disabled from transferring by toggling the switch on the right side of the collection’s name. This way, the transfer setup of the collection can be kept intact for when a user decides to transfer it later without a need to click on the fields repeatedly.

In order for the collection to appear in the Content Transfer Setup, it must be marked as localizable. Similarly, a field must be marked as localizable in order to be enabled.

To enable localization for the field (or collection), go to Advanced Settings and make sure the checkbox named Enable localization for this field (or Content-Type) is checked.

Dynamic Zones support #️⃣

The plugin supports localization of Dynamic Zones.

In the Content Transfer Setup, a Dynamic Zone component is marked with the “infinity icon”.

In the image below, the lesson_type is a Dynamic Zone field with lesson.lecture, lesson.quiz and lesson.survey components available to choose from.

Strapi localization Plugin - Content Transfer Setup - Dynamic Zone

Localazy Strapi Plugin: JSON Fields Support (Beta) #️⃣

With the release of the JSON Fields Support (Beta) in the Localazy Strapi Plugin, users can now leverage advanced content structures, allowing for deeper flexibility when localizing JSON data in their Strapi projects. Here’s a breakdown of this new feature and its current limitations.

Key Features and Limitations of JSON Fields Support

  1. Support for JSON Structures in Components JSON Fields can now be used in components, repeatable components, and Dynamic Zones (first-level support only). Note: This means that JSON fields located directly within a component or a repeatable component are supported, but a JSON field within a nested component (i.e., a component within a component) does not currently work.

  2. Deep Merging on Localized Entry Creation When creating a localized entry, JSON data with numeric, boolean, and other primitive values will be deep merged with the source entry. This ensures that non-string data types within JSON maintain their structure and values, enhancing consistency between source and localized entries.

  3. Limited Regex Key Support Currently, JSON fields with keys containing the dot “.” character are not supported due to limitations with regex-based matching. We recommend using alternative key structures if you intend to localize such fields within JSON.

This JSON Fields support in the Localazy Strapi Plugin remains in beta. We welcome feedback as we work towards a more comprehensive and stable solution for JSON data localization.

Blocks (rich text) fields support #️⃣

The plugin supports Strapi’s Blocks field — the native rich-text editor. Blocks fields are no longer disabled in the Content Transfer Setup; enable them the same way as any other text field.

Requires Localazy Strapi Plugin 1.7.0 or later.

How Blocks content is transferred

A Blocks value is a rich-text document, not a plain string. On upload, the plugin splits it into one translatable key per text node — paragraphs, headings, list items, quotes and code blocks each travel as their own segment. Formatting is not sent as markup inside the string: bold and italic marks, heading levels, list nesting and link targets stay part of the document structure.

On download, the translated text is placed back onto the source-locale document, so structure and formatting always come from the source entry. In practice:

  • Translators see clean text with no HTML or Markdown noise — better for translation memory, machine translation and review.
  • A translation identical to the source produces a document identical to the source.
  • Text nodes left untranslated fall back to the source text.
  • Nodes that carry no text — images, dividers — produce no keys. Image URLs, image alt texts and link URLs are not translatable.
  • If the Blocks field is empty in the source entry, it is skipped on download instead of being written as an incomplete document.

Blocks in components and Dynamic Zones

Blocks fields are supported anywhere in the schema — directly on a collection type, inside components and repeatable components, and inside Dynamic Zones, at any nesting depth.

Because the document structure comes from the source locale, structural changes made on the Localazy side (splitting, merging or reordering blocks, adding new paragraphs) are not carried back to Strapi — only the text of existing nodes is applied. Likewise, editing the structure of the source document in Strapi shifts the keys of the affected nodes, so those segments appear in Localazy as new strings to translate.

CKEditor 5 Strapi Plugin Support #️⃣

The plugin supports both unofficial and official versions of the CKEditor 5 Strapi plugin, providing flexibility for users leveraging CKEditor 5 for rich text content within their Strapi projects.