Skip Navigation

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
- 7:00 – 12:00 7:00 – 12:00 7:00 – 12:00 7:00 – 12:00 7:00 – 12:00 -
- 13:00 – 16:00 13:00 – 16:00 13:00 – 16:00 13:00 – 16:00 13:00 – 16:00 -

Supporter timezone: America/Sao_Paulo (GMT-03:00)

Tagged: 

This topic contains 11 replies, has 0 voices.

Last updated by peterJ-48 11 hours, 10 minutes ago.

Assisted by: Lucas Vidal de Andrade.

Author Posts
April 24, 2025 at 2:44 pm #16964894

peterJ-48

Background of the issue:
I am trying to translate custom product attribute names imported via WPML tools in a WooCommerce multilingual setup without using String Translation. We import products using WPML’s supported tools (export/import) and use custom (non-global) attributes such as 'Hardness Jaws', 'Size', 'Material'. Link to a page where the issue can be seen: hidden link

Symptoms:
Custom product attribute names do not appear translated on the frontend in secondary languages, even though they are visible and translatable in the Advanced Translation Editor (ATE).

Questions:
Is there a native or recommended way to handle custom attribute translation for WooCommerce products via import without using String Translation or global attributes.?

April 24, 2025 at 3:08 pm #16965036

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

I would like to look at this directly on your site. For this I would need temporary access (WP-Admin and FTP) to your site, preferably to a test/staging site where the problem has been replicated if possible.

The required fields can be found below the comments section. The information you enter is private, i.e. only you and I can see it and have access to it.

I may need to replicate your website locally. To do this, I need to temporarily install a plugin called "Duplicator" or "All in One WP Migration" on your website. This will allow me to create a copy of your website and content. Once the issue is resolved, I will delete the local website. Let me know if this works for you.

IMPORTANT

Please make a backup copy of the site files and database before giving us access.

- If you do not see the wp-admin/FTP fields, this means your post and site login details are being made PUBLIC. DO NOT post your website details if you do not see the required wp-admin/FTP fields. If you do not, ask me to enable the private box. The private box looks like this:

hidden link

April 25, 2025 at 7:35 am #16967155

peterJ-48

Hello,

Custom (Separate) Attributes:
Custom (non-global) attributes are not linked between languages, even when using translated names. This leads to:

❌ Variations not being generated in secondary languages

❌ Attribute names not appearing translated

⚠️ Data inconsistency across languages

Example:
English: Attribute name = Size
Danish (import):

Using Størrelse → ❌ Variation not generated

Using Size → ✅ Variation is generated, but the label appears as "Size" (not translated)

Example Product Import :
Please switch to the Danish language to view the issue (refer to the screenshots: unnamed.png and Screenshot_3.png).
hidden link
Product ID # 302488

You can use this example product for testing import:
Import CSV File : hidden link
Excel File Format : hidden link

Steps to Import:
Go to Products → Import to import the test product.

For syncing products across secondary languages, use the Export and Import Tool in WPML → Export and Import.

Note : Even if we import only the English product and then translate it automatically or manually using WPML, the attributes still do not appear in the secondary languages. Additionally, the translation status remains marked as "in progress."
Example Product Import :
Please switch to the Netherland and Germany language to view the issue (Variation not generated in the secondary languages):
hidden link
Product ID # 302488

Note : Custom product attribute names do not appear translated on the frontend in secondary languages, even though they are visible and marked as translatable in the Advanced Translation Editor (ATE).
For example, you can see this when editing in ATE for the Danish language (refer to Screenshot_3.png).

Is there a native or recommended way to handle custom (non-global) attribute translation for WooCommerce products via import without using String Translation or global attributes.?

Let me know if you need any further details.

Screenshot_3.png
Screenshot_2.png
unnamed.png
April 25, 2025 at 2:22 pm #16969063

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hey there,

Thank you so much for sharing the details. The importing process failed a couple of times - the EN version of the product wouldn't show in the list after importing, that even before having the language issues you mentioned. Since the website has many products, it makes it hard to organize and test imports.

Please delete all occurrences of the product present in the test CSV, in all languages. Completely remove the items from the trash as well. Let me know once you're done.

P.S: I translated the "Size" attribute name in WPML > Taxonomy translation, and it showed translated in the front end. Also, I've confirmed with my colleagues, that there are no extra steps needed when importing products with custom attributes. You simply import them, and run WPML Export and Import. I'll confirm if this is working or not, once you clean up the products.

I know this takes some effort, so thank you for your cooperation.

April 28, 2025 at 10:44 am #16974360

peterJ-48

Hello,

We have cleaned up the products as requested. You can now proceed with the test import to verify the following two issues:

1) Custom product attribute names are not appearing translated on the frontend in secondary languages, even though they are visible and marked as translatable in the Advanced Translation Editor (ATE).

2) Even when importing only the English version of a product and then translating it—either automatically or manually using WPML—the attributes still do not appear in secondary languages. Additionally, the translation status remains marked as "in progress."

