Organizing Category Mappings for Multilingual Feeds
When your WooCommerce store uses WPML, Deviking Product Feeds Pro can generate separate product feeds for each language.
Each feed can have its own language, filename, mapping, filters and category configuration. This makes it possible to create independent feeds for different countries or languages without changing the underlying WooCommerce catalog.
How Multilingual Feed Generation Works
When WPML is active, the feed editor displays the:
Feed Language
setting.
You can select a specific language for each feed.
For example:
Google Shopping - English
Feed Language: English
Filename: products-en.xmlGoogle Shopping - Greek
Feed Language: Greek
Filename: products-el.xmlDuring generation, Deviking Product Feeds switches to the selected WPML language before resolving products, titles, descriptions, categories and other language-aware values. The previous language context is restored when generation finishes.
This behavior applies to both manual and scheduled generation.
Create One Feed for Each Language
For multilingual stores, the simplest structure is to maintain a separate feed for every language.
For example:
Google Shopping - English
Google Shopping - Greek
Google Shopping - GermanYou do not need to build every feed from scratch.
Create the first feed, then use Duplicate to create the additional language versions.
A typical workflow is:
Products English
→ Feed Language: English
→ products-en.xml
Products Greek
→ Feed Language: Greek
→ products-el.xml
Products German
→ Feed Language: German
→ products-de.xmlDeviking’s documented multilingual workflow follows this one-feed-per-language model.
Categories Follow the Feed Language
The built-in category sources are language-aware when WPML is used.
For example, the same category may appear as:
English:
Clothing > Shoes > Running Shoesand:
Greek:
Ρούχα > Παπούτσια > Παπούτσια ΤρεξίματοςBecause the feed language is selected before WooCommerce data is resolved, translated categories are retrieved within the selected WPML language context.
This applies to category sources such as:
Parent Category
Child Category
Category PathWhen Do You Need Separate Category Mappings?
If you simply want the translated WooCommerce category names in each feed, you may not need an external Category Mapping at all.
For example:
English Feed
Running Shoesand:
Greek Feed
Παπούτσια Τρεξίματοςcan use the normal WooCommerce category sources.
However, if the destination requires a different category taxonomy, category ID or marketplace-specific value, use Category Mapping.
For multilingual feeds, separate Category Mappings are useful when each language feed needs a different exported category value.
Example with Different Mappings per Language
Assume your WooCommerce store contains translated categories:
English:
Running Shoes
Greek:
Παπούτσια ΤρεξίματοςThe English destination requires:
Apparel & Accessories > Shoes > Athletic Shoeswhile the Greek destination requires:
Αθλητικά Είδη > Υποδήματα > ΤρέξιμοYou can create:
Category Mapping:
Google Categories - Englishand:
Category Mapping:
Google Categories - GreekThen assign each mapping to its corresponding feed.
Create the First Category Mapping
Go to:
Deviking Feeds → Category Mapping
Create a descriptive mapping name, for example:
Marketplace Categories - EnglishEnter the external category values required by the destination.
For example:
| WooCommerce Category | External Category |
|---|---|
| Running Shoes | Apparel & Accessories > Shoes > Athletic Shoes |
| Smartphones | Electronics > Communications > Mobile Phones |
| Office Chairs | Furniture > Office Furniture > Office Chairs |
Save the mapping and assign it to the English feed.
Create the Mapping for Another Language
Create another Category Mapping for the second language.
For example:
Marketplace Categories - GreekThen configure the values required by the Greek feed.
Example:
| WooCommerce Category | External Category |
|---|---|
| Παπούτσια Τρεξίματος | Αθλητικά Είδη > Υποδήματα > Τρέξιμο |
| Smartphones | Ηλεκτρονικά > Κινητά Τηλέφωνα |
| Καρέκλες Γραφείου | Έπιπλα > Έπιπλα Γραφείου > Καρέκλες |
Assign this mapping to the Greek feed.
Assign Category Maps to Feeds
A Category Mapping can be:
- left unassigned;
- assigned to one feed;
- assigned to multiple feeds.
However, each individual feed can have only one active Category Mapping at a time. Assigning that feed to another map replaces its previous category-map assignment.
For example:
Google EN
→ Google Categories - English
Google EL
→ Google Categories - Greek
Google DE
→ Google Categories - GermanThis keeps every language configuration independent.
Reusing the Same Mapping
You do not necessarily need a separate Category Mapping for every feed.
If several feeds should output exactly the same external taxonomy, one map can be assigned to multiple feeds.
For example:
Google XML - English
Google CSV - English
Google Backup Feed - Englishcould all use:
Google Categories - EnglishThis avoids maintaining duplicate mappings unnecessarily.
Category Mapping and Built-in Category Sources
Once a Category Mapping is assigned to a feed, the built-in category sources:
Parent Category
Child Category
Category Pathautomatically use the mapped category values for that feed.
For example:
WooCommerce category:
Running ShoesMapped value:
Apparel & Accessories > Shoes > Athletic ShoesUsing:
Source: Child Categoryor an appropriate mapped category source allows the generated feed to output the external taxonomy rather than changing your WooCommerce category itself.
Category Path in Multilingual Feeds
If you use Category Path, each feed also has its own separator configuration.
The default separator is:
> For example:
Clothing > Men > T-ShirtsYou can change it to something such as:
/ resulting in:
Clothing / Men / T-ShirtsSpaces and characters are preserved exactly.
Handling Unmapped Categories
Every Category Mapping can define what should happen when a category does not have a mapped value.
Available fallback behaviors are:
Use original WooCommerce category name
Running ShoesReturn empty value
No category value is returned.
Use static fallback value
For example:
Otheror an external ID:
9999This is particularly useful on multilingual stores where some translated categories may not yet have been mapped.
Example Multilingual Setup
A store using English, Greek and German could use:
FEEDS
Google Shopping - English
Language: English
Filename: google-en.xml
Category Map: Google Categories - English
Google Shopping - Greek
Language: Greek
Filename: google-el.xml
Category Map: Google Categories - Greek
Google Shopping - German
Language: German
Filename: google-de.xml
Category Map: Google Categories - GermanEach feed can then generate its own translated:
Title
Description
Categories
Product URLs
Attributeswhile also using the external category taxonomy assigned specifically to that feed.
Duplicate a Feed for Another Language
When the structure is otherwise identical, duplicating the existing feed is usually the fastest workflow.
For example:
Google Shopping - EnglishDuplicate it and change:
Feed Name:
Google Shopping - Greek
Feed Language:
Greek
Filename:
google-elThen assign the appropriate Greek Category Mapping.
The remaining mapping, filtering, XML/CSV and output configuration can remain the same where appropriate.
Scheduled Multilingual Feeds
The selected Feed Language also applies to automatic generation.
This means:
google-en.xmlcontinues generating in English and:
google-el.xmlcontinues generating in Greek even when the scheduled job runs without an administrator logged into WordPress.
Deviking switches to the saved feed language for the generation process rather than relying on whichever language happens to be active in WordPress Admin.
Preview Each Language Separately
Before generating the final feeds, preview each language version individually.
Check that:
- product titles are in the correct language;
- descriptions are translated;
- category names are correct;
- Category Mapping returns the intended external values;
- Product URLs correspond to the correct language;
- attributes contain the expected translations;
- unmapped categories use the intended fallback.
Then generate each feed separately.
Recommended Multilingual Structure
For a multilingual store, a clean setup is:
One feed
+
One Feed Language
+
One language-specific filename
+
One appropriate Category MappingFor example:
English Feed
→ English
→ products-en.xml
→ Categories EN
Greek Feed
→ Greek
→ products-el.xml
→ Categories EL
German Feed
→ German
→ products-de.xml
→ Categories DEThis keeps each language feed independent and makes multilingual category management much easier to maintain.