2010-08-05 29 views
4

我在我的應用程序在一些地方作爲常規情況下,在某些地方爲上時,顯示的特定字符串:不區分大小寫的翻譯

{% trans item.name %} 
{% trans item.name.upper %} 

我指定使用的.po /的.mo文件翻譯:

msgid "Welcome" 
msgstr "歓迎" 

翻譯似乎區分大小寫。 'Welcome'被翻譯成'歓迎',但'WELCOME'沒有翻譯。有沒有一種簡單的方法可以讓它翻譯爲不區分大小寫?它似乎比提供兩次這些翻譯更清潔。

+0

你不應該從任何一種默認語言翻譯。你應該有所有可能的短語存儲在資源文件或類似的東西。 http://en.wikipedia.org/wiki/Internationalization_and_localization – 2010-08-05 01:56:28

+1

這是Django的標準技術。使用英文字符串作爲翻譯的關鍵有什麼問題? – 2010-08-05 02:15:54

回答

3

做到這一點的唯一「簡單」方法是始終使用大寫或小寫字符串並翻譯它們。但據我所知,Django或Gettext都不支持不區分大小寫。

你應該問自己的問題是......它是否正確?我的意思是,在某些語言中,一個單詞的含義可能會隨着大小寫而改變。所以我想知道是否自動添加大寫翻譯可能是更好的解決方案。這樣,如果需要某種特定語言,您可以至少改變它們。

+3

波蘭與波蘭例如:) – 2010-08-05 01:49:34

+0

偉大的例子gnibbler,我正在努力想一個。 – Wolph 2010-08-05 01:56:10

+0

這絕對是一個有效的觀點,在大多數情況下似乎是最好的答案。但是,我翻譯的大部分數據實際上被認爲是不區分大小寫的,並且在系統內部以其他方式對待,因此我從未想過影響意義的情況的可能性。儘管如此,看起來像你說的那樣做會更好,並且在未來情況發生變化時添加大寫翻譯。 – cloudshao 2010-08-09 03:18:40