- How do I install cyberwolfstudio/lingua in a Laravel app?
- Install Lingua with Composer and follow the package configuration steps for your Laravel application. The package is designed to scan Laravel lang files and generate translation assets for your InertiaJS frontend. Because adoption is low, run a short spike to confirm the exact install and generation commands before adding it to your main branch.
- Which Laravel and PHP versions does Lingua support?
- The package's Composer constraints determine supported Laravel and PHP versions, so check them against your application before installing. The available context does not list exact version ranges, and low adoption means compatibility testing is on you. Verify Laravel, PHP, Node, and Vite versions in a non-production branch first.
- How does Lingua generate translation assets for InertiaJS?
- Lingua is intended as a build-time translation bridge: it scans your Laravel translation keys and produces assets your frontend can import. The exact Artisan or build command and JSON output schema should be confirmed from the README during a technical spike. Then wire that command into your Vite or deployment build so generated translations stay in sync.
- Does Lingua support nested translation keys, interpolation, and pluralization?
- Nested keys, interpolation, pluralization, and fallback locales are exactly the areas a TPM should validate before rollout. The package aims to keep Laravel lang files in sync, but the provided context does not guarantee identical behavior for every i18n edge case. Test representative keys in a non-English locale and compare rendered output with Laravel's own translator.
- How do I switch locales at runtime in an InertiaJS app using Lingua?
- Lingua generates translation assets at build time; runtime locale selection remains the responsibility of your frontend i18n library and Inertia page props. You will typically pass the active locale from Laravel to Inertia and let the frontend choose the matching generated catalog. Confirm fallback behavior and locale switching in a smoke test before relying on it.
- Does Lingua work with Vite and frontend i18n libraries like vue-i18n or react-i18next?
- Lingua is aimed at Laravel apps that compile frontend assets with Vite or Mix for Vue, React, or Inertia. It should feed your existing i18n library rather than introduce a second translation mechanism. Confirm output format compatibility with your chosen library, and standardize key naming before rollout.
- Should I commit Lingua's generated translation files or build them in CI?
- Either approach can work, but the decision should be explicit: commit generated assets for reproducibility, build them in CI for freshness, or generate during deployment. Avoid rebuilding unnecessarily for large catalogs, and cache generated files where possible. Document the chosen flow and add a CI check for missing keys or stale translations.
- Is Lingua suitable for API-only Laravel backends or separate frontend repositories?
- Lingua is a poor fit for API-only backends because it targets Laravel apps with lang files and a compiled Inertia, Vue, or React frontend. It is also weaker for separate frontend repositories unless the backend build publishes translation artifacts into the frontend pipeline. For those cases, a dedicated translation management platform or a small internal export script is a better fit.
- What are the risks of using a low-adoption package like Lingua in production?
- The main risks are very low adoption, limited ecosystem validation, and uncertainty around Laravel/PHP constraints, Vite compatibility, output schema stability, and pluralization behavior. Pin the package version, assign an internal owner, and avoid making it a critical-path dependency without an exit plan. Keep a fallback generator or documented extraction process for critical localization flows.
- How do I replace Lingua if it is abandoned or unsupported?
- Because Lingua is essentially a build-time export of Laravel lang files, you can reproduce its output with a small internal script that reads lang files and emits JSON. Document that fallback before rollout and test it against the same keys and locales. This gives you a practical exit plan if the package is abandoned or stops working with your Laravel or Vite versions.