Here is the video recording of the product import: hidden link

Let me know if you need anything else from my side.

April 28, 2025 at 7:39 pm #16976633

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hello there,

The custom attribute "size", is actually set globally as a Product Taxonomy. The translation "size-danish" was created by me as a test. It was untranslated when you first reached out. You can adjust the translation of "size" in WPML > Taxonomy Translation.

If possible, please record another video importing a product with a taxonomy that's not defined globally, so we can test it in more detail. Let me know how it goes.

April 29, 2025 at 8:48 am #16977791

peterJ-48

Hello,

As per your request, we've added a new attribute named "Size Range" and recorded a video demonstration for your reference.

🔗 Video Recording: hidden link
🔗 Imported Product URL: hidden link

We also created custom attributes for Size Range, Material, and Hardness Jaws. While these translations are visible in ATE (Automatic Translation Editor) for the Danish language, they are not yet appearing correctly on the frontend.

You’re welcome to test the import process yourself using the following CSV file:
🔗 Import CSV File: hidden link

Note: To avoid duplication during import, please replace the SKU with a new value.
For example: Replace TST535 with TST536.

Let me know if you need any further assistance.

April 29, 2025 at 3:03 pm #16979914

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hey there,

Thank you so much for sharing the video, I was able to see the issue properly now. I'm creating a local duplicate of your website for testing and will get back to you once I have new information. Thank you for your patience.

April 29, 2025 at 7:09 pm #16980882

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

I haven't been able to create a copy of your website. I tried with different methods, but always end up getting an error.

I need to check for conflicts, by switching themes and deactivating/reactivating plugins, which can break the website. Since I don't have a copy, is it ok if I do that in this staging version? Again, please note that this process is sensitive and can lead to fatal errors. Please confirm.

I apologize for the back and forth and appreciate your cooperation.

April 30, 2025 at 6:16 am #16981653

peterJ-48

Hello,

Yes, you can switch themes and deactivate or reactivate plugins on the staging server. Since this is a separate environment and I have a backup in place, you can proceed with these operations without hesitation, even if they involve potentially breaking changes or fatal errors.

April 30, 2025 at 6:18 pm #16985137

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Hey there,

Upon deactivating a few plugins, the website crashed. Can you please restore the staging version? I was checking for conflicts.

Furthermore, to avoid this from happening again, can you provide us with a copy of your website? Here are the details:
https://wpml.org/pt-br/faq/provide-supporters-copy-site/

This way, I have access to a backup.

Let me know.

May 1, 2025 at 3:00 pm #16986798

peterJ-48

Hello,

We discovered that for "local attributes," setting the global field to "0" allows imported products to be auto-translated correctly (See screenshot for reference.).

However, the translated local attributes do not appear on the frontend initially. If we open the product in ATE (Advanced Translation Editor) and simply save it again, the translated local attributes then display properly on the frontend.

Product URL:
hidden link

For this product:

- Danish was imported via file

- German was translated using WPML's auto translation

We’re experiencing an issue where translated custom (local) attributes imported via file are not displaying on the frontend.

Screenshot_19.png
May 2, 2025 at 7:19 am #16988031

peterJ-48

Hello,

We’ve identified that after importing products via CSV, the translated entries do not include the "attr_label_translations" meta_key in the "postmeta" table. Because of this, local (custom) attribute labels such as "Size", "Material" and "Hardsness Jaws" translation not displayed in the correct language on the frontend, even though they appear correctly in the Advanced Translation Editor (ATE).

Our import file already includes the following WPML fields:

_wpml_import_language_code

_wpml_import_source_language_code

_wpml_import_translation_group

We’ve verified that when translations are done via ATE or manually through the WP admin, the "attr_label_translations" meta is correctly created and everything works as expected. However, this meta is not generated during CSV import.

Request:
Can you confirm whether this is a current limitation in WPML’s import process for local attribute labels? If so, we would like to request native support for automatically generating the "attr_label_translations" meta during import — similar to how global attributes are handled — to ensure full multilingual compatibility.

May 2, 2025 at 4:20 pm #16990295

Lucas Vidal de Andrade
WPML Supporter since 11/2023

Languages: English (English ) Spanish (Español ) German (Deutsch ) Portuguese (Brazil) (Português )

Timezone: America/Sao_Paulo (GMT-03:00)

Thank you so much for sharing these details. I've escalated this ticket with all the necessary information to our compatibility team. They usually take a few days to analyze and provide information. I'll keep you updated.

May 8, 2025 at 6:11 am #17009871

peterJ-48

Hello,

I hope you're doing well. I’m writing to follow up on the ticket that was escalated to your compatibility team a few days ago. We understand that these things can take time, but we just wanted to check if there have been any updates or progress regarding our issue.

We’d really appreciate any insights you can share, as we’re keen to move forward as soon as possible.

Looking forward to your response.