溫馨提示×

centos中laravel國際化如何配置

小樊
38
2025-06-12 06:53:19
欄目: 智能運維

在CentOS系統中配置Laravel的國際化(i18n)功能,可以按照以下步驟進行:

1. 安裝必要的軟件包

首先,確保你的CentOS系統已經安裝了PHP和Laravel。如果還沒有安裝,可以參考以下步驟:

安裝PHP

sudo yum install php php-cli php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

安裝Laravel

composer create-project --prefer-dist laravel/laravel your-project-name
cd your-project-name

2. 配置文件語言設置

打開Laravel項目的.env文件,找到APP_LANGAPP_LOCALE配置項,設置默認語言和區域:

APP_LANG=en
APP_LOCALE=en_US

3. 創建語言文件

Laravel的語言文件通常存放在resources/lang目錄下。你可以手動創建這些文件,或者使用Artisan命令生成:

mkdir -p resources/lang/en
mkdir -p resources/lang/zh-CN

然后在每個語言目錄下創建相應的翻譯文件,例如:

touch resources/lang/en/messages.php
touch resources/lang/zh-CN/messages.php

編輯這些文件,添加翻譯內容:

resources/lang/en/messages.php

<?php

return [
    'welcome' => 'Welcome to Our Application',
    // 其他翻譯內容
];

resources/lang/zh-CN/messages.php

<?php

return [
    'welcome' => '歡迎使用我們的應用程序',
    // 其他翻譯內容
];

4. 配置路由和控制器

在你的路由文件(通常是routes/web.php)中,可以設置語言前綴:

Route::group([
    'prefix' => '{locale}',
    'where' => ['locale' => App\Http\Middleware\SetLocale::LOCALE_REGEX],
], function () {
    Route::get('/', 'HomeController@index')->name('home');
    // 其他路由
});

創建一個中間件來設置語言:

php artisan make:middleware SetLocale

編輯app/Http/Middleware/SetLocale.php文件:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\App;

class SetLocale
{
    public function handle($request, Closure $next)
    {
        $locale = $request->segment(1);

        if (in_array($locale, config('app.locales'))) {
            App::setLocale($locale);
        }

        return $next($request);
    }
}

app/Http/Kernel.php中注冊中間件:

protected $routeMiddleware = [
    // 其他中間件
    'locale' => \App\Http\Middleware\SetLocale::class,
];

5. 測試國際化

啟動Laravel應用并訪問不同語言的URL,例如:

  • http://your-domain.com/en/
  • http://your-domain.com/zh-CN/

你應該能夠看到相應語言的翻譯內容。

6. 使用翻譯函數

在你的視圖文件中,可以使用__()trans()函數來獲取翻譯內容:

{{ __('messages.welcome') }}

或者在控制器中使用:

use Illuminate\Support\Facades\Lang;

$welcomeMessage = Lang::get('messages.welcome');

通過以上步驟,你就可以在CentOS系統中成功配置Laravel的國際化功能。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女