src/Controller/TranslationYamlController.php line 49

  1. <?php
  2. namespace App\Controller;
  3. use App\Repository\SettingsRepository;
  4. use App\Service\FlexySettingsProvider;
  5. use Exception;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
  11. use Symfony\Component\Yaml\Yaml;
  12. #[Route(path'/{_locale}')]
  13. class TranslationYamlController extends AbstractController
  14. {
  15.     #[Route(path'/api-trans/translations-yaml'name'api_translations_yaml')]
  16.     public function api_translations_yaml(Request $request,FlexySettingsProvider $flexySettingsProvider)
  17.     {
  18.         // Construct the path to the YAML translation file
  19.         $nameSpaceTrans strtolower($flexySettingsProvider->get()->getProjectName());
  20.         $yamlFilePath $this->getParameter('kernel.project_dir') . '/translations/'.$nameSpaceTrans'/'.$nameSpaceTrans'.' $request->getLocale() . '.yaml';
  21.         // Check if the YAML file exists
  22.         if (!file_exists($yamlFilePath)) {
  23.             return $this->json([]);
  24.         }
  25.         // Read and parse the YAML file
  26.         $yamlContent file_get_contents($yamlFilePath);
  27.         $translations Yaml::parse($yamlContent);
  28.         // Return translations as JSON response
  29.         // Return translations as JSON response using $this->json()
  30.         return $this->json($translations);
  31.     }
  32.     #[Route(path'/api-trans/translations-yaml-admin'name'api_translations_yaml_admin')]
  33.     public function api_translations_yaml_admin(Request $request,FlexySettingsProvider $flexySettingsProvider)
  34.     {
  35.         // Construct the path to the YAML translation file
  36.         
  37.         $nameSpaceTrans strtolower($flexySettingsProvider->get()->getProjectName());
  38.         $yamlFilePath $this->getParameter('kernel.project_dir') . '/translations/'.$nameSpaceTrans'/'.$nameSpaceTrans'-admin.' $request->getLocale() . '.yaml';
  39.         // Check if the YAML file exists
  40.         if (!file_exists($yamlFilePath)) {
  41.             return $this->json([]);
  42.         }
  43.         // Read and parse the YAML file
  44.         $yamlContent file_get_contents($yamlFilePath);
  45.         $translations Yaml::parse($yamlContent);
  46.         // Return translations as JSON response
  47.         // Return translations as JSON response using $this->json()
  48.         return $this->json($translations);
  49.     }
  50.     
  51.    
  52. }