.NET Framework Configuration et configuration de base


Exemple

  1. Ajoutez le package nuget I18N à votre projet MVC.
  2. Dans web.config, ajoutez le i18n.LocalizingModule à votre section <httpModules> ou <modules> .
<!-- IIS 6 -->
<httpModules>
  <add name="i18n.LocalizingModule" type="i18n.LocalizingModule, i18n" />
</httpModules>

<!-- IIS 7 -->
<system.webServer> 
  <modules>
    <add name="i18n.LocalizingModule" type="i18n.LocalizingModule, i18n" />
  </modules>
</system.webServer>
  1. Ajoutez un dossier nommé "paramètres régionaux" à la racine de votre site. Créez un sous-dossier pour chaque culture que vous souhaitez prendre en charge. Par exemple, /locale/fr/ .
  2. Dans chaque dossier spécifique à la culture, créez un fichier texte nommé messages.po .
  3. À des fins de test, entrez les lignes de texte suivantes dans votre fichier messages.po :
#: Translation test
msgid "Hello, world!"
msgstr "Bonjour le monde!"
  1. Ajoutez un contrôleur à votre projet qui renvoie du texte à traduire.
using System.Web.Mvc;

namespace I18nDemo.Controllers
{
    public class DefaultController : Controller
    {
        public ActionResult Index()
        {
            // Text inside [[[triple brackets]]] must precisely match
            // the msgid in your .po file.
            return Content("[[[Hello, world!]]]");
        }
    }
}
  1. Exécutez votre application MVC et naviguez jusqu'à l'itinéraire correspondant à l'action de votre contrôleur, tel que http: // localhost: [votre numéro de port] / default .
    Notez que l'URL est modifiée pour refléter votre culture par défaut, telle que
    http: // localhost: [votre numéro de port] / en / default .
  2. Remplacez /en/ dans l'URL par /fr/ (ou la culture que vous avez sélectionnée). La page doit maintenant afficher la version traduite de votre texte.
  3. Modifiez le paramètre de langue de votre navigateur pour préférer votre autre culture et accédez à /default nouveau. Notez que l'URL est modifiée pour refléter votre autre culture et que le texte traduit apparaît.
  4. Dans web.config, ajoutez des gestionnaires pour que les utilisateurs ne puissent pas accéder à votre dossier de locale .
<!-- IIS 6 -->
<system.web>
  <httpHandlers>
    <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
  </httpHandlers>
</system.web>

<!-- IIS 7 -->
<system.webServer>
  <handlers>
    <remove name="BlockViewHandler"/>
   <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
  </handlers>
</system.webServer>