【问题标题】:Translate string with python babel doesn't work用 python babel 翻译字符串不起作用
【发布时间】:2019-06-10 14:25:45
【问题描述】:

我有这条蟒蛇线

raise ValueError(_(u'Your password must be {} of characters or longer.'.format(MIN_PASSWORD_LENGTH)))

我将它添加到 PO 文件中:

msgid "Your password must be {} of characters or longer."
msgstr "Votre mot de passe doit être {} de caractères ou plus."

我编译了它,但它没有翻译它。

除此之外的所有其他翻译均可在本网站上使用。

我在这里错过了什么?

【问题讨论】:

    标签: python internationalization python-babel


    【解决方案1】:

    在.po 文件中,您需要保持%s 格式。

    像这样:

    msgid "Your password must be %s characters or longer."
    msgstr "Votre mot de passe doit être %s caractères ou plus."
    

    或者使用 python-brace-format

    #: foo/bar.py:32 
    #, python-brace-format
    msgid "Your password must be {n} characters or longer."
    msgstr "Votre mot de passe doit être {n} caractères ou plus."
    

    【讨论】:

      【解决方案2】:
      raise ValueError("Your password must be " +str(MIN_PASSWORD_LENGTH)+" of characters or longer")
      
      
      raise ValueError(u'Your password must be {} of characters or longer.'.format(MIN_PASSWORD_LENGTH))
      

      我刚刚删除了一个_,因为我认为不需要它。

      【讨论】:

      • 在你的回答中至少用一些词来解释问题是什么以及你做了什么
      • 无论你做了什么,都写在答案里。否则,读者将不得不逐字比较代码
      • @JainilPatel 更改为引发 ValueError(u'Your password must be {} of characters or longer.'.format(MIN_PASSWORD_LENGTH)) 仍然不起作用。
      • @JainilPatel 如果我更改为您的第一个提案,我应该在 po 文件中写什么? "raise ValueError("你的密码必须是 "+str(MIN_PASSWORD_LENGTH)+" 个字符或更长")"
      • @JainilPatel po 是翻译文件,请参阅docs.ckan.org/en/2.8/extensions/translating-extensions.html。我的问题是关于翻译的,我用英文显示没有问题
      猜你喜欢
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-18
      相关资源
      最近更新 更多