【问题标题】:How to install a translation ".po" in django app?如何在 django 应用程序中安装翻译“.po”?
【发布时间】:2011-09-07 12:25:33
【问题描述】:

我几天前完成了为我的母语 (pt_BR) 创建 Django-LFS (Lightning Fast Shop) 的翻译文件。现在已经完成了,我需要安装在 Transifex 中完成翻译后下载的“.po”文件。

好的,我下载了文件,但现在我需要安装它,我就是不知道如何安装。我尝试将文件放在“lfs-installer”文件夹中,使用“bin/django compilemessages -a”,尝试了同样的事情,但文件位于许多不同的文件夹中,但我无法让我的 LFS 使用我的翻译文件。 ..

有人知道如何使翻译包在 lfs 上工作吗?还是我做错了什么?

谢谢

【问题讨论】:

    标签: python django internationalization translation django-lfs


    【解决方案1】:

    把你的.po文件放到路径里:

    <your_django_project>/conf/locale/pt_BR/LC_MESSAGES/
    

    然后运行 django-admin makemessages -a

    【讨论】:

    • 没用...之后我重新启动了服务器,但所有字符串仍然是英文...
    • 检查 settings.py 中的 LANGUAGE_CODE 选项不是“en-en”
    【解决方案2】:

    如果您还没有,请创建一个名为 Locale 的文件夹。然后在您的 settings.py 文件夹中,您必须告诉它在哪里可以找到语言环境路径。像这样的:

    LOCALE_PATHS{
    C:/sdalfjasd/dfalsdjkf/locale
    }
    

    还要确保您的中间件中有区域设置中间件...

    既然我为您指明了正确的方向,您可能可以有效地追踪该语法和细节。

    一旦你设置好这些东西,你可以运行你的makemessage -a 命令,它会在你的语言环境文件夹中为你输入的 -a 创建一个文件夹。然后你可以浏览到这个,里面应该有一个.po 文件(可能没有)。如果没有,只需将您制作的 .po 文件放在那里。

    然后在 CMD 中浏览到您的项目,然后运行 ​​compilemessages -a。这应该将您的 .po 文件编译为 .mo 文件,这是翻译工作所必需的文件。

    希望我没有在赛道上发疯……

    【讨论】:

      【解决方案3】:

      我使用以下设置使其工作:

      import os
      DIRNAME = os.path.dirname(__file__)
      
      USE_I18N = True
      USE_L10N = True
      
      LANGUAGE_CODE = 'pt-br'
      LANGUAGES = (
          ('pt-br', u"Português"),
      )
      
      LOCALE_PATHS = [
          DIRNAME + '/locale',
      ]
      

      在 settings.py 文件夹旁边创建一个locale 文件夹并按照 Django 官方说明进行操作。 django.po 文件的所需路径是:locale/pt_BR/LC_MESSAGES/django.po。之后,使用compilemessages工具重启服务器。

      它应该可以工作。

      提示: django-lfs 使用 locale 模块来处理货币显示,但是 locale 模块存在一个错误,使其显示 1234,00 R$ 而不是 R$ 1234,00。如果它咬你,请将以下内容放入您的settings.py:

      # Fix for LC_MONETARY bug: http://www.sourceware.org/bugzilla/show_bug.cgi?id=1294
      import locale
      locale._override_localeconv.update({'p_cs_precedes': 1, 'n_cs_precedes': 1})
      

      祝你好运。

      【讨论】:

        猜你喜欢
        • 2014-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-14
        相关资源
        最近更新 更多