Install
$ agentstack add skill-i18n-agent-i18nstack-localize-lt ✓ 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: Lithuanian (lt → Lietuvių)
You are translating source text into Lithuanian for Lithuania. This skill captures grammar, register, UI conventions, formatting, and Lithuanian-specific failure modes derived from a production translation prompt.
Scope & Variants
One standard:
- lt-LT — Lithuanian as used in Lithuania. Official state language.
No widely-distinguished variants in software localization.
Native name: Lietuvių kalba (the language); lietuviškai (the adverb "in Lithuanian"). Use "lietuvių" for the language.
Identity guardrail:
- Lithuanian is Baltic, NOT Slavic. It is in the same family as Latvian (Baltic) — not Russian, Polish, or any Slavic language, despite geographic proximity and centuries of contact.
- Lithuanian is NOT Latvian. Sister languages, but distinct: Lithuanian has 7 cases (including active vocative), Latvian has 6. Lithuanian uses ogoneks (ą ę į ų) for long vowels and the unique letter
ė; Latvian uses macrons (ā ē ī ū) and cedillas (ģ ķ ļ ņ). Different prepositional government, different ICU plural rules. - Lithuanian is one of the most archaic Indo-European languages still spoken — its grammar preserves features lost in most other IE languages. Do NOT modernize/simplify by analogy to Slavic or Germanic.
- Never translate Lithuanian content via Russian, Polish, or Latvian intermediaries.
Register
Default level: FORMAL (Jūs-form) for software UI, errors, documentation, marketing. This differs from Latvian's neutral default.
| Source signals | Target register | |---|---| | Product UI, error messages, documentation, customer support, marketing | Jūs-form (default) | | Personal blog, casual narrative, dialog, kids' content | tu-form | | Short rhetorical fragments, exclamations | Preserve the rhetorical device — do NOT expand to formal full sentence |
| | Jūs (formal) | tu (informal) | |---|---|---| | Subject pronoun | Jūs | tu | | Possessive | jūsų | tavo | | Verb ending (2pl) | -ate / -ite (galite) | -i (gali) | | Imperative ending | -kite (Išsaugokite, Spustelėkite) | -k (Išsaugok, Spustelėk) |
Within a file, ONE register only. Mixing Jūs gali (formal pronoun + informal verb) or Jūsų failas + Išsaugok (formal possessive + informal imperative) is always wrong.
Examples:
- ❌ Jūs gali pakeisti nustatymus → ✅ Jūs galite pakeisti nustatymus
- ❌ Įkelkite jūsų failus + Naršyk → ✅ Įkelkite jūsų failus + Naršykite
Critical Hard Rules
Special Characters: ą č ę ė į š ų ū ž (severity 3.0)
These are essential letters, not optional diacritics. Stripping makes Lithuanian unreadable.
ėis UNIQUE to Lithuanian (no other language uses it as a base letter) — represents a long mid-front vowel.- Ogonek letters (ą, ę, į, ų) historically marked nasal vowels; modern pronunciation = long vowels. Stripping confuses cases (genitive plural
nustatymųvs nominativenustatymu— different word). ūis a long u.- Háčeks (č, š, ž) = post-alveolar fricatives/affricates.
| Wrong (stripped) | Correct | Word | |---|---|---| | ieskoti | ieškoti | to search (š essential) | | zodynas | žodynas | dictionary (ž essential) | | nustatymu | nustatymų | settings (ų essential — genitive plural) | | ikelti | įkelti | upload (į essential) | | cia | čia | here (č essential) | | buti | būti | to be (ū essential) | | del | dėl | because of (ė essential) |
The ė vs e distinction is meaning-critical (mane "me" vs manė "thought"). Never replace ė with e.
Two-Gender Agreement (severity 2.0)
Lithuanian has 2 grammatical genders determined by noun ending:
| Ending | Gender | Examples | |---|---|---| | -as, -is, -us, -ys | masculine | vartotojas, failas, brolis, sūnus, mėnesis | | -a, -ė | feminine | sistema, platforma, mergaitė, paskyra |
(A few -is nouns are feminine — e.g., naktis "night", širdis "heart" — but rare in tech UI.)
Adjectives agree in gender + number + case (3-way agreement):
| Wrong | Correct | Why | |---|---|---| | naujas sistema | nauja sistema | sistema is fem | | nauja failas | naujas failas | failas is masc | | geras platforma | gera platforma | platforma is fem | | nauja vartotojas | naujas vartotojas | vartotojas is masc |
Seven-Case System (severity 2.0)
Lithuanian has 7 cases (vocative is active — used in direct address, unlike Latvian):
| Case | Function | Example (failas — file, masc) | |---|---|---| | Nominative (vardininkas) | subject | failas yra atidarytas | | Genitive (kilmininkas) | possession, after iš/nuo/dėl/be/iki | failo turinys | | Dative (naudininkas) | indirect obj, "for whom" | failui | | Accusative (galininkas) | direct obj, duration, after į/per/pro/apie/už | matau failą | | Instrumental (įnagininkas) | means, after su | su failu | | Locative (vietininkas) | location ("in"), no preposition needed | faile | | Vocative (šauksmininkas) | direct address | (faile! — though rare in UI; common for names: Jonai!) |
Key gotchas:
- ❌
su failas→ ✅su fail**u**(su + instrumental) - ❌
į sistema→ ✅į sistem**ą**(į + accusative for motion) - ❌
į sistemoje→ ✅į sistem**ą**(motion) /sistemoje(location, no prep) - ❌
iš sistema→ ✅iš sistem**os**(iš + genitive) - ❌
apie failas→ ✅apie fail**ą**(apie + accusative)
Accusative of Duration (severity 2.5)
Time durations require ACCUSATIVE (galininkas), NOT genitive. This is a Lithuanian-specific rule that frequently fails.
| Wrong (genitive) | Correct (accusative) | English | |---|---|---| | Praleidau 6 metų | Praleidau 6 metus | I spent 6 years | | Dirbau 3 valandų | Dirbau 3 valandas | I worked 3 hours | | Mokiausi 5 mėnesių | Mokiausi 5 mėnesius | I studied 5 months |
Exception — verbs that govern genitive specifically (e.g., laukti "wait for") keep their genitive:
- ✅ Laukiau 20 minučių (laukti governs genitive — minučių is correct here)
- ✅ Bet: Mokiausi 20 minučių? Verify each verb's government.
Rule of thumb: if English uses "for X time/duration", the default Lithuanian case is accusative — unless the governing verb specifically demands a different case.
Verb Construction Integrity (severity 2.0–2.5)
"Before doing X": use prieš + padalyvis (half-participle/gerund) — NEVER prieš + finite verb.
| Wrong | Correct | |---|---| | prieš jūs sumokėjote (prieš + finite past) | prieš sumokant (padalyvis) / prieš tai sumokėjus (pusdalyvis) |
Passive voice: requires correct participle + case agreement.
Person consistency in narrative: if the narrator is the subject, use 1st person throughout. Do not drift to 3rd person.
- ❌ Padėjo valdyti (3rd person where narrator is subject) → ✅ Padėjau valdyti (1st person)
Relative Pronoun Agreement: kuris/kuri (severity 2.5)
Relative pronouns must agree with antecedent in gender + number. Case is determined by the relative clause role.
| Wrong | Correct | Why | |---|---|---| | sistema, kuris veikia | sistema, kuri veikia | sistema is feminine → kuri | | DI, kuri niekada nepamiršta | DI, kuris niekada nepamiršta | DI (dirbtinis intelektas) is masculine → kuris | | platforma, kuris palaiko | platforma, kuri palaiko | platforma is feminine → kuri |
Number+Case in Counted Nouns (severity 2.0)
Lithuanian has a sophisticated number-noun case pattern:
| Number | Case | Example (failas) | |---|---|---| | 1, 21, 31, 41... (ends in 1 except 11) | nominative singular | 1 failas, 21 failas | | 2-9, 22-29... | nominative plural | 3 failai, 5 failai | | 0, 10-20, multiples of 10 | genitive plural | 10 failų, 0 failų, 15 failų |
Adjectives match:
- ❌ trys naujas failai → ✅ trys nauji failai (nom.pl)
- ❌ dešimt nauji failų → ✅ dešimt naujų failų (gen.pl)
ICU Plural Categories (severity 2.5)
Lithuanian has 4 CLDR plural categories: one / few / many / other.
| Branch | Rule | Case required | Example | |---|---|---|---| | one | n mod 10 = 1 AND n mod 100 ≠ 11-19 | nominative singular | one {# failas} | | few | n mod 10 = 2-9 AND n mod 100 ≠ 11-19 | nominative plural | few {# failai} | | many | n is a non-integer (fraction/decimal) | genitive singular | many {# failo} | | other | n = 0, 10-20, 30, 40... (also general fallback) | genitive plural | other {# failų} |
Wait — verify the spec. Lithuanian CLDR is:
- one: n % 10 = 1 and n % 100 ≠ 11 (integers ending in 1 except 11)
- few: n % 10 = 2..9 and n % 100 ≠ 11..19 (integers ending in 2-9 except 11-19)
- many: non-integer (decimal/fraction) → genitive singular
- other: everything else (including 0, 10-20) → genitive plural
{count, plural,
one {# failas}
few {# failai}
many {# failo}
other {# failų}
}
❌ many {# failai} → ✅ many {# failo} (gen.sg for fractions) ❌ one {# failai} (nom.pl in one branch) → ✅ one {# failas} (nom.sg) ❌ other {# failas} → ✅ other {# failų} (gen.pl)
Ellipsis Completion (severity 2.0)
Lithuanian requires an explicit noun after numbers/quantifiers — bare numbers or dangling genitives are ungrammatical:
- ❌ "4 kitų" (bare genitive, no noun) → ✅ "dar 4 modeliai" / "4 kiti modeliai"
- ❌ "ir 3 daugiau" → ✅ "ir dar 3 failai" / "ir 3 papildomi"
Definite vs Indefinite Adjectives
Lithuanian has two adjective forms:
| Form | Use | Example | |---|---|---| | Indefinite | general, non-specific | naujas failas (a new file) | | Definite (pronominal) | specific, already-mentioned | naujasis failas (the new file) |
UI usually uses indefinite:
- ❌ "naujasis failas" for general reference
- ✅ "naujas failas"
Pronouns and Possessives
| English | Formal (Jūs) | Informal (tu) | |---|---|---| | you (subj) | Jūs | tu | | your (poss) | jūsų | tavo | | Imperative ending | -kite (Išsaugokite) | -k (Išsaugok) | | Verb (2pl/sg) | -ate/-ite (galite) | -i (gali) |
jūsų and tavo are invariable possessives (do not decline). Possessive adjectives mano, tavo, savo, jo, jos, mūsų, jūsų, jų all stay in the same form regardless of the noun's case.
UI Conventions
Button Labels — Infinitive Form
Lithuanian buttons use the infinitive, NOT the imperative or nominalization:
| Wrong | Correct | English | |---|---|---| | Išsaugokite (imperative) | Išsaugoti | Save | | Išsaugojimas (nominalization) | Išsaugoti | Save | | Ištrinkite | Ištrinti | Delete | | Atšaukite | Atšaukti | Cancel | | Pasirinkite | Pasirinkti | Select | | Spustelėkite | Spustelėti | Click |
Status Messages — Impersonal / 3rd Person
Use active 3rd person or impersonal passive — NOT "Mes analizuojame...":
| Wrong | Correct | English | |---|---|---| | Mes analizuojame... | Analizuoja... / Analizuojama... | Analyzing... | | Sistema krauna | Krauna... / Kraunama... | Loading... | | Mes saugome jūsų darbą | Saugoma... / Saugomas darbas... | Saving... |
Bulk Action Buttons — Use "viską" (accusative)
✅ Pasirinkti viską (Select All)
✅ Atšaukti visą pasirinkimą (Deselect All)
✅ Išvalyti viską (Clear All)
❌ Pasirinkti visus (implies "all people")
Pattern: [infinitive] + viską OR [infinitive] + visą + [noun.acc]
Drag-and-Drop Vocabulary
- vilkti = drag
- numesti = drop
- ❌ "paleisti" = release/liberate — wrong meaning
✅ Vilkite failus čia (drag files here)
✅ Vilkite ir numeskite failus čia (drag and drop files here)
❌ Numeskite failus čia (drop-only — feels incomplete)
❌ Paleiskite failą čia (paleisti = release, not drop)
File Picker / Placeholder Handling
Avoid putting placeholders in a case-marked position — restructure:
- ❌ "{name} failui" (case on placeholder) → ✅ "Failui {name}" / "Failas pavadinimu {name}"
- ❌ "Palaikymas {formatList} failams" → ✅ "Palaikomi {formatList} failai / formatai" (participle over noun+dative)
Punctuation, Numbers, Dates, Currency
Quotation Marks
- Lithuanian uses German-style low-high quotes:
„..." - ❌ "English quotes" → ✅ „Lietuviškos kabutės"
Numbers
- Decimal separator: comma (1,5)
- Thousands separator: space (1 234,56)
- ❌ 1,234.56 → ✅ 1 234,56
Dates
- Numeric (ISO): YYYY-MM-DD → 2024-01-15
- Long form: "2024 m. sausio 15 d." (months lowercase, "m." = metai/year, "d." = diena/day)
- The "m." abbreviation always follows the year; "d." always follows the day number.
Time
- 24-hour: 14:30 or
14 val. 30 min.(val. = valanda = "hour")
Currency: EUR (since 2015)
- Lithuania adopted the euro on 2015-01-01. Symbol after amount.
- Format:
99,99 €/1 234,56 € - Pre-2015 currency was litas (Lt) — should NOT appear in new UI.
Comma Rules
NO comma before coordinating conjunctions:
- arba (or), ar (or — different nuance), ir (and), bei (and also)
- ❌ "Vilkite failus čia, arba spustelėkite" → ✅ "...čia arba spustelėkite"
- Exception: comma DOES precede
bet/tačiau/o(but)
ALWAYS comma before subordinating conjunctions:
- kad (that): "Matau, kad failas atidarytas"
- kuris / kuri (which/who): "Failas, kurį pasirinkote"
- jei / jeigu (if): "Spustelėkite, jei norite tęsti"
- nes / kadangi (because): "Neveikia, nes failas nerastas"
- kai (when): "Pranešti, kai bus baigta"
Terminology
| English | Preferred Lithuanian | Avoid | |---|---|---| | Click | spustelėti / paspausti | klikinti (anglicism) | | Settings | nustatymai | — | | User | vartotojas | — | | Delete | ištrinti / pašalinti | — | | Save | išsaugoti | — | | Upload | įkelti | uploadinti | | Download | atsisiųsti | downloadinti | | Log in | prisijungti | — | | Log out | atsijungti | — | | File | failas (or rinkmena — pure Lithuanian, more formal) | — | | Folder | aplankas | — | | Dashboard | valdymo skydelis | — | | Account | paskyra | — | | Email | el. paštas | emailas | | Browser | naršyklė | brauseris | | Link | nuoroda | — | | Password | slaptažodis | — | | Search | paieška / ieškoti | — |
Proper noun abbreviations in UI:
- ✅ "JAV" (NOT "Jungtinės Amerikos Valstijos" in cramped UI)
- ✅ "JK" / "Didžioji Britanija" (NOT "Jungtinė Didžiosios Britanijos Karalystė")
- ✅ "ES" (Europos Sąjunga — European Union)
- ✅ "DI" (dirbtinis intelektas — AI; treat as masculine)
Brand names remain undeclined. Take gender of implied noun (OneSky platforma = fem, OneSky įrankis = masc) or default to masculine.
Calque / Anti-Pattern Blocklist
| Wrong (calque) | Correct (idiomatic) | Source | |---|---|---| | Tai daro prasmę | Tai logiška / Tai turi prasmę | "makes sense" | | daryti prasmę | turėti prasmę / būti prasminga | "make sense" | | Dienos pabaigoje | Galų gale / Iš esmės | "at the end of the day" | | Ne tikrai | Iš tiesų ne / Ne visai | "not really" | | būti saugioje pusėje | dėl visa ko / saugumo dėlei | "be on the safe side" | | Salaužk koją (literal) | Sėkmės! / Lai sekasi! | "break a leg" | | Lengvas kaip pyragas | (literal calque acceptable but) paprasta kaip du kartus du | "piece of cake" | | Lyja kates ir šunis | Lyja kaip iš kibiro | "raining cats and dogs" | | vartotojo-draugiškas | patogus vartotojui / intuityvus | "user-friendly" | | debesija-paremtas | debesyje veikiantis / debesų paslauga | "cloud-based" | | konteksto suvokiantis | kontekstą suprantantis / kontekstinis | "context-aware" | | DI-varomas | su dirbtinio intelekto pagalba / paremtas dirbtiniu intelektu | "AI-powered" | | duomenų varomas | paremtas duomenimis / duomenimis grįstas | "data-driven" | | downloadinti | atsisiųsti | direct anglicism | | uploadinti | įkelti | direct anglicism | | klikinti | spustelėti / paspausti | direct anglicism | | emailas | el. paštas | direct anglicism |
"per" vs "for" Distinction
Lithuani
…
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.