webForumDet fria alternativet

resx och xml

.NETur .NET

30 svar · 679 visningar · startad av pellesvenne

Medlem sedan jan. 2002227 inlägg
Frågan#1

vad är det för skillnad mellan dem? varför slutar inte resx med filnamnet .xml istället?

Medlem sedan dec. 19996 522 inlägg
#2

Kompileras inte resx filer?

Medlem sedan jan. 2002227 inlägg
#3

kan man inte komplilera en .xml fil ?

Medlem sedan juni 20011 732 inlägg
#4

Nej, en xml-fil är ju i grunden en uppsättning "regler" för att identifiera data, inte ett språk som ger instruktioner till en processor.

Medlem sedan jan. 2002227 inlägg
#5

jaha så det är ingen skillnad mellan resx filerna och xml bara att resx går att kompilera om jag har fattat rätt?

Medlem sedan juli 20022 537 inlägg
#6

Har för mig att resx-filerna är resource-filer som används om man ska ha olika språk på sidan.

Medlem sedan juni 20011 732 inlägg
#7

Vi använde resx-filer som språkfiler men egentligen vet jag inte om det är så smart eftersom du måste kompilera vid varje ändring. Dessutom känns editeringen av dem rätt krånglig, editorn för resxfiler är åtminstone i vs rätt dålig.

Från dokumentationen:

The .resx resource file format consists of XML entries, which specify objects and strings inside XML tags. One advantage of a .resx file is that when opened with a text editor (such as Notepad or Microsoft Word) it can be written to, parsed, and manipulated. When viewing a .resx file, you can actually see the binary form of an embedded object (a picture for example) when this binary information is a part of the resource manifest. Apart from this binary information, a .resx file is completely readable and maintainable.

Ser dock inte vitsen riktigt, varför inte bara använda en vanlig xml så slipper man kompilera? Någon annan får gärna förklara. :)

Medlem sedan dec. 19996 522 inlägg
#8

Det verkar vara vanligt att använda resx filer till att stödja fler språk, iaf i små winforms. Om du vill ha olika texter på knappar etc.

Medlem sedan juli 20022 537 inlägg
#9

NETwork skrev:

Vi använde resx-filer som språkfiler men egentligen vet jag inte om det är så smart eftersom du måste kompilera vid varje ändring. Dessutom känns editeringen av dem rätt krånglig, editorn för resxfiler är åtminstone i vs rätt dålig.

Från dokumentationen:

The .resx resource file format consists of XML entries, which specify objects and strings inside XML tags. One advantage of a .resx file is that when opened with a text editor (such as Notepad or Microsoft Word) it can be written to, parsed, and manipulated. When viewing a .resx file, you can actually see the binary form of an embedded object (a picture for example) when this binary information is a part of the resource manifest. Apart from this binary information, a .resx file is completely readable and maintainable.

Ser dock inte vitsen riktigt, varför inte bara använda en vanlig xml så slipper man kompilera? Någon annan får gärna förklara. :)

Har inte kört med resx-filer, men skulle väl tro att det blir mer "OO" om dem kompileras eftersom det blir klasser som man kan skapa instanser av lite varstans.
Men jag håller med dig om att det nog blir smidigare med helt vanliga XML-filer :)

Medlem sedan jan. 2002227 inlägg
#10

jag försöker få igång denna script som kör resx men jag skickas bara till noresource.aspx.

 If(rm is Nothing) Then
  ' Do something sensible if resources are not available.
  Server.Transfer("noresource.aspx")
    End If

Har skapat en resource file och döpt om den till sprak.eng.resx med vs.net varför går den inte igång?

så här ser global.asax ut:

Sub Application_OnStart()
    Application("RM") = ResourceManager.CreateFileBasedResourceManager("sprak", _
              Server.MapPath("resources") _
              + Path.DirectorySeparatorChar, _
              Nothing)

End Sub

http://www.dotnetjunkies.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/localize/resources/News/news.src

Medlem sedan juli 20011 304 inlägg
#11

Har du glömt:

rm = Application("RM")

månne? :)

Medlem sedan jan. 2002227 inlägg
#12

eller nej jag får ut meddelandet sorry skrev fel på global.asax:

Could not find any resources appropriate for the specified culture (or the neutral culture) on disk. baseName: sprak locationInfo: <null> fileName: sprak.resources

Medlem sedan apr. 2004778 inlägg
#13

Då har du förmodligen gjort din .resx fil i en culture men ditt system vill ha en annan. T.ex. att default kultur på din dator är "se-SV" för Sverige men den enda .resx fil du har gjort är för "en-US".

Medlem sedan jan. 2002227 inlägg
#14

ska den heta sprak.se.resx? har sprak.resources.dll i mappen /bin/en men ingen se mapp?

Medlem sedan apr. 2004778 inlägg
#15

Kulturen har inget med filnamnet att göra.

Däremot så betyder det att eftersom filen ligger i en mappen så är den gjord på engelska. Och antagligen är din dator inställd på att använda svenska.
Tredje lösningar
1. Gör en ny .resx fil med svensk culture
2. Byt culture i din global.asax fil.
3. Testa att byta namn på en mappen till se.

Tredje alternativet är dock endast en temporär sak för att kanske se att din kod fungerar.

Medlem sedan jan. 2002227 inlägg
#16

hur gör man en ny resx fil med svensk culture?? kan bara skapa en vanlig resx med vs.net?

Medlem sedan apr. 2004778 inlägg
#17

Sätt in engelsk culture i din .aspx sida istället så kan du köra dina test.

<%@Page Culture="en-US" UICulture="en-US" Language="VB" %>
Medlem sedan jan. 2002227 inlägg
#18

Parser Error Message: There can be only one 'page' directive.

Medlem sedan juli 20022 537 inlägg
#19

Då lägger du ihop dina två Page-direktiv.

Medlem sedan jan. 2002227 inlägg
#20

har gjort allt det funkar ej!

global.asax:
Thread.CurrentThread.CurrentCulture = new CultureInfo("En-US")

default.aspx:
<%@Page Description="Localized Page" Culture="en-US" UICulture="en-US" language="VB"%>

bin/en/sprak.resources.dll

260 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
257 ms — hämta tråd, inlägg och bilagor (db)