語系檔案
新增 resources\lang\zh-tw\localization.php 檔:
| 12
 3
 
 | return ['localization' => '本地化',
 ];
 
 | 
新增中介層
新增 app\Http\Middleware\SetLocale.php 檔:
| 12
 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 檔:
| 12
 3
 4
 
 | 'web' => [
 \App\Http\Middleware\SetLocale::class,
 ],
 
 | 
新增路由
| 12
 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 瀏覽。
程式碼