TranslatePress - Multilingual 3.1

Does TranslatePress - Multilingual work with WordPress 6.9.1 and PHP 8.1.12? A smoke test was performed on .

Summary

Errors
1PHP notices
5Database errors
1Unrecognized messages in the PHP error log
No JavaScript exceptions
All test pages loaded successfully
No resource errors
Performance

Memory usage: 1 MiB
The average PHP memory usage increased by this amount after activating by the plugin.

Page speed impact: 0.027 seconds
The average page load time increased by this amount after activating the plugin.

Environment
WordPress version6.9.1
PHP version8.1.12
MySQL version10.6.10
PHP memory limit512M
Plugin Info
Last updated
Active installs 400,000+
WordPress.org page https://wordpress.org/plugins/translatepress-multilingual/
Badges

WordPress compatibility badge PHP compatibility badge

Get badge code

Pages 3

Setup Wizard ‹ Test site — WordPress

Page screenshot: Setup Wizard ‹ Test site — WordPress
URL /wp-admin/admin.php?page=trp-onboarding&step=welcome
Requested URL /wp-admin/plugins.php?action=activate&plugin=translatepress-multilingual%2Findex.php&plugin_status=all&paged=1&s&_wpnonce=f823c669f2
Aspect after-activation
HTTP status 200
Load time 0.951 s
Memory usage 4.71 MiB
JS errors None
Resource errors None

Settings → TranslatePress

Page screenshot: Settings → TranslatePress
URL /wp-admin/admin.php?page=trp_optin_page
Requested URL /wp-admin/options-general.php?page=translate-press
Aspect menu-item
HTTP status 200
Load time 0.715 s
Memory usage 4.68 MiB
JS errors None
Resource errors None

Test site – Just another WordPress site

Page screenshot: Test site – Just another WordPress site
URL /
Aspect front-page
HTTP status 200
Load time 0.305 s
Memory usage 5.17 MiB
JS errors None
Resource errors None

Benchmark

URL Load time Memory usage
Inactive Active Change Inactive Active Change
/wp-admin/index.php0.416 s0.367 s-0.049 s3.78 MiB4.83 MiB+ 1.05 MiB
/wp-admin/edit.php0.367 s0.327 s-0.040 s3.78 MiB4.81 MiB+ 1.03 MiB
/wp-admin/post-new.php0.855 s1.249 s+0.394 s6.31 MiB7.34 MiB+ 1.04 MiB
/wp-admin/upload.php0.618 s0.496 s-0.122 s3.74 MiB4.71 MiB+ 993.52 KiB
/wp-admin/options-writing.php0.326 s0.311 s-0.015 s3.71 MiB4.67 MiB+ 984.03 KiB
/wp-admin/media-new.php0.491 s0.320 s-0.171 s3.7 MiB4.67 MiB+ 992.19 KiB
/wp-admin/edit-tags.php?taxonomy=category0.466 s0.315 s-0.151 s3.72 MiB4.7 MiB+ 1003.09 KiB
/wp-admin/post-new.php?post_type=page0.694 s0.856 s+0.162 s6.3 MiB7.33 MiB+ 1.03 MiB
/wp-admin/options-discussion.php0.343 s0.687 s+0.344 s3.71 MiB4.67 MiB+ 980.53 KiB
/wp-admin/edit-comments.php0.325 s0.337 s+0.012 s3.74 MiB4.7 MiB+ 985.53 KiB
/0.284 s0.218 s-0.066 s4.11 MiB5.19 MiB+ 1.09 MiB
Average 0.471 s0.498 s+0.027 s4.24 MiB5.24 MiB+ 1 MiB

Code Statistics

Note: Third-party libraries and minified JS/CSS files are excluded from these statistics where possible, so the numbers you see here may be lower than those reported by other tools.

