ManuceTranslate a fileTranslate a YAML file into German without breaking it

Translate a YAML file into German without breaking it

Upload your YAML file and Manuce translates only the values into German, returning the same file with identical indentation, keys, anchors and comments. Variables such as <code>%{count}</code> are checked, plurals are adapted to German, and a report lists what was translated and what was left as it was.

Upload my file See pricing

What it costs

For a YAML file with about 2,000 words of values, into German:

Essentiel
€12

To understand, internal use.

Professional
€36

Ready to send, by the technical specialist.

Premium
€70

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 German changes in a strings file

Locale values are translated one by one, usually without seeing the screen they appear on. Moving into German changes three things your interface will feel straight away.

  • Length. German text often runs 20 to 35% longer than English, and compound nouns give the browser nowhere to wrap: "Account settings" becomes "Kontoeinstellungen", one eighteen-letter word. A tab or button sized for English may overflow. With lang="de" on the page, the CSS rule hyphens: auto lets the browser break such words correctly.
  • Capitalised nouns. Every noun takes a capital letter, mid-sentence included: "Ihr Warenkorb ist leer". A stylesheet with text-transform: lowercase turns that into visible errors for any German reader.
  • Formality. Business software addresses users as Sie ("Bitte melden Sie sich an"); consumer apps sometimes use du ("Melde dich an"). Manuce takes no style instructions, so check the register in the free sample before you order.

Plurals, variables and word order

German has two CLDR plural categories, one and other, and they split exactly as in English: only 1 is singular, so zero takes the plural ("0 Dateien"). A Rails block such as

one: "%{count} file"
other: "%{count} files"

becomes one: "%{count} Datei" and other: "%{count} Dateien". If your source is French, note the difference: French treats zero as singular, German does not. Manuce adapts plurals to the target language, but if your code special-cases zero, make sure it does not force the singular form.

Variables %{name} and {name} often move, because German pushes the verb to the end of the clause: "%{name} edited the document" becomes "%{name} hat das Dokument geändert". Manuce checks that every variable from the source is present in the translation.

One German-specific trap is sentences built from fragments. "Delete %{item}", where item comes from another key, cannot be translated well: the German noun carries a gender (der, die, das) and changes form with its role in the sentence. Keep one complete sentence per key.

What Manuce returns, and what it does not do

You get back the same file, in the same format, ready to drop into your project:

  • indentation, key order, quotes, comments, line endings, encoding and BOM preserved; only the values change;
  • for Rails, Symfony, Hugo and i18n-js, the language root key is handled; anchors (&defaults, <<: *defaults) and | and > block scalars are kept;
  • every translated value is compared with the source (variables, tags); if a mismatch persists, the source value is kept and the report says so;
  • a report: strings translated, strings left unchanged and why.

Not translated: keys, empty values, URLs, email addresses, numbers, colours, date formats, identifiers and anything marked as non-translatable. You pay only for the words in the values, with keys and tags excluded; German is charged at the base rate (×1 coefficient).

Manuce does not accept glossaries or translation memories. For a product name or term that must stay as it is, check it in the free sample and again in the delivered file.

Regional formats you adjust yourself

Date formats and numbers are left untouched so that format strings never break. German conventions differ from British and American ones, though, so these keys need a manual pass:

  • Dates: "%d/%m/%Y" or "%m/%d/%Y" stays as it is; German usage is "%d.%m.%Y", giving 24.12.2025.
  • Numbers: decimal comma and full stop for thousands, 1.234,56. In a Rails locale file, the separator and delimiter keys hold symbols rather than words, so change them by hand.
  • Times: 24-hour clock, often followed by Uhr in running text ("14:30 Uhr").
  • Forced capitals: text-transform: uppercase renders "Straße" as "STRASSE", which is correct but longer still.

Preparing the file and checking the result

  1. Save the source as UTF-8. Encoding is preserved as it is, and UTF-8 handles ä, ö, ü and ß without trouble.
  2. Mark what must not change: internal codes, command names, values your program reads.
  3. Read the free sample: Sie or du, your product terms, the length of short labels.
  4. Validate the delivered file with your YAML linter or by loading it in your framework, then read the report for any values kept in the source language.
  5. Name and place the file as your project expects, for instance messages.de.yaml in Symfony or de.yml in Rails, and click through your densest screens to spot overflowing labels.

In practice

  1. Upload your .yml or .yaml file and choose German: the quote appears at once, based on the words in the values.
  2. Read the free sample to check the register (Sie or du) and your product terms.
  3. Pay, then download the translated file and its report from your account.
  4. Run your linter or tests, adjust date and number formats, and check how long labels display.

Frequently asked questions

Will my YAML keys or indentation change?

No. Only the values are translated; keys, indentation, key order, quotes, comments, anchors and line endings stay identical. The file can go straight back into your project.

Is the root key such as en: handled?

Yes. For Rails, Symfony, Hugo and i18n-js files, the language root key is handled. Simply check in the delivered file that it matches what your project expects.

Will the German use Sie or du?

Manuce does not take register instructions. Sie is the usual choice in a professional context; check the free sample before paying to make sure the tone suits your app.

What happens if a %{name} variable goes missing in translation?

Each translated value is compared with the source. If a variable or tag mismatch persists, the source value is kept and the report flags it, so you can deal with it by hand.

Are date formats converted to German conventions?

No. Date formats and numbers are not translated. Replace <code>%d/%m/%Y</code> with <code>%d.%m.%Y</code> yourself and adjust the decimal and thousands separators if your file defines them.

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