ASP.NET atbalsta balss kolonna

Pielāgot šo kolonnu jūsu vajadzībām, mēs iesakām iesniegt savas idejas par tēmām, kas jūs interesē un kas jāparāda jautājumus nākotnē zināšanu bāzes raksti un atbalsta balss kolonnas. Jūs varat iesniegt idejas un atsauksmes, izmantojot veidlapā Lūgt to . Ir arī saite uz formas kolonnas apakšā.

Ievads

laipni lūdzam! Tas ir Sukesh Khare Microsoft ASP.NET Developer atbalsta komandu. Šī ir pirmā reize man ir izstrādāta atbalsta balss kolonnas. Es vēlos autorēšanas vairākas šādas kolonnas turpmāko mēnešu laikā.

Šī mēneša kolonnas esmu gatavojas apspriest globalizācijas problēmas Active Server Pages (ASP) un ASP.NET ASP, kā viss ir mainījies ASP.NET 1 x un kas noticis ar ASP.NET 2.0 globalizācijas priekšā situāciju problēmas.

Piezīme. Ja jums ir termiņu nav saprast, skatiet sadaļu glosārijā rakstā apakšdaļā.

ASP globalizācijas problēmas

ASP.NET, pirms tika strukturēta atbalsts pasaules lietošanai paredzētu lietojumprogrammu izveidei. ASP sākumā izstrādājot, izstrādātāji kā patstāvīgi atrast tikai saraustītus globalizācijas operētājsistēmu un pārlūkprogrammu, ASPs aizmugursistēmas sistēmas atbalsts. Tomēr mēs reti novērot jebkuru automātiskā savienojuma šīs lietojumprogrammās. Tomēr netika saprotam koncepcijas, piemēram, rakstzīmju kopām, kodu lappusēm, pārlūkprogrammas valodas un fonti, ko mēs varētu izmantot globālā lietošanai paredzētu lietojumprogrammu izveidei.

Būtu pārāk grūti atsevišķi kategorijās visus globalizācijas problēmas, kas mums ASP.NET redzējis. Tā vietā es sarakstā koncepcijām, kas attiecas uz šiem jautājumiem dažādas virkne.

Rakstzīmju kopu un kodu

Mēs visi zinām, ka mūsu datora ekrānā rakstzīmes ir tikai virkni baiti. Baitu sērijas var izveidot un Tulkojis veidos. Ja interpretācija izmanto kodējumu, kas atšķiras no byte masīva ir izveidota, izmantojot kodējumu, interpretācija parādīšana drazu. Rakstzīmju kopas (atšķirīgi) ir kodēšanas formātu, ko parasti izmanto pārlūkprogrammu. Kodu lappuse rekvizīta vairāk attiecas servera konvertēšanu, ir tikai pārvēršanas tabula, kurā norāda, cik rakstzīmes ir kodēti.

Pārlūkprogrammas kodēts formu izliekamos datus saskaņā ar pašreizējo rakstzīmju kopu. Ja pašreizējā rakstzīmju kopas "windows 1256", tad baitu serveris nosūta arī ir kodēti kā "windows 1256."

Ja ASP interpretē, formas un Querystring kolekcijas nav izveidots, līdz brīdim, kad tie ir atsauces kodu. Tie ir veidotas, datu virkne ir pārveidots unikoda saskaņā ar pašreizējo kodu. (Pēc noklusējuma gan ASP un ASP.NET procesa saturu, izmantojot Unikoda formātā). Ir ļoti svarīgi iestatīt pareizo kodu pirms atsauces kolekcijas; Pretējā gadījumā unikoda attēlojuma atmiņā nebūs pareizi.

Lai iestatītu kodu, lietojiet Session.Codepage vai Response.Codepage. Response.Codepage pieejams tikai Microsoft Internet Information Services (IIS) 5.1 vai jaunāku versiju. Papildinformāciju par veselo skaitļu vērtības (kas atbilst rakstzīmju kopu), mēs varētu iestatīt šos rekvizītus, apmeklējiet šo Microsoft Web vietu:

Rakstzīmju kopas pazīšana
http://msdn2.microsoft.com/en-us/library/Aa752010.aspxPiemēram, lai iestatītu arābu valodas kodu, izmantojiet šādu kodu:

Session.Codepage = 1256

Response.Codepage ietekmē tikai pašreizējo atbildi. Tomēr Session.Codepage ietekmēs visus pašreizējā lietotāja atbildes. Kodu lappuse ir iestatīta, izmantojot vienu no šiem rekvizītiem un formas un Querystring kolekcijas ir veidotas, pašreizējo kodu šīs izmaiņas izraisa pārveidot pašreizējo kodu atmiņā unikoda Response.Write metodi. Lai iegūtu papildinformāciju par šo tēmu, apmeklējiet šo MSDN Web vietu:

