Upotreba lokalnih jezika u Windows Phone aplikacijama

English description: Main topic of this blog post is how to localize Windows Phone app for a language that isn’t supported.  Language: Serbian/Bosnian/Croatian

Prilikom kreiranja Windows Phone aplikacija veoma bitan aspekt aplikacije je na kom jeziku je kreirana aplikacija. Taj izbor umnogome zavisi od same aplikacije i kom tržištu je namjenjena. Ukoliko se radi o aplikaciji koje treba da je podržana na jezicima iz regije kao što su zemlje Bosna i Hercegovina/Srbija/Hrvatska tj. jezicima srpski/bosanski/hrvatski postoje određene specifičnosti koje treba ispoštovati kako bi aplikacija uspješno prošla sertifikaciju (naredna pravila važe za bilo koji jezik na svijetu).

Ta pravila su prilično jednostavna ali prečesto se susrećem sa vapajima za pomoć sa pitanjem zašto moja aplikacija nije prošla sertifikaciju. Dakle, pokazaću pravila za tri različite situacije:

  1. Podrška za srpski/bosanski/hrvatski jezik za Windows Phone 7.1
  2. Podrška za srpski/bosanski/hrvatski jezik za Windows Phone 8
  3. Podrška za srpsku ćirilicu za Windows Phone 8

OPŠTA PRAVILA

Osnovno pravilo koje treba ispoštovati je:

  1. Jezik aplikacije (sadržaj koji prezentuje samu aplikaciju, naslov, tekst za Application Bar) mora biti usklađen sa odabranim Neutral jezikom. Ukoliko taj jezik nije podržan onda je potrebno odabrati za Neutral jezik neki od podržanih a u podržanim kulturama za aplikaciju odabrati onu koja odgovara jeziku sadržaja aplikacije
  2. Opis aplikacije u Dev Center za nepodržane jezike mora biti u skladu sa određenim pravilima

Čini se vrlo jednostavno ali nepoštovanje prethodne dvije stavke je mnoge “obradovao” sa mailom od sertifikacionog tima da im je neuspješno prošla sertifikacija.

Takođe bi pomenuo jednu bitnu činjenicu koju treba uzeti u obzir a koja nije direktno vezana sa problemom jezika je da ako vam je jednom uspješno prošla sertifikacija, ne znači da će i naredni put proći uspješno iako ste načinili beznačajne izmjene koje generalno nisu mogle uticati na sadržaj aplikacije. Postoji više razloga za to ali je glavni razlog ljudski faktor, jer sertifikaciju obavljaju ljudi a ne mašine pa nekada sertifikacionom timu promakne nešto prilikom testiranja vaše aplikacije.

Praktično, ono što morate ispoštovati je da sadržaj aplikacije odradite u željenom jeziku (bilo koji od prethodno pomenutih) i da obratite pažnju na dva različita mjesta:

  1. Visual Studio – properties projekta, Neutral language i Supported Cultures
  2. Dev Center – description (opis aplikacije)

Napomena: ukoliko imate bilo kakvu nedoumicu da li će vaša aplikacija uspješno proći sertifikaciju, preporučujem da postavite aplikaciju u Dev Center na sertifikaciju i da odmah zadražite pomoć od tehničke podrške (support ticket). Podrška je zaista fantastična, neko će vam se javiti u roku od maksimalno dva dana te vam može sugerisati da odradite određene izmjene u aplikaciji i da ponovo postavite aplikaciju na sertifikaciju a da prethodnu poništite. Na taj način štedite mnogo vremena jer možete više puta raditi ovu provjeru sa podrškom dok ne bude sve u redu. Nakon toga proces sertifikacije teče uobičajenim tokom (što opet nije garancija da će proći uspješno!). Kako da postavite support ticket možete pogledati na jednom od mojih prethodnih postova ovdje.

Da ne bi bilo dileme, lista podržanih jezika je:

image

Bosanski jezik trenutno još nije podržan kao ni srpska ćirilica.

Konačno, krenimo redom sa detaljnim opisom redoslijeda aktivnosti za svaki od tri slučaja.

