Internacionalizacija i lokalizacija

S Vikipedije, slobodne enciklopedije

Slika softverskih programa lokalizovanih na italijanskom.

U računarstvu, internacionalizacija i lokalizacija su sredstva prilagođavanja računarskog softvera na druge jezike, regionalne razlike i tehničkih zahteva određenog tržišta.[1][2] Internacionalizacija je proces dizajniranja softverskih aplikacija tako da mogu potencijalno da se prilagode na različite jezike i regione bez inženerskih promena. Lokalizacija je proces prilagođavanja internacionalizovanih softvera za određeni region ili jezik dodavanjem lokalno-specifičnih komponenti i prevedenog teksta.[3] Lokalizacija (koja se potencijalno vrši više puta, za različite lokalitete) koristi infrastrukturu ili fleksibilnost koju mu daje internacionalizacija (koja je idealno izvršena samo jednom, ili kao unutrašnji deo tekućeg razvoja).[4]

Naziv[uredi | uredi izvor]

Termini su često skraćivani na skraćenice i18n (gde 18 znači broj slova između prvog i i poslednjeg n u reči internacionalizacija (na engleskom jeziku), korišćenje ozvaničeno od strane DEC 1970-ih ili 80ih)[5] i L10n za “localization” (opet u engleskom jeziku), zbog dužine reči.

Neke kompanije, kao IBM i Sun Microsystems, koriste termin "globalization", g11n, za kombinaciju lokalizacije i internacionalizacije.[6] Takođe poznato kao "glocalization".

Majkrosoft[7] definiše internacionalizaciju kao kombinaciju tzv. "World-Readiness" (bukvalno prevedno - svetska spremnost) i lokalizacije. "World-Readiness" je zadatak developera, koji omogućava da proizvod bude korišćen od strane skripta i kultura (globalizacija) i odvajanje korisničkih resursa u lokalizovani format (localizability, skraćeno na L12y).[8]

Ovaj koncept je poznat kao PNJ (Podrška Nacionalnog Jezika) - engleski NLS (National Language Support ili Native Language Support).

Opseg[uredi | uredi izvor]

Internacionalizacioni i lokalizacioni proces
(baziran na grafiku na LISA stranici.)

Glavni zadatak lokalizacije jezika je prevod. Ovo može sadržati:

  • Za film, video, i audio, prevod izgovorenih reči ili muzičkih stihova, obično koristeći sinhronizaciju ili titlove
  • Prevedeni Tekst za odštampane materijale, digitalne medije (po mogućstvu uključujući poruke sa greškama i dokumentaciju)
  • Potencijalno menjanje sliae i logoa koji sadrže tekst sa prevodima ili generičkim ikonicama
  • Različite dužine prevoda i razlike u veličinama karaktera (npr. između slova latiničnog alfabeta i kineskih karaktera) može da izazove izgled koji radi dobro u jednom jeziku da radi loše u drugom.
  • Uzimanje u obzir razlike u dijalektu, registru ili raznolikost
  • Pisanje konvencija kao:
    • Formatiranje brojeva (posebno decimalnog separatora i grupisanje brojeva)
    • Format datuma i vremena, uz mogućnost korišćenja različitih kalendara

