字共軛目前,我有一個模板文件,下面的代碼在我的Django項目:Django的國際化和gettext的
{% blocktrans with type=content.get_type %}Edit this {{ type }}{% endblocktrans %}
的{{ type }}
是可以有值,如"lecture"
和"exercise"
的字符串。下面是在.po
文件輸出:
msgid "Edit this %(type)s"
msgstr ""
這工作正常的語言,如英語不共軛的對象。對於像芬蘭語這樣的語言,這會造成問題。
在芬蘭語中,名詞「lecture」翻譯爲「luento」,在此特定情況下所需的分形形式爲「luento a」。名詞「exercise」翻譯爲「tehtävä」或「harjoitus」,其形式是「tehtävää」和「harjoitus ta」。
有沒有辦法在例如這樣的情況下爲單詞添加特定的翻譯?或者可能有一些基於條件的方式來填補msgstr
?
顯然以下是不行的,因爲單詞的變化形式在不同的字符結尾:(。這將正確導致「luentoa」,但不正確導致「tehtäväa」)
msgstr "Muokkaa tätä %(type)sa"
法語中的例子讓我相信,這是翻譯工作的正確原則。 – miikkas 2015-03-02 18:05:47