2014-01-15 43 views
2

我想知道是否有可能使用fast_gettext翻譯一個包含url鏈接的短段落。我正在使用padrino,hamlfast_gettext的組合。如何使用gettext和haml翻譯包含url鏈接的文本?

例如:

請訪問我們的網頁home

裏面的.haml文件,代碼如下:

%p 
    = _('Please visit our %{home_url} page') % {:home_url => link_to(_("home"), '/home') } 

然而,這將打印出HTML標記,輸出我得到這個樣子的

當社の <a href="/home">ホーム</a> ページをご覧ください。 

最後.po文件如下所示:

msgid "" 
"Please visit our %{home_url} page" 
msgstr "當社の %{home_url} ページをご覧ください。" 

msgid "" 
"home" 
msgstr "ホーム" 

我錯過了什麼?

回答

1

你必須把.html_safe放在函數調用的最後。 Rails 4轉義所有的HTML。

http://apidock.com/rails/String/html_safe

http://apidock.com/rails/ActionView/Helpers/OutputSafetyHelper/raw

= 'Please visit out <a href="/">home</a> page'.html_safe 
+1

我忘了跟進我自己的問題,因爲我得到了答案。這是一個正確的答案。我的解決方案是:=(_('請訪問我們的%{home_url}頁面)%{:home_url => link_to(_(「home」),'/ home')})。html_safe – carbotex