Skip to content Skip to sidebar

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Tagged: 

This topic contains 13 replies, has 1 voice.

Last updated by youssefT-3 17 hours, 24 minutes ago.

Assisted by: Otto.

Author Posts
November 12, 2025 at 6:17 pm #17572220

youssefT-3

Background of the issue:
I’m trying to make sure all my WPML translations display correctly on my multilingual WooCommerce site (hidden link). I want WPML to keep the same layout and design across all languages and ensure all strings (MailPoet, WooCommerce, theme, etc.) are correctly connected to their translations.

Symptoms:
1️⃣ The 'My Account' page is not translated into Dutch or Spanish — it still shows in English. 2️⃣ On the 'Categories' page, the buttons like 'Add to Cart' and 'Add to Wishlist' remain in English when the site is in Dutch. 3️⃣ After translation, the category layout changes. In Dutch, everything is perfectly aligned, but in other languages, the category boxes turn into separate blocks with different widths and spacing. 4️⃣ I had to manually translate all subcategories, even though I paid for automatic translation. 5️⃣ After the translations were applied, the layout broke unexpectedly.

Questions:
How can I ensure the 'My Account' page is translated into Dutch and Spanish?
Why do the 'Add to Cart' and 'Add to Wishlist' buttons remain in English on the Dutch 'Categories' page?
How can I maintain the same layout and design across all languages after translation?
Why did I have to manually translate subcategories despite paying for automatic translation?
What could cause the layout to break after WPML updates the translations?

November 12, 2025 at 6:57 pm #17572658
youssefT-3

We have already tried everything. We’ve been working on this for a long time, but we can’t solve it ourselves anymore — it’s clearly something that needs WPML’s technical attention.

After translating everything, several issues remain:

1️⃣ Only the Dutch version looks correct. The layout for all other languages (English, Spanish, French, German, Italian, etc.) is broken. In Dutch, all categories and subcategories are perfectly aligned and organized, but in every other language, the same sections turn into separate blocks with different spacing and alignment. The design completely breaks, even though the translations are correct.

2️⃣ The “My Account” page still doesn’t translate properly into Dutch and Spanish. It stays in English, while other pages are correctly translated.

3️⃣ The Dutch “Categories” page still shows English buttons like “Add to Cart” and “Add to Wishlist”, while other pages such as “New Products” display the correct Dutch translations (“Toevoegen aan winkelwagen”, etc.).
This issue only happens in Dutch; all other languages (English, French, German, Italian, Spanish) display correctly.

4️⃣ I had to manually translate all subcategories, even though I paid for automatic translation. WPML did not recognize many strings, so I had to do all of it myself.

5️⃣ After the translations were applied, the layout broke unexpectedly. I didn’t change any design or CSS — it happened automatically after WPML updated the translations.

We’ve already used every WPML tool (String Translation, Utilities, Tracking, etc.), but these problems keep returning.

Help us make sure that all languages (English, Spanish, French, German, Italian, etc.) keep the same layout and design as the Dutch version,
and that the Dutch “Categories” page also displays the correct Dutch buttons instead of English ones.

November 13, 2025 at 2:50 pm #17575535

Otto
WPML Supporter since 09/2015

Languages: English (English ) Spanish (Español )

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

I would like to request temporary access (wp-admin and FTP) to your site to take a better look at the issue.
It would be better to a testing site where the issue is replicated.

The information you will enter is private which means only you and I can see and have access to it.
Maybe I'll need to replicate your site locally. For this, I'll need to temporarily install a plugin called “Duplicator” or "All in One WP Migration" on your site.
This will allow me to create a copy of your site and your content.
Once the problem is resolved I will delete the local site.

**IMPORTANT**
- Please make a backup of site files and database before providing us access.
- If you do not see the wp-admin/FTP fields this means your post & website login details will be made PUBLIC. DO NOT post your website details unless you see the required wp-admin/FTP fields.

Best Regards,
Otto

November 13, 2025 at 7:07 pm #17576608

Otto
WPML Supporter since 09/2015

