Translate a CSV string table into Polish
Upload a CSV with a key column and Manuce fills the Polish column if it exists, or adds it as the last column, returning the same file with only the values changed. Polish does call for a few format-specific precautions: an encoding that can hold ą, ę, ł and ż, four plural forms, and case endings that break concatenated strings.
What it costs
For a CSV string table with about 2,000 words of values, into Polish:
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.
What Polish changes in a string table
In a CSV, each cell is translated on its own, without seeing the screen. Polish makes that harder than most European languages, for three reasons.
- Grammatical case. Nouns change form with their role:
plik(file) staysUsuń plik(delete file) but becomesBrak pliku(no file). A string built in code, such as"Delete " + item_name, will often end up with the wrong form. Use one full sentence per key with a placeholder,Usuń {item}, bearing in mind that{item}will stay in the nominative. - Gender in the past tense.
{player} wonis{player} wygrałor{player} wygraładepending on gender. If the player can be either, provide two keys or a neutral phrasing, and say so in the context column. - Length. Polish labels often run longer than English ones:
Save changesbecomesZapisz zmiany, and help sentences grow further. Check fixed-width buttons.
On register, games usually address the player informally (Naciśnij, aby kontynuować), while software buttons use short imperatives: Zapisz, Anuluj, Usuń.
Four plural forms in a flat CSV
Polish has four CLDR categories: one, few, many and other. With plik: 1 plik, 2 pliki, 5 plików, 22 pliki, 1.5 pliku (written 1,5 in Polish). The ‘few’ form covers 2–4, 22–24 and so on, except 12–14, which take ‘many’.
A CSV has no plural structure: each form is a separate key, for instance files_count_one, files_count_few, files_count_many, files_count_other. If your source table was designed for English and only has _one and _other, Manuce will translate those two rows but will not add the missing ones, since only values change. Add the _few and _many keys before uploading, copying the source value into the reference column, and note the expected form in the comment or context column.
What Manuce returns, and what it does not do
The file needs a key column (key, id…) and language columns (en, fr, de_DE…), as in Unity or Godot. Without a key column, the CSV is not handled as a language file but translated as plain text.
- The Polish column is filled if it exists, otherwise added as the last column. A
commentorcontextcolumn is used as context. - The returned file is the same: key order, quotes, comments, line endings, encoding and BOM preserved.
- Every translated value is checked against the source: if
{count}or<b>goes missing in Polish and the mismatch persists, the source value is kept and the report says so. - Left untouched: keys, empty values, URLs, email addresses, numbers, colours, date formats, identifiers and anything marked as non-translatable.
You also get a report listing translated strings and those left as they were, with the reason. Pricing is based on words in the values, keys and tags excluded; Polish carries a surcharge (×1.25 coefficient). Manuce does not create keys, does not adapt your code to case endings and does not produce certified translations.
Preparing the file before upload
Because the encoding is kept as is, fix it first. A CSV saved as Windows-1252 or Latin-1 cannot hold ł, ś or ż.
- Save the file as UTF-8 before uploading. If your team opens the table in Excel, UTF-8 with BOM stops
Zażółćturning into garbled characters. - Create the column with the header your engine expects (
pl,pl_PL…) so it is filled where you want rather than appended at the end. - Add context for ambiguous strings:
Opencan beOtwórz(a button) orOtwarte(a shop status). - Split concatenated sentences into full keys and add the missing plural forms.
Checking the Polish version before integration
Start with the free sample, translated at your chosen level before you pay: it shows the register used and how placeholders are positioned. If a product or character name must stay unchanged, check it in the sample and again in the delivered file.
- Delimiter. Excel set to a Polish locale uses a semicolon as the separator, since the comma is the decimal mark. Avoid re-saving the returned file from a spreadsheet, or check that it keeps the original delimiter.
- Fonts. Game fonts and glyph atlases must include
ą ć ę ł ń ó ś ź żand their capitals, or empty boxes will appear. - Quotation marks. Polish uses „…”; make sure the CSV stays well formed when a value contains them.
- The report. Review strings left in the source language: a moved placeholder or an unclosed tag is the usual cause.
In practice
- Save the CSV as UTF-8 and add a pl column if your engine requires one.
- Add the few and many plural keys and fill in the context column.
- Upload the file: the quote appears based on the exact word count of the values.
- Check the free sample, then start the translation.
- Put the file back into the project and check the report and diacritic rendering.
Frequently asked questions
My table only has one and other forms: will Polish plurals be correct?
Not entirely. Polish needs the few form (2 pliki) and the many form (5 plików), and Manuce does not add new rows. Add those keys before uploading; your code then has to pick the right one for each number.
Why do ą, ł and ż display incorrectly after translation?
The file’s encoding is preserved. If the source is Windows-1252 or Latin-1, convert it to UTF-8 before uploading. If the text only looks wrong in Excel, UTF-8 with BOM usually solves it.
Are placeholders like {count} or {player} protected?
Every translated value is compared with the source. If a placeholder or tag is missing and the mismatch persists, the source value is kept and flagged in the report. Remember that the placeholder stays in the nominative, so the Polish sentence is built around it.
Where does the Polish column go?
If a Polish language column already exists, it is filled. Otherwise it is added as the last column. Create it yourself with the header Unity, Godot or your tool expects if you want control over its name.
Which words are charged?
Only words in the values to be translated count, keys and tags excluded. The quote appears as soon as you upload, and Polish applies a ×1.25 coefficient to the per-word rate.
The specialist in charge
This subject goes to Dédale, the technical specialist. See how it works.
The same file, into another language
Into Polish, 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.