Phalcon-다국어 지원

Phalcon은 구성 요소를 포함합니다 Phalcon\Translate 다국어 지원을 제공하며 여러 언어로 번역되는 웹 페이지를 만드는 데 매우 유용합니다.

여기에는 배열 바인딩과 번역 메시지 읽기를 지원하는 어댑터가 포함되어 있습니다.

제안 된 언어에 따라 출력을 표시하는 데 도움이되는 Phalcon의 번역 구성 요소를 사용하여 출력을 생성하겠습니다.

Step 1− Phalcon은 모든 개발자에게 번역 문자열을 구성 할 수있는 자유를 제공합니다. 즉, 두 개의 다른 파일을 유지하는 것이 좋습니다.en.php (영어 문자열) 및 fr.php (프랑스어 문자열).

파일에는 키-값 쌍의 배열이 포함됩니다. 여기서 키는 고유하고 값은 필요한 번역에 따라 다릅니다.

en.php

<?php  

// app/messages/en.php 

$messagesContent = [ 
   "bye"     => "Good Bye", 
   "hi-name" => "Hello %name%", 
   "song"    => "Your favorite song is %song%", 
];

fr.php

<?php 

// app/messages/fr.php 

$messagesContent = [ 
   "bye"        => "Au revoir", 
   "hello-name" => "Bonjour %name%", 
   "song"       => "Votre chanson préférée est %song%", 
];

Step 2 − 응용 프로그램에서 UserController 번역에 사용할 파일에 대한 매개 변수를 사용합니다.

<?php 

use Phalcon\Translate\Adapter\NativeArray; 

class UserController extends \Phalcon\Mvc\Controller {  
   protected function getMessageTransalation() { 
      // Ask for the best language 
      // Display the output in desired language 
      require "en.php";   
      
      // Return a translation object 
      return new NativeArray( ["content" => $messagesContent,]); 
   }  
   public function indexAction() { 
      $this->view->name = "Radhika"; 
      $this->view->song= "Ton sourire m'ensorcelle Je suis fou de toi Le désir coule dans mes veines Guidé par ta voix"; 
      $this->view->t    = $this->getMessageTransalation(); 
   } 
}

기본 방법의 경우 두 개의 매개 변수가 사용됩니다. 첫 번째는 이름이고 두 번째는 사용자가 가장 좋아하는 노래입니다. 나중에 기능getMessageTranslation 원하는 출력을 반환하는 호출됩니다.

지금은 영어로 된 출력을 원합니다.

Step 3 − 관련 code view demo\app\views\User\index.volt 다음 코드가 포함됩니다-

<p><?php echo $t->_("hello-name", ["name" => $name]); ?></p> 
<p><?php echo $t->_("song", ["song" => $song]); ?></p>

전체 출력을 프랑스어로 표시하려면 파일 이름 만 변경하면됩니다.

require "fr.php";

다음은 프랑스어 출력입니다.