python - Django翻译和py2exe

标签 python django translation py2exe


我刚刚使用 py2exe 将我的 Django 应用程序编译为 exe。但我不知道如何使 django 翻译 工作(我的意思是内置翻译,而不是我自己的翻译文件)。 我的设置文件中设置了 LANGUAGE_CODE,我还尝试在 py2exe 选项中导入 django.utils.translation 和 django.conf.locale.pl。我也尝试过,但我没有设法在 py2exe 安装程序中使用 data_files 从 django/conf/locale/pl 导入 LC_MESSAGE 文件。我认为 LC_MESSAGE 文件是主要问题,但我不知道如何将它们放入我的编译中。是否可以更改py2exe编译的项目语言?如何以及如何导入语言文件?我的 py2exe 安装文件类似于 http://misunderstandings.wordpress.com/2008/06/26/django-desktop-app/ .

编辑:我在此处发布代码行,我正在尝试导入翻译实用程序:

'django.utils.translation.*',
'django.conf.locale.pl.*',

我也试过:

'django.utils.translation.trans_null',
'django.utils.translation.trans_real',
'django.utils.translation.__init__',
'django.conf.locale.pl.__init__',
'django.conf.locale.pl.formats',

但正如我所说,这并不重要。在 build\bdist.win-amd64\winexe\collect-2.7\django 中,有两个文件夹 conf/locale 和 utils/translation 以及适当的文件。但当然不是 LC_MESSAGE 文件夹。我尝试使用以下方法导入它:

py2exe_data_files += add_path_tree( python_path, 'lib\site-packages\django\conf\locale\pl' )

正如我所检查的那样,它在该文件夹中找到了文件,但没有对它们执行任何操作。

我的安装文件(它很长所以我把它放在 sourcepod 上):http://www.sourcepod.com/fcmpkn17-5519

也许我忘了包括一些东西,但我不知道它会是什么..

最佳答案

终于解决了!并且以如此简单的方式..

作为https://docs.djangoproject.com/en/dev/topics/i18n/deployment/说我们可以将语言环境文件放入不同的本地化。所以我将所有语言环境文件从 django/conf 复制到我的模板文件夹。

我的 py2exe setup.py 这行用模板复制到我的编译中:

py2exe_data_files += add_path_tree( '', 'templates' )

最后要做的是在设置文件中设置语言环境路径:

LOCALE_PATHS = (
'templates/locale',
)

关于python - Django翻译和py2exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7458487/

相关文章:

python - Django exists() 与 DoesNotExist

Python:gettext 不会在 Windows 上加载翻译

python - 在Python中,有没有办法通过pr(foo)打印变量的名称(或表达式)及其值,例如 "foo is 123"?

python - 如何知道一个类的成员是否是一个方法?

python - 在 matplotlib 2.0 中,如何将颜色条行为恢复为 matplotlib 1.5 的行为?

django - 运行 django_cron 时出错

python - 在服务器运行时通过 django-admin 添加自定义权限

python - 如何在 Django 中加入惰性翻译?

linq - 创建 Linq->HQL 提供程序

python - 创建没有分区的表