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
One Pot Translations

One Pot Translations Laravel Package

mortendhansen/one-pot-translations

One Pot Translations is a Laravel/PHP package for bringing your application’s translation strings together in one place. It helps organize, edit, and maintain multilingual content across locales, giving teams a simpler workflow for keeping language files consistent and up to date.

View on GitHub
Deep Wiki
Context7

Simple database translations for laravel internationalization (i18n)

Frequently asked questions about One Pot Translations
What does the One Pot Translations package actually do?
It is a lightweight Laravel package that gathers the translation strings from your application's language files into a single, organized pot so you don't have to dig through dozens of nested lang files to find one phrase. It works on top of Laravel's native lang directory rather than replacing your views or code. You get a simple API for reading and updating strings across locales, and your existing __() calls and validation messages keep working unchanged.
How do I install mortendhansen/one-pot-translations with Composer?
Install it with composer require mortendhansen/one-pot-translations in a standard Laravel application. The package is expected to auto-register its service provider through Laravel package discovery, so no manual registration is typically required. After that you can publish the configuration file with php artisan vendor:publish to point the package at your language paths. Confirm the exact provider and config details in the repository README before rolling it out.
Does it break my existing __() helper calls and validation messages?
No. The package is explicitly designed to stay compatible with standard Laravel language files, so the __() helper, @lang directives and validator lookups continue to resolve as before. It reads from and writes to the same lang directory Laravel already uses. That said, always smoke-test a few locales after wiring it in, because translation regressions usually fail silently by rendering the key instead of the string.
Which Laravel and PHP versions are supported?
The package targets conventional Laravel applications, but there is no published supported-version matrix in the v1.1.2 release note, so the composer.json constraints are the authoritative answer. Check those constraints against your pinned Laravel and PHP versions before adopting it, and treat that verification as a gating task rather than a formality. If CI status is visible on the repository, confirm it is green against the versions you actually run.
Can I use it alongside JSON translation files and validation.php?
The package is built around Laravel's native lang directory, which includes both PHP array files and JSON translation files that Laravel loads by locale. It does not change how those files are resolved at runtime, so your validation.php rules and JSON keys should keep working. The main work is mapping your existing directory structure, namespaces and key formats onto the package's pot, so budget a short spike to confirm the fit.
How do I configure custom language paths?
The package ships a publishable config file that lets you define custom language paths instead of relying on the default lang directory. Publish it with php artisan vendor:publish and adjust the paths to match your project layout. Because the config schema is part of the package's public surface, review the file after every update in case new options or renamed keys were introduced.
Does the package write to lang files at runtime or at build time?
This is the most important question to answer before using it in production, and it is not documented in the v1.1.2 release note. If it can mutate files under lang at runtime, you need to know whether those writes are atomic, whether they preserve file permissions, and how they interact with deployments where the filesystem may be read-only. Run it as a read-only observer first and confirm the write path against a throwaway environment.
Is it safe to run in production on a busy application?
The package sits in the localization and tooling tier rather than the request hot path, so a defect is unlikely to take the application down. The realistic risk is a silent localization bug: wrong strings, untranslated keys, or fallback to the key name in a locale your tests don't cover. Roll it out behind a staging environment, cover at least one non-default locale in your test suite, and verify cache behaviour if you use translation caching.
Does One Pot Translations replace Laravel's Translator or wrap it?
The public description says it stays compatible with native language files and leaves __() lookups intact, which implies a wrapper rather than a replacement, but this is not confirmed in the changelog. Wrapping is low risk and reversible; substituting Laravel's own loader creates a hard coupling to the package's release cadence and internal contracts. Read the source or the diff before committing, and confirm the exit path if you remove the package.
Who maintains the package and what happens if it is abandoned?
One Pot Translations is maintained by a single author, Morten D. Hansen, with no evidence of a second committer, funded maintenance or a published security disclosure channel. That bus-factor of one is the dominant long-term risk, and it is unchanged by the v1.1.2 patch release. Mitigate it by pinning the version, keeping your lang files valid standalone Laravel files so removal is trivial, and watching the repository for release cadence.
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.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core