PerfLocale 1.0.7.1
- Faster cart and checkout on shared-stock stores, Sync Fields that respects edit rights, Create in the Site Editor’s Translations panel, translated navigation overlays, a Site Health check for language packs, and many fixes
- Security hardening.
- Performance: on stores whose language copies share stock, the cart, checkout, add-to-cart and order stock checks store which variation of each language copy matches, so each check runs fewer database queries; saving a product without changing its attributes keeps those stored matches. Creating translations and machine translation run fewer database queries, saving a post that has no translations takes no lock, the Jobs page runs fewer queries, and pages make fewer internal cache calls.
- Sync Fields: Publish Date follows the default-language version, so saving or publishing a translation no longer moves the original's date, and a new translation starts with the original's date. A new translation also starts with the original's menu order and comment and pingback settings, so its first save no longer changes them on the original.
- Sync Fields: a change is copied only to the translations the person saving may edit; the edit screen, and the post list after a Bulk Edit, say how many were skipped. A skipped translation is marked Needs Update and copies none of its Sync Fields to the others until someone who may edit the original saves it; that save copies only the fields they changed. A translation whose own save could not reach the original is marked the same way. A scheduled post that WordPress publishes on its own copies with its author's rights.
- Site Editor: the Translations panel offers Create in each language that has no translation yet, for navigation menus, synced patterns and the templates and template parts saved in the Site Editor, and after creating a menu or pattern translation it reminds you to rename it in its language. The Navigation list shows each menu's language after its name.
- Site Editor: on WordPress 7.0 or newer, a Navigation overlay shows the translation of its template part, and of a menu, synced pattern or template part placed directly in it.
- Languages: Site Health lists active languages whose WordPress, theme or plugin language packs are missing, and the Languages screen shows a hint in that language's row for the packs that can be installed.
- Languages: the language switcher's texts ship translated into 13 languages on WordPress 6.6 or newer; a WordPress.org language pack for the plugin is used instead when one is installed.
- WooCommerce: new product translations get their product lookup row, on WooCommerce older than 10.8 too. On WooCommerce older than 10.8, translations created before this update need WooCommerce → Status → Tools → Product lookup tables → Regenerate to get theirs.
- Settings: stored machine translation API keys are not shown in the settings form. Leave a key field empty to keep the stored key, or type a new key to replace it.
- New filters: perflocale/woocommerce/stock_map_enabled, perflocale/woocommerce/stock_map_settle_seconds and perflocale/sync/scheduled_publish_user. perflocale/api/languages_public also applies to the list-languages ability.
- Fixed: embeds of a language's home page (for example /fi/); pagination overlapping the Strings and Translations tables on mid-size screens; the network Jobs overview and Site Health showing no background jobs; WooCommerce fields such as a SKU losing their backslashes on language copies.
- Fixed: saving a post or term passing its language, SEO exclusion or featured-image settings on to its translations; a new translation inheriting "Hide from hreflang and sitemap alternates" when that is not a Sync Field; a machine translation being retried, and the provider charged again, when the theme no longer had the stored page template; later translations getting no language after a plugin error during a translation create.
- Fixed: automatic exchange-rate updates running twice per interval; webhook deliveries queued by two requests at once being lost; webhook delivery failures and add-on errors recorded by two background runs at once being lost.
- Fixed: hreflang tags pointing to unpublished translations after switching back from another multilingual plugin; hreflang tags not updating when a translation was linked or its language changed outside a post save; translation links from before a change still being served on sites with a persistent object cache; renamed language slugs redirecting a live language's addresses or redirecting in a loop.
- Fixed: zero counts in the Dashboard's translation progress showing a dash; WP-CLI's JSON, CSV and YAML output printing a placeholder for an empty value.