Come localizzare l'applicazione ASP.NET MVC?
-
08-07-2019 - |
Domanda
Quali sarebbero le migliori pratiche per localizzare l'applicazione MVC ASP.NET?
Vorrei trattare due situazioni:
- una distribuzione dell'applicazione in IIS che gestirà più lingue
- distribuzione in una sola lingua / applicazione.
Nella prima situazione dovresti scegliere qualcosa di simile alla vista come ~ / View / EN, ~ / View / FI, ~ / View / SWE o qualcosa di diverso?
Che dire del secondo caso, solo della configurazione basata sull'applicazione via Web.config e puntare queste diverse lingue a URL diversi?
Soluzione
Puoi anche dare un'occhiata qui ASP.NET Guida completa alla localizzazione di MVC 2 e Convalida del modello ASP.NET MVC 2 con localizzazione questi suggerimenti ti aiuteranno se lavori con ASP.NET MVC 2.
Altri suggerimenti
Dovresti localizzare la tua applicazione ASP.NET MVC allo stesso modo di una classica applicazione ASP.NET Web Form.
Non useresti pagine / viste diverse per ogni lingua, ma ogni pagina supporterebbe più lingue usando assiemi satellitari.
Puoi guardare Blog di Matt Hawley per ulteriori spiegazioni ed esempi.
Sfortunatamente, il codice originale di Matt Hawley non funziona nella versione di rilascio di ASP.NET MVC. Dai un'occhiata a un post aggiornato: http: / /blog.eworldui.net/post/2008/10/ASPNET-MVC-Localization-via-View-Engines.aspx
In generale, il processo di localizzazione non è così semplice nel mondo MVC VS 2008 / ASP.NET come nei tradizionali moduli web. http://www.guysmithferrier.com/post/2009/05 /Localizing-ASPNET-MVC.aspx
Dai un'occhiata al progetto MvcStore di Rob Connery. Fa uno screencast che mostra un modo per risolvere il problema della globalizzazione.
Non sono mai stato convinto di gestire la localizzazione all'interno di un modulo come suggerisce Elia - le diverse lunghezze e direzioni possono portare a forme molto complesse o diverse che sembrano naff.
Sto solo iniziando con MVC ma sto prendendo il metodo di disaccoppiamento che vorresti usare lo stesso controller indipendentemente dalla lingua (trattando la lingua solo come una vista) - questo ti darebbe / Controller / Azione / lingua / modulo
Esiste un buon tutorial con il recente aggiornamento su Come localizzare l'applicazione mvc asp.net che copre tutti gli aspetti tra cui la localizzazione DisplayName, la convalida, l'uso del routing (memorizzazione del nome della cultura nell'URL), i problemi con la cache di output e così via ... Blog di Alex Adamyan - Mentre la mia tastiera piange delicatamente
In realtà siamo andati completamente diversamente con l'override di DataAnnotationsMetadaDataProvider . Qui puoi assicurarti che i valori DisplayNameAttribute siano risolti nella lingua corretta. In realtà potresti persino sbarazzarti di quell'attributo e risolverlo con i nomi dei campi solo se questo sarebbe di aiuto.
Ho scritto questo articolo qualche tempo fa. Utilizza un motore di visualizzazione personalizzato. http://blog.oimae.com/2011/ 20/02 / colta-view-motore-per-mvc /
E un altro tutorial per diverse soluzioni
Tutorial: creare la localizzazione MVC ASP.NET con rilevamento della lingua