我嘗試將OSQA(django + python)本地化爲俄語。我可以用locale-folder翻譯很多字符串。但是在OSQA中,一些字符串是硬編碼的(用簡單的文本代碼)。如何用python中的俄文文本替換英文硬編碼的字符串?
我嘗試簡單地將英文文本替換爲俄文,但出現錯誤。
例如:
class WordpressAuthContext(ConsumerTemplateContext):
mode = 'SMALLICON'
type = 'SIMPLE_FORM'
simple_form_context = {
'your_what': 'Wordpress blog name'
}
weight = 270
human_name = 'Wordpress'
icon = '/media/images/openid/wordpress.png'
在這段代碼我需要在俄羅斯的文本替換「WordPress的博客名稱」。
我嘗試用unicode \uXXXX
字符替換英文字符,但在網頁上我會在原始視圖\uXXXX
中看到這些字符。
那我試試這個代碼:
'your_what': 'Wordpress blog name'.encode('utf-8')
而且這工作太。
我該怎麼辦?
只需在代碼的第二部分發表評論: 您無法對str進行編碼,因爲它已經是編碼數據。當你有一個unicode對象並且想將它存儲在一個文件(.html這裏)時,你必須選擇表示每個字符的方式:utf-8,iso-8859-1,latin-1,已經選擇了哪一個,你必須通過調用encode('utf-8')'來編碼unicode對象。在這個例子中,你展示了一個'str'對象,而不是一個unicode。 然後使用decode('utf-8')再次從str移動到unicode。 – AlbertFerras