ManuceTranslate a fileTranslate a CSV string table into English

Translate a CSV string table into English

Upload your CSV string table and Manuce fills the <code>en</code> column if it exists, or adds it as the last column, leaving keys, row order and encoding exactly as they were. Every translated value is checked against the source for placeholders and tags, and a report lists anything left untranslated.

Upload my file See pricing

What it costs

For a CSV string table with about 2,000 words of values, into English:

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.

How Manuce reads your CSV

A developer-style CSV string table has a key column (key, id, keys…) followed by one column per language (fr, de_DE, es, en…), as used by Unity localisation tables or Godot translation files. For example:

  • keys,de,en
  • MENU_QUIT,Spiel beenden?,
  • HUD_SCORE,Punkte: {0},

If an en column exists, it is filled; if not, it is added as the last column. A comment or context column is used as context: a note such as ‘button, 12 characters max’ or ‘verb, not noun’ helps decide between Open and Opening. The context column itself is not translated.

A CSV with no key column (a spreadsheet export, a product list) is not a language file: it is translated as plain text, cell by cell, without the column logic described here.

What changes when strings go into English

English usually runs shorter than French, German or Spanish (around 10 to 15 % shorter than French), so overflowing buttons are less of a worry in this direction. Other points need attention:

  • Punctuation: French spacing before colons and question marks disappears (Score : {0} becomes Score: {0}), Spanish opening marks go (¿Salir? becomes Quit?), and « » or „ “ quotes become English quotation marks.
  • Formality and gender collapse: du/Sie, tu/vous, listo/lista all end up as you and Ready?. If you duplicated keys for player gender (WELCOME_M, WELCOME_F), the two English values will often be identical.
  • Plurals: English has two CLDR categories, one and other. Zero takes the plural (0 coins), unlike French, where it is singular. If your code picks the _ONE key for 0 and 1, English will show 0 coin.
  • British or American: colour/color, favourite/favorite, Cancelled/Canceled. Check which spelling is used in the free extract before paying.
  • Capitalisation: menus vary between Save as and Save As. Spot the choice in the extract and align it with your style guide if needed.

Placeholders, tags and values that stay put

Game and app strings mix text and code. Each translated value is compared with its source: {0}, {player_name}, %s, %d, Godot BBCode ([b], [color=red]) and Unity rich text (<color=#FF0000>, <b>) must all survive into English. Their order may legitimately change: {0} hat {1} besiegt can become {1} was defeated by {0}.

If a discrepancy persists (a lost placeholder, an unclosed tag), the source value is kept and the report flags it: a visible untranslated line is easier to fix than an English string that breaks rendering.

Not translated: keys, empty values, URLs, email addresses, numbers, colours (#FFAA00), date formats, identifiers and anything marked non-translatable. In practice, a value such as dd/MM/yyyy stays as it is; if your English build targets US players who read MM/dd/yyyy, change that format yourself.

What you get back, and what Manuce does not do

You receive the same file in the same format, ready to drop back into the project: key order, quoting, comments, line endings, encoding and BOM are preserved; only the English values change. A value wrapped in quotes because it contains a comma, such as "Attack, defence", keeps its quotes. You also get a report: strings translated, strings left as they were, and why.

Pricing is based on the words in the values, with keys and tags excluded; English is charged at the base rate (×1 coefficient). What Manuce does not do:

  • it takes no glossary or translation memory: for a proper noun or in-house term (Soulstone, a character name) that must be kept or rendered a certain way, check the free extract and then the translation;
  • it does not create plural keys missing from your file or change your selection logic;
  • it does not test the display in your engine: on-screen length still needs checking.

Preparing the file and checking the result

  1. Check the header: the key column must be identifiable and the target column named the way your engine expects (en, en_GB, en_US). If it is missing, it will be added at the end of each row.
  2. Check the delimiter: spreadsheets set to a continental European locale often export with semicolons, whereas Godot expects commas. Fix it before uploading, since the file comes back with the same structure.
  3. Fill the context column for words that are ambiguous in English: Play (verb or noun), Close (shut or near), Light (lamp or not heavy).
  4. After delivery, avoid reopening the file in a spreadsheet that might change its encoding; import it directly and use the report to deal with values left in the source language.
  5. Test screens with plurals and placeholders, especially the zero case.

In practice

  1. Make sure your CSV has a key column and, ideally, a context column.
  2. Upload the file: the quote is based on the words in the values.
  3. Read the free extract (British or American spelling, capitalisation, in-house terms).
  4. Pay and download the CSV with its English column and the report.
  5. Re-import into Unity or Godot and test plurals and placeholders.

Frequently asked questions

My file has no en column yet. What happens?

It is added as the last column of every row. If it already exists, even partly empty, its cells are filled. Nothing else in the file changes.

Could placeholders like {0} or %s get broken?

Every translated value is checked against the source for placeholders and tags. If a mismatch persists, the source value is kept and the report says so, so you can handle that string yourself.

Will the English be British or American?

Look at the free extract, which shows a paragraph of your file translated at the chosen level: spelling such as colour or color is visible before you pay. Date formats are never altered either way.

Are keys and tags included in the word count?

No. Only the words in the values are counted, with keys and tags excluded, and English is charged at the base rate.

Can I fill de and es columns in the same order?

Yes, by ordering several target languages: a discount applies to the whole order, −20 % for two languages, −30 % for three, up to −50 % from five.

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