2017-10-20 9 views
1

두 언어로 제공되는 두 개의 다른 웹 사이트에 동일한 코드베이스를 사용하는 멀티 테넌트 애플리케이션을 개발 중입니다.멀티 테넌트 (multi-tenant) 애플리케이션에 대한 서로 다른 번역

  • 웹 사이트 FR
  • 웹 사이트 EN
  • 웹 사이트 B의 FR
  • 웹 사이트 B EN

Laravel 다른 폴더 아래에, 당신은 resources/lang 디렉토리에 현지화 번역을 저장할 수 있습니다 각 언어 (이 경우 하나의 fr 폴더와 하나의 en 폴더).

이 방법은 정상적으로 작동하지만 현재 번역자에 따라 다르게 번역되어야하는 문자열이 있습니다. 웹 사이트 A에서 "홈"버튼 링크는 "홈"이라고하고 웹 사이트 B에서는 "집으로 이동"이라고합니다.

어떻게 다른 입주자에 대해 다른 번역 파일을 지정할 수 있습니까?

나는이 같은 일을 시도 :

App::setLocale('en'); 

내가 다음 내보기에서 적절한 번역을로드하려고 : 다음

/ ressources 
/lang 
    /fr 
    /tenantA 
     - messages.php 
    /tenantB 
     - messages.php 
    /en 
     /tenantA 
     - messages.php 
     /tenantB 
     - messages.php 

를, I는 서비스 제공 업체에 전 세계적으로 로케일을 설정

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

그러나 이것은 작동하지 않습니다. 단지 echo가 출력됩니다. tenantA.messages.home (리터럴 strin g) messages.php 파일에 들어있는 번역 대신 home 키 아래에 있습니다.

어떻게 해결할 수 있습니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?

답변

1

그것은 sub-directories.를 사용하여 작동하지 않지만, 예를 들어, 당신은 그것을 (v-5.4 테스트) 다음과 같은 방법으로 시도 할 수 있도록은 / 도와 드리겠습니다 :

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