Lucrul cu resursele aplicației pe Windows Phone

Ce veți crea

În tutorialele anterioare, am aflat despre resursele aplicațiilor, MAT (Multilingual App Toolkit) și cum să testați o aplicație localizată. În acest tutorial, nu numai că vom înscrie toate într-un mod mai ușor, ci vom crea, de asemenea, o bară de aplicații localizată pe care o puteți utiliza oriunde în aplicație.

Dezvoltatorii trebuie de multe ori să utilizeze aceeași bara de aplicații pe mai multe pagini în proiectul lor și, de obicei, ajung să copieze și să lipsească codul XAML și C #, care nu este recomandat.

În acest tutorial, veți învăța cum să utilizați resursele aplicațiilor și cum să adăugați localizarea și globalizarea la aplicațiile dvs. Veți învăța, de asemenea, să utilizați fișierele App.xaml și App.xaml.cs pentru a construi o bară de aplicații localizată pe care o puteți utiliza oriunde în aplicația Windows Phone.

1. De ce să construiți o aplicație localizată?

Utilizatorii Windows Phone nu sunt vorbitori nativi de limba engleză. De fapt, doar 34% dintre aceștia vorbesc engleza. Aceasta înseamnă că 66% vorbește o altă limbă decât limba engleză și de aceea este important să construiți aplicații localizate.

O strategie eficientă pentru creșterea descărcărilor de aplicații este făcând aplicația dvs. mai potrivită pentru clienții Windows Phone care nu vorbesc limba engleză. Cu cât mai multe limbi acceptă aplicația dvs., cu atât mai multe descărcări vor fi obținute și cu atât vor fi mai bune evaluările aplicației dvs. Prin susținerea franceză, germană, arabă și spaniolă, susțineți aproximativ 75% din piața Windows Phone.

În acest tutorial, vom traduce toate resursele noastre de aplicație în franceză și arabă. Iată câteva sugestii rapide pe care trebuie să le aveți în vedere înainte de a începe:

  • Asigurați-vă că numele tuturor resurselor pe care le veți folosi cu semnificativenume, pentru că vom vorbi despre resursele de șir după numele lor,nu valoarea lor. Încercați să dați fiecărei resurse un caracter unicnume care are sens.
  • Încercați să strângeți toate resursele dvs. de șir în AppResources.resx, inclusiv titluri de butoane și mesaje de eroare.
  • Activați suportul multiline și înfășurați textul în controale.
  • Salvați-vă întotdeauna munca și asigurați-vă că vă reconstruiți deseori proiectul pentru a implementa modificările la care faceți AppResources.resx.

2. Cultură și sprijin lingvistic

Valorile, numerele, data, ora și formatele regiunii diferă de la cultură la cea culturală. Din fericire, CultureInfo clasa are grija de aceste detalii pentru fiecare limbă. De fapt, puteți chiar să recuperați datele curente ale telefonului și să afișați informațiile sale într-un telefon MessageBox folosind o singură linie de cod:

MessageBox.Show (CultureInfo.CurrentCulture.Name);

Însă InitializeLanguage () funcția în App.xaml.cs lucrează automat de fiecare dată când aplicația este lansată și setată RootFrame.Language pe baza valorii AppResources.ResourceLanguage resursă. Rețineți că în cazul în care aplicația dvs. nu acceptă altă limbă decât en-US (Engleză, Statele Unite), aplicația folosește funcția neutră și implicită AppResources.resx dosarul proiectului.

3. Localizarea aplicației dvs.

Pasul 1: Adăugarea resurselor și a elementelor text obligatorii

În acest tutorial, vom construi o aplicație de o pagină care va arăta utilizatorului câteva cuvinte înțelepte și vechi. Pentru a începe, în MainPage.xaml, vom adăuga câteva TextBlock elemente fără a specifica conținutul lor prin adăugarea următoarelor două linii de cod în părinte ContentPanelgrilă:

 

Facem, de asemenea, următoarele modificări în modul implicit AppResources.resx fişier:

  • schimbarea Titlul aplicației valoare șir
  • adăugând două șiruri, așa cum se arată în următoarea imagine de ecran

