从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
我有点困惑。该命令的文档说:“运行当前目录的整个源代码树,并取出所有标记为翻译的字符串**。” (重点是我的)。这是否意味着你必须先用'_()'自己_mark_他们?或者我错了? – 2010-08-18 09:55:15
@Manoj Govindan:是的,没错。您必须使用'_()'方法将它们标记为可用于翻译。并为模板使用'{%blocktrans%}'。 – Wolph 2010-08-18 12:40:50
@WoLpH:明白了。我相信你正在解决与OP不同的问题。 OP想要知道如何自动替换所有包含'_()'的字符串的实例。你正在建议一种方法来拉出字符串_already_用'_()'# – 2010-08-18 12:45:48