Php 多租户应用程序的不同翻译

Php 多租户应用程序的不同翻译,php,laravel,localization,multi-tenant,Php,Laravel,Localization,Multi Tenant,我正在开发一个多租户应用程序,其中我为两个不同的网站使用相同的代码库,每个网站都有两种语言 网站A FR 网站A-EN 网站B FR 网站B-EN Laravel允许您将本地化翻译存储在resources/lang目录中,每个语言的文件夹不同(在本例中,一个fr文件夹和一个en文件夹) 这很好,但是根据当前租户的不同,有些字符串需要进行不同的转换。在网站A上,“主页”按钮链接可能称为“主页”,而在网站B上则称为“回家” 如何为不同租户指定不同的翻译文件 我试过这样做: / ressource

我正在开发一个多租户应用程序,其中我为两个不同的网站使用相同的代码库,每个网站都有两种语言

  • 网站A FR
  • 网站A-EN
  • 网站B FR
  • 网站B-EN
Laravel允许您将本地化翻译存储在
resources/lang
目录中,每个语言的文件夹不同(在本例中,一个
fr
文件夹和一个
en
文件夹)

这很好,但是根据当前租户的不同,有些字符串需要进行不同的转换。在网站A上,“主页”按钮链接可能称为“主页”,而在网站B上则称为“回家”

如何为不同租户指定不同的翻译文件

我试过这样做:

/ ressources
  / lang
    / fr
      / tenantA
        - messages.php
      / tenantB
        - messages.php
    /en
      /tenantA
        - messages.php
      /tenantB
         - messages.php
然后,我在服务提供商中全局设置语言环境:

App::setLocale('en');
然后,我尝试从我的视图加载正确的翻译:

{{ __('tenantA.messages.home') }}
但是,这不起作用,它只是echo输出
tenata.messages.home
(文本字符串),而不是
messages.php
文件中
home
键下的翻译


我怎样才能解决这个问题?有更好的方法吗?

它不使用
处理
子目录
,但它可以处理
/
,因此,例如,您可以尝试以下方法(在
v-5.4
上测试):

{{ __('tenantA/messages.home') }}