2012-06-30 14 views
13

URLを含む段落をDjango 1.3アプリケーションで翻訳したいと考えています。Djangoのtransとurlタグ

<p> 
    First <a href="{% url edit-profile username=user.username %}">edit your profile</a>, please. 
</p> 

言語によっては、<a>タグで囲まれたテキストは確かに変更されます。翻訳者がリンクの配置を決定する方法を教えてください。

<p>{% trans "First <a href='{% url edit-profile username=user.username %}'>edit your profile</a>, please." %}</p> 

スローエラーがTemplateSyntaxError: Searching for value. Unexpected end of string in column 64: trans "First <a href='{% url edit-profile username=user.username次のとおりです。{% trans %}で全体の事をラップすると、エラーが発生します。

どうすればいいですか?ビュー内のURLを特定してから、そのURLを文字列としてテンプレートに渡す必要がありますか?それは、私が非常に一般的な問題だと思うことのために本当に複雑な解決策のように思えます。

答えて

37

{% blocktrans %}を使用してください。 Django translation docsは、この例のものが含まれます。

{% url path.to.view arg arg2 as the_url %} 
{% blocktrans %} 
This is a URL: {{ the_url }} 
{% endblocktrans %} 
+0

管理が困難:S – soField

+0

はまた '{the_url%として%のURL "my_url"}という名前のURL'では動作しませんが: ' 'the_url' doesnの引数の書式指定を与えます't exist in' msgstr " – Escher

+0

URL名前空間を引用するように注意してください。 'path.to.view' – Dos

関連する問題