LanguageController.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. class LanguageController extends Controller
  6. {
  7. public function index(Request $request)
  8. {
  9. return $this->switchLanguage($request);
  10. }
  11. /**
  12. * 切换语言并修改 app.locale
  13. *
  14. * @param Request $request
  15. * @return \Illuminate\Http\RedirectResponse
  16. */
  17. public function switchLanguage(Request $request)
  18. {
  19. // 从 URL 参数中获取语言,默认为 'en'
  20. $lang = $request->input('lang', 'en');
  21. // 验证是否是支持的语言
  22. if (!in_array($lang, ['en', 'zh_CN'])) {
  23. return redirect()->back()->withErrors(['error' => '不支持的语言']);
  24. }
  25. $configArray = ['lang' => $lang,];
  26. user_admin_config($configArray);
  27. // 动态修改 app.locale 配置
  28. config(['app.locale' => $lang]);
  29. // // 返回重定向或其他操作
  30. // return redirect()->back()->with('success', '语言已切换为: ' . $lang);
  31. return redirect('/prime-control');
  32. }
  33. }