Problem/Motivation

The main functionality does support
- Paragraphs and fields (this was built in https://www.drupal.org/project/ai/issues/3464024#comment-15720929)
but not
- Layout builder.

Steps to reproduce

Create a page in aCT with Layout builder enabled.
Creater a nice layout with multiple text in blocks.
Navigate to the translate page
click on "Translate using GPT"
The Blocks will not be (but should be) translated.

Proposed resolution

Make it so layouts get translated too on the clicking of the button.

Remaining tasks

User interface changes

API changes

Data model changes

CommentFileSizeAuthor
#15 ai-translate-error.png1.69 MBflyke

Issue fork ai-3467075

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

wouters_f created an issue. See original summary.

valthebald made their first commit to this issue’s fork.

valthebald’s picture

Status: Active » Needs review
borisson_’s picture

Status: Needs review » Needs work

I have attempted to test this on a local install, and it looks to me like this doesn't work yet.
The problem I encounter is that only the title is translated, and nothing that was placed trough layout builder.

To me it seems like something that needs to be changed in the TextExtractor. Will investigate further.

borisson_’s picture

If a field type is layout_section, the value always seems to be "Text" instead of the actual text I filled in in the layout builder content. That gets sent to the AI, but a new layout section does not get created either.

It seems like there are multiple things that can still be improved here.

array:1 [▼
  0 => array:5 [▼
    "delta" => "850c5e44-8e63-4435-a015-2556aa8c323d"
    "field_name" => "info"
    "field_type" => "string"
    "value" => "Text"
    "parents" => array:2 [▼
      0 => "info"
      1 => 0
    ]
  ]
]
wouters_f’s picture

I've tried this too and not gotten it to work.
I also noticed blocks also have the translate links but they give an error when clicking on the button.

arwillame’s picture

I tested as well and it seem to work in the specific default case :
- The content type has a node "layout_builder__layout" wich is NOT TRANSLATABLE
- All the blocks used in Layout builder need to be translatable and have text fields translatable.

So in this configuration it will work as expected, it will just create a translation for the node, where the blocks ids are kept from the source language and translated.

It's the same idea as for the paragraph, this is a "symmetric" setup.

For my use case i would need to be able to have an "asymmetric" translation of the blocks for layout_builder (Dupplicate the block from source language, translate it and attach it to node translation).

I'll work on a module as i made for the asymmetric paragraphs : https://www.drupal.org/project/ai_translate_paragraph_asymetric

arwillame’s picture

I made more intensive testing and the MR seems fine for me for a "classic" install as specified in my last comment.

For the layout builder configured to be asymmetric (with Layout Builder Asymmetric Translation), i created a contrib module to handle this case :
https://www.drupal.org/project/ai_translate_lb_asymmetric

With this module, you'll be able to translate you layout builder page with the following config:

- Translatable Fields: Ensure that the fields referencing blocks (layout) are configured to be translatable.
- Non-Translatable Block Fields: Make sure that the block fields themselves are not set to be translatable.

arwillame’s picture

Status: Needs work » Needs review

I fixed the phpcs et cspell issues.

marcus_johansson made their first commit to this issue’s fork.

marcus_johansson’s picture

Status: Needs review » Fixed

Merged with latest dev to pass tests and then getting merged into dev. Thank you everyone.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

flyke’s picture

StatusFileSize
new1.69 MB

This does not work for me.

Site default language: Dutch.
Additional languages: English and French.

Content type 'Page' has a layout_builder__layout field that is translatable.

I have sevaral block content types like hero, text, image etc. None of the block fields is translatable.
I'm using ai_translate_lb_asymmetric, layout_builder_at, ai, ai_translate
For AI model I'm using Claude Sonnet via ai_provider_anthropic

I create a page with sections, a hero block, some text blocks etc in Dutch (original language).
I click translate and translate the page to French via 'Translate using claude-3-sonnet-latest'.
It takes some time, but I successfully see a French page with all the same blocks as my original page and all texts translated (yeay!).
Now I switch back to my original page (Dutch) and I see that only my first (dutch) hero block is still working, all the rest of the blocks seem missing.

When I edit the layout, I don't see the missing blocks, but I see some sort of placeholder text where the blocks should be.
Edit: I created a separate issue for this: #3521109

kristen pol’s picture

Component: Other Submodules » AI Translate

@flyke Please open a new issue with your steps to reproduce your problems, thanks

===

We are doing some issue management housekeeping and adding/removing components.

We are removing the "Other Submodules" component and want people to categorize issues with the best module/submodule component.

Moving this issue to "AI Translate".

See #3533272: Update AI module project components for more details.