从Django应用程序获取所有字符串的列表

问题描述:

Eclipse有一个名为Externalise所有字符串的函数,它将所有字符串移动到属性文件。从Django应用程序获取所有字符串的列表

Django/Python有没有这样的解决方案?

基本上我有意见/模型/模板数量大的项目,并通过所有的人都去,并把

字符串 - > _(“串”)等是一个很大的痛苦,所以是有一种自动化的方法?

它在Django中自动化并且已经很长时间了。但文档有点难以找到;)

您可以使用makemessages管理命令,或者如果您运行的是早期版本django运行django/bin/make-messages.py

链接到文档:http://docs.djangoproject.com/en/dev/ref/django-admin/#makemessages

例子:

django-admin.py makemessages --locale=en 
+0

我有点困惑。该命令的文档说:“运行当前目录的整个源代码树,并取出所有标记为翻译的字符串**。” (重点是我的)。这是否意味着你必须先用'_()'自己_mark_他们?或者我错了? – 2010-08-18 09:55:15

+0

@Manoj Govindan:是的,没错。您必须使用'_()'方法将它们标记为可用于翻译。并为模板使用'{%blocktrans%}'。 – Wolph 2010-08-18 12:40:50

+0

@WoLpH:明白了。我相信你正在解决与OP不同的问题。 OP想要知道如何自动替换所有包含'_()'的字符串的实例。你正在建议一种方法来拉出字符串_already_用'_()'# – 2010-08-18 12:45:48