Phoenix Gettext错误:**(CaseClauseError)没有case子句匹配:2

时间:2017-06-01 17:10:32

标签: elixir phoenix-framework gettext

在我的凤凰项目中,我在priv/gettext/pl/error.po文件中有以下翻译:

msgid "should be at least %{count} character(s)"
msgid_plural "should be at least %{count} character(s)"
msgstr[0] "Ma nieprawidłową długość (powinna wynośić co najmniej %{count})."
msgstr[1] "Ma nieprawidłową długość (powinna wynośić co najmniej %{count})."

现在我尝试在控制台中使用Gettext并使用以下行:

Gettext.dngettext(TattooBackend.Web.Gettext, "errors", "should be at least %{count} character(s)", "should be at least %{count} character(s)", 6)

这会返回以下错误:

** (CaseClauseError) no case clause matching: 2
    (tattoo_backend) lib/tattoo_backend/web/gettext.ex:1: TattooBackend.Web.Gettext.lngettext/6
           (gettext) lib/gettext.ex:616: Gettext.dngettext/6

1 个答案:

答案 0 :(得分:3)

我认为这是因为波兰语有3种复数形式,所以你需要三种msgstr形式。

例如:jedenstół,dwastoły,pięćstołów。