Fill in references from another locale

Hi!

I am wondering if it’s a bug that references to other content types are not copied when I select ‘Fill in from another locale,’ especially when the referenced entry has also been translated into the same language. Or, is this behavior intentional?

In theory, this should be possible; technically, I’m not sure.

Thank you for your time.

System Information
  • Strapi Version: 4.16.2
  • Operating System: Windows 11
  • Database: SQLite
  • Node Version: 18.14.0
  • NPM Version: 9.3.1
  • Yarn Version: -

Hi. Can you share a minimum reproductible source code?

I’ll try to create a project today or tomorrow

1 Like

Sorry for the delay, we just encoundered another issue regarding i18n with relations. Give me a little bit more time to setup a project and a description.

I’m working on it.

Finally I built a demo repo demonstrating some big challenges using the i18n plugin.

Here’s the repo: GitHub - Endur-GmbH/strapi-i18n-problems: Demo-Repo for showcasing i18n problems

Database and .env-file are checked in. So just use the following commands:

  • cd i18n-problems
  • npm i
  • npm run develop

Then login with:
Email: demo@strapi.io
Password: Strapi1234

Two languages are configured: English (Default) → German.
I built following content structure and put in some data:

  • Coaches (no i18n)
    • Alice
    • Bob
  • Tags (i18n) (already translated)
    • Shred → Definition
    • Build → Aufbau
  • Exercises (i18n) (not yet translated)
    • Pushups
    • Pullups
  • Workouts (i18n) (using the other content-types)
    • Shred-Workout (Coach: Alice, Tag: Shred, Exercise: Pushups)
    • Build-Workout (Coach: Bob, Tag: Build, Exercise: Pullups)

Yet the workouts are only available in English. Now the goal is to translate them into German.
So for example select the Shred-Workout, click on Locales → German → Fill in from another locale → English.

You can see that absolutely none of the relations are filled out (only title of the workout and amount of the exercise).
In my opinion in a perfect world, Strapi would be able to fill out all of the relations. Let me explain my thoughts:

  1. The coaches can be filled out because neither the “Coach” content-type has i18n, nor the coaches-field requires i18n.
  2. The “parts”-field of the workout (which is a dynamic zone) is not translated. So Strapi should fill in the English exercises. Even though the Exercises might be translated - because the “parts”-field is not - the English version (default) should be used.
  3. Even the tags can be filled out, because both tags are translated into German and in theory via the connection to the English version of the tags, the German tags can be found and connected with the German workout.
  4. I’m not 100% sure, but when you open the English Tag “Shred” and switch the locale to German, even though there is a translation available, the page is in “Create”-mode. You can only access the existing German translation through the Tags list but not from the entity-view. This only happens in the demo with Strapi 4.17.1, I didn’t see this in our application using 4.16.2.