190 likes | 304 Views
Modernien Windows 8 sovellusten lokalisointi. Jaakko Salmenius, 6.3.2013. Lokalisointi. Lokalisointi on prosessi, jossa sovellus sovitetaan paikalliselle markkinoille sopivaksi
E N D
Modernien Windows 8 sovellusten lokalisointi Jaakko Salmenius, 6.3.2013
Lokalisointi Lokalisointi on prosessi, jossa sovellus sovitetaan paikalliselle markkinoille sopivaksi Tärkein osa on käyttöliittymän, viestien, äänen, datan, ohjetekstien ja muun materiaalin kääntäminen käyttäjän kielelle Joskus ohjelman logiikkaa tarvitsee muokata tietyille kohdemarkkinoille Localization, l10n
Kansainvälistäminen Prosessi, jossa sovellus valmistellaan lokalisoitavaksi Suoritettava ennen lokalisointia Hyvin tärkeä Jos tehdään oikein säästetään paljon rahaa ja aikaa Internationalization, i18n
Lokalisointiprosessi Alkuperäinen ohjelma Kansainvälistetty ohjelma Käännetyt ohjelma(t) Kääntä-minen I18N Translation Translation Lisää I18N:a Testaus Käännetyt ohjelma(t)
Windows 8 -ohjelmien resurssit Käyttöliittymä .xaml (C#/VB/C++), .html (JavaScript) Merkkijonot .resw (C#/VB/C++), .resjson (JavaScript) Kuvat Jos kuva sisältää tekstiä tai kulttuurikohtaisia elementtejä niin se pitää “kääntää” Äänet, videot, data, … Demo
Kansainvälistämisen vaiheet Vaihe 1: Tee lokalisointi mahdolliseksi Käytä resursseja Poista kieli- ja maariippuvainen koodi Käytä Unicodea kaikkialla Vaihe 2: Tee lokalisointi helpommaksi Suunittele käyttöliittymä siten, että se toimii kaikkien kielten kanssa Käytä kieli- ja kulttuuririippumattomia kuvia
Muokkaa koodia Käytä merkkijonoresursseja Älä käytä samaa resurssimerkkijonoa kahdessa paikassa ellet ole 100%:n varma että merkitys on sama. hard -> kova, hard -> vaikea String.Format dynaamisten viestin luontiin XxxFormatter eri tyyppien muunto merkkijonoiksi DateTimeFormatter, CurrencyFormatter, ... Lisää tarvittaessa lokaalikohtaista koodia Demo
Huomio paikkakohtaiset asetukset Maakohtaiset muotoilut Päivämäärän muoto, paperin koko, rahayksikkö, postiosoitteen muoto Kysy systeemiltä käyttäjän kieli ja maa Windows.System.UserProfile.GlobalizationPreferences Käyttäjän kieli ja paikka voivat olla eri joukossa Esim. englanti Suomessa tai japani Ranskassa
Käyttöliittymä Englanti on hyvin kompakti kieli Käännökset tarvitsevat yleensä enemmään tilaa Suunnittele käyttöliittymä siten että se mahdollistaa pidemmät merkkijonot Poista merkkijonot,joita ei käytetä
Esimerkki Lokalisoimme englanninkielisen sovelluksen suomeksi, japaniksi ja arabiaksi Valmiit lokalisoidut XAML:t, resw:t, kuvat ja äänet Yksi monikielinen ohjelmatiedosto Käynnistys eri kielillä
Lokalisointityökalun vaikutus Lokalisointityökalusi tukee XAML:ää Voit kirjoittaa merkkijonot sellaisenaan XAML:iin Työkalu tekee XAML:stä kielikohtaiset tiedostot, joissa rakenne on sama, mutta valitut merkkijonot on käännetty. Helppo ja selkeä Lokalisointityökalusi ei tue XAML:ää Merkkijonot on sijoitettava merkkijonoresurssiin Visual Studion lomake-editori ei näytä merkkijonoja Työläs ja sekava
Multilingual App Toolkit for Visual Studio Microsoftin lokalisointityökalu Visual Studioon Edut Ilmainen, integroituu Visual Studioon, XLIFF Haitat Ei tue XAML, kuvia tai ääniä - vain merkkijonoja Kääntäjän tarvitsemia ominaisuuksia puuttuu oikoluku, sanastot, käännösmuisti, tarkistukset, ryhmätyö Demo
Muutama vihje Aina kun kirjoitat merkkijonon koodiin, niin mieti pitäisikö käytää resurssimerkkijona kovakolvatun sijaan Harkitse kahdesti ennenkuin käytät + operaattoria yhdistääksesti kaksi merkkijonoa Tee pseudolokalisointi Saat selville kovakolvatut merkkijonot ja liian ahtaan käyttöliittymän Lokalisoi ensin itse ainakin yhdelle kielelle Näin saat suurimman osan ongelmista selville ennenkuin kallis ammattikääntäminen alkaa
Windows Phone 8 Käyttää samoja resursseja kuin Windows 8 .xaml, .resx, kuvat, äänet Lokalisointiprosessi on samanlainen Julkaisupaketti on eri: .appx vs. .xap Lokalisoidut resurssit ovat sateliittiassembly-tiedostoissa XAP:n sisällä eikä alihakemistoissa Multilingual App Toolkit for VS ei toimi Käytä muuta lokalisointityökalua tai käännä käsin
Data Käytä sisäisessä datassa aina Unicodea WinRT:n merkkijonotyyppi on Unicodea Yritä tallettaa myös ulkoinen data Unicode:na Käytä XML tai JSON:a aina kun on mahdollista On monta Unicode-koodausmenetelmää UTF-8, UTF-16, UCS-2, UTF-32, GB 18030 Vain talletustapa poikkeaa - itse merkistö on sama Tuo ja vie dataa tarvittaessa muista formaateista Demo.
Aasialaiset kielet Käyttävät ideogrammeja aakkosten sijaan 日本, パソコン Sisäänsyöttömenetelmät (IME) Käyttävät paljon vanhoja merkistökoodauksia Shift JIS, EUC, Big5, …. Kiinalla on oma Unicode-koodaus Lokalisointi aasialaiselle kielelle on hyvä testipenkki
Resursseja Microsoftin dokumentaatio Googlaa ”Globalizing your app (Windows Store apps using C#/VB/C++ and XAML)” Googlaa ”Localizing Your Application” Tämä esitys, esimerkit ja lisämateriaalia www.iki.fi/jaska45/TechDays2013 jaakko.salmenius@iki.fi
Kaksisuuntaiset kielet Arabia, heprea ja persia käyttävät oikealta vasemmalle -lukusuuntaa Käyttöliittymä pitää peilata vaakasuorasti XAML mahdollistaa helpon peilauksen. FlowDirection="RightToLeft" Jos lokalisointityökalu tukee XAML:ää niin se voi ostata päivittää myös FlowDirection:in Muuten suorita peilaus ajon aikana