# Localize Pl

> Use when translating or localizing UI strings, marketing copy, documentation, or any source text into Polish (pl). Enforces 7-case grammar with active vocative (użytkowniku!), 3-gender system with masculine-personal vs non-masculine-personal plural split, ICU one/few/many/other plurals, perfective/imperfective aspect, Pan/Pani + 3rd-person formal address, diacritics ą ć ę ł ń ó ś ź ż (ł essential…

- **Type:** Skill
- **Install:** `agentstack add skill-i18n-agent-i18nstack-localize-pl`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [i18n-agent](https://agentstack.voostack.com/s/i18n-agent)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [i18n-agent](https://github.com/i18n-agent)
- **Source:** https://github.com/i18n-agent/i18nstack/tree/main/localize-pl
- **Website:** https://i18nagent.ai

## Install

```sh
agentstack add skill-i18n-agent-i18nstack-localize-pl
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Translate to Polish (pl) — High-Fidelity Skill

## Scope & Variants

Polish is a single standard target — Modern Standard Polish (język polski literacki). No regional split for product UI:

| Locale | Notes |
|--------|-------|
| `pl` / `pl-PL` | Standard Polish (Poland). Default and only target. |

Polish has dialect variations (Silesian, Kashubian) but these have their own ISO codes (`szl`, `csb`) and are NOT covered by `pl`.

---

## Register Auto-Detection (Apply Before Translating) — POLISH IS DIFFERENT

Polish formality is **structurally unique** among Slavic languages. Unlike Russian/Ukrainian/Czech/Slovak/Croatian/Serbian which use a `Vy/ty` 2nd-person split, Polish uses **`Pan` (Mr. / sir) and `Pani` (Mrs. / madam)** + **3rd-person verb forms** for formal address.

| Register | Form | Verb agreement | Example |
|----------|------|----------------|---------|
| Informal (ty) | `ty` + 2nd-person sg. | -sz ending | `Możesz to zrobić.` (You can do it.) |
| Formal (Pan / Pani) | `Pan` (m.) / `Pani` (f.) + **3rd-person sg.** | -e ending | `Może Pan to zrobić.` / `Może Pani to zrobić.` |
| Formal (mixed group) | `Państwo` + 3rd-person pl. | — | `Mogą Państwo to zrobić.` |

**This is the most distinctive feature of Polish formality and trips up most AI translators.** They often produce "Polish Vy-form" by analogy with Czech/Russian — but Polish has no `Vy` form for formal singular. The formal form is `Pan/Pani + 3rd person verb`.

Auto-detect from source:

| Source signal | Target register |
|---------------|-----------------|
| Casual / conversational / personal (`Hey!`, contractions, emoji, marketing voice) | **Informal (ty)** — `ty` lowercase, 2nd-person sg. verb endings (-sz: możesz, widzisz), familiar imperative (singular: wybierz, kliknij, otwórz). |
| Neutral product UI / docs / consumer software (DEFAULT) | **Inclusive impersonal** — UI often avoids both ty and Pan/Pani by using **impersonal/infinitive constructions**. E.g., `Kliknij, aby kontynuować` (informal-leaning but neutral) OR `Aby kontynuować, należy kliknąć` (formal impersonal). |
| Legal / banking / government / enterprise | **Formal (Pan / Pani / Państwo)** — capitalized in direct address, 3rd-person verb, possessive `Pana / Pani / Państwa`. |

**Hard rule: NEVER use `Wy` as a singular formal pronoun** — `Wy` is plural informal "you all" only. Using it as formal singular is a critical error (and politically loaded — was associated with the communist period when official documents used it formal-Russianized style).

**Capitalization of Pan/Pani:** in direct address (letters, UI greetings), capitalize: `Drogi Panie`, `Szanowna Pani`, `dla Pani`. In general references (talking ABOUT a person), lowercase: `Pan Nowak jest tutaj`.

**Default for software UI: impersonal / infinitive-based** (sidesteps the ty/Pan question) OR ty-form (for consumer apps) OR Pan/Pani (for B2B/banking/government).

---

## Critical Hard Rules (Severity ≥ 2.0 — Auto-Fail If Wrong)

### 1. Word integrity — verb prefixes NEVER split (severity 3.0)

Polish verbs with prefixes are **single words**. Splitting is a critical error.

| ✗ Wrong (split) | ✓ Correct (joined) |
|-----------------|---------------------|
| `prze tłumaczyć` | **`przetłumaczyć`** (to translate) |
| `wy konać` | **`wykonać`** (to execute) |
| `prze nieść` | **`przenieść`** (to transfer) |
| `na pisać` | **`napisać`** (to write) |
| `za pisać` | **`zapisać`** (to save / record) |
| `od pisać` | **`odpisać`** (to reply) |
| `przy jąć` | **`przyjąć`** (to accept) |
| `roz począć` | **`rozpocząć`** (to begin) |
| `po brać` | **`pobrać`** (to download) |

**Reflexive `się` is a SEPARATE clitic** — not attached to verb. `zalogować się`, `zarejestrować się`, `zajmować się`. Writing `zalogowaćsię` is wrong.

### 2. Polish diacritics — preserve all, especially ł (severity 2.5)

Polish uses: `ą ć ę ł ń ó ś ź ż`. Stripping any is a critical readability failure. Especially:

- **ł** (slashed L, /w/ sound — "łańcuch" pronounced "wanchooh") — easily confused with `l` but it's a distinct letter. NEVER replace with `l`.
- **ó** (kreska o, /u/ sound) — distinct from `o`. NEVER replace with `o` or `u`.
- **ę** and **ą** (nasal vowels) — distinct from `e` and `a`.
- **ś ć ź ń** (acute-marked palatalized consonants) — distinct from `s c z n`.
- **ż** (dotted z) — distinct from `ź` (acute-z) which is itself distinct from `z`.

| ✗ Stripped | ✓ Correct |
|------------|-----------|
| uzytkownik | **użytkownik** |
| ustawienia | **ustawienia** ✓ (no diacritics here, illustrating that not all words need them) |
| zaloguj sie | **zaloguj się** |
| pobrac | **pobrać** |
| polaczenie | **połączenie** (note the ł!) |
| skonczyc | **skończyć** |
| zrodlo | **źródło** |
| jezyk | **język** |
| wybierz | **wybierz** ✓ |
| przeglad | **przegląd** |

### 3. Seven-case system — Polish retains active vocative (severity 2.5)

Polish uses **all 7 Slavic cases**, INCLUDING an active vocative (like Czech/Ukrainian, unlike Slovak/Russian).

| Case | Question | Use | Example (m. anim. "użytkownik") | Example (f. "aplikacja") |
|------|----------|-----|--------------------------------|--------------------------|
| Mianownik (NOM) | kto? co? | Subject | użytkownik | aplikacja |
| Dopełniacz (GEN) | kogo? czego? | Possession, "of", absence, 5+ count | użytkownika | aplikacji |
| Celownik (DAT) | komu? czemu? | Indirect object, "to" | użytkownikowi | aplikacji |
| Biernik (ACC) | kogo? co? | Direct object | użytkownika (animate=GEN) / plik (inanimate=NOM) | aplikację |
| Narzędnik (INS) | kim? czym? | "With", means | użytkownikiem | aplikacją |
| Miejscownik (LOC) | o kim? o czym? | Location (always w/ prep) | o użytkowniku | o aplikacji |
| **Wołacz (VOC)** | — | **Direct address — ACTIVE in Polish** | użytkowniku! | aplikacjo! |

**Critical: animate masculine accusative = genitive form.** `widzę użytkownika`, NOT `widzę użytkownik`.

**Vocative usage** — Polish ACTIVELY uses vocative for direct address. Common vocative endings: m. `-u/-e/-ie` (Krzysztof → Krzysztofie, Adam → Adamie, syn → synu), f. `-o/-u` (Ania → Aniu, Anna → Anno, mama → mamo).

| ✗ Wrong (nominative) | ✓ Correct (vocative) |
|----------------------|----------------------|
| Cześć, Anna! | **Cześć, Anno!** |
| Witaj, Krzysztof! | **Witaj, Krzysztofie!** |
| Drogi użytkownik! | **Drogi użytkowniku!** |
| Drogi Pan Nowak! | **Drogi Panie Nowak!** (or formally `Szanowny Panie Nowak!`) |

For UI greetings using user's first name, vocative is REQUIRED in formal/respectful tone.

### 4. **CRITICAL: Polish has 5 gender forms in plural — męskoosobowy vs niemęskoosobowy** (severity 3.0)

This is **uniquely Polish**. While other Slavic languages have 3 genders (m/f/n) in plural with various splits, Polish has the strongest grammatical split:

**Plural gender categories (Polish has 2 plural gender forms — split from the 3 singular genders):**

| Category | Polish term | Members | Example noun (pl.) |
|----------|-------------|---------|---------------------|
| **Masculine-personal** | męskoosobowy | Male humans ONLY | mężczyźni, użytkownicy, programiści |
| **Non-masculine-personal** | niemęskoosobowy | Everything else — women, children, animals, objects | kobiety, dzieci, koty, pliki, systemy, aplikacje, ustawienia |

**Verb past-tense agreement plural:**
- m.-personal: `-li` ending (oni byli, oni pracowali, użytkownicy zalogowali się)
- non-m.-personal: `-ły` ending (one były, one pracowały, pliki zostały zapisane)

**Adjective agreement plural:**
- m.-personal: `-i / -y` ending (nowi użytkownicy, dobrzy ludzie)
- non-m.-personal: `-e` ending (nowe pliki, dobre kobiety, nowe systemy)

**Examples of how this breaks naïve translation:**

| ✗ Wrong (treating all as one) | ✓ Correct (m-personal vs non-m-personal) |
|-------------------------------|------------------------------------------|
| Pliki zostali zapisani (using m-personal -li for files) | **Pliki zostały zapisane** (files are not male humans → non-m-personal -ły / -e) |
| Użytkowniki zalogowały się | **Użytkownicy zalogowali się** (users include male humans → m-personal -li) |
| Nowi pliki | **Nowe pliki** (files → non-m-personal -e) |
| Nowe użytkownicy | **Nowi użytkownicy** (male users → m-personal -i) |
| Kobiety zalogowali się | **Kobiety zalogowały się** (women only → non-m-personal -ły) |

**Mixed groups containing at least one male human take m-personal forms.** A group of one man and ten women is m-personal. A group of all women is non-m-personal.

**Most UI items (pliki, systemy, ustawienia, aplikacje, użytkownicy, klienci):**
- `pliki, systemy, ustawienia, aplikacje, opcje` → **non-m-personal** (`zostały zapisane`, `nowe pliki`)
- `użytkownicy, klienci, programiści, administratorzy` (mixed/male) → **m-personal** (`zalogowali się`, `nowi użytkownicy`)
- `użytkowniczki, klientki` (women-only forms) → **non-m-personal** (`zalogowały się`, `nowe użytkowniczki`)

This is the single most-mocked Polish translation error by native speakers when AI gets it wrong.

### 5. Preposition + governed case (severity 2.5)

| Preposition | Case | Example |
|-------------|------|---------|
| w / we (in) | LOC (location) | w systemie |
| do (into / to) | GEN | do systemu |
| na (on/onto) | LOC / ACC | na ekranie / na ekran |
| z / ze (with) | INS | z użytkownikiem |
| bez (without) | GEN | bez błędów |
| dla (for) | GEN | dla użytkownika |
| od (from) | GEN | od użytkownika |
| do (to/until) | GEN | do końca |
| o (about) | LOC | o użytkowniku |
| po (after) | LOC | po zalogowaniu |
| przed (before) | INS | przed zapisaniem |
| za (per / behind) | ACC / INS | za plik / za stołem |
| u (at, with) | GEN | u użytkownika |
| przy (at, by) | LOC | przy zapisywaniu |

**"per" in Polish:** use `za + ACC` for rate (`za plik`), `na + ACC` for distribution (`na użytkownika`), `dziennie` for "per day". Never `per plik` (English calque).

### 6. ICU plurals — one / few / many / other (1 / 2-4 ends in 2-4 not 12-14 / 5+ with 11-14 going to many / other for fractions) (severity 2.5)

```icu
{count, plural,
  one {# plik}
  few {# pliki}
  many {# plików}
  other {# pliku}
}
```

**CLDR plural category boundaries** (Polish):

| Category | Rule | Examples | Noun form |
|----------|------|----------|-----------|
| `one` | n = 1 | 1 | **NOM singular** (plik) |
| `few` | n % 10 ∈ {2,3,4}, n % 100 ∉ {12,13,14} | 2, 3, 4, 22, 23, 24, 102, 103 | **NOM plural** (pliki) |
| `many` | n = 0, n % 10 ∈ {0,1,5-9}, n % 100 ∈ {11-14} | 0, 5-20, 25-30, 100, 11, 12, 13, 14, 21 (yes 21!) | **GEN plural** (plików) |
| `other` | fractions | 1.5, 2.5 | **GEN singular** (pliku) |

**Critical note:** Polish's `many` category includes 11-14 (like Russian/Ukrainian/Croatian) AND also includes **21, 31, 41**, etc. Polish uses `one` ONLY for the integer 1 itself — NOT for 21, 31, 41 like Russian does. Polish `21 plików` (GEN pl) not `21 plik` (NOM sg).

### 7. Numeral-noun agreement (severity 2.0)

| Count | Pattern | Example |
|-------|---------|---------|
| 1 | NOM sg | 1 plik |
| 2, 3, 4 (ends in 2-4, NOT 12-14) | NOM pl | 2 pliki, 3 użytkownicy (m-pers), 22 pliki |
| 5+ AND 11-14 AND 21, 31, 41… | GEN pl | 5 plików, 11 plików, 21 plików, 100 plików |
| Fractions | GEN sg | 2,5 pliku |

### 8. Three-gender singular + masculine animate/inanimate (severity 2.0)

In SINGULAR, Polish distinguishes:
- **Masc. personal/animate** (male humans, named animals) → genitive form for accusative: `widzę użytkownika`
- **Masc. inanimate** (objects, abstracts) → accusative = nominative: `widzę plik`
- **Feminine** (-a ending mostly): `aplikacja`, `użytkowniczka`
- **Neuter** (-o/-e/-ie ending): `ustawienie`, `okno`, `narzędzie`

Wrong gender adjective is auto-fail: `nowa system` ✗, `nowy aplikacja` ✗, `nowa ustawienie` ✗.

### 9. Past-tense gender agreement + m-personal/non-m-personal in plural (severity 2.5)

(Documented in rule #4 above; restating here as a checklist item.)

| Subject | L-participle | Example |
|---------|--------------|---------|
| m. sg. | -ł | on pracował |
| f. sg. | -ła | ona pracowała |
| n. sg. | -ło | ono pracowało |
| **m-personal pl.** | **-li** | **oni pracowali** (mixed/male group) |
| **non-m-personal pl.** | **-ły** | **one pracowały** (women/objects/animals) |

### 10. Verb aspect — perfective vs imperfective (severity 2.0)

| Imperfective (process, ongoing) | Perfective (single completed event) | English |
|--------------------------------|--------------------------------------|---------|
| zapisywać | zapisać | save |
| usuwać | usunąć | delete |
| pobierać | pobrać | download |
| wysyłać | wysłać | send |
| otwierać | otworzyć | open |
| zamykać | zamknąć | close |
| tworzyć | utworzyć | create |
| edytować | zedytować | edit |
| zmieniać | zmienić | change |
| pisać | napisać | write |
| czytać | przeczytać | read |
| wybierać | wybrać | choose / select |
| tłumaczyć | przetłumaczyć | translate |
| logować się | zalogować się | log in |

**UI patterns by aspect:**
- Buttons (single action) → **perfective imperative**: `Zapisz`, `Usuń`, `Wyślij`, `Wybierz`. Polish UI convention is IMPERATIVE (not infinitive).
- Ongoing status → **imperfective verbal noun** (`Zapisywanie…`, `Wczytywanie…`) or **`Trwa + verbal noun`**.
- Completed → **impersonal neuter perfective participle (-no/-to)** (`Zapisano`, `Wczytano`, `Wysłano`).

### 11. Verb-construction integrity — no stacked finite verbs (severity 2.0)

English `-ing` (gerund as adverbial) MUST be rendered with **imiesłów przysłówkowy współczesny** (Polish adverbial participle in `-ąc`) OR restructure with `przy + verbal noun`.

| ✗ Stacked finite | ✓ Adverbial participle / przy + noun | English |
|------------------|--------------------------------------|---------|
| `Spędziłem 6 lat budowałem firmę` | **`Spędziłem 6 lat budując firmę`** OR **`Spędziłem 6 lat na budowaniu firmy`** | I spent 6 years building the business |
| `Pracowałem podczas gdy pisałem raport` | **`Pracowałem pisząc raport`** OR **`Pracowałem przy pisaniu raportu`** | I worked while writing the report |

**Common -ąc forms (imperfective verbs only):**
- pisać → pisząc (writing)
- budować → budując (building)
- czekać → czekając (waiting)
- używać → używając (using)
- pracować → pracując (working)

---

## Pronouns and Possessives

### Personal pronouns

| English | Polish | Notes |
|---------|--------|-------|
| I | ja | |
| you (sg. informal) | ty | |
| **you (sg. formal — masc.)** | **Pan** (+ 3rd-person verb) | Capitalized in direct address |
| **you (sg. formal — fem.)** | **Pani** (+ 3rd-person verb) | Capitalized in direct address |
| **you (pl. formal)** | **Państwo** (+ 3rd-person pl. verb) | Capitalized |
| you (pl. informal — all male/mixed) | wy / panowie | wy informal, panowie formal-pl |
| you (pl. informal — all female) | wy / panie | |
| he | on | |
| she | ona | |
| it | ono | |
| we | my | |
| they (m-personal) | oni | |
| they (non-m-personal) | one | |

### Possessive pronouns

| Person | m. sg. | f. sg. | n. sg. |
|--------|--------|--------|--------|
| mój (my) | mój | moja | moje |
| twój (your sg. informal) | twój | twoja | twoje |
| **Pana (your formal m. — invariable)** | **Pana** | **Pana** | **Pana** |
| **Pani (your formal f. — invariable)** | **Pani** | **Pani** | **Pani** |
| **Państwa (your formal pl. — invariable)** | **Państwa** | **Państwa** | **Państwa** |
| jego (his — invariable) | jego | jego | jego |
| jej (her — invariable) | jej | jej | jej |
| swój (reflexive — own) | swój | swoja | swoje |
| nasz (our) | nasz | nasza | nasze |
| ich (their — invariable) | ich | ich | ich |

**Reflexive `swój`** is required when possessor = subject of same clause.

---

## UI Conventions

### Buttons — perfective IMPERATIVE

Polish platform UIs (Windows PL, Chrome PL, macOS PL) use **imperative** for buttons (NOT infinitive like Czech/Slovak). This is a deliberate convention choice.

| English | ✓ Polish imperative |
|---------|---------------------|
| Save | **Zapisz** |
| Cancel | **Anuluj** |
|

…

## 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](https://github.com/i18n-agent)
- **Source:** [i18n-agent/i18nstack](https://github.com/i18n-agent/i18nstack)
- **License:** MIT
- **Homepage:** https://i18nagent.ai

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-i18n-agent-i18nstack-localize-pl
- Seller: https://agentstack.voostack.com/s/i18n-agent
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
