WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Språk? (https://www.wn.se/forum/showthread.php?t=34294)

ledstrom 2009-01-06 20:36

Hej!

Det är ingen speciell teknik mitt svar behöver utan jag är bara nyfiken på hur ni skulle lösa ett flerspråksystem på er sidor. Det är bara statiskt innehåll.

Jag hade tänkt mig någon XML historia där varje Label hämtar sin text ifrån en XML fil? Blir det för slöt?
Databas kanske? Eller ska jag lägga allt i serverns RAM? Det är juh ren HTML vi pratar om så det blir inte så många KB..? Hur hade ni gjort?

Om det spelar någon roll så är det .NET jag kör!

tozz 2009-01-06 21:42

en enkel funktion för att hämta en identifier (functionen håller själv koll på vilket som är det valda språket) ur en databas och om du vill kan du alltid bifoga en defaultsträng som fallback ifall den valda strängen inte finns.
Sparar i databasen med memcached som cachepool mellan applikation och db.

eg0master 2009-01-06 21:59

Om det är statiska sidor så kan du ju översätta hela sidorna... :P

Men annars skulle jag nog gå på labelnivå och låta varje label hämta sitt värde via en funktion. Det positiva med det ärju att du i dagsläget inte behöver bry dig om du lagrar språken i en databas eller i en XML-fil. Om du enkelt vill kunna låta andra göra fler översättningar så ärväl XML förstahandsvalet. är du orolig för prestanda och mängden fraser inte är mer än ett hundratal så skulle jag nog lägga översättningarna i en hash i samma objekt som har översättningsfunktionen.

goose 2009-01-06 22:01

http://www.codeproject.com/KB/dotnet/Localization.aspx

ledstrom 2009-01-06 23:16

Tack för svaren, det är inte tekniken att hålla reda på varifrån dom kommer eller att hämta unika värden, utan det är mer presstanda/vad-är-bra-struktur =)

Jag såg ett annat exempel på Recours Files, har haft det i tankarna, men vad är det i grund och botten? Kanske är någon form utav XML i botten som är snyggt wrappat?

Tack återigen för alla svar! ;-)

tozz 2009-01-06 23:26

Men asså, du ska ju läsa från källan varje gång cachen har expirat objektet, så om det är XML eller en databas eller något annat spelar väl inte så stor roll eftersom en expire inte ska hända speciellt ofta alls.

goose 2009-01-07 00:15

när det gäller dotnet så är det satellite assemblies som gäller då det är bra prestanda. fast om texten ska ändras så blir det bökigt. då är det nog bättre med en databaslösning.

martine 2009-01-07 11:27

XML helt klart säger jag. Kanske med XSL för att slippa bearbeta det.

XML är enklast och mest flexibelt.

Daniel.st 2009-01-07 13:32

Kika vidare på resursfiler (resx).

Lyx 2009-01-10 15:43

Citat:

Originally posted by ledstrom@Jan 6 2009, 21:36
Hej!

Det är ingen speciell teknik mitt svar behöver utan jag är bara nyfiken på hur ni skulle lösa ett flerspråksystem på er sidor. Det är bara statiskt innehåll.

Jag hade tänkt mig någon XML historia där varje Label hämtar sin text ifrån en XML fil? Blir det för slöt?
Databas kanske? Eller ska jag lägga allt i serverns RAM? Det är juh ren HTML vi pratar om så det blir inte så många KB..? Hur hade ni gjort?

Om det spelar någon roll så är det .NET jag kör!

så länge xml-filen inte är särskilt stor bör det fungera fint. Passa på att hämta så mycket text som möjligt vid varje läsning. xml är inte särskilt effektivt jämfört andra datakällor/databaser som tex en sqlserver


Alla tider är GMT +2. Klockan är nu 16:05.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson