{"id":2905,"date":"2025-02-11T13:27:26","date_gmt":"2025-02-11T13:27:26","guid":{"rendered":"https:\/\/s-o-s.net\/performant-translations\/"},"modified":"2025-02-11T13:27:26","modified_gmt":"2025-02-11T13:27:26","slug":"performant-translations","status":"publish","type":"post","link":"https:\/\/s-o-s.net\/en_gb\/performant-translations\/","title":{"rendered":"Performant Translations"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<article id=\"post-181176\" class=\"alignwide post-181176 plugin type-plugin status-publish hentry plugin_section-beta plugin_tags-i18n plugin_tags-internationalization plugin_tags-localization plugin_tags-performance plugin_tags-translation plugin_category-language-tools plugin_category-security-and-spam-protection plugin_contributors-dd32 plugin_contributors-swissspidy plugin_contributors-wordpressdotorg plugin_business_model-community plugin_committers-swissspidy plugin_support_reps-adamdunnage plugin_support_reps-jamesosborne\">\n<div class=\"plugin-banner\" id=\"plugin-banner-performant-translations\"><\/div>\n<header class=\"plugin-header\">\n<div class=\"entry-heading-container\">\n<div>\n<div class=\"entry-thumbnail\">\n\t\t\t\t\t<img decoding=\"async\" class=\"plugin-icon\" src=\"https:\/\/ps.w.org\/performant-translations\/assets\/icon.svg?rev=3098168\" alt=\"\">\t\t\t\t<\/div>\n<div>\n<h1 class=\"plugin-title\">Performant Translations<\/h1>\n<p>\t\t\t\t\t<span class=\"byline\">By <span class=\"author vcard\"><a target=\"_blank\" class=\"url fn n\" href=\"https:\/\/profiles.wordpress.org\/swissspidy\/\" rel=\"noopener\">Pascal Birchler<\/a><\/span><\/span>\n\t\t\t\t<\/div>\n<\/p><\/div>\n<div class=\"plugin-actions\">\n<div class=\"wp-block-button is-small plugin-download download-button\"><a target=\"_blank\" class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/downloads.wordpress.org\/plugin\/performant-translations.1.2.0.zip\" rel=\"noopener\">Download<\/a><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/header>\n<p><!-- .entry-header --><\/p>\n<p>\t<span id=\"description\"><\/span><br \/>\n\t<span id=\"reviews\"><\/span><br \/>\n\t<span id=\"installation\"><\/span><br \/>\n\t<span id=\"developers\"><\/span><br \/>\n\t<span id=\"advanced\" class=\"\"><\/span><br \/>\n\t<span id=\"section-links\"><\/p>\n<ul class=\"tabs clear\">\n<li id=\"tablink-description\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/performant-translations\/#description\" rel=\"noopener\">Details<\/a><\/li>\n<li id=\"tablink-reviews\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/performant-translations\/#reviews\" rel=\"noopener\">Reviews<\/a><\/li>\n<li id=\"tablink-installation\">\n\t\t\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/performant-translations\/#installation\" rel=\"noopener\">Installation<\/a>\n\t\t\t<\/li>\n<li id=\"tablink-developers\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/performant-translations\/#developers\" rel=\"noopener\">Development<\/a><\/li>\n<\/ul>\n<div id=\"link-support\">\n\t\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/performant-translations\/\" rel=\"noopener\">Support<\/a>\n\t\t<\/div>\n<p>\t<\/span><br \/>\n\t<script type=\"text\/javascript\">if ( '#changelog' == window.location.hash ) { window.setTimeout( function() { window.location.hash=\"#developers\"; }, 10 ); }<\/script><\/p>\n<div class=\"entry-content\">\n<div id=\"tab-description\" class=\"plugin-description section\">\n<h2 id=\"description-header\">Description<\/h2>\n<p>Making internationalization\/localization in WordPress faster than ever before.<\/p>\n<h3>Disclaimer about WordPress 6.5<\/h3>\n<p><strong>Attention:<\/strong> most functionality of this plugin has been merged into WordPress 6.5! You might not need it anymore.<\/p>\n<p><em>However<\/em>, this plugin is still relevant for cases where language packs are not downloaded from WordPress.org but somewhere else, for example if you are developing your own plugins or using commercial plugins.<\/p>\n<p>The Performant Translations plugin converts the translation files of those plugins to the new file format introduced in WordPress 6.5, to really optimize them for speed.<\/p>\n<h3>What this plugin does<\/h3>\n<p>This project uses a new approach to handle translation files in WordPress, making localization blazing fast.<\/p>\n<p>An <a target=\"_blank\" href=\"https:\/\/make.wordpress.org\/core\/2023\/07\/24\/i18n-performance-analysis\/\" rel=\"nofollow ugc noopener\">in-depth i18n performance analysis<\/a> showed that localized WordPress sites load significantly slower than a site without translations.<\/p>\n<p>With this plugin\u2019s new approach to localization, this overhead is massively reduced, making your site fast again. It does so by converting <code>.mo<\/code> translation files to <code>.php<\/code> files.<\/p>\n<p>If your site is using a language other than English (US), you should see immediate speed improvements simply by activating this plugin.<\/p>\n<\/div>\n<div id=\"screenshots\" class=\"plugin-screenshots section\">\n<h2 id=\"screenshots-header\">Screenshots<\/h2>\n<ul class=\"plugin-screenshots\">\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/performant-translations\/assets\/screenshot-1.png?rev=2960154\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/performant-translations\/assets\/screenshot-1.png?rev=2960154\" alt=\"\"><\/a><figcaption>Chart showing the load time improvement achieved with this plugin.<\/figcaption><\/figure>\n<\/li>\n<\/ul>\n<\/div>\n<div id=\"tab-installation\" class=\"plugin-installation section\">\n<h2 id=\"installation-header\">Installation<\/h2>\n<h4>Installation from within WordPress<\/h4>\n<ol>\n<li>Visit <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Search for <strong>Performant Translations<\/strong>.<\/li>\n<li>Install and activate the Performant Translations plugin.<\/li>\n<\/ol>\n<h4>Manual installation<\/h4>\n<ol>\n<li>Upload the entire <code>performant-translations<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Visit <strong>Plugins<\/strong>.<\/li>\n<li>Activate the Performant Translations plugin.<\/li>\n<\/ol>\n<\/div>\n<div id=\"faq\" class=\"plugin-faq section\">\n<h2 id=\"faq-header\">FAQ<\/h2>\n<dl>\n<dt id=\"what%20makes%20this%20plugin%20so%20fast%3F\">\n<h3>What makes this plugin so fast?<\/h3>\n<\/dt>\n<dd>\n<p>By converting <code>.mo<\/code> files to <code>.php<\/code> files, the translations can be parsed much faster.<br \/>\nPlus, <code>.php<\/code> files can be stored in the so-called <a target=\"_blank\" href=\"https:\/\/www.php.net\/manual\/en\/book.opcache.php\" rel=\"nofollow ugc noopener\">OPcache<\/a>, which provides an additional speed boost.<\/p>\n<\/dd>\n<dt id=\"can%20i%20use%20this%20plugin%20on%20my%20production%20site%3F\">\n<h3>Can I use this plugin on my production site?<\/h3>\n<\/dt>\n<dd>\n<p>While the plugin is mostly considered to be a beta testing plugin, it has been tested and established to a degree where it should be okay to use in production.<br \/>\nStill, as with every plugin, you are doing so at your own risk.<\/p>\n<\/dd>\n<dt id=\"has%20this%20plugin%20been%20tested%20with%20other%20multilingual%20plugins%3F\">\n<h3>Has this plugin been tested with other multilingual plugins?<\/h3>\n<\/dt>\n<dd>\n<p>Yes. This plugin has been tested with common multilingual plugins, such as WPML, Weglot, TranslatePress, MultilingualPress, and Polylang.<br \/>\nIf you still encounter issues, please let us know.<\/p>\n<\/dd>\n<dt id=\"do%20i%20need%20to%20do%20anything%20special%20to%20enable%20this%20plugin%3F\">\n<h3>Do I need to do anything special to enable this plugin?<\/h3>\n<\/dt>\n<dd>\n<p>No. Once the plugin is activated, it just works, and you should see speed improvements right away. If you run into issues, please open a new support topic.<\/p>\n<\/dd>\n<dt id=\"can%20i%20safely%20remove%20this%20plugin%20after%20installation%3F\">\n<h3>Can I safely remove this plugin after installation?<\/h3>\n<\/dt>\n<dd>\n<p>Yes. Once you deactivate and uninstall the plugin, all <code>.php<\/code> files generated by it will be removed from the server.<\/p>\n<\/dd>\n<dt id=\"how%20can%20i%20contribute%20to%20the%20plugin%3F\">\n<h3>How can I contribute to the plugin?<\/h3>\n<\/dt>\n<dd>\n<p>Contributions are always welcome! Learn more about how to get involved in the <a target=\"_blank\" href=\"https:\/\/make.wordpress.org\/performance\/handbook\/get-involved\/\" rel=\"nofollow ugc noopener\">Core Performance Team Handbook<\/a>.<\/p>\n<\/dd>\n<dt id=\"where%20can%20i%20submit%20my%20plugin%20feedback%3F\">\n<h3>Where can I submit my plugin feedback?<\/h3>\n<\/dt>\n<dd>\n<p>If you have suggestions or requests for new features, you can submit them as an issue on the <a target=\"_blank\" href=\"https:\/\/github.com\/swissspidy\/performant-translations\" rel=\"nofollow ugc noopener\">GitHub repository<\/a>.<\/p>\n<p>If you need help with troubleshooting or have a question about the plugin, please <a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/performant-translations\/#new-topic-0\" rel=\"ugc noopener\">create a new topic on our support forum<\/a>.<\/p>\n<\/dd>\n<dt id=\"where%20can%20i%20report%20security%20issues%3F\">\n<h3>Where can I report security issues?<\/h3>\n<\/dt>\n<dd>\n<p>To report a security issue, please visit the <a target=\"_blank\" href=\"https:\/\/hackerone.com\/wordpress\" rel=\"nofollow ugc noopener\">WordPress HackerOne<\/a> program.<\/p>\n<\/dd>\n<\/dl>\n<\/div>\n<div id=\"tab-reviews\" class=\"plugin-reviews section\">\n<h2 id=\"reviews-header\">Reviews<\/h2>\n<div class=\"plugin-reviews\">\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/f8fad84d6be990df04f3e6a57a6bb01e0ca7ec4541fe4b3af7c031159a9d5600?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/f8fad84d6be990df04f3e6a57a6bb01e0ca7ec4541fe4b3af7c031159a9d5600?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/this-plugin-saved-me-hundreds-of-dollars\/\" rel=\"noopener\">This plugin saved me hundreds of dollars<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/magneetjeswinkel\/\" title=\"Posts by magneetjeswinkel\" rel=\"author noopener\">magneetjeswinkel<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">April 11, 2024<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">What this plugin does is amazing! There were some issues that made my website slow. The website achieved a mobile page speed of 52. Blocked display for more than 10 seconds. I don\u2019t have the technical knowledge to fix this in the code. This would have cost me around $600. I found this plugin and all errors were removed from the website with one click. I am incredibly happy with the result. And that with a free plugin! I knew it should be possible. Because I am so happy, I take the paid subscription! Thank you very much!<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/fc767c2ddea53405c2948351b99ad961593040b359b931ee9b92856cdae9ec48?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/fc767c2ddea53405c2948351b99ad961593040b359b931ee9b92856cdae9ec48?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/you-feel-the-difference\/\" rel=\"noopener\">You feel the difference<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/jeroenrotty\/\" title=\"Posts by Jeroen Rotty\" rel=\"author noopener\">Jeroen Rotty<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">January 21, 2024<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">Browsing the dashboard feels instant snappier, even if your hosting is already fast and performant \u2013 it still makes a difference!<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/2ac90f17873e6f228e8daf092df27a3f3c90951bd5aaef58ffc238f781e2d49a?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/2ac90f17873e6f228e8daf092df27a3f3c90951bd5aaef58ffc238f781e2d49a?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/cool-1283\/\" rel=\"noopener\">Cool<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/benniledl\/\" title=\"Posts by Benedikt Ledl\" rel=\"author noopener\">Benedikt Ledl<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">January 16, 2024<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">I\u2019ve got a multi language site (with WPML) that has a huge performance problem. I was not able to figure out what is actually causing the performance problem, the main problem probably has nothing to do with i18n, this plugin still helps cause it significantely speeds up the translations, leaving the only bottleneck to be the unknown problem.<\/p>\n<p>Many thanks for your efforts!<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/f4a6c756fa19ae1b74bf72254fd2871d72db753de78efe4bf832936e4f52bef3?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/f4a6c756fa19ae1b74bf72254fd2871d72db753de78efe4bf832936e4f52bef3?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/faster-wp-admin\/\" rel=\"noopener\">Faster wp-admin<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/juregolob\/\" title=\"Posts by juregolob\" rel=\"author noopener\">juregolob<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">November 23, 2023<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">I tried this plugin on a couple of websites and I believe it makes my admin user experience a bit faster. Cached front end is fast as ever.<\/p>\n<p>It works great with Polylang, WooCommerce and Loco Translate. I like where this is going and I hope it gets implemented into the WP Core soon.<\/p>\n<p>Update:Duplicator (Pro) throws a runtime error when trying to make a backup while this plugin is activated. Temporarily disabling it solves the issue.<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/12419e2fbba58d7888e1b463f9a4e23081de378f760c0995cac159bbb9b2c48f?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/12419e2fbba58d7888e1b463f9a4e23081de378f760c0995cac159bbb9b2c48f?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/required-for-non-english-speaking-wps\/\" rel=\"noopener\">Required for non-English speaking WPs<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/cck23\/\" title=\"Posts by cck23\" rel=\"author noopener\">cck23<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">October 24, 2023<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">This problem has been around for a long time and I\u2019ve used various plugins. I hope it will be added to the core soon!<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/0b62641e64017fcfad17262c1f2f6d64eb89bc075ba90169eb0a865c8d52d7c2?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/0b62641e64017fcfad17262c1f2f6d64eb89bc075ba90169eb0a865c8d52d7c2?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url broken_link\" href=\"https:\/\/wordpress.org\/support\/topic\/it-does-what-it-promises-27\/\" rel=\"noopener\">It does what it promises<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/betterwithagency\/\" title=\"Posts by bw\/a\" rel=\"author noopener\">bw\/a<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">October 23, 2023<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">My clients websites usually non-English, this extension makes faster their websites. I\u2019m really greatful for this improvements.<\/div>\n<\/p><\/div>\n<\/article><\/div>\n<p>\t\t<a target=\"_blank\" class=\"reviews-link\" href=\"https:\/\/wordpress.org\/support\/plugin\/performant-translations\/reviews\/\" rel=\"noopener\"><br \/>\n\t\t\tRead all 16 reviews\t\t<\/a><\/div>\n<div id=\"tab-developers\" class=\"plugin-developers section\">\n<h2 id=\"developers-header\">Contributors &amp; Developers<\/h2>\n<div class=\"plugin-contributors\">\n<p>\u201cPerformant Translations\u201d is open source software. The following people have contributed to this plugin.<\/p>\n<p><span class=\"screen-reader-text\">Contributors<\/span><\/p>\n<ul id=\"contributors-list\" class=\"contributors-list\">\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/swissspidy\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tPascal Birchler\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/62ed6669556644a294591975f01137cd76ea6d1dcd8bf8b3328c1e2bf6e2a80d?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/62ed6669556644a294591975f01137cd76ea6d1dcd8bf8b3328c1e2bf6e2a80d?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/dd32\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tDion Hulse\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/178f40079143ff7464125e4fbc88e62024a16442920a6a3d6dfa3d7e626be20d?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/178f40079143ff7464125e4fbc88e62024a16442920a6a3d6dfa3d7e626be20d?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/wordpressdotorg\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tWordPress.org\t\t\t\t<\/a>\n\t\t\t<\/li>\n<\/ul><\/div>\n<div class=\"plugin-development\">\n<p>\u201cPerformant Translations\u201d has been translated into 22 locales. Thank you to <a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/performant-translations\/contributors\" rel=\"noopener\">the translators<\/a> for their contributions.<\/p>\n<p><a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/performant-translations\" rel=\"noopener\">Translate \u201cPerformant Translations\u201d into your language.<\/a><\/p>\n<h3>Interested in development?<\/h3>\n<p><a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/browser\/performant-translations\/\" rel=\"noopener\" class=\"broken_link\">Browse the code<\/a>, check out the <a target=\"_blank\" href=\"https:\/\/plugins.svn.wordpress.org\/performant-translations\/\" rel=\"noopener\">SVN repository<\/a>, or subscribe to the <a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/log\/performant-translations\/\" rel=\"noopener\" class=\"broken_link\">development log<\/a> by <a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/log\/performant-translations\/?limit=100&amp;mode=stop_on_copy&amp;format=rss\" rel=\"noopener\" class=\"broken_link\">RSS<\/a>.<\/p>\n<\/div>\n<\/div>\n<div id=\"tab-changelog\" class=\"plugin-changelog section\">\n<h2 id=\"changelog-header\">Changelog<\/h2>\n<p>For the plugin\u2019s full changelog, please see <a target=\"_blank\" href=\"https:\/\/github.com\/swissspidy\/performant-translations\/releases\" rel=\"nofollow ugc noopener\">the Releases page on GitHub<\/a>.<\/p>\n<h4>1.2.0<\/h4>\n<ul>\n<li>This plugin now requires WordPress 6.5<\/li>\n<\/ul>\n<h4>1.1.2<\/h4>\n<ul>\n<li>Fixed a minor regression when assembling file paths to look up.<\/li>\n<\/ul>\n<h4>1.1.1<\/h4>\n<ul>\n<li>Fixed: Addressed a slight performance regression in 1.1.0.<\/li>\n<li>Fixed: Addressed an issue with incorrect plural forms for certain locales.<\/li>\n<\/ul>\n<h4>1.1.0<\/h4>\n<ul>\n<li>Enhancement: Support for this functionality existing in WordPress 6.5.<\/li>\n<li>Enhancement: Added hardening for file paths not being strings because of a faulty plugin filter.<\/li>\n<li>Enhancement: Invalidate OPcache after writing PHP files.<\/li>\n<li>Enhancement: Improve compatibility with pluralized strings referenced as singulars.<\/li>\n<\/ul>\n<h4>1.0.9<\/h4>\n<ul>\n<li>Enhancement: Improved compatibility with WPML string translation add-on.<\/li>\n<\/ul>\n<h4>1.0.8<\/h4>\n<ul>\n<li>Fixed: Added workaround for potential file permission issues.<\/li>\n<\/ul>\n<h4>1.0.7<\/h4>\n<ul>\n<li>Fixed: Prevent issue where not all core translations were updated.<\/li>\n<li>Enhancement: Change the order translations are loaded in to improve backward compatibility.<\/li>\n<\/ul>\n<h4>1.0.6<\/h4>\n<ul>\n<li>Enhancement: Remove JSON file support.<\/li>\n<li>Fixed: Add hardening when using translation file paths with symlinks.<\/li>\n<\/ul>\n<h4>1.0.5<\/h4>\n<ul>\n<li>Enhancement: Improved compatibility with Loco Translate to avoid duplicate files.<\/li>\n<\/ul>\n<h4>1.0.4<\/h4>\n<ul>\n<li>Enhancement: Several minor performance improvements.<\/li>\n<li>Enhancement: Use different file extension (<code>.mo.php<\/code> instead of just <code>.php<\/code>) to prevent conflicts.<\/li>\n<li>Enhancement: \u201cImport\u201d existing translation file if one is already loaded for a text domain.<\/li>\n<li>Enhancement: Use WP Filesystem API if available.<\/li>\n<\/ul>\n<h4>1.0.3<\/h4>\n<ul>\n<li>Enhancement: Improved compatibility with Query Monitor\u2019s developer tools panel.<\/li>\n<li>Enhancement: Added new <code>performant_translations_load_translation_file<\/code> filter.<\/li>\n<li>Enhancement: Enforce network-only activation on Multisite.<\/li>\n<\/ul>\n<h4>1.0.2<\/h4>\n<ul>\n<li>Fixed: Add hardening for invalid values being passed to translation functions.<\/li>\n<\/ul>\n<h4>1.0.1<\/h4>\n<ul>\n<li>Enhancement: Regenerate translation files when Loco Translate updates MO files.<\/li>\n<li>Fixed: Add hardening for invalid context being passed.<\/li>\n<li>Fixed: Fix handling of locales without plurals, such as Persian.<\/li>\n<\/ul>\n<h4>1.0.0<\/h4>\n<ul>\n<li>Initial release.<\/li>\n<\/ul>\n<\/div><\/div>\n<p><!-- .entry-content --><\/p>\n<p>\t<!-- .entry-meta --><br \/>\n<\/article>\n<p><br \/>\n<br \/><a href=\"https:\/\/wordpress.org\/plugins\/performant-translations\/\">Source link <\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Performant Translations By Pascal Birchler Download Details Reviews Installation Development Support Description Making internationalization\/localization in WordPress faster than ever before. Disclaimer about WordPress 6.5 Attention: most functionality of this plugin has been merged into WordPress 6.5! You might not need it anymore. However, this plugin is still relevant for cases where language packs are not [&hellip;]<\/p>","protected":false},"author":9,"featured_media":2906,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"give_campaign_id":0,"footnotes":""},"categories":[41,39,40],"tags":[1945,1946],"class_list":["post-2905","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-beta-plugin","category-lite-version","category-wp-plugin-solution","tag-performant","tag-translations"],"acf":[],"fifu_image_url":"https:\/\/ps.w.org\/performant-translations\/assets\/banner-772x250.png?rev=3103384","_links":{"self":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/2905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/comments?post=2905"}],"version-history":[{"count":2,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/2905\/revisions"}],"predecessor-version":[{"id":2915,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/2905\/revisions\/2915"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/media\/2906"}],"wp:attachment":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/media?parent=2905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/categories?post=2905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/tags?post=2905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}