Specifico 1.0.9 works with WPML and Polylang. You keep one set of specification tables, groups, and mapping rules for the whole store, and translate the text shoppers see into each language.

Specifico translates two kinds of text in different ways:

  • Shared text comes from your specification tables and groups: group labels, attribute names, and default values. These are translated as strings, the same way WooCommerce handles attribute labels.
  • Per-product text is stored on the product: values you change while inheriting a mapped table, custom tables, and per-variation values. These are translated with the product, so each language can have its own values.

Specifico detects WPML or Polylang automatically. There is nothing to switch on.

Translate table and group strings

  1. Open the string translation screen of your multilingual plugin:
    • WPML: WPML → String Translation
    • Polylang: Languages → Translations
  2. Filter by the Specifico group (WPML calls it a domain or context).
  3. Enter a translation for each group label, attribute name, and default value.
  4. Save.

Specifico registers its strings when you open that screen, so the list always reflects your current tables and groups. After you add a group or rename an attribute, open the screen again and the new text appears.

Identical text shares one translation. If several groups use a label such as "Weight", you translate it once and every table uses the translation.

The Specifications tab title from Specifico → Settings is translatable too. Look for it with your plugin's other admin texts or option strings.

Translate a product's specifications

Translate the product with your multilingual plugin as usual, then open the translated product and edit its values in the Specification Settings panel. Values you enter there belong to that language only.

What stays the same across translations:

  • whether the Specifications tab is enabled on the product
  • whether the product inherits its mapped table or uses a custom table

What can differ per language:

  • values you override while inheriting a mapped table
  • the groups, labels, and values of a custom table
  • per-variation values on variable products

With WPML, these fields are set up for translation in the plugin's wpml-config.xml, which Polylang also reads.

Mapping rules in other languages

You don't need a separate mapping rule for each language. Create rules once, usually with categories, tags, or products in your default language. A translated product matches the same rule through its default-language counterpart, and translated categories and tags match the rule's original terms.

See Mapping rules for how rules are set up.

Variable products

Per-variation values carry over to a translated product's variations. Until you save values on the translation, its variations show the values from the original product, and the variation editor shows them under the translated variations. Once you save the translation's own values, those are used instead.

Automatic variation attribute rows come from WooCommerce, so they follow WooCommerce's own attribute translations rather than Specifico strings. See Variable products.

Changelog

Multilingual support was added in Specifico 1.0.9. See the Specifico changelog for the complete release notes.