Java hjælper dig med at gøre dine programmer platformsuafhængige, men hvad hvis de også skal være sproguafhængige? Når et program skal anvendes af brugere med anden sproglig og kulturel baggrund så opstår der behov for at programtekster, beløb og datoangivelser afhænger af brugerens land, sprog og eventuelt andre faktorer. Dette benævnes lokalafhængighed.
En mulig måde at løse problemet på er at vedligeholde kildeteksten til sit program i flere forskellige versioner, der hver især understøtter et bestemt sprog. Man finder hurtigt ud af at denne løsningsmetode er uholdbar i længden idet ændringer og opdateringer til programmet medfører at samtlige versioner skal ændres. Ligeledes skal kildeteksten oversættes hver eneste gang. En bedre fremgangsmåde er at internationalisere og lokalisere sit program.
Internationalisering er den proces, hvor du laver et programdesign, som er sprogligt og kulturelt neutralt. Al formatering og fortolkning af tal-, beløbs-, dato- og klokkeslætangivelser skal med andre ord være afhængigt af en række parametre, der på kørsels- eller oversættelsestidspunktet bestemmer den konkrete sproglige og kulturelle kontekst som programmet skal indgå i. Ligeledes skal sproglige tekster og direkte stinavne til billeder adskilles fra kildeteksten.
Internationalisering er ikke nok i sig selv. Lokalisering er den process, hvor du tilpasser dit internationaliserede program så det imødekommer de sproglige og kulturelle krav, der stilles af den givne målgruppe.
Data som skal fremvises til brugeren kan kategoriseres ud fra om det er lokalafhængigt eller lokaluafhængigt.
Lokalafhængige data dækker f.eks. over tekst, billeder og lyd, der er udformet med en sproglig og geografisk målgruppe in mente. Disse kan umiddelbart vises til brugeren hørende til den bestemte målgruppe.
Lokaluafhængige data dækker f.eks. over datoer, tal, beløb og klokkeslæt, der i sig selv ikke har tilknytning til nogen bestemt sproglig og geografisk målgruppe. Disse skal først formateres med en lokalafhængig formateringsfunktion før de kan vises til brugeren.
JDK stiller værktøjer til rådighed som hjælper dig med både internationaliserings- og lokaliseringsprocessen, herunder håndtering af lokalafhængige og uafhængige data. De næste mange sektioner går i dybden med disse værktøjer.
I Afsnit 24.2 beskrives hvordan man i sin programkode angiver en bestemt sproglig og geografisk region.
I Afsnit 24.3 beskrives hvordan lokalafhængige data håndteres, mens Afsnit 24.5 og Afsnit 24.6 beskæftiger sig med formatering af lokaluafhængige data.