2011-03-23 42 views
0

我需要在Django上做一个支持多语言支持的应用程序,但是我无法弄清楚这样做的最佳方法。Django多语言表,如何?

用一个简单的表格开始像这样的:

class Genders(models.Model): 
    n_gender = models.CharField(max_length=60) 

我需要有对性别(男,女)的翻译。我应该做这个任务的方法是什么?

有一些应用程序,我可以看到Django专业人员如何做到这一点?

给我一些线索。

最好的问候,

回答

2
from django.utils.translation import ugettext as _ 

GENDERS = (('male', _('MALE')), ('female', _('FEMALE'))) 

class Genders(models.Model): 
    n_gender = models.CharField(max_length= 60, choices= GENDERS) 

然后在po文件翻译它们(见如何Django文档) http://docs.djangoproject.com/en/1.3/topics/i18n/localization/

+0

嗨,感谢您的回复。我需要他们在数据库中,因为我会有一些需要“n_gender”中的“id”的表。换句话说,我将使用“性别”的“ID”来建立相关表格。有没有一种方法做到没有数据库表?最好的问候, – 2011-03-23 14:24:50

+0

忽略那部分,我认为在一开始的意图是保持翻译在数据库中:)无论如何,答案仍然可以满足您的需求。 – 2011-03-23 14:43:23

2
+0

感谢您的答复。我会尝试Pinax。 – 2011-03-23 15:33:59

+0

嘿突变体 - 你是对的!已经过了一年多了,FOSS项目也发生了变化。没有人会监视他们发布的每一个链接作为参考。下一次,只需查看新链接并将其发布在评论中即可。 https://github.com/pinax/pinax/blob/0.7.X/pinax/templates/default/account/email.html – RyanBrady 2012-11-14 17:16:00