
- Phalcon 教程
- Phalcon - 首頁
- Phalcon - 概述
- Phalcon - 環境設定
- Phalcon - 應用結構
- Phalcon - 功能
- Phalcon - 配置
- Phalcon - 控制器
- Phalcon - 模型
- Phalcon - 檢視
- Phalcon - 路由
- Phalcon - 資料庫連線
- Phalcon - 切換資料庫
- Phalcon - 腳手架應用
- Phalcon - 查詢語言
- Phalcon - 資料庫遷移
- Phalcon - Cookie 管理
- Phalcon - Session 管理
- Phalcon - 多語言支援
- Phalcon - 資源管理
- Phalcon - 表單操作
- Phalcon - 物件文件對映器
- Phalcon - 安全特性
- Phalcon 有用資源
- Phalcon - 快速指南
- Phalcon - 有用資源
- Phalcon - 討論
Phalcon - 多語言支援
Phalcon 包含一個元件 Phalcon\Translate,它提供多語言支援,對於建立可翻譯成多種語言的網頁非常有用。
它包括一個介面卡,有助於繫結陣列並協助讀取翻譯訊息。
示例
讓我們使用 Phalcon 中的 Translate 元件建立一個輸出,這將有助於根據建議的語言顯示輸出。
步驟 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%", ];
步驟 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 函式,該函式返回所需的輸出。
目前,我們希望輸出為英文。
步驟 3 - 關聯的 程式碼檢視 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";
以下是法語輸出。

廣告