Translate a CSV string table into Turkish
Upload your CSV string table and Manuce fills the <code>tr</code> column (or adds it as the last column), leaves keys, placeholders and tags untouched, and returns the same file, ready to drop back into Unity, Godot or your own loader. Turkish has specific traps — the dotted and dotless i, suffixes attached to placeholders, the % sign placed before the number — so here is what to prepare and check.
What it costs
For a CSV string table with about 2,000 words of values, into Turkish:
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 Turkish changes in a string table
Turkish is agglutinative: grammar is expressed by suffixes added to the end of a word, and those suffixes shift with the word’s vowels (vowel harmony). In a string table, that means a placeholder cannot always take a suffix safely.
Send to {name}becomesAhmet'e gönderbutAyşe'ye gönder. Writing{name}'e gönderbreaks as soon as the name ends in a vowel or has different vowels. A safe phrasing avoids the suffix:{name} adlı kişiye gönderorAlıcı: {name}.- Word order is subject–object–verb, so placeholders move.
Deleted {0} from {1}tends to become{1} içinden {0} silindi. Numbered or named placeholders handle this fine; sequential%s %scannot be reordered. - Words get longer: a short English button label may become a single word carrying several suffixes. Leave room in fixed-width text areas.
Register matters too: apps usually address users with the polite form (siz), games more often with the informal sen. Check it on the free sample.
İ and ı, encoding and capitals: the technical traps
Turkish has two separate letters: i/İ (dotted) and ı/I (dotless). They are not stylistic variants.
- Capitals on screen. If your UI uppercases headings in code,
bilgimust becomeBİLGİ. An uppercase function using an English culture producesBILGI, which reads with dotless ı. Use atr-TRculture conversion for displayed text. - Keys and code. Conversely, never run keys through a Turkish conversion:
TITLElowercased under Turkish culture becomestıtle, and the key lookup fails. Compare keys culture-invariantly. - Encoding. Manuce keeps the file’s encoding and BOM. But ğ, ş, ı and İ do not exist in Windows-1252, which some spreadsheet tools use by default. Save the CSV as UTF-8 before uploading.
- Fonts. Check that your game or app font includes Ğ, Ş, İ and ı; an incomplete Latin font shows empty boxes instead.
Plurals, numbers, percentages and dates in Turkish
Turkish has only two CLDR plural categories, one and other, and nouns stay singular after a number: 3 dosya (3 files), not 3 dosyalar. If your CSV has keys such as items_one and items_other, both Turkish values will often be identical ({0} öğe). Keep both keys anyway: your code will request them.
- Percentages. The sign goes before the number:
{0}% offbecomes%{0} indirim. If your strings go through a printf-style function, a moved % can be read as a format specifier; review those strings first. - Decimals and thousands. Decimal comma, full stop for thousands:
1.250,50. Numbers are not translated, so formatting should come from your code using thetrlocale. - Dates. The usual form is
31.12.2025. Date formats in the CSV are left as they are; adapt them in code.
What Manuce returns, and what it does not do
Manuce handles developer-style CSV files: a key column (key, id…) plus language columns (en, fr, de_DE…). The tr column is filled if it exists, otherwise added as the last column. A comment or context column is used as context for translation.
- You get the same file back: key order, quotes, comments, line endings, encoding and BOM preserved; only the values change.
- Each translated value is checked against the source: if
{0}or<b>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.
- The report lists translated strings and those left unchanged, with the reason.
Limits: a CSV without a key column is not treated as a language file but translated as plain text. Manuce does not take glossaries or translation memories, and does not produce certified (sworn) translations. Turkish carries a surcharge (×1.25 on the per-word rate), counted on value words only.
Preparing the CSV and checking the result
- Save the file as UTF-8 and confirm a test cell containing
ğ ş ı İdisplays correctly. - Replace multiple
%swith numbered or named placeholders so Turkish word order can move them. - Fill the
contextcolumn for ambiguous or constrained strings: “button, max 12 characters”, “player name inserted here”. - After delivery, read the report: a string left in the source language almost always points to a moved placeholder or a percentage sign.
- Test in the UI: truncated labels, capitals (
BİLGİ, notBILGI), plurals with 1 and with 5.
A term that must stay as it is, such as your game’s title, is best checked on the free sample and then in the delivered file.
In practice
- Save your CSV as UTF-8, with its key column and, ideally, a context column.
- Upload the file: the quote appears at once, based on value words.
- Read the free Turkish sample to judge register and phrasing around placeholders.
- Download the CSV with the tr column filled, plus the report of strings left in the source language.
- Put the file back into your project and test capitals, lengths and plurals in the UI.
Frequently asked questions
My CSV has no tr column yet. What happens?
Manuce adds it as the last column. If it already exists, even partly empty, it is filled in place. Check that the header matches the language code your engine expects.
How are Turkish suffixes on placeholders handled?
The translation looks for phrasing that avoids attaching a suffix to the placeholder, for example <code>{name} adlı kişiye gönder</code>. Placeholders themselves are never changed: if one goes missing, the source value is kept and flagged in the report.
Why do my uppercase labels show BILGI instead of BİLGİ?
That comes from the uppercase conversion in your code, set to a non-Turkish culture, not from the translation. Use a tr-TR conversion for displayed text and culture-invariant comparison for keys.
Are keys and placeholders included in the word count?
No. The price is based on the words in the values, excluding keys and tags. Turkish applies a ×1.25 coefficient to the per-word rate.
Can I upload a spreadsheet export with no key column?
Yes, but it will not be treated as a language file; it will be translated as plain text. For a string table, add a key column before uploading.
The specialist in charge
This subject goes to Dédale, the technical specialist. See how it works.
The same file, into another language
Into Turkish, 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.