Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Flerspråksstöd

Postades av 2004-12-10 10:01:20 - Fredrik Ryde, i forum arkitektur, Tråden har 16 Kommentarer och lästs av 1758 personer

Hej!

Jag håller på med en fristående applikation som ska ha stöd för ett antal språk (svenska, engelska, norska mfl.)

Nu undrar jag vilket är bästa sättet att gå till väga. Är det XML som gäller eller finns det andra lösnignar som är bättre? Jag har letat tutorials på nätet men utan framgång.

Alla tips emottages tacksamt.

/Fredrik


Svara

Sv: Flerspråksstöd

Postades av 2004-12-10 11:12:52 - Pelle Johansson

I sektionen artiklar har jag en komplett lösning i asp.net som pellesoft använder, men det finns även sattelit assemblys som du kan använda. Net har inbyggt stöd, men jag skrev en alternativ lösning som fått både ris och ros.


Svara

Sv:Flerspråksstöd

Postades av 2004-12-10 13:23:33 - Patrik Löwendahl

Jag hade nog tittat på reursfiler.

Det som är bra med dem är att det är det standariserade sättet att få språkstöd. Beroende på, är det hela artiklar så är det ett annat scenario.


Svara

Sv:Flerspråksstöd

Postades av 2004-12-10 13:29:45 - Roger Alsing

det vore intressant med en motivering varför du gjorde en egen istället för att använda den inbyggda.
som påpekats i kommentarerna till artikeln så går det ju att ha ickeinkompilerade resxfiler.

utan att fundera så mycket på det så ser jag följade för och nackdelar:

fördelar:
* man kan kanske peta in något special special om man behöver och får då kanske lite mer kontroll

nackdelar:
* du fick skriva en egen modul = x tid = y pengar

* det är en icke 'standard' modul så det finns garanterat både mer support och folk som kan det inbyggda sättet.

* större risk för buggar , allt i .net är ju ganska vältestat så risken att det finns en bugg i din kod är ju större än att det finns en i .nets motsvarighet

* mer kod att underhålla


jag kan köpa att om motiveringen är att det var den gamla latmasken som gnagde lite och du inte ville/orkade sätta dig in i det stöd som finns i .net och ville få ut en fungerande lösning fort där du dessutom är själv om att underhålla all kod.

men att föreslå att andra ska börja använda samma modul utan motivering vad man tjänar på det som väger tyngre än de uppenbara nackdelar man får känns lite fel.


Svara

Sv: Flerspråksstöd

Postades av 2004-12-10 16:06:57 - Pelle Johansson

Den främsta anledningen är just språkhanteringen. Tänk dig att du skickar en xml-fil till en översättare och säger, översätt allt detta till finska, och en annan till franska. Jag tycker filen är lätt och översiktlig att arbeta med helt enkelt, det är ju en smaksak.

Jag säger inte på något sätt att man skall använda denna variant framför någon annan. I "vår" värld finns alla möjligheter till att ta olika vägar, detta tyckte jag var en bra lösning för pellesoft - så enkelt är det.

När det gäller tid och pengar så snackar vi två timmar i detta fall. Hoppas det räcker som svar på din fråga.


Svara

Sv:Flerspråksstöd

Postades av 2004-12-10 17:06:04 - Per Karlsson

En sak som kan vara bra att tänka på är att skapa en "proxy-komponent" som ligger mellan applikationen och språkfilerna. På detta sätt blir det lätt att ändra lagringssätt. Själv har jag använt databasen för att lagra texter, vilket har fungerat, men jag ser inget direkt som skulle vara sämre med någon av ovannämnda lösningar.


Svara

Sv: Flerspråksstöd

Postades av 2004-12-10 17:27:03 - Andreas Håkansson

Det brukar kallas för en Provider... en proxy är en annan sak =)


Svara

Sv:Flerspråksstöd

Postades av 2004-12-10 23:21:21 - Fredrik Normén

Andreas:

Proxy är en klass som representerar en annan klass ;)

Pelle:

.resx filer är i XML format ;)

