---
title: ".resources- och .ResX-filer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/48494-resources-och-resx-filer"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "kristoffer"
published: "2002-07-23T07:49:46.000Z"
updated: "2002-07-30T20:58:49.000Z"
replies: 11
views: 339
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/48494-resources-och-resx-filer"
---

# .resources- och .ResX-filer

## #1 — kristoffer, 2002-07-23T07:49Z

Jag har en webbsida som skall kunna visas på olika språk. Därför har jag skapat bland annat följande filer:

Resources.de.resx
Resources.en.resx
Resources.resx
Resources.sv.resx

som var och en innehåller strängar som skall skrivas ut på siten. Det fungerar till 100% men jag har nu stött på ett tråkigt problem: Tanken är att administratörerna sedan skall kunna redigera dessa filer från en webbsida. Enligt vad jag har förstått måste hela projektet buildas om efter att resourcefilerna har redigerats. Fast när jag läser på <http://samples.gotdotnet.com/QuickStart/howto/default.aspx?url=/quickstart/howto/doc/ResourcesCustomReader.aspx> blir jag osäker på om projektet verkligen behöver buildas om. Det verkar ju heltokigt att man inte skulle kunna redigera filerna från en webbsida? I så fall skulle jag behöva använda en databas istället.

Info om Resource-filer:

<http://samples.gotdotnet.com/QuickStart/aspplus/default.aspx?url=/quickstart/aspplus/doc/resourcefiles.aspx>
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemresources.asp>
<http://www.devx.com/dotnet/articles/oc022102/>

Permalänk: https://www.webforum.nu/p/48494

## #2 — NETwork, 2002-07-23T08:50Z

Vi hade en liknande lösning för flerspåkstöd och vi var tvungna att kompilera vid varje ändring, MEN .resx är väl en slags xml-filer så det borde ju inte behövas?

Permalänk: https://www.webforum.nu/p/728698

## #3 — kristoffer, 2002-07-23T09:06Z

Men hur gjorde ni för att någon som inte hade tillgång till kompilatorn skulle kunna göra ändringar? .resx är xml-filer ja, vad använde ni då eftersom ni också behövde kompilera om vid varje ändring?

Permalänk: https://www.webforum.nu/p/728715

## #4 — NETwork, 2002-07-23T09:28Z

Vi hade aldrig det problemet eftersom vi själva byggde upp resx-filerna (behövde tills vidare bara svenska och engelska). Men visst har vi tänkt tanken att bygga en webb där en administratör (utan tillgång till själva projektet) ska kunna lägga till ett språk.

Jag sitter här och provar lite men det verkar inte fungera att ändra direkt i dessa filer utan att kompilera om. Om jag däremot kompilerar så går ändringarna igenom. Jag gissar att .resx-filerna bakas in i din dll-fil? Det går ju att helt ta bort resx-filerna från katalogen och ändå ta fram innehållet i dem...

Permalänk: https://www.webforum.nu/p/728725

## #5 — kristoffer, 2002-07-23T09:34Z

I bin-katalog skapas en katalog för varje språk. I varje katalog läggs en fil som heter projektnamn.resources.dll. 

Har du något tips på vad jag egentligen skall göra nu? Skita i resx-filerna och göra om det till databas istället?

Permalänk: https://www.webforum.nu/p/728732

## #6 — NETwork, 2002-07-23T09:51Z

Aha, ja det ser jag nu. Ja, då lär det ju inte fungera... det var inte jag som gjorde språkstödet så jag har inte så bra koll på hur den fungerar.

Nej, jag tror inte att en databas är det bästa sättet, åtminstone inte om det är många små textformateringar som ska göras. Vi har exempelvis en jäkla massa buttons, labels och andra kontroller där textattributet sätts till respektive språk beroende på dina nationella inställningar. Om vi skulle använda en databas till detta skulle det ju innebära mängder med anrop och en hel del kod. Jag tror att det bästa är att du själv gör en xml-fil för respektive språk och hämtar respektive text från dessa.

Permalänk: https://www.webforum.nu/p/728743

## #7 — kristoffer, 2002-07-23T10:01Z

Kan administratören då redigera xml-filen? Har du något exempel på hur jag sedan hämtar infon därifrån? Vad är fördelen med att använda en xml-fil istället för databas?

Angående databas så känns det inte bra heller, men hade det inte gått att komma undan med endast ett databasanrop?

Permalänk: https://www.webforum.nu/p/728749

## #8 — Nickemannen, 2002-07-23T10:07Z

skulle kanske en include fil kunna vara något där det finns en massa fördeklarerade strängar.

Så skriver du bara ut strängarna? t.ex. 

ett par olika include filer med olika språk

```
string strHeadNews = "blablablablabla";
```

den vanliga

```
<html>
<bla>
<%=strHeadNews%>
```

sedan finns ju arrayer också

Permalänk: https://www.webforum.nu/p/728751

## #9 — NETwork, 2002-07-23T10:20Z

> Kan administratören då redigera xml-filen? Har du något exempel på hur jag sedan hämtar infon därifrån? Vad är fördelen med att använda en xml-fil istället för databas?

Fördelen med en xml-fil är ju att den är väldigt behändig. Visst, om du gör en webb som uppdaterar en databas eller ett xml-dokument så spelar det ju ingen större roll för slutanvändaren. Men ett xml-dokument är ju betydligt mer behändigt att använda i "rå-format", det finns ju mängder med program och verktyg för att redigera dem och vill du ha en enkel översikt av din språkfil så är det bara att öppna dokumentet i din webbläsare (direkt eller genom en xsl(t)) oavsett vilken miljö du arbetar med. En databas skickar man inte runt på samma sätt, är definitivt inte lika överblickbar och den är bökigare att sätta upp.

XML är ett utmärkt medium för laging, inte minst av olika språk, även om det naturligtvis går att använda en databas också.

> Angående databas så känns det inte bra heller, men hade det inte gått att komma undan med endast ett databasanrop?

Jag antar att du nu (precis som vi) har en klass där du hämtar respektive text för varje språk (beroende på vilken nationell inställning du har). För varje kontroll vi sätter en text på så gör vi ett anrop till klassen vilken returnerar rätt text på rätt språk. Du får göra på samma sätt med den skillnaden att du hämtar text från ett xml-dokument eller en databas istället.

Permalänk: https://www.webforum.nu/p/728762

## #10 — NETwork, 2002-07-23T10:33Z

Nickemannen:

1) Gaah, inga \<%%\>... ;) Tro mig det blir en soppa till slut, då kan man lika gärna hoppa tillbaka till asp. ALLA textformateringar sätter du naturligtvis i koden, ALL text hämtar du från ett media som är till för lagring.

2) Jag tror inte att någon vill/kan göra en massa include-filer, tanken är ju att en person utan några kunskaper i programmering ska kunna lägga till ett språk. 

3) Ska du kunna bygga upp en webb där administratören kan lägga till ett nytt språk måste dessa data kunna sparas, även om det kanske är möjligt att skapa en includefil on the fly så lär det vara bökigt.

4) Du måste dessutom ha en include för varje sida om du inte vill hämta ALLA texter varje gång en sida exekveras, alltså även sådana texter som inte används. Det blir många filer till slut...

Permalänk: https://www.webforum.nu/p/728772

## #11 — Grynet, 2002-07-30T19:33Z

Hittade hur man kan editera .resx filerna utan att byggaa om applikationen eller för den delen använda Visual studio.

Man ska använda Windows Resource Localization Editor, vilken finns i bin bibloteket till SDK som WinRes.exe. Programmet är helt stand-alone så det ska bara vara att skicka över det (och filen att översätta) till de som ska sköta översättningen och låta de göra det. Sen stoppa in den översatta .resx filen i projektet.

Happy coding

Permalänk: https://www.webforum.nu/p/736551

## #12 — kristoffer, 2002-07-30T20:58Z

Ok, tack för tipset. Det skulle alltså gå, fast nu har jag byggt om så att jag lagrar fraserna i XML-filer istället. Det var inga större problem, väldigt enkelt att redigera dem mha <http://www.webforum.nu/showthread.php?s=&threadid=46727>

Permalänk: https://www.webforum.nu/p/736598

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/48494-resources-och-resx-filer
