Après avoir configuré le JMSI18nRoutingBundle pour un projet, je me suis rendu compte d’un problème avec son API, en effet, celle-ci, normalement accessible via /api s’est retrouvée transformée en /en/api.
jms_i18n_routing:
default_locale: en
locales: [en, fr]
strategy: prefix
Il n’y a, de plus, aucune indication dans la documentation du Bundle concernant une possible suppression du préfixe de langue, mais en regardant de plus prêt les tests on peut y trouver une option “i18n = false”, permettant de désactiver ponctuellement le comportement du bundle.
<?php
/**
* @Route("/api/users", name="api_users", options={"i18n" = false})
*/
public function usersAction()
En utilisant app/console router:debug
on constate bien que la route n’a pas le préfixe de langue
en__RG__homepage ANY /en/
fr__RG__homepage ANY /fr/
api_users ANY /api/user