Avatar billede davidfossil Nybegynder
26. februar 2005 - 12:15 Der er 9 kommentarer og
1 løsning

Localization med brug af .aspx.resx filer

Jeg har forsøgt at læse mig til hvordan man bruger .resx filer til at lave parallele udgaver af samme site i flere sprog. Det lyder altsammen super smart, men der er noget jeg ikke helt fatter:

I de eksempler jeg har set oprettes den en .resx fil i roden af projektet, og evt. nye .resx filer i hver undermappe. Når man i Visual Studio opretter en .aspx fil, kommer der automatisk også en .aspx.resx fil, og det ville jo være oplagt (synes jeg) om man kunne lægge sine tekst-stumper i den. Kan man det? Og hvordan opretter jeg en ekstra .aspx.resx fil til et andet sprog, og knytter den til min .aspx fil?

Links til artikler der besvarer spørgsmålet er også meget velkomne :)
Avatar billede snepnet Nybegynder
26. februar 2005 - 12:28 #1
hej david :o)

denne her tror jeg er lige noget for dig (til at starte på) :
http://www.dnzone.com/ShowDetail.asp?NewsId=256

Mvh
Avatar billede davidfossil Nybegynder
26. februar 2005 - 12:37 #2
Det ser ud til at være noget med en komponent man skal købe?
Vil helst gøre det "den gratis vej", og har ikke brug for Design mode.
Læser lige artiklen og ser om jeg kan få noget hints til hvordan jeg selv sætter det op.
Avatar billede snepnet Nybegynder
26. februar 2005 - 12:43 #3
jeg plejer dog normalt selv at nøjes med at at én ressourcefil pr. sprog.... hvis man bruger den fremgangsmåde som er beskrevet - kommer man hurtigt ud i at skulle rette/oprette en hel masse filer når man skal tilføje/ændre sprog.

desuden kan tingene godt begynde at blive lidt rodede, hvis du benytter dig at de mere "genbrugsrelaterede" features (her specielt usercontrols og customcontrols).

normalt plejer jeg selv at oprette sådan lidt mere bredt dækkende ressourcefiler - enten bare én enkelt, eller måske et par stykker som f.eks.:
ApplicationStrings og ErrorStrings.
(det er tænkeligt at der er nogle der gerne vil betale for, at de tekster brugerene normalt er på deres eget sprog - men lader dem leve med at fejlmeddelelser er på engelsk... det er i hvert fald set ved flere lejligheder ;o)

den måde jeg normalt bedst kan lide at arbejde med det selv - er at oprette et dedikeret projekt til det (en sprogpakke om du vil).
andre projekter henter så de strings mv. der skal bruges der, og som udganspunkt kan du starte med at lave den fallback-ressource.

hvis der så senere skal tilføjes et sprog - kopierer du bare denne en fil, og retter teksterne til det sprog der nu skal tilføjes.

runtime kører det med at gafle tingene i den rigtige ressource alene på navngivningen af ressourcen :
ApplicationsStrings.resx kunne så være din fallback, og
ApplicationString.en-US.resx ville så være et ekstra sprog.

Tilføjelse af nye sprog vil under alle omstændigheder alene dreje sig om, at få kompileret en ny ressourcefil ind, hvilket potentielt kan gøres af kunden selv (uden brug af visual studio).

hvis det er en model du kunne tænke dig at arbejde med, kan du lige sige til - så skal jeg poste noget kode til dig her :o)

mvh
/snep
Avatar billede snepnet Nybegynder
26. februar 2005 - 12:46 #4
hov - mht. det link jeg sendte dig, så er det rigtigt at det er en udvidelse til vs, men også med de filer der oprettes af vs er det samme gældende... Det er alene på navngivning at den specifikke ressource findes frem runtime, og du skal ikke som sådan tilknytte en ressourcefil til din aspx-side.

hmm... det er muligvis blevet noget rodet noget det jeg har skrevet... du må lige sige til hvad du synes der sejler... så skal jeg prøve at gøre det bedre :o)

mvh
Avatar billede davidfossil Nybegynder
26. februar 2005 - 12:47 #5
Nu ved jeg ikke hvor store projekter du plejer at arbejde med, men bliver din ApplicationsStrings.resx ikke fordærlig lang?

Hvis jeg bruger en .aspx.resx fil, vil jeg så kun få fat i tekststumper fra filen, hvis der "spørges" fra .aspx.cs filen af sammen navn?
Avatar billede davidfossil Nybegynder
26. februar 2005 - 12:48 #6
Ad 12:46:29:

Jeg har fundet ud af hvordan jeg får VS.NET til at vise filerne som sammenhængende.
Der skal tilføjes en "DependentUpon" attribut til filens node i projektfilen (.csproj)
Avatar billede snepnet Nybegynder
26. februar 2005 - 12:54 #7
ok - det var da en praktisk detalje.... Det var jeg ikke klar over.
(men det er da rart der er en mulighed for at få filerne til at optræde fornuftigt i sin solution....fedt :o)

og jo - min ressourcefil kan godt blive stor, og man kunne også sagtens forestille sig omfattende segmentering omkring ressourcefilerne.... normalt arbejder jeg en del med diverse kontroltyper som bruges flere steder, og der er det upraktisk hvis jeg skriver mine tekster ned i en ressourcefil der er at betragte som en ressource til en specifik side....

men.... det er nok meget afhængigt af hvad det er for et projekt du sidder med ... jeg kunne sagtens forestille mig masser af situationer hvor det er det rareste at køre med en ressource pr. side, men det var også lidt derfor jeg spurgte til at det var en model du kunne bruge.

du kan også sagtens for et eksempel på det andet :o)

mvh
/snep
Avatar billede snepnet Nybegynder
26. februar 2005 - 13:06 #8
(der er for øvrigt lidt ekstra tricks i posen, hvis du går op på version 2.0 og bruger et af de nye ide'er - Visual Web Developer er tilstrækkeligt)
Avatar billede davidfossil Nybegynder
28. februar 2005 - 21:19 #9
snepnet > smid et svar, du har hjulpet mig på rette spor, og jeg har nu en løsning jeg kan bruge :)
Avatar billede snepnet Nybegynder
28. februar 2005 - 21:27 #10
oki :o)
mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester