Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Nova Translation Editor Laravel Package

eboye/laravel-nova-translation-editor

A Laravel Nova tool for managing translations directly from your admin panel. Browse and edit language files, keep translation keys organized, and streamline multilingual content updates without leaving Nova.

View on GitHub
Deep Wiki
Context7

Getting Started

This package adds a Laravel Nova tool for browsing and editing translation strings from the Nova UI. Version 0.0.6 is a small community contribution (PR from @olivM referencing issue #2) and does not introduce breaking changes or new configuration requirements.

  1. Require the package in a Laravel app that already has Nova installed:
    composer require eboye/laravel-nova-translation-editor
    
  2. Register the tool in app/Providers/NovaServiceProvider.php inside tools():
    use Eboye\TranslationEditor\TranslationEditor;
    
    public function tools()
    {
        return [
            new TranslationEditor(),
        ];
    }
    
  3. Clear caches and load Nova:
    php artisan optimize:clear
    
  4. Look first at the Nova sidebar entry for the translation editor. It will list your application's language files. Start with a single locale and a small file (e.g. lang/en/auth.php) to confirm read/write access before editing larger files.

First use case: open the tool, pick a locale and translation group, change a value, save, and verify the change appears in resources/lang or lang depending on your Laravel version. Because this is a 0.0.x package, treat the public API and UI as unstable.

Implementation Patterns

  • Register as a Nova tool, not a route. Keep all access behind Nova's authentication and authorization. Add a canSee / canRun gate if only certain admins should edit translations.
  • Pair with source-controlled lang files. Use the UI for quick copy changes and typo fixes, then commit the resulting file changes. Avoid letting the UI become the only source of truth.
  • Use a locale-by-locale workflow. Edit the base locale first, then switch to other locales to fill missing strings. This matches how most teams review translations.
  • Keep translation groups small. Large monolithic files are harder to scan in the UI; prefer Laravel's grouped PHP files (auth.php, pagination.php, validation.php) or JSON files per domain.
  • Integrate with deployment. Since edits write directly to language files, ensure the web server user has write permissions in local/staging. In production, either disable the tool or restrict it to a trusted admin role and back up files before edits.
  • Use it alongside php artisan lang:publish. If you publish framework translations, the editor can then manage those files too. Be deliberate about which vendor translation files you expose.
  • Add a missing-key check to your workflow. After editing, run your test suite or a translation key linter to catch keys referenced in code but absent from lang files.

Gotchas and Tips

  • Pre-1.0 versioning. 0.0.6 is still early. Pin the version in composer.json and review release notes before upgrading. A patch release can contain behaviour changes.
  • Translation cache. Laravel may cache translations in production. After saving in the UI, run php artisan optimize:clear or php artisan cache:clear if changes do not appear immediately.
  • File permissions. The tool writes to lang/ or resources/lang/. Permission errors are the most common failure mode. Confirm the PHP process can write to the target directory.
  • JSON vs PHP files. JSON translation files and nested PHP arrays behave differently. Test both if your app uses JSON translations.
  • Nova version compatibility. Check the package's composer.json constraints against your Nova version. Nova major upgrades often break third-party tools.
  • No audit trail by default. The tool edits files directly. If you need change history, rely on Git or add your own logging around file writes.
  • Issue #2 / PR context. The 0.0.6 change is a community bugfix. There is no migration or config change called out, but verify the specific issue if you were affected by it.
  • Extension points are limited. At this stage, expect to customise by forking or wrapping the tool rather than through extensive configuration. Check the package source for the tool class and any config file before assuming a setting exists.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast