我試圖使用i18n機器翻譯.py文件中的某些字符串。翻譯.pt文件不是問題,但每當我嘗試在文件系統的Python代碼中使用_('Something')進行翻譯時,它總是會提供英文文本(這是默認設置),而不是應該在那裏的挪威文本。所以我可以看到英文版python代碼的輸出,而其他頁面模板位正確翻譯。爲Plone產品翻譯文件系統中的內容
有沒有什麼類似的東西?
我試圖使用i18n機器翻譯.py文件中的某些字符串。翻譯.pt文件不是問題,但每當我嘗試在文件系統的Python代碼中使用_('Something')進行翻譯時,它總是會提供英文文本(這是默認設置),而不是應該在那裏的挪威文本。所以我可以看到英文版python代碼的輸出,而其他頁面模板位正確翻譯。爲Plone產品翻譯文件系統中的內容
有沒有什麼類似的東西?
用於域名_('Something')
與您在翻譯中使用的挪威語.po文件相同嗎?他們應該是一樣的,所以不要在一個案例中使用'plone',在另一個案例中使用'my.domain'。
此外,對下劃線函數的調用本身並不轉換字符串;它只創建一個可以翻譯的字符串。如果該字符串直接在模板中自行結束,則應該將i18n:translate=""
添加到該標記,可能帶有匹配的i18n:域。
否則,您應該手動調用translate
方法,如http://readthedocs.org/docs/collective-docs/en/latest/i18n/localization.html#manually-translated-message-ids中所述。請閱讀Plone 4 migration guide瞭解Plone 3和4之間的一些區別,這些區別可能會在這裏引起你的注意。
這工作得很好,正是我需要的幫助。儘管如此,沒有足夠的聲望來投票給你。 – user880151
請注意,_()不會在調用時翻譯文本,但會返回一個Message對象,該對象在模板中呈現時將被翻譯。
這意味着:
"text %s" % _('translation')
將不起作用,以及"text" + _('translation')
第一個超鏈接仍然有效(截至目前),但readthedocs鏈接已損壞。 – Tobias