Internasjonalisering (programvareutvikling)

Innen datavitenskap og programvareutvikling betyr internasjonalisering å designe et program på en slik måte at det enkelt kan tilpasses andre språk og kulturer (uten å måtte endre kildekoden ) .

Internasjonalisering ( engelsk internasjonalisering eller internasjonalisering ) vil være fornøyd med numeronymet i18n forkortet (i det engelske ordet Internationalization er det 18 bokstaver mellom første bokstav I og siste bokstav  n ).

Dette inkluderer de oppgavene som utvikleren / programmereren av et program må mestre. For å gjøre dette, kan det hende at han ikke for eksempel beskriver tekst med hardkodebeskrivelse i kildekoden, men må bruke variabler som blir lest inn fra en kilde ved kjøretid . Men også datoformatering og det språkavhengige overflatedesignet (f.eks. Tekst kan være av forskjellige lengder eller høyre-mot-venstre-retning kan variere) hører til dette.

Neste trinn er lokalisering ( lokalisering eller lokalisering ), som forkortes som l10n (10 bokstaver mellom l og  n ). I forrige trinn bør et program utformes slik at programmeringen ikke lenger trenger å gjøre disse endringene. Denne prosessen refererer til den rene oversettelsen av for eksempel tekster til et nasjonalt språk.

Omfanget av internasjonalisering og lokalisering (utvalg)

Språk

  • Oversettelser: Tekstdata lagres i eksterne filer og lastes inn dynamisk. I tillegg til tekster kan oversettelser også gjelde stemmeoutput og tekster innen grafiske elementer som bilder og videoer ( undertekster i filmer).
  • Grafisk representasjon: Programmet logikk er uavhengig av brukergrensesnittet og utgående medier slik som skriver.

Tekster

  • Unicode : I motsetning til de tidligere brukte tegnsettene som ASCII eller EBCDIC , bruker moderne systemer Unicode tegnsett. Problemer med tegnkoding løses med et mye større tegnsett. Dette betyr at tegn fra forskjellige skrifttyper kan tilbys i samme system.
  • Toveis tekster : Avhengig av skrift, må forskjellige skriveanvisninger brukes.
  • Skript: Noen språk kan eksistere i forskjellige skrivevarianter, for eksempel B. Serbisk med kyrillisk skrift og serbisk med latinsk skrift.
  • Tekstbehandling: Begreper som store og små bokstaver er ikke kjent i alle skriftene. Ulike regler gjelder for tekstseparasjon, for eksempel for å bryte en linje.
  • Inndatametoder: Lar deg skrive inn hurtigtaster med hvilket som helst tastaturoppsett .
  • Sortering: Nasjonale spesialtegn, for eksempel umlauts på tysk, må sorteres etter nasjonale regler. Det kan også være tematiske skiller som betyr at det for eksempel forventes en spesiell sortering for telefonbøker.
  • Søk: Når du søker tekstlig, må noen tegn tilordnes til tilsvarende like former. Tekstene "¼" og "1/4" er kodet annerledes, men betydningen er identisk. Transformasjonen av tekstene kalles også normalisering .
  • Transformasjon: Tekster kan konverteres til en annen skrift for enten å støtte et annet tegnsett eller for å øke lesbarheten. Det skilles mellom translitterasjon (bokstavelig transformasjon) og transkripsjon (transformasjon i henhold til fonetisk stavemåte ).

Tekstformatering

Kultur

  • Lokalitet : For å definere kulturen som programvaren skal tilpasse seg, bruker programvaren vanligvis et sted. Dette inneholder informasjon om språket, landet og eventuelt andre regionale egenskaper, for eksempel skrifttypen som skal brukes.
  • Bilder og farger: Problemer med forståelighet og kulturell hensiktsmessighet
  • Navn og tittel
  • tildelt av statsnummer som passnummer eller personnummer ( personnummer ) i USA, folketrygdnummeret i Storbritannia eller Isikukood i Estland
  • Telefonnummer, adresser og internasjonale postnummer
  • Papirmål

Forskjell mellom internasjonalisering og lokalisering

Forskjellen mellom internasjonalisering og lokalisering, selv om den er subtil, er viktig. Internasjonalisering er tilpasning av et produkt slik at det teoretisk kan brukes hvor som helst. Lokalisering er tillegg av spesielle eiendommer for bruk i et bestemt geografisk eller etnisk definert salgs- eller bruksområde (land, region eller etnisk gruppe). Internasjonalisering utføres en gang per produkt. Lokalisering utføres deretter en gang for hver kombinasjon av produkt og bruksområde. Prosessene utfyller hverandre og må kombineres for å skape et system som fungerer globalt.