Kodu lappuse virknes pārvēršana (ASP)http://msdn2.microsoft.com/en-us/library/ms525789.aspx iestatīšanaBottom-line runājot par problēmām saistībā ar atšķirīgi kodu ir rakstzīmju kopas, klienta un servera kodu ir jāatbilst.

Akceptējiet valodas

Ja ASP izstrādātāju vēlas uzzināt, kādas valodas lietotājs ir iestatījis savu pārlūku, izstrādātāju varat izmantot mainīgo Request.ServerVariables ("HTTP_ACCEPT_LANGUAGE") , lai atrastu prioritātes secībā, kas lietotājam jāredz šīs valodas un valodas, kas lietotājam vēlaties lasīt atbildes, (piemēram, angļu, vācu vai Indijas) saraksts. ASP.net, līdzīga informācija ir iekļauta Request.UserLanguages rekvizītu kā masīvu.
Lai iegūtu papildinformāciju par to, kā lietot šo informāciju ASP kodu, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

229690 kā iestatīt ASP lokalizācijas ID vienā pārlūkprogrammas valodas iestatījumos

Programmā Internet Explorer parādīšana vairākbaitu rakstzīmju kopas

Unicode (UTF-8) ir tikai kodēšanas formātu, kuru var parādīt vairākbaitu rakstzīmju kopa. Ar UTF-8, mēs varam parādīt kirilicas Indijas un Japānas visi vienā lapā. Ja nav UTF-8, mēs var parādīt tikai vienā no šīm valodām laikā. Lai iestatītu charset pārlūka, izmantojiet rekvizītu Response.CharSet .

Statiska lapa vairākbaitu rakstzīmju

Parādīt lapu tieši saglabāti vairākbaitu rakstzīmju, mēs vispirms jāsaglabā lapu ar noteiktu kodējumu. UTF-8 būs labāk, bet konkrētu kodu (atbilst rakstzīmes kodu) darbosies arī.

Saglabājot ASP failu, izmantojot Microsoft Visual InterDev nepalīdz, jo Visual InterDev var saglabāt tikai angļu valodas ANSI vai unikoda. Visas saglabāts kā Unicode neatbalsta ASP ASP lapu.

Microsoft Visual Studio .NET, var saglabāt failu ar jebkuru kodējumu. Ir divi veidi, kā to izdarīt. Pēc noklusējuma tas ir veids, kā saglabāt failu, izmantojot pašreizējo kodu lietotāja. Papildu veids, kā saglabāt failu, izmantojot kodējumu ir šādi:
Izvēlnē Fails noklikšķiniet uz Faila saglabāšana. Šajā
Saglabājiet failu kā dialoglodziņš, noklikšķiniet uz nolaižamā saraksta bultiņas
Pogu saglabāt . Noklikšķinot uz bultiņas, pieejamās opcijas ir
Saglabājiet un saglabāt kodējums. Noklikšķinot uz
Saglabāt ar kodējumu, dialoglodziņā Papildu opcijas saglabāt tiek parādīts, kas ļauj atlasīt kodēšanas tipu, kuru vēlaties lietot no saraksta kodu, kas ir instalēta jūsu datorā.


Piezīme. Šīs izmaiņas saglabāt kodējumu darbību, bet ir tikai vienu reizi. Pēc saglabāšanas tiks atiestatītas noklusējuma.

Lai mainītu noklusējuma kodu, noklikšķiniet uz Saglabāt papildopcijas
Izvēlne Fails . Dialoglodziņā Papildu opcijas saglabāt , varat iestatīt noklusējuma kodējumu saglabāšanas darbības izvēlētu kodu.

Šīs metodes ir saistītas ar kā fails tiek saglabāts diskā. Tomēr kontroles izvades ASP, kā jau apspriests, lai mums Session.CodePage un Response.CharSet rekvizītus. Ar IIS 5.1 vai jaunākas versijas, mēs varam izmantot rekvizītu Response.CodePage .

Noklusējuma kodu serverī

Noklusējuma kodu lappusei un noklusējuma atrašanās vieta ir atkarīga no reģistra iestatījumus. NOKLUSĒJUMA lietotāju. Mēs varam atrast starptautiskā reģistra stropa HKEY_USERS\ taustiņu. DEFAULT\Control Panel\International. Mēs varam arī mainīt atrašanās vieta ir izvēlējies IIS darbību. Lai iegūtu papildinformāciju, skatiet sadaļu "IIS 5.0" šajā zināšanu bāzes rakstā:

306044 darbību datums/laiks formāts atšķiras no Active Server Pages piekļūstot