PHP
SVG
CSS
Language % Lines of code Comment lines Files
PHP62.1%27,3167,168125
SVG22.8%10,0151228
CSS9.8%4,32414412
JavaScript4.8%2,09228118
Markdown0.3%11802
JSX0.2%7301
JSON0.1%3301
Total 43,971 7,594 387

PHP Code Analysis | More results »

Lines of code 24,611
Total complexity 6,393
Median class complexity 39.5
Median method complexity 3.0
Most complex class TRP_Translation_Render
Most complex function TRP_Translation_Render::translate_page()
Classes 70
Methods 906
Functions 337

Additions

Things that the plugin adds to the site. This section is not intended to be comprehensive. The test tool only looks for a few specific types of added content.

Database Tables 3

Options wp_options 6

User Metadata wp_usermeta 1

Custom Post Types 1

ID Name
language_switcherLanguage Switcher

PHP Error Log 23 lines

[04-Mar-2026 13:29:59 UTC] Invalid trp_settings: "not_set"
[04-Mar-2026 13:29:59 UTC] WordPress database error Table 'wp_trp_gettext_en_us' already exists for query CREATE TABLE `wp_trp_gettext_en_us`(
                                    id bigint(20) AUTO_INCREMENT NOT NULL PRIMARY KEY,
                                    original  longtext NOT NULL,
                                    translated  longtext,
                                    domain  longtext,
                                    status int(20),
                                    original_id bigint(20),
                                    plural_form int(20),
                                    UNIQUE KEY id (id) )
                                     DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci made by require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, TRP_Upgrade->check_for_necessary_updates, TRP_Upgrade->check_if_gettext_tables_exist, TRP_Gettext_Table_Creation->check_gettext_table, dbDelta
[04-Mar-2026 13:29:59 UTC] PHP Notice:  Function _load_textdomain_just_in_time was called <strong>incorrectly</strong>. Translation loading for the <code>translatepress-multilingual</code> domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the <code>init</code> action or later. Please see <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/">Debugging in WordPress</a> for more information. (This message was added in version 6.7.0.) in /wp-includes/functions.php on line 6131
[04-Mar-2026 13:29:59 UTC] WordPress database error Duplicate key name 'index_name' for query CREATE INDEX index_name ON `wp_trp_gettext_en_us` (original(100)); made by require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, TRP_Upgrade->check_for_necessary_updates, TRP_Upgrade->check_if_gettext_tables_exist, TRP_Gettext_Table_Creation->check_gettext_table
[04-Mar-2026 13:29:59 UTC] WordPress database error Duplicate key name 'original_fulltext' for query CREATE FULLTEXT INDEX original_fulltext ON `wp_trp_gettext_en_us`(original); made by require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, TRP_Upgrade->check_for_necessary_updates, TRP_Upgrade->check_if_gettext_tables_exist, TRP_Gettext_Table_Creation->check_gettext_table
[04-Mar-2026 13:29:59 UTC] WordPress database error Table 'wp_trp_gettext_original_strings' already exists for query CREATE TABLE `wp_trp_gettext_original_strings`(
                                    id bigint(20) AUTO_INCREMENT NOT NULL PRIMARY KEY,
                                    original TEXT NOT NULL,
                                    domain TEXT NOT NULL,
                                    context TEXT DEFAULT NULL, 
                                    original_plural TEXT DEFAULT NULL 
                                    )
                                     DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci made by require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, TRP_Upgrade->check_for_necessary_updates, TRP_Upgrade->check_if_gettext_tables_exist, TRP_Gettext_Table_Creation->check_gettext_original_table, dbDelta
[04-Mar-2026 13:29:59 UTC] WordPress database error Duplicate key name 'gettext_index_original' for query CREATE INDEX gettext_index_original ON `wp_trp_gettext_original_strings` (original(100)); made by require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, TRP_Upgrade->check_for_necessary_updates, TRP_Upgrade->check_if_gettext_tables_exist, TRP_Gettext_Table_Creation->check_gettext_original_table
See also: All tests for this plugin, How to Hide the "TranslatePress1" Admin Menu