Hai să ne întoarcem acum MainPage.xaml. După adăugarea șirurilor de care avem nevoie în aplicația noastră, am setat Text proprietate a TextBlock pentru a specifica conținutulde fiecare TextBlock.

În loc să afișezi ca titlu "APLICAȚIA MEA", vom folosi șirul "Aplicația mea localizată". Putem realiza acest lucru folosind o legare care face trimiterea la resursele aplicației, legând valoarea șirului. Pentru a face această referință, nu vom folosi valoarea șirului însăși, ci atributul său(Nume), Titlul aplicației.

Text = "Cale de legare = LocalizedResources.ApplicationTitle, Source = StaticResource LocalizedStrings"

Fiecare dintre cele două TextBlock elementele vor avea și o vorbă. Vom folosi aceeași linie de cod, înlocuindu-l Titlul aplicației atributul cu atributul nostru. Acesta ar trebui să arate codul dvs.:

   

Acesta este rezultatul rezultatului:

Acum trebuie doar să adăugăm alte limbi și să traducem.

Pasul 2: Adăugarea altor limbi

Pentru a adăuga o altă limbă, accesați proprietățile proiectului făcând clic dreapta pe proiectul din Soluție Explorer fereastră. Asigurați-vă că accesați proprietățile proiectului, nu proprietățile soluției.


În Tab-ul aplicației ar trebui să vedeți Limbile acceptate secțiune. Selectați limba pe care doriți să o acceptați. Așa cum am menționat mai devreme în acest tutorial, vom adăuga franceza și araba. După cum puteți vedea în listă, puteți chiar să selectați cultura în funcție de regiune, cum ar fi franceza (Franța), franceza (Belgia). Pentru acest tutorial, vom alege doar cel general, ignorând dialectul și regiunea.

După ce salvați modificările, veți observa că Visual Studio a generat automat două fișiere .resx noi:

  • AppResources.ar.resx pentru arabă
  • AppResources.fr.resx pentru franceză

Rețineți că fișierele generate recent au același conținut ca și AppResources.resx. Nu trebuie să modificați atributele (numele). Trebuie doar să traduceți valorile.

3. Folosind setul de instrumente pentru aplicații multilingve

Setul de instrumente pentru aplicații multilingve este foarte util pentru traducerea resurselor de șir. Este integrat în Visual Studio, oferind suport pentru construirea de aplicații Windows și Windows Phone localizate și ajutor pentru traducerea resurselor aplicației. Aplicația Multilingual App Toolkit simplifică adăugarea altor limbi și puteți importa și exporta ușor fișierele de traducere.

Puteți descărca Multilingual App Toolkit ca extensie Visual Studio de pe site-ul Web al dezvoltatorului Microsoft. După instalarea setului de instrumente, selectați Activați Toolkit pentru aplicații multilingve de la Unelte meniul.

După ce a activat MAT, Visual Studio generează noi .XLF fișiere pentru fiecare dintre limbile acceptate pe care le-ați adăugat mai devreme. Acest lucru înseamnă că puteți genera traduceri ale mașinilor făcând clic dreapta pe una .XLF fișier și alegerea Generați traducerile mașinilor. De asemenea, puteți modifica resursele de șir traduse în ţintă etichetă în toate .XLF fișiere.


4. Cum să testați o aplicație localizată?

Puteți testa o aplicație localizată utilizând emulatorul.

  • Debugați-vă proiectul și mergeți la Setările emulatorului.
  • Navigați la Limba și adăugați o nouă limbă. Este important să nu reporniți telefonul.
  • Navigați la Regiune și alegeți regiunea dvs..
  • Reporniți telefonul.

Când telefonul repornește, Visual Studio ar putea să apară o eroare, pierzând conexiunea cu emulatorul. După ce reporniți telefonul, depanați din nou proiectul. Acesta este aspectul aplicației pentru limba arabă:

Acum că am terminat cu resursele de șir, vom adăuga o bară de aplicații localizată în aplicația noastră.

5. Crearea unei bare aplicate localizate

