2010-03-22 2 views
3

J'essaie d'ajouter un support international pour un site web basé sur le Web 1.4 d'Erlang.Ajout du support international dans Erlang Web 1.4

Je voudrais avoir un couple de liens sur chaque page (les drapeaux de pays notoires) qui permettent à l'utilisateur de définir sa variable de session de langue.

Ce que j'ai maintenant est un lien comme:

<li><a href="/session/language/en">English</a></li> 

Où, dans le contrôleur de session que je fais:

language(Args) -> 
    LanguageId = proplists:get_value(id, Args), 
    case language_is_supported(LanguageId) of 
     false -> 
      ok; 
     true -> 
      wpart:fset("session:lang", LanguageId) 
    end, 
    {redirect, "/"}. 

Le problème est que, après avoir réglé la langue préférée, je voudrais comme l'utilisateur à être redirigé vers la page qu'il visitait avant de changer la langue. Dans ce cas, la variable "__path" n'aide pas car elle contient la requête de langage et non la requête "précédente".

Comment pourrais-je résoudre cette situation? J'utilise probablement la mauvaise approche mais je ne peux rien faire d'autre pour l'instant.

Répondre

2

Si le dictionnaire de la demande est vraiment so limited, le seul pirater je peux penser est que vous passez l'URL de la page en cours de retour en tant que variable GET:

<li><a href="/session/language/en?referrer=/path/to/current/page">English</a></li>

+0

Et voici ce Je vais probablement faire. Merci. –