語系檔案
新增 resources\lang\zh-tw\localization.php
檔:
1 2 3
| return [ 'localization' => '本地化', ];
|
新增中介層
新增 app\Http\Middleware\SetLocale.php
檔:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| namespace App\Http\Middleware;
use App; use Closure; use Session; use Carbon\Carbon;
class SetLocale {
public function handle($request, Closure $next, $guard = null) { if (Session::has('locale')) { $locale = Session::get('locale'); App::setLocale($locale); Carbon::setLocale($locale); }
return $next($request); } }
|
修改 app\Http\Kernel.php
檔:
1 2 3 4
| 'web' => [ \App\Http\Middleware\SetLocale::class, ],
|
新增路由
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Route::get('/{locale}', function ($locale) { Session::put('locale', $locale);
dump([ $locale, Session::get('locale'), ]); });
Route::get('/', function () { dump([ App::getLocale(), \Carbon\Carbon::now(), \Carbon\Carbon::now()->diffForHumans(), ]);
echo __('localization.localization'); });
|
- 使用
php artisan dump-server
指令查看 dump()
中的內容。
- 使用
__()
輔助函式輸出在地化檔案的語句。
測試
前往 http://localhost:8000/zh-tw 瀏覽。
程式碼