3
symfony2インストールでurl経由でページ言語を定義したいと思います。私のルーティングは、コントローラ内の注釈を介して動作します。ルーティングのロケール、パラメータなしのデフォルト言語
のrouting.yml
_index:
resource: "@MyMainBundle/Controller/SiteController.php"
type: annotation
siteController.php
/**
* @Route("/{_locale}/{site}", name="_site_site", defaults={"_locale" = "en"}, requirements={"site" = "about|cities|download|blog", "_locale" = "en|de|fr|es"})
*/
これはよく静かに動作しますが、私が欲しいWAHT、以下のURLは同じアクションを呼び出すことです。
http://example.com/download
http://example.com/en/download
http://example.com/de/download
languge-parameterが指定されていない場合、ページはデフォルトの言語に戻されますが、これは私の動作の中で処理できるものです。
この回答が見つかりましたが、まったく動作しませんでした。 Symfony2 default locale in routing
ありがとうございます!私は 'defaults = {"_ locale" = "en"}'を追加しなければなりませんでした。それ以外の場合、URLにロケールが見つからない場合はエラーになります。 – madc
type = "annotation"の後にrouting.ymlにロケールを追加できます。 _locale:en | fr –