Ja pašu noteikts iepriekš taustiņu vai sistēmas noklusējuma atrašanās vieta ir pieteicies lietotājs, lietotāja iestatījumu, ir prioritāri.

Piemērs: Formāts iestatīt kā 11.1.2004, kamēr pieteicies lietotājs (ar lokalizācijas vienādus) ir datuma formātu kā 1/11/2004 datums ir noklusējuma atrašanās vietas. Par ASP 1/11/2004 iestatījums stātos spēkā.

(Lai ASP.NET, var būt izņēmumi. Dažas instalācijas ASPNET lietotājam būs sava profilu, kas parādās sadaļā HKEY_USERS, kad tā tiek ielādēta. Citos gadījumos tiks izmantots. NOKLUSĒJUMA profils. < % @ % > Deklarāciju var izmantot arī kodu atribūts. Tas ir jāizmanto, ja fails tiek saglabāts ar citu kodējumu tad pēc noklusējuma, piemēram, kodu 932 (japāņu)).

Kodu lappuse problēmas salīdzinājumā ar fontu pārvēršanas problēmas: kas ir kas?

Reizēm var redzēt jautājuma zīme (?) rakstzīmes vai kur rakstzīme ir paredzēts parādās lodziņš.

Kodu lappuse pārvēršanas problēmas

Rakstzīme tiek aizstāts ar jautājuma zīmi (?) rakstzīmes, tas norāda kodu pārveidošanas problēma radās. Jautājuma zīme (?) ir noklusējuma rakstzīmju pārvēršanas kodu un būtībā nozīmē, ka operētājsistēma nav zināt, kā rīkoties rakstzīmju vērtību un to konvertēt. Ar jautājuma zīmi (?) aizstāj rakstzīmes vērtību. Tas var nozīmēt rakstzīmes ir nederīga vērtība kodu vai pārvēršanas nepieciešamā kodu lappuse nav instalēta.

Fontu pārvēršanas problēmas

Rakstzīme tiek aizstāts ar lodziņš, ja tas norāda fonta pārveidošanas problēma radās. Tas notiek klienta pusē, ja klients nav pareizi fontu instalēta pareizi parādīt šīs rakstzīmes. Piemēram, rakstzīme ir no japāņu valodas rakstzīmju kopas, bet klients nav japāņu instalētos fontus, japāņu valodas rakstzīmes tiek rādīta kā lodziņš.

Pēc tam var runāt kā mainīt lietas ASP.NET 1. x un kā šīs izmaiņas ietekmē globalizācijas problēmas saistībā ar ASP.NET.

Globalizācijas problēmas ASP.NET 1. x:

Ar ASP.NET, tika ieviesti trīs lielas lietas:

  • Failā Web. config globalizācijas < > Tags
    Globalizācija < > Tags automātiski noņem no kodu un atšķirīgi nesakarīga koncepcija un ļauj kontrolēt lielāko daļu laikā ASP.NET varianti.

  • System.Globalization nosaukumvieta
    Globalizācija nosaukumvietas sniedz mums izturēt globalizācijas programmēšanas iespēju.

  • Būtiski uzlabota koncepcija resursu faili.
    Mums nav saistīti ar resursu failu ceļu, ko mēs ASP. Tagad resursu faili ir XML failu formātā, mēs izstrādāt un attīstīt un tādi kā apkopo izpildlaikā.

Globalizācija konfigurācijas tagu:

Divi svarīgi Tags iestatījumi ir šādi:

<globalization             requestEncoding="utf-8" 
responseEncoding="utf-8" />

Citi iespējamie iestatījumi uzlabojumu šādi:

fileEncoding

Norāda noklusējuma kodējumu aspx asmx un .asax faila parsēšana. Unicode un UTF-8 failus, kas saglabāti ar prefiksu baitu secība zīme (ar parakstu) automātiski atpazīs, neatkarīgi no fileEncodingvērtību.

Kultūras

Norāda noklusējuma kultūras apstrādes ienākošo Web pieprasījumiem (piemērojama klases metodes no System.Globalization namespace).

uiCulture

Norāda noklusējuma kultūras apstrādes lokalizācijas atkarīgus resursu meklēšanu (satelītu komplekti).

Lai iegūtu papildinformāciju par kultūras virknes (vērtības kultūras un uiculture), apmeklējiet šo Microsoft Web vietu:

System.Globalization.CultureInfoClass
http://msdn2.microsoft.com/en-us/library/system.globalization.cultureinfo(vs.71).aspxŠie iestatījumi tiek lietoti, ASP.NET pēc pabeigšanas atbildi, un pirms pieprasījumu nodod no lietojumprogrammas. ResponseEncoding, ir izveidots, lai saglabātu izvades buferi ir iestatīts uz šo kodējumu. Viss, kas pārslēdzas uz šo buferis tiks kodēts atbilstoši iestatījumu, tas tiek ievietots buferis.

