1 package ch.ige.edossier.web.struts;
2
3 import java.util.Locale;
4 import javax.servlet.http.HttpServletRequest;
5 import javax.servlet.http.HttpServletResponse;
6 import org.apache.log4j.Logger;
7 import org.apache.struts.action.*;
8 import ch.ige.edossier.util.ClientLogInit;
9
10
19 public class LanguageAction extends Action
20 {
21 private static final Logger LOG = Logger.getLogger( "ch.ige.edossier.web.struts" );
23
24
27 static
28 {
29 ClientLogInit.initLogging();
30 }
31
32
41 public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse )
42 {
43 String language = httpServletRequest.getParameter( "lang" );
44 ActionForward forward = null;
45 Locale local = null;
46
47 if( language.equalsIgnoreCase( "de" ) )
48 {
49 local = new Locale( language, "" );
50 setLocale( httpServletRequest, local );
51 forward = new RedirectingActionForward();
52 forward = ( actionMapping.findForward( "forward" ) );
53 LOG.info( "Die Sprache Deutsch wurde vom Benutzer ausgewählt." );
54 }
55 else if( language.equalsIgnoreCase( "fr" ) )
56 {
57 local = new Locale( language, "" );
58 setLocale( httpServletRequest, local );
59 forward = ( actionMapping.findForward( "forward" ) );
60 LOG.info( "Die Sprache Französisch wurde vom Benutzer ausgewählt." );
61 }
62 else if( language.equalsIgnoreCase( "it" ) )
63 {
64 local = new Locale( language, "" );
65 setLocale( httpServletRequest, local );
66 forward = new RedirectingActionForward();
67 forward = ( actionMapping.findForward( "forward" ) );
68 LOG.info( "Die Sprache Italienisch wurde vom Benutzer ausgewählt." );
69 }
70 else if( language.equalsIgnoreCase( "en" ) )
71 {
72 local = new Locale( language, "" );
73 setLocale( httpServletRequest, local );
74 forward = new RedirectingActionForward();
75 forward = ( actionMapping.findForward( "forward" ) );
76 LOG.info( "Die Sprache Englisch wurde vom Benutzer ausgewählt." );
77 }
78 else
79 {
80 local = new Locale( "de", "" );
81 setLocale( httpServletRequest, local );
82 forward = new RedirectingActionForward();
83 forward = ( actionMapping.findForward( "forward" ) );
84 LOG.info( "Es wurde kein Sprachcode übergeben. Es wird die Standard-Sprache geladen." );
85 }
86 return forward;
87 }
88 }
89