42 messaggi dal 10 giugno 2010
Buongiorno,

nel progetto standard di MVC 5 (visual studio 2013) in fase di registrazione di un nuovo utente nel controller AccountController - Register viene eseguita l'istruzione

var result = await UserManager.CreateAsync(user, model.Password);

in result vengono ritornati gli errori della creazione.

Gli errori sono impostati in lingua inglese.

Ho provato a modificare il web.config impostando all'interno di system.web

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="it-IT" uiCulture="it-IT" />

ma gli errori sono comunque in lingua inglese.

Pensavo di verificare il numero di record nella variabile result e tradurli creando un nuovo oggetto ed inviando quest'ultimo alla View.

Avete qualche altra idea?

Grazie mille
11.884 messaggi dal 09 febbraio 2002
Contributi
ciao,

amerlin ha scritto:

Pensavo di verificare il numero di record nella variabile result e tradurli creando un nuovo oggetto ed inviando quest'ultimo alla View.

No, aspetta, non è necessario. Prima prova ad installare questo pacchetto NuGet, che contiene un assembly satellite con i testi in lingua italiana (è per ASP.NET Identity 2.1).
Install-Package Microsoft.AspNet.Identity.Core.it -Version 2.1.0


ciao,
Moreno

Enjoy learning and just keep making
42 messaggi dal 10 giugno 2010
Ciao,

avevo già verificato la presenza del core.it.

In realtà,questa parte di messaggi non sembrano essere tradotti in lingua italiana.
11.884 messaggi dal 09 febbraio 2002
Contributi
Ciao,
purtroppo non riesco a riprodurre il problema. Ho anche provato a farlo da Visual Studio 2015 Preview (in inglese), dove gli assembly satellite per l'italiano non vengono installati per default.
Dopo aver scaricato l'assembly satellite da NuGet, è stato sufficiente impostare la culture come segue nell'elemento <system.web> del web.config:
<globalization uiCulture="it" />

Infatti, la documentazione dice:

At run time, an app loads the appropriate localized resources on a per-thread basis, based on the culture specified by the CultureInfo.CurrentUICulture property

Mi viene in mente questo: non è che per caso hai del codice in un HttpModule o in un filtro che aggiorna la CurrentUICulture? Prova a mettere un breakpoint in corrispondenza dell'invocazione a CreateAsync, e vedi cosa vale in quel momento la
System.Threading.Thread.CurrentThread.CurrentUICulture.

Già che ci sei, vai ad ispezionare anche il contenuto di results.Errors, così verifichi direttamente da lì se sono in accordo con la CultureInfo corrente.

ciao,
Moreno
Modificato da BrightSoul il 04 gennaio 2015 10.52 -

Enjoy learning and just keep making
42 messaggi dal 10 giugno 2010
In realtà ho notato che il problema si verifica al momento della pubblicazione sull'hosting.

Eseguendo l'applicazione in locale, i messaggi sono in italiano.

Ho trovato qualche reference che parla di mappare il tutto tramite il file Resource.

Può essere una soluzione percorribile?

grazie.
11.884 messaggi dal 09 febbraio 2002
Contributi
Ciao,
amerlin ha scritto:

Ho trovato qualche reference che parla di mappare il tutto tramite il file Resource.

Intendi così?
http://stackoverflow.com/questions/22835981/asp-net-identity-localization-publickeytoken#answer-22960963
Sì, è percorribile. Oppure potresti anche scrivere un helper method a cui passi il messaggio originale affinché restituisca la traduzione in italiano (per non stare a wrappare le classi di ASP.NET Identity).

Però, secondo me, come primo tentativo dovresti verificare qual è la CurrentUICulture nel server e se è in accordo con il tuo file di configurazione. Se scopri che non lo è, dovresti parlarne al tuo provider oppure provare a vedere che succede se la cambi a runtime dall'evento BeginRequest. Esempio:
http://mikehadlow.blogspot.it/2010/11/aspnet-httpmodule-to-set-current.html

ciao,
Moreno
Modificato da BrightSoul il 14 gennaio 2015 23.56 -

Enjoy learning and just keep making
42 messaggi dal 10 giugno 2010
Provo ad aprire un ticket con il provider.

Grazie mille.

ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.