RequestEncoding, izpildlaika nolasīt pieprasījumu un interpretēt saskaņā ar šajā sadaļā iestatījumu. Iestatījumu, kas var radīt problēmas, taču tā. Tabulā norādīts derīgs UTF-8 baitu secība bitu izkārtojums.

Ja standarta ASCII 7 bitu rakstzīmju vērtību, vērtība baiti netiek mainīts. Ja vērtība ir virs 127, tas jāizpilda aprakstītos norādījumus. Biti vadošajiem kopa parāda, cik rakstzīmju ir secībā. Katram pēc pirmās jāsākas ar pirmo bitu baits iestatīta uz 1.

UTF-8 baitu izkārtojums:

Baiti

BITS

pārstāvniecību

1.

7

0vvvvvvv

2.

11

110vvvvv 10vvvvvv

3.

16

1110vvvv 10vvvvvv 10vvvvvv

4.

21

11110vvv 10vvvvvv 10vvvvvv 10vvvvvv

Tas ir, kur ir problēma. Ja pārlūkprogramma tiek kodēts pieprasījumu saskaņā ar vienu baitu kodu (piemēram, iso-8859-1), vērtības virs 127 nebūs derīgi atbilstoši iepriekš izkārtojums. Tās lasot par UTF-8 buferis, nederīgas rakstzīmes vienkārši ir samazinājusies no komandas.

Izpildlaika kodēšanas izmaiņas

Application_BeginRequest gadījumā mēs varam izmainīt vērtību requestEncoding un to stātos spēkā, pirms tiek apstrādāts pieprasījums. Atbilde Page_PreRender notikums ir pēdējā iespēja mainīt izvades kodējumu. Arī ņemiet vērā, ka Response.Write tiks laiž rakstzīmes Šis buferis, tiklīdz tiek saukta, tā noteikti ir tiesības noteikt kodēšanas pirms Response.Write.

Sākotnējie dati ir ne Unicode: kā veikt Internet Explorer vairākbaitu atšķirīgi interpretēt?

Mēs varam ASP.NET darbojas kā ASP, ja nepieciešams. Lai tas notiek, mums ir responseEncoding un requestEncoding uzstādīšana windows-1252 (pilnīgāku kodēšanas par iso-8859-1) un Response.Charset rekvizītā tekstu parādīt pareizi. Tas darbojas, jo windows-1252 vienbaita kodēšanas shēmu un nemaina nevienu baiti, kas pievienoti buferis. Tādējādi dubultbaitu rakstzīmes tiek nosūtīti kā vienu baitu virkne. Mēs varētu pēc tam programmā Internet Explorer kā interpretēt baiti, izmantojot rekvizītu Response.Charset . Šajā situācijā var būt nepieciešams, ja sākotnējie dati netiek saglabāts kā Unicode vai UTF-8 atgriešanas vērtību COM objekts, piemēram, vai dati tiek glabāti Microsoft SQL Server nav N jomā (piemēram, varchar).

SQL Server un ASP.NET globalizācijas problēmas

SQL Server unikoda datu ievade

SQL Server datu uzglabāšanai vislabāk izmantot Unicode. Kad mēs izmantojam INSERT, UPDATE utt., ja vēl ir vismaz iespēja unikoda datus, mums ir jāpievieno N pirms vērtības. Tas norāda datu bāzes vērtība ir unikoda. Labu piemēru var minēt ADO objekti. Tie automātiski ja kopas objektu pievienot jaunu ierakstu.

Šis ir piemērs:

INSERT INTO MusicAlbum (Album_ID, [Year], Name, Artist_ID, Company_ID) VALUES (12345, 2005, N'Abida', 4653, 403)Or:
Dim t As String = "INSERT INTO MusicAlbum(Album_ID, [Year], Name, Artist_ID, Company_ID) VALUES (12345, 2005, N'" & TextBox1.Text & "', 4653, 403)"

SQL Server ievades datums

Parasti ir zināšanas par kultūras un lokalizācijas datums ir Tulkojis mūsu ASP.NET lietojumprogrammas. Tomēr stumšana un vilkšana datuma un laika datus uz un no ārējiem avotiem, bet mēs riskējat nepareizi datums formātos. Tas ir tāpēc, ka mēs vienmēr negarantē kultūras un lokalizācija ar ārēju avotu ir tāds pats kā mūsu lietojumprogrammas. SQL Server to var atrisināt, izmantojot "pašreizējo valodas" atribūts connectionstring SQL datu bāzei tiek izveidots savienojums. Mēs varam nodrošināt pašu valodas iestatījumu connectionstring ir kultūras mūsu programmā. Tas neļauj mums risku kļūda, jo SQL Server vienmēr pieņem un nosūta date/time datu piekrišanas iepriekšminēto iestatījums.