Languages: English (English ) Spanish (Español )

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

Thanks.

Before moving forward, can you please update Elementor, Elementor Pro and the theme Hello Biz to their latest versions?

❌ Please make a full website backup before proceeding ❌

Best Regards,
Otto

November 13, 2025 at 9:37 pm #17576807

youssefT-3

Hi Otto,

All updates have been completed successfully: Elementor, Elementor Pro, and the Hello Biz theme are now on their latest versions.
I also created a full website backup.
You can proceed with checking and fixing the issues.

Thanks!

November 14, 2025 at 2:41 pm #17579603

Otto
WPML Supporter since 09/2015

Languages: English (English ) Spanish (Español )

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

I am taking a copy of the site to take a better look.

Meanwhile, I created separated tickets for each issue. In our experience this is better as it keeps the conversation flow more clear.

Here are the new tickets:
https://wpml.org/forums/topic/broken-layout-2/
https://wpml.org/forums/topic/subcategories-not-translated/
https://wpml.org/forums/topic/buttons-in-category-pages-are-not-translated/
https://wpml.org/forums/topic/account-page-not-translated/

I'll reply here about the first issue (layout problem) and on each ticket separately for each issue. You should get a notification once I reply on each ticket.

I'll get back to you as soon as possible.

Thanks!

Best Regards,
Otto

November 14, 2025 at 3:25 pm #17579753

Otto
WPML Supporter since 09/2015

Languages: English (English ) Spanish (Español )

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

1️⃣ Only the Dutch version looks correct. The layout for all other languages (English, Spanish, French, German, Italian, etc.) is broken. In Dutch, all categories and subcategories are perfectly aligned and organized, but in every other language, the same sections turn into separate blocks with different spacing and alignment. The design completely breaks, even though the translations are correct.

Hello,

The problem seems to be that some category containers use one column and some use two columns.

I couldn't find where the number of columns of the category containers are set. They seem to come from this shortcode: gv_subcats, but I can't find it anywhere in the site's codebase.

Can you please let me know if there is a setting to define how many columns the subcategory container will have and where?

On the other hand, I noted that the front pages consists of a huge and highly customized HTML block. Can you please elaborate a bit on it? What it does and how it works?

Best Regards,
Otto

November 14, 2025 at 4:01 pm #17579825

youssefT-3

Hello Otto,

Thanks for your reply.

I want to clarify the issue so you fully understand what is going wrong.

🔵 1. The translations are correct — the LAYOUT is broken

The Dutch version of the homepage is perfect.

In the Dutch version, the first six subcategory blocks are displayed in one single vertical column, perfectly centered and nicely aligned (like buttons under each other).

Example (Dutch layout – correct):

Category title

Subcategory

Subcategory

Subcategory

… (all in one column)

This layout is exactly how I want it.

🔵 2. In the other languages, WPML breaks the layout

In English, French, German, Spanish and Italian:

The first six items are NOT shown in one column

Instead, WPML splits them into two columns / grid blocks

This destroys the layout and design

This is 100% a layout issue, NOT a translation issue.

🔵 3. The layout comes from a custom shortcode generated by Code Snippets

The structure of these category blocks is created using a custom shortcode:

➡️ Shortcode: gv_subcats
➡️ Added through the Code Snippets plugin

The shortcode controls the layout (1 column vs 2 columns).

In Dutch, the shortcode output is correct.
In the other languages, WPML changes how the shortcode output is rendered, causing incorrect column/grid layouts.

🔵 4. What I need from you

Please check:

Why WPML renders the shortcode output differently per language

Why the layout changes from 1 column (correct) to 2 columns (incorrect)

How to force WPML to output the shortcode EXACTLY the same as in Dutch

I only want the layout in all languages to match the Dutch version.
I do not need text changes — the translations are already correct.

🔵 5. Important visual example

Dutch = ❗ Correct layout (single centered column)
Other languages = ❗ Incorrect layout (split blocks, two columns)

I added screenshots above showing the difference.

Best regards,
GetVitaCore

