Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

Problem:
The client was unable to translate attributes in WooCommerce Multilingual & Multicurrency. Despite setting the taxonomy language to Dutch, the translation pencil icon was unresponsive, and an E_ERROR was encountered in the WPML plugin files.
Solution:
We recommended checking the documentation on translating and synchronizing global attributes in WooCommerce Multilingual, available here: https://wpml.org/documentation/related-projects/woocommerce-multilingual/#translate-and-synchronize-global-attributes.
The client resolved the issue by switching the "copy taxonomies to translation" on and off. Set all taxonomies to Dutch (because they were somehow registered as English). Then the client sent all products for translation (automatic > publish without review) and selected the already translated content to "Overwrite existing translations". After that, navigate to the Taxonomies translation and select the taxonomies one at a time and press the sync button at the bottom.

If this solution does not resolve your issue or seems outdated, please visit our known issues page at https://wpml.org/known-issues/ to check for any updates or related problems. We also recommend confirming that you have the latest versions of themes and plugins installed. If problems persist, do not hesitate to open a new support ticket for further assistance.

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.

This topic contains 8 replies, has 1 voice.

Last updated by edwinF-6 6 days, 15 hours ago.

Assisted by: Kor.

Author Posts
February 10, 2025 at 1:58 pm #16686506

edwinF-6

Background of the issue:
I'm trying to translate the attributes in WooCommerce Multilingual & Multicurrency, but it's not working. The taxonomy shows a pencil under the translation, but there's no translation or text when I click it. Link to the issue: hidden link

I did see that all the taxonomies were actually in English, so I'm now setting them the the original language Dutch) first.
Do I need to do something after setting them all to Dutch?

What does the button "Synchronize attributes and update product variations" do?
It's a live webshop, so I need to be extremely careful, because after translating the shop, all stocks were set to 0, which caused loads of issues.

Symptoms:
The attributes taxonomy shows a pencil icon indicating translation, but no translation or text appears in the other language.

Questions:
Why is there no translation text appearing under the other language?
How can I ensure the attributes are translated correctly?

February 10, 2025 at 2:25 pm #16687947

edwinF-6

I couldn't update the plugins at first, but now I could.

Though i'm getting this error afterwards:

An error of type E_ERROR was caused in line 422 of the file /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/Injector.php. Error message: Uncaught ReflectionException: Class "WPML\StringTranslation\Infrastructure\TranslateEverything\UntranslatedStringsFactory" does not exist in /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/StandardReflector.php:29
Stack trace:
#0 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/StandardReflector.php(29): ReflectionClass->__construct()
#1 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/CachingReflector.php(73): WPML\Auryn\StandardReflector->getParamTypeHint()
#2 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/Injector.php(527): WPML\Auryn\CachingReflector->getParamTypeHint()
#3 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/Injector.php(474): WPML\Auryn\Injector->buildArgFromTypeHint()
#4 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/Injector.php(414): WPML\Auryn\Injector->provisionFuncArgs()
#5 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/Injector.php(373): WPML\Auryn\Injector->provisionInstance()
#6 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/container/class-wpml-container.php(98): WPML\Auryn\Injector->make()
#7 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/container/functions.php(29): WPML\Container\Container::make()
#8 [internal function]: WPML\Container\{closure}()
#9 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(154): call_user_func_array()
#10 [internal function]: WPML\FP\{closure}()
#11 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/container/functions.php(35): call_user_func_array()
#12 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/Loader/MarkPreviouslyUnsupportedContentAsCompletedInTEA.php(66): WPML\Container\make()
#13 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Either.php(207): WPML\TM\ATE\Loader\MarkPreviouslyUnsupportedContentAsCompletedInTEA->run()
#14 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Either.php(257): WPML\FP\Right->map()
#15 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Promise.php(24): WPML\FP\Right->chain()
#16 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/Hooks.php(50): WPML\FP\Promise->resolve()
#17 /home/hondensh/public_html/wp-includes/class-wp-hook.php(324): WPML\LIB\WP\Hooks::WPML\LIB\WP\{closure}()
#18 /home/hondensh/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#19 /home/hondensh/public_html/wp-includes/plugin.php(517): WP_Hook->do_action()
#20 /home/hondensh/public_html/wp-settings.php(726): do_action()
#21 /home/hondensh/public_html/wp-config.php(106): require_once('/home/hondensh/...')
#22 /home/hondensh/public_html/wp-load.php(50): require_once('/home/hondensh/...')
#23 /home/hondensh/public_html/wp-admin/admin.php(34): require_once('/home/hondensh/...')
#24 /home/hondensh/public_html/wp-admin/plugin-install.php(16): require_once('/home/hondensh/...')
#25 {main}

