armincms/nova-translation
A Laravel Nova tool for managing application translations from the Nova dashboard. Browse and edit translation keys and language files through a convenient interface, simplifying multilingual app maintenance without manual file edits.
composer require <vendor>/<package>:"^2.0". Version 2 is the Nova 4 line — do not attempt to install it into a Nova 3 app.app/Nova/NovaServiceProvider.php (cards(), tools(), fields(), or dashboards()).php artisan nova:publish or the package's own publish tag so compiled assets land in public/vendor/<package>.php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider" and check config/<package>.php for feature toggles, route prefixes, and middleware./nova, and confirm it renders. Only then wire it into multiple resources — this isolates asset-pipeline problems from configuration problems.fields() on the relevant Nova resource; for a card, add it in cards() on a resource or NovaServiceProvider::cards() for the dashboard. Prefer resource-level scoping when the data is model-specific.cards() declarative — instantiate with options rather than reading request state inside the card, so cards remain cacheable and testable.tools(), then use the package's routes/controllers for data endpoints. Keep authorization in the tool's authorize() or a policy rather than in the Vue component.resolve() / fields() callbacks) and pass primitives to the frontend. This keeps N+1 queries out of the Nova request cycle.Index (table cell, no full model) and Detail views. Test both; use ->onlyOnDetail() / ->hideFromIndex() where the component assumes a loaded model.CanSee, CanBeSeen, and metric filters instead of building parallel visibility logic in the package config.npm run watch inside the package (or nova:dev) while pointing the app's composer.json at a path repository, so frontend changes hot-reload without republishing assets each time.Vue.component registration. If you have custom Nova components that depended on this package's v1 frontend hooks, they will not carry over. Pin ^1.0 on any Nova 3 app that still needs it.php artisan nova:publish --force and clear public/vendor/<package>, then hard-refresh. Half-broken rendering is almost always old compiled assets.nova constraint and the package's nova constraint overlap; otherwise you get an unresolvable dependency error that looks like a package bug.Gate::define / policies and the tool's authorize() before assuming a rendering bug.config:cache, route:cache) will hide newly published config and registered routes. Clear both after any publish step.nova:dev tooling; because the frontend is Inertia-driven, network tab inspection of the /nova-api calls usually reveals whether the problem is server-side resolution or component rendering.How can I help you explore Laravel packages today?