jokubasr/lithuanian-names-declension
A Laravel package for declining Lithuanian personal names into grammatical cases. It helps you generate correct name forms in emails, documents, and UI text without manual inflection, keeping Lithuanian greetings and references grammatically accurate.
Jonas becomes Jonai in a greeting, Jono in a possessive, Jonui for "to Jonas." This package is a small piece of that puzzle (typically nominative → genitive/dative/vocative for first and last names).Sveiki, Jonai vs. the wrong Sveiki, Jonas), invoice and contract headers, shipping labels, "assigned to" fields in a CRM, and formal B2B salutations. Wrong declension is not a bug users report; it is a trust signal they silently downgrade.-as/-is/-ys/-us/-a/-ė/-ė endings, foreign names that should not be declined, hyphenated surnames), then implement or fork 200–400 lines behind your own interface. Lithuanian morphology is rule-based enough that a maintained internal class beats an unmaintained vendor package.Sveiki! alone, or the name in a separate field/label). That is a zero-dependency fix and should be evaluated first — it often removes 60–80% of the surface area.Consider it (as reference material, not a runtime dependency) when:
NameDecliner interface so the implementation can be swapped.Look elsewhere — or skip — when:
require on a modern Laravel 10/11 app without a compatibility spike.To executives: This is not a platform decision — it is a small, MIT-licensed Lithuanian grammar utility with essentially no adoption and no maintenance since 2015. The opportunity is not the package; it is the localization gap it exposes. If Lithuania is on the roadmap, we should budget roughly one engineering week to own a name-declension component (forked or written in-house from this package's rules) plus a copy review, rather than take a supply-chain dependency. The payoff is small but real: greetings, invoices, and notifications that read as native Lithuanian instead of obviously machine-translated. If Lithuania is not on the roadmap, close this out — the correct action is "no."
To engineering: Read it, don't require it. Extract the declension rules and the exception list into our own tested class behind an interface, validate against a fixture set of Lithuanian, foreign, and hyphenated names, and keep a fallback that renders the nominative form safely when confidence is low. Estimate: 1–2 days for a spike, 1 week including tests and template integration. Flag the PHP-version and Laravel-compatibility gap as the reason we fork rather than install.
How can I help you explore Laravel packages today?