- How do I install and configure vemcogroup/laravel-translation?
- Install it with Composer, publish the package configuration, and set your POEditor API token, project ID, and scan paths. Run the scanner in dry-run mode first so you can review detected keys before uploading anything. Then test upload and download against a staging POEditor project rather than production. The package is MIT-licensed and integrates through Composer and Artisan commands.
- Which Laravel and PHP versions does this translation package support?
- The provided overview does not list exact Laravel and PHP version constraints, so check the package's composer.json or Packagist page before installing. Run composer require in a branch and confirm that dependency resolution succeeds for your target Laravel version. Treat the package as build-time tooling and pin a version that resolves cleanly in your app.
- Does the scanner find translation keys in Blade, JavaScript, Vue, JSON, and vendor files?
- The package is designed to scan your code for missing translation keys, but static scanning has limits. Dynamically constructed keys and some Blade, PHP, JavaScript, Vue, JSON, vendor namespace, and namespaced package patterns may be missed. Run a dry-run scan against your real codebase and review the detected terms before trusting the output. Add manual checks for keys that are built at runtime.
- Can I store translations in the database instead of language files?
- Yes. The package is driver-based and can store and edit translations in the database or in files. Database storage can simplify in-app editing, while file-based storage keeps translations in resources/lang or lang and under version control. Choose one source of truth and keep it consistent with your POEditor sync process.
- Is there a web UI for managing translations?
- Yes, it ships a built-in web UI for storing and editing translations, with caching and validation included. Use it for quick fixes or review, but keep your translation files or database under version control and protect the UI routes in non-local environments. For team workflows, POEditor can remain the translator-facing tool while Laravel remains the developer-facing source for new keys.
- How does the POEditor upload and download workflow work?
- After configuring POEditor credentials and scan paths, scan your Laravel code, upload source terms to POEditor, let translators work there, then download translated files back into your repository or release artifact. Test the full round-trip in a staging POEditor project first. Decide whether Laravel or POEditor is the source of truth for new keys before the first sync. POEditor API tokens, rate limits, and partial sync failures are external dependencies to monitor.
- How do I safely preview changes and avoid overwriting or deleting translations?
- Run the scanner in read-only or dry-run mode against a staging POEditor project and compare detected terms with existing terms before syncing. The integration approach explicitly recommends resolving mismatches manually and controlling overwrite or deletion behavior. Keep translation files under version control and pin the package version so you can review or revert changes. Confirm the available dry-run, diff, and deletion protection flags in the package documentation for your version.
- Where should I store the POEditor API token for CI?
- Store the POEditor API token in environment variables or your CI secret store, never in committed configuration or source code. Publish the config and reference env values so local, staging, and CI environments use separate credentials. Restrict CI access to the minimum POEditor project permissions needed for scanning and sync.
- Should I use this package at runtime in production?
- Treat it as build-time localization tooling, not runtime infrastructure. Developers add keys in Laravel, CI or a scheduled job scans and uploads source terms, translators work in POEditor, and a download step writes committed translation artifacts for deployment. Production deployments should consume those committed files rather than calling POEditor at runtime. Install it as a development or CI dependency where possible.
- What are the maintenance risks and what if the package is abandoned or we do not use POEditor?
- The package is MIT-licensed and recent but has a small community footprint of roughly 133 stars, so long-term maintenance and edge-case support are the main risks. It is a poor fit if you do not use POEditor or if another translation management system is mandated. Keep it as replaceable build tooling, pin its version, and retain a fallback such as manual POEditor import/export or a small custom sync script. If the package is abandoned, your committed translation files and POEditor project remain usable.