Translate a WordPress Site into German: Themes, Plugins and WPML
To translate a WordPress site into German, upload the .po or .pot files of your themes and plugins, or your WPML XLIFF export: Manuce returns the same file with only the values in German. You then compile the .po into a .mo with Poedit or Loco Translate and check the layout, because German labels run noticeably longer.
What it costs
For the language files of a WordPress site totalling about 6,000 words, into German:
To understand, internal use.
Ready to send, by the technical specialist.
Cross-checked. For documents that commit you.
Price for one language, original layout included. VAT not applicable — article 293 B of the French General Tax Code (CGI). The exact quote, based on your file's word count, is shown before you pay.
The two kinds of file a WordPress site needs
A WordPress site is translated in two layers, each with its own file.
- Interface strings: buttons, menus, notices and form labels from themes and plugins sit in
.pot(template) and.po(translation) files, edited with Poedit or Loco Translate. For example,msgid "Read more"becomesmsgstr "Weiterlesen". - Content: pages, posts and product descriptions. If you run WPML, it exports these as XLIFF, which is also supported.
Decide on the locale first. WordPress has de_DE (standard German, informal du) and de_DE_formal (formal Sie). The file name follows the choice, e.g. mytheme-de_DE_formal.po, and the translation’s register must match it.
What German changes on a WordPress site
- Length: German text is often 20 to 35% longer than English, and compounds turn short labels into long single words. “Privacy Policy” becomes “Datenschutzerklärung”, which will not wrap without hyphenation. Menus, buttons and footers suffer first.
- Register: business sites address visitors as Sie, always capitalised, as are Ihr and Ihnen. A theme saying Sie next to a plugin saying du looks careless.
- Capitals: every noun is capitalised, so “Add to cart” becomes “In den Warenkorb”.
- Plurals: German has two forms (one, other). The .po header should read
Plural-Forms: nplurals=2; plural=(n != 1);, withmsgstr[0](“%d Kommentar”) andmsgstr[1](“%d Kommentare”) for each plural string. - Word order: verbs often move to the end of the clause. Numbered placeholders such as
%1$sand%2$slet the translation reorder them safely. - Conventions: dates written as “3. März 2025”, decimal comma, quotation marks „…“.
What Manuce returns, and what it does not do
You get back the same file in the same format, ready to drop into the project: indentation, entry order, quotes, comments, line endings, encoding and BOM are preserved; only the values change. A theme’s .pot comes back as a German .po.
Every translated value is compared with its source. If a %s, a %1$d or a <strong> tag is still missing after correction, the source value is kept and the report says so. Left untranslated: keys (msgid), empty values, URLs, email addresses, numbers, colours, date formats, identifiers and anything marked as non-translatable. The report lists translated strings and those left as they were, with the reason.
What Manuce does not do:
- compile the
.mo: Poedit or Loco Translate does it in one step; - touch your site or database;
- produce sworn or certified translations. The Impressum and privacy statement expected of a business site in Germany are legal texts: have their content checked, not just their wording.
Pricing counts the words in values only, keys and tags excluded; German is charged at the base rate (×1).
Preparing your files
- Regenerate the .pot of the theme or plugin so it holds every current string; an old template misses recent additions.
- Choose du or Sie and name the file accordingly (
de_DEorde_DE_formal). - Export WPML XLIFF in coherent batches: legal pages in one, blog posts in another, so review stays manageable.
- List terms to keep: brand and product names, discount codes. Mark them as non-translatable.
- Check contexts (
msgctxt): “Post” may be a noun (“Beitrag”) or a verb (“Veröffentlichen”); without context the ambiguity remains.
Request the free sample paragraph to confirm the register before sending the whole file.
Checks after import
- Open the
.poin Poedit or Loco Translate and compile the.mo; a plural-related error usually points to a missingPlural-Formsheader. - Set date format strings yourself (e.g.
F j, Ytoj. F Y): they are not translated. - Switch the site to German and browse the menu, cart, forms and footer on mobile and desktop; “Jetzt registrieren” or “Passwort vergessen?” may overflow a button.
- If compounds break the layout, CSS
hyphens: autoworks with thelang="de"attribute WordPress sets from the locale. - Read the report: each string left in the source language has a reason, to fix by hand if needed.
In practice
- Export the .po/.pot files of your themes and plugins, or your WPML XLIFF.
- Upload: instant quote on the exact word count and a free sample.
- Download the same file in German with the string report.
- Compile the .po into a .mo in Poedit or Loco Translate and put it back.
- Test menus, buttons and forms in German and set the date format.
Frequently asked questions
Should I use de_DE or de_DE_formal?
For a company site or shop, formal Sie is the norm, so de_DE_formal fits. Informal de_DE suits a young audience or a personal blog. What matters most is consistency across theme, plugins and content.
Will I get a .mo file back?
No. The .pot comes back as a German .po, which you compile into a .mo with Poedit or Loco Translate in seconds. Keeping the .po means you can still adjust any label later.
What happens to placeholders like %s or %1$d?
They are kept and checked against the source for every value. If a placeholder or tag is still missing, the source string is kept and flagged in the report, so nothing breaks on screen.
Can Manuce translate my Impressum?
It can translate it, but Manuce does not provide sworn translations or legal review. The Impressum and privacy statement of a business site in Germany should be checked by someone versed in German law.
How is a WordPress site priced?
The quote appears on upload, based on the exact number of words in the values, excluding keys and tags. German is at the base rate, and a discount applies to the whole order if you add further languages.
The specialist in charge
This subject goes to Dédale, the technical specialist. See how it works.
The same file, into another language
Into German, other files
See also
Try it on your own file, free
A sample of your file translated at the level you choose, before any payment. You judge, then you decide.