Bug report
What I did
I created an addon, then published lang files from my addon
What I expected to happen
I expetected to override some strings and see changes in the UI
What happened
Changes are ignored
What I've already tried to fix it
I changed AutomaticServiceProvider
as follows
protected function publishedLangsPath() {
app()->langPath(). '/vendor/'. $this->vendorNameDotPackageName();
}
I don't like it, because, publish lang files, creates a weird folder 'company_name.package_name' instead of standard 'company_name' .
It's ugly but laravel 9 can find it.
See vendor/laravel/framework/src/Illuminate/Translation/FileLoader.php
, in the specific note the inner working of
loadNamespaced
loadNamespaceOverrides
I've no idea how to add additional overrides or hints from the package itself to be able to autopublish to a company_name
folder instead of company_name.package_name
and ALSO allow Laravel to find overrides in here.
i tried also to leave publishedLangsPath
as
return app()->langPath(). '/vendor/'. $this->vendorName;
but change boot()
from
if ($this->packageDirectoryExistsAndIsNotEmpty('resources/lang')) {
$this->loadTranslationsFrom($this->packageLangsPath(), $this->vendorNameDotPackageName());
}
to
if ($this->packageDirectoryExistsAndIsNotEmpty('resources/lang')) {
$this->loadTranslationsFrom($this->packageLangsPath(), $this->vendorName);
}
This causes the desidered folder name, with only the company, but then every occurrency of
trans('company_name.package_name::package_name.string_key')
must be replaced with
trans('company_name::package_name.string_key')
Context to replicate the bug - Backpack, Laravel, PHP, DB version
When I run php artisan backpack:version
the output is:
### PHP VERSION:
PHP 8.0.3 (cli) (built: Mar 2 2021 23:34:05) ( ZTS Visual C++ 2019 x64 )
Copyright (c) The PHP Group
Zend Engine v4.0.3, Copyright (c) Zend Technologies
### LARAVEL VERSION:
v9.17.0@091e287678ac723c591509ca6374e4ded4a99b1c
### BACKPACK VERSION:
5.1.0@9e1de794137ceb1ade1fa35e3b9366f97285efb3