Pasul 1: Crearea barei de aplicații

În acest pas, vom crea o bară de aplicații pe care o putem folosi oriunde în aplicația noastră. Pentru a face acest lucru, vom face uz de App.xaml fișier, în care definim stilurile și resursele XAML globale care vor fi utilizate în întreaga aplicație.

În ApplicationResources tag în App.xaml, adăugăm o bară de aplicații cu doar o pictogramă și un element de meniu. Nu uitați să dați un numela bara de aplicație utilizând x: cheie atributul, astfel încât să îl putem referi mai târziu.

     

În RateReview_Click manipulator de evenimente, folosim una dintre sarcinile telefonului pentru a naviga utilizatorilor către magazin, dacă doresc să lase o recenzie sau să aprecieze aplicația. cât despre Help_Click manipulator de evenimente, adăugăm doar un cod C # pentru a naviga între diferitele pagini. Rețineți că am adăugat o nouă pagină XAML, AboutTheApp.xaml, în care afișăm informații despre aplicația noastră.

În App.xamls.cs, adăugați următoarea declarație astfel încât să putem beneficia de clasa de sarcini ale telefonului:

folosind Microsoft.Phone.Shell;

Atunci când utilizatorul pune în funcțiune elementul de rată și recenzie, aplicația va deschide magazinul într-o pagină în care utilizatorul poate evalua și / sau revizui aplicația. Noi folosim a MarketPlaceReviewTask asa:

MarketplaceReviewTask review = new MarketplaceReviewTask (); review.Show ();

cât despre Help_Click un handler de evenimente, următorul fragment de cod are grijă de navigarea între cele două pagini:

(Application.Current.RootVisual ca PhoneApplicationFrame) .Navigate (noul Uri ("/ AboutTheApp.xaml", UriKind.RelativeOrAbsolute)); 

Pasul 2: Referirea barei de aplicații

După crearea barei de aplicații pe care dorim să o folosim, adăugăm o nouă instanță a barei de aplicații utilizând fragmentul de cod de mai jos MainPage.xaml.cs și apoi facem să se refere la cel din App.xaml.

InitializeComponent (); ApplicationBar = new ApplicationBar (); ApplicationBar = (ApplicationBar) Application.Current.Resources ["myAppBar"]);

Nu am folosit-o AppResources pentru construirea barei de aplicații, ceea ce înseamnă că proprietățile textului sunt deja stabilite independent de cultura telefonului. De fapt, nu putem folosi cu adevarat legaturi atunci cand ne ocupam de barele de aplicare.

Acesta este motivul pentru care vom face referire la bara de aplicații pe care am creat-o mai devreme App.xaml.cs și modificați valoarea șirurilor, folosind un bloc simplu al unui cod imediat după InitializeComponent () metodă. Se adaugă, de asemenea, sirurile de caractere utilizate AppResources.resx.

// Inițializare inițială XAML InitializeComponent (); var appBar = App.Current.Resources ["myAppBar"] ca ApplicationBar; (AplicațieBarIconButton) appBar.Buttons [0]) Text = AppResources.AboutAppBarIconText; ((ApplicationBarMenuItem) appBar.MenuItems [0]) Text = AppResources.RateAppBarMenuItemText;

După adăugarea resurselor șir, traduceți-le și reconstruițiproiectul. În cele din urmă, adăugați informațiile din AboutTheApp.xaml pagină. Acesta este rezultatul rezultatului:

Concluzie

În acest tutorial, am aflat despre cultura telefonului, modul de utilizare a resurselor de aplicație, cum se construiește o aplicație localizată și o bară de aplicații și cum se construiește o bară de aplicații pe care o putem reutiliza oriunde în aplicația noastră. De asemenea, am învățat cum să facem o referință la o valoare de șir în fișierele AppResources folosind legături.

În sfârșit, am ajuns să știm cum folosim sarcinile telefonului pentru a ajuta utilizatorii să evalueze și să revadă aplicația din magazin. Simțiți-vă liber să descărcați proiectul de eșantion și să adresați orice întrebare care vă traversează mintea în comentariile de mai jos.

Cod