, før vi går videre, lad mig forklare tre vigtige forhold:,,,, internationalisering (i18n): betyder det, at en hjemmeside for at give forskellige versioner af indhold, oversættes til de besøgendes sprog eller nationalitet,.,,,, lokalisering (l10n): betyder det, at midlerne til en web - stedet for at tilpasse det til særlige geografiske eller kulturelle region, f.eks. hindi oversættelse til en hjemmeside,.,,,, locale: dette er en særlig kulturel eller geografisk område.det, der normalt betegnes som et sprog, symbol efterfulgt af et land, der er adskilt af et særligt symbol.for eksempel "en_us" er engelsk locale for os.,,, der er en række punkter, som bør tages hånd, samtidig med at opbygge en global websted.denne lektion vil ikke give dig helt ind på dette, men det ville give dem et godt eksempel på, hvordan du kan give din hjemmeside på forskellige sprog på internet fællesskab ved at differentiere deres placering, dvs. indbyggere. en servlet kan med passende version af webstedet baseret på klagerens locale og yde passende sted version i henhold til de lokale sprog, kultur og krav.følgende er metoden for anmodning objekt, der vender tilbage til samme formål. java.util.locale anmodning. getlocale(), afsløre lokale: efter de vigtigste lokale metoder, som de kan bruge til at afsløre klagerens sted, sprog og naturligvis indbyggere.alle nedenstående metoder viser landets navn og sprog navn, der er fastsat i klagerens browser., s.n.method & beskrivelse 1, snor getcountry(), denne metode giver land /region kode i øvre sag til det lokale i iso 3166 - 2 bogstaver format., 2, streng getdisplaycountry(), denne metode returnerer et navn for lokalerne er land, der er relevante for display til brugeren., 3, streng getlanguage(), denne metode returnerer de sprogkoder, lavere sag til det lokale i iso 639 - format., 4, streng getdisplaylanguage(), denne metode returnerer et navn for det lokale sprog, der er relevante for display til brugeren. 5, streng getiso3country(), denne metode tilbage tre brev forkortelse for det samme land. 6, streng getiso3language(), denne metode tilbage tre brev forkortelse for det lokale sprog, f.eks. dette eksempel viser, hvor du viser en sprog - og associeret land, for at en anmodning: import java. io. *; import javax. servlet. *; import javax. servlet. http. *; import java.util.locale; offentlige klasse getlocale udvider httpservlet (offentlige eller doget (httpservletrequest anmodning, httpservletresponse respons) kaster servletexception, ioexception (//få kundens locale locale locale = anmodning. getlocale(); snor language = locale. getlanguage(); snor land = locale. getcountry(); //sæt svar content type svar. setcontenttype ("tekst /html") printwriter ud = resp.onse. getwriter(); snor afsnit = "afsløre lokale" snor doctype = "<!doctype html public \\"-//w3c//dtd html 4.0 " + "transitional//en\\">\ "; out.println(docType + "<html>\ " + "<head><title>" + title + "</title></head>\ " + "<body bgcolor=\\"#f0f0f0\\">\ " + "<h1 align=\\"center\\">" + language + "</h1>\ " + "<h2 align=\\"center\\">" + country + "</h2>\ " + "</body></html>"); } } ,Languages Setting:,A servlet can output a page written in a Western European language such as English, Spanish, German, French, Italian, Dutch etc. Here it is important to set Content-Language header to display all the characters properly.,Second point is to display all the special characters using HTml enheder, f.eks. "&ñ" er "ñ" og "&¡" er "¡" som følger: import java. io. *; import javax. servlet. *; import javax. servlet. http. *; import java.util.locale; offentlige klasse displayspanish udvider httpservlet (offentlige eller doget (httpservletrequest anmodning, httpservletresponse respons) kaster servletexception, ioexception (//sæt svar content type svar. setcontenttype ("tekst /html"); printwriter ud = respons. getwriter(); //sæt spanske sprog.svar. setheader ("indhold sprog", "es"); snor afsnit = "en espa & ntilde; ol" snor doctype = "<!doctype html offentlige. "- /////////////////w3c dtd 0" + "midlertidig //en /" > \\ n ". println (doctype +" < html > \\ n "+" < head > < afsnit > "+ afsnit +" < /afsnit > < /head > \\ n "+" < organ bgcolor =. "# f0f0f0." > \\ n "+" < h1 > "+" en espa & ntilde; ol: "+" < /h1 > \\ n "+" < h1 > "+" & iexcl. hola mundo! "+ "< /h1 > \\ n" + "< /organ > < /html >");}}, lokale specifikke datoer:, kan du bruge den java.text.dateformat klasse og dens statiske getdatetimeinstance () metode til format, dato og tidspunkt, er specifikke for lokale.følgende er det eksempel, som viser, hvordan format datoer specifikke for et givet samme import java. io. *; import javax. servlet. *; import javax. servlet. http. *; import java.util.locale; import java.text.dateformat; import java.util.date; offentlige klasse datelocale udvider httpservlet (offentlige eller doget (httpservletrequest anmodning, httpservletresponse respons) kaster servletexception, ioexception (//sæt svar content type svar. setcontenttype ("tekst /html"); printwriter ud = respons. getwriter(); //få kundens locale locale locale = anmodning. getlocale (); snor dato = dateformat. getdatetimeinstance (dateformat.full,dateformat.short, lokale). format (ny dato ()); snor afsnit = "lokale specifikke datoer" snor doctype = "<!doctype html offentlige. "- /////////////////w3c dtd 0" + "midlertidig //en /" > \\ n ". println (doctype +" < html > \\ n "+" < head > < afsnit > "+ afsnit +" < /afsnit > < /head > \\ n "+" < organ bgcolor =. "# f0f0f0." > \\ n "+" < h1 tilpasse = \\ "center." > "+ dato". < /h1 > \\ n "+" < /organ > < /html > ");}}, locale specifik valuta, kan du bruge den java.txt.numberformat klasse og dens statiske getcurrencyinstance () metode til format, et tal, som f.eks. en lang eller - type i et lokale specifikke curreny.følgende er det eksempel, som viser, hvordan format valuta specifikke for et givet samme import java. io. *; import javax. servlet. *; import javax. servlet. http. *; import java.util.locale; import java.text.numberformat; import java.util.date; offentlige klasse currencylocale udvider httpservlet (offentlige eller doget (httpservletrequest anmodning, httpservletresponse respons) kaster servletexception, ioexception (//sæt svar content type svar. setcontenttype ("tekst /html"); printwriter ud = respons. getwriter(); //få kundens locale locale locale = anmodning. getlocale (); numberformat nft = numberformat. getcurrencyinstance (lokale); snor formattedcurr = nft format (1 mio. eur.);- afsnit = "locale specifik valuta" snor doctype = "<!doctype html offentlige. "- /////////////////w3c dtd 0" + "midlertidig //en /" > \\ n ". println (doctype +" < html > \\ n "+" < head > < afsnit > "+ afsnit +" < /afsnit > < /head > \\ n "+" < organ bgcolor =. "# f0f0f0." > \\ n "+" < h1 tilpasse = \\ "center." > "+ formattedcurr." < /h1 > \\ n "+" < /organ > < /html > ");}}, lokale specifikke procentdel, kan du bruge den java.txt.numberformat klasse og dens statiske getpercentinstance () metode til at få lokale specifikke procentandel.følgende er det eksempel, som viser, hvordan format procentdel specifikke for et givet samme import java. io. *; import javax. servlet. *; import javax. servlet. http. *; import java.util.locale; import java.text.numberformat; import java.util.date; offentlige klasse percentagelocale udvider httpservlet (offentlige eller doget (httpservletrequest anmodning, httpservletresponse respons) kaster servletexception, ioexception (//sæt svar content type svar. setcontenttype ("tekst /html"); printwriter ud = respons. getwriter(); //få kundens locale locale locale = anmodning. getlocale (); numberformat nft = numberformat. getpercentinstance (lokale); snor formattedperc = nft. format (0, 51);- afsnit = "lokale specifikke procentdel" snor doctype = "<!doctype html offentlige. "- /////////////////w3c dtd 0" + "midlertidig //en /" > \\ n ". println (doctype +" < html > \\ n "+" < head > < afsnit > "+ afsnit +" < /afsnit > < /head > \\ n "+" < organ bgcolor =. "# f0f0f0." > \\ n "+" < h1 tilpasse = \\ "center." > "+ formattedperc." < /h1 > \\ n "+" < /organ > < /html > ")),
servlets - internationalisering
Previous:servlets - debugging -
Next Page:foråret tutorielle