Khi chng ta to ng dng web v ton cu ha, chng ta cn cung cp cho ngi dng xem cc trang web vi ngn ng h mong mun. Mt cch l to li cc trang web tng ng vi cc ngn ng khc nhau. Tuy nhin, iu s rt t nht, tn thi gian v d b li. Asp.Net cho php chng ta hin th ni dung da trn ngn ng quy nh bi ngi s dng. iu ny c th c thc hin bng cch s dng cc tp tin ti nguyn. Mt tp tin ti nguyn l mt tp tin .xml, bao gm cc d liu c dch sang cc ngn ng khc nhau. Cc d liu c nh dng ca mt cp kha / gi tr, trong mi cp kha / gi tr cp n mt ngun ti nguyn ring. V d hin th mt thng ip Cho mng bn, chng ta c th to mt tp tin ti nguyn vi kha Label1 v gi tr Welcome. Tp tin ti nguyn c th c to ra vi phn m rng .resx hoc .resources . Quy c t tn ca cc tp tin ti nguyn lin quan n tn trang web v ch ra ngn ng v culture c th. <WebPageFileName>.[language-culture].resx Trong , thnh phn WebPageFileName l tn ca tp tin trang web. Thnh phn language-culture tn ca ngn ng v thng tin culture ca mi quc gia. Mt s v d v cch to tp tin ti nguyn nh sau : - To tp tin Index.aspx.resx : trnh by mt tp tin ti nguyn mc nh. - To tp tin Index.aspx.de.resx : trnh by mt tp tin ti nguyn s dng ngn ng c, khng c thng tin v culture. - To tp tin Index.aspx.es-mx.resx : trnh by mt tp tin ti nguyn s dng ngn ng Ty Ban Nha v thng tin culture ca nc Mexico. 9.5.3. Phn loi tp tin ti nguyn ASP.NET cho php chng ta to mt tp tin ti nguyn hoc c th cho mt trang web hoc c th c c bi bt k trang web trong mt website . C hai loi tp tin ti nguyn l tp tin ti nguyn ton cc v tp tin ti nguyn cc b. 9.5.3.1. Tp tin ti nguyn ton cc (Global Resource files) Tp tin ti nguyn ton cc cho php chng ta c mt tp tin t bt k trang web trong website. iu ny rt hu ch khi chng ta mun chia s cc ngun ti nguyn cha trong cc tp tin gia cc trang web khc nhau ca website. Tp tin ti nguyn ton cc c t vo trong th mc App_GlobalResources ca th mc gc ng dng. Khi chng ta t bt k tp tin .resx trong th mc App_GlobalResources, cc tp tin s tr thnh cc tp tin ti nguyn ton cc.
9.5.3.2. Tp tin ti nguyn cc b (Local Resource files)
Tp tin ti nguyn cc b l ch mt trang web duy nht. Chng c t trong th mc
App_LocalResources ca bt k th mc no ca ng dng web. Cc tp tin ti nguyn c phn m rng .resx hoc .resources. to tp tin ti nguyn c phn m rng .resx, chng ta thc hin cc bc sau : - Bc 1. Trong Visual Studio, m trang web m chng ta mun to tp tin ti nguyn. - Bc 2. Chuyn sang ch thit k - Bc 3. Chn iu khin hoc giao din thit k m chng ta mun to tp tin ti nguyn - Bc 4. Trong menu Tools kch chn Generate Local Resource. Lc visual studio to mt th mc App_LocalResources trong n to mt tp tin .xml Sau khi to tp tin ti nguyn mc nh , chng ta c th sao chp v dn tp tin ny cho cc culture khc. Cc bc thc hin nh sau : - Bc 1. Trong ca s Solution Explorer, kch chut phi tp tin Default.aspx.resx v kch chn lnh copy. - Bc 2. Kch chut phi vo th mc App_LocalResources v kch chn lnh Paste - Bc 3. Kch chut phi chn lnh copy tp tin Default.aspx.resx v chn lnh rename - Bc 4. Kiu tn ca mt tp tin ti nguyn ch ra ngn ng v m culture - Bc 5. Kch double vo tp tin ti nguyn m n. Visual studio hin th mt bng cha cc gi tr cho mi ti nguyn. - Buc 6. Sau khi thit lp cc gi tr cho mi ti nguyn trong tp tin ti nguyn. Chng ta lu tp tin ti nguyn. Ngoi ra, chng ta cng c th to tp tin ti nguyn vi phn m rng .resources. S khc nhau gia hai tp tin ti nguyn .resx v .resources l tp tin .resx lu tr d liu vi nh dng xml v tp tin .resources lu tr d liu vi nh dng nh phn. Cc tp tin ti nguyn .resources c to khi chng ta bin dch tp tin .resx hoc chng ta cng c th to n bi dng tin tch resgen. Cc bc to tp tin ti nguyn .resources nh sau : + Bc 1. Chy command prompt + Bc 2. G resgen Default.aspx.resx Default.resources.
truy cp cc gi tr ti nguyn ca tp tin ti nguyn, asp.net cho php chng ta truy
cp gi tr cc ti nguyn t cc tp tin ti nguyn thng qua thuc tnh meta:resourcekey. V d nu chng ta mun thit lp mt thng bo Welcome cho iu khin label, chng ta c th s dng thuc tinh meta:resourcekey thit lp cho iu khin label vi gi tr ch ra trong tp tin ti nguyn.
Hnh V d truy cp gi tr ti nguyn
9.5.4. Gii thiu lp ResourceManager c gi tr t tp tin ti nguyn Mt satellite assembly l mt tp tin .dll m cha cc tp tin ti nguyn ch ra ngn ng v culture. Chng ta c th c nhiu satellite assembly trong ng dng. S satellite assembly ph thuc trn s culture c h tr bi ng dng ca chng ta. Satellite assembly c to khi bin dch ng dng. Asp.net cho php chng ta truy cp cc tp tin ti nguyn t satellite assembly bi s dng lp ResourceManager thuc khng gian tn System.Resources. V d truy cp cc ti nguyn c ch ra bi culture French t satellite assembly nh sau :
Hnh V d truy cp satellite assembly
1. S dng khng gian tn System.Resources cha cc lp cho php chung ta qun l ti
nguyn m c ch ra bi French culture. 2. To th hin lp CultureInfo nh ngha French culture. 3. To th hin lp ResourceManager ly cc ti nguyn t tp tin ti nguyn AcmeyTravels. Ny c thc hin bi np tp tin ti nguyn AcmeyTravels c to trong th mc App_GlobalResources. 4. Hin th gi tr kt hp vi kha Banner thit lp trong iu khin label. Gi tr ny c ly t tp tin ti nguyn AceymTravels. 9.5.5. V d xy dng website ton cu ha