Forretningsprosess for internasjonalisering av programvare

For å internasjonalisere et produkt, må de ulike markedene det er sannsynlig at produktet introduseres til, vurderes. Detaljer som adressefeltlengder, valgfrie felt for postnummer og innføring av nye registreringsprosesser for å imøtekomme lokale juridiske situasjoner er eksempler på hvor komplisert et internasjonaliseringsprosjekt kan være.

En omfattende tilnærming strekker seg til kulturelle faktorer som tilpasning av forretningsprosesslogikk eller hensyn til individuelle kulturelle atferdsspekter.

Programmeringspraksis

Den tradisjonelle gjeldende praksisen for applikasjoner er å lagre tekstene (eller andre elementer, for eksempel navnene på grafiske filer) i ressurstrenger , som lastes inn etter behov under programutførelsen. Tegnstrengene er lagret i hjelpefiler og er relativt enkle å oversette. Programmer er ofte bygget på en slik måte at de får tilgang til hjelpebiblioteker, avhengig av salgsområdet som er angitt. Et programbibliotek som støtter dette er for eksempel GNU gettext .

vanskeligheter

Selv om det virker enkelt å oversette eksisterende tekst til et annet språk, er det langt vanskeligere å håndtere språkversjoner av tekster samtidig gjennom hele produktets livssyklus. Hvis en melding som vises til brukeren blir endret, må alle oversatte versjoner også endres. Det utvider utviklingssyklusen.

De forskjellige lengdene på tekstene kan føre til uønskede resultater i displayet (avkortet tekst, uønsket linjeskift).

Mange lokaliseringsoppgaver (skriveretning, tekstsortering osv.) Krever en mer dyp endring i programvaren enn bare oversettelsen. OpenOffice.org løser dette for eksempel med kompileringsbrytere .

Problemer oppstår ofte fra de forskjellige språkens syntaktiske egenskaper. Visningen av " ZAHL dager siden " kan ikke implementeres med en en-delt oversettelse for dager siden , siden denne informasjonen kan være delt inn i to deler på andre språk, for eksempel tysk, som må vises atskilt med nummeret: "vor ZAHLTage" . Derfor må den internasjonaliserte versjonen av programmet tillate tekst foran og bak nummeret, hvorved teksten foran nummeret vil være tom i den engelske lokaliseringen, mens det på tysk må inneholde "før".

I praksis løses dette problemet vanligvis ved å bruke plassholdere: hele setningen blir fortsatt behandlet som en enhet, men spesielle tegnstrenger indikerer plasseringen av parametrene: “ Viser resultater {0}til {1}ut av{2} ” blir “Vis treff {0}til {1}fra {2}”. Denne teknikken gjør det også mulig å omorganisere rekkefølgen på argumentene hvis dette er nødvendig for forskjellige språk. For formuleringer som varierer avhengig av parameterverdiene (f.eks. Entall og flertall), er flere alternativer innebygd i tekstressursene, som blir evaluert dynamisk av systemet ved kjøretid og valgt i henhold til gjeldende parameterverdi: “Søket levert {PLURAL|{0}|keine Ergebnisse|1 Ergebnis|{0} Ergebnisse}. "

Fra et visst nivå av kompleksitet (f.eks. For kvalitetssikring ) trenger utviklingsteamet noen som forstår andre språk og kulturer og har en teknisk bakgrunn.

Kostnads-nytte-analyse

I kommersielle omgivelser er fordelen med lokalisering tilgang til flere markeder. Det er en oppfatning at det er en selvfølge å lokalisere et produkt på forskjellige språk eller kulturer. Alt som trengs er bekreftelse av kostnaden. Det koster mer å produsere produkter for internasjonale markeder, men i en stadig mer global økonomi er det knapt et alternativ å støtte bare ett språk eller bare ett marked. Lokaliseringen av egenutviklet programvare er imidlertid påvirket av økonomiske ufattelige ting og mangler stort sett muligheten for sluttbrukere og frivillige til å gjøre lokaliseringen, slik det er vanlig i miljøer med åpen kildekode. Siden åpen kildekode-programvare generelt er gratis å endre og distribuere, er den mer tilgjengelig for internasjonalisering. Den KDE -prosjektet, for eksempel, er oversatt til 100 språk.

Se også

weblenker

Individuelle bevis

  1. ^ JM Pawlowski: Kulturprofiler: Tilrettelegging for global læring og kunnskapsdeling. Proc. av ICCE 2008, Taiwan, november 2008. ( Engelsk , PDF; 350 kB) Hentet 21. oktober 2009.
  2. Den nåværende listen over KDE-lokaliseringer ( engelsk ) Hentet 24. oktober 2009.