Računarski softver može da se susretne sa razlikama iznad i preko očiglednih prevoda rečenica i fraza, zato što računarski program može generisati sadržaj dinamički. Ove razlike mogu biti uzete u obzir od strane procesa internacionalizacije u pripremi za prevod:

  • Različite "skripte" na različitim sistemima za pisanje koriste drugačije karaktere - različite skupove slova, silograme, logograme, ili simbole. Moderni sistemi koriste Unicode standard da prikažu mnogo različitih jezika jednim kodiranjem karaktera.
  • Smer pisanja je sleva nadesno u većini evropskih jezika (npr. srpski), zdesna nalevo u hebrejskom i arapskom jeziku, i opcionalno vertikalni smer u nekim azijskim jezicima.
  • Kompleksni izgled teksta, za jezike gde karakteri menjaju oblike u zavisnosti od konteksta.
  • Kapitalizacija postoji u nekim skriptama, a u nekima ne.
  • Različiti jezici i sistemi pisanja imaju različita pravila za sortiranje teksta
  • Različiti jezici imaju različite brojačke sisteme, koji možda moraju da budu podržani ako arapski brojevi nisu korišćeni
  • Različiti jezici imaju različita pravila za množinu, koji mogu da zakomplikuju programe koji dinamički prikazuju brojevni sadržaj.[9] Ostala gramatička pravila možda takođe variraju, npr. genitiv.
  • Različiti jezici koriste različite znake interpunkcije (npr. citiranje koristi duple navodnike (" "), kao u srpskom, ili giljemente (« »), kao u francuskom).
  • Prečice na tastaturi mogu samo da imaju koristi od dugmića koji su stvarno na tastaturi za koje je lokalizovana. Ako prečica odgovara reči u određenom jeziku (npr. Ctrl-S znači "sačuvaj" na srpskom), možda mora da se promeni.

Različite države imaju različite ekonomske konvencije, uključujući varijacije u:

  • Veličini papira
  • Televizijskim sistemima i popularnim medijima za čuvanje podataka
  • Formatu telefonskog broja
  • Formatu poštanske adrese, poštanskog broja, izbora servisa za dostavu
  • Valuti (Simbol, pozicija oznake za valutu, i razumne količine zbog različite istorije inflacije) - ISO 4217 kodovi se obično koriste za internacionalizaciju.
  • Mernim sistemima
  • Veličini baterije
  • Standardima napona i struje

Specifični servisi, kao što su onlajn mape, izveštaji vremenske prognoze, ili provajderi za servise za plaćanje, možda nisu dostupni širom sveta od strane istih nosača, ili uopšte.

Vremenske zone su različite širom sveta, i ovo mora da se uzme u obzir ako je proizvod originalno samo komunicirao sa ljudima u jednoj vremenskoj zoni. Za internacionalizaciju, UTC je često korišćeno interno i zatim konvertovano u lokalnu vremensku zonu radi prikaza.

Različite države imaju različite vlade, što znači:

  • Regulatorna saglasnost može da zahteva prilagođavanje za određenu jurisdikciju, ili promeni proizvoda kao celog, kao:
    • Saglasnost Zakona o privatnosti
    • Dodatni disklejmeri na stranici
    • Različitih potrošačkih zahteva za labele
    • Saglasnost sa restrikcijama za izvoz i regulacije za enkripciju
    • Saglasnost sa režimomcenzure na internetu ili subpina procedure
    • Zahtevi za pristupačnosti
    • Prikupljanje različitih poreza, kao prodajni porez, PDV, ili obaveze potrošača
    • Osetljivost na različita politička pitanja, kao što su sporovi oko geografskih imena i sporovi oko granica prikazanih na mapi (npr. neprikazivanje Kašmira kao indijskog je kažnjivo u Indiji)
  • Brojevi koje država dodeljuje imaju različit format (kao što su pasoši, broj socijalnog osiguranja u SAD, broj nacionalnog osiguranja u Ujedinjenom Kraljevstvu, and registarski broj građana u Južnoj Koreji)

Lokalizacija takođe može uzeti u obzir različitosti u kulturi, kao što su:

  • Lokalni praznici
  • Konvencije o ličnom imenu i tituli
  • Estetika
  • Razumljivost i kulturološka podesnost slika i simbola boja
  • Etnička pripadnost, način odevanja, i socioekonomski status ljudi i arhitektura prikazanih lokacija
  • Lokalni običaji i norme, kao što su društveni tabui, popularne lokalne religije, ili sujeverja kao što su krvna grupa u japanskoj kulturi naspram horoskopskih znakova u drugim kulturama

Poslovni postupak za internacionalizaciju softvera[uredi | uredi izvor]

