php Laravel -自定义位置的多语言文件

g0czyy6m  于 2023-01-04  发布在  PHP
关注(0)|答案(4)|浏览(124)

是否有一种方法可以为同一种语言有多个语言文件?我知道这将工作,如果你有不同的软件包,但我有自己的插件系统。是否有一种方法可以加载额外的语言文件在运行时?

vd8tlhqk

vd8tlhqk1#

如果您这样做(在app/start/global.php内部或您喜欢的位置)

Lang::addNamespace('namespace', '/your/custom/location');

那你应该可以

Lang::get('namespace::filename.localekey');
zpjtge22

zpjtge222#

在正确的语言目录中为插件创建一个文件

/app
    /lang
        /en
            myplugin.php

那你就可以

echo Lang::get('myplugin.foobar');

其中 * foobar * 是包含语言环境的行中的键

2ul0zpep

2ul0zpep3#

问:有没有办法为同一种语言创建多个语言文件?
A:是的,很多方面。
问:我知道如果你有不同的软件包,它会工作,但我有自己的插件系统.
A:未处理的异常:你的意思是什么?你有一个插件系统,好吧,为什么会阻止你有多语言文件?什么机制与有“不同的包”会以某种方式使多语言文件为同一种语言?
问:有没有办法在运行时加载额外的语言文件?
A:Javascript?
实际回答:你看过这个软件包吗?https://github.com/mcamara/laravel-localization-它可能会帮你很多。没有更多的信息,这是关于具体的,因为我可以得到。

9fkzdhlc

9fkzdhlc4#

我是这样发现的:
AppServiceProvider.php中:

public function boot()
{
    // ...

    app('translator')->addNamespace('shared', base_path() . '/src/Domain/Shared/resources/lang/');

    // ...
}

然后在任意刀片文件中:

{{ __('shared::langfile.key-in-the-file') }}

相关问题