POM Translate compatibility

Fenómenus integrates with POM Translate in three places. This page documents the integration points and the assumptions behind them.

Language enablement

The setup assistant reads the available languages and the currently enabled ones, and writes the selection back. The set offered is:

es_ES, ca, eu, gl_ES, en_US, de_DE, fr_FR, ru_RU

Each is enabled or disabled individually, and the site's own locale is excluded from the selectable list because it is the source.

The integration is guarded: when POM Translate is not active, the language section of the setup step is not rendered and nothing is written.

QR generation

When POM Translate is active and Polylang is not, the generator resolves the base URLs once and then localises them per configured language, producing one group per language.

With Polylang active, URLs are resolved natively per language instead.

With neither, a single default group is produced.

Editorial permissions

Fenómenus creates the restricted Basic profile for staff who only edit menus. Because that profile removes broad areas of the administration, the plugin grants those users the capabilities needed to manage content translations and their slugs — but only when the account:

  • has the Basic profile flag for the current site;
  • already holds a post or page editing capability.

The rationale is ownership: Fenómenus creates the restricted profile, so Fenómenus keeps it compatible with POM Translate rather than making POM Translate depend on Fenómenus metadata.

The profile flag

The Basic profile is stored per user, and per site on multisite. Integrations should read it rather than assuming a role, because it is a flag on top of whatever role the user has.

Item-level translation

The per-item translation panel — language tabs, translated titles and fields, and the AI translation action — is provided when Polylang's functions are available. On a site using POM Translate without those functions, language enablement and QR grouping work, and the per-item panel is not rendered.

Check for the specific capability you need rather than for a product name.

Guarding integration code

if ( function_exists( 'pom_translate_get_enabled_languages' ) ) {
    $locales = (array) pom_translate_get_enabled_languages();
}

Every integration point in the product is guarded this way, and custom code should be too. Both layers are optional, and a Fenómenus site is fully functional with neither.

What is not integrated

  • Fenómenus does not register strings on POM Translate's behalf beyond the labels it owns.
  • It does not translate content automatically on save.
  • It does not synchronise translations of shared facts through POM Translate; prices, allergens and order are aligned by Fenómenus itself.