Al fine di incrementare il numero di possibili utilizzatori di un applicazione pubblicata sul marcketplace di windows phone 7 è utile tradurre l’applicazione in più lingue.
Per farlo basta seguire questa semplice guida i cui passaggi fondamentali sono:
· Modifica del file *.csproj;
· Modifica della proprietà Natural Language;
· Creazione del file AppResources.resx;
· Creazione del file AppResources.en-US.resx;
· Creazione della classe LocalizedStrings.cs;
· Modifica del file App.xaml;
· Modifica del file MainPage.xaml.
Modifica del file *.csproj
Per localizzare un applicazione WP7 in più lingue la prima cosa da fare è creare una normale applicazione da visual studio. Una volta creata l’applicazione chiudete visual studio (sembrerà strano ma è necessario chiuderlo) e cercate da esplora risorse la cartella contente il file *.csproj ed apritelo con notepad. In questo file andranno aggiunte le informazioni per le lingue da supportare.
Cercate il tag <SupportedCulture> all’interno del codice ed aggiungeteci le lingue da supportare
Salvate il file e chiudetelo.
Modifica della proprietà Natural Language
Aprite Visual Studio e andate su project->NomeApplicazione Properties e selezionate il Natural Language (ovvero la lingua di default dell’applicazione)
Creazione del file AppResources.resx
Dopodiché create all’interno del progetto una cartella chiamata “Resources” e facendovi click destro->add-> New Idem-> Resource File e chiamatelo AppResources.resx
Questo file conterrà il testo della nostra applicazione nel linguaggio di default scelto per l’applicazione
Il funzionamento di questo file è molto semplice:
· nella colonna Name va messo il nome che ci consentirà di identificare nell’interfaccia il testo
· nella colonna Value va inserito il testo che visualizzeremo
· nella colonna Comments è possibile (non è obbligatorio) inserire dei commenti
IMPORTANTE!: ACCESS MODIFIER VA IMPOSTATO SU PUBLIC!!!
Creazione del file AppResources.en-US.resx
Una volta creato il file per la lingua principale occorre creare gli altri necessari per le altre lingue. Per cui sempre nella cartella “Resources” occorre aggiungere un altro file di tipo “ResourceFile” e occorre chiamarlo “AppResources.en-US.resx” dove al posto di “.en-US” è possibile inserire gli indicativi per le altre lingue (per l’elenco completo delle sigle delle altre lingue vedi qui: http://msdn.microsoft.com/en-us/library/ms533052%28v=vs.85%29.aspx)
Una volta creato il file, avendo cure di mantenere la proprietà “Name” uguale al file in lingua originale, occorre riempire la proprietà “Value” con il testo tradotto.
Creazione della classe LocalizedStrings.cs
Sempre nella cartella Resources ora occorre creare una nuova classe (click destro->add->new Item->Class) e nominarla LocalizedStrings.cs
All’interno di LocalizedString.cs va inserito il seguente codice:
Dove al posto di “Localizzazione” va inserito il nome della propria applicazione
Modifica App.xaml
All’interno del file App.xaml occorre identificare e modificare i tag <Application.Resources> come segue :
Modifica MainPage.xaml
Nella pagina principale occorre definire dove il testo localizzato dovrà apparire.
Ad esempio per far apparire il Titolo in un TextBlock
Conclusione
Lanciando l’emulatore è possibile testare il corretto funzionamento dell’applicazione.
Siccome l’emulatore non supporta altre lingue all’infuori dell’inglese per provare la nostra applicazione con lingue diverse all’interno del file App.xaml.cs occorre inserire le seguenti righe di codice:
E all’inizio del file (prima ancore dei vari “using ….”) aggiungere:
#define DEBUG_AGENT
Commenti
Posta un commento