2017-04-03 61 views
0

目錄結構是這樣的如何獲取yii1中的所有語言數組?

modules/ 
     /module1 
       /messages/ 
         /en 
          /admin.php 
          /profile.php 
         /ru/ 
          /admin.php 
          /profile.php 

     /module2/ 
       /messages/ 
         /en 
          /account.php 
          /stats.php 
         /ru 
          /account.php 
          /stats.php 

每個茨艾倫PHP文件具有內,其中由數組包含一個鍵值對的文本字符串例如像

return array(
'hello' => 'aloha' 
); 

這樣一個巨大的數組如何獲取每個文件中的數組?

+0

你的目標是獲得所有這些文件中的所有數組?或特定的語言? – hassan

+0

確定例如英文(en)..如何從en目錄下的每個文件獲取數組? – sasori

+0

你的意思是? http://www.yiiframework.com/wiki/638/simple-example-for-language-translation/ – dimis283

回答

-1

您可以實現新的方法來實現這個使用glob() PHP函數

$language = 'en'; 

foreach (glob('modules/*/messages/' . $language . '/*') as $file) { 
    echo "$file\n"; 
} 

輸出:

modules/module1/messages/en/admin.php 
modules/module1/messages/en/profile.php 
modules/module2/messages/en/admin.php 
modules/module2/messages/en/profile.php 

從這些文件中返回數組:

$language = 'en'; 
$arrays = []; 
foreach (glob('modules/*/messages/' . $language . '/*') as $file) { 
    $arrays[] = require_once "$file"; 
} 

print_r($arrays); 
+0

那麼你如何從這些文件中得到數組? – sasori

+0

只需使用require_once,檢查更新 – hassan

+0

是否還有一種方法可以獲得eg en,ru,ch,jp ..因爲這些縮寫是消息目錄中的目錄名稱......我想知道還有多少種語言在消息目錄 – sasori

相關問題