2011-06-06 65 views
1

我應該在哪裏調用__() -function? 在視圖或消息?Kohana中的多語言驗證

1.在視圖中

Messages

return array 
(
    'username' => array(
     'not_empty' => 'Not empty', 
     'min_length' => 'Min length :param2', 
     'max_length' => 'Max length :param2', 
     'default' => 'Default', 
    ), 
); 

View

<?php 
    foreach ($errors as $field => $message): 
    echo '<li>'.$field.': '.__($message).'</li>'; // here 
    endforeach; 
?> 

2.在郵件中

Messages

return array 
(
    'username' => array(
     'not_empty' => __('Not empty'),   // here 
     'min_length' => __('Min length :param2'), // here 
     'max_length' => __('Max length :param2'), // here 
     'default' => __('Default'),   // here 
    ), 
); 

View

<?php 
    foreach ($errors as $field => $message): 
    echo '<li>'.$field.': '.$message.'</li>'; 
    endforeach; 
?> 
+0

很難理解你真的想知道什麼 – Teneff 2011-06-06 08:11:53

+0

你的問題是什麼? – YesMan85 2011-06-06 08:16:28

+0

閱讀標題和標籤。這是Kohana的具體問題,我想知道應該在視圖還是消息中使用翻譯函數__()? – kaulusp 2011-06-06 08:49:16

回答

1

您必須在翻譯文件i18n的驗證消息(佔位符)。閱讀this post

+0

是的,但是你在哪裏調用'__()'或者你甚至需要'__()' - 函數進行驗證?普通輸出文本需要像'__('Hello World')',如果沒有'__()',文本將不會被翻譯。所以我應該在消息或視圖中放置'__()'函數嗎? – kaulusp 2011-06-06 09:31:21

+1

'$ validation-> errors()'默認調用'__()'來驗證消息。請參閱http://kohanaframework.org/3.0/guide/api/Validate#errors(默認$ translate param爲TRUE)。所以,只需使用'foreach($ errors爲$ field => $ error)echo $ error;' – biakaveron 2011-06-06 11:03:19

+0

感謝您的幫助! – kaulusp 2011-06-06 15:29:40