System.Globalization nosaukumvieta

Šo nosaukumvietu ir galvenais globalizācijas un lokalizācijas .NET Framework. Galvenās kategorijas izmanto šo nosaukumvietu ir CultureInfo klases. Tas pieder kultūras specifisko informāciju, datums formātā, skaitļu formāti salīdzināšanas informāciju un teksta informāciju. Lai iegūtu papildinformāciju par CultureInfo klasi, apmeklējiet šo MSDN Web vietu:

http://msdn2.microsoft.com/en-us/library/system.globalization.cultureinfo(vs.71).aspxCultureInfo

Neitrāla kultūras un noteiktu kultūras

Neitrāla kultūras ir kultūras, kas saistīta ar valodu, bet nav noteiktas valsts vai reģiona. Konkrētu kultūras saistīta gan ar valodu un konkrētā valstī.

Piemērs: "DE" (neitrāla kultūras) ir vācu valoda, bet "de AT" (konkrētu kultūras) ir vācu valoda tā saziņā Austrija. Neitrāla kultūras nevar lietot formatējumu.

Pašreizējā pavediena un kultūras izpratni par .NET Framework klašu

Visas klases un metodes, kur mēs varētu sagaidīt komandas ir atkarīgas no kultūras .NET Framework bibliotēkā ir iebūvēta divas problēmas:

  • Tās mēs norādīt kultūras kodu, vienlaikus sniedz argumentus, lai izvades pamatā ir norādīta kultūras. Šī darbība nav obligāta.

  • Ja tas ir izlaista (parasti tas ir), klases automatizēti Thread.CurrentThread.CurrentCulture īpašumtiesības un darbojas saskaņā ar kuru pārbauda.

Mēs mainītu šo rekvizītu vērtību ar kodu, kas ir līdzīgs šim:

    Dim ci As CultureInfo        ci = New CultureInfo("de-AT")
Thread.CurrentThread.CurrentCulture = ci

Koda piemērā "de" apzīmē vācu valoda un "AT" apzīmē Austrija. Tāpēc šādā gadījumā DateTime.Now(). ToString metodi vai atgrieztu datuma un laika formāts atbilst kā datums un laiks tiek norādītas Austrija vācu valoda.

Struktūra (šādi) nodrošina rekvizīts CurrentCulture tiek vienmēr atvērts:

  1. Kāds ir iestatīta programmiski.

  2. Gadījumā, ja tas nav tieši iestatījis programmētājs, no konfigurācijas faili tiek izdots rekvizītu (< globalizācijas > atzīme).

  3. Ja rekvizīts nav ir kultūras tīmekļa serverī, kurā darbojas. Parasti ir neitrāla kultūras atbilst no operētājsistēmas valodas.

Resursu faili

Visi .resx .resource failus un failus, kuriem ir iestatīts uz Iegults resursu Būvēšanas darbība atribūtu ASP.NET projektam programmā Visual Studio .NET pievienoto automātiski apkopo un iegultās lietojumprogrammas montāžas kā daļa no manifesta. To var arī paveikt manuāli, izmantojot utilītu resursu failu ģenerators (RESGEN), izmantojot Visual Studio .NET komandu uzvedni. Lai iegūtu papildinformāciju, apmeklējiet šo MSDN Web vietu:

http://msdn2.microsoft.com/en-us/library/ccec7sz1(vs.71).aspxTas ir vispārējā koncepcija, kas ir paredzēts, kad mums ir nepieciešams, lai pārvaldītu lietojumprogrammas resursiem, kas ir saistīta ar globalizāciju. Tomēr, ieviešot mums ir globalizācija, mēs izmantojam satelītu komplekti.

Satelītu komplekti

Satelītu mezgli var izmantot ASP.NET projektu, pārliecinieties, vai šādi nosacījumi:

  1. Lietotāja interfeisa elementus aspx failos ir aprīkots ar id un runat = servera atribūtus.

  2. Mēs izveidot atsevišķu .resx failus. Katrs ir jāatbilst katras kultūras vajag mūsu atbalsta programmu.

  3. Mums jāizlemj izplatītu vārdu visi šie faili ex "Virknes"..

  4. Mēs atsevišķi .resx failus ar šo nosaukumdošanas konvencijas commonfirstname. languagecode regioncode.resx nosaukums (piemēram: Strings.de AT.resx, Strings.en GB.resx).

  5. Resursu fails ir
    commonfirstname.resx (Strings.resx), kurā ir visi virknes vajag parādīts noklusējuma gadījumā.

  6. Ievadiet kodu noteikt lietotāja kultūras un iestatiet rekvizīta Thread.CurrentThread.CurrentUICulture atbilstoši to.

  7. Ievadiet kodu, izmantojot ResourceManager klases ielādēt resursus.

  8. Rakstīt kodu, lai izgūtu virknes no ielādēto objektu, un tos lietotāja interfeisa elementus.

