Kom ihåg mig?
Home Menu

Menu


Hantera flera språk i MVC-Ramverk(CodeIgniter)

 
Ämnesverktyg Visningsalternativ
Oläst 2011-07-06, 13:18 #1
pelmereds avatar
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2010
Inlägg: 1 342
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
pelmereds avatar
 
Reg.datum: May 2010
Inlägg: 1 342
Citat:
Ursprungligen postat av allstars Visa inlägg
Jag jobbar med ett .NET MVC 3 projekt där jag ändrar i routes att en språkvariabel alltid ska finnas i urlen (för sökoptimeringens skull). Standard sätter jag till sv.

På varje ActionResult i Controllerna lägger jag till ett attribut (LocalizationAttribute som ärver från ActionFilterAttribute) som lägger till efterfrågat språk (som kommer ifrån urlen) i en kontext.

Till sist har jag en helper som hämtar nuvarande språk från kontexten och presenterar på lite olika sätt beroende på användningsområde, som t ex hämtning från db där man filtrerar på current language.

Om jag gjort det för simpelt eller för krångligt för mig själv vet jag inte, men det fungerar bra tycker jag.
Det var något sådant jag tänkte på också.

Har du olika vyer då eller skickar du med en array från controllern med alla texter som ska användas i vyn?

abergman: Tack, men det finns massvis med likande lösningar, till exempel den inbyggda http://codeigniter.com/user_guide/li.../language.html

Problemet är ju att det i grunden blir massa språkfiler vilket kan blir lite svårhanterligt på sikt när det blir en stor sida med massa olika språk.
pelmered är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-07-14, 09:01 #2
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Det var något sådant jag tänkte på också.

Har du olika vyer då eller skickar du med en array från controllern med alla texter som ska användas i vyn?

abergman: Tack, men det finns massvis med likande lösningar, till exempel den inbyggda http://codeigniter.com/user_guide/li.../language.html

Problemet är ju att det i grunden blir massa språkfiler vilket kan blir lite svårhanterligt på sikt när det blir en stor sida med massa olika språk.
Nej samma vyer till alla språk. Jag använder resursfiler för språkversioner.
Då det plockas upp i global.asax (routingen) så sätts språket i någon context som sedan används när .net själv hämtar den resursfil till aktuellt språk.

Hellre en språkfil för varje språk (där standardspråket alltid är komplett) än att skapa olika vyer beroende på språk.
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-07-14, 20:36 #3
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Det var något sådant jag tänkte på också.

Har du olika vyer då eller skickar du med en array från controllern med alla texter som ska användas i vyn?

abergman: Tack, men det finns massvis med likande lösningar, till exempel den inbyggda http://codeigniter.com/user_guide/li.../language.html

Problemet är ju att det i grunden blir massa språkfiler vilket kan blir lite svårhanterligt på sikt när det blir en stor sida med massa olika språk.
Man vill ju ha språkfiler och inte behöva ändra i vyerna. T.ex. verkar det finns en implementering av gettext som bl.a. används av Wordpress:
http://codeigniter.com/wiki/Category...tion::Gettext/

Jag har översatt Wordpress-sidor med gettext och det har fungerat bra...
Althalos är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 04:07.

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