src/Controller/LanguageController.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\JsonResponse;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. class LanguageController extends AbstractController
  8. {
  9.     /**
  10.      * @Route("/change-language", name="change_language", methods={"POST"})
  11.      */
  12.     public function changeLanguage(Request $request): JsonResponse
  13.     {
  14.         $data json_decode($request->getContent(), true);
  15.         $language $data['language'] ?? 'es';
  16.         // Validar que el idioma sea soportado
  17.         if (!in_array($language, ['es''en'])) {
  18.             return new JsonResponse(['success' => false'error' => 'Idioma no soportado']);
  19.         }
  20.         // Guardar en la sesión
  21.         $request->getSession()->set('_locale'$language);
  22.         return new JsonResponse(['success' => true'language' => $language]);
  23.     }
  24. }