2011-03-19 60 views
0

我使用的是Codeigniter 2.0.1,我想在語言行中放置一個變量。例如:如果用戶想要註冊一個帳戶,並且該用戶名已存在,我想在我的語言行中輸入「此用戶名$用戶名正在使用中」。我在驗證錯誤語言行中看到他們使用%s作爲變量。但是如果我把它放在我的自定義驗證錯誤lang文件中,我只是得到一個普通的%s而不是一個變量。如何將變量放在Codeigniter的語言文件中?

回答

0

它看起來不像使用默認的郎類。我個人是這樣做的。

首先一個i18n_helper:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

if (! function_exists('line_with_arguments')) 
{ 
    function line_with_arguments($line, $swap) 
    { 
     return str_replace('%s', $swap, $line); 
    } 
} 

,然後我把它在我的控制器:

<?php 
class Home extends CI_Controller 
{ 
    public function index() 
    { 
     $this->lang->load('test', 'english'); 
     $this->load->helper('i18n'); 

     echo line_with_arguments($this->lang->line('test'), 'Matt'); 
    } 
} 

,我的郎文件:

<?php 
$lang['test'] = 'Hello %s'; 
+0

好TrexXx。怎麼樣與多個參數的線。 – nani1216 2012-08-20 10:14:14

相關問題