Kad esat veicis šīs darbības, Visual Studio.NET apkopo Strings.resx un iegult lietojumprogrammu montāža (MyGlobalizationTestProjectName.dll). Tomēr visi .resx faili tiek ģenerēts atsevišķu dll failus, kas nav izpildāmu kodu, bet tikai resursu datus. Faktiski tiek sauktas par satelītu komplekti. Arī Visual Studio .NET vietas šo mapju struktūra līdzīga šai:MyGlobalizationTestProjectName |------- bin
|------en-US
MyGlobalizationTestProjectName.resources.dll
|------ja-JP
MyGlobalizationTestProjectName.resources.dll
|------de-AT
MyGlobalizationTestProjectName.resources.dll

Atšķirības starp CurrentCulture un CurrentUICulture

System.Globalization namespace klases metodes ir atkarīgas no rekvizītu Thread.CurrentThread.CurrentCulture to sniegt, kamēr ResourceManager klase, ko ielādē resursu montāžas atkarīgs ielādēt atbilstošo satelītu montāžas rekvizītu Thread.CurrentThread.CurrentUICulture . Šis ir piemērs c# kodu:

using System.Globalization;using System.Threading;
using System.Resources;

//Load resources.
protected ResourceManager gStrings = new ResourceManager("MyGlobalizationTestProjectName.strings", typeof(MyTestWebFormName).Assembly);

// Get the user's preferred language.
string sLang = Request.UserLanguages[0];
// Set the thread's culture for formatting, comparisons, etc.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(sLang);
// Set the thread's UICulture to load resources
// from satellite assembly.
Thread.CurrentThread.CurrentUICulture = new CultureInfo(sLang);

private void Page_Load(object sender, System.EventArgs e)

{

if (!IsPostBack)

{
// Get strings from resource file and assign to UI elements.
head1.InnerHtml = gStrings.GetString("satellite.head1");
p1.InnerHtml = gStrings.GetString("satellite.p1");
sp1.InnerHtml = gStrings.GetString("satellite.sp1");
sp2.InnerHtml = gStrings.GetString("satellite.sp2");
butOK.Text = gStrings.GetString("satellite.butOK");
butCancel.Value = gStrings.GetString("satellite.butCancel");
}

}

Secībā, kādā ASP.NET izvēlas satelītu komplekti:

Iestatot pavedienu CurrentUICulture, ASP.NET automātiski atlasa resursus, kas atbilst, šādā secībā:

  • Atrodot satelītu montāžas ar atbilstošu kultūras, izmanto šo montāžas resursus.

  • Atrodot satelītu montāžas ar neitrāla kultūras, kas atbilst CurrentUICulture, izmanto šo montāžas resursus.

  • Ja atbilstība netiek atrasts CurrentUICulture, atkāpšanās resursus saglabāti izpildāmo montāžas izmanto.

Piezīme. Tas ir balstīts uz vispārīga resursu atkāpšanās procesa. Lai iegūtu papildinformāciju, apmeklējiet šo MSDN Web vietu:

http://msdn2.microsoft.com/en-us/library/sb6a8618(vs.71).aspx

Manuāli jāizveido satelītu komplektiem:

Šo satelītu mezgli ir kur Visual Studio .NET izveido komplektācijas sevi. Visual Studio .NET nav spēcīgs vārds satelītu komplekti pēc noklusējuma, taču. Ja vēlaties mainīt šo opciju, jums vajadzēs manuāli izveidotu satelītu komplekti. Lai iegūtu papildinformāciju, apmeklējiet šo MSDN Web vietu:

http://msdn2.microsoft.com/en-us/library/21a15yht(vs.71).aspx.

Kas noticis ar ASP.NET 2.0 globalizācijas priekšā?

ASP.NET un problēmas, ko mēs varētu redzēt attiecībā pret globalizācijas līdzekļi ASP.NET 2.0 plašu izmantošanu joprojām ir dažas Ieteicamais attālums. Tomēr būtu vēlams īss apskatīt virzienā globalizācijas metodika tīmekļa lietojumprogrammas nosaukumu.

