2017-02-18 98 views
0

Laravel 5.4文檔說明如下:是否可以根據Laravel應用程序中使用的默認翻譯生成英文翻譯文件?

對於重型翻譯需求的應用,定義每 字符串「短鍵」可以迅速變得混亂時 在視圖中引用它們。出於這個原因,Laravel還提供了 支持,用於將字符串的「默認」翻譯作爲關鍵字來定義翻譯字符串。

因此,如果我使用echo __('I love programming.');並且沒有匹配的翻譯,它會返回'我喜歡編程'。那麼當我決定添加翻譯時會發生什麼? Can Laravel能夠提取我使用過的所有語言短語,並將它們放到某個翻譯文件中?如果是這樣,怎麼樣?

回答

0

當您決定添加翻譯時,您必須爲您的用戶提供select所需語言的方法。此時,您將執行類似App::setLocale('whatever')App::setLocale('pt-BR');的操作。現在,Laravel會去你的resources/lang/文件夾,並尋找一個whatever.jsonpt-BR.json,在這裏您可以存儲這樣的文件:

PT-BR.json

{ 
    'I love programming': 'Eu amo programar.' 
} 

whatever.json

{ 
    'I love programming': 'Equivalent text that you want to be displayed.' 
} 

基本上,__()函數將查找當前請求中定義的語言(請參閱app.php中的可用語言環境和fallback_locale),然後查找帶有該語言翻譯的json。如果沒有找到,它將回退到回退區域設置。如果該文件也不存在,它將只顯示給定的字符串。

+0

對不起,這不回答我的問題。如果我想創建新的翻譯,我需要知道提供給翻譯人員的英語短語列表。我在問如何編譯整個視圖文件中使用的英文翻譯列表。 –

+0

@Blossoming_Flower我不知道這是否可能。但是,擁有這種翻譯系統的重要性在於翻譯者只需在屏幕上看到一條消息並以JSON格式翻譯即可。您可以嘗試覆蓋'__()'函數並將給定的密鑰保存到文件中,但這需要有人確保完成系統的每個屏幕/函數調用,以便文件完整。 –

0

請訪問以下鏈接:

https://laravel.com/docs/5.4/localization 

我認爲它可以幫助您

相關問題