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.
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?
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! :)
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?
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...
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
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 :\
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...
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