Knowledge Base
Deviking Product feeds Pro

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.xml
 
 
Google Shopping - Greek
Feed Language: Greek
Filename: products-el.xml
 

During 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 - German
 

You 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.xml
 

Deviking’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 Shoes
 

and:

 
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 Path
 

When 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 Shoes
 

and:

 
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 Shoes
 

while the Greek destination requires:

 
Αθλητικά Είδη > Υποδήματα > Τρέξιμο
 

You can create:

 
Category Mapping:
Google Categories - English
 

and:

 
Category Mapping:
Google Categories - Greek
 

Then 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 - English
 

Enter the external category values required by the destination.

For example:

WooCommerce CategoryExternal Category
Running ShoesApparel & Accessories > Shoes > Athletic Shoes
SmartphonesElectronics > Communications > Mobile Phones
Office ChairsFurniture > 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 - Greek
 

Then configure the values required by the Greek feed.

Example:

WooCommerce CategoryExternal 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 - German
 

This 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 - English
 

could all use:

 
Google Categories - English
 

This 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 Path
 

automatically use the mapped category values for that feed.

For example:

WooCommerce category:

 
Running Shoes
 

Mapped value:

 
Apparel & Accessories > Shoes > Athletic Shoes
 

Using:

 
Source: Child Category
 

or 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-Shirts
 

You can change it to something such as:

 
 / 
 

resulting in:

 
Clothing / Men / T-Shirts
 

Spaces 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 Shoes
 

Return empty value

No category value is returned.

Use static fallback value

For example:

 
Other
 

or an external ID:

 
9999
 

This 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 - German
 

Each feed can then generate its own translated:

 
Title
Description
Categories
Product URLs
Attributes
 

while 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 - English
 

Duplicate it and change:

 
Feed Name:
Google Shopping - Greek

Feed Language:
Greek

Filename:
google-el
 

Then 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.xml
 

continues generating in English and:

 
google-el.xml
 

continues 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 Mapping
 

For example:

 
English Feed
→ English
→ products-en.xml
→ Categories EN

Greek Feed
→ Greek
→ products-el.xml
→ Categories EL

German Feed
→ German
→ products-de.xml
→ Categories DE
 

This keeps each language feed independent and makes multilingual category management much easier to maintain.