title: asp.net mvc 5 optional language prefix in routes
body: <p>I em using attributes to define routes in my controllers.
  What I want to implement is optional language prefix for every defined routes.
  For example:</p>
  
  <pre><code>Home:
  / or /en-US or /de
  User:
  /user or /en-US/user or /de/user
  Item:
  /item or /en-US/item or /de/item
  </code></pre>
  
  <p>If I define routes like this:</p>
  
  <pre><code>Home:
  {lang?}
  User:
  {lang?}/user
  Item:
  {lang?}/item
  </code></pre>
  
  <p>and then I navigate to /user application crashed withe error</p>
  
  <pre><code>Multiple controller types were found that match the URL
  </code></pre>
  
  <p>I also wants to create html helpers like ActionLink, RouteLink etc. witch will generate links without prefix if language is same as default language (default language is defined in application) or links with prefix if language is different than default language. Is there some simple solution for this?</p>