26. februar 2005 - 12:15Der 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 :)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
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.
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)
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)
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)
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)
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.