16.jpeg
15.jpeg
14.jpeg
13.jpeg
November 14, 2025 at 7:47 pm #17580162

Otto
WPML Supporter since 09/2015

Languages: English (English ) Spanish (Español )

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello,

Thanks.

Yes, I agree, the problem is with the layout. What I am looking for is why WPML "translates" it and then breaks it.

Is this the shortcode you are talking about:
"wpml talen alle talen 22222 verlengt"

It does not output any HTML related to the number of columns.

When inspected the HTML I see, some category containers with:
subcategories-list cols-2 rows-3
and others with:
subcategories-list cols-1 rows-3

Even in the same language 🤔 (i.e. English).

Where are those classes coming from? They are not added by the shortcode, as far as I can see.

Best Regards,
Otto

November 14, 2025 at 8:18 pm #17580171

youssefT-3

Hello Otto,

Thanks for your reply. I’ll clarify the issue as clearly as possible, because the problem is not coming from the shortcode itself — it is coming from how WPML processes the shortcode output.

1️⃣ The shortcode always outputs the same HTML in every language

In Dutch the layout is perfect:

all subcategories are aligned

all sections use the same number of columns

no irregular classes appear

2️⃣ ONLY after WPML automatic translation, the HTML structure is modified

WPML changes the shortcode output by injecting different classes, for example:

subcategories-list cols-2 rows-3

subcategories-list cols-1 rows-3

These classes do not exist in my shortcode and they are not created by my code.
They only appear after WPML translates the page.

This proves that WPML is changing the HTML structure during the translation process, which causes the layout to break in English, Spanish, French, German, Italian, etc.

3️⃣ Manual English version looks perfect — WPML version breaks

When I manually create the content, the layout is correct.
When WPML auto-translates the same content, the layout breaks immediately.

So the shortcode is not the problem.
The problem is that WPML modifies the shortcode HTML, adds incorrect classes, and creates different column layouts.

4️⃣ This is why only the Dutch version displays correctly

Dutch displays the direct shortcode output → perfect.
All other languages display the WPML-processed version → broken.

5️⃣ We have already tried all WPML tools (String Translation, Utilities, Sync, etc.)

Nothing solves the issue.
The problem happens only after WPML rewrites the content during translation.

✔️ What we need from WPML

Please help us find out why WPML is injecting different classes into the shortcode output, causing the layout to break in all translated languages.

All three issues are important and we have been trying to solve them for two weeks without success. We paid for automatic translation and the layout breaking is not something we can fix on our side.

We appreciate your help in resolving this properly.

Best regards,
Youssef Tahrioui
GetVitaCore

16.jpeg
15.jpeg
14.jpeg
November 14, 2025 at 8:23 pm #17580218

youssefT-3

Hello Otto,

One more detail that makes the issue 100% clear:

👉 Please compare these two sections on the English page:

1️⃣ “Baby” section → manually translated by me
✔️ Layout is perfect
✔️ Columns and spacing are correct
✔️ No broken classes
✔️ Exactly the same layout as the Dutch original

2️⃣ “Food & Drinks” section → automatically translated by WPML
❌ Layout breaks immediately
❌ Wrong classes appear
❌ Columns change
❌ Spacing becomes uneven
❌ HTML structure is no longer the same as Dutch

Nothing in the shortcode changes.
Nothing in the CSS changes.
Only WPML automatic translation changes the HTML output.

This proves clearly:

✔️ Manual translation keeps the shortcode layout correct
✔️ WPML automatic translation breaks the layout

So the shortcode is not generating different HTML.
WPML is rewriting the HTML only for the automatically translated version, and that causes the layout to break.

If you inspect the HTML for “Baby”, it matches the Dutch layout perfectly.
If you inspect the HTML for “Food & Drinks”, WPML has modified the structure.

This difference between manual vs automatic translation is the key.

We need WPML to stop injecting extra classes or modifying the structure of the shortcode output.

Thanks again for your help.

Best regards,
Youssef
GetVitaCore

14.jpeg
November 14, 2025 at 8:35 pm #17580246