ASP.NET 2.0 globalizācija atbalstu ir veikta būtiskām izmaiņām un Web izstrādātāji dota iespēja veikt lokalizācija tīmekļa lietojumprogrammas tikpat vienkārši kā Windows lietojumprogrammas. Šis ir to līdzekļu saraksts, kas ir ASP.NET 2.0 globalizācija metodēm:

Stingri drukāti resursi .NET Framework 2.0 centrā stingri drukāti resursi izstrādātājiem sniedz Intellisense atbalsts un vienkāršo nepieciešama piekļuve resursiem izpildes kodu.

Pārvaldītā resursu redaktors Visual Studio .NET 2.0 ietver jaunu resursu redaktors ar labāku atbalstu izveide un pārvaldīšana virknes, attēlus, ārējiem failiem un citiem komplekss resursu ierakstus.

Resursu paaudzes tīmekļa veidlapu Windows Forms izstrādātāji jau esat apmierināts automātiskās internacionalizācijas priekšrocības. Visual Studio .NET 2005 tagad atbalsta ātru internacionalizācijas automātiski radot resursu tīmekļa veidlapu vadīklas lietotāja un šabloni.

Uzlabots atbalsts izpildlaiks ResourceManager gadījumi pārvaldīta, izpildlaika un pieejama servera pieejamību saskarnes ar kodu.

Lokalizācijas izteiksmes Deklaratīva mūsdienu izteiksmes Web lapas atbalsta kartēšanas resursu ierakstu kontrole rekvizītus, HTML rekvizītus vai statiskā satura reģionu. Šīs izteiksmes var paplašināt, nodrošinot papildu iespējas vadīt procesu lokalizētā satura pievienošana HTML izvadi.

Kultūras Automātiskā atlase Kultūras atlases katrai tīmekļa pieprasījumu pārvaldība var automātiski saistīt ar pārlūkprogrammas preferences.

Resursu nodrošinātājs modelis Jaunā resursu nodrošinātājs modelis ļauj izstrādātājiem resursdatora resursus alternatīvu datu avotu plakanā failiem un datu bāzes tabulās laikā paliek nemainīgs programmēšanas modeli, lai piekļūtu šos resursus.

Lai iegūtu papildinformāciju par ASP.NET 2.0 globalizācija metodēm, apmeklējiet šo MSDN Web vietu:

ASP.NET 2.0 lokalizācijas līdzekļiem: Jauna pieeja uz lokalizēšanu tīmekļa lietojumprogrammas
http://msdn2.microsoft.com/en-us/library/ms379546(VS.80).aspx

Slēgšanu

Tas arī viss pagaidām par ASP un ASP.NET globalizācijas problēmas. Es ceram, ka šis raksts palīdzēs daži klienti to globalizācijas problēmu novēršana programmā ASP un ASP.NET pirms tās izvēlēties, lai sazinātos ar Microsoft Support. Ar šo domāju galu:

"Kur un ikreiz, kad tiek izstrādāta, padomājiet miljons cilvēku var dot visā pasaulē. Padarīt savus risinājumus pasaules Ready! Microsoft rīkus un tehnoloģijas, atvieglojot internacionalizācijas."

Mums būs panākt atkal nākamā mēneša ar citu interesantu tēmu.

Paldies par jūsu laiku.

Lai iegūtu papildinformāciju par ASP un ASP.NET globalizācijas problēmām, skatiet šīs Microsoft vietnes:

SetLocale un GetLocale vbscript
http://msdn2.microsoft.com/en-us/library/5xf99h19.aspx

Soli pa solim globalizācija
http://msdn.microsoft.com/en-us/goglobal/bb688110

Atveriet pasaules: Lokalizēšanu dinamisko Web Apps ar IIS 5.0 un SQL Server
http://msdn.microsoft.com/msdnmag/issues/01/05/global/default.aspx

Atveriet pasaules: Izstrādāšana vietnes ASP sistēma atbalsta globalizācija
http://msdn.microsoft.com/msdnmag/issues/0700/localize/default.aspx

315616 kā noteikt klienta valodu Active Server lapas lapu programmā IIS
http://support.microsoft.com/?id=315616

Lokalizācijas ID(LCID) diagramma
http://msdn2.microsoft.com/en-us/library/0h88fahh.aspx

System.Globalization Namespace
http://msdn2.microsoft.com/en-us/library/system.globalization(vs.71).aspx

Resursu un lokalizācija, izmantojot .NET Framework SDK
http://msdn2.microsoft.com/en-us/library/aa309421(VS.71).aspx

Resursu ASP.NET lietojumprogrammas
http://msdn2.microsoft.com/en-us/library/1ztca10y(vs.71).aspx

