Localization – the door to many possibilities.
Whatever the language may be – German, French, Spanish, Arabic – you can localize it properly by first understanding PO files.
Here, we’ll give you an overview of what PO files are, the difference between PO and MO files, how to edit PO files, and WordPress plugin suggestions.
What are PO files?
PO stands for portable object. These are files that contain the source language and target language texts. For example, if I would like to localize my English website into German, my PO file would contain English text segments and the corresponding German translations.
Don’t confuse PO files with POT (portable object template) files. Because POT files are templates, they only contain the source file. That means, from our example above, our POT file would only contain English text segments.
PO vs. MO Files
We’ve clarified the difference between PO and POT files. But what are MO files?
MO stands for machine object. This is the file you generate after the translation process is complete. An MO file is, in essence, the same as a PO file, except it is machine readable.
For example, you would upload an MO file to your WordPress site in order to display your website content in the target language – such as German.
Editing PO Files
Now, let’s discuss methods for editing PO files. How do you translate the source text segments into another language? You can do this multiple ways. We will share two methods.
Manually
One method to edit PO files is to use Notepad or Notepad++. If you go this route, your screen will look similar to this:

You might be wondering what everything means. A line beginning with “#” indicates a comment. There are various types of comments. For an in-depth description, check out this helpful article.
Additionally, “msgid” indicates the source text. That would be English in this case. “msgstr” denotes the target text, a.k.a. the translation. In this specific example, the target text or translation is Spanish.
WordPress Plugins
Another option is to use plugins for editing POs. In our humble opinion, using plugins makes the process much easier.
Instead of reading jargon like “#” and “msgid,” you will see two columns – a source text column and a target text column.

This example uses Poedit from TranslatePress. However, there are other plugins as well. Here are a few suggestions for you:
Plugin | Price | Free Version | Translation Management | String Translation |
TranslatePress | starting at €79 | Yes, here | Yes | Yes |
WPML | starting at $29 | No | Yes | Yes |
Polylang | starting at €99 | Yes, here | No | Yes |
Weglot | starting at €9.90/mo | 10 day trial | Yes | Yes |
String translation allows you to translate any text coming from WordPress admin, other plugins, the theme or your own custom code.
Translation management allows you the ability to set up a team of translators, assign them translation tasks and check the overall status of the site’s translation. With Poedit, you can even compile your PO file to an MO file.

Conclusion
Nowadays, you don’t need to be a tech expert to translate your website, especially if you’re using a popular platform like WordPress. But…if you do ever get stuck. YTranslations would gladly you you out with our website localization service.
Regardless of the platform or size, we are always happy to help. Feel free to request a quote.
Otherwise, we wish you great success with the localization of your website!