/Fredrik Normén NSQUARED2
http://fredrik.nsquared2.com


Svara

Sv: Flerspråksstöd

Postades av 2004-12-10 23:40:23 - Andreas Håkansson

Fredrik,

Det vet du att jag vet =)


Svara

Sv:Flerspråksstöd

Postades av 2004-12-10 23:51:09 - Fredrik Normén

Andreas,

Klart jag vet ;) Men Per pratar antagligen om att använda Proxy pattern för att skapa en proxy klass som i sin tur använder en klass för att ersätter hämtning av resurser(?), fast jag skulle nog använt mig av en Adapter eftersom jag skulle nog förenkla interfacet mot ResourceManager, eftersom jag skulle bara använt mig av ResourceManager ;)

En provider för mig är mer en Plugin [Fowler] men vem säger att jag har rätt, ett tag där fick du mig att tro något helt annat ;)

/Fredrik Normén NSQUARED2
http://fredrik.nsquared2.com


Svara

Sv: Flerspråksstöd

Postades av 2004-12-11 00:06:52 - Andreas Håkansson

Fredrik,

Lite svårt att se hur en proxy skulle kunna vara användbart mot ResourceManagern, eftersp, em årpxy agerar som det objekt man slutgiltigen arbetar på men kan (i princip alltid annars finns det ingen vits med en proxy) innehålla helt annan logik (nu vet jag att du vet detta, men för fram lite information till diskussionen för de som inte hänger med).

Adapter eller Provider .. Jag skulle nog faktiskt också kunna tänka mig att kalla det för en Adapter - eller rättare sagt det borde jag ha gjort. Provider är en lite lösare term som kan ha flera betydelser, iaf för mig =)


Svara

Sv:Flerspråksstöd

Postades av 2004-12-11 10:38:36 - Johan Normén

För att förtydliga det hela lite.

Proxy fungerar som en vägvisare mellan olika klasser baserat på nått specifikt.
Den ser till så att den ger oss det objekt för en viss funktion vi eftersöker... (alla proxyns objekt Baserat på samma interface.)

Provider, om vi pratar MS Provider Pattern? Är mer eller mindre gjort för att ha transparanta utbytbara dynamiska objekt. Meningne är ju att objekten skall aggera providers "den som tillhandahåller saker och ting" åt andra objekt. Vilket kan nyttkas i en proxy utan problem.

Ang ResourceManager så skulle en Proxy kunna styras genom att den kör ett objekt där funktionaliteten man söker finns. En klass som går under Proxyn kan hämta resurser via resourcefilerna en annan via de embedade resurserna och en tredje mot nått annat. Som användare av huvudklass vet vi inte vart proxyn hämtar sin data eller vilka objekt den nyttjar, detta behöver vi heller inte veta.
En proxy kan byggas på många olika sätt.

huduklass ---> Proxy -----> klass1 --> datakälla1
-----> klass2 --> datakälla2
-----> kalss3 --> datakälla3

En proxy struntar alltaså i vilket objekt den kommer att köra bara vi får den info vi vill ha.

Adapter (GOF) är även en Wrapper, typ en klass som nyttjar ResourceManager rakt av fast lite förenklade interface (eller samma)

Language ---> ResourceManager

Adapter (Evans)
En klass som omvandlar datakällans data till ett format man kan läsa.

AnropsKälla1 Adatper1
AnropsKälla2 ---> Service --> Adatper2 ---> Source
AnropsKälla3 Adapter3

För mig är en adapter något som i princip har en liten trasformations uppgift.
Kan vara en sak som konverterar ett interface för en klass till ett interface för en annan klass som den förstår. (Wrapper klass)
Dock är det en liten skillnad på GOF Adapter pattern (som även kan ses som en wrapper) jämför med den Evans pratar om i sina böcker. Där är en Adapter typ samma sak som en Adapter i ASP .Net 2.0, något som har i uppgift att mer eller mindre transformerar datan till ett output användaren kan nyttja.

