ManuceTranslate a fileTranslate a Drupal site into German: the .po interface file

Translate a Drupal site into German: the .po interface file

Drupal imports and exports its interface translations as gettext .po files through the Interface Translation module. Manuce translates that file into German and returns the same file, ready to re-import, with every Drupal placeholder checked and a report listing any strings left as they were.

Upload my file See pricing

What it costs

For the language files of a Drupal site totalling about 5,000 words, into German:

Essentiel
€29

To understand, internal use.

Professional
€90

Ready to send, by the technical specialist.

Premium
€175

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.

What a Drupal .po file actually holds

The .po file Drupal exports gathers the interface strings: buttons, status messages, form labels, theme text and module text. Each entry pairs a msgid, which Drupal uses as the key, with a msgstr, the translation.

Two points before you order:

  • Drupal's community translations already cover much of core and popular contributed modules in German. The gaps are usually in your custom modules and theme, and that is where your budget is best spent.
  • Your nodes, pages and articles are not in this file. Legal pages, including the Impressum expected on sites aimed at Germany, are content rather than interface.

German in a Drupal interface: length, capitals and Sie

German text often runs 20 to 35% longer than English, and compound nouns do not break on their own. A short label can double in width:

  • Add to cart becomes In den Warenkorb legen.
  • My account becomes Mein Benutzerkonto.
  • Reset your password becomes Passwort zurücksetzen.

In a Drupal theme, watch the main menu, form buttons, breadcrumbs and narrow sidebar blocks. If your theme relies on hyphens: auto, German hyphenation only works when the page carries lang="de", which Drupal sets once the language is configured properly.

Every noun is capitalised (Inhalt hinzufügen, not inhalt hinzufügen). In a business context, users are addressed formally with Sie: Bitte geben Sie Ihre E-Mail-Adresse ein. If your site combines community strings with your own, check the register is consistent: a stray informal du in a form stands out immediately to a German reader.

Placeholders and plurals: Drupal-specific traps

Drupal uses three kinds of placeholder, all of which must survive untouched:

  • @name: escaped text, e.g. Willkommen, @name.
  • %title: escaped and emphasised, e.g. Der Beitrag %title wurde gespeichert.
  • :url: a URL inserted into an attribute, e.g. <a href=":url">.

German frequently moves the placeholder because the verb goes to the end of the clause: %title has been deleted. becomes %title wurde gelöscht. The placeholder name itself must not change by a single character.

German has two plural categories, one and other, and zero takes the plural: 1 Kommentar, 0 Kommentare, @count Kommentare. If your source language is French, which treats zero as singular, the logic does not carry over directly.

What Manuce returns, and what it does not do

You get back the same .po file in the same format: indentation, entry order, quotation marks, reference comments (#:), line endings, encoding and BOM are preserved. The msgid is left alone; only the translations change.

Each translated value is compared with the source. If a placeholder such as @count or a tag like <em> is missing or altered and the mismatch persists, the source value is kept and the report says so. Not translated: keys, empty values, URLs, email addresses, numbers, colours, date formats, identifiers and anything marked as non-translatable. Pricing is based on the words in the values, with keys and tags excluded.

Manuce does not translate nodes inside Drupal, does not connect to your site and does not provide sworn or certified translation. For a public interface, the Professional level suits text ready to go live; a free one-paragraph sample lets you judge the German register before paying.

Preparing the export and checking after import

  1. Add German as a site language, then export its .po file including strings not yet translated.
  2. To keep the volume down, export only missing strings or those from your custom modules.
  3. When the file comes back, read the report: a string left in the source language often points to a malformed placeholder in the original.
  4. Re-import the file for German, clear the caches, then go through menus, forms and error messages on a phone to catch compound words that overflow.
  5. Test a plural at 0, 1 and several items, for instance on a comment counter.

In practice

  1. Export the German .po file from Drupal.
  2. Upload it to Manuce: the quote appears instantly, based on the words in the translations.
  3. Check the free sample to confirm the register (Sie) and the level.
  4. Download the translated .po file and its report.
  5. Re-import it into Drupal, clear the caches and check the layout.

Frequently asked questions

Are the @name, %title and :url placeholders preserved?

Yes, every translated value is checked against the source, placeholders and tags included. If a mismatch persists, the source string is kept and flagged in the report, so your site never shows a broken placeholder.

Does Manuce translate my Drupal pages and articles too?

No, this service covers the .po interface file, which does not contain node content. Your page text needs to be handled separately.

Should the German interface use Sie or du?

For a professional site, the formal Sie is the norm. Above all, make sure it matches the community translations already installed so the two registers are not mixed.

Can I import the file straight back into Drupal?

Yes, you receive the same .po file with the same structure and encoding; only the translations change. It imports exactly like the file you exported.

How do I avoid paying for strings the community has already translated?

Export only untranslated strings, or only those from your own modules and theme. The price is calculated on the words in the values of the file you upload, with keys and tags excluded.

The specialist in charge

This subject goes to Dédale, the technical specialist. See how it works.

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.

Upload my file