- What does optimistdigital/nova-lang do?
- It is a Laravel Nova package that adds multi-language support to your admin panel. It lets you manage languages, switch the active locale per user, and localize Nova resources and fields, and it integrates with nova-translatable. It also adds drag-and-drop sorting for a Nova resource's index view.
- Is optimistdigital/nova-lang compatible with Nova 4 or Nova 5?
- No, not out of the box. The last release was in October 2020, placing it in the Nova 3, Laravel 7-8, PHP 7.4 era with Vue 2 and Laravel Mix asset tooling. Nova 4 uses Vue 3 and Vite, so it will not consume those compiled assets, and the PHP service provider may reference APIs that have moved. Expect a compatibility spike rather than a drop-in install.
- How do I install optimistdigital/nova-lang?
- You install it with Composer, publish the package config and migrations, add the provided trait to affected models, and register the Nova tool or service provider. The package also ships middleware, a Language model, and configurable fallbacks. Before committing, confirm the exact Composer constraints because the package targets older Nova and Laravel versions.
- Does optimistdigital/nova-lang work with spatie/laravel-translatable?
- It is not designed to complement spatie/laravel-translatable. Nova-lang encodes an opinionated one-row-per-locale model where a locale is attached to a resource or record and the UI is scoped to the active locale. If your i18n strategy uses JSON translation columns or a sidecar translations table, this package fights your schema rather than fitting it.
- Is there a maintained fork or successor to optimistdigital/nova-lang?
- The optimistdigital vendor was rebranded to outl1ne, so check whether the outl1ne namespace has a Nova 4 or Nova 5-compatible release. That is the lowest-effort path if it exists. If not, evaluate spatie/nova-translatable or an in-house replacement, since the original namespace is effectively frozen.
- How does locale switching work for users in nova-lang?
- The package adds a locale dimension to Nova resources and scopes the UI to the active locale, which is switched per user. It includes middleware, a Language model, and configurable fallbacks to support that flow. The key constraint is that this model must match how your data is already shaped.
- Can I use nova-lang only for sorting the Nova resource index view?
- You can, but the sorting and locale features ship together, so you inherit the localization complexity even if you only want sorting. Nova's native sortable columns or newer index reordering may already cover the requirement. If so, you can drop half the package and avoid an unnecessary data-model commitment.
- Is optimistdigital/nova-lang abandoned or still maintained?
- It is effectively abandoned. The original vendor namespace is frozen, the last release was around five years ago, and adoption signals are very low, with roughly 14 stars and a 0.13 health score. The MIT license means forking is legally clean, which is the main mitigation.
- Which Laravel, PHP, and Nova versions does nova-lang support?
- The package targets Laravel 7 and 8, PHP 7.4 and 8.0, and Nova 3. Do not assume caret ranges will resolve against a modern lockfile. Pin the package to an exact version and verify your Nova major before planning an upgrade.
- How do I test and production-harden an optimistdigital/nova-lang install?
- Pin the package to an exact version, freeze Nova and Laravel minors in composer.json, and add an integration test that boots Nova and renders the affected resource index. This guardrail matters because the main failure mode is a silent, late-breaking incompatibility. If you need patches, vendor-fork the package under an internal namespace and add regression tests.