Provider (MS)
Kan användas i både Proxy, Adapter (Evans) för att hämta in de olika objekten,
som används. Ex Proxyns klasser, Adaptrarena (Evans). Den nyttjar Latebinding mot en
configurationsfil.

Plugin (Fowler)
Kan ses som samma som MS Provider. Länkar ihop klasser via configurationer.
Kan oxå andändas för Proxy, Adapter (Evans).

Ni visste säkert detta, men ville vara liteförtydligande över vad de gör o lite hur de kan användas för dem som inte hängt med.

Mvh Johan


Svara

Sv:Flerspråksstöd

Postades av 2004-12-11 11:56:05 - Fredrik Normén

Andreas:

>Lite svårt att se hur en proxy skulle kunna vara användbart mot ResourceManagern

Skrev lite fel, Per går ju mot databas ;)

Men som du säger så är interfacet för en Proxy per definition hårt kopplat till det objekt den ska vara en proxy för.

Övrigt:

Istället för Proxy pattern, för att uppnå det Per vill, så skulle jag använt mig av Startegy pattern (ev tillsammans med Depedency Injection) eller använt Plugin [Fowler].

/Fredrik Normén Nsquared2
http://fredrik.squared2.com


Svara

Sv: Flerspråksstöd

Postades av 2004-12-11 15:49:06 - Per Karlsson

Jösses vilka diskussioner man kan råka ge upphov till... Bra förklarat, Johan.

Det viktiga här är inte begreppet utan budskapet (som egentligen är en självklarhet).

Det jag menade var helt enkelt en komponent (en dll) som utgör gränssnittet för att jobba med texterna (CRUD). Har man en egen komponent för detta så uppnår man fördelarna att det är lätt att ändra lagringssätt och att hanteringen kan återanvändas i andra applikationer och verktyg för översättare.

Vilket pattern är rätt att använda?

/Pelle


Svara

Sv:Flerspråksstöd

Postades av 2004-12-11 17:06:54 - Fredrik Normén

Per:

För det du förklrar, så är det Adapter pattern. Jag skulle rekommendera Strategy eller Plugin [Fowler], för då har du möjligheter att skapa en klass per datakälla som du enklet kan byta ut utan att förändra något i din kod. Med tex Strategy kan du uppnå Open/Close Principal (OCP) och med hjälp av Dependency Injection skulle du kunna enklet byta ut din klass som går mot en datakällan mot en klass som går mot en annan datakälla, utan att kompilera om koden (Du kan tex speca dina injection i XML med tex Spring.Net ramverket).

Med Plugin (vilket även skulle kunna kallas för provider). Kan du oxå byta ut en plugin/provider (En plugin/provider går mot sin egna datakälla). Ett exempel på när Plugin används är .Net 2.0s nya provider baserade lösningar.

Plugin [Fowler]
http://www.martinfowler.com/eaaCatalog/plugin.html

Strategy [GoF]
http://www.dofactory.com/Patterns/PatternStrategy.aspx

Proxy [GoF]
http://www.dofactory.com/Patterns/PatternProxy.aspx

/Fredrik Normén NSQUARED2
http://fredrik.nsquared2.com


Svara

Sv: Flerspråksstöd

Postades av 2004-12-12 15:48:05 - Roland Bengtsson

Jag har kikat lite på det inbyggda med XML-filer.

Vore roligt om nån förklarade lite konkret hur det funkar.
När jag valde svenska på en Form så skapades dessa filer:

MainForm.resx
MainForm.sv.resx
MainForm.sv-SE.resx

Vad har dom för uppgift?
Jag kan inte hitta mina svenska ord i nån av dom om jag laddar in dom i en editor.
Sen är det svårt att testa om det verkligen blir på svenska också eftersom jag har Windows XP på engelska då det är lättare att få support och leta hjälp då.


Svara

Sv:Flerspråksstöd

Postades av 2004-12-30 10:26:25 - Johan Normén

Har du fått svar på allt här?

Kan jag eller du stänga tråden?

Mvh Johan


Svara

Nyligen

  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 880
27 965
271 776
671
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies