翻譯

2011-07-08 205 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/翻譯過程。