Hvis du utformer en Java-applikasjon som skal distribueres og brukes i forskjellige språkmiljøer, må all tekst som brukerne ser, oversettes.
I stedet for å oversette strengen i Java-kildefilen og måtte opprette en ny utførbar fil for hvert språk, lar Java deg bruke ressursbunter til å omdirigere strengen via egenskapsfilen. Du finner mer informasjon om hvordan du gjør strenger eksterne, under Gjør strenger eksterne.
Det visuelle redigeringsprogrammet for Java støtter visning av strenger som er gjort eksterne. De vil vanligvis bli vist med de faktiske verdiene lagret i ressursfilen.
Men hvis du endrer en tekstegenskap i en komponent i det visuelle redigeringsprogrammet etter at du allerede har gjort en streng ekstern, vil tekstegenskapen overskrive strengen som er gjort ekstern, og ikke endre ressursfilen. Det visuelle redigeringsprogrammet må lukkes og åpnes igjen for at endringene i ressursfilen skal bli vist. Vær forsiktig når du velger strenger som skal gjøres eksterne. Som standard blir alle strenger gjort eksterne, selv strenger som ikke blir vist i det grafiske brukergrensesnittet, for eksempel fontnavn.
Før du gjør strengen ekstern, blir strengen presentert i kilden som en konstant. For eksempel:
ivjJFrame.setTitle("Hello World");
Når du har brukt veiviseren Gjør strenger eksterne, vil strengen bli hentet fra et statisk oppslag i en fil som henter verdien fra en ressursbunt.
ivjJFrame.setTitle(Messages.getString("Hello_World_1")); //$NON-NLS-1$
Strengen som er argumentet til setTitle-metodekallet, blir gjort ekstern, men strengen som representerer buntnøkkelen, blir ikke gjort ekstern, for det er ikke en streng som brukeren ser. For å vise at denne strengen ikke er en streng som brukerne kan se, og som veiviseren Gjør strenger eksterne ikke prøver å hente fra en bunt, blir kommentaren //$NON-NLS-1$ føyd til i setningen med 1, noe som indikerer at den viser til den førte strengforekomsten på linjen.