2010-12-02 23 views
0

我有不同的優先級的數組在我的控制器:
var $priorities = array(3 => 'Low', 2 => 'Medium', 1 => 'High');翻譯陣列中的字符串__ CakePHP中

我現在該如何管理這些值與__-功能翻譯?我得到一個數組,PHP期望關閉')'括號。這是我試圖使用的代碼:
var $priorities = array(3 => __('Low'), 2 => __('Medium'), 1 => __('High'));

我使用此變量將其設置在我的添加和編輯操作中。這些都是選擇輸入的選項,如果有變化,我不想在視圖中擺弄。

回答

3

通過var關鍵字判斷我懷疑你正試圖在這裏聲明一個類屬性。這不起作用,您只能使用靜態值聲明屬性,即您此時不能調用任何函數或執行任何操作。

您需要稍後翻譯這些值,或稍後將它們分配到$this->priorities__construct方法將是一個好地方,如果它是一個控制器beforeFilter也很好。

您還需要與true調用__函數作爲第二個參數:

$this->priorities = array(3 => __('Low', true), 2 => __('Medium', true), 1 => __('High', true)); 
0

爲什麼不試試array_map

var $priorities = array(3 => 'Low', 2 => 'Medium', 1 => 'High'); 

$priorities = array_map("__", $priorities, true); 

確保將翻譯放在適當的地方。更多信息here about Internationalization & Localization