Otto
WPML Supporter since 09/2015

Languages: English (English ) Spanish (Español )

Timezone: America/Argentina/Buenos_Aires (GMT-03:00)

Hello Youssef,

Thank you very much for taking the time to explain the issue in such detail.

In order to investigate why and where WPML is mixing things up in the secondary language, I need to understand where HTML is coming from in the original language.

I've checked the code of this shortcode (in the snippets section):
wpml talen alle talen 22222 verlengt

and it does not seem to be the source of the classes.

Is it the right shortcode? If it is, I don't see the classes there.

You mentioned that

The shortcode controls the layout (1 column vs 2 columns).

Where and how it does that?

Best Regards,
Otto

November 14, 2025 at 9:17 pm #17580279

youssefT-3

Hello Otto,

Thanks for your message.

Before we continue with the shortcode/layout investigation, we kindly ask you to help us solve the two other issues, because they are more urgent for the live website:

1️⃣ Account page is not translated in Dutch and Spanish

Even though everything is fully translated in WPML →
the My Account page in Dutch and Spanish still shows English text.

We already tried:

String Translation

Automatic translation

Scan for strings

Sync tools

WPML troubleshooting tools

Nothing fixes it.

So the Account page in:

/nl/account stays English

/es/mi-cuenta also stays English

We need your help to fix this, because the site is multilingual and the Account page must respect the selected language.

2️⃣ Buttons inside the Dutch shop/category pages are not translated

On the Dutch version of the shop and category pages, the buttons still show English text (“Add to cart”, “Add to wishlist”), even though the translations exist.

The issue is ONLY in Dutch.
All other languages show the correct translations.

This is something we cannot solve ourselves; we already tried every WPML tool.

3️⃣ Shortcode/layout issue

We saw your reply and your questions.
We will investigate the shortcode side more deeply on our end and come back to you with a complete technical clarification soon.

For now, the account translation issue and the Dutch button translations are more critical for the live website.

Thank you for your help.
We appreciate your time and support.

Best regards,
Youssef
GetVitaCore

November 14, 2025 at 11:43 pm #17580357

youssefT-3

Hello Otto,

Thank you. Before we continue, I want to clearly explain the remaining issues, because the layout problem is now fully fixed on our side.

At this moment two issues remain, and both are caused inside WPML — not in our theme, not in our shortcode, not in WooCommerce.

1️⃣ “Account” page does NOT translate in Dutch and Spanish

Even when Dutch is selected, the entire Account page stays in English.

Examples:

“Dashboard”, “Orders”, “Addresses”, “Account details”, etc. all stay in English

In Spanish, the page also remains fully English

Other languages work normally

We already:
✔ synced WPML
✔ checked String Translation
✔ cleared cache
✔ recreated the Dutch page

Nothing fixes it.
So WPML is not applying translations to this page for Dutch and Spanish.

We need help finding why these two languages ignore their translations only on the Account page.

2️⃣ WooCommerce shop pages are not translated in Dutch

When visiting the shop through categories (not through the main menu), many WooCommerce strings stay in English.

Examples (see screenshots):

“Home / Shop”

“Showing 1–12 of…”

“Default sorting”

“Add to cart”

“Add to wishlist”

“Reviews”, “In stock”, etc.

Checkout also shows English (“Contact information”, “Shipping address”, etc.)

But the same strings are correctly translated when navigating through the main Dutch menu.

So this only happens when entering the shop through translated category pages.

This is clearly a WPML issue with WooCommerce endpoints or URL filtering.

We need help understanding why these WooCommerce strings stay English when the user enters the shop from a category.

IMPORTANT:

The shortcode problem is solved.
Please ignore the shortcode entirely — all layout issues are fixed.

We only need help with:

✔ Account page not translating (Dutch & Spanish)
✔ WooCommerce shop/checkout strings not translating when coming from a category page

These issues have been happening for two weeks and we cannot fix them ourselves.

Thank you very much for helping us solve these remaining translation problems.

Best regards,
Youssef – GetVitaCore