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
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') }}