2012-08-27 21 views
5

Dopo aver cercato sul sito web ho postato questa domanda. Sono consapevole del fatto che, per impostazione predefinita, gli assembly sono "culture neutral" e che è possibile creare assembly satellite con sole risorse (e nessun codice) con informazioni specifiche della cultura e inserirli nella stessa cartella del nome della cultura (es. En-us) . Ma la domanda è: cos'è la cultura? Alcuni esempi di vita reale specifici potrebbero aiutare.Cos'è la cultura di assemblaggio .NET?

risposta

4

Per MSDN, questo include cose come the names for the culture, the writing system, the calendar used, and formatting for dates and sort strings.

Per le traduzioni, l'aspetto più significativo è una combinazione di lingua e dialetto. Ecco un buon list of examples.

Ad esempio, si consideri l'inglese britannico (it-IT) vs. inglese americano (en-US) vs. canadese English (en-CA) vs. inglese australiano (en-AU) rispetto al almeno dieci altro inglese dialetti che esistono (non scherzo/vedi la lista che ho linkato). Quindi, confrontali e confrontali per dire il russo come parlato in Russia (ru-RU). A parte le differenze di lingua, ci sono anche diversi simboli utilizzati per l'indicatore radix, il raggruppamento delle cifre, la data (MDY vs DMY), ecc ...

+0

Ok, ma quali informazioni vanno all'interno dell'assieme satellite se non dovrebbe avere il codice all'interno? Sulla base della mia comprensione, Microsoft consiglia agli assembly satellite di utilizzare alcuni assembly neutri per la cultura. – IntelligentBinary

+0

Beh, certamente puoi mettere le frasi nella lingua della cultura nell'assemblea satellitare di ciascuna cultura. –

+0

Sono per problemi ancora più grandi come la traduzione. Quindi nel tuo software di fatturazione quando vendi al mercato tedesco puoi mostrare rechnungsstellung, la fattura del mercato del Regno Unito, nonostante il fatto che tu sia francese e chiami la classe Facture –

2

E 'un sacco di cose aaaa invece di dd gg/mm/mm// yyy

EUR1.500,00 invece di $ 1,500.00

e 'ordinamento da sinistra a destra, o da destra a sinistra.

Fondamentalmente la cultura è il modo di astrarre tutte queste questioni veramente irritante, così si sono lasciati con i due problemi principali che dobbiamo affrontare

Utilizzare la cultura installato senza dover conoscere di cosa si tratta per esempio DateTime.Now.ToString("d");

Utilizzare questa cultura specifica, non importa quale.

DateTime.Now.ToString("d",_currentUser.Culture); 

Una delle parti più preziose di .net questo. Usato per essere un incubo totale.

+0

Grazie Toni. Questo aiuta. Quindi, dove posso specificare le informazioni sulla cultura? Nel file AssemblyInfo.cs? Non appena lo faccio, viola la regola che gli assembly specifici della cultura non dovrebbero avere alcun codice (solo le risorse sono permesse). Sono sicuro che mi manca qualcosa qui :) – IntelligentBinary

+0

Beh, c'è una delle principali zampe di volpe già Toni ??. Leggi questo per le raccomandazioni MS http://msdn.microsoft.com/en-us/library/w7x1y988.aspx –

Problemi correlati