Skip to main content

Translation Groups

Understand how WPML translation groups link source products to their translations.

What Are Translation Groups?​

Translation groups are unique IDs that link a source product to all its translations.

Example:

Product ID 123 (English)   → Group: woocommerce_product_123
Product ID 456 (Spanish) → Group: woocommerce_product_123
Product ID 789 (French) → Group: woocommerce_product_123

All three products share the same group, so WPML knows they're translations of each other.


Why They Matter​

Translation groups enable:

  • Language switcher: Clicking "Spanish" on English product takes you to Spanish version
  • Translation management: WPML admin shows which products have translations
  • Inventory sync: WPML can sync stock across translations (optional)
  • Relationship preservation: Deleting source product can optionally delete translations

Without correct groups: Translations appear as separate unrelated products.


How WooTUI Handles Groups​

When you translate with WooTUI:

  1. Reads translation group from source CSV (Meta: _wpml_import_translation_group)
  2. Preserves the group ID for all translated products
  3. Writes group to output CSV for each translation

Result: After import, WPML automatically links products correctly.

You don't need to manually edit translation groups!


Group Format​

Format: woocommerce_product_[ID]

Where [ID] is:

  • The source product's WordPress Post ID
  • OR a custom group ID you set

Examples:

  • woocommerce_product_123
  • woocommerce_product_789
Consistent Groups

All translations of a product must have the exact same translation group ID. WooTUI ensures this automatically.


Common Issues​

Translations Not Linked​

Problem: Spanish and French versions show as separate products, not translations

Cause: Translation group IDs don't match

Solution:

  1. Export products and check Meta: _wpml_import_translation_group column
  2. Ensure all translations of a product have identical group IDs
  3. Re-import if groups are mismatched

Source Product Missing​

Problem: Translation exists but source product deleted

Result: Translation becomes orphaned (no source)

Solution:

  1. Re-import source product
  2. Or delete orphaned translations via WPML → Translation Management

Group ID Changed Unexpectedly​

Problem: After re-import, products have different translation group IDs

Cause: WooCommerce assigned new Post IDs on import

Solution:

  • Always import with "Update existing products" enabled
  • Match by ID or SKU to preserve Post IDs
  • Don't manually edit group IDs unless necessary

When to Manually Edit Groups​

Rarely needed, but use cases include:

Merging Translation Groups​

If you accidentally created duplicate products:

  1. Open translated CSV
  2. Change group IDs to match the correct product
  3. Re-import

Creating Custom Groups​

For imported products from another system:

  1. Assign custom group IDs: woocommerce_product_custom_001
  2. Ensure all translations share the same custom ID

Verifying Translation Groups​

In CSV​

Open CSV and check:

ID,Name,Meta: _wpml_import_translation_group
123,T-Shirt,woocommerce_product_123
456,Camiseta,woocommerce_product_123
789,T-shirt,woocommerce_product_123

All three rows should have the same group ID.

In WordPress Admin​

  1. Go to WPML → WooCommerce Multilingual
  2. Find the source product
  3. Click translation flags to see linked translations
  4. All translations should be listed together

Best Practices​

1. Never Delete Translation Group Columns​

Always include these columns in your CSV:

  • Meta: _wpml_import_source_language_code
  • Meta: _wpml_import_language_code
  • Meta: _wpml_import_translation_group

Even if you don't translate them, WPML needs them for import.

2. Preserve Groups When Filtering​

If you export a subset of products:

  1. Ensure you include all translations of a product (not just source)
  2. Keep translation group column intact
  3. Don't split translations across multiple CSVs

3. Backup Before Group Changes​

If manually editing translation groups:

  1. Backup database first
  2. Test with 1-2 products
  3. Verify links work before doing full import

Next Steps​