Localizzare le soluzioni SharePoint
Il processo di preparazione delle applicazioni in modo che possano essere usate in tutto il mondo è noto come localizzazione. La localizzazione converte le risorse in impostazioni cultura specifiche. Per altre informazioni, vedere Globalizzazione e localizzazione delle applicazioni. Questo argomento offre una panoramica su come localizzare una soluzione SharePoint.
Per localizzare una soluzione, rimuovere le stringhe hardcoded dal codice e astrarle in file di risorse. Un file di risorse è un file basato su XML con un'estensione .resx
. Il file di risorse contiene le versioni tradotte delle stringhe usate nella soluzione. Per altre informazioni, vedere Risorse nelle applicazioni.
Nota
Aggiungere solo risorse stringa ai file di risorse della soluzione SharePoint. Anche se l'editor di risorse consente di aggiungere risorse non stringa, le risorse non stringa non vengono distribuite in SharePoint.
File di risorse
Esistono tre tipi di file di risorse: impostazione predefinita, indipendente dalla lingua e specifica della lingua.
Tipo di file di risorse | Descrizione |
---|---|
Default | Nota anche come risorsa di fallback, i file di risorse predefiniti contengono stringhe localizzate per le impostazioni cultura predefinite, ad esempio inglese. Vengono usati se non è possibile trovare file di risorse localizzati per la lingua specificata. Le risorse predefinite non hanno file separati, vengono archiviati nell'assembly principale dell'applicazione. |
Indipendente dalla lingua | File di risorse che contiene stringhe localizzate per una lingua, ma non impostazioni cultura specifiche. Ad esempio, "fr" per francese. |
Specifico della lingua | File di risorse che contiene stringhe localizzate per una lingua e impostazioni cultura. Ad esempio, "fr-CA" per il canadese francese. |
Per altre informazioni, vedere Organizzazione gerarchica delle risorse per la localizzazione.
Per specificare i file di risorse predefiniti nei progetti di SharePoint sviluppati in Visual Studio, scegliere Lingua invariante (Paese invariante) nell'elenco delle impostazioni cultura della finestra di dialogo Aggiungi risorsa quando si aggiunge un file di risorse.
Aggiungere un file di risorse
I comandi per l'aggiunta di file di risorse si trovano nel menu di scelta rapida del nodo della soluzione e dei nodi delle funzionalità in Esplora soluzioni.
Per aggiungere un file di risorse globale a una soluzione SharePoint
In Visual Studio aprire una soluzione SharePoint.
In Esplora soluzioni scegliere un nodo del progetto SharePoint e quindi, nella barra dei menu, scegliere Progetto>Aggiungi nuovo elemento.
Nella finestra di dialogo Aggiungi nuovo elemento scegliere il modello File risorse globali e quindi scegliere il pulsante Aggiungi .
Nota
Il modello di elemento di progetto File risorse globali viene visualizzato solo quando è selezionato un elemento di progetto SharePoint.
Nella finestra di dialogo Aggiungi risorsa scegliere impostazioni cultura per il file di risorse, ad esempio inglese (Stati Uniti).
Questo passaggio aggiunge un file di risorse globale alla soluzione nel formato ,
{Resource_x_}.{culture}.resx
ad esempio Resource1.en-US.resx.Quando si apre l'Editor di risorse in Visual Studio, aggiungere risorse al file di risorse.
Per aggiungere un file di risorse di funzionalità a una funzionalità di SharePoint
Se la soluzione SharePoint non è già aperta in Visual Studio, aprire la soluzione.
In Esplora soluzioni aprire il menu di scelta rapida per il nome di una funzionalità nel nodo Funzionalità e quindi scegliere Aggiungi risorsa funzionalità.
Questo passaggio aggiunge un file di risorse alla funzionalità nel formato ,
{ResourceFileName}.{culture}{.resx}
ad esempio Feature1.en-US.resx.Quando si apre l'Editor di risorse in Visual Studio, aggiungere risorse al file di risorse.
Localizzare le soluzioni SharePoint di Visual Studio
Quando si localizza una soluzione, è consigliabile prendere in considerazione tutte le informazioni testuali visualizzate dalla soluzione agli utenti. I messaggi informativi, i messaggi di errore e le stringhe dell'interfaccia utente devono essere tradotti e le traduzioni inserite nei file di risorse.
Ogni stringa in un file di risorse ha un identificatore univoco. Usare lo stesso identificatore per la stringa tradotta in ogni file di risorse. Ad esempio, se "String1" è l'identificatore per la prima stringa nel file di risorse predefinito, usare lo stesso identificatore per la prima stringa nei file di risorse specifici della lingua.
Esistono tre aree in genere localizzate nelle applicazioni SharePoint di Visual Studio: funzionalità, markup di pagina ASPX e codice. Ai fini dell'illustrazione, le sezioni seguenti presuppongono che si disponga di una soluzione SharePoint che si desidera localizzare in tedesco e giapponese. La lingua predefinita è l'italiano.
Localizzare le funzionalità
Per localizzare una funzionalità, è necessario sostituire il titolo hardcoded e la descrizione della funzionalità con un'espressione che fa riferimento al titolo tradotto e alla stringa nel file delle risorse localizzate. Questa modifica viene apportata in Progettazione funzionalità in Visual Studio.
Per localizzare la funzionalità inglese in tedesco e giapponese, aggiungere tre elementi di progetto File di risorse al progetto: uno per l'inglese, uno per il tedesco e uno per il giapponese. I file di risorse delle funzionalità non possono essere usati per localizzare il markup o il codice ASPX; sono necessari file di risorse separati.
Dopo aver creato i file di risorse delle funzionalità, aggiungere le stringhe tradotte. Accedere alle stringhe localizzate con un'espressione nel formato seguente:
$Resources:String ID
Le risorse delle funzionalità in Visual Studio sono sempre denominate Risorse. Se si seleziona una lingua diversa da Lingua invariante, viene aggiunto un ID impostazioni cultura al nome del file di risorse. Ad esempio, se si aggiunge un file di risorse di funzionalità invariante (impostazione predefinita), viene chiamato Resources.resx. Se si aggiunge una risorsa di funzionalità specifica della lingua selezionando impostazioni cultura giapponesi (Giappone), il file è denominato Resources.ja-JP.resx. I nomi dei file di risorse delle funzionalità vengono assegnati automaticamente e non possono essere modificati.
L'ambito delle risorse delle funzionalità è locale per la funzionalità a cui vengono aggiunti. Per creare risorse che possono essere usate da qualsiasi file di funzionalità o elemento nella soluzione, aggiungere un elemento di progetto File risorse globali anziché un file di risorse di funzionalità. L'elemento di progetto File risorse globali si trova nella cartella 2010 in SharePoint nella finestra di dialogo Aggiungi nuovo elemento . I file di risorse globali vengono distribuiti nella cartella \Resources della cartella radice di SharePoint.
Per localizzare una funzionalità
In Esplora soluzioni aprire il menu di scelta rapida per il nodo Feature1 e quindi scegliere Aggiungi risorsa funzionalità.
Nella finestra di dialogo Aggiungi risorsa scegliere Lingua invariante dall'elenco come impostazioni cultura per il file di risorse delle funzionalità della lingua predefinita.
Ripetere il passaggio precedente per ogni lingua localizzata, selezionando le lingue desiderate per i file di risorse della funzionalità localizzati.
Vengono creati file di risorse di funzionalità separati, uno per la lingua predefinita e uno per ogni lingua localizzata da supportare.
Aprire ogni file di risorse nell'Editor risorse e immettere tutti gli ID di stringa e i relativi valori.
Ad esempio, nel file di risorse di funzionalità predefinito immettere un ID stringa titolo con il valore My Feature Title e un secondo ID stringa di Description con il valore My Feature Description. Per ogni file di risorse localizzato, utilizzare gli stessi ID di stringa utilizzati nella risorsa della funzionalità predefinita, ma immettere stringhe localizzate per i valori.
Dopo aver immesso tutti i valori delle risorse, aprire il menu di scelta rapida per la funzionalità (ad esempio, Feature1.feature) e quindi scegliere Progettazione viste per aprire la funzionalità in Progettazione funzionalità.
Per localizzare i campi Titolo e Descrizione nella funzionalità, usare il formato seguente per immettere i valori nelle relative caselle:
$Resources:
ID stringaAd esempio, immettere $Resources:Title nella casella Titolo funzionalità e $Resources:Descrizione nella casella Descrizione funzionalità.
Gli ID di stringa devono corrispondere a quelli utilizzati nei file di risorse.
Scegliere la chiave F5 per compilare ed eseguire l'applicazione.
In SharePoint aprire il menu Azioni sito, scegliere Impostazioni sito, quindi nella sezione Azioni sito scegliere il collegamento Gestisci funzionalità sito.
In SharePoint modificare la lingua di visualizzazione rispetto all'impostazione predefinita.
Il titolo e la descrizione della funzionalità localizzati vengono visualizzati nell'applicazione. Per visualizzare le risorse localizzate, è necessario che nel server SharePoint sia installato un Language Pack che corrisponda alle impostazioni cultura del file di risorse.
Localizzare il markup della pagina ASPX
Per localizzare ASP.NET pagine, aggiungere tre elementi di progetto File risorse al progetto: uno per l'inglese, uno per il tedesco e uno per il giapponese. Se non è necessario localizzare il codice oltre al markup, è invece possibile aggiungere file di risorse globali.
le pagine di ASP.NET (.aspx) usano in genere valori stringa hardcoded. Per localizzare queste stringhe, sostituirle con espressioni che fanno riferimento a risorse localizzate.
Per localizzare il markup ASPX
Aggiungere file di risorse separati: uno per la lingua predefinita e uno per ogni lingua localizzata.
Se si localizza solo markup e non codice, aggiungere un elemento di progetto File risorse globali. Se si localizza codice e markup, aggiungere un elemento di progetto File di risorse.
Per aggiungere un file di risorse globali, in Esplora soluzioni aprire il menu di scelta rapida per un elemento di progetto SharePoint e quindi scegliere Aggiungi>nuovo elemento. Nel nodo SharePoint 2010 scegliere il modello File risorse globali.
Per aggiungere un file di risorse, in Esplora soluzioni aprire il menu di scelta rapida per un elemento di progetto SharePoint e quindi scegliere Aggiungi>nuovo elemento. Scegliere il modello File risorse.
Nota
Assicurarsi di aggiungere i file di risorse a un elemento del progetto SharePoint per abilitare la proprietà Tipo di distribuzione. Questa proprietà è necessaria più avanti in questa procedura. Se la soluzione non dispone di un elemento di progetto SharePoint, è possibile aggiungere un progetto SharePoint vuoto e rimuovere il relativo file di Elements.xml predefinito.
Assegnare al file di risorse lingua predefinito un nome a scelta aggiunto con un'estensione
.resx
, ad esempio MyAppResources.resx. Usare lo stesso nome di base per ogni file di risorse localizzato, ma aggiungere l'ID impostazioni cultura. Ad esempio, denominare una risorsa localizzata tedesca MyAppResources.de-DE.resx.Modificare il valore della proprietà Tipo di distribuzione di ogni file di risorse in AppGlobalResource in modo che vengano distribuiti nella cartella App_GlobalResources del server. La cartella App_GlobalResources si trova in C:\inetpub\wwwroot\wss\VirtualDirectories\<port number>\App_GlobalResources.
Se si usano le risorse per localizzare il codice oltre al markup ASPX, lasciare il valore della proprietà Azione di compilazione di ogni file come risorsa incorporata. Se si usano i file di risorse solo per localizzare il markup, facoltativamente è possibile modificare il valore della proprietà dei file in Contenuto. Per altre informazioni, vedere Localizzare le soluzioni SharePoint.
Nota
Se si usano file di risorse non globali, spostarli nella cartella dell'elemento di progetto per abilitare la proprietà Tipo di distribuzione e altre proprietà specifiche di SharePoint.
Aprire ogni file di risorse e aggiungere stringhe localizzate usando gli stessi ID stringa in ogni file.
Nel markup XML per la pagina o il controllo ASPX sostituire le stringhe hardcoded con valori che utilizzano il formato seguente:
<%$Resources:Resource File Name, String ID%>
Ad esempio, per localizzare il testo per un controllo etichetta in una pagina dell'applicazione, è necessario modificare:
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server"> <asp:Label ID="lbl" runat="server" Text="Label text"></asp:Label> </asp:Content>
to
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server"> <asp:Label ID="lbl" runat="server" Text="<%$Resources:MyAppResources,String1%>"></asp:Label> </asp:Content>
Scegliere la chiave F5 per compilare ed eseguire l'applicazione.
In SharePoint modificare la lingua di visualizzazione rispetto all'impostazione predefinita.
Le stringhe localizzate vengono visualizzate nell'applicazione. Per visualizzare le risorse localizzate, è necessario che nel server SharePoint sia installato un Language Pack che corrisponda alle impostazioni cultura del file di risorse.
Localizzare il codice
Oltre a localizzare stringhe di funzionalità e ASP.NET markup, è anche necessario localizzare le stringhe di messaggio e le stringhe di errore visualizzate nel codice della soluzione. I messaggi informativi e di errore localizzati sono contenuti negli assembly satellite. Gli assembly satellite contengono stringhe visibili agli utenti, ad esempio testo dell'interfaccia utente e messaggi di output come le eccezioni.
Visual Studio usa il modello hub e spoke standard di .NET Framework. L'hub, o l'assembly principale del programma, contiene le risorse della lingua predefinite. Gli spoke o gli assembly satellite contengono le risorse specifiche del linguaggio. Per altre informazioni, vedere Creazione del pacchetto e distribuzione delle risorse. Gli assembly satellite vengono compilati da file di risorse (.resx
). Quando si aggiungono file di risorse specifici della lingua al progetto e al pacchetto della soluzione, Visual Studio compila i file di risorse in assembly satellite denominati {Nome progetto}.resources.dll.
Per localizzare il codice
In Esplora soluzioni aprire il menu di scelta rapida per una voce di progetto e quindi scegliere Aggiungi>modulo.
Scegliere il modello File risorse.
Nota
Assicurarsi di aggiungere il file di risorse a un elemento del progetto SharePoint in modo che la proprietà Tipo di distribuzione sia disponibile. Questa proprietà è necessaria più avanti in questa procedura.
Assegnare al file di risorse lingua predefinito un nome a scelta aggiunto con un'estensione
.resx
, ad esempio MyAppResources.resx.Ripetere i passaggi 1 e 2 per aggiungere file di risorse separati all'elemento di progetto SharePoint, uno per ogni lingua localizzata.
Usare lo stesso nome di base per ogni file di risorse localizzato, ma aggiungere l'ID impostazioni cultura. Ad esempio, denominare una risorsa localizzata tedesca MyAppResources.de-DE.resx.
Aprire ogni file di risorse e aggiungere stringhe localizzate. Utilizzare gli stessi ID di stringa in ogni file.
Modificare il valore della proprietà Tipo di distribuzione di ogni file di risorse in AppGlobalResource per fare in modo che ogni file verrà distribuito nella cartella App_GlobalResources del server.
Lasciare il valore della proprietà Azione di compilazione di ogni file come risorsa incorporata.
Le risorse incorporate vengono compilate nella DLL del progetto.
Compilare il progetto per creare le DLL satellite delle risorse.
In Progettazione pacchetti scegliere la scheda Avanzate e quindi aggiungere l'assembly satellite.
Nella casella Percorso anteporre una cartella ID impostazioni cultura al percorso percorso, ad esempio de-DE\<Nome> elemento progetto.resources.dll.
Se la soluzione non fa già riferimento all'assembly
System.Web
, aggiungervi un riferimento e aggiungere una direttiva nel codice a System.Web.Individuare tutte le stringhe hardcoded nel codice visibili agli utenti, ad esempio il testo dell'interfaccia utente, errori e testo del messaggio. Sostituirle con una chiamata al metodo GetGlobalResourceObject utilizzando la sintassi seguente:
HttpContext.GetGlobalResourceObject("Resource File Name", "String ID")
Scegliere la chiave F5 per compilare ed eseguire l'applicazione.
In SharePoint modificare la lingua di visualizzazione rispetto all'impostazione predefinita.
Le stringhe localizzate vengono visualizzate nell'applicazione. Per visualizzare le risorse localizzate, è necessario che nel server SharePoint sia installato un Language Pack che corrisponda alle impostazioni cultura del file di risorse.
Il codice non localizzato usa valori stringa hardcoded. Per localizzare le stringhe di codice, sostituirle con le chiamate a , ovvero un metodo che fa riferimento alle GetGlobalResourceObjectrisorse localizzate.
Localizzazione del codice della web part
Le web part includono una funzionalità dell'editor di proprietà personalizzata che include attributi di codice che usano stringhe hardcoded, ad esempio WebDisplayName, Category e WebDescription. Per sostituire i valori stringa per questi attributi, creare una classe separata che deriva dalla classe dell'attributo. In queste classi impostare la proprietà dell'attributo. La proprietà dell'attributo dipende dalla classe base. Ad esempio, la proprietà dell'attributo WebDisplayName è DisplayNameValue e la proprietà dell'attributo WebDescription è DescriptionValue.
Nella classe derivata fare riferimento all'ID stringa del file di risorse e all'oggetto ResourceManager per ottenere il valore localizzato per l'ID stringa. Restituisce questo valore all'attributo dell'editor di proprietà.