Install
$ agentstack add skill-i18n-agent-i18nstack-localize-tr ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Localize: Turkish (tr → Türkçe)
You are translating source text into Turkish for Turkey and Northern Cyprus. This skill captures grammar, register, UI conventions, formatting, and Turkish-specific failure modes derived from a production translation prompt.
Scope & Variants
One unified standard for UI localization:
- tr-TR — Turkish as used in the Republic of Turkey. The default. ~85 million native speakers; official, codified by Türk Dil Kurumu (TDK, the Turkish Language Society).
- tr-CY — Turkish in Northern Cyprus (Turkish Republic of Northern Cyprus, recognized only by Turkey). Uses the same Istanbul-based standard as Turkey for written/UI purposes. Some lexical and intonation differences exist in spoken Turkish Cypriot dialect, but they are NOT relevant for software localization — treat tr-CY UI as tr-TR.
Turkish is also spoken by significant diaspora communities (Germany ~3M, Bulgaria, Greece, Macedonia, Iraq, Syria) — they use the same standard.
Script context — Atatürk's 1928 alphabet reform:
- Before 1928, Turkish was written in Ottoman Arabic script (Osmanlıca) — right-to-left, with Persian/Arabic loanword consonants.
- In 1928, the Harf Devrimi (Letter Revolution) under Mustafa Kemal Atatürk replaced it with a 29-letter Latin alphabet specifically designed for Turkish phonology.
- This was followed by the Öztürkçe (pure Turkish) movement — a state-driven effort to replace Arabic/Persian loanwords with native Turkic roots or new coinages. Modern Turkish is significantly more "Turkic-rooted" than Ottoman Turkish was.
- Practical consequence: don't be surprised that Turkish UI prefers native verbs (
indirmek"download") over English loans (downloadlamak) — this is language policy, not just taste.
Native name: Türkçe (the language); Türk (Turkish person, adjective). Use Türkçe for the language in UI.
Identity Guardrail
Turkish is Turkic, NOT Indo-European, NOT Arabic, NOT Persian.
- Closest sister language: Azerbaijani (Azərbaycan dili) — Oghuz Turkic branch, ~80% mutually intelligible with Turkish.
- Distant Turkic relatives: Uzbek, Kazakh, Kyrgyz, Tatar, Bashkir, Turkmen, Uyghur, Yakut. All share agglutinative morphology and vowel harmony, but the lexical and grammatical distance to Turkish varies from "moderate" (Turkmen, Gagauz) to "very large" (Yakut, Chuvash).
- NOT Indo-European — Turkish is in the Turkic family (sometimes grouped with Mongolic, Tungusic, Korean, Japanese under the controversial "Altaic" hypothesis; this grouping is not accepted by most modern linguists).
- NOT Arabic and NOT Persian — despite many Arabic loanwords (kitap "book", saat "hour", aile "family", millet "nation") and Persian loanwords (şehir "city", hafta "week", pencere "window", merhaba "hello") in the lexicon, the grammar is fundamentally Turkic:
- Agglutinative (suffix stacking), NOT inflectional like Arabic (root-and-pattern) or Persian (Indo-European).
- SOV word order (Subject-Object-Verb), unlike Arabic VSO or Persian SOV-ish.
- Vowel harmony — completely absent from Arabic and Persian.
- NO grammatical gender — Arabic has masc/fem, Persian doesn't have it either but uses different mechanisms.
- One pronoun "o" covers he/she/it.
Do NOT translate Turkish by analogy with:
- Arabic (different family, RTL script, no vowel harmony, gendered)
- Persian/Farsi (Indo-European, has ezafe, no vowel harmony, no agglutination on this scale)
- Russian (Slavic, has gender and case but inflectional not agglutinative)
- English (no harmony, no agglutination, SVO not SOV)
When loanwords from Arabic/Persian/French/English appear in Turkish text, they are fully Turkified: they take Turkish suffixes with Turkish vowel harmony based on Turkish pronunciation, not the original language's spelling.
Register
Default level: FORMAL (siz-form) for software UI, errors, documentation, marketing. Equivalent to German Sie / French vous.
| | siz (formal / plural) | sen (informal singular) | |---|---|---| | Pronoun | siz | sen | | Verb form (present) | -siniz/-sınız/-sunuz/-sünüz (2nd plural) | -sin/-sın/-sun/-sün (2nd singular) | | Imperative | Kaydedin, Tıklayın, Yükleyin | Kaydet, Tıkla, Yükle | | Possessive (your) | -ınız/-iniz/-unuz/-ünüz | -ın/-in/-un/-ün | | Example | Ayarlarınızı değiştirebilirsiniz | Ayarlarını değiştirebilirsin |
Critical insight: Turkish siz is BOTH the formal singular AND the actual plural "you". The verb form is 2nd-person plural regardless. There is no separate formal-singular form like Spanish usted (which uses 3rd person). So:
- "You (one person, formally)" → siz + 2pl verb
- "You all (multiple people)" → siz + 2pl verb (same)
- "You (one person, informally / friend / child)" → sen + 2sg verb
A third pseudo-formal form zat-ı âliniz ("your eminence") exists but is over-formal for UI — never use.
Within a file, ONE register only. Mixing siz and sen in possessives, verbs, or imperatives is always wrong (severity 2.0).
Examples of inconsistency to reject:
- ❌ "İşte kaçırdıklarınız (formal possessive). Kontrol et (informal imperative)." → ✅ "İşte kaçırdıklarınız. Kontrol edin."
- ❌ "Dosyalarınızı yükleyin. İncele." → ✅ "Dosyalarınızı yükleyin. İnceleyin."
- ❌ "Hesabını oluştur (informal) ve sonra giriş yapabilirsiniz (formal)" → ✅ all formal or all informal
When in doubt for software UI: use siz. Casual apps targeting Gen-Z, gaming, or social platforms may justify sen — confirm with the product team before defaulting.
Critical Hard Rules
Dotted vs Dotless i — THE Turkish Trap (severity 3.0)
Turkish has four distinct i-letters, paired into two completely separate phonemes:
| Letter | Description | Sound | Vowel type | |---|---|---|---| | İ (capital, dotted) | front, high, unrounded | [i] (like English "ee") | front unrounded | | i (lowercase, dotted) | front, high, unrounded | [i] | front unrounded | | I (capital, dotless) | back, high, unrounded | [ɯ] (no English equivalent) | back unrounded | | ı (lowercase, dotless) | back, high, unrounded | [ɯ] | back unrounded |
Capitalisation must preserve the dot status:
| Lowercase | UPPERCASE | Explanation | |---|---|---| | istanbul | İstanbul | proper noun starts with dotted i; capital keeps the dot | | ışık (light) | IŞIK | proper-noun-style capitalization keeps dotless I | | Türkiye'de | TÜRKİYE'DE | dotted İ in capital | | açık | AÇIK | dotless I in capital | | dilim (my language) | DİLİM | dotted İ | | dilim (slice) | DİLİM | same — context distinguishes |
Common software bugs (avoid):
- ❌ "Istanbul" (English-style — dotless capital I where dotted İ is correct)
- ❌ "ISIK" written for "ışık" (this would be read as a different word — "išık" doesn't exist; the IŞIK spelling is correct for "ışık", because the capital of dotless ı IS plain I)
- ❌ JavaScript
"i".toUpperCase()defaulting to "I" without Turkish locale → wrong; use"i".toLocaleUpperCase("tr-TR")→ "İ" - ❌ JavaScript
"I".toLowerCase()defaulting to "i" without Turkish locale → wrong in Turkish context; the lowercase of plain I in Turkish is ı
When translating, NEVER:
- Write "Istanbul" — always İstanbul
- Write "Izmir" — always İzmir
- Write "Indir" (for "download") — the correct form is İndir (capital İ with dot, because the verb stem is "indir-" with dotted i)
- Capitalize "ışık" as "Işık" if the surrounding context demands a dotted capital — but normally "ışık" → "Işık" IS correct because dotless ı capitalizes to dotless I.
Quick rule: lowercase i (dotted) ↔ uppercase İ (dotted); lowercase ı (dotless) ↔ uppercase I (dotless). They never cross.
Turkish Alphabet — 29 Letters, No Q/W/X (severity 2.0)
The Turkish alphabet (Atatürk's 1928 reform):
A B C Ç D E F G Ğ H I İ J K L M N O Ö P R S Ş T U Ü V Y Z
a b c ç d e f g ğ h ı i j k l m n o p r s ş t u ü v y z
Letters NOT in English (6): Ç ç, Ğ ğ, I ı (dotless), İ i (dotted — i is in English but its capital İ isn't), Ö ö, Ş ş, Ü ü.
English letters NOT in Turkish: Q, W, X.
| Letter | Sound | Notes | |---|---|---| | Ç ç | [tʃ] (like "ch" in "chair") | always [tʃ], no exceptions | | Ğ ğ | yumuşak ge (soft g) | NEVER word-initial; lengthens preceding vowel, often silent. dağ "mountain" sounds like "daa". | | I ı | [ɯ] back unrounded high vowel | NO equivalent in English; some compare to the e in "roses" | | İ i | [i] front unrounded high vowel | like "ee" in "see" | | J j | [ʒ] (like "s" in "measure" / French j) | used only in loanwords (jandarma, mucize) | | Ö ö | [œ] front rounded mid vowel | like German ö, French eu | | Ş ş | [ʃ] (like "sh" in "ship") | always [ʃ] | | Ü ü | [y] front rounded high vowel | like German ü, French u |
Yumuşak ge (ğ) rules:
- NEVER starts a word. If you see ğ initial, it's a typo or transliteration error.
- Between two front vowels (e, i, ö, ü): pronounced as a [j] glide. eğer "if" sounds like "eyer".
- Between back vowels or word-finally: silent, just lengthens preceding vowel. dağ "mountain", sağ "right", uğur "luck" — the ğ is mute.
- Always lowercase ğ, capital Ğ. NEVER replace ğ with plain g.
- ❌ dag (for "dağ") → ✅ dağ
- ❌ Türkce (for "Türkçe") → ✅ Türkçe
- ❌ degisiklik → ✅ değişiklik
Q, W, X in Turkish text: appear ONLY in foreign brand names (Xerox, Windows, Wikipedia, Quasar), proper nouns (Kurdish names with x or w), or transliteration. They keep their original spelling but take Turkish suffixes via apostrophe (Xerox'tan, Windows'a, Wikipedia'ya).
Vowel Harmony — Two-Dimensional (severity 2.5)
Every suffix in Turkish must harmonize with the stem's vowels. Two independent harmony systems operate:
1. Front-Back Harmony (low/mid vowels in suffixes)
Suffixes with a/e alternate based on whether the last vowel of the stem is front or back:
| Stem's last vowel | Type | a/e becomes | |---|---|---| | a, ı, o, u | back | a | | e, i, ö, ü | front | e |
Examples (locative -da/-de "in/at"):
| Stem | Last vowel | Type | Locative | |---|---|---|---| | ev (house) | e | front | evde | | kitap (book) | a | back | kitapta (also consonant assimilation, see below) | | göz (eye) | ö | front | gözde | | dosya (file) | a | back | dosyada | | köprü (bridge) | ü | front | köprüde | | oda (room) | a | back | odada | | şehir (city) | i | front | şehirde |
2. Rounded-Unrounded Harmony (high vowels in suffixes)
Suffixes with i/ı/u/ü alternate on TWO axes — front/back AND rounded/unrounded — giving 4 forms:
| Stem's last vowel | Type | Suffix high vowel | |---|---|---| | a, ı | back unrounded | ı | | e, i | front unrounded | i | | o, u | back rounded | u | | ö, ü | front rounded | ü |
Examples (genitive/possessive -in/-ın/-un/-ün "your"):
| Stem | Last vowel | Type | Possessive "your" | |---|---|---|---| | ev (house) | e | front unrounded | evin (your house) | | kitap (book) | a | back unrounded | kitabın (your book) — also consonant softening, see below | | göz (eye) | ö | front rounded | gözün (your eye) | | torun (grandchild) | u | back rounded | torunun (your grandchild) | | sistem (system) | e | front unrounded | sistemin | | oda (room) | a | back unrounded | odan (your room — n because of vowel-stem buffer rule) | | köprü (bridge) | ü | front rounded | köprün | | dolap (closet) | a | back unrounded | dolabın |
Combining both harmonies on the accusative -i/-ı/-u/-ü:
| Stem | Accusative (definite object marker) | |---|---| | ev | evi (front unrounded) | | kitap | kitabı (back unrounded, + softening) | | göz | gözü (front rounded) | | okul | okulu (back rounded) |
Common harmony errors (all severity 2.5):
- ❌ sistemda → ✅ sistemde (sistem is front, not back)
- ❌ dosyade → ✅ dosyada (dosya is back)
- ❌ köprüda → ✅ köprüde (köprü is front-rounded)
- ❌ sistemım → ✅ sistemim (front, unrounded high)
- ❌ kitapim → ✅ kitabım (back, unrounded high — plus softening)
- ❌ gözim → ✅ gözüm (front rounded high)
Disharmonic loanwords (rare exceptions, mostly Arabic/Persian/French origin) keep their harmony based on Turkish pronunciation of the final syllable:
- saat ("hour", final vowel a sounds back, but pronounced [saːt]) → saatte (back) — back wins
- harf ("letter", a back) → harfte (back)
- kalp ("heart", a back, but the final l is "soft" l) → kalbim (front high! due to soft l)
- rol ("role") → rolü (front rounded — due to soft l)
When unsure, look up the word — disharmony patterns are listed in TDK dictionaries.
Agglutinative Suffix Stacking (severity 2.0)
Turkish builds complex meaning by stacking suffixes onto a stem in a fixed order. Each suffix obeys vowel harmony with the preceding vowel.
Standard noun suffix order:
STEM + PLURAL + POSSESSIVE + CASE + COPULA/VERB-MARKER
Example: evlerimdekilerden = "from the ones at my houses"
| Morpheme | Meaning | Form | |---|---|---| | ev | house | stem | | -ler | plural | (front harmony) | | -im | 1sg possessive ("my") | (front unrounded) | | -de | locative ("at") | (front harmony) | | -ki | relative ("the ones that are") | invariant | | -ler | plural | (after relative ki, with front harmony) | | -den | ablative ("from") | (front harmony) |
→ 7 morphemes, 1 word, ~5 English words to translate.
More UI-relevant examples:
- dosya (file) → dosyalarım (my files) = dosya + lar (plural) + ım (1sg possessive)
- dosya → dosyalarınızda (in your files [formal/plural]) = dosya + lar + ınız (2pl/formal possessive) + da (locative)
- kullanıcı (user) → kullanıcılarımız (our users) = kullanıcı + lar + ımız (1pl possessive)
- ayar (setting) → ayarlarınızı (your settings [accusative]) = ayar + lar + ınız + ı (accusative — definite object)
Rules for suffix attachment:
- No spaces, no hyphens between stem and suffix.
- ❌ ev de → ✅ evde
- ❌ ev-de → ✅ evde
- Apostrophe required with proper nouns and abbreviations (see Apostrophe section below).
- Vowel harmony reset at each suffix based on the vowel just before it.
Six-Case System (severity 2.0)
Turkish has six grammatical cases, all marked by suffixes (which obey vowel harmony). No prepositions for these — case suffixes do the work.
| Case | Suffix forms | Meaning | Example (ev "house") | |---|---|---|---| | Nominative | ∅ (no suffix) | subject; bare form | ev | | Accusative | -i / -ı / -u / -ü | definite direct object | evi (the house, as object) | | Dative | -e / -a | to / toward / into | eve (to the house) | | Locative | -de / -da (after voiceless: -te / -ta) | in / at / on | evde (at the house) | | Ablative | -den / -dan (after voiceless: -ten / -tan) | from / out of | evden (from the house) | | Genitive | -in / -ın / -un / -ün | of / 's | evin (of the house) | | Instrumental | -le / -la (or separate word ile) | with / by means of | evle / ev ile (with the house) |
(Instrumental is sometimes counted as the 7th case; older grammars count 6.)
Critical location vs motion contrast:
- ❌ dosyaya (when meaning "in the file") → ✅ dosyada (locative, "in/at")
- ❌ dosyada (when meaning "to the file") → ✅ dosyaya (dative, "to/into")
- ❌ sistemdan (back-harmonized but stem is front) → ✅ sistemden (ablative + front harmony)
- ❌ kitapda (no consonant assimilation) → ✅ kitapta (voiceless final p → suffix d hardens to t)
Definite vs indefinite direct object:
Turkish marks definiteness of the object with the accusative suffix:
| Sentence | Translation | |---|---| | Kitap okuyorum. (no suffix on kitap) | I'm reading a book. (any book, indefinite) | | Kitabı okuyorum. (accusative) | I'm reading the book. (
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: i18n-agent
- Source: i18n-agent/i18nstack
- License: MIT
- Homepage: https://i18nagent.ai
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.