翻译

2011-07-08 162 views
1

我使用以下blocktrans使用blocktrans:翻译

{% blocktrans with item|gender_text as gendertext %} 
    This is {{gendertext}} item 
{% endblocktrans %} 

在我的.po文件我有

msgid "This is %(gendertext)s item" 
msgstr "Some translation ... %(gendertext)s" 

除英语以外的任何语言,我不喜欢用gendertext变量。所以,我希望有

msgstr "Some translation ..." 

然而,当我脱下从%(gendertext)smsgstr,django_admin长啸(编译消息时):

'msgstr' is not a valid Python format string, unlike 'msgid'. Reason: The string ends in the middle of a directive. 
msgfmt: found 1 fatal error 

任何变通办法这种情况?

梅厄

+0

把条件放在你的模板中对你不好? – sahid

回答

1

如果我明白你的问题很好,Django是正确的,得到错误beacsue,你的钥匙应该为所有languages.For例如在那里,有没有这样的情况:在英语我有钥匙gendertext但在土耳其,我不需要那把钥匙。

一个简单的解决方案是将这个关键字保留在两种语言中,但如果您不想渲染则保留它为空。

除了你的问题,我强烈建议你使用rosetta应用程序,http://code.google.com/p/django-rosetta/翻译过程。