<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 本地化 ## 簡介 Laravel 本地化特性提供了從不同語言文件中檢索字符串的簡單方法,讓您的應用更好地支持多語言開發。語言文件默認都放在`resources/lang`目錄中。在此目錄中,相應的語言文件存放在相應的子目錄下,例如: ``` /resources /lang /en messages.php /es messages.php ``` 所有的語言文件都返回一個鍵值對數組,例如: ``` <?php return [ 'welcome' => 'Welcome to our application' ]; ``` ### 區域設置 應用的默認語言設置保存在`config/app.php`配置文件中。可以使用`App`Facade 的`setLocale`方法動態地更改應用運行過程中使用的語言: ``` Route::get('welcome/{locale}', function ($locale) { App::setLocale($locale); // }); ``` 可以在`config/app.php`配置文件中設置『備用語言』,在默認語言不包含給定的翻譯字符串時被使用。 ``` 'fallback_locale' => 'en', ``` #### 確定當前語言環境 可以使用`App`Facade 的`getLocale`和`isLocale`方法確定當前的區域設置或者檢查語言環境是否為給定值: ``` $locale = App::getLocale(); if (App::isLocale('en')) { // } ``` ## 定義翻譯字符串 ### 使用短鍵 所有語言文件都返回鍵值對數組,例如: ``` <?php // resources/lang/en/messages.php return [ 'welcome' => 'Welcome to our application' ]; ``` ### 使用翻譯字符串作為鍵 Laravel 也支持使用字符串 『默認』 翻譯作為關鍵字來定義翻譯字符串。 使用翻譯字符串作為鍵的翻譯文件以 JSON 格式存儲在`resources/lang`目錄中。例如,如果你的應用中有西班牙語翻譯,你應該在該目錄下新建一個`resources/lang/es.json`文件: ``` { "I love programming.": "Me encanta programar." } ``` ## 檢索翻譯字符串 可以使用輔助函數`__`從語言文件中檢索,`__`函數接受翻譯字符串所在的文件名加鍵名作為其第一個參數。例如,我們要檢索`resources/lang/messages.php`語言文件中的翻譯字符串`welcome`: ``` echo __('messages.welcome'); echo __('I love programming.'); ``` 在Blade 在視圖文件中使用`{{ }}`語法或者使用`@lang`指令來打印翻譯字符串: ``` {{ __('messages.welcome') }} @lang('messages.welcome') ``` 如果指定的翻譯字符串不存在,那么`__`函數會直接返回該字符串。 >[success] 注意:`@lang`指令不會對任何輸出進行轉義。當你使用這個指令時,你必須**完全由自己承擔**對輸出內容的轉義工作。 ### 翻譯字符串中的參數替換 可以在翻譯字符串中定義占位符。所有的占位符都有一個`:`前綴。例如,你可以使用占位符 name 定義歡迎消息: ``` 'welcome' => 'Welcome, :name', ``` 可以在`__`函數中傳遞一個數組作為第二個參數,它會將數組中的值替換到翻譯字符串的占位符中: ``` echo __('messages.welcome', ['name' => 'dayle']); ``` 如果你的占位符中包含了首字母大寫或者全部為大寫,翻譯過來的內容也會做相應的大寫處理: ``` 'welcome' => 'Welcome, :NAME', // Welcome, DAYLE 'goodbye' => 'Goodbye, :Name', // Goodbye, Dayle ``` ### 復數 復數是一個復雜的問題,因為不同的語言對復數有不同的規則, 使用 『管道符』`|`,可以區分字符串的單復數形式: ``` 'apples' => 'There is one apple|There are many apples', echo trans_choice('messages.apples', 1); ``` 你甚至可以創建更復雜的復數規則,為多個數字范圍指定翻譯字符串: ``` 'apples' => '{0} There are none|[1,19] There are some|[20,*] There are many', ``` 在定義具有復數選項的翻譯字符串之后,你可以使用`trans_choice`函數來檢索給定『數量』 的內容。例如,設置 『總數』 為 10 ,符合數量范圍 1 至 19 ,所以會得到 There are some 這條復數語句: ``` echo trans_choice('messages.apples', 10); ``` 你也可以在復數字符串中插入占位符。`trans_choice`函數第三個參數所傳遞數組將會替換占位符: ``` 'minutes_ago' => '{1} :value minute ago|[2,*] :value minutes ago', echo trans_choice('time.minutes_ago', 5, ['value' => 5]); ``` 如果你想讓傳遞給`trans_choice`函數的 『數量』 參數顯示在翻譯字符串中,你可以使用`:count`占位符: ``` 'apples' => '{0} There are none|{1} There is one|[2,*] There are :count', echo trans_choice('messages.apples', 10); // There are 10 ``` ## 重寫擴展包的語言文件 部分擴展包可能會附帶自己的語言文件。你可以通過在`resources/lang/vendor/{package}/{locale}`目錄放置文件來重寫它們,而不要直接修改擴展包的核心文件。 例如,當你需要重寫`skyrim/hearthfire`擴展包的英語語言文件`messages.php`,則需要把文件存放為`resources/lang/vendor/hearthfire/en/messages.php`。在這個文件中,你只需要定義你想要修改的翻譯字符串。任何沒有被重寫的翻譯字符串仍將從擴展包的原始語言文件中加載。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看