Vuonna ohjelmistojen kehittäminen , kansainvälistyminen (lyhennetty i18n , jossa 18 edustaa merkkien määrä välillä i ja n sanassa) on perustaa järjestelmä mahdollistaa alueellistamista ohjelmisto, eli - sano sen mukauttaminen eri kielille ja kulttuureissa. Kansainvälistymisen tavoitteena on siis tuottaa yksi ohjelma, joka voi sisältää useita kieliä käyttöliittymälle .
Kansainvälistyminen on alueellistamisen edellytys. Se koostuu siitä, että ohjelman lähdekoodissa erotetaan kielestä ja kulttuurista riippumaton ja siitä riippuvainen (yleensä tiedostoissa, joita kutsutaan käännöstaulukoiksi ).
Mutta kansainvälistyminen ei vaadi vain tekstiviestien parissa työskentelemistä. Joskus on myös sallittava värikoodien (joiden merkitys voi vaihdella kulttuurien mukaan), grafiikan (mukaan lukien kuvakkeiden nimet, tietyt kuvakkeet, jotka saattavat sisältää käännettävää kirjoitettua tekstiä), värimuotojen muuttamisen päivämäärät tai numerot, kirjoitussuunta ( esimerkiksi arabiaksi oikealta vasemmalle ), graafisten elementtien koko ( saksankielinen teksti on usein pidempi kuin englanninkielinen vastaava teksti , joka voi muuttaa asettelua jne. ), kunnes Muuten myöntää sanat monikossa jälkeen useita (kirjoitamme "0 tehtävä fille" ranskaksi, mutta "0 lapsi ren prosessi es " Englanti).
Kansainvälistyminen on siis joukko teknisiä mekanismeja, jotka johtavat kielellisesti hyväksyttävään tulokseen loppukäyttäjän valitsemassa kielessä. Se ei kuitenkaan välttämättä riitä käsittelemään "mitään kieltä", koska ohjelma käyttää rajoitettua merkistöä tai joitain erityisiä fontteja tai koska käyttäjällä ei ole siihen oikeita näppäimistöjä. Tietojen syöttö tietyllä kielellä.
Siirtyminen tai suuremman merkistöjen harkitseminen voi olla tarpeen yleisen kansainvälistymisen saavuttamiseksi. Laajennettuja sarjoja tarjotaan toisaalta ISO-2022- perheessä ja toisaalta unicode-muodossa , erityisesti UTF-8 / UTF-16 . Tätä vaihetta, joka on enemmän tai vähemmän riippumaton kansainvälistymisestä (se voidaan tehdä samanaikaisesti ennen tai jälkeen), kutsutaan "monikieliseksi".
Termit kirjoitetaan usein lyhennetyllä i18n- nimellä, jonka Digital Equipment Corporation keksi 1970- ja 1980-luvuilla, ja l10n englanninkieliselle sanalle localization ( alueellistaminen ranskaksi).
Jotkut yritykset, kuten IBM ja Sun Microsystems , käyttävät termiä globalisaatio määrittelemään kansainvälistymisen ja alueellistamisen yhdistelmän.
Microsoft määrittelee kansainvälistymisen englanninkielisen "World-Readiness" -ilmaisun ja alueellistamisen yhdistelmäksi. Maailmavalmius on kehittäjälle kuuluva tehtävä, jonka avulla on mahdollista käyttää tuotetta, jossa on paljon kirjoitushahmoja ja monia kulttuureja (globalisaatio), samalla kun erotetaan kansainvälistettävät resurssit käyttöliittymästä alueellistettavassa muodossa ( lokalisoitavuus , lyhennettynä l12y ) .
Tämä käsite tunnetaan myös nimellä "NLS" ( kansallinen kielituki tai äidinkielen tuki, joka tarkoittaa tukea kansallisille kielille tai tukea äidinkielille ranskaksi).
Näin kirjoitettua ohjelmaa C ei ole kansainvälistetty:
printf("Fatal error: %s\n", msg);Viestin kääntämiseksi on tarpeen muokata lähdekoodia ja muokata merkkijonoa.
Toisaalta saman ohjelman seuraava versio on kansainvälistynyt gettext- kirjaston ansiosta . Ohjelma etsii lokalisointitiedostoistaan merkkijonoa, joka vastaa "kohtalokas virhe:% s", nykyisen käyttäjän kieltä:
printf(gettext("Fatal error: %s\n"), gettext(msg));Alueelliset gettext- viestit liitetään viestin oletusversioon , joka toimii avaimena . Muut ohjelmointiympäristöt voivat käyttää esimerkiksi numeroa (jonka Mac OS teki ) tai luottaa dynaamiseen kokoonpanoasetukseen (esimerkiksi Ruby On RailsI18n.translate -sovelluksen menetelmä ).
Kansainvälistymis- ja alueellistamistoimissa olisi otettava huomioon seuraavat ominaisuudet:
Ero kansainvälistymisen ja alueellistamisen välillä on hienovarainen, mutta tärkeä. Kansainvälistyminen on tuotteiden mukauttamista, joita voidaan käyttää "mahdollisesti" melkein kaikkialla, kun taas alueellistaminen on tiettyjen alueellisten parametrien tarkoittamien arvojen lisääminen . Kansainvälistyminen tehdään kerran jokaiselle tuotteelle, kun taas alueellistaminen tehdään kunkin tuotteen mukautuksille kieliasetuksiin. Prosessit täydentävät toisiaan ja ne on yhdistettävä kansainvälisesti toimivan järjestelmän tavoitteen saavuttamiseksi. Alueellistamiseen liittyvillä alueilla on seuraavat ominaisuudet:
Tuotteen kansainvälistämiseksi on tarkistettava jokaisella markkinoilla, joilla tuote on rekisteröity, seuraavat tiedot:
Nämä ovat vain esimerkkejä siitä, miten kansainvälistymisestä tehdään monimutkainen projekti.
Laajemmassa lähestymistavassa otetaan huomioon kulttuuriset tekijät, jotka liittyvät esimerkiksi liiketoimintaprosessin logiikan mukauttamiseen tai yksilöllisten ja kulttuuristen (käyttäytymiseen liittyvien) näkökohtien sisällyttämiseen.
Nykyinen käytäntö on sovelluksia, jotka sallivat tekstin sijoittamisen resurssijonoihin, lataamista ohjelman suorituksen aikana ja tarpeen mukaan. Nämä resurssitiedostoihin tallennetut merkkijonot on suhteellisen helppo muuntaa. Ohjelmat luodaan usein viittaamaan resurssikirjastoihin, jotka riippuvat valitusta aluetiedosta. Tämä on mahdollista ohjelmistokirjastojen , kuten gettext, ansiosta .
Siksi useita kieliä tukevan sovelluksen hankkimiseksi olisi suositeltavaa suunnitella sovellus, joka sallisi vastaavan kielen resurssitiedoston valinnan ajon aikana. Resurssitiedostot muunnetaan vaadituille kielille. Tästä menetelmästä tulee yleensä sovelluskohtainen tai jopa toimittajakohtainen. Sisääntulon tarkistamisen edellyttämän koodin ja monen muun tyyppisen arkaluontoisen arkaluontoisen tiedon on myös tuettava erilaisia alueellisia vaatimuksia. Nykyaikaisiin kehitys- ja käyttöjärjestelmiin kuuluu hienostuneita kirjastoja, jotka tarjoavat kansainvälistä tukea tällaiselle tiedolle.
Vaikka olemassa olevien tekstien kääntäminen muille kielille saattaa tuntua helpolta, on vaikeampi ylläpitää rinnakkaisia versioita teksteistä koko tuotteen elinkaaren ajan. Jos esimerkiksi käyttäjälle näytettävä viesti muuttuu, myös kaikki käännetyt versiot on muutettava. Tämä johtaa myöhemmin jonkin verran pidempään kehitysjaksoon.
Monet alueellistamisongelmat (kuten kirjoittamisen suunta, tekstin lajittelu jne.) Edellyttävät syvällisempää muokkausta kuin pelkkä tekstin kääntäminen. Esimerkiksi OpenOffice.org saavuttaa tämän kääntökytkimillä.
Kehitystiimi tarvitsee jossain määrin (esimerkiksi laadunvarmistusta varten ) vierasta, joka ymmärtää vieraita kieliä ja kulttuureja ja jolla on tekninen tausta. Suurissa maissa, joissa on vain yksi hallitseva kieli tai kulttuuri, tällaisen henkilön löytäminen on todennäköisesti vaikeaa.
Yksi esimerkkejä tunnetuista ongelmista alueellistamisessa on Microsoftin yritys pitää mielekkäitä pikanäppäimiä paikallisille kielille. Joissakin Microsoft Officen italiakielisen version ohjelmissa "CTRL + U" ( alaviiva ) -näppäin korvattiin "CTRL + S" ("sottolineato") -toiminnolla (melkein) yleisen "Tallenna" -toiminnon sijaan. .
Kaupallisessa yhteydessä kansainvälistymisen etuna on pääsy uusille markkinoille. Tähän liittyy kuitenkin huomattavia kustannuksia, jotka ylittävät selvästi yksinkertaisen suunnittelun. Ensinnäkin ohjelmaa on yleensä uudistettava, jotta sitä voidaan markkinoida maailmanlaajuisesti.
Sitten käännöksen antamista tietyllä kielellä ei pidetä vähäpätöisenä hankkeena. Tähän sisältyy erikoistuneiden teknisten kirjoittajien väliintulo, joka rakentaa kulttuurille mukautetun syntaksin, etenkin monimutkaisten käsitteiden tapauksessa, joka liittyy teknisiin resursseihin alueellistamisen elementtien kehittämiseksi ja testaamiseksi. Lisäksi liiketoimintaa on mukautettava hallitsemaan tuotannon, varastoinnin ja jakelun monille ja erilaisille alueellisille tuotteille, joita myydään usein eri hinnoin eri valuutoissa, erilaisissa sääntely-ympäristöissä ja erilaisiin verojärjestelmiin.
Myynnin, markkinoinnin ja teknisen tuen on myös helpotettava heidän toimintaansa uusilla kielillä, jotta kuluttajat voivat valita alueelliset tuotteet. Mutta kun kyse on ihmisistä, jotka puhuvat hyvin vähän käytettyä kieltä, alueellistettujen tuotteiden ei pitäisi koskaan odottaa olevan kannattavia. Vaikka laajasti kieltä puhuvat populaatiot vaativat tietyn tuotteen kääntämistä ja tuote on jo kansainvälistetty, asianomaisella ohjelmistokehittäjällä tai -julkaisijalla ei varmasti ole tilaa tai taitotietoa ohjelmistoon liittyvien lisätoimintojen hallitsemiseksi. useilla kielillä. Esimerkiksi Microsoft Windows 7: ssä on paketti, joka on saatavana 96 kielellä.
Vapaiden ohjelmistoyhteisöjen usein käyttämä vaihtoehto on vapaaehtoisten ryhmien osallistava alueellistaminen . Esimerkiksi K Desktop Environment 3 -projekti on käännetty yli 100 kielelle, ja KDE Software Compilation 4 -projekti on saatavana 68 kielellä. Osallistava alueellistaminen edellyttää kuitenkin, että perustuote suunnitellaan ensin tällaisten toimintojen rahoittamiseen, mikä on merkittävä ponnistus.