Loco Translate is the official Loco plugin for WordPress
This plugin allows developers to translate plugins and themes directly in WordPress admin via a built-in translation editor.
Before you start using this plugin we recommend you familiarize yourself with some conventions:
Loco Translate is designed for developers who have some understanding of working with Gettext and localising source code. Here's a quick outline of how that process works when using the Loco Translate WordPress plugin.
Managing PO files
With Loco Translate installed you will find an admin screen at Tools > Manage Translations. This screen shows a list of all the PO files you have installed across all of your plugins and themes. These are the editable files that hold your translations.
If you want to save a PO file to your server after editing it, the web server that WordPress is running under will need to be able to write to the file system. See the official word on Changing file permissions.
If you're not able to change file permissions (or don't wish to for security reasons) then you can simply download the modified PO file directly out of the browser with the Download PO button in the editor toolbar.
Compiling MO files
For WordPress to be able to use your translations, the PO files must be compiled into MO files. These are a binary format of your translations and are the files that WordPress will read when visitors look at your site. Loco Translate automatically compiles a MO file each time you save a PO.
As with PO files, if your server can't write to disk you can download the MO file via your browser. You'll have to then upload it to your server some other way, such as over FTP.
POT (template) files
A POT file is effectively a master template for all your PO files. It contains all your translatable strings, but no translations.
The typical Gettext workflow is to keep the POT file in sync with your source code and use it to create new PO files and update old ones after source code changes. There are many advantages to maintaining a POT file, but doing so is optional when working with Loco.
With the translation editor open, press the :Sync button: to synchronize the current PO file with your source code (or POT file if there is one). Nothing is saved until you press the :Save button:, so don't be afraid to try it out.
Note that translations not found in the source are removed from the PO file (without fuzzy matching). If this is proving to be a problem for you, consider maintaining a POT file for more control over which strings are included.
Need more help?
We'd also love to hear your feedback, so please let us know if we can do anything to improve!