Next WPML\Auryn\InjectionException: Could not make WPML\TM\ATE\Loader\MarkPreviouslyUnsupportedContentAsCompletedInTEA\StringsAndPackagesMigration: Class "WPML\StringTranslation\Infrastructure\TranslateEverything\UntranslatedStringsFactory" does not exist in /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/Injector.php:422
Stack trace:
#0 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/Injector.php(373): WPML\Auryn\Injector->provisionInstance()
#1 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/container/class-wpml-container.php(98): WPML\Auryn\Injector->make()
#2 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/container/functions.php(29): WPML\Container\Container::make()
#3 [internal function]: WPML\Container\{closure}()
#4 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(154): call_user_func_array()
#5 [internal function]: WPML\FP\{closure}()
#6 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/container/functions.php(35): call_user_func_array()
#7 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/Loader/MarkPreviouslyUnsupportedContentAsCompletedInTEA.php(66): WPML\Container\make()
#8 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Either.php(207): WPML\TM\ATE\Loader\MarkPreviouslyUnsupportedContentAsCompletedInTEA->run()
#9 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Either.php(257): WPML\FP\Right->map()
#10 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Promise.php(24): WPML\FP\Right->chain()
#11 /home/hondensh/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/Hooks.php(50): WPML\FP\Promise->resolve()
#12 /home/hondensh/public_html/wp-includes/class-wp-hook.php(324): WPML\LIB\WP\Hooks::WPML\LIB\WP\{closure}()
#13 /home/hondensh/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#14 /home/hondensh/public_html/wp-includes/plugin.php(517): WP_Hook->do_action()
#15 /home/hondensh/public_html/wp-settings.php(726): do_action()
#16 /home/hondensh/public_html/wp-config.php(106): require_once('/home/hondensh/...')
#17 /home/hondensh/public_html/wp-load.php(50): require_once('/home/hondensh/...')
#18 /home/hondensh/public_html/wp-admin/admin.php(34): require_once('/home/hondensh/...')
#19 /home/hondensh/public_html/wp-admin/plugin-install.php(16): require_once('/home/hondensh/...')
#20 {main}
thrown

February 10, 2025 at 2:32 pm #16688047

edwinF-6

There's something wrong in the WPML String translation plugin

February 10, 2025 at 2:40 pm #16688085

edwinF-6

I fixed the error with the plugin updates. I just need help with the attributes

February 11, 2025 at 8:52 am #16690343

Kor
Supporter

Languages: English (English )

Timezone: Asia/Singapore (GMT+08:00)

Thanks for contacting us.

I will need to closely examine your website. Therefore, I will require temporary access (WP-Admin and FTP) to a test site where the problem has been replicated, if possible. This will enable me to provide better assistance and determine if any configurations need to be modified.

Please note that it is important to have a backup for security purposes and to prevent any potential data loss. You can use the UpdraftPlus plugin (https://wordpress.org/plugins/updraftplus/) to fulfill your backup requirements.

Your upcoming reply will be treated with confidentiality and will only be visible to you and me.

✙ To resolve the issue, I may need your consent to deactivate and reactivate plugins and the theme, as well as make configuration changes on the site if necessary. This emphasizes the significance of having a backup.

February 11, 2025 at 1:46 pm #16691966

edwinF-6

Hi Kor,

I'm currently trying to get a backup, so I'll let you know when that's finished.

Can you please tell me what the button "Synchronize attributes and update product variations" does? Currently I don't see my attributes in the translated language. This happened after I changed all attributes that were set to English to the Dutch main language.

Is it safe to use that button to make the attributes show up again in the translated language? Or should I wait for the backup to be ready?

It's a complicated site, so Updraft doesn't always work well

February 11, 2025 at 3:12 pm #16692518

Kor
Supporter

Languages: English (English )

Timezone: Asia/Singapore (GMT+08:00)

Thanks for your reply.

You can refer to this section of the documentation https://wpml.org/documentation/related-projects/woocommerce-multilingual/#translate-and-synchronize-global-attributes which explains what this option does.

That option should be saved without a full backup. But please always backup the site daily so that you can always restore the site if anything breaks.

February 11, 2025 at 6:47 pm #16693311

edwinF-6

Thanks for the info. The backup didn't work so tomorrow morning (it's now 19:45), there will be a full backup available for you to test.

February 11, 2025 at 6:48 pm #16693312

Kor
Supporter

Languages: English (English )

Timezone: Asia/Singapore (GMT+08:00)

Thanks for your reply. Sure, I will wait.

February 13, 2025 at 7:31 pm #16704301

edwinF-6

Hi,

I figured it out myself. I had "copy taxonomies to translation" on and turned it off. Set all my taxonomies to Dutch (because they were somehow registered as English). Then I've sent all products for translation (automatic > publish without review) and selected the already translated content to "Overwrite existing translations". After that I went to the Taxonomies translation and one by one selected the taxonomies and pressed the sync button at the bottom.