2014-10-17 48 views
1

使用Laravel的i18n功能時,我需要爲每個語言環境和每個翻譯「組」創建一個文件。例如,一個messages.php文件將返回一個通用消息數組,並且一個validation.php將返回一個驗證消息數組,並且這兩個文件對於我設置的每個區域設置都會存在。這意味着我有一個lang/en/messages.php以及一個lang/it/messages.php,每個指定的密鑰都有正確的翻譯字符串。無域名的Laravel翻譯

是否有可能在調用Lang::get()時不需要指定組的「通用」翻譯文件?我想要做的是能夠撥打Lang::get("MyString")而不是Lang::get("group.MyString")

+0

所以你的意思是,如果沒有'dot'你想從'messages'文件中獲取數據嗎? – 2014-10-17 18:24:00

+0

這會工作,是的。 – juandemarco 2014-10-17 18:44:33

回答

0

對我來說,我需要修改照亮/基金/ helpers.php

的解決方案是採取默認域(在這種情況下,messages.php),然後添加到短語($ ID)該域如果沒有點。

function trans($id = null, $parameters = [], $domain = 'messages', $locale = null) 
{ 
    if (is_null($id)) { 
     return app('translator'); 
    } 

    if (strpos($id, '.') === false) { 
     $id = "messages." . $id; 
    } 

    return app('translator')->trans($id, $parameters, $domain, $locale); 
}