ASP.NET globalizācijas < > konfigurācijas elements
http://msdn2.microsoft.com/en-us/library/hy4kkhe0(vs.71).aspx

Izstrādes un ieviešanas vadlīnijas Web klientiem - globalizācija un lokalizācija
http://msdn2.microsoft.com/en-us/library/ms978628.aspx

Oficiālais Microsoft vietnes-Global Development un skaitļošanas portāls
http://msdn.microsoft.com/en-us/goglobal/bb688096

Pasaules gatavas lietojumprogrammu izstrādāšana
http://msdn2.microsoft.com/en-us/library/h6270d0z(vs.71).aspx

ASP.NET globalizācijas arhitektūra
http://msdn2.microsoft.com/en-us/library/aa478974.aspx

Uzņēmuma lokalizācija Toolkit - izstrādei lokalizētu Microsoft ASP.NET lietojumprogrammas
http://msdn2.microsoft.com/en-us/library/aa479334.aspx

Microsoft tipogrāfija
http://www.microsoft.com/typography/default.mspx

839861 A System.Resources.MissingManifestResourceException Izņēmums rodas tad, ja mēģināt piekļūt paredzētu resursu

Vārdnīca

ANSI Apzīmē Amerikas nacionālā standartu institūta. Šajā gadījumā to apzīmē specifisku kodu specifisku valodas/rakstzīmju kopas. Visbiežāk attiecas uz angļu valodas kodu (windows-1252).

ASCII 1 baits (vai 7 bitu) kodēšanas shēmu. Ir standartizēti tikai diapazonā 0 127 rakstzīmes. 128-255 ir ASCII un nav daļa no standarta paplašinājumus. Piemēram, atšķiras no OEM ASCII diagramma augšējā diapazona VB ASCII tabula.

Rakstzīmju kopas Iestatījumu izmanto galvenokārt informē pārlūkprogrammu kā interpretēt rakstzīmju datu Internet Explorer un pārlūkprogrammas. Piemērs: Response.charSet = "iso-8859-1".

Kodu lappuse Pārvēršana tabula, kurā norāda, cik rakstzīmes ir kodēti (parasti izmanto serveriem).

Globalizācija Globalizācija ir procesu izstrāde un izveide lietojumprogramma, kas var izpildīt unikālu kultūras, reģiona vai valsts un valodas prasības. Citiem vārdiem izstrādāšana lietojumprogrammu tā, ka tā varētu būt lokalizēts vēlāk ir globalizācija.

Lokalizācijas/Culture Valodas reģiona noteiktu formātu/preferences tostarp, datums un kalendāra formātu, laika formātā, valūtas formātu, korpusa, šķirošana un virkņu salīdzināšana adrešu formāti, tālruņa numuru formātos, papīra izmēri, mērvienību, rakstot virziens utt.

Lokalizācijas ID (LCID) DWORD vērtība, kas norāda kārtošanas ID un valodas identifikators To var izmantot, lai norādīt ex datums u.c. ir formatēti atbilstoši konkrētam reģionam formātos.

Localizability Iespēja pieteikuma Rādīt saturu pieprasīja valodu/atrašanās vietā.

Lokalizācija Lokalizācija ir konkrēto valodu un/vai lokalizācijas tulkošanu lietotāja interfeisu.

Vairākbaitu rakstzīmju kopa Rakstzīmju kopu, kas rakstzīmes sastāv no diviem vai vairākiem baiti, piemēram, japāņu valodā. UTF-8 arī ietilpst šajā kategorijā. (Unicode ir tehniski šajā kategorijā, bet sistēmā Windows, ir tās pašas kategorijas).

Unicode 2 baitu kodēšanas shēmu. Sistēma Windows izmanto unikoda iekšēji. Visas API speciāli Unicode ir apzīmēta ar "W" galā funkcijas nosaukums. Balto plašu char; nevar tieši izmantot tīmekļa lietojumprogrammas.

UTF-8 Rakstzīmju kodējumu, ja rakstzīmju var pārstāv 1 6 baiti. Sistēmā Windows ir 1-3 baiti. Netiek atbalstīta saskaņā ar NT4 tīmekļa lietojumprogrammas.
Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

175392 UTF8 atbalstu


Wide rakstzīmju kopa Unicode aizstājvārdu. To sauc arī par UCS 2, UTF-16 DBCS (dubultā baitu rakstzīmju kopu).

Kā vienmēr, lūdzu, iesniegt idejas par tēmām, kuru vēlaties risināt nākotnē kolonnas vai zināšanu bāzē, izmantojot
Jautājiet to formā.

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar tulkojuma kvalitāti?
Kas ietekmēja jūsu pieredzi?

Paldies par jūsu atsauksmēm!

×