Title: Fast Translate
Author: Bjoern
Published: <strong>June 23, 2017</strong>
Last modified: December 12, 2019

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/fast-translate.svg)

# Fast Translate

 By [Bjoern](https://profiles.wordpress.org/greencp/)

[Download](https://downloads.wordpress.org/plugin/fast-translate.zip)

 * [Details](https://scn.wordpress.org/plugins/fast-translate/#description)
 * [Reviews](https://scn.wordpress.org/plugins/fast-translate/#reviews)
 *  [Installation](https://scn.wordpress.org/plugins/fast-translate/#installation)
 * [Development](https://scn.wordpress.org/plugins/fast-translate/#developers)

 [Support](https://wordpress.org/support/plugin/fast-translate/)

## Description

Changing the WordPress site language to any other than English slows down page generation
times. A lot. This is caused by the slow and inefficient way of text domain loading.
PO and MO files are designed to be used with PHP Gettext-extension. But since it’s
an extension, it’s not installed by defalt on very hosting platform. To overcome
this barrier, WordPress has re-implemented the whole MO file parsing in PHP, but
WordPress’ implementation is quite slow and memory intense.

This plugin replaces the default MO-Reader with another implementation of MO parsing,
which is faster than the default one. Only used text domains are loaded (since version
4.6 this is also WordPress’ default behaviour) and from these only used translations
are loaded. It also makes use of hash tables included in mo files, which are ignored
completely by WordPress’ default implementation. To boost the performance even more,
the plugin also caches translations to the object cache, if one is installed. For
optimal performance you need a fast object cache backend like Redis, Memcached or
APC(u).

Fast Translate is a minimalistic fork of [WP Performance Packs](https://wordpress.org/plugins/wp-performance-pack)
localization improvements. [WP Performance Pack](https://wordpress.org/plugins/wp-performance-pack)
offers additional control and more optimizations for WordPress performance, e.g.
use of PHPs native gettext extension, improved image handling and CDN support.

## Screenshots

[⌊Fast Translate benchmark: Front page load times of a "fresh" WordPress 4.8 installation
and a "real life" installation. Benchmarked version 1.2.0, times are mean of five
test runs measured using XDebug.⌉⌊Fast Translate benchmark: Front page load times
of a "fresh" WordPress 4.8 installation and a "real life" installation. Benchmarked
version 1.2.0, times are mean of five test runs measured using XDebug.⌉[

Fast Translate benchmark: Front page load times of a “fresh” WordPress 4.8 installation
and a “real life” installation. Benchmarked version 1.2.0, times are mean of five
test runs measured using XDebug.

## Installation

**Requires PHP >= 5.3 and WordPress >= 4.0**

 * Download, install and activate. That’s it. No settings required.

## FAQ

  Which persisten object cache plugins are recommended?

Any persisten object cache will do, but it has to be supported in your hosting environment.
Check if any caches like APC(u), XCache, Memcache, etc. are installed on your webserver
and select a suitable cache plugin respectively. File based object caches should
work always and might improve performance, same goes for data base based caches.
Performance gains depend on the available caching method and its configuration.

  Does Fast Translate support multisite?

Yes

  How do localization improvements work

Fast Translate overrides WordPress’ default implementation by using the _override\
_load\_textdomain_ hook. It uses a complete rewrite of WordPress’ MO imlementation.
The default WordPress implementaion loads a complete mo file whenever a single translation
from it is needed. This needs quite some time and even more memory. Fast Translate
features on demand loading. It doesn’t load a mo file until the first translation
call to that specific textdomain (so does WordPress since version 4.6). And it doesn’t
load the entire mo file either, only the requested translation. Though the (highly
optimized) search for an individual translation is slower, the vastly improved loading
time and reduced memory foot print result in an overall performance gain.

Caching can further improve performance. When using Fast Translate with an installed
and activated object cache, translations get cached using WordPress Object Cache
API. Front end pages usually don’t use many translations, so for all front end pages
one cache is used per textdomain. Back end pages on the other hand use many translations.
So back end pages get each their own individual translation cache with one _base
cache_ for each textdomain. This _base cache_ consists of those translations that
are used on all back end pages (i.e. they have been used up to _admin\_init_ hook).
Later used translations are cached for each page. All this is to reduce cache size,
which is very limited on many caching methods like APC. To even further reduce cache
size, the transaltions get compressed before being saved to cache.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Fast Translate” is open source software. The following people have contributed 
to this plugin.

Contributors

 *   [ Bjoern ](https://profiles.wordpress.org/greencp/)
 *   [ Janne Ala-Aijala ](https://profiles.wordpress.org/underdude/)

[Translate “Fast Translate” into your language.](https://translate.wordpress.org/projects/wp-plugins/fast-translate)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/fast-translate/), check
out the [SVN repository](https://plugins.svn.wordpress.org/fast-translate/), or 
subscribe to the [development log](https://plugins.trac.wordpress.org/log/fast-translate/)
by [RSS](https://plugins.trac.wordpress.org/log/fast-translate/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4

 * PHP <= 7.0 compatibility fix (thanks @no3x)

#### 1.3

 * Fixed plurals translation (thanks @wordpressserg)
 * Some minor tweaks and fixes for PHP >= 7.2

#### 1.2.1

 * Futher performance improvements
 * Added improvements by @mte90

#### 1.2.0

First realease on wp.org

## Meta

 *  Version **1.4**
 *  Last updated **7 years ago**
 *  Active installations **10+**
 *  WordPress version ** 4.0 or higher **
 *  Tested up to **5.3.21**
 *  Language
 * [English (US)](https://wordpress.org/plugins/fast-translate/)
 * Tags
 * [l10n](https://scn.wordpress.org/plugins/tags/l10n/)[localization](https://scn.wordpress.org/plugins/tags/localization/)
   [performance](https://scn.wordpress.org/plugins/tags/performance/)[speed](https://scn.wordpress.org/plugins/tags/speed/)
   [translation](https://scn.wordpress.org/plugins/tags/translation/)
 *  [Advanced View](https://scn.wordpress.org/plugins/fast-translate/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/fast-translate/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/fast-translate/reviews/)

## Contributors

 *   [ Bjoern ](https://profiles.wordpress.org/greencp/)
 *   [ Janne Ala-Aijala ](https://profiles.wordpress.org/underdude/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/fast-translate/)