Make WordPress Core

Opened 6 years ago

Last modified 12 months ago

#43096 new enhancement

Reduce redundant calls to translate()

Reported by: superdav42's profile superdav42 Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: I18N Keywords: has-patch needs-refresh close
Focuses: performance Cc:


Profiling the default WordPress install I noticed translate functions where being called 1700+ times and many times with duplicate strings. This patch uses static vars in a few key places to avoid translating the same string multiple times. Gives about a 14% reduction in page response time and a very slight memory increase. See

Attachments (1)

43096.diff (20.5 KB) - added by superdav42 6 years ago.

Download all attachments as: .zip

Change History (5)

6 years ago


#2 @pento
5 years ago

  • Version trunk deleted

#3 @swissspidy
12 months ago

  • Keywords has-patch needs-refresh close added

At least for the WP_Locale class this has already been implemented in the meantime.
For the other cases I am not particularly fond of using static variables for caching. That just makes testing and debugging a bit harder and decreases readability.

#4 @SergeyBiryukov
12 months ago

Hi there, thanks for the ticket! Sorry it took so long for someone to get back to you.

As noted above, for WP_Locale this was addressed in [52956] / #54564. Other changes make sense too at a glance, but they make things less flexible for switching between locales during the request, unit testing, and might lead to an issue where post type or taxonomy labels cannot be retrieved in the correct locale after the initial call, so maybe we should look at other ways to optimize translations instead.

Last edited 12 months ago by SergeyBiryukov (previous) (diff)
Note: See TracTickets for help on using tickets.