arcanedev/localization
Arcanedev Localization is a Laravel package for managing app translations with a built-in web interface. Edit, add, and delete language files from the browser, switch locales, and use middleware and helpers to set and persist the current language across requests.
/en, /es, /de) rather than a big-bang internationalization release. This is the cheapest way to test demand in a new market before committing to full content translation.domain.com/{locale}/...) with route generation and locale-aware URL helpers. That choice drives hreflang implementation, sitemap structure, canonical tags, and marketing's link-building playbook. Decide it deliberately now; migrating later breaks inbound links and analytics history.Accept-Language → default) is a product behavior question, not just plumbing: auto-redirecting first-time visitors can help conversion in-market and hurt it for travelers, shared links, and crawlers. The package makes the policy configurable, so product can choose session-first or browser-first without custom code.__()/lang files cover static UI strings; this package adds the routing and negotiation scaffolding around them. What it explicitly does not buy you: a translation management system, translator workflows, review state, or machine translation.Consider it when:
/{locale}/ subdirectory pattern.Look elsewhere — or budget for a fork — when:
mcamara/laravel-localization covers similar ground with broader adoption and better support for subdomain and ccTLD strategies; Laravel's native locale handling covers the file-based baseline with zero dependency.For executives: This is MIT-licensed, so there is no license cost — the investment is roughly a few engineer-days to integrate, plus a small ongoing maintenance allowance. It buys faster entry into new markets with SEO-friendly localized URLs and automatic language selection, which compounds as we add locales. The trade-off to accept consciously: a single-maintainer package last released in 2022, so we pin the version, keep locale logic behind a thin internal interface, and reserve a small budget to fork or replace it when we upgrade the framework. That contingency is cheap; rebuilding the same routing and detection layer ourselves would cost more.
For engineering: It is a thin, conventional Laravel wrapper — localized route registration, a supported-locales config, and locale-resolution middleware — so integration is low-risk and readable. The real lock-in is the /{locale}/ URL contract, not the library: isolate locale resolution and URL generation behind our own service so the dependency is swappable. Before committing, confirm framework compatibility against our target Laravel version; if it needs patching, vendor the package and treat the diff as our code to maintain.
How can I help you explore Laravel packages today?