We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Pluralization using Gettext in Elixir.
jrowah
Created
I was previously using this to pluralise,
<%= if @items == 1,
do: "#{@items} item",
else: "#{@items} items" %>
# Output
#0 items
#1 item
#2 items
You can cleanly and more efficiently achieve this by using Gettext.ngettext which removes the if else blocks.
<%= ngettext("1 item", "#{count} items", @items) %>
#Trying it on iex
iex> Gettext.ngettext(MyAppWeb.Gettext, "1 item", "%{count} items", 0)
# "0 items"
iex(11)> Gettext.ngettext(MyAppWeb.Gettext, "1 item", "%{count} items", 1)
# "1 item"
iex(12)> Gettext.ngettext(MyAppWeb.Gettext, "1 item", "%{count} items", 10)
# "10 items"
Copy link
copied to clipboard