如果我理解你的問題,你是問你是否應該在你的代碼中硬編碼一個字符串值。在編譯語言中,您經常使用對字符串的引用,而不是輸入實際的字符串。翼:
message.success(request, message_resource.success)
這使您可以自由更改字符串值,而無需重新編譯代碼,並在某些情況下提高性能。
因爲Python是動態的,這確實不是必需的,但取決於項目的大小,可能是有益的。
想象一下,人們說不同語言的人使用該軟件的情況,您可以在代碼中的其他位置檢測到所需的語言,並將message_resource.success
以及任何其他字符串初始化爲所述語言。
這裏是一個簡單的例子:
german.py
# german language messages
success = "Sie folgten!"
failure = "Sie fallen aus!"
english.py
#english language messages
success = "You succeeded!"
failure = "You fail!"
main.py
# main
# import english language
message_resource = __import__('english');
print message_resource.success
print message_resource.failure
# import german language
message_resource = __import__('german');
print message_resource.success
print message_resource.failure
「硬編碼」?有什麼選擇? I18N翻譯的消息?還是你有其他的想法? – 2010-11-24 16:52:04