PODRŠKA ZA SRPSKI/BOSANSKI/HRVATSKI JEZIK ZA WP 7.1

Podrška može biti posebno za svaki od jezika ili zajedno za sve jezike (za programere iz Bosne i Hercegovine.)

Bitna činjenica: ni jedan od jezika (srpski, bosanski, hrvatski) nije podržan jezik u verziji 7.1.

Visual Studio podešavanja

Neutral language

Odaberite u Properties projekta/Assembly Information/Neutral language i izaberite English. Ukoliko odaberete jezik koji nije podržan, sertifikacija neće proći!!!

image

Supported Cultures

Odaberite jezik u kome je vaša aplikacija kreirana (npr. Croatian, ili Serbian ili Bosnian). Ovaj parametar, šta god da stavite ne bi trebao da vam pravi problem prilikom sertifikacije. Bitno je samo da kao rezultat dobijete samo jedno stavku za jezike u Dev Center (XAP’s Store listing info) za koji treba da unesete opis vaše aplikacije, slike i ostale stavke.

Dev Center podešavanja

Prilikom postavljanja opisa aplikacije u Dev Centar, u polju Description koristiti naredna pravila:

  1. Prvo postaviti jednu rečenicu na neutral jeziku sa sadržajem tipa: Primary text of this application is in Bosnian/Serbian/Croatian language.  Za jezik (na mjestu gdje stoji Bosnian/Serbian/Croatian) postavite onaj jezik/jezike kojim je prikazan sadržaj u vašoj aplikaciji (u našem slučaju su u pitanju jezici koji nisu podržani).
  2. Potom postaviti tekst sa opisom aplikacije na Neutral jeziku.
  3. Treće, postavite tekst sa opisom app na jeziku sadržaja vaše aplikacije. Ukoliko je podrška za sva tri jezika srpski/bosanski/hravtski dovoljno je opisati aplikaciju na samo jednom od bilo koja tri jezika.

To bi praktično ovako izgledalo:

image

Odabrani Neutral jezik English u Visual Studio je ovdje prikazan kao English (Internationl) i njega je preporučljivo koristiti (a ne npr. English US).

Napomena: srpski jezik ovdje znači korišćenje latiničnog pisma.

PODRŠKA ZA SRPSKI/BOSANSKI/HRVATSKI JEZIK ZA WP 8

Bitna činjenica: za Windows Phone 8 verziju podržani jezici su srpski latinica i hrvatski. Bosanski još nije podržan kao ni srpski ćirilica.

Visual Studio podešavanja

Neutral language

Odaberite u Properties projekta/Assembly Information/Neutral language i izaberite srpski ili hrvatski (naravno možete i English, ukoliko vam ne odgovara ni jedan od pomenutih jezika). Ukoliko odaberete jezik koji nije podržan, sertifikacija neće proći!!!

Ako pogledamo listu podržanih jezika, moramo ispoštovati kod za jezik:

image

U listi za Neutral language morate biti pažljivi jer morate odabrati jezik koji će kao rezultat dati hr-HR ili sr-Latn-CS što baš i nije tako intuitivno na prvi pogled.

Dakle, za hrvatski jezik morate odabrati – Croatian (Croatia):

image

a za srpski jezik – Serbian (Latin, Serbia and Montenegro (Former)):

image

Kako da znate da ste odabrali baš podržani jezik? Pa da bi to provjerili možete u folderu Properties vašeg projekta otvoriti AssemblyInfo.cs klasu i pogledati na kraju fajla sadržaj za Neutral jezik:

image

Ova stavka mora da se podudara sa kodom (Culture code) za podržani jezik. Link za sve podržane jezike možete pronaći na kraju teksta.

Supported Cultures

Odaberite jezik u kome je vaša aplikacija kreirana (npr. Bosnian (Latin)). Ovaj parametar, šta god da stavite ne bi trebao da vam pravi problem prilikom sertifikacije. Bitno je samo da kao rezultat dobijete samo jedno stavku za jezike u Dev Center (XAP’s Store listing info) za koji treba da unesete opis vaše aplikacije, slike i ostale stavke.

