webForumDet fria alternativet

flerspråkslösning...

.NETur .NET

11 svar · 512 visningar · startad av P

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

Jo... Hur är det bäst att arbeta med flerspråkslösningar dvs att användaren kan byta mellan ett flertal språk. Direkt i koden? Nja det är ju inget vidare skalbart men en databas/xml kanske inte är så dumt.

Någon som har några erfarenheter?

Medlem sedan sep. 2001788 inlägg
#2

Jag testade med att lägga de olika språken i en översättningsfil. Men det strulade iomed att del så måste varenda ord/mening översättas men bygger man upp meningar på olika sätt i olika språk.
Kanske e om man använder mallar smart så att man har mallsidorna på olika språk?

Medlem sedan jan. 20012 204 inlägg
#3

Tänke mig kanske:
<loginname>
<sv> hej och välkommen
<eng> hello!
<fra> Bonjour madame!
</loginname>

Eller något i den stilen, har aldig jobbat i xml...

Medlem sedan juni 20011 732 inlägg
#4

Om du ska byta enstaka ord i exempelvis knappar, rubriker i datagrids osv så fungerar det mycket bra att använda de sk resursfiler (.resx, eg xml-dokument) som i vs.net automatiskt skapas för varje aspx/ascx-dokument. Detta fungerar dock mindre bra för stora textmassor då gränssnittet att skriva texterna inte är det bästa... måste dessutom kompileras om du vill göra ändringar i dem.

using System;
using System.Resources;
using System.Globalization;
using System.Threading;
using System.Reflection;

public class Language {
  private Language() {}
  public static string Text(string reference){
    ResourceManager LocRM = new ResourceManager("strings",typeof(Language).Assembly);
    Thread.CurrentThread.CurrentCulture=CultureInfo.CreateSpecificCulture(HttpContext.Current.Request.UserLanguages[0]);
    Thread.CurrentThread.CurrentUICulture=new CultureInfo(HttpContext.Current.Request.UserLanguages[0]);
			
    return LocRM.GetString(reference);
  }
}

Vad gäller större textmassor sitter jag just nu med samma problem, vet inte riktigt hur jag ska lösa det på ett bra och smidigt sätt för att slippa dubbla dokument. Alla tips mottages tacksamt! :)

Medlem sedan jan. 20012 204 inlägg
#5

Vad är det som hindrar större textmassor att placeras i ett xml dokument de också? Annars får du väl skapa en referens till en databas och hämta det därifrån. Kanske?

Medlem sedan juni 20001 257 inlägg
#6

Det har vi diskuterat tidigare. Jag rekommenderar XML-filer istället för .resx-filer eftersom resxfilerna måste kompileras om efter ändringar.
http://www.devx.com/dotnet/articles/oc022102/
http://www.webforum.nu/showthread.php?s=&threadid=46727
http://www.webforum.nu/showthread.php?s=&postid=538065#post538065

Medlem sedan juni 20011 732 inlägg
#7

P skrev:

Vad är det som hindrar större textmassor att placeras i ett xml dokument de också? Annars får du väl skapa en referens till en databas och hämta det därifrån. Kanske?

Gränssnittet att skriva i en resx-fil i vs.net är kasst om du har stora textmassor. Men man kanske inte behöver använda vs.nets gränssnitt för att skriva i dem förstås...

Ett vanligt xml-dokument kan också bli rätt rörigt, speciellt om man behöver löpande htmltaggar i texten (listor och specialtecken) tycker jag. Visst, så länge man fixar uppdateringarna själv och vet hur det ska se ut är det ju inga problem, men när man ska lämna över sidorna till en "administratör" så brukar det balla ur rätt snabbt...

Medlem sedan jan. 20012 204 inlägg
#8

Jo har du nog rätt i men en reference eller något till en databas?

Medlem sedan maj 2001329 inlägg
#9

Om du har mycket text kanske du även ska fundera på att göra separata webbar för de olika språken.

Det negativa är ju uppenbart: att man måste lägga till sidor på båda ställen och uppdatera design på frlera ställen osv. (men det är ju designarnas jobb och inte vårt :))

De positiva är förutom att vi slipper en massa extra databas jobb eller resx filerna är att all globalizering som måste ske kod mässigt kan göras separat. Dvs så att amerikanerna får sina datumsträngar på rätt format och att det blir rätt encoding. Och att de som läser upp och ner och bakofram kan göra detta.
Plus att man kan sätta servrarna fysikst närmare det land man riktar sig mot.

Kanske en lösning som passar volvo eller ikea, men kanske inte heller är så tokig för en statisk applikation med massa text

ps. för resex filerna ska det finnas något program som medföljer VS som man kan använda för att editera dessa utan att behöva kompilera om

Medlem sedan jan. 20012 204 inlägg
#10

Sen beror det väl på hur många språk man har. Sökte lite på googl och hittade en artikel då de använde mssql som databas och sen en kolumn för varje "text". Sen verkade det som om de hade över 100 språk att arbeta md också och då kanske det blir jobbigt att göra flera webbar :\

Medlem sedan juni 20001 257 inlägg
#11

NETwork skrev:

Ett vanligt xml-dokument kan också bli rätt rörigt, speciellt om man behöver löpande htmltaggar i texten (listor och specialtecken) tycker jag. Visst, så länge man fixar uppdateringarna själv och vet hur det ska se ut är det ju inga problem, men när man ska lämna över sidorna till en "administratör" så brukar det balla ur rätt snabbt...

Om man använder Susan Warrens Xml Edit Grid med instruktioner så är det inga problem. Då kan xml-dokumentet vara hur rörigt som helst.

Medlem sedan apr. 20012 266 inlägg
#12

Jag stöder även XML idé då den bör vara det lätaste sättet att göra det på. Sedan kan man då ha en fil för varje språk, vilket bör bli väldigt skalbart. Men som NETwork säger så kan det bli problem vid använding av html taggar samt andra speciall tecken, detta bör nog inte vara något större problem om man ska ha multi stöd på t.ex knappar och mindre instruktionstexter.

144 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)