Background of the issue:
I am using WPML on my site hidden link and I have questions about how manual and automatic translations interact when changes are made to a page.
Symptoms:
No specific issue or error message mentioned.
Questions:
When we make changes to a page, what happens to the manual translations? Will they be completely overridden, or will translation memory protect previously manually translated strings?
When we use automatic translation but later make changes by hand, how should we best manage these changes? Is it possible to make these changes directly in the backend, or do we always have to open the translation tool?
If we manually change a language translation after automatic translation, will this prevent it from being overridden in the future when we make further changes to the default language page?
Is there a difference if we make translation changes directly in the page using the block editor, the translation WPML option in the page settings, or translation management when sending it as a job?
Thank you for reaching out to WPML support. I'd be happy to assist you with your queries regarding translation behavior.
Let me explain how the translation memory works:
If you have a text without translations, no translation memory exists.
When you translate the text (either automatically or manually using wpml editors for the first time, translation memory is created based on the translated content.
If you later modify the text translations (via automatic or manually using wpml editors), translation memory will update accordingly, so the next time you use the same content, the updated version will be served.
Now, addressing your specific questions:
When we make changes to a page, what happens to the manual translations? Will they be completely overridden, or will translation memory protect previously manually translated strings?
This depends on the type of changes you make. WPML segments your content into smaller groups to ensure reusability. If you change the original content, WPML checks the translation memory to see if an equivalent exists and serves it accordingly. If no matching translation memory exists, new translations will be required.
For example:
- If "Hello English People" was translated to "Bonjour les Français," and you update it to "Hello English Speaking People," WPML will treat it as a new phrase, requiring fresh translation.
When we use automatic translation but later make changes by hand, how should we best manage these changes? Is it possible to make these changes directly in the backend, or do we always have to open the translation tool?
You should always use WPML editors to make changes. Mixing editors (e.g., editing directly in the backend or using the block editor) can lead to synchronization issues. WPML editors ensure that manual updates are properly logged and stored in the translation memory, avoiding conflicts or loss of changes.
If we manually change a language translation after automatic translation, will this prevent it from being overridden in the future when we make further changes to the default language page?
Yes, manual changes made through WPML editors are saved in the translation memory and will not be overwritten by automatic translations unless you specifically choose to overwrite them.
Is there a difference if we make translation changes directly in the page using the block editor, the translation WPML option in the page settings, or translation management when sending it as a job?
Block Editor:
Direct changes made in the block editor do not synchronize with WPML’s translation memory, which can result in discrepancies.
WPML Settings:
Edits made in WPML’s page settings (via the translation options) are synchronized with the translation memory, ensuring consistency.
Translation Management (Jobs):
Sending translations as jobs ensures that all changes are tracked, logged in the memory, and accessible for future updates.
To summarize:
We strongly recommend using WPML editor (Advanced translations editor) for making all translation-related changes. This ensures proper synchronization, avoids issues caused by mixing editing methods, and maintains the integrity of the translation memory.