【问题标题】:Adding International support in Erlang Web 1.4在 Erlang Web 1.4 中添加国际支持
【发布时间】:2010-03-22 18:15:58
【问题描述】:

我正在尝试为基于 Erlang Web 1.4 的网站添加国际支持。

我想在每个页面(臭名昭著的国家标志)上都有几个链接,允许用户设置他的语言会话变量。

我现在拥有的链接如下:

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

在哪里,我在会话控制器中做:

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

问题是,在设置首选语言后,我希望用户在更改语言之前被重定向到他正在访问的页面。在这种情况下,“__path”变量没有帮助,因为它包含语言请求,而不是“以前的”请求。

我该如何解决这种情况? 我可能使用了错误的方法,但我现在无法处理其他任何事情。

【问题讨论】:

    标签: erlang erlangweb


    【解决方案1】:

    如果请求字典真的是so limited,我能想到的唯一hack就是你将当前页面的url作为GET变量传回:

    &lt;li&gt;&lt;a href="/session/language/en?referrer=/path/to/current/page"&gt;English&lt;/a&gt;&lt;/li&gt;

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

    【讨论】:

    • 这就是我可能要做的。谢谢。
    猜你喜欢
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 2013-10-14
    相关资源
    最近更新 更多