Localizzazione code-behind
-
martedì 7 agosto 2012 10:01
salve,
ho bisogno di gestire il multilingua della mia applicazione silverlight. ho trovato diversi articoli riguardo la localizzazione degli xaml ma il mio problema è che ho molte stringhe che vengono settate nel code-behind o nel viewModel (messaggi di errore, ecc.). Qual è il metodo migliore per localizzarle? Devo utilizzare 2mila "if"?
grazie
- Modificato mursico martedì 7 agosto 2012 10:01
Tutte le risposte
-
martedì 7 agosto 2012 10:37Postatore
-
martedì 7 agosto 2012 15:26non ho capito però nel caso ad esempio di messaggi di errore in delle popup come posso localizzarle. in più non riesco a far funzionare l'esempio.. forse non è compatibile con vs 2010... ?
-
mercoledì 8 agosto 2012 04:33PostatoreIl codice è compatibile con VS2010, è l'approccio che uso nellalocalizzazione delle app.Per i messaggi basta che accedi alla stessa collezione di risorse dacodice, alla fine i resX generano una classe che espone delleproprietà, esattamente come fa l'esempio indicato.
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - http://www.ugidotnet.org
Weblog: http://blogs.ugidotnet.org/corrado/
Twitter: http://twitter.com/corcav -
mercoledì 8 agosto 2012 10:09
scusami ma non ho capito a quale codice ti riferisci (sempre per la questione del messaggio di errore)
puoi farmi un esempio?
comunque... facendo delle prove ho notato che non riesco a impostare dinamicamente la cultura.
ho inserito questo codice in MainPage.xaml.cs
Thread.CurrentThread.CurrentCulture = new CultureInfo("en");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en");
((CustomResources)this.Resources["CustomLocStrings"]).LocalizedStrings = new DocumentaleManager.StringLibrary();sembra non aggiornarsi la cultura. quando arrivo in debug in currentCulture c'è it-IT... viene aggiornata in "en" ma poi visualizzo le stringhe in italiano.
in più la terza riga di codice va in errore ("Riferimento a un oggetto non impostato a un'istanza di oggetto")
Grazie dell'aiuto
Stefano
- Modificato mursico mercoledì 8 agosto 2012 17:23
-
giovedì 9 agosto 2012 04:54PostatoreNon so se è il tuo caso, ad ogni modo prima verifica questa cosa...L'errore nella 3 riga è un banale null, probabilmente dovuto al fattoche non trova la risorsa o la proprietà non esiste.
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - http://www.ugidotnet.org
Weblog: http://blogs.ugidotnet.org/corrado/
Twitter: http://twitter.com/corcav -
mercoledì 15 agosto 2012 10:48
risolto!
Grazie dell'aiuto!