Da provjerite koji ste dobili Culture kod za ovu stavku možete otvoriti fajl WMAppManifest.xml koji se nalazi u folderu Properties vašeg projekta. Koristite opciju Open With… koju dobijete desnim dugmetom miša nad xaml fajlom i daberite XML (Text) Editor with Encoding pa potom Auto-Detect. U gornjem dijelu xaml koda možete vidjeti koji je kod za vaš Neutral jezik (DefaultLanguage) kao i jezik za odabrani Supported Cultures (Language):

image

Dev Center podešavanja

Ukoliko je za sadržaj aplikacije korišćen podržan jezik (srpski ili hrvatski) onda je u polju Description dovoljno postaviti opis aplikacije samo na tom, podržanom jeziku.

image

Napomena: u ovom slučaju (kada je app na podržanom jeziku) apsolutno nije preporučljivo da postupite drugačije i da koristite pravila kao za nepodržani jezik tako što će dio opisa biti na npr. engleskom jeziku.

Ukoliko ste za sadržaj aplikacije koristili nepodržani jezik (npr. bosanski) onda je prilikom postavljanja opisa aplikacije u Dev Centar, u polju Description potrebno koristiti ista pravila kao i za Windows Phone 7.1 verziju. Dakle,

  1. Prvo postaviti jednu rečenicu na neutral jeziku sa sadržajem tipa: Primary text of this application is in Bosnian language. Npr. ako je Neutral English, onda ovaj tekst mora biti na engleskom tj. ova prva rečenica mora biti na odabranom Neutral jeziku vaše aplikacije.
  2. Potom postaviti tekst sa opisom aplikacije na Neutral jeziku.
  3. Treće, postavite tekst sa opisom app na jeziku sadržaja vaše aplikacije (bosanski).

Naravno, za bosanski jezik možete koristiti srpski ili hrvatski jezik kao Neutral a ne English.

PODRŠKA ZA SRPSKU ĆIRILICU ZA WINDOWS PHONE 8

Srpska ćirilica nije podržana u Windows Phone 8 ali je moguće dobiti na sledeći način (kao i svaki nepodržani jezik):

Visual Studio podešavanja

Neutral language

Odaberite u Properties projekta/Assembly Information/Neutral language i izaberite Latin, Serbia and Montenegro (Former).

image

Supported Cultures

Odaberite Serbian (Cyrillic). Visual Studio će sam odabrati i default jezik koji je isti kao Neutral jezik što nam neće predstavljati problem.

image

Ako pogledamo šta smo dobili u fajlu WMAppManifest.xml to je upravo ono što nam treba:

image

Dev Center podešavanja

Prilikom postavljanja opisa aplikacije u Dev Centar, u polju Description koristiti naredna pravila:

  1. Prvo postaviti jednu rečenicu na neutral jeziku sa sadržajem tipa: Jezik ove aplikacije je srpski na ćiriličnom pismu. Dakle, ovaj tekst je na Neutral jeziku što je u našem slučaju srpska latinica.
  2. Potom postaviti tekst sa opisom aplikacije na Neutral jeziku.
  3. Treće, postavite tekst sa opisom aplikacije na jeziku sadržaja vaše aplikacije tj. na ćirilici.

To bi praktično ovako izgledalo:

image

Odabrani Neutral jezik je ovdje prikazan kao Latin Serbian.

Primjer aplikacije na ćiriličnom pismu: Crkveni Kalendar.

RESURSI ZA DETALJNO ISTRAŽIVANJE

Ukoliko vas interesuje resurs sa detaljnim objašnjenjima na ovu tematiku obavezno pogledajte blog post Globalizing and Localizing a Windows Phone App.

Pregled podržanih jezika u verziji Windows phone 7.1 i Windows Phone 8 možete pogledati na Culture and language support for Windows Phone.

About Spaso Lazarevic

Spaso Lazarevic is Senior Software Developer working with Microsoft technologies. Leader of .NET User Group Bijeljina, speaker at Microsoft events, writter and blogger. Microsoft MVP for Visual C#.
This entry was posted in Marketplace, Windows Phone and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s