Da biste internacionalizovali proizvod, važno je posmatrati raznovrsnost tržišta gde ćete postaviti vaš proizvod. Detalji kao što su dužina polja za adrese ulica, jedinstveni format za adresu, mogućnost da polje za poštanski broj bude opciono zbog država koje ih nemaju ili polje za saveznu državu za države koje ih nemaju, plus predstavljanje novih registracionih tokova koji se pridržavaju lokalnih zakona su samo neki primeri koji čine internacionalizaju komplikovanim projektom.[10]

Širi pristup uzima u obzir kulturološke faktore koji se odnose, na primer, na prilagođavanje logike poslovnog pricesa ili uključivanje individualnih kulturoloških aspekata (ponašanja).[11]

Praksa pisanja koda[uredi | uredi izvor]

Trenutna praksa koja preovlađuje je da aplikacija postavi tekst u resursne niske koje se učitavaju kada su potrebne tokom izvršavanja programa. Ove niske, uskladištene u resursnim fajlovima, su relativno lake za prevođenje. Programi su obično napravljeni da referišu resursne biblioteke u zavisnosti od izabranih lokalnih podataka. Jedna od softverskih biblioteka koja pomaže u ovome je gettext.

Prema tome, da biste dobili aplikaciju koja podržava više jezika trebalo biste napraviti aplikaciju za biranje relevantnih jezičkih resursnih fajlova za izvršavanje. Resursni fajlovi se prevode u traženi jezik. Ovaj metod je specifičan za svaku aplikaciju, u najboljem slučaju, specifičan za izdavača. Kod potreban za proveravanje datuma pristupa i mnogih drugih lokaciono-osetljivih tipova podataka takođe mora da podržava različite uslove (koji se odnose na lokalnost). Savremeni sistemi za razvijanje softvera (development) i operativni sistemi uključuju prefinjene biblioteke za internacionalnu podršku ovih tipova.

Poteškoće[uredi | uredi izvor]

Iako prevođenje postojećeg teksta u druge jezike izgleda lako, teže je održavati paralelne verzije kroz životni vek produkta.[12] Na primer, ako je promenjena poruka koja se prikazuje korisniku, sve prevedene verzije se moraju promeniti. Ovo kao rezultat ime nešto duži ciklus razvoja softvera.

Mnogi problemi oko lokalizacije (npr. smer pisanja, uređenje teksta) zahtevaju temeljnije promene u softveru, pre nego u prevodu teksta. Na primer, OpenOffice.org različitim kompajliranjem.

Donekle (npr. za proveru kvaliteta), razvojnom timu je potreban neko ko razume trane jezike i kulture i ko se razume u potrebne tehničke stvari. U velikim društvima sa jednim dominantnim jezikom/kulturom, može biti teško naći takvu osobu.

Jedan primer zamki što se tiče lokalizacije je Majkrosoftov pokušaj da sačuva neke prečice na tastaturi značajne u lokalnim jezicima. Ovo je prouzrokovalo za neke (ali ne sve) programe u italijanskoj verziji Majkrosoftovog Ofisa da "CTRL + S" (sottolineato) bude zamena za "CTRL + U" (underline), umesto (uvek) univerzalne "Sačuvaj" funkcije.

Cena i prednosti[uredi | uredi izvor]

U komercijalne svrhe, prednost lokalizacije je pristup više tržišta. Međutim, postoje i značajne cene, koje se protežu i preko inžinjeringa. Prvo, softver se obično mora rekonstruisati da bi bio spreman za bilo koji deo sveta.

Zatim, pružanje lokalizacionog paketa za dati jezik je samo po sebi netrivijalan postupak, zahtevajući specijalizovane tehničke pisce da konstruišu kulturološki prihvatljivu sintaksu za potencijalno komplikovane koncepte, zajedno sa inžinjerskim resursima da razviju i testiraju lokalizacione elemente. Dalje, poslovne operacije se moraju prilagoditi da upravljaju proizvodom, skladištem i distribuisanjem više odvojenih lokalizovanih proizvoda, koji se obično prodaju u potpuno različitim valutama, regulacionim okruženjima i poreskim sistemima.

Na kraju, prodaje, marketing i tehnička podrška takođe moraju olakšati svoje operaciju u novih jezicima, da bi podržali kupce za lokalizovani proizvod. Posebno za relativno mala jezička područja, možda neće biti ekonomski pogodno nuditi lokalizovani proizvod. Čak i gde veliko govorno područje može opravdati lokalizaciju za dati proizvod, i unutrašnja struktura proizvoda već dozvoljava lokalizaciju, izdavač/onaj koji razvija dati softver možda ima manjka prostora ili prefinjenosti da upravlja pomoćnim funkcijama povezanih sa operacijama u više područja. Na primer, Majkrosoftov Windows 7 ima dostupnih 96 jezičkih paketa.[13]

Jedna alternativa, Najčešće korišćena od strane zajednica softvera sa otvorenim kodom, je tzv. samo-lokalizacija od timova sastavljenih od krajnjih korisnika i volontera. KDE3 projekat, na primer, je bio preveden na preko 100 jezika, i KDE4 je dostupan na 68.[14] Međutim, samo-lokalizavija zahteva da osnovni proizvod prvo buda napravljen da podržava takve aktivnosti, što je netrivijalan napor.

Reference[uredi | uredi izvor]

  1. ^ „Localization vs. Internationalization”. W3C. Arhivirano iz originala 2016-04-03. g. Pristupljeno 2016-03-27. 
  2. ^ „GNU gettext Utilities: Concepts”. gnu.org. Arhivirano iz originala 18. 9. 2019. g. Pristupljeno 29. 10. 2019. „Two long words appear all the time when we discuss support of native language in programs, and these words have a precise meaning, worth being explained here, once and for all in this document. The words are internationalization and localization. Many people, tired of writing these long words over and over again, took the habit of writing i18n and l10n instead, quoting the first and last letter of each word, and replacing the run of intermediate letters by a number merely telling how many such letters there are. 
  3. ^ Hall, P. A. V.; Hudson, R., ur. (1997). Software without Frontiers: A Multi-Platform, Multi-Cultural, Multi-Nation Approach. Chichester: Wiley. ISBN 0-471-96974-5. 
  4. ^ Esselink, Bert (2006). „The Evolution of Localization” (PDF). Ur.: Pym, Anthony; Perekrestenko, Alexander; Starink, Bram. Translation Technology and Its Teaching (With Much Mention of Localization). Tarragona: Intercultural Studies Group – URV. str. 21—29. ISBN 84-611-1131-1. Arhivirano iz originala (PDF) 7. 9. 2012. g. „In a nutshell, localization revolves around combining language and technology to produce a product that can cross cultural and language barriers. No more, no less. 
  5. ^ „Glossary of W3C Jargon”. World Wide Web Consortium. Pristupljeno 13. 10. 2008. 
  6. ^ IBM Globalization web site
  7. ^ „Majkrosoftov "Globalization Step-by-Step" vodič”. Arhivirano iz originala 12. 4. 2015. g. Pristupljeno 26. 5. 2015. 
  8. ^ „MSDN.microsoft.com”. Arhivirano iz originala 26. 5. 2015. g. Pristupljeno 26. 5. 2015. 
  9. ^ GNU.org
  10. ^ „Internacionalni format adresa”. Microsoft Developer Network. Microsoft. Pristupljeno 10. 12. 2013. 
  11. ^ Pavlovski, J. M. (2008): Kulturološki profili: Olakšavanje globalnog učenja i deljenja znanja. Proc. of ICCE 2008, Tajvan, Novembar 2008. Draft Version
  12. ^ Kako prevesti igru na 20 jezika i izbeći odlazak u pakao
  13. ^ See
  14. ^ Za trenutnu listu pogledati KDE.org

Literatura[uredi | uredi izvor]

Spoljašnje veze[uredi | uredi izvor]