Compare commits

...

12 Commits
0.8.4 ... 0.8.6

59 changed files with 1217 additions and 885 deletions

View File

@ -1,3 +1,18 @@
# v0.8.6
- Fix duplicate entries showing up
- Show ammo packs under a type in a table by default
- Only show historical ammo type information when displaying "Show used" in table
- Only show historical ammo pack information when displaying "Show used" in table
- Fix some values not being sorted in tables properly
- Code quality improvements
- Show link to ammo pack in ammo pack table while viewing ammo type
# v0.8.5
- Add link in readme to github mirror
- Fix tables unable to sort on empty dates
- Only show historical ammo type information when displaying "Show used"
- Fix even more accessibility issues
# v0.8.4 # v0.8.4
- Improve accessibility - Improve accessibility
- Code quality improvements - Code quality improvements

View File

@ -92,6 +92,15 @@ Cannery is licensed under AGPLv3 or later. A copy of the latest version of the
license can be found at license can be found at
[LICENSE.md](https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/LICENSE.md). [LICENSE.md](https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/LICENSE.md).
# Links
- [Gitea](https://gitea.bubbletea.dev/shibao/cannery): Main repo, feature
requests and bug reports
- [Github](https://github.com/shibaobun/cannery): Source code mirror, please
don't open pull requests to this repository
- [Weblate](https://weblate.bubbletea.dev/engage/cannery): Contribute to
translations!
--- ---
[![Build [![Build

View File

@ -60,7 +60,8 @@ defmodule Cannery.ActivityLog do
sg.search, sg.search,
^trimmed_search ^trimmed_search
) )
} },
distinct: sg.id
) )
end end

View File

@ -715,6 +715,7 @@ defmodule Cannery.Ammo do
on: c.user_id == t.user_id, on: c.user_id == t.user_id,
as: :t, as: :t,
where: ag.user_id == ^user_id, where: ag.user_id == ^user_id,
distinct: ag.id,
preload: ^@ammo_group_preloads preload: ^@ammo_group_preloads
) )
|> list_ammo_groups_include_empty(include_empty) |> list_ammo_groups_include_empty(include_empty)
@ -842,12 +843,39 @@ defmodule Cannery.Ammo do
""" """
@spec get_percentage_remaining(AmmoGroup.t(), User.t()) :: non_neg_integer() @spec get_percentage_remaining(AmmoGroup.t(), User.t()) :: non_neg_integer()
def get_percentage_remaining(%AmmoGroup{count: 0, user_id: user_id}, %User{id: user_id}) do def get_percentage_remaining(%AmmoGroup{id: ammo_group_id} = ammo_group, user) do
0 [ammo_group]
|> get_percentages_remaining(user)
|> Map.fetch!(ammo_group_id)
end end
def get_percentage_remaining(%AmmoGroup{count: count} = ammo_group, current_user) do @doc """
round(count / get_original_count(ammo_group, current_user) * 100) Calculates the percentages remaining of multiple ammo groups out of 100
## Examples
iex> get_percentages_remaining(
...> [%AmmoGroup{id: 123, count: 5, user_id: 456}],
...> %User{id: 456}
...> )
%{123 => 100}
"""
@spec get_percentages_remaining([AmmoGroup.t()], User.t()) ::
%{optional(AmmoGroup.id()) => non_neg_integer()}
def get_percentages_remaining(ammo_groups, %User{id: user_id} = user) do
original_counts = get_original_counts(ammo_groups, user)
ammo_groups
|> Map.new(fn %AmmoGroup{id: ammo_group_id, count: count, user_id: ^user_id} ->
percentage =
case count do
0 -> 0
count -> round(count / Map.fetch!(original_counts, ammo_group_id) * 100)
end
{ammo_group_id, percentage}
end)
end end
@doc """ @doc """

View File

@ -0,0 +1,12 @@
defmodule Cannery.ComparableDate do
@moduledoc """
A custom `Date` module that provides a `compare/2` function that is comparable
with nil values
"""
@spec compare(Date.t() | any(), Date.t() | any()) :: :lt | :gt | :eq
def compare(%Date{} = date_1, %Date{} = date_2), do: Date.compare(date_1, date_2)
def compare(%Date{}, _date_2), do: :lt
def compare(_date_1, %Date{}), do: :gt
def compare(_date_1, _date_2), do: :eq
end

View File

@ -0,0 +1,15 @@
defmodule Cannery.ComparableDateTime do
@moduledoc """
A custom `DateTime` module that provides a `compare/2` function that is
comparable with nil values
"""
@spec compare(DateTime.t() | any(), DateTime.t() | any()) :: :lt | :gt | :eq
def compare(%DateTime{} = datetime_1, %DateTime{} = datetime_2) do
DateTime.compare(datetime_1, datetime_2)
end
def compare(%DateTime{}, _datetime_2), do: :lt
def compare(_datetime_1, %DateTime{}), do: :gt
def compare(_datetime_1, _datetime_2), do: :eq
end

View File

@ -32,6 +32,7 @@ defmodule Cannery.Containers do
as: :t, as: :t,
where: c.user_id == ^user_id, where: c.user_id == ^user_id,
order_by: c.name, order_by: c.name,
distinct: c.id,
preload: ^@container_preloads preload: ^@container_preloads
) )
|> list_containers_search(search) |> list_containers_search(search)
@ -91,7 +92,7 @@ defmodule Cannery.Containers do
@doc """ @doc """
Gets a single container. Gets a single container.
Raises `Ecto.NoResultsError` if the Container does not exist. Raises `KeyError` if the Container does not exist.
## Examples ## Examples
@ -99,18 +100,37 @@ defmodule Cannery.Containers do
%Container{} %Container{}
iex> get_container!(456, %User{id: 123}) iex> get_container!(456, %User{id: 123})
** (Ecto.NoResultsError) ** (KeyError)
""" """
@spec get_container!(Container.id(), User.t()) :: Container.t() @spec get_container!(Container.id(), User.t()) :: Container.t()
def get_container!(id, %User{id: user_id}) do def get_container!(id, user) do
Repo.one!( [id]
|> get_containers(user)
|> Map.fetch!(id)
end
@doc """
Gets multiple containers.
## Examples
iex> get_containers([123], %User{id: 123})
%{123 => %Container{}}
"""
@spec get_containers([Container.id()], User.t()) :: %{optional(Container.id()) => Container.t()}
def get_containers(ids, %User{id: user_id}) do
Repo.all(
from c in Container, from c in Container,
where: c.user_id == ^user_id, where: c.user_id == ^user_id,
where: c.id == ^id, where: c.id in ^ids,
order_by: c.name, order_by: c.name,
preload: ^@container_preloads preload: ^@container_preloads,
select: {c.id, c}
) )
|> Map.new()
end end
@doc """ @doc """

View File

@ -3,7 +3,8 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
A component that displays a list of ammo groups A component that displays a list of ammo groups
""" """
use CanneryWeb, :live_component use CanneryWeb, :live_component
alias Cannery.{Accounts.User, ActivityLog, Ammo, Ammo.AmmoGroup, Containers} alias Cannery.{Accounts.User, Ammo.AmmoGroup, ComparableDate}
alias Cannery.{ActivityLog, Ammo, Containers}
alias Ecto.UUID alias Ecto.UUID
alias Phoenix.LiveView.{Rendered, Socket} alias Phoenix.LiveView.{Rendered, Socket}
@ -13,6 +14,7 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
required(:id) => UUID.t(), required(:id) => UUID.t(),
required(:current_user) => User.t(), required(:current_user) => User.t(),
required(:ammo_groups) => [AmmoGroup.t()], required(:ammo_groups) => [AmmoGroup.t()],
required(:show_used) => boolean(),
optional(:ammo_type) => Rendered.t(), optional(:ammo_type) => Rendered.t(),
optional(:range) => Rendered.t(), optional(:range) => Rendered.t(),
optional(:container) => Rendered.t(), optional(:container) => Rendered.t(),
@ -21,7 +23,11 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
}, },
Socket.t() Socket.t()
) :: {:ok, Socket.t()} ) :: {:ok, Socket.t()}
def update(%{id: _id, ammo_groups: _ammo_group, current_user: _current_user} = assigns, socket) do def update(
%{id: _id, ammo_groups: _ammo_group, current_user: _current_user, show_used: _show_used} =
assigns,
socket
) do
socket = socket =
socket socket
|> assign(assigns) |> assign(assigns)
@ -42,7 +48,8 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
ammo_type: ammo_type, ammo_type: ammo_type,
range: range, range: range,
container: container, container: container,
actions: actions actions: actions,
show_used: show_used
} }
} = socket } = socket
) do ) do
@ -50,12 +57,12 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
if actions == [] do if actions == [] do
[] []
else else
[%{label: nil, key: :actions, sortable: false}] [%{label: gettext("Actions"), key: :actions, sortable: false}]
end end
columns = [ columns = [
%{label: gettext("Purchased on"), key: :purchased_on, type: Date}, %{label: gettext("Purchased on"), key: :purchased_on, type: ComparableDate},
%{label: gettext("Last used on"), key: :used_up_on, type: Date} | columns %{label: gettext("Last used on"), key: :used_up_on, type: ComparableDate} | columns
] ]
columns = columns =
@ -73,12 +80,24 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
end end
columns = [ columns = [
%{label: gettext("Count"), key: :count},
%{label: gettext("Original Count"), key: :original_count},
%{label: gettext("Price paid"), key: :price_paid}, %{label: gettext("Price paid"), key: :price_paid},
%{label: gettext("CPR"), key: :cpr}, %{label: gettext("CPR"), key: :cpr}
%{label: gettext("% left"), key: :remaining}, | columns
%{label: gettext("Notes"), key: :notes} ]
columns =
if show_used do
[
%{label: gettext("Original Count"), key: :original_count},
%{label: gettext("% left"), key: :remaining}
| columns
]
else
columns
end
columns = [
%{label: if(show_used, do: gettext("Current Count"), else: gettext("Count")), key: :count}
| columns | columns
] ]
@ -89,14 +108,21 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
[%{label: gettext("Ammo type"), key: :ammo_type} | columns] [%{label: gettext("Ammo type"), key: :ammo_type} | columns]
end end
containers =
ammo_groups
|> Enum.map(fn %{container_id: container_id} -> container_id end)
|> Containers.get_containers(current_user)
extra_data = %{ extra_data = %{
current_user: current_user, current_user: current_user,
ammo_type: ammo_type, ammo_type: ammo_type,
columns: columns, columns: columns,
container: container, container: container,
containers: containers,
original_counts: Ammo.get_original_counts(ammo_groups, current_user), original_counts: Ammo.get_original_counts(ammo_groups, current_user),
cprs: Ammo.get_cprs(ammo_groups, current_user), cprs: Ammo.get_cprs(ammo_groups, current_user),
last_used_dates: ActivityLog.get_last_used_dates(ammo_groups, current_user), last_used_dates: ActivityLog.get_last_used_dates(ammo_groups, current_user),
percentages_remaining: Ammo.get_percentages_remaining(ammo_groups, current_user),
actions: actions, actions: actions,
range: range range: range
} }
@ -147,10 +173,11 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
"""} """}
end end
defp get_value_for_key(:price_paid, %{price_paid: nil}, _additional_data), do: {"", nil} defp get_value_for_key(:price_paid, %{price_paid: nil}, _additional_data),
do: {0, gettext("No cost information")}
defp get_value_for_key(:price_paid, %{price_paid: price_paid}, _additional_data), defp get_value_for_key(:price_paid, %{price_paid: price_paid}, _additional_data),
do: gettext("$%{amount}", amount: display_currency(price_paid)) do: {price_paid, gettext("$%{amount}", amount: display_currency(price_paid))}
defp get_value_for_key(:purchased_on, %{purchased_on: purchased_on} = assigns, _additional_data) do defp get_value_for_key(:purchased_on, %{purchased_on: purchased_on} = assigns, _additional_data) do
{purchased_on, {purchased_on,
@ -182,11 +209,14 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
"""} """}
end end
defp get_value_for_key(:remaining, ammo_group, %{current_user: current_user}), defp get_value_for_key(
do: :remaining,
gettext("%{percentage}%", %{id: ammo_group_id},
percentage: ammo_group |> Ammo.get_percentage_remaining(current_user) %{percentages_remaining: percentages_remaining}
) ) do
percentage = Map.fetch!(percentages_remaining, ammo_group_id)
{percentage, gettext("%{percentage}%", percentage: percentage)}
end
defp get_value_for_key(:actions, ammo_group, %{actions: actions}) do defp get_value_for_key(:actions, ammo_group, %{actions: actions}) do
assigns = %{actions: actions, ammo_group: ammo_group} assigns = %{actions: actions, ammo_group: ammo_group}
@ -201,12 +231,13 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
defp get_value_for_key( defp get_value_for_key(
:container, :container,
%{container_id: container_id} = ammo_group, %{container_id: container_id} = ammo_group,
%{container: container, current_user: current_user} %{container: container_block, containers: containers}
) do ) do
container = %{name: container_name} = Map.fetch!(containers, container_id)
assigns = %{ assigns = %{
container: container: container,
%{name: container_name} = container_id |> Containers.get_container!(current_user), container_block: container_block,
container_block: container,
ammo_group: ammo_group ammo_group: ammo_group
} }
@ -216,21 +247,24 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
"""} """}
end end
defp get_value_for_key(:original_count, %{id: ammo_group_id}, %{ defp get_value_for_key(
original_counts: original_counts :original_count,
}) do %{id: ammo_group_id},
%{original_counts: original_counts}
) do
Map.fetch!(original_counts, ammo_group_id) Map.fetch!(original_counts, ammo_group_id)
end end
defp get_value_for_key(:cpr, %{price_paid: nil}, _additional_data), defp get_value_for_key(:cpr, %{price_paid: nil}, _additional_data),
do: gettext("No cost information") do: {0, gettext("No cost information")}
defp get_value_for_key(:cpr, %{id: ammo_group_id}, %{cprs: cprs}) do defp get_value_for_key(:cpr, %{id: ammo_group_id}, %{cprs: cprs}) do
gettext("$%{amount}", amount: display_currency(Map.fetch!(cprs, ammo_group_id))) amount = Map.fetch!(cprs, ammo_group_id)
{amount, gettext("$%{amount}", amount: display_currency(amount))}
end end
defp get_value_for_key(:count, %{count: count}, _additional_data), defp get_value_for_key(:count, %{count: count}, _additional_data),
do: if(count == 0, do: gettext("Empty"), else: count) do: if(count == 0, do: {0, gettext("Empty")}, else: count)
defp get_value_for_key(key, ammo_group, _additional_data), do: ammo_group |> Map.get(key) defp get_value_for_key(key, ammo_group, _additional_data), do: ammo_group |> Map.get(key)

View File

@ -103,13 +103,13 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do
[ [
%{ %{
label: gettext("Used packs"), label: gettext("Used packs"),
key: :used_packs_count, key: :used_pack_count,
type: :used_packs_count type: :used_pack_count
}, },
%{ %{
label: gettext("Total ever packs"), label: gettext("Total ever packs"),
key: :historical_packs_count, key: :historical_pack_count,
type: :historical_packs_count type: :historical_pack_count
} }
] ]
else else
@ -118,27 +118,25 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do
) )
|> Kernel.++([ |> Kernel.++([
%{label: gettext("Average CPR"), key: :avg_price_paid, type: :avg_price_paid}, %{label: gettext("Average CPR"), key: :avg_price_paid, type: :avg_price_paid},
%{label: nil, key: "actions", type: :actions, sortable: false} %{label: gettext("Actions"), key: "actions", type: :actions, sortable: false}
]) ])
round_counts = ammo_types |> Ammo.get_round_count_for_ammo_types(current_user) round_counts = ammo_types |> Ammo.get_round_count_for_ammo_types(current_user)
used_counts =
show_used && ammo_types |> ActivityLog.get_used_count_for_ammo_types(current_user)
historical_round_counts =
show_used && ammo_types |> Ammo.get_historical_count_for_ammo_types(current_user)
packs_count = ammo_types |> Ammo.get_ammo_groups_count_for_types(current_user) packs_count = ammo_types |> Ammo.get_ammo_groups_count_for_types(current_user)
historical_packs_count =
show_used && ammo_types |> Ammo.get_ammo_groups_count_for_types(current_user, true)
used_packs_count =
show_used && ammo_types |> Ammo.get_used_ammo_groups_count_for_types(current_user)
average_costs = ammo_types |> Ammo.get_average_cost_for_ammo_types(current_user) average_costs = ammo_types |> Ammo.get_average_cost_for_ammo_types(current_user)
[used_counts, historical_round_counts, historical_pack_counts, used_pack_counts] =
if show_used do
[
ammo_types |> ActivityLog.get_used_count_for_ammo_types(current_user),
ammo_types |> Ammo.get_historical_count_for_ammo_types(current_user),
ammo_types |> Ammo.get_ammo_groups_count_for_types(current_user, true),
ammo_types |> Ammo.get_used_ammo_groups_count_for_types(current_user)
]
else
[nil, nil, nil, nil]
end
extra_data = %{ extra_data = %{
actions: actions, actions: actions,
current_user: current_user, current_user: current_user,
@ -146,8 +144,8 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do
round_counts: round_counts, round_counts: round_counts,
historical_round_counts: historical_round_counts, historical_round_counts: historical_round_counts,
packs_count: packs_count, packs_count: packs_count,
used_packs_count: used_packs_count, used_pack_counts: used_pack_counts,
historical_packs_count: historical_packs_count, historical_pack_counts: historical_pack_counts,
average_costs: average_costs average_costs: average_costs
} }
@ -185,54 +183,68 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do
do: ammo_type |> Map.get(key) |> humanize() do: ammo_type |> Map.get(key) |> humanize()
defp get_ammo_type_value(:round_count, _key, %{id: ammo_type_id}, %{round_counts: round_counts}), defp get_ammo_type_value(:round_count, _key, %{id: ammo_type_id}, %{round_counts: round_counts}),
do: Map.get(round_counts, ammo_type_id) do: Map.get(round_counts, ammo_type_id, 0)
defp get_ammo_type_value( defp get_ammo_type_value(
:historical_round_count, :historical_round_count,
_key, _key,
%{id: ammo_type_id}, %{id: ammo_type_id},
%{historical_round_counts: historical_round_counts} %{historical_round_counts: historical_round_counts}
), ) do
do: Map.get(historical_round_counts, ammo_type_id) Map.get(historical_round_counts, ammo_type_id, 0)
end
defp get_ammo_type_value(:used_round_count, _key, %{id: ammo_type_id}, %{
used_counts: used_counts
}),
do: Map.get(used_counts, ammo_type_id)
defp get_ammo_type_value( defp get_ammo_type_value(
:historical_packs_count, :used_round_count,
_key, _key,
%{id: ammo_type_id}, %{id: ammo_type_id},
%{historical_packs_count: historical_packs_count} %{used_counts: used_counts}
), ) do
do: Map.get(historical_packs_count, ammo_type_id) Map.get(used_counts, ammo_type_id, 0)
end
defp get_ammo_type_value(:used_packs_count, _key, %{id: ammo_type_id}, %{ defp get_ammo_type_value(
used_packs_count: used_packs_count :historical_pack_count,
}), _key,
do: Map.get(used_packs_count, ammo_type_id) %{id: ammo_type_id},
%{historical_pack_counts: historical_pack_counts}
) do
Map.get(historical_pack_counts, ammo_type_id, 0)
end
defp get_ammo_type_value(
:used_pack_count,
_key,
%{id: ammo_type_id},
%{used_pack_counts: used_pack_counts}
) do
Map.get(used_pack_counts, ammo_type_id, 0)
end
defp get_ammo_type_value(:ammo_count, _key, %{id: ammo_type_id}, %{packs_count: packs_count}), defp get_ammo_type_value(:ammo_count, _key, %{id: ammo_type_id}, %{packs_count: packs_count}),
do: Map.get(packs_count, ammo_type_id) do: Map.get(packs_count, ammo_type_id)
defp get_ammo_type_value(:avg_price_paid, _key, %{id: ammo_type_id}, %{ defp get_ammo_type_value(
average_costs: average_costs :avg_price_paid,
}) do _key,
%{id: ammo_type_id},
%{average_costs: average_costs}
) do
case Map.get(average_costs, ammo_type_id) do case Map.get(average_costs, ammo_type_id) do
nil -> gettext("No cost information") nil -> {0, gettext("No cost information")}
count -> gettext("$%{amount}", amount: display_currency(count)) count -> {count, gettext("$%{amount}", amount: display_currency(count))}
end end
end end
defp get_ammo_type_value(:name, _key, ammo_type, _other_data) do defp get_ammo_type_value(:name, _key, %{name: ammo_type_name} = ammo_type, _other_data) do
assigns = %{ammo_type: ammo_type} assigns = %{ammo_type: ammo_type}
{ammo_type_name,
~H""" ~H"""
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_type)} class="link"> <.link navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_type)} class="link">
<%= @ammo_type.name %> <%= @ammo_type.name %>
</.link> </.link>
""" """}
end end
defp get_ammo_type_value(:actions, _key, ammo_type, %{actions: actions}) do defp get_ammo_type_value(:actions, _key, ammo_type, %{actions: actions}) do

View File

@ -64,7 +64,7 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
%{label: gettext("Packs"), key: :packs, type: :integer}, %{label: gettext("Packs"), key: :packs, type: :integer},
%{label: gettext("Rounds"), key: :rounds, type: :integer}, %{label: gettext("Rounds"), key: :rounds, type: :integer},
%{label: gettext("Tags"), key: :tags, type: :tags}, %{label: gettext("Tags"), key: :tags, type: :tags},
%{label: nil, key: :actions, sortable: false, type: :actions} %{label: gettext("Actions"), key: :actions, sortable: false, type: :actions}
]) ])
extra_data = %{ extra_data = %{

View File

@ -6,7 +6,7 @@ defmodule CanneryWeb.CoreComponents do
import CanneryWeb.{Gettext, ViewHelpers} import CanneryWeb.{Gettext, ViewHelpers}
alias Cannery.{Accounts, Accounts.Invite, Accounts.User} alias Cannery.{Accounts, Accounts.Invite, Accounts.User}
alias Cannery.{Ammo, Ammo.AmmoGroup} alias Cannery.{Ammo, Ammo.AmmoGroup}
alias Cannery.{Containers, Containers.Container, Containers.Tag} alias Cannery.{Containers.Container, Containers.Tag}
alias CanneryWeb.{Endpoint, HomeLive} alias CanneryWeb.{Endpoint, HomeLive}
alias CanneryWeb.Router.Helpers, as: Routes alias CanneryWeb.Router.Helpers, as: Routes
alias Phoenix.LiveView.{JS, Rendered} alias Phoenix.LiveView.{JS, Rendered}
@ -91,7 +91,7 @@ defmodule CanneryWeb.CoreComponents do
attr :original_count, :integer, default: nil attr :original_count, :integer, default: nil
attr :cpr, :integer, default: nil attr :cpr, :integer, default: nil
attr :last_used_date, Date, default: nil attr :last_used_date, Date, default: nil
attr :show_container, :boolean, default: false attr :container, Container, default: nil
slot(:inner_block) slot(:inner_block)
def ammo_group_card(assigns) def ammo_group_card(assigns)

View File

@ -17,7 +17,10 @@
<%= if @ammo_group.count == 0, do: gettext("Empty"), else: @ammo_group.count %> <%= if @ammo_group.count == 0, do: gettext("Empty"), else: @ammo_group.count %>
</span> </span>
<span :if={@original_count != @ammo_group.count} class="rounded-lg title text-lg"> <span
:if={@original_count && @original_count != @ammo_group.count}
class="rounded-lg title text-lg"
>
<%= gettext("Original Count:") %> <%= gettext("Original Count:") %>
<%= @original_count %> <%= @original_count %>
</span> </span>
@ -27,7 +30,7 @@
<%= @ammo_group.notes %> <%= @ammo_group.notes %>
</span> </span>
<span class="rounded-lg title text-lg"> <span :if={@ammo_group.purchased_on} class="rounded-lg title text-lg">
<%= gettext("Purchased on:") %> <%= gettext("Purchased on:") %>
<.date id={"#{@ammo_group.id}-purchased-on"} date={@ammo_group.purchased_on} /> <.date id={"#{@ammo_group.id}-purchased-on"} date={@ammo_group.purchased_on} />
</span> </span>
@ -47,17 +50,11 @@
<%= gettext("$%{amount}", amount: display_currency(@cpr)) %> <%= gettext("$%{amount}", amount: display_currency(@cpr)) %>
</span> </span>
<span <span :if={@container} class="rounded-lg title text-lg">
:if={@show_container && Containers.get_container!(@ammo_group.container_id, @current_user)}
class="rounded-lg title text-lg"
>
<%= gettext("Container:") %> <%= gettext("Container:") %>
<.link <.link navigate={Routes.container_show_path(Endpoint, :show, @container)} class="link">
navigate={Routes.container_show_path(Endpoint, :show, @ammo_group.container_id)} <%= @container.name %>
class="link"
>
<%= Containers.get_container!(@ammo_group.container_id, @current_user).name %>
</.link> </.link>
</span> </span>
</div> </div>

View File

@ -1,4 +1,4 @@
<nav role="navigation" class="mb-8 px-8 py-4 w-full bg-primary-400"> <nav role="navigation" class="mb-8 px-8 py-4 w-full bg-primary-500">
<div class="flex flex-col sm:flex-row justify-between items-center"> <div class="flex flex-col sm:flex-row justify-between items-center">
<div class="mb-4 sm:mb-0 sm:mr-8 flex flex-row justify-start items-center space-x-2"> <div class="mb-4 sm:mb-0 sm:mr-8 flex flex-row justify-start items-center space-x-2">
<.link <.link
@ -87,6 +87,7 @@
href={Routes.user_session_path(Endpoint, :delete)} href={Routes.user_session_path(Endpoint, :delete)}
method="delete" method="delete"
data-confirm={dgettext("prompts", "Are you sure you want to log out?")} data-confirm={dgettext("prompts", "Are you sure you want to log out?")}
aria-label={gettext("Log out")}
> >
<i class="fas fa-sign-out-alt"></i> <i class="fas fa-sign-out-alt"></i>
</.link> </.link>
@ -101,6 +102,7 @@
<.link <.link
navigate={Routes.live_dashboard_path(Endpoint, :home)} navigate={Routes.live_dashboard_path(Endpoint, :home)}
class="text-white hover:underline" class="text-white hover:underline"
aria-label={gettext("Live Dashboard")}
> >
<i class="fas fa-gauge"></i> <i class="fas fa-gauge"></i>
</.link> </.link>

View File

@ -67,7 +67,7 @@ defmodule CanneryWeb.Components.MoveAmmoGroupComponent do
%{label: gettext("Container"), key: :name}, %{label: gettext("Container"), key: :name},
%{label: gettext("Type"), key: :type}, %{label: gettext("Type"), key: :type},
%{label: gettext("Location"), key: :location}, %{label: gettext("Location"), key: :location},
%{label: nil, key: :actions, sortable: false} %{label: gettext("Actions"), key: :actions, sortable: false}
] ]
rows = containers |> get_rows_for_containers(assigns, columns) rows = containers |> get_rows_for_containers(assigns, columns)

View File

@ -3,7 +3,7 @@ defmodule CanneryWeb.Components.ShotGroupTableComponent do
A component that displays a list of shot groups A component that displays a list of shot groups
""" """
use CanneryWeb, :live_component use CanneryWeb, :live_component
alias Cannery.{Accounts.User, ActivityLog.ShotGroup, Ammo} alias Cannery.{Accounts.User, ActivityLog.ShotGroup, Ammo, ComparableDate}
alias Ecto.UUID alias Ecto.UUID
alias Phoenix.LiveView.{Rendered, Socket} alias Phoenix.LiveView.{Rendered, Socket}
@ -41,8 +41,8 @@ defmodule CanneryWeb.Components.ShotGroupTableComponent do
%{label: gettext("Ammo"), key: :name}, %{label: gettext("Ammo"), key: :name},
%{label: gettext("Rounds shot"), key: :count}, %{label: gettext("Rounds shot"), key: :count},
%{label: gettext("Notes"), key: :notes}, %{label: gettext("Notes"), key: :notes},
%{label: gettext("Date"), key: :date, type: Date}, %{label: gettext("Date"), key: :date, type: ComparableDate},
%{label: nil, key: :actions, sortable: false} %{label: gettext("Actions"), key: :actions, sortable: false}
] ]
ammo_groups = ammo_groups =

View File

@ -32,18 +32,17 @@ defmodule CanneryWeb.ExportController do
used_counts = ammo_groups |> ActivityLog.get_used_counts(current_user) used_counts = ammo_groups |> ActivityLog.get_used_counts(current_user)
original_counts = ammo_groups |> Ammo.get_original_counts(current_user) original_counts = ammo_groups |> Ammo.get_original_counts(current_user)
cprs = ammo_groups |> Ammo.get_cprs(current_user) cprs = ammo_groups |> Ammo.get_cprs(current_user)
percentages_remaining = ammo_groups |> Ammo.get_percentages_remaining(current_user)
ammo_groups = ammo_groups =
ammo_groups ammo_groups
|> Enum.map(fn %{id: ammo_group_id} = ammo_group -> |> Enum.map(fn %{id: ammo_group_id} = ammo_group ->
percentage_remaining = ammo_group |> Ammo.get_percentage_remaining(current_user)
ammo_group ammo_group
|> Jason.encode!() |> Jason.encode!()
|> Jason.decode!() |> Jason.decode!()
|> Map.merge(%{ |> Map.merge(%{
"used_count" => Map.get(used_counts, ammo_group_id), "used_count" => Map.get(used_counts, ammo_group_id),
"percentage_remaining" => percentage_remaining, "percentage_remaining" => Map.fetch!(percentages_remaining, ammo_group_id),
"original_count" => Map.get(original_counts, ammo_group_id), "original_count" => Map.get(original_counts, ammo_group_id),
"cpr" => Map.get(cprs, ammo_group_id) "cpr" => Map.get(cprs, ammo_group_id)
}) })

View File

@ -54,6 +54,7 @@
<%= text_input(f, :search_term, <%= text_input(f, :search_term,
class: "input input-primary", class: "input input-primary",
value: @search, value: @search,
role: "search",
phx_debounce: 300, phx_debounce: 300,
placeholder: gettext("Search ammo") placeholder: gettext("Search ammo")
) %> ) %>
@ -77,6 +78,7 @@
id="ammo-group-index-table" id="ammo-group-index-table"
ammo_groups={@ammo_groups} ammo_groups={@ammo_groups}
current_user={@current_user} current_user={@current_user}
show_used={@show_used}
> >
<:ammo_type :let={%{name: ammo_type_name} = ammo_type}> <:ammo_type :let={%{name: ammo_type_name} = ammo_type}>
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="link"> <.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="link">

View File

@ -6,7 +6,7 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
use CanneryWeb, :live_view use CanneryWeb, :live_view
alias Cannery.{ActivityLog, ActivityLog.ShotGroup} alias Cannery.{ActivityLog, ActivityLog.ShotGroup}
alias Cannery.{Ammo, Ammo.AmmoGroup} alias Cannery.{Ammo, Ammo.AmmoGroup}
alias Cannery.Containers alias Cannery.{ComparableDate, Containers}
alias CanneryWeb.Endpoint alias CanneryWeb.Endpoint
alias Phoenix.LiveView.Socket alias Phoenix.LiveView.Socket
@ -90,8 +90,8 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
columns = [ columns = [
%{label: gettext("Rounds shot"), key: :count}, %{label: gettext("Rounds shot"), key: :count},
%{label: gettext("Notes"), key: :notes}, %{label: gettext("Notes"), key: :notes},
%{label: gettext("Date"), key: :date, type: Date}, %{label: gettext("Date"), key: :date, type: ComparableDate},
%{label: nil, key: :actions, sortable: false} %{label: gettext("Actions"), key: :actions, sortable: false}
] ]
shot_groups = ActivityLog.list_shot_groups_for_ammo_group(ammo_group, current_user) shot_groups = ActivityLog.list_shot_groups_for_ammo_group(ammo_group, current_user)

View File

@ -29,6 +29,7 @@
<%= text_input(f, :search_term, <%= text_input(f, :search_term,
class: "input input-primary", class: "input input-primary",
value: @search, value: @search,
role: "search",
phx_debounce: 300, phx_debounce: 300,
placeholder: gettext("Search catalog") placeholder: gettext("Search catalog")
) %> ) %>

View File

@ -4,7 +4,7 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
""" """
use CanneryWeb, :live_view use CanneryWeb, :live_view
alias Cannery.{ActivityLog, Ammo, Ammo.AmmoType} alias Cannery.{ActivityLog, Ammo, Ammo.AmmoType, Containers}
alias CanneryWeb.Endpoint alias CanneryWeb.Endpoint
@fields_list [ @fields_list [
@ -30,17 +30,12 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
] ]
@impl true @impl true
def mount(_params, _session, %{assigns: %{live_action: live_action}} = socket), def mount(_params, _session, socket),
do: {:ok, socket |> assign(show_used: false, view_table: live_action == :table)} do: {:ok, socket |> assign(show_used: false, view_table: true)}
@impl true @impl true
def handle_params(%{"id" => id}, _params, %{assigns: %{live_action: live_action}} = socket) do def handle_params(%{"id" => id}, _params, socket) do
socket = {:noreply, socket |> display_ammo_type(id)}
socket
|> assign(view_table: live_action == :table)
|> display_ammo_type(id)
{:noreply, socket}
end end
@impl true @impl true
@ -61,23 +56,14 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
{:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_type()} {:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_type()}
end end
def handle_event( def handle_event("toggle_table", _params, %{assigns: %{view_table: view_table}} = socket) do
"toggle_table", {:noreply, socket |> assign(:view_table, !view_table)}
_params,
%{assigns: %{view_table: view_table, ammo_type: ammo_type}} = socket
) do
new_path =
if view_table,
do: Routes.ammo_type_show_path(Endpoint, :show, ammo_type),
else: Routes.ammo_type_show_path(Endpoint, :table, ammo_type)
{:noreply, socket |> push_patch(to: new_path)}
end end
defp display_ammo_type( defp display_ammo_type(
%{assigns: %{live_action: live_action, current_user: current_user, show_used: show_used}} = %{assigns: %{live_action: live_action, current_user: current_user, show_used: show_used}} =
socket, socket,
%AmmoType{} = ammo_type %AmmoType{name: ammo_type_name} = ammo_type
) do ) do
fields_to_display = fields_to_display =
@fields_list @fields_list
@ -92,25 +78,52 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
end) end)
ammo_groups = ammo_type |> Ammo.list_ammo_groups_for_type(current_user, show_used) ammo_groups = ammo_type |> Ammo.list_ammo_groups_for_type(current_user, show_used)
original_counts = ammo_groups |> Ammo.get_original_counts(current_user)
cprs = ammo_groups |> Ammo.get_cprs(current_user) [
historical_packs_count = ammo_type |> Ammo.get_ammo_groups_count_for_type(current_user, true) original_counts,
last_used_dates = ammo_groups |> ActivityLog.get_last_used_dates(current_user) used_packs_count,
historical_packs_count,
used_rounds,
historical_round_count
] =
if show_used do
[
ammo_groups |> Ammo.get_original_counts(current_user),
ammo_type |> Ammo.get_used_ammo_groups_count_for_type(current_user),
ammo_type |> Ammo.get_ammo_groups_count_for_type(current_user, true),
ammo_type |> ActivityLog.get_used_count_for_ammo_type(current_user),
ammo_type |> Ammo.get_historical_count_for_ammo_type(current_user)
]
else
[nil, nil, nil, nil, nil]
end
page_title =
case live_action do
:show -> ammo_type_name
:edit -> gettext("Edit %{ammo_type_name}", ammo_type_name: ammo_type_name)
end
containers =
ammo_groups
|> Enum.map(fn %{container_id: container_id} -> container_id end)
|> Containers.get_containers(current_user)
socket socket
|> assign( |> assign(
page_title: page_title(live_action, ammo_type), page_title: page_title,
ammo_type: ammo_type, ammo_type: ammo_type,
ammo_groups: ammo_groups, ammo_groups: ammo_groups,
original_counts: original_counts, containers: containers,
cprs: cprs, cprs: ammo_groups |> Ammo.get_cprs(current_user),
last_used_dates: last_used_dates, last_used_dates: ammo_groups |> ActivityLog.get_last_used_dates(current_user),
avg_cost_per_round: ammo_type |> Ammo.get_average_cost_for_ammo_type(current_user), avg_cost_per_round: ammo_type |> Ammo.get_average_cost_for_ammo_type(current_user),
rounds: ammo_type |> Ammo.get_round_count_for_ammo_type(current_user), rounds: ammo_type |> Ammo.get_round_count_for_ammo_type(current_user),
used_rounds: ammo_type |> ActivityLog.get_used_count_for_ammo_type(current_user), original_counts: original_counts,
historical_round_count: ammo_type |> Ammo.get_historical_count_for_ammo_type(current_user), used_rounds: used_rounds,
historical_round_count: historical_round_count,
packs_count: ammo_type |> Ammo.get_ammo_groups_count_for_type(current_user), packs_count: ammo_type |> Ammo.get_ammo_groups_count_for_type(current_user),
used_packs_count: ammo_type |> Ammo.get_used_ammo_groups_count_for_type(current_user), used_packs_count: used_packs_count,
historical_packs_count: historical_packs_count, historical_packs_count: historical_packs_count,
fields_list: @fields_list, fields_list: @fields_list,
fields_to_display: fields_to_display fields_to_display: fields_to_display
@ -127,10 +140,4 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
@spec display_currency(float()) :: String.t() @spec display_currency(float()) :: String.t()
defp display_currency(float), do: :erlang.float_to_binary(float, decimals: 2) defp display_currency(float), do: :erlang.float_to_binary(float, decimals: 2)
defp page_title(action, %{name: ammo_type_name}) when action in [:show, :table],
do: ammo_type_name
defp page_title(:edit, %{name: ammo_type_name}),
do: gettext("Edit %{ammo_type_name}", ammo_type_name: ammo_type_name)
end end

View File

@ -74,6 +74,7 @@
<%= @rounds %> <%= @rounds %>
</span> </span>
<%= if @show_used do %>
<h3 class="title text-lg"> <h3 class="title text-lg">
<%= gettext("Used rounds:") %> <%= gettext("Used rounds:") %>
</h3> </h3>
@ -89,11 +90,8 @@
<span class="text-primary-600"> <span class="text-primary-600">
<%= @historical_round_count %> <%= @historical_round_count %>
</span> </span>
</div> <% end %>
<hr class="hr" />
<div class="grid sm:grid-cols-2 gap-4 text-center justify-center items-center">
<h3 class="title text-lg"> <h3 class="title text-lg">
<%= gettext("Packs:") %> <%= gettext("Packs:") %>
</h3> </h3>
@ -102,6 +100,7 @@
<%= @packs_count %> <%= @packs_count %>
</span> </span>
<%= if @show_used do %>
<h3 class="title text-lg"> <h3 class="title text-lg">
<%= gettext("Used packs:") %> <%= gettext("Used packs:") %>
</h3> </h3>
@ -117,11 +116,8 @@
<span class="text-primary-600"> <span class="text-primary-600">
<%= @historical_packs_count %> <%= @historical_packs_count %>
</span> </span>
</div> <% end %>
<hr class="hr" />
<div class="grid sm:grid-cols-2 gap-4 text-center justify-center items-center">
<h3 class="title text-lg"> <h3 class="title text-lg">
<%= gettext("Added on:") %> <%= gettext("Added on:") %>
</h3> </h3>
@ -174,6 +170,7 @@
id="ammo-type-show-table" id="ammo-type-show-table"
ammo_groups={@ammo_groups} ammo_groups={@ammo_groups}
current_user={@current_user} current_user={@current_user}
show_used={@show_used}
> >
<:container :let={{_ammo_group, %{name: container_name} = container}}> <:container :let={{_ammo_group, %{name: container_name} = container}}>
<.link <.link
@ -183,17 +180,32 @@
<%= container_name %> <%= container_name %>
</.link> </.link>
</:container> </:container>
<:actions :let={%{count: ammo_group_count} = ammo_group}>
<div class="py-2 px-4 h-full space-x-4 flex justify-center items-center">
<.link
navigate={Routes.ammo_group_show_path(Endpoint, :show, ammo_group)}
class="text-primary-600 link"
aria-label={
dgettext("actions", "View ammo group of %{ammo_group_count} bullets",
ammo_group_count: ammo_group_count
)
}
>
<i class="fa-fw fa-lg fas fa-eye"></i>
</.link>
</div>
</:actions>
</.live_component> </.live_component>
<% else %> <% else %>
<div class="flex flex-wrap justify-center items-stretch"> <div class="flex flex-wrap justify-center items-stretch">
<.ammo_group_card <.ammo_group_card
:for={%{id: ammo_group_id} = ammo_group <- @ammo_groups} :for={%{id: ammo_group_id, container_id: container_id} = ammo_group <- @ammo_groups}
ammo_group={ammo_group} ammo_group={ammo_group}
original_count={Map.fetch!(@original_counts, ammo_group_id)} original_count={@original_counts && Map.fetch!(@original_counts, ammo_group_id)}
cpr={Map.get(@cprs, ammo_group_id)} cpr={Map.get(@cprs, ammo_group_id)}
last_used_date={Map.get(@last_used_dates, ammo_group_id)} last_used_date={Map.get(@last_used_dates, ammo_group_id)}
current_user={@current_user} current_user={@current_user}
show_container={true} container={Map.fetch!(@containers, container_id)}
/> />
</div> </div>
<% end %> <% end %>

View File

@ -29,6 +29,7 @@
<%= text_input(f, :search_term, <%= text_input(f, :search_term,
class: "input input-primary", class: "input input-primary",
value: @search, value: @search,
role: "search",
phx_debounce: 300, phx_debounce: 300,
placeholder: gettext("Search containers") placeholder: gettext("Search containers")
) %> ) %>

View File

@ -104,7 +104,7 @@ defmodule CanneryWeb.ContainerLive.Show do
page_title = page_title =
case live_action do case live_action do
action when action in [:show, :table] -> container_name :show -> container_name
:edit -> gettext("Edit %{name}", name: container_name) :edit -> gettext("Edit %{name}", name: container_name)
:edit_tags -> gettext("Edit %{name} tags", name: container_name) :edit_tags -> gettext("Edit %{name} tags", name: container_name)
end end

View File

@ -118,6 +118,7 @@
id="ammo-type-show-table" id="ammo-type-show-table"
ammo_groups={@ammo_groups} ammo_groups={@ammo_groups}
current_user={@current_user} current_user={@current_user}
show_used={@show_used}
> >
<:ammo_type :let={%{name: ammo_type_name} = ammo_type}> <:ammo_type :let={%{name: ammo_type_name} = ammo_type}>
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="link"> <.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="link">

View File

@ -6,21 +6,11 @@ defmodule CanneryWeb.InviteLive.Index do
use CanneryWeb, :live_view use CanneryWeb, :live_view
alias Cannery.Accounts alias Cannery.Accounts
alias Cannery.Accounts.{Invite, Invites} alias Cannery.Accounts.{Invite, Invites}
alias CanneryWeb.HomeLive
alias Phoenix.LiveView.JS alias Phoenix.LiveView.JS
@impl true @impl true
def mount(_params, _session, %{assigns: %{current_user: current_user}} = socket) do def mount(_params, _session, socket) do
socket = {:ok, socket |> display_invites()}
if current_user |> Map.get(:role) == :admin do
socket |> display_invites()
else
prompt = dgettext("errors", "You are not authorized to view this page")
return_to = Routes.live_path(Endpoint, HomeLive)
socket |> put_flash(:error, prompt) |> push_redirect(to: return_to)
end
{:ok, socket}
end end
@impl true @impl true

View File

@ -86,6 +86,7 @@
<%= text_input(f, :search_term, <%= text_input(f, :search_term,
class: "input input-primary", class: "input input-primary",
value: @search, value: @search,
role: "search",
phx_debounce: 300, phx_debounce: 300,
placeholder: gettext("Search shot records") placeholder: gettext("Search shot records")
) %> ) %>

View File

@ -32,6 +32,7 @@
<%= text_input(f, :search_term, <%= text_input(f, :search_term,
class: "input input-primary", class: "input input-primary",
value: @search, value: @search,
role: "search",
phx_debounce: 300, phx_debounce: 300,
placeholder: gettext("Search tags") placeholder: gettext("Search tags")
) %> ) %>

View File

@ -77,7 +77,6 @@ defmodule CanneryWeb.Router do
live "/type/:id", AmmoTypeLive.Show, :show live "/type/:id", AmmoTypeLive.Show, :show
live "/type/:id/edit", AmmoTypeLive.Show, :edit live "/type/:id/edit", AmmoTypeLive.Show, :edit
live "/type/:id/table", AmmoTypeLive.Show, :table
live "/containers", ContainerLive.Index, :index live "/containers", ContainerLive.Index, :index
live "/containers/new", ContainerLive.Index, :new live "/containers/new", ContainerLive.Index, :new

View File

@ -107,9 +107,9 @@
action={Routes.user_settings_path(@conn, :update)} action={Routes.user_settings_path(@conn, :update)}
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center" class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
> >
<h3 class="title text-primary-600 text-lg text-center col-span-3"> <%= label(f, :locale, dgettext("actions", "Change Language"),
<%= dgettext("actions", "Change Language") %> class: "title text-primary-600 text-lg text-center col-span-3"
</h3> ) %>
<div <div
:if={@locale_changeset.action && not @locale_changeset.valid?()} :if={@locale_changeset.action && not @locale_changeset.valid?()}

View File

@ -4,7 +4,7 @@ defmodule Cannery.MixProject do
def project do def project do
[ [
app: :cannery, app: :cannery,
version: "0.8.4", version: "0.8.6",
elixir: "1.14.1", elixir: "1.14.1",
elixirc_paths: elixirc_paths(Mix.env()), elixirc_paths: elixirc_paths(Mix.env()),
compilers: Mix.compilers(), compilers: Mix.compilers(),

View File

@ -66,7 +66,7 @@ msgstr ""
msgid "Invite someone new!" msgid "Invite someone new!"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:122 #: lib/cannery_web/components/core_components/topbar.html.heex:124
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32 #: lib/cannery_web/templates/user_confirmation/new.html.heex:32
#: lib/cannery_web/templates/user_registration/new.html.heex:44 #: lib/cannery_web/templates/user_registration/new.html.heex:44
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45 #: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
@ -97,7 +97,7 @@ msgstr ""
msgid "New Tag" msgid "New Tag"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:114 #: lib/cannery_web/components/core_components/topbar.html.heex:116
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29 #: lib/cannery_web/templates/user_confirmation/new.html.heex:29
#: lib/cannery_web/templates/user_registration/new.html.heex:3 #: lib/cannery_web/templates/user_registration/new.html.heex:3
#: lib/cannery_web/templates/user_registration/new.html.heex:37 #: lib/cannery_web/templates/user_registration/new.html.heex:37
@ -156,7 +156,7 @@ msgstr ""
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103 #: lib/cannery_web/live/ammo_group_live/index.html.heex:105
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103 #: lib/cannery_web/live/ammo_group_live/show.html.heex:103
#: lib/cannery_web/live/range_live/index.html.heex:45 #: lib/cannery_web/live/range_live/index.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -188,7 +188,7 @@ msgstr ""
msgid "Create" msgid "Create"
msgstr "" msgstr ""
#: lib/cannery_web/templates/user_settings/edit.html.heex:111 #: lib/cannery_web/templates/user_settings/edit.html.heex:110
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change Language" msgid "Change Language"
msgstr "" msgstr ""
@ -209,7 +209,7 @@ msgid "add an ammo type first"
msgstr "" msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:80 #: lib/cannery_web/components/move_ammo_group_component.ex:80
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120 #: lib/cannery_web/live/ammo_group_live/index.html.heex:122
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96 #: lib/cannery_web/live/ammo_group_live/show.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
@ -237,13 +237,13 @@ msgstr ""
msgid "Export Data as JSON" msgid "Export Data as JSON"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84 #: lib/cannery_web/live/ammo_type_live/index.html.heex:85
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{ammo_type_name}" msgid "Clone %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87 #: lib/cannery_web/live/container_live/index.html.heex:88
#: lib/cannery_web/live/container_live/index.html.heex:143 #: lib/cannery_web/live/container_live/index.html.heex:144
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{container_name}" msgid "Clone %{container_name}"
msgstr "" msgstr ""
@ -253,20 +253,20 @@ msgstr ""
msgid "Copy invite link for %{invite_name}" msgid "Copy invite link for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103 #: lib/cannery_web/live/ammo_type_live/index.html.heex:104
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36 #: lib/cannery_web/live/ammo_type_live/show.html.heex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{ammo_type_name}" msgid "Delete %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:102 #: lib/cannery_web/live/container_live/index.html.heex:103
#: lib/cannery_web/live/container_live/index.html.heex:158 #: lib/cannery_web/live/container_live/index.html.heex:159
#: lib/cannery_web/live/container_live/show.html.heex:55 #: lib/cannery_web/live/container_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{container_name}" msgid "Delete %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:65 #: lib/cannery_web/live/tag_live/index.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{tag_name}" msgid "Delete %{tag_name}"
msgstr "" msgstr ""
@ -277,30 +277,30 @@ msgid "Delete invite for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:161 #: lib/cannery_web/live/ammo_group_live/show.ex:161
#: lib/cannery_web/live/range_live/index.html.heex:130 #: lib/cannery_web/live/range_live/index.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete shot record of %{shot_group_count} shots" msgid "Delete shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74 #: lib/cannery_web/live/ammo_type_live/index.html.heex:75
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #: lib/cannery_web/live/ammo_type_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77 #: lib/cannery_web/live/container_live/index.html.heex:78
#: lib/cannery_web/live/container_live/index.html.heex:133 #: lib/cannery_web/live/container_live/index.html.heex:134
#: lib/cannery_web/live/container_live/show.html.heex:42 #: lib/cannery_web/live/container_live/show.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{container_name}" msgid "Edit %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:52 #: lib/cannery_web/live/tag_live/index.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{tag_name}" msgid "Edit %{tag_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142 #: lib/cannery_web/live/ammo_group_live/index.html.heex:144
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62 #: lib/cannery_web/live/ammo_group_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit ammo group of %{ammo_group_count} bullets" msgid "Edit ammo group of %{ammo_group_count} bullets"
@ -316,44 +316,45 @@ msgstr ""
msgid "Edit shot group of %{shot_group_count} shots" msgid "Edit shot group of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:113 #: lib/cannery_web/live/range_live/index.html.heex:114
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit shot record of %{shot_group_count} shots" msgid "Edit shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96 #: lib/cannery_web/live/ammo_group_live/index.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Stage" msgid "Stage"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:65 #: lib/cannery_web/live/container_live/index.html.heex:66
#: lib/cannery_web/live/container_live/index.html.heex:122 #: lib/cannery_web/live/container_live/index.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tag %{container_name}" msgid "Tag %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64 #: lib/cannery_web/live/ammo_type_live/index.html.heex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View %{ammo_type_name}" msgid "View %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154 #: lib/cannery_web/live/ammo_group_live/index.html.heex:156
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone ammo group of %{ammo_group_count} bullets" msgid "Clone ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169 #: lib/cannery_web/live/ammo_group_live/index.html.heex:171
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76 #: lib/cannery_web/live/ammo_group_live/show.html.heex:76
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete ammo group of %{ammo_group_count} bullets" msgid "Delete ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View ammo group of %{ammo_group_count} bullets" msgid "View ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""

View File

@ -79,7 +79,7 @@ msgstr "Passwort vergessen?"
msgid "Invite someone new!" msgid "Invite someone new!"
msgstr "Laden Sie jemanden ein!" msgstr "Laden Sie jemanden ein!"
#: lib/cannery_web/components/core_components/topbar.html.heex:122 #: lib/cannery_web/components/core_components/topbar.html.heex:124
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32 #: lib/cannery_web/templates/user_confirmation/new.html.heex:32
#: lib/cannery_web/templates/user_registration/new.html.heex:44 #: lib/cannery_web/templates/user_registration/new.html.heex:44
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45 #: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
@ -110,7 +110,7 @@ msgstr "Neuer Behälter"
msgid "New Tag" msgid "New Tag"
msgstr "Neuer Tag" msgstr "Neuer Tag"
#: lib/cannery_web/components/core_components/topbar.html.heex:114 #: lib/cannery_web/components/core_components/topbar.html.heex:116
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29 #: lib/cannery_web/templates/user_confirmation/new.html.heex:29
#: lib/cannery_web/templates/user_registration/new.html.heex:3 #: lib/cannery_web/templates/user_registration/new.html.heex:3
#: lib/cannery_web/templates/user_registration/new.html.heex:37 #: lib/cannery_web/templates/user_registration/new.html.heex:37
@ -169,7 +169,7 @@ msgstr "Munition markieren"
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "Warum nicht einige für den Schießstand auswählen?" msgstr "Warum nicht einige für den Schießstand auswählen?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103 #: lib/cannery_web/live/ammo_group_live/index.html.heex:105
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103 #: lib/cannery_web/live/ammo_group_live/show.html.heex:103
#: lib/cannery_web/live/range_live/index.html.heex:45 #: lib/cannery_web/live/range_live/index.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -201,7 +201,7 @@ msgstr "Zuerst einen Behälter hinzufügen"
msgid "Create" msgid "Create"
msgstr "Erstellen" msgstr "Erstellen"
#: lib/cannery_web/templates/user_settings/edit.html.heex:111 #: lib/cannery_web/templates/user_settings/edit.html.heex:110
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change Language" msgid "Change Language"
msgstr "Sprache wechseln" msgstr "Sprache wechseln"
@ -222,7 +222,7 @@ msgid "add an ammo type first"
msgstr "" msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:80 #: lib/cannery_web/components/move_ammo_group_component.ex:80
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120 #: lib/cannery_web/live/ammo_group_live/index.html.heex:122
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96 #: lib/cannery_web/live/ammo_group_live/show.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
@ -250,13 +250,13 @@ msgstr ""
msgid "Export Data as JSON" msgid "Export Data as JSON"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84 #: lib/cannery_web/live/ammo_type_live/index.html.heex:85
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{ammo_type_name}" msgid "Clone %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87 #: lib/cannery_web/live/container_live/index.html.heex:88
#: lib/cannery_web/live/container_live/index.html.heex:143 #: lib/cannery_web/live/container_live/index.html.heex:144
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{container_name}" msgid "Clone %{container_name}"
msgstr "" msgstr ""
@ -266,20 +266,20 @@ msgstr ""
msgid "Copy invite link for %{invite_name}" msgid "Copy invite link for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103 #: lib/cannery_web/live/ammo_type_live/index.html.heex:104
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36 #: lib/cannery_web/live/ammo_type_live/show.html.heex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{ammo_type_name}" msgid "Delete %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:102 #: lib/cannery_web/live/container_live/index.html.heex:103
#: lib/cannery_web/live/container_live/index.html.heex:158 #: lib/cannery_web/live/container_live/index.html.heex:159
#: lib/cannery_web/live/container_live/show.html.heex:55 #: lib/cannery_web/live/container_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{container_name}" msgid "Delete %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:65 #: lib/cannery_web/live/tag_live/index.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{tag_name}" msgid "Delete %{tag_name}"
msgstr "" msgstr ""
@ -290,30 +290,30 @@ msgid "Delete invite for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:161 #: lib/cannery_web/live/ammo_group_live/show.ex:161
#: lib/cannery_web/live/range_live/index.html.heex:130 #: lib/cannery_web/live/range_live/index.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete shot record of %{shot_group_count} shots" msgid "Delete shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74 #: lib/cannery_web/live/ammo_type_live/index.html.heex:75
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #: lib/cannery_web/live/ammo_type_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77 #: lib/cannery_web/live/container_live/index.html.heex:78
#: lib/cannery_web/live/container_live/index.html.heex:133 #: lib/cannery_web/live/container_live/index.html.heex:134
#: lib/cannery_web/live/container_live/show.html.heex:42 #: lib/cannery_web/live/container_live/show.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{container_name}" msgid "Edit %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:52 #: lib/cannery_web/live/tag_live/index.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{tag_name}" msgid "Edit %{tag_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142 #: lib/cannery_web/live/ammo_group_live/index.html.heex:144
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62 #: lib/cannery_web/live/ammo_group_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit ammo group of %{ammo_group_count} bullets" msgid "Edit ammo group of %{ammo_group_count} bullets"
@ -329,44 +329,45 @@ msgstr ""
msgid "Edit shot group of %{shot_group_count} shots" msgid "Edit shot group of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:113 #: lib/cannery_web/live/range_live/index.html.heex:114
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit shot record of %{shot_group_count} shots" msgid "Edit shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96 #: lib/cannery_web/live/ammo_group_live/index.html.heex:98
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Stage" msgid "Stage"
msgstr "Munition markieren" msgstr "Munition markieren"
#: lib/cannery_web/live/container_live/index.html.heex:65 #: lib/cannery_web/live/container_live/index.html.heex:66
#: lib/cannery_web/live/container_live/index.html.heex:122 #: lib/cannery_web/live/container_live/index.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tag %{container_name}" msgid "Tag %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64 #: lib/cannery_web/live/ammo_type_live/index.html.heex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View %{ammo_type_name}" msgid "View %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154 #: lib/cannery_web/live/ammo_group_live/index.html.heex:156
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Clone ammo group of %{ammo_group_count} bullets" msgid "Clone ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169 #: lib/cannery_web/live/ammo_group_live/index.html.heex:171
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76 #: lib/cannery_web/live/ammo_group_live/show.html.heex:76
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Delete ammo group of %{ammo_group_count} bullets" msgid "Delete ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "View ammo group of %{ammo_group_count} bullets" msgid "View ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""

View File

@ -38,7 +38,7 @@ msgstr "Admins:"
msgid "Ammo" msgid "Ammo"
msgstr "Munition" msgstr "Munition"
#: lib/cannery_web/components/ammo_group_table_component.ex:89 #: lib/cannery_web/components/ammo_group_table_component.ex:108
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
@ -90,7 +90,7 @@ msgstr "Patrone"
msgid "Case material" msgid "Case material"
msgstr "Gehäusematerial" msgstr "Gehäusematerial"
#: lib/cannery_web/components/ammo_group_table_component.ex:65 #: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67 #: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -111,7 +111,7 @@ msgstr "Behälter"
msgid "Corrosive" msgid "Corrosive"
msgstr "Korrosiv" msgstr "Korrosiv"
#: lib/cannery_web/components/ammo_group_table_component.ex:76 #: lib/cannery_web/components/ammo_group_table_component.ex:100
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
@ -141,7 +141,7 @@ msgstr "Beschreibung:"
msgid "Easy to Use:" msgid "Easy to Use:"
msgstr "Einfache Anwendung:" msgstr "Einfache Anwendung:"
#: lib/cannery_web/live/invite_live/index.ex:33 #: lib/cannery_web/live/invite_live/index.ex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Invite" msgid "Edit Invite"
msgstr "Einladung bearbeiten" msgstr "Einladung bearbeiten"
@ -189,7 +189,7 @@ msgid "Invite Only"
msgstr "Nur mit Einladung" msgstr "Nur mit Einladung"
#: lib/cannery_web/components/core_components/topbar.html.heex:74 #: lib/cannery_web/components/core_components/topbar.html.heex:74
#: lib/cannery_web/live/invite_live/index.ex:41 #: lib/cannery_web/live/invite_live/index.ex:31
#: lib/cannery_web/live/invite_live/index.html.heex:3 #: lib/cannery_web/live/invite_live/index.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invites" msgid "Invites"
@ -256,7 +256,7 @@ msgstr "Neuer Munitionstyp"
msgid "New Container" msgid "New Container"
msgstr "Neuer Behälter" msgstr "Neuer Behälter"
#: lib/cannery_web/live/invite_live/index.ex:37 #: lib/cannery_web/live/invite_live/index.ex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Invite" msgid "New Invite"
msgstr "Neue Einladung" msgstr "Neue Einladung"
@ -267,18 +267,18 @@ msgid "New Tag"
msgstr "Neuer Tag" msgstr "Neuer Tag"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10 #: lib/cannery_web/live/ammo_group_live/index.html.heex:10
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 #: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No Ammo" msgid "No Ammo"
msgstr "Keine Munition" msgstr "Keine Munition"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167 #: lib/cannery_web/live/ammo_type_live/show.html.heex:163
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No ammo for this type" msgid "No ammo for this type"
msgstr "Keine Munition dieser Art" msgstr "Keine Munition dieser Art"
#: lib/cannery_web/live/container_live/index.html.heex:8 #: lib/cannery_web/live/container_live/index.html.heex:8
#: lib/cannery_web/live/container_live/index.html.heex:47 #: lib/cannery_web/live/container_live/index.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No containers" msgid "No containers"
msgstr "Kein Behälter" msgstr "Kein Behälter"
@ -290,13 +290,12 @@ msgstr "Keine Einladung"
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
#: lib/cannery_web/live/tag_live/index.html.heex:10 #: lib/cannery_web/live/tag_live/index.html.heex:10
#: lib/cannery_web/live/tag_live/index.html.heex:43 #: lib/cannery_web/live/tag_live/index.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No tags" msgid "No tags"
msgstr "Keine Tags" msgstr "Keine Tags"
#: lib/cannery_web/components/add_shot_group_component.html.heex:38 #: lib/cannery_web/components/add_shot_group_component.html.heex:38
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/components/shot_group_table_component.ex:43 #: lib/cannery_web/components/shot_group_table_component.ex:43
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.ex:92 #: lib/cannery_web/live/ammo_group_live/show.ex:92
@ -305,7 +304,7 @@ msgstr "Keine Tags"
msgid "Notes" msgid "Notes"
msgstr "Bemerkungen" msgstr "Bemerkungen"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -322,13 +321,13 @@ msgstr "Auf dem Bücherregal"
msgid "Pressure" msgid "Pressure"
msgstr "Druck" msgstr "Druck"
#: lib/cannery_web/components/ammo_group_table_component.ex:78 #: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "Kaufpreis" msgstr "Kaufpreis"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "Kaufpreis:" msgstr "Kaufpreis:"
@ -440,7 +439,7 @@ msgstr "Ihre Daten bleiben bei Ihnen, Punkt"
msgid "No tags for this container" msgid "No tags for this container"
msgstr "Keine Tags für diesen Behälter" msgstr "Keine Tags für diesen Behälter"
#: lib/cannery_web/components/ammo_group_table_component.ex:72 #: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/core_components/topbar.html.heex:66 #: lib/cannery_web/components/core_components/topbar.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
@ -487,7 +486,7 @@ msgid "New Shot Records"
msgstr "Neue Schießkladde" msgstr "Neue Schießkladde"
#: lib/cannery_web/live/range_live/index.html.heex:55 #: lib/cannery_web/live/range_live/index.html.heex:55
#: lib/cannery_web/live/range_live/index.html.heex:97 #: lib/cannery_web/live/range_live/index.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No shots recorded" msgid "No shots recorded"
msgstr "Keine Schüsse dokumentiert" msgstr "Keine Schüsse dokumentiert"
@ -526,14 +525,14 @@ msgstr "Kein weiterer Behälter"
msgid "Shot log" msgid "Shot log"
msgstr "Schießkladde" msgstr "Schießkladde"
#: lib/cannery_web/components/ammo_group_table_component.ex:153 #: lib/cannery_web/components/ammo_group_table_component.ex:180
#: lib/cannery_web/components/ammo_group_table_component.ex:229 #: lib/cannery_web/components/ammo_group_table_component.ex:263
#: lib/cannery_web/components/ammo_type_table_component.ex:224 #: lib/cannery_web/components/ammo_type_table_component.ex:235
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37 #: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42 #: lib/cannery_web/live/ammo_group_live/show.html.heex:42
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139 #: lib/cannery_web/live/ammo_type_live/show.html.heex:135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "$%{amount}" msgstr "$%{amount}"
@ -621,14 +620,15 @@ msgstr "Editiere %{name} Tags"
msgid "Rounds:" msgid "Rounds:"
msgstr "Patronen:" msgstr "Patronen:"
#: lib/cannery_web/components/ammo_group_table_component.ex:226 #: lib/cannery_web/components/ammo_group_table_component.ex:177
#: lib/cannery_web/components/ammo_type_table_component.ex:223 #: lib/cannery_web/components/ammo_group_table_component.ex:259
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143 #: lib/cannery_web/components/ammo_type_table_component.ex:234
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "Keine Preisinformationen" msgstr "Keine Preisinformationen"
#: lib/cannery_web/components/ammo_group_table_component.ex:80 #: lib/cannery_web/components/ammo_group_table_component.ex:92
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "% verbleibend" msgstr "% verbleibend"
@ -694,7 +694,7 @@ msgstr "Schüsse dokumentieren"
msgid "Copies" msgid "Copies"
msgstr "Kopien" msgstr "Kopien"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126 #: lib/cannery_web/live/ammo_type_live/show.html.heex:122
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "Hinzugefügt am:" msgstr "Hinzugefügt am:"
@ -774,7 +774,7 @@ msgid "This ammo is not in a container"
msgstr "Diese Munitionsgruppe ist nicht in einem Behälter" msgstr "Diese Munitionsgruppe ist nicht in einem Behälter"
#: lib/cannery_web/components/core_components/container_card.html.heex:32 #: lib/cannery_web/components/core_components/container_card.html.heex:32
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98 #: lib/cannery_web/live/ammo_type_live/show.html.heex:96
#: lib/cannery_web/live/container_live/show.html.heex:23 #: lib/cannery_web/live/container_live/show.html.heex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -801,15 +801,15 @@ msgstr ""
msgid "Container:" msgid "Container:"
msgstr "Behälter" msgstr "Behälter"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 #: lib/cannery_web/live/ammo_group_live/index.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 #: lib/cannery_web/live/ammo_type_live/index.html.heex:40
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/ammo_type_live/show.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:98 #: lib/cannery_web/live/container_live/show.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:187 #: lib/cannery_web/components/ammo_group_table_component.ex:218
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
@ -832,8 +832,8 @@ msgstr ""
msgid "Rounds" msgid "Rounds"
msgstr "Patronen:" msgstr "Patronen:"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159 #: lib/cannery_web/live/ammo_type_live/show.html.heex:155
#: lib/cannery_web/live/container_live/index.html.heex:39 #: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:104 #: lib/cannery_web/live/container_live/show.html.heex:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
@ -844,7 +844,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114 #: lib/cannery_web/live/ammo_type_live/show.html.heex:113
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -854,7 +854,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "Summe aller Patronen" msgstr "Summe aller Patronen"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86 #: lib/cannery_web/live/ammo_type_live/show.html.heex:87
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "Summe abgegebener Schüsse:" msgstr "Summe abgegebener Schüsse:"
@ -864,7 +864,7 @@ msgstr "Summe abgegebener Schüsse:"
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106 #: lib/cannery_web/live/ammo_type_live/show.html.heex:105
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -874,7 +874,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78 #: lib/cannery_web/live/ammo_type_live/show.html.heex:79
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -985,39 +985,39 @@ msgid "UPC:"
msgstr "UPC" msgstr "UPC"
#: lib/cannery_web/components/ammo_type_table_component.ex:120 #: lib/cannery_web/components/ammo_type_table_component.ex:120
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135 #: lib/cannery_web/live/ammo_type_live/show.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Average CPR" msgid "Average CPR"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:28 #: lib/cannery_web/live/ammo_type_live/index.ex:28
#: lib/cannery_web/live/ammo_type_live/show.ex:135 #: lib/cannery_web/live/ammo_type_live/show.ex:104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "%{name} bearbeiten" msgstr "%{name} bearbeiten"
#: lib/cannery_web/components/ammo_group_table_component.ex:233 #: lib/cannery_web/components/ammo_group_table_component.ex:267
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Empty" msgid "Empty"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79 #: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR" msgid "CPR"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR:" msgid "CPR:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77 #: lib/cannery_web/components/ammo_group_table_component.ex:91
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Original Count" msgid "Original Count"
msgstr "Ursprüngliche Anzahl:" msgstr "Ursprüngliche Anzahl:"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:" msgid "Original Count:"
msgstr "Ursprüngliche Anzahl:" msgstr "Ursprüngliche Anzahl:"
@ -1032,28 +1032,28 @@ msgstr ""
msgid "Total packs:" msgid "Total packs:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:58 #: lib/cannery_web/components/ammo_group_table_component.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on" msgid "Last used on"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on:" msgid "Last used on:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:171 #: lib/cannery_web/components/ammo_group_table_component.ex:198
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Never used" msgid "Never used"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57 #: lib/cannery_web/components/ammo_group_table_component.ex:64
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on" msgid "Purchased on"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30 #: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on:" msgid "Purchased on:"
@ -1065,32 +1065,32 @@ msgid "Edit ammo"
msgstr "Munitionstyp bearbeiten" msgstr "Munitionstyp bearbeiten"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8 #: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 #: lib/cannery_web/live/ammo_type_live/index.html.heex:47
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "No Ammo types" msgid "No Ammo types"
msgstr "Keine Munitionsarten" msgstr "Keine Munitionsarten"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 #: lib/cannery_web/live/ammo_type_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search catalog" msgid "Search catalog"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 #: lib/cannery_web/live/ammo_group_live/index.html.heex:59
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Search ammo" msgid "Search ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:33 #: lib/cannery_web/live/container_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search containers" msgid "Search containers"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36 #: lib/cannery_web/live/tag_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Search tags" msgid "Search tags"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:90 #: lib/cannery_web/live/range_live/index.html.heex:91
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search shot records" msgid "Search shot records"
msgstr "" msgstr ""
@ -1229,3 +1229,28 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Really great weather" msgid "Really great weather"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:60
#: lib/cannery_web/components/ammo_type_table_component.ex:121
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/move_ammo_group_component.ex:70
#: lib/cannery_web/components/shot_group_table_component.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:105
#, elixir-autogen, elixir-format
msgid "Live Dashboard"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:90
#, elixir-autogen, elixir-format
msgid "Log out"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:100
#, elixir-autogen, elixir-format
msgid "Current Count"
msgstr ""

View File

@ -23,7 +23,7 @@ msgstr ""
## Run "mix gettext.extract" to bring this file up to ## Run "mix gettext.extract" to bring this file up to
## date. Leave "msgstr"s empty as changing them here has no ## date. Leave "msgstr"s empty as changing them here has no
## effect: edit them in PO (.po) files instead. ## effect: edit them in PO (.po) files instead.
#: lib/cannery/containers.ex:200 #: lib/cannery/containers.ex:220
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container must be empty before deleting" msgid "Container must be empty before deleting"
msgstr "Behälter muss vor dem Löschen leer sein" msgstr "Behälter muss vor dem Löschen leer sein"
@ -112,11 +112,6 @@ msgstr "Unbefugt"
msgid "User confirmation link is invalid or it has expired." msgid "User confirmation link is invalid or it has expired."
msgstr "Nutzerkonto Bestätigungslink ist ungültig oder abgelaufen." msgstr "Nutzerkonto Bestätigungslink ist ungültig oder abgelaufen."
#: lib/cannery_web/live/invite_live/index.ex:18
#, elixir-autogen, elixir-format
msgid "You are not authorized to view this page"
msgstr "Sie sind nicht berechtigt, diese Seite aufzurufen"
#: lib/cannery_web/controllers/user_auth.ex:177 #: lib/cannery_web/controllers/user_auth.ex:177
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You are not authorized to view this page." msgid "You are not authorized to view this page."
@ -177,7 +172,7 @@ msgstr ""
"Ungültige Nummer an Kopien. Muss zwischen 1 and %{max} liegen. War " "Ungültige Nummer an Kopien. Muss zwischen 1 and %{max} liegen. War "
"%{multiplier}" "%{multiplier}"
#: lib/cannery/ammo.ex:1015 #: lib/cannery/ammo.ex:1043
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "" msgstr ""

View File

@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} erfolgreich erstellt" msgstr "%{name} erfolgreich erstellt"
#: lib/cannery_web/live/ammo_type_live/index.ex:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.ex:54 #: lib/cannery_web/live/ammo_type_live/show.ex:49
#: lib/cannery_web/live/tag_live/index.ex:65 #: lib/cannery_web/live/tag_live/index.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} deleted succesfully" msgid "%{name} deleted succesfully"
@ -65,15 +65,15 @@ msgstr ""
"Sind Sie sicher, dass sie %{email} löschen möchten? Dies kann nicht " "Sind Sie sicher, dass sie %{email} löschen möchten? Dies kann nicht "
"zurückgenommen werden!" "zurückgenommen werden!"
#: lib/cannery_web/live/container_live/index.html.heex:99 #: lib/cannery_web/live/container_live/index.html.heex:100
#: lib/cannery_web/live/container_live/index.html.heex:155 #: lib/cannery_web/live/container_live/index.html.heex:156
#: lib/cannery_web/live/container_live/show.html.heex:52 #: lib/cannery_web/live/container_live/show.html.heex:52
#: lib/cannery_web/live/tag_live/index.html.heex:63 #: lib/cannery_web/live/tag_live/index.html.heex:64
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?" msgid "Are you sure you want to delete %{name}?"
msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?" msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167 #: lib/cannery_web/live/ammo_group_live/index.html.heex:169
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74 #: lib/cannery_web/live/ammo_group_live/show.html.heex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -177,7 +177,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?" msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?"
#: lib/cannery_web/live/ammo_group_live/show.ex:159 #: lib/cannery_web/live/ammo_group_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:127 #: lib/cannery_web/live/range_live/index.html.heex:128
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?" msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?"
@ -203,7 +203,7 @@ msgstr "%{email} erfolgreich bestätigt."
msgid "Ammo moved to %{name} successfully" msgid "Ammo moved to %{name} successfully"
msgstr "Munition erfolgreich zu %{name} verschoben" msgstr "Munition erfolgreich zu %{name} verschoben"
#: lib/cannery_web/live/invite_live/index.ex:126 #: lib/cannery_web/live/invite_live/index.ex:116
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Copied to clipboard" msgid "Copied to clipboard"
msgstr "Der Zwischenablage hinzugefügt" msgstr "Der Zwischenablage hinzugefügt"
@ -257,7 +257,7 @@ msgid_plural "Ammo added successfully"
msgstr[0] "Munitionsgruppe erfolgreich aktualisiert" msgstr[0] "Munitionsgruppe erfolgreich aktualisiert"
msgstr[1] "Munitionsgruppe erfolgreich aktualisiert" msgstr[1] "Munitionsgruppe erfolgreich aktualisiert"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96 #: lib/cannery_web/live/ammo_type_live/index.html.heex:97
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
@ -268,27 +268,27 @@ msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?"
msgid "Register to setup Cannery" msgid "Register to setup Cannery"
msgstr "Registrieren Sie sich, um %{name} zu bearbeiten" msgstr "Registrieren Sie sich, um %{name} zu bearbeiten"
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex:43
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} deleted succesfully" msgid "%{invite_name} deleted succesfully"
msgstr "%{name} erfolgreich gelöscht" msgstr "%{name} erfolgreich gelöscht"
#: lib/cannery_web/live/invite_live/index.ex:114 #: lib/cannery_web/live/invite_live/index.ex:104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} disabled succesfully" msgid "%{invite_name} disabled succesfully"
msgstr "%{name} erfolgreich deaktiviert" msgstr "%{name} erfolgreich deaktiviert"
#: lib/cannery_web/live/invite_live/index.ex:90 #: lib/cannery_web/live/invite_live/index.ex:80
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} enabled succesfully" msgid "%{invite_name} enabled succesfully"
msgstr "%{name} erfolgreich aktiviert" msgstr "%{name} erfolgreich aktiviert"
#: lib/cannery_web/live/invite_live/index.ex:68 #: lib/cannery_web/live/invite_live/index.ex:58
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} updated succesfully" msgid "%{invite_name} updated succesfully"
msgstr "%{name} erfolgreich aktualisiert" msgstr "%{name} erfolgreich aktualisiert"
#: lib/cannery_web/live/invite_live/index.ex:135 #: lib/cannery_web/live/invite_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{user_email} deleted succesfully" msgid "%{user_email} deleted succesfully"
msgstr "%{name} erfolgreich gelöscht" msgstr "%{name} erfolgreich gelöscht"

View File

@ -34,7 +34,7 @@ msgstr ""
msgid "Ammo" msgid "Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:89 #: lib/cannery_web/components/ammo_group_table_component.ex:108
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
@ -86,7 +86,7 @@ msgstr ""
msgid "Case material" msgid "Case material"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:65 #: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67 #: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -107,7 +107,7 @@ msgstr ""
msgid "Corrosive" msgid "Corrosive"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:76 #: lib/cannery_web/components/ammo_group_table_component.ex:100
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
@ -137,7 +137,7 @@ msgstr ""
msgid "Easy to Use:" msgid "Easy to Use:"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:33 #: lib/cannery_web/live/invite_live/index.ex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Invite" msgid "Edit Invite"
msgstr "" msgstr ""
@ -185,7 +185,7 @@ msgid "Invite Only"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:74 #: lib/cannery_web/components/core_components/topbar.html.heex:74
#: lib/cannery_web/live/invite_live/index.ex:41 #: lib/cannery_web/live/invite_live/index.ex:31
#: lib/cannery_web/live/invite_live/index.html.heex:3 #: lib/cannery_web/live/invite_live/index.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invites" msgid "Invites"
@ -252,7 +252,7 @@ msgstr ""
msgid "New Container" msgid "New Container"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:37 #: lib/cannery_web/live/invite_live/index.ex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Invite" msgid "New Invite"
msgstr "" msgstr ""
@ -263,18 +263,18 @@ msgid "New Tag"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10 #: lib/cannery_web/live/ammo_group_live/index.html.heex:10
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 #: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No Ammo" msgid "No Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167 #: lib/cannery_web/live/ammo_type_live/show.html.heex:163
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No ammo for this type" msgid "No ammo for this type"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:8 #: lib/cannery_web/live/container_live/index.html.heex:8
#: lib/cannery_web/live/container_live/index.html.heex:47 #: lib/cannery_web/live/container_live/index.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No containers" msgid "No containers"
msgstr "" msgstr ""
@ -286,13 +286,12 @@ msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
#: lib/cannery_web/live/tag_live/index.html.heex:10 #: lib/cannery_web/live/tag_live/index.html.heex:10
#: lib/cannery_web/live/tag_live/index.html.heex:43 #: lib/cannery_web/live/tag_live/index.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No tags" msgid "No tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:38 #: lib/cannery_web/components/add_shot_group_component.html.heex:38
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/components/shot_group_table_component.ex:43 #: lib/cannery_web/components/shot_group_table_component.ex:43
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.ex:92 #: lib/cannery_web/live/ammo_group_live/show.ex:92
@ -301,7 +300,7 @@ msgstr ""
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -318,13 +317,13 @@ msgstr ""
msgid "Pressure" msgid "Pressure"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:78 #: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "" msgstr ""
@ -434,7 +433,7 @@ msgstr ""
msgid "No tags for this container" msgid "No tags for this container"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72 #: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/core_components/topbar.html.heex:66 #: lib/cannery_web/components/core_components/topbar.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
@ -481,7 +480,7 @@ msgid "New Shot Records"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:55 #: lib/cannery_web/live/range_live/index.html.heex:55
#: lib/cannery_web/live/range_live/index.html.heex:97 #: lib/cannery_web/live/range_live/index.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No shots recorded" msgid "No shots recorded"
msgstr "" msgstr ""
@ -520,14 +519,14 @@ msgstr ""
msgid "Shot log" msgid "Shot log"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:153 #: lib/cannery_web/components/ammo_group_table_component.ex:180
#: lib/cannery_web/components/ammo_group_table_component.ex:229 #: lib/cannery_web/components/ammo_group_table_component.ex:263
#: lib/cannery_web/components/ammo_type_table_component.ex:224 #: lib/cannery_web/components/ammo_type_table_component.ex:235
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37 #: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42 #: lib/cannery_web/live/ammo_group_live/show.html.heex:42
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139 #: lib/cannery_web/live/ammo_type_live/show.html.heex:135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "" msgstr ""
@ -615,14 +614,15 @@ msgstr ""
msgid "Rounds:" msgid "Rounds:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:226 #: lib/cannery_web/components/ammo_group_table_component.ex:177
#: lib/cannery_web/components/ammo_type_table_component.ex:223 #: lib/cannery_web/components/ammo_group_table_component.ex:259
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143 #: lib/cannery_web/components/ammo_type_table_component.ex:234
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:80 #: lib/cannery_web/components/ammo_group_table_component.ex:92
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "" msgstr ""
@ -688,7 +688,7 @@ msgstr ""
msgid "Copies" msgid "Copies"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126 #: lib/cannery_web/live/ammo_type_live/show.html.heex:122
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "" msgstr ""
@ -768,7 +768,7 @@ msgid "This ammo is not in a container"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/container_card.html.heex:32 #: lib/cannery_web/components/core_components/container_card.html.heex:32
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98 #: lib/cannery_web/live/ammo_type_live/show.html.heex:96
#: lib/cannery_web/live/container_live/show.html.heex:23 #: lib/cannery_web/live/container_live/show.html.heex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -795,15 +795,15 @@ msgstr ""
msgid "Container:" msgid "Container:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 #: lib/cannery_web/live/ammo_group_live/index.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 #: lib/cannery_web/live/ammo_type_live/index.html.heex:40
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/ammo_type_live/show.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:98 #: lib/cannery_web/live/container_live/show.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:187 #: lib/cannery_web/components/ammo_group_table_component.ex:218
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
@ -826,8 +826,8 @@ msgstr ""
msgid "Rounds" msgid "Rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159 #: lib/cannery_web/live/ammo_type_live/show.html.heex:155
#: lib/cannery_web/live/container_live/index.html.heex:39 #: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:104 #: lib/cannery_web/live/container_live/show.html.heex:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
@ -838,7 +838,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114 #: lib/cannery_web/live/ammo_type_live/show.html.heex:113
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -848,7 +848,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86 #: lib/cannery_web/live/ammo_type_live/show.html.heex:87
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "" msgstr ""
@ -858,7 +858,7 @@ msgstr ""
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106 #: lib/cannery_web/live/ammo_type_live/show.html.heex:105
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -868,7 +868,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78 #: lib/cannery_web/live/ammo_type_live/show.html.heex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -979,39 +979,39 @@ msgid "UPC:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:120 #: lib/cannery_web/components/ammo_type_table_component.ex:120
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135 #: lib/cannery_web/live/ammo_type_live/show.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Average CPR" msgid "Average CPR"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:28 #: lib/cannery_web/live/ammo_type_live/index.ex:28
#: lib/cannery_web/live/ammo_type_live/show.ex:135 #: lib/cannery_web/live/ammo_type_live/show.ex:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:233 #: lib/cannery_web/components/ammo_group_table_component.ex:267
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Empty" msgid "Empty"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79 #: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR" msgid "CPR"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR:" msgid "CPR:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77 #: lib/cannery_web/components/ammo_group_table_component.ex:91
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Original Count" msgid "Original Count"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Original Count:" msgid "Original Count:"
msgstr "" msgstr ""
@ -1026,28 +1026,28 @@ msgstr ""
msgid "Total packs:" msgid "Total packs:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:58 #: lib/cannery_web/components/ammo_group_table_component.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on" msgid "Last used on"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on:" msgid "Last used on:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:171 #: lib/cannery_web/components/ammo_group_table_component.ex:198
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Never used" msgid "Never used"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57 #: lib/cannery_web/components/ammo_group_table_component.ex:64
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on" msgid "Purchased on"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30 #: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on:" msgid "Purchased on:"
@ -1059,32 +1059,32 @@ msgid "Edit ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8 #: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 #: lib/cannery_web/live/ammo_type_live/index.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No Ammo types" msgid "No Ammo types"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 #: lib/cannery_web/live/ammo_type_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search catalog" msgid "Search catalog"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 #: lib/cannery_web/live/ammo_group_live/index.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search ammo" msgid "Search ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:33 #: lib/cannery_web/live/container_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search containers" msgid "Search containers"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36 #: lib/cannery_web/live/tag_live/index.html.heex:37
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search tags" msgid "Search tags"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:90 #: lib/cannery_web/live/range_live/index.html.heex:91
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search shot records" msgid "Search shot records"
msgstr "" msgstr ""
@ -1212,3 +1212,28 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Really great weather" msgid "Really great weather"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:60
#: lib/cannery_web/components/ammo_type_table_component.ex:121
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/move_ammo_group_component.ex:70
#: lib/cannery_web/components/shot_group_table_component.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:105
#, elixir-autogen, elixir-format
msgid "Live Dashboard"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:90
#, elixir-autogen, elixir-format
msgid "Log out"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:100
#, elixir-autogen, elixir-format
msgid "Current Count"
msgstr ""

View File

@ -66,7 +66,7 @@ msgstr ""
msgid "Invite someone new!" msgid "Invite someone new!"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:122 #: lib/cannery_web/components/core_components/topbar.html.heex:124
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32 #: lib/cannery_web/templates/user_confirmation/new.html.heex:32
#: lib/cannery_web/templates/user_registration/new.html.heex:44 #: lib/cannery_web/templates/user_registration/new.html.heex:44
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45 #: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
@ -97,7 +97,7 @@ msgstr ""
msgid "New Tag" msgid "New Tag"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:114 #: lib/cannery_web/components/core_components/topbar.html.heex:116
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29 #: lib/cannery_web/templates/user_confirmation/new.html.heex:29
#: lib/cannery_web/templates/user_registration/new.html.heex:3 #: lib/cannery_web/templates/user_registration/new.html.heex:3
#: lib/cannery_web/templates/user_registration/new.html.heex:37 #: lib/cannery_web/templates/user_registration/new.html.heex:37
@ -156,7 +156,7 @@ msgstr ""
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103 #: lib/cannery_web/live/ammo_group_live/index.html.heex:105
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103 #: lib/cannery_web/live/ammo_group_live/show.html.heex:103
#: lib/cannery_web/live/range_live/index.html.heex:45 #: lib/cannery_web/live/range_live/index.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -188,7 +188,7 @@ msgstr ""
msgid "Create" msgid "Create"
msgstr "" msgstr ""
#: lib/cannery_web/templates/user_settings/edit.html.heex:111 #: lib/cannery_web/templates/user_settings/edit.html.heex:110
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change Language" msgid "Change Language"
msgstr "" msgstr ""
@ -209,7 +209,7 @@ msgid "add an ammo type first"
msgstr "" msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:80 #: lib/cannery_web/components/move_ammo_group_component.ex:80
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120 #: lib/cannery_web/live/ammo_group_live/index.html.heex:122
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96 #: lib/cannery_web/live/ammo_group_live/show.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
@ -237,13 +237,13 @@ msgstr ""
msgid "Export Data as JSON" msgid "Export Data as JSON"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84 #: lib/cannery_web/live/ammo_type_live/index.html.heex:85
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{ammo_type_name}" msgid "Clone %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87 #: lib/cannery_web/live/container_live/index.html.heex:88
#: lib/cannery_web/live/container_live/index.html.heex:143 #: lib/cannery_web/live/container_live/index.html.heex:144
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{container_name}" msgid "Clone %{container_name}"
msgstr "" msgstr ""
@ -253,20 +253,20 @@ msgstr ""
msgid "Copy invite link for %{invite_name}" msgid "Copy invite link for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103 #: lib/cannery_web/live/ammo_type_live/index.html.heex:104
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36 #: lib/cannery_web/live/ammo_type_live/show.html.heex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{ammo_type_name}" msgid "Delete %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:102 #: lib/cannery_web/live/container_live/index.html.heex:103
#: lib/cannery_web/live/container_live/index.html.heex:158 #: lib/cannery_web/live/container_live/index.html.heex:159
#: lib/cannery_web/live/container_live/show.html.heex:55 #: lib/cannery_web/live/container_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{container_name}" msgid "Delete %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:65 #: lib/cannery_web/live/tag_live/index.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{tag_name}" msgid "Delete %{tag_name}"
msgstr "" msgstr ""
@ -277,30 +277,30 @@ msgid "Delete invite for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:161 #: lib/cannery_web/live/ammo_group_live/show.ex:161
#: lib/cannery_web/live/range_live/index.html.heex:130 #: lib/cannery_web/live/range_live/index.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete shot record of %{shot_group_count} shots" msgid "Delete shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74 #: lib/cannery_web/live/ammo_type_live/index.html.heex:75
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #: lib/cannery_web/live/ammo_type_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77 #: lib/cannery_web/live/container_live/index.html.heex:78
#: lib/cannery_web/live/container_live/index.html.heex:133 #: lib/cannery_web/live/container_live/index.html.heex:134
#: lib/cannery_web/live/container_live/show.html.heex:42 #: lib/cannery_web/live/container_live/show.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{container_name}" msgid "Edit %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:52 #: lib/cannery_web/live/tag_live/index.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{tag_name}" msgid "Edit %{tag_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142 #: lib/cannery_web/live/ammo_group_live/index.html.heex:144
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62 #: lib/cannery_web/live/ammo_group_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit ammo group of %{ammo_group_count} bullets" msgid "Edit ammo group of %{ammo_group_count} bullets"
@ -316,44 +316,45 @@ msgstr ""
msgid "Edit shot group of %{shot_group_count} shots" msgid "Edit shot group of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:113 #: lib/cannery_web/live/range_live/index.html.heex:114
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit shot record of %{shot_group_count} shots" msgid "Edit shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96 #: lib/cannery_web/live/ammo_group_live/index.html.heex:98
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Stage" msgid "Stage"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:65 #: lib/cannery_web/live/container_live/index.html.heex:66
#: lib/cannery_web/live/container_live/index.html.heex:122 #: lib/cannery_web/live/container_live/index.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tag %{container_name}" msgid "Tag %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64 #: lib/cannery_web/live/ammo_type_live/index.html.heex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View %{ammo_type_name}" msgid "View %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154 #: lib/cannery_web/live/ammo_group_live/index.html.heex:156
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Clone ammo group of %{ammo_group_count} bullets" msgid "Clone ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169 #: lib/cannery_web/live/ammo_group_live/index.html.heex:171
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76 #: lib/cannery_web/live/ammo_group_live/show.html.heex:76
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Delete ammo group of %{ammo_group_count} bullets" msgid "Delete ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "View ammo group of %{ammo_group_count} bullets" msgid "View ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""

View File

@ -34,7 +34,7 @@ msgstr ""
msgid "Ammo" msgid "Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:89 #: lib/cannery_web/components/ammo_group_table_component.ex:108
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
@ -86,7 +86,7 @@ msgstr ""
msgid "Case material" msgid "Case material"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:65 #: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67 #: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -107,7 +107,7 @@ msgstr ""
msgid "Corrosive" msgid "Corrosive"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:76 #: lib/cannery_web/components/ammo_group_table_component.ex:100
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
@ -137,7 +137,7 @@ msgstr ""
msgid "Easy to Use:" msgid "Easy to Use:"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:33 #: lib/cannery_web/live/invite_live/index.ex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Invite" msgid "Edit Invite"
msgstr "" msgstr ""
@ -185,7 +185,7 @@ msgid "Invite Only"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:74 #: lib/cannery_web/components/core_components/topbar.html.heex:74
#: lib/cannery_web/live/invite_live/index.ex:41 #: lib/cannery_web/live/invite_live/index.ex:31
#: lib/cannery_web/live/invite_live/index.html.heex:3 #: lib/cannery_web/live/invite_live/index.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invites" msgid "Invites"
@ -252,7 +252,7 @@ msgstr ""
msgid "New Container" msgid "New Container"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:37 #: lib/cannery_web/live/invite_live/index.ex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Invite" msgid "New Invite"
msgstr "" msgstr ""
@ -263,18 +263,18 @@ msgid "New Tag"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10 #: lib/cannery_web/live/ammo_group_live/index.html.heex:10
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 #: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No Ammo" msgid "No Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167 #: lib/cannery_web/live/ammo_type_live/show.html.heex:163
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No ammo for this type" msgid "No ammo for this type"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:8 #: lib/cannery_web/live/container_live/index.html.heex:8
#: lib/cannery_web/live/container_live/index.html.heex:47 #: lib/cannery_web/live/container_live/index.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No containers" msgid "No containers"
msgstr "" msgstr ""
@ -286,13 +286,12 @@ msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
#: lib/cannery_web/live/tag_live/index.html.heex:10 #: lib/cannery_web/live/tag_live/index.html.heex:10
#: lib/cannery_web/live/tag_live/index.html.heex:43 #: lib/cannery_web/live/tag_live/index.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No tags" msgid "No tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:38 #: lib/cannery_web/components/add_shot_group_component.html.heex:38
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/components/shot_group_table_component.ex:43 #: lib/cannery_web/components/shot_group_table_component.ex:43
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.ex:92 #: lib/cannery_web/live/ammo_group_live/show.ex:92
@ -301,7 +300,7 @@ msgstr ""
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -318,13 +317,13 @@ msgstr ""
msgid "Pressure" msgid "Pressure"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:78 #: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "" msgstr ""
@ -434,7 +433,7 @@ msgstr ""
msgid "No tags for this container" msgid "No tags for this container"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72 #: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/core_components/topbar.html.heex:66 #: lib/cannery_web/components/core_components/topbar.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
@ -481,7 +480,7 @@ msgid "New Shot Records"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:55 #: lib/cannery_web/live/range_live/index.html.heex:55
#: lib/cannery_web/live/range_live/index.html.heex:97 #: lib/cannery_web/live/range_live/index.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No shots recorded" msgid "No shots recorded"
msgstr "" msgstr ""
@ -520,14 +519,14 @@ msgstr ""
msgid "Shot log" msgid "Shot log"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:153 #: lib/cannery_web/components/ammo_group_table_component.ex:180
#: lib/cannery_web/components/ammo_group_table_component.ex:229 #: lib/cannery_web/components/ammo_group_table_component.ex:263
#: lib/cannery_web/components/ammo_type_table_component.ex:224 #: lib/cannery_web/components/ammo_type_table_component.ex:235
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37 #: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42 #: lib/cannery_web/live/ammo_group_live/show.html.heex:42
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139 #: lib/cannery_web/live/ammo_type_live/show.html.heex:135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "" msgstr ""
@ -615,14 +614,15 @@ msgstr ""
msgid "Rounds:" msgid "Rounds:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:226 #: lib/cannery_web/components/ammo_group_table_component.ex:177
#: lib/cannery_web/components/ammo_type_table_component.ex:223 #: lib/cannery_web/components/ammo_group_table_component.ex:259
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143 #: lib/cannery_web/components/ammo_type_table_component.ex:234
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:80 #: lib/cannery_web/components/ammo_group_table_component.ex:92
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "" msgstr ""
@ -688,7 +688,7 @@ msgstr ""
msgid "Copies" msgid "Copies"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126 #: lib/cannery_web/live/ammo_type_live/show.html.heex:122
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "" msgstr ""
@ -768,7 +768,7 @@ msgid "This ammo is not in a container"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/container_card.html.heex:32 #: lib/cannery_web/components/core_components/container_card.html.heex:32
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98 #: lib/cannery_web/live/ammo_type_live/show.html.heex:96
#: lib/cannery_web/live/container_live/show.html.heex:23 #: lib/cannery_web/live/container_live/show.html.heex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -795,15 +795,15 @@ msgstr ""
msgid "Container:" msgid "Container:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 #: lib/cannery_web/live/ammo_group_live/index.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 #: lib/cannery_web/live/ammo_type_live/index.html.heex:40
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/ammo_type_live/show.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:98 #: lib/cannery_web/live/container_live/show.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:187 #: lib/cannery_web/components/ammo_group_table_component.ex:218
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
@ -826,8 +826,8 @@ msgstr ""
msgid "Rounds" msgid "Rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159 #: lib/cannery_web/live/ammo_type_live/show.html.heex:155
#: lib/cannery_web/live/container_live/index.html.heex:39 #: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:104 #: lib/cannery_web/live/container_live/show.html.heex:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
@ -838,7 +838,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114 #: lib/cannery_web/live/ammo_type_live/show.html.heex:113
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -848,7 +848,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86 #: lib/cannery_web/live/ammo_type_live/show.html.heex:87
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "" msgstr ""
@ -858,7 +858,7 @@ msgstr ""
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106 #: lib/cannery_web/live/ammo_type_live/show.html.heex:105
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -868,7 +868,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78 #: lib/cannery_web/live/ammo_type_live/show.html.heex:79
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -979,39 +979,39 @@ msgid "UPC:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:120 #: lib/cannery_web/components/ammo_type_table_component.ex:120
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135 #: lib/cannery_web/live/ammo_type_live/show.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Average CPR" msgid "Average CPR"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:28 #: lib/cannery_web/live/ammo_type_live/index.ex:28
#: lib/cannery_web/live/ammo_type_live/show.ex:135 #: lib/cannery_web/live/ammo_type_live/show.ex:104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:233 #: lib/cannery_web/components/ammo_group_table_component.ex:267
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Empty" msgid "Empty"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79 #: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR" msgid "CPR"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR:" msgid "CPR:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77 #: lib/cannery_web/components/ammo_group_table_component.ex:91
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Original Count" msgid "Original Count"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:" msgid "Original Count:"
msgstr "" msgstr ""
@ -1026,28 +1026,28 @@ msgstr ""
msgid "Total packs:" msgid "Total packs:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:58 #: lib/cannery_web/components/ammo_group_table_component.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on" msgid "Last used on"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on:" msgid "Last used on:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:171 #: lib/cannery_web/components/ammo_group_table_component.ex:198
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Never used" msgid "Never used"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57 #: lib/cannery_web/components/ammo_group_table_component.ex:64
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on" msgid "Purchased on"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30 #: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on:" msgid "Purchased on:"
@ -1059,32 +1059,32 @@ msgid "Edit ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8 #: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 #: lib/cannery_web/live/ammo_type_live/index.html.heex:47
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "No Ammo types" msgid "No Ammo types"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 #: lib/cannery_web/live/ammo_type_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search catalog" msgid "Search catalog"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 #: lib/cannery_web/live/ammo_group_live/index.html.heex:59
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Search ammo" msgid "Search ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:33 #: lib/cannery_web/live/container_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search containers" msgid "Search containers"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36 #: lib/cannery_web/live/tag_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Search tags" msgid "Search tags"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:90 #: lib/cannery_web/live/range_live/index.html.heex:91
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search shot records" msgid "Search shot records"
msgstr "" msgstr ""
@ -1212,3 +1212,28 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Really great weather" msgid "Really great weather"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:60
#: lib/cannery_web/components/ammo_type_table_component.ex:121
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/move_ammo_group_component.ex:70
#: lib/cannery_web/components/shot_group_table_component.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:105
#, elixir-autogen, elixir-format
msgid "Live Dashboard"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:90
#, elixir-autogen, elixir-format
msgid "Log out"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:100
#, elixir-autogen, elixir-format
msgid "Current Count"
msgstr ""

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Language: en\n" "Language: en\n"
#: lib/cannery/containers.ex:200 #: lib/cannery/containers.ex:220
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container must be empty before deleting" msgid "Container must be empty before deleting"
msgstr "" msgstr ""
@ -98,11 +98,6 @@ msgstr ""
msgid "User confirmation link is invalid or it has expired." msgid "User confirmation link is invalid or it has expired."
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:18
#, elixir-autogen, elixir-format
msgid "You are not authorized to view this page"
msgstr ""
#: lib/cannery_web/controllers/user_auth.ex:177 #: lib/cannery_web/controllers/user_auth.ex:177
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You are not authorized to view this page." msgid "You are not authorized to view this page."
@ -160,7 +155,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}" msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "" msgstr ""
#: lib/cannery/ammo.ex:1015 #: lib/cannery/ammo.ex:1043
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "" msgstr ""

View File

@ -19,7 +19,7 @@ msgid "%{name} created successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.ex:54 #: lib/cannery_web/live/ammo_type_live/show.ex:49
#: lib/cannery_web/live/tag_live/index.ex:65 #: lib/cannery_web/live/tag_live/index.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} deleted succesfully" msgid "%{name} deleted succesfully"
@ -50,15 +50,15 @@ msgstr ""
msgid "Are you sure you want to delete %{email}? This action is permanent!" msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:99 #: lib/cannery_web/live/container_live/index.html.heex:100
#: lib/cannery_web/live/container_live/index.html.heex:155 #: lib/cannery_web/live/container_live/index.html.heex:156
#: lib/cannery_web/live/container_live/show.html.heex:52 #: lib/cannery_web/live/container_live/show.html.heex:52
#: lib/cannery_web/live/tag_live/index.html.heex:63 #: lib/cannery_web/live/tag_live/index.html.heex:64
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?" msgid "Are you sure you want to delete %{name}?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167 #: lib/cannery_web/live/ammo_group_live/index.html.heex:169
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74 #: lib/cannery_web/live/ammo_group_live/show.html.heex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -156,7 +156,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:159 #: lib/cannery_web/live/ammo_group_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:127 #: lib/cannery_web/live/range_live/index.html.heex:128
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "" msgstr ""
@ -182,7 +182,7 @@ msgstr ""
msgid "Ammo moved to %{name} successfully" msgid "Ammo moved to %{name} successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:126 #: lib/cannery_web/live/invite_live/index.ex:116
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Copied to clipboard" msgid "Copied to clipboard"
msgstr "" msgstr ""
@ -236,7 +236,7 @@ msgid_plural "Ammo added successfully"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96 #: lib/cannery_web/live/ammo_type_live/index.html.heex:97
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
@ -247,27 +247,27 @@ msgstr ""
msgid "Register to setup Cannery" msgid "Register to setup Cannery"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex:43
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} deleted succesfully" msgid "%{invite_name} deleted succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:114 #: lib/cannery_web/live/invite_live/index.ex:104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} disabled succesfully" msgid "%{invite_name} disabled succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:90 #: lib/cannery_web/live/invite_live/index.ex:80
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} enabled succesfully" msgid "%{invite_name} enabled succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:68 #: lib/cannery_web/live/invite_live/index.ex:58
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} updated succesfully" msgid "%{invite_name} updated succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:135 #: lib/cannery_web/live/invite_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{user_email} deleted succesfully" msgid "%{user_email} deleted succesfully"
msgstr "" msgstr ""

View File

@ -10,7 +10,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
#: lib/cannery/containers.ex:200 #: lib/cannery/containers.ex:220
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container must be empty before deleting" msgid "Container must be empty before deleting"
msgstr "" msgstr ""
@ -98,11 +98,6 @@ msgstr ""
msgid "User confirmation link is invalid or it has expired." msgid "User confirmation link is invalid or it has expired."
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:18
#, elixir-autogen, elixir-format
msgid "You are not authorized to view this page"
msgstr ""
#: lib/cannery_web/controllers/user_auth.ex:177 #: lib/cannery_web/controllers/user_auth.ex:177
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You are not authorized to view this page." msgid "You are not authorized to view this page."
@ -159,7 +154,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}" msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "" msgstr ""
#: lib/cannery/ammo.ex:1015 #: lib/cannery/ammo.ex:1043
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "" msgstr ""

View File

@ -79,7 +79,7 @@ msgstr "¿Has olvidado tu contraseña?"
msgid "Invite someone new!" msgid "Invite someone new!"
msgstr "¡Invita a alguien nuevo!" msgstr "¡Invita a alguien nuevo!"
#: lib/cannery_web/components/core_components/topbar.html.heex:122 #: lib/cannery_web/components/core_components/topbar.html.heex:124
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32 #: lib/cannery_web/templates/user_confirmation/new.html.heex:32
#: lib/cannery_web/templates/user_registration/new.html.heex:44 #: lib/cannery_web/templates/user_registration/new.html.heex:44
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45 #: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
@ -110,7 +110,7 @@ msgstr "Nuevo Contenedor"
msgid "New Tag" msgid "New Tag"
msgstr "Nueva Etiqueta" msgstr "Nueva Etiqueta"
#: lib/cannery_web/components/core_components/topbar.html.heex:114 #: lib/cannery_web/components/core_components/topbar.html.heex:116
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29 #: lib/cannery_web/templates/user_confirmation/new.html.heex:29
#: lib/cannery_web/templates/user_registration/new.html.heex:3 #: lib/cannery_web/templates/user_registration/new.html.heex:3
#: lib/cannery_web/templates/user_registration/new.html.heex:37 #: lib/cannery_web/templates/user_registration/new.html.heex:37
@ -169,7 +169,7 @@ msgstr "Preparar munición"
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "¿Por qué no preparar parte para disparar?" msgstr "¿Por qué no preparar parte para disparar?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103 #: lib/cannery_web/live/ammo_group_live/index.html.heex:105
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103 #: lib/cannery_web/live/ammo_group_live/show.html.heex:103
#: lib/cannery_web/live/range_live/index.html.heex:45 #: lib/cannery_web/live/range_live/index.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -201,7 +201,7 @@ msgstr "añade primero un contenedor"
msgid "Create" msgid "Create"
msgstr "Crear" msgstr "Crear"
#: lib/cannery_web/templates/user_settings/edit.html.heex:111 #: lib/cannery_web/templates/user_settings/edit.html.heex:110
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change Language" msgid "Change Language"
msgstr "Cambiar Lenguaje" msgstr "Cambiar Lenguaje"
@ -222,7 +222,7 @@ msgid "add an ammo type first"
msgstr "añade primero un tipo de munición" msgstr "añade primero un tipo de munición"
#: lib/cannery_web/components/move_ammo_group_component.ex:80 #: lib/cannery_web/components/move_ammo_group_component.ex:80
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120 #: lib/cannery_web/live/ammo_group_live/index.html.heex:122
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96 #: lib/cannery_web/live/ammo_group_live/show.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
@ -250,13 +250,13 @@ msgstr "Desmontar del campo de tiro"
msgid "Export Data as JSON" msgid "Export Data as JSON"
msgstr "Exportar datos como JSON" msgstr "Exportar datos como JSON"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84 #: lib/cannery_web/live/ammo_type_live/index.html.heex:85
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{ammo_type_name}" msgid "Clone %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87 #: lib/cannery_web/live/container_live/index.html.heex:88
#: lib/cannery_web/live/container_live/index.html.heex:143 #: lib/cannery_web/live/container_live/index.html.heex:144
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{container_name}" msgid "Clone %{container_name}"
msgstr "" msgstr ""
@ -266,20 +266,20 @@ msgstr ""
msgid "Copy invite link for %{invite_name}" msgid "Copy invite link for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103 #: lib/cannery_web/live/ammo_type_live/index.html.heex:104
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36 #: lib/cannery_web/live/ammo_type_live/show.html.heex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{ammo_type_name}" msgid "Delete %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:102 #: lib/cannery_web/live/container_live/index.html.heex:103
#: lib/cannery_web/live/container_live/index.html.heex:158 #: lib/cannery_web/live/container_live/index.html.heex:159
#: lib/cannery_web/live/container_live/show.html.heex:55 #: lib/cannery_web/live/container_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{container_name}" msgid "Delete %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:65 #: lib/cannery_web/live/tag_live/index.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{tag_name}" msgid "Delete %{tag_name}"
msgstr "" msgstr ""
@ -290,30 +290,30 @@ msgid "Delete invite for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:161 #: lib/cannery_web/live/ammo_group_live/show.ex:161
#: lib/cannery_web/live/range_live/index.html.heex:130 #: lib/cannery_web/live/range_live/index.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete shot record of %{shot_group_count} shots" msgid "Delete shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74 #: lib/cannery_web/live/ammo_type_live/index.html.heex:75
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #: lib/cannery_web/live/ammo_type_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77 #: lib/cannery_web/live/container_live/index.html.heex:78
#: lib/cannery_web/live/container_live/index.html.heex:133 #: lib/cannery_web/live/container_live/index.html.heex:134
#: lib/cannery_web/live/container_live/show.html.heex:42 #: lib/cannery_web/live/container_live/show.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{container_name}" msgid "Edit %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:52 #: lib/cannery_web/live/tag_live/index.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{tag_name}" msgid "Edit %{tag_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142 #: lib/cannery_web/live/ammo_group_live/index.html.heex:144
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62 #: lib/cannery_web/live/ammo_group_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit ammo group of %{ammo_group_count} bullets" msgid "Edit ammo group of %{ammo_group_count} bullets"
@ -329,44 +329,45 @@ msgstr ""
msgid "Edit shot group of %{shot_group_count} shots" msgid "Edit shot group of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:113 #: lib/cannery_web/live/range_live/index.html.heex:114
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit shot record of %{shot_group_count} shots" msgid "Edit shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96 #: lib/cannery_web/live/ammo_group_live/index.html.heex:98
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Stage" msgid "Stage"
msgstr "Preparar munición" msgstr "Preparar munición"
#: lib/cannery_web/live/container_live/index.html.heex:65 #: lib/cannery_web/live/container_live/index.html.heex:66
#: lib/cannery_web/live/container_live/index.html.heex:122 #: lib/cannery_web/live/container_live/index.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tag %{container_name}" msgid "Tag %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64 #: lib/cannery_web/live/ammo_type_live/index.html.heex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View %{ammo_type_name}" msgid "View %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154 #: lib/cannery_web/live/ammo_group_live/index.html.heex:156
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Clone ammo group of %{ammo_group_count} bullets" msgid "Clone ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169 #: lib/cannery_web/live/ammo_group_live/index.html.heex:171
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76 #: lib/cannery_web/live/ammo_group_live/show.html.heex:76
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Delete ammo group of %{ammo_group_count} bullets" msgid "Delete ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "View ammo group of %{ammo_group_count} bullets" msgid "View ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""

View File

@ -38,7 +38,7 @@ msgstr "Aministradores:"
msgid "Ammo" msgid "Ammo"
msgstr "Munición" msgstr "Munición"
#: lib/cannery_web/components/ammo_group_table_component.ex:89 #: lib/cannery_web/components/ammo_group_table_component.ex:108
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
@ -90,7 +90,7 @@ msgstr "Cartucho"
msgid "Case material" msgid "Case material"
msgstr "Material del casquillo" msgstr "Material del casquillo"
#: lib/cannery_web/components/ammo_group_table_component.ex:65 #: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67 #: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -111,7 +111,7 @@ msgstr "Contenedores"
msgid "Corrosive" msgid "Corrosive"
msgstr "Corrosiva" msgstr "Corrosiva"
#: lib/cannery_web/components/ammo_group_table_component.ex:76 #: lib/cannery_web/components/ammo_group_table_component.ex:100
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
@ -141,7 +141,7 @@ msgstr "Descripción:"
msgid "Easy to Use:" msgid "Easy to Use:"
msgstr "Facil de Usar:" msgstr "Facil de Usar:"
#: lib/cannery_web/live/invite_live/index.ex:33 #: lib/cannery_web/live/invite_live/index.ex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Invite" msgid "Edit Invite"
msgstr "Editar Invitación" msgstr "Editar Invitación"
@ -189,7 +189,7 @@ msgid "Invite Only"
msgstr "Solo Invitación" msgstr "Solo Invitación"
#: lib/cannery_web/components/core_components/topbar.html.heex:74 #: lib/cannery_web/components/core_components/topbar.html.heex:74
#: lib/cannery_web/live/invite_live/index.ex:41 #: lib/cannery_web/live/invite_live/index.ex:31
#: lib/cannery_web/live/invite_live/index.html.heex:3 #: lib/cannery_web/live/invite_live/index.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invites" msgid "Invites"
@ -256,7 +256,7 @@ msgstr "Nuevo tipo de Munición"
msgid "New Container" msgid "New Container"
msgstr "Nuevo Contenedor" msgstr "Nuevo Contenedor"
#: lib/cannery_web/live/invite_live/index.ex:37 #: lib/cannery_web/live/invite_live/index.ex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Invite" msgid "New Invite"
msgstr "Nueva Invitación" msgstr "Nueva Invitación"
@ -267,18 +267,18 @@ msgid "New Tag"
msgstr "Nueva Etiqueta" msgstr "Nueva Etiqueta"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10 #: lib/cannery_web/live/ammo_group_live/index.html.heex:10
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 #: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No Ammo" msgid "No Ammo"
msgstr "Sin Munición" msgstr "Sin Munición"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167 #: lib/cannery_web/live/ammo_type_live/show.html.heex:163
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No ammo for this type" msgid "No ammo for this type"
msgstr "Sin munición para este tipo" msgstr "Sin munición para este tipo"
#: lib/cannery_web/live/container_live/index.html.heex:8 #: lib/cannery_web/live/container_live/index.html.heex:8
#: lib/cannery_web/live/container_live/index.html.heex:47 #: lib/cannery_web/live/container_live/index.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No containers" msgid "No containers"
msgstr "Sin contenedores" msgstr "Sin contenedores"
@ -290,13 +290,12 @@ msgstr "Sin invitaciones"
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
#: lib/cannery_web/live/tag_live/index.html.heex:10 #: lib/cannery_web/live/tag_live/index.html.heex:10
#: lib/cannery_web/live/tag_live/index.html.heex:43 #: lib/cannery_web/live/tag_live/index.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No tags" msgid "No tags"
msgstr "Sin etiquetas" msgstr "Sin etiquetas"
#: lib/cannery_web/components/add_shot_group_component.html.heex:38 #: lib/cannery_web/components/add_shot_group_component.html.heex:38
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/components/shot_group_table_component.ex:43 #: lib/cannery_web/components/shot_group_table_component.ex:43
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.ex:92 #: lib/cannery_web/live/ammo_group_live/show.ex:92
@ -305,7 +304,7 @@ msgstr "Sin etiquetas"
msgid "Notes" msgid "Notes"
msgstr "Notas" msgstr "Notas"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -322,13 +321,13 @@ msgstr "En la estantería"
msgid "Pressure" msgid "Pressure"
msgstr "Presión" msgstr "Presión"
#: lib/cannery_web/components/ammo_group_table_component.ex:78 #: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "Precio pagado" msgstr "Precio pagado"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "Precio pagado:" msgstr "Precio pagado:"
@ -441,7 +440,7 @@ msgstr "Tus datos se quedan contigo, sin excepciones"
msgid "No tags for this container" msgid "No tags for this container"
msgstr "Contenedor sin etiquetas" msgstr "Contenedor sin etiquetas"
#: lib/cannery_web/components/ammo_group_table_component.ex:72 #: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/core_components/topbar.html.heex:66 #: lib/cannery_web/components/core_components/topbar.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
@ -488,7 +487,7 @@ msgid "New Shot Records"
msgstr "Nuevos Tiros Récord" msgstr "Nuevos Tiros Récord"
#: lib/cannery_web/live/range_live/index.html.heex:55 #: lib/cannery_web/live/range_live/index.html.heex:55
#: lib/cannery_web/live/range_live/index.html.heex:97 #: lib/cannery_web/live/range_live/index.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No shots recorded" msgid "No shots recorded"
msgstr "No se han grabado tiros" msgstr "No se han grabado tiros"
@ -527,14 +526,14 @@ msgstr "No hay otros contenedores"
msgid "Shot log" msgid "Shot log"
msgstr "Registro de tiros" msgstr "Registro de tiros"
#: lib/cannery_web/components/ammo_group_table_component.ex:153 #: lib/cannery_web/components/ammo_group_table_component.ex:180
#: lib/cannery_web/components/ammo_group_table_component.ex:229 #: lib/cannery_web/components/ammo_group_table_component.ex:263
#: lib/cannery_web/components/ammo_type_table_component.ex:224 #: lib/cannery_web/components/ammo_type_table_component.ex:235
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37 #: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42 #: lib/cannery_web/live/ammo_group_live/show.html.heex:42
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139 #: lib/cannery_web/live/ammo_type_live/show.html.heex:135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "$%{amount}" msgstr "$%{amount}"
@ -622,14 +621,15 @@ msgstr "Editar etiquetas de %{name}"
msgid "Rounds:" msgid "Rounds:"
msgstr "Balas:" msgstr "Balas:"
#: lib/cannery_web/components/ammo_group_table_component.ex:226 #: lib/cannery_web/components/ammo_group_table_component.ex:177
#: lib/cannery_web/components/ammo_type_table_component.ex:223 #: lib/cannery_web/components/ammo_group_table_component.ex:259
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143 #: lib/cannery_web/components/ammo_type_table_component.ex:234
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "No hay información de coste" msgstr "No hay información de coste"
#: lib/cannery_web/components/ammo_group_table_component.ex:80 #: lib/cannery_web/components/ammo_group_table_component.ex:92
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "% restantes" msgstr "% restantes"
@ -695,7 +695,7 @@ msgstr "Tiros Récord"
msgid "Copies" msgid "Copies"
msgstr "Copias" msgstr "Copias"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126 #: lib/cannery_web/live/ammo_type_live/show.html.heex:122
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "Añadido en:" msgstr "Añadido en:"
@ -775,7 +775,7 @@ msgid "This ammo is not in a container"
msgstr "Esta munición no está en un contenedor" msgstr "Esta munición no está en un contenedor"
#: lib/cannery_web/components/core_components/container_card.html.heex:32 #: lib/cannery_web/components/core_components/container_card.html.heex:32
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98 #: lib/cannery_web/live/ammo_type_live/show.html.heex:96
#: lib/cannery_web/live/container_live/show.html.heex:23 #: lib/cannery_web/live/container_live/show.html.heex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -803,15 +803,15 @@ msgstr ""
msgid "Container:" msgid "Container:"
msgstr "Contenedor:" msgstr "Contenedor:"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 #: lib/cannery_web/live/ammo_group_live/index.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 #: lib/cannery_web/live/ammo_type_live/index.html.heex:40
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/ammo_type_live/show.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:98 #: lib/cannery_web/live/container_live/show.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "Mostrar usadas" msgstr "Mostrar usadas"
#: lib/cannery_web/components/ammo_group_table_component.ex:187 #: lib/cannery_web/components/ammo_group_table_component.ex:218
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
@ -834,8 +834,8 @@ msgstr "Paquetes"
msgid "Rounds" msgid "Rounds"
msgstr "Balas" msgstr "Balas"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159 #: lib/cannery_web/live/ammo_type_live/show.html.heex:155
#: lib/cannery_web/live/container_live/index.html.heex:39 #: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:104 #: lib/cannery_web/live/container_live/show.html.heex:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
@ -846,7 +846,7 @@ msgstr "Ver como tabla"
msgid "Total ever packs" msgid "Total ever packs"
msgstr "Paquetes totales" msgstr "Paquetes totales"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114 #: lib/cannery_web/live/ammo_type_live/show.html.heex:113
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "Paquetes totales:" msgstr "Paquetes totales:"
@ -856,7 +856,7 @@ msgstr "Paquetes totales:"
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "Balas totales" msgstr "Balas totales"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86 #: lib/cannery_web/live/ammo_type_live/show.html.heex:87
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "Balas totales:" msgstr "Balas totales:"
@ -866,7 +866,7 @@ msgstr "Balas totales:"
msgid "Used packs" msgid "Used packs"
msgstr "Paquetes usados" msgstr "Paquetes usados"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106 #: lib/cannery_web/live/ammo_type_live/show.html.heex:105
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "Paquetes usados:" msgstr "Paquetes usados:"
@ -876,7 +876,7 @@ msgstr "Paquetes usados:"
msgid "Used rounds" msgid "Used rounds"
msgstr "Balas usadas" msgstr "Balas usadas"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78 #: lib/cannery_web/live/ammo_type_live/show.html.heex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used rounds:" msgid "Used rounds:"
msgstr "Balas usadas:" msgstr "Balas usadas:"
@ -987,39 +987,39 @@ msgid "UPC:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:120 #: lib/cannery_web/components/ammo_type_table_component.ex:120
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135 #: lib/cannery_web/live/ammo_type_live/show.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Average CPR" msgid "Average CPR"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:28 #: lib/cannery_web/live/ammo_type_live/index.ex:28
#: lib/cannery_web/live/ammo_type_live/show.ex:135 #: lib/cannery_web/live/ammo_type_live/show.ex:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "Editar %{ammo_type_name}" msgstr "Editar %{ammo_type_name}"
#: lib/cannery_web/components/ammo_group_table_component.ex:233 #: lib/cannery_web/components/ammo_group_table_component.ex:267
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Empty" msgid "Empty"
msgstr "Vacio" msgstr "Vacio"
#: lib/cannery_web/components/ammo_group_table_component.ex:79 #: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR" msgid "CPR"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR:" msgid "CPR:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77 #: lib/cannery_web/components/ammo_group_table_component.ex:91
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Original Count" msgid "Original Count"
msgstr "Cantidad Original" msgstr "Cantidad Original"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Original Count:" msgid "Original Count:"
msgstr "Cantidad Original:" msgstr "Cantidad Original:"
@ -1034,28 +1034,28 @@ msgstr "Menu principal"
msgid "Total packs:" msgid "Total packs:"
msgstr "Paquetes totales:" msgstr "Paquetes totales:"
#: lib/cannery_web/components/ammo_group_table_component.ex:58 #: lib/cannery_web/components/ammo_group_table_component.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on" msgid "Last used on"
msgstr "Usada por última vez en" msgstr "Usada por última vez en"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on:" msgid "Last used on:"
msgstr "Usada por última vez en:" msgstr "Usada por última vez en:"
#: lib/cannery_web/components/ammo_group_table_component.ex:171 #: lib/cannery_web/components/ammo_group_table_component.ex:198
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Never used" msgid "Never used"
msgstr "Nunca usada" msgstr "Nunca usada"
#: lib/cannery_web/components/ammo_group_table_component.ex:57 #: lib/cannery_web/components/ammo_group_table_component.ex:64
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on" msgid "Purchased on"
msgstr "Comprada en" msgstr "Comprada en"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30 #: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on:" msgid "Purchased on:"
@ -1067,32 +1067,32 @@ msgid "Edit ammo"
msgstr "Editar munición" msgstr "Editar munición"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8 #: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 #: lib/cannery_web/live/ammo_type_live/index.html.heex:47
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "No Ammo types" msgid "No Ammo types"
msgstr "Sin tipo de Munición" msgstr "Sin tipo de Munición"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 #: lib/cannery_web/live/ammo_type_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search catalog" msgid "Search catalog"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 #: lib/cannery_web/live/ammo_group_live/index.html.heex:59
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Search ammo" msgid "Search ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:33 #: lib/cannery_web/live/container_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search containers" msgid "Search containers"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36 #: lib/cannery_web/live/tag_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Search tags" msgid "Search tags"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:90 #: lib/cannery_web/live/range_live/index.html.heex:91
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search shot records" msgid "Search shot records"
msgstr "" msgstr ""
@ -1231,3 +1231,28 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Really great weather" msgid "Really great weather"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:60
#: lib/cannery_web/components/ammo_type_table_component.ex:121
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/move_ammo_group_component.ex:70
#: lib/cannery_web/components/shot_group_table_component.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:105
#, elixir-autogen, elixir-format
msgid "Live Dashboard"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:90
#, elixir-autogen, elixir-format
msgid "Log out"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:100
#, elixir-autogen, elixir-format
msgid "Current Count"
msgstr ""

View File

@ -23,7 +23,7 @@ msgstr ""
## Run "mix gettext.extract" to bring this file up to ## Run "mix gettext.extract" to bring this file up to
## date. Leave "msgstr"s empty as changing them here has no ## date. Leave "msgstr"s empty as changing them here has no
## effect: edit them in PO (.po) files instead. ## effect: edit them in PO (.po) files instead.
#: lib/cannery/containers.ex:200 #: lib/cannery/containers.ex:220
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container must be empty before deleting" msgid "Container must be empty before deleting"
msgstr "El contenedor debe estar vacío antes de ser borrado" msgstr "El contenedor debe estar vacío antes de ser borrado"
@ -114,11 +114,6 @@ msgstr "No autorizado"
msgid "User confirmation link is invalid or it has expired." msgid "User confirmation link is invalid or it has expired."
msgstr "El enlace de confirmación de usuario no es válido o ha caducado." msgstr "El enlace de confirmación de usuario no es válido o ha caducado."
#: lib/cannery_web/live/invite_live/index.ex:18
#, elixir-autogen, elixir-format
msgid "You are not authorized to view this page"
msgstr "No está autorizado a ver esta página"
#: lib/cannery_web/controllers/user_auth.ex:177 #: lib/cannery_web/controllers/user_auth.ex:177
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You are not authorized to view this page." msgid "You are not authorized to view this page."
@ -175,7 +170,7 @@ msgstr "No se ha podido procesar el número de copias"
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}" msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "Número inválido de copias, debe ser entre 1 y %{max}. Fue %{multiplier" msgstr "Número inválido de copias, debe ser entre 1 y %{max}. Fue %{multiplier"
#: lib/cannery/ammo.ex:1015 #: lib/cannery/ammo.ex:1043
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "Multiplicador inválido" msgstr "Multiplicador inválido"

View File

@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} creado exitosamente" msgstr "%{name} creado exitosamente"
#: lib/cannery_web/live/ammo_type_live/index.ex:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.ex:54 #: lib/cannery_web/live/ammo_type_live/show.ex:49
#: lib/cannery_web/live/tag_live/index.ex:65 #: lib/cannery_web/live/tag_live/index.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} deleted succesfully" msgid "%{name} deleted succesfully"
@ -65,15 +65,15 @@ msgstr ""
msgid "Are you sure you want to delete %{email}? This action is permanent!" msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr "Está seguro que desea eliminar %{email}? Esta acción es permanente!" msgstr "Está seguro que desea eliminar %{email}? Esta acción es permanente!"
#: lib/cannery_web/live/container_live/index.html.heex:99 #: lib/cannery_web/live/container_live/index.html.heex:100
#: lib/cannery_web/live/container_live/index.html.heex:155 #: lib/cannery_web/live/container_live/index.html.heex:156
#: lib/cannery_web/live/container_live/show.html.heex:52 #: lib/cannery_web/live/container_live/show.html.heex:52
#: lib/cannery_web/live/tag_live/index.html.heex:63 #: lib/cannery_web/live/tag_live/index.html.heex:64
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?" msgid "Are you sure you want to delete %{name}?"
msgstr "Está seguro que desea eliminar %{name}?" msgstr "Está seguro que desea eliminar %{name}?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167 #: lib/cannery_web/live/ammo_group_live/index.html.heex:169
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74 #: lib/cannery_web/live/ammo_group_live/show.html.heex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -176,7 +176,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "Está seguro que desea desmontar esta munición?" msgstr "Está seguro que desea desmontar esta munición?"
#: lib/cannery_web/live/ammo_group_live/show.ex:159 #: lib/cannery_web/live/ammo_group_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:127 #: lib/cannery_web/live/range_live/index.html.heex:128
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "¿Está segure que quiere borrar este récord de disparos?" msgstr "¿Está segure que quiere borrar este récord de disparos?"
@ -202,7 +202,7 @@ msgstr "%{email} confirmado exitosamente."
msgid "Ammo moved to %{name} successfully" msgid "Ammo moved to %{name} successfully"
msgstr "Munición movida a %{name} exitosamente" msgstr "Munición movida a %{name} exitosamente"
#: lib/cannery_web/live/invite_live/index.ex:126 #: lib/cannery_web/live/invite_live/index.ex:116
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Copied to clipboard" msgid "Copied to clipboard"
msgstr "Copiado al portapapeles" msgstr "Copiado al portapapeles"
@ -256,7 +256,7 @@ msgid_plural "Ammo added successfully"
msgstr[0] "Munición añadida exitosamente" msgstr[0] "Munición añadida exitosamente"
msgstr[1] "Municiones añadidas exitosamente" msgstr[1] "Municiones añadidas exitosamente"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96 #: lib/cannery_web/live/ammo_type_live/index.html.heex:97
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
@ -269,27 +269,27 @@ msgstr ""
msgid "Register to setup Cannery" msgid "Register to setup Cannery"
msgstr "Regístrese para configurar %{name}" msgstr "Regístrese para configurar %{name}"
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex:43
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} deleted succesfully" msgid "%{invite_name} deleted succesfully"
msgstr "%{name} borrado exitosamente" msgstr "%{name} borrado exitosamente"
#: lib/cannery_web/live/invite_live/index.ex:114 #: lib/cannery_web/live/invite_live/index.ex:104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} disabled succesfully" msgid "%{invite_name} disabled succesfully"
msgstr "%{name} desactivado exitosamente" msgstr "%{name} desactivado exitosamente"
#: lib/cannery_web/live/invite_live/index.ex:90 #: lib/cannery_web/live/invite_live/index.ex:80
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} enabled succesfully" msgid "%{invite_name} enabled succesfully"
msgstr "%{name} activado exitosamente" msgstr "%{name} activado exitosamente"
#: lib/cannery_web/live/invite_live/index.ex:68 #: lib/cannery_web/live/invite_live/index.ex:58
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} updated succesfully" msgid "%{invite_name} updated succesfully"
msgstr "%{name} actualizado exitosamente" msgstr "%{name} actualizado exitosamente"
#: lib/cannery_web/live/invite_live/index.ex:135 #: lib/cannery_web/live/invite_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{user_email} deleted succesfully" msgid "%{user_email} deleted succesfully"
msgstr "%{name} borrado exitosamente" msgstr "%{name} borrado exitosamente"

View File

@ -79,7 +79,7 @@ msgstr "Mot de passe oublié?"
msgid "Invite someone new!" msgid "Invite someone new!"
msgstr "Invitez une nouvelle personne!" msgstr "Invitez une nouvelle personne!"
#: lib/cannery_web/components/core_components/topbar.html.heex:122 #: lib/cannery_web/components/core_components/topbar.html.heex:124
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32 #: lib/cannery_web/templates/user_confirmation/new.html.heex:32
#: lib/cannery_web/templates/user_registration/new.html.heex:44 #: lib/cannery_web/templates/user_registration/new.html.heex:44
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45 #: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
@ -110,7 +110,7 @@ msgstr "Nouveau conteneur"
msgid "New Tag" msgid "New Tag"
msgstr "Nouveau tag" msgstr "Nouveau tag"
#: lib/cannery_web/components/core_components/topbar.html.heex:114 #: lib/cannery_web/components/core_components/topbar.html.heex:116
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29 #: lib/cannery_web/templates/user_confirmation/new.html.heex:29
#: lib/cannery_web/templates/user_registration/new.html.heex:3 #: lib/cannery_web/templates/user_registration/new.html.heex:3
#: lib/cannery_web/templates/user_registration/new.html.heex:37 #: lib/cannery_web/templates/user_registration/new.html.heex:37
@ -169,7 +169,7 @@ msgstr "Munition préparée"
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "Pourquoi pas en préparer pour tirer?" msgstr "Pourquoi pas en préparer pour tirer?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103 #: lib/cannery_web/live/ammo_group_live/index.html.heex:105
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103 #: lib/cannery_web/live/ammo_group_live/show.html.heex:103
#: lib/cannery_web/live/range_live/index.html.heex:45 #: lib/cannery_web/live/range_live/index.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -201,7 +201,7 @@ msgstr "ajouter un conteneur en premier"
msgid "Create" msgid "Create"
msgstr "Créer" msgstr "Créer"
#: lib/cannery_web/templates/user_settings/edit.html.heex:111 #: lib/cannery_web/templates/user_settings/edit.html.heex:110
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change Language" msgid "Change Language"
msgstr "Changer la langue" msgstr "Changer la langue"
@ -222,7 +222,7 @@ msgid "add an ammo type first"
msgstr "Ajoutez d'abord un type de munitions" msgstr "Ajoutez d'abord un type de munitions"
#: lib/cannery_web/components/move_ammo_group_component.ex:80 #: lib/cannery_web/components/move_ammo_group_component.ex:80
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120 #: lib/cannery_web/live/ammo_group_live/index.html.heex:122
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96 #: lib/cannery_web/live/ammo_group_live/show.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
@ -250,13 +250,13 @@ msgstr ""
msgid "Export Data as JSON" msgid "Export Data as JSON"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84 #: lib/cannery_web/live/ammo_type_live/index.html.heex:85
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{ammo_type_name}" msgid "Clone %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87 #: lib/cannery_web/live/container_live/index.html.heex:88
#: lib/cannery_web/live/container_live/index.html.heex:143 #: lib/cannery_web/live/container_live/index.html.heex:144
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{container_name}" msgid "Clone %{container_name}"
msgstr "" msgstr ""
@ -266,20 +266,20 @@ msgstr ""
msgid "Copy invite link for %{invite_name}" msgid "Copy invite link for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103 #: lib/cannery_web/live/ammo_type_live/index.html.heex:104
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36 #: lib/cannery_web/live/ammo_type_live/show.html.heex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{ammo_type_name}" msgid "Delete %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:102 #: lib/cannery_web/live/container_live/index.html.heex:103
#: lib/cannery_web/live/container_live/index.html.heex:158 #: lib/cannery_web/live/container_live/index.html.heex:159
#: lib/cannery_web/live/container_live/show.html.heex:55 #: lib/cannery_web/live/container_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{container_name}" msgid "Delete %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:65 #: lib/cannery_web/live/tag_live/index.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{tag_name}" msgid "Delete %{tag_name}"
msgstr "" msgstr ""
@ -290,30 +290,30 @@ msgid "Delete invite for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:161 #: lib/cannery_web/live/ammo_group_live/show.ex:161
#: lib/cannery_web/live/range_live/index.html.heex:130 #: lib/cannery_web/live/range_live/index.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete shot record of %{shot_group_count} shots" msgid "Delete shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74 #: lib/cannery_web/live/ammo_type_live/index.html.heex:75
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #: lib/cannery_web/live/ammo_type_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77 #: lib/cannery_web/live/container_live/index.html.heex:78
#: lib/cannery_web/live/container_live/index.html.heex:133 #: lib/cannery_web/live/container_live/index.html.heex:134
#: lib/cannery_web/live/container_live/show.html.heex:42 #: lib/cannery_web/live/container_live/show.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{container_name}" msgid "Edit %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:52 #: lib/cannery_web/live/tag_live/index.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{tag_name}" msgid "Edit %{tag_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142 #: lib/cannery_web/live/ammo_group_live/index.html.heex:144
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62 #: lib/cannery_web/live/ammo_group_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit ammo group of %{ammo_group_count} bullets" msgid "Edit ammo group of %{ammo_group_count} bullets"
@ -329,44 +329,45 @@ msgstr ""
msgid "Edit shot group of %{shot_group_count} shots" msgid "Edit shot group of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:113 #: lib/cannery_web/live/range_live/index.html.heex:114
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit shot record of %{shot_group_count} shots" msgid "Edit shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96 #: lib/cannery_web/live/ammo_group_live/index.html.heex:98
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Stage" msgid "Stage"
msgstr "Munition préparée" msgstr "Munition préparée"
#: lib/cannery_web/live/container_live/index.html.heex:65 #: lib/cannery_web/live/container_live/index.html.heex:66
#: lib/cannery_web/live/container_live/index.html.heex:122 #: lib/cannery_web/live/container_live/index.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tag %{container_name}" msgid "Tag %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64 #: lib/cannery_web/live/ammo_type_live/index.html.heex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View %{ammo_type_name}" msgid "View %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154 #: lib/cannery_web/live/ammo_group_live/index.html.heex:156
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Clone ammo group of %{ammo_group_count} bullets" msgid "Clone ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169 #: lib/cannery_web/live/ammo_group_live/index.html.heex:171
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76 #: lib/cannery_web/live/ammo_group_live/show.html.heex:76
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Delete ammo group of %{ammo_group_count} bullets" msgid "Delete ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "View ammo group of %{ammo_group_count} bullets" msgid "View ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""

View File

@ -38,7 +38,7 @@ msgstr "Administrateur·ices:"
msgid "Ammo" msgid "Ammo"
msgstr "Munition" msgstr "Munition"
#: lib/cannery_web/components/ammo_group_table_component.ex:89 #: lib/cannery_web/components/ammo_group_table_component.ex:108
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
@ -90,7 +90,7 @@ msgstr "Cartouche"
msgid "Case material" msgid "Case material"
msgstr "Matériau de la caisse" msgstr "Matériau de la caisse"
#: lib/cannery_web/components/ammo_group_table_component.ex:65 #: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67 #: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -111,7 +111,7 @@ msgstr "Conteneurs"
msgid "Corrosive" msgid "Corrosive"
msgstr "Corrosive" msgstr "Corrosive"
#: lib/cannery_web/components/ammo_group_table_component.ex:76 #: lib/cannery_web/components/ammo_group_table_component.ex:100
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
@ -141,7 +141,7 @@ msgstr "Description:"
msgid "Easy to Use:" msgid "Easy to Use:"
msgstr "Simple à utiliser:" msgstr "Simple à utiliser:"
#: lib/cannery_web/live/invite_live/index.ex:33 #: lib/cannery_web/live/invite_live/index.ex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Invite" msgid "Edit Invite"
msgstr "Modifier linvitation" msgstr "Modifier linvitation"
@ -189,7 +189,7 @@ msgid "Invite Only"
msgstr "Uniquement sur invitation" msgstr "Uniquement sur invitation"
#: lib/cannery_web/components/core_components/topbar.html.heex:74 #: lib/cannery_web/components/core_components/topbar.html.heex:74
#: lib/cannery_web/live/invite_live/index.ex:41 #: lib/cannery_web/live/invite_live/index.ex:31
#: lib/cannery_web/live/invite_live/index.html.heex:3 #: lib/cannery_web/live/invite_live/index.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invites" msgid "Invites"
@ -256,7 +256,7 @@ msgstr "Nouveau type de munition"
msgid "New Container" msgid "New Container"
msgstr "Nouveau conteneur" msgstr "Nouveau conteneur"
#: lib/cannery_web/live/invite_live/index.ex:37 #: lib/cannery_web/live/invite_live/index.ex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Invite" msgid "New Invite"
msgstr "Nouvelle invitation" msgstr "Nouvelle invitation"
@ -267,18 +267,18 @@ msgid "New Tag"
msgstr "Nouveau tag" msgstr "Nouveau tag"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10 #: lib/cannery_web/live/ammo_group_live/index.html.heex:10
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 #: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No Ammo" msgid "No Ammo"
msgstr "Aucune munition" msgstr "Aucune munition"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167 #: lib/cannery_web/live/ammo_type_live/show.html.heex:163
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No ammo for this type" msgid "No ammo for this type"
msgstr "Aucune munition pour ce type" msgstr "Aucune munition pour ce type"
#: lib/cannery_web/live/container_live/index.html.heex:8 #: lib/cannery_web/live/container_live/index.html.heex:8
#: lib/cannery_web/live/container_live/index.html.heex:47 #: lib/cannery_web/live/container_live/index.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No containers" msgid "No containers"
msgstr "Aucun conteneur" msgstr "Aucun conteneur"
@ -290,13 +290,12 @@ msgstr "Aucune invitation"
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
#: lib/cannery_web/live/tag_live/index.html.heex:10 #: lib/cannery_web/live/tag_live/index.html.heex:10
#: lib/cannery_web/live/tag_live/index.html.heex:43 #: lib/cannery_web/live/tag_live/index.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No tags" msgid "No tags"
msgstr "Aucun tag" msgstr "Aucun tag"
#: lib/cannery_web/components/add_shot_group_component.html.heex:38 #: lib/cannery_web/components/add_shot_group_component.html.heex:38
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/components/shot_group_table_component.ex:43 #: lib/cannery_web/components/shot_group_table_component.ex:43
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.ex:92 #: lib/cannery_web/live/ammo_group_live/show.ex:92
@ -305,7 +304,7 @@ msgstr "Aucun tag"
msgid "Notes" msgid "Notes"
msgstr "Notes" msgstr "Notes"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -322,13 +321,13 @@ msgstr "Sur létagère"
msgid "Pressure" msgid "Pressure"
msgstr "Pression" msgstr "Pression"
#: lib/cannery_web/components/ammo_group_table_component.ex:78 #: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "Prix payé" msgstr "Prix payé"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "Prix payé:" msgstr "Prix payé:"
@ -442,7 +441,7 @@ msgstr "Vos données restent avec vous, point final"
msgid "No tags for this container" msgid "No tags for this container"
msgstr "Aucun tag pour ce conteneur" msgstr "Aucun tag pour ce conteneur"
#: lib/cannery_web/components/ammo_group_table_component.ex:72 #: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/core_components/topbar.html.heex:66 #: lib/cannery_web/components/core_components/topbar.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
@ -489,7 +488,7 @@ msgid "New Shot Records"
msgstr "Nouveaux enregistrements de tir" msgstr "Nouveaux enregistrements de tir"
#: lib/cannery_web/live/range_live/index.html.heex:55 #: lib/cannery_web/live/range_live/index.html.heex:55
#: lib/cannery_web/live/range_live/index.html.heex:97 #: lib/cannery_web/live/range_live/index.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No shots recorded" msgid "No shots recorded"
msgstr "Aucun tir enregistré" msgstr "Aucun tir enregistré"
@ -528,14 +527,14 @@ msgstr "Aucun autre conteneur"
msgid "Shot log" msgid "Shot log"
msgstr "Évènements de tir" msgstr "Évènements de tir"
#: lib/cannery_web/components/ammo_group_table_component.ex:153 #: lib/cannery_web/components/ammo_group_table_component.ex:180
#: lib/cannery_web/components/ammo_group_table_component.ex:229 #: lib/cannery_web/components/ammo_group_table_component.ex:263
#: lib/cannery_web/components/ammo_type_table_component.ex:224 #: lib/cannery_web/components/ammo_type_table_component.ex:235
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37 #: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42 #: lib/cannery_web/live/ammo_group_live/show.html.heex:42
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139 #: lib/cannery_web/live/ammo_type_live/show.html.heex:135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "%{amount}$" msgstr "%{amount}$"
@ -623,14 +622,15 @@ msgstr "Éditer les tags de %{name}"
msgid "Rounds:" msgid "Rounds:"
msgstr "Cartouches:" msgstr "Cartouches:"
#: lib/cannery_web/components/ammo_group_table_component.ex:226 #: lib/cannery_web/components/ammo_group_table_component.ex:177
#: lib/cannery_web/components/ammo_type_table_component.ex:223 #: lib/cannery_web/components/ammo_group_table_component.ex:259
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143 #: lib/cannery_web/components/ammo_type_table_component.ex:234
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "Aucune information de prix" msgstr "Aucune information de prix"
#: lib/cannery_web/components/ammo_group_table_component.ex:80 #: lib/cannery_web/components/ammo_group_table_component.ex:92
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "%restante" msgstr "%restante"
@ -696,7 +696,7 @@ msgstr "Enregistrer des tirs"
msgid "Copies" msgid "Copies"
msgstr "Exemplaires" msgstr "Exemplaires"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126 #: lib/cannery_web/live/ammo_type_live/show.html.heex:122
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "Ajouté le:" msgstr "Ajouté le:"
@ -776,7 +776,7 @@ msgid "This ammo is not in a container"
msgstr "Ce groupe de munition nest pas dans un conteneur" msgstr "Ce groupe de munition nest pas dans un conteneur"
#: lib/cannery_web/components/core_components/container_card.html.heex:32 #: lib/cannery_web/components/core_components/container_card.html.heex:32
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98 #: lib/cannery_web/live/ammo_type_live/show.html.heex:96
#: lib/cannery_web/live/container_live/show.html.heex:23 #: lib/cannery_web/live/container_live/show.html.heex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -804,15 +804,15 @@ msgstr ""
msgid "Container:" msgid "Container:"
msgstr "Conteneur" msgstr "Conteneur"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 #: lib/cannery_web/live/ammo_group_live/index.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 #: lib/cannery_web/live/ammo_type_live/index.html.heex:40
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/ammo_type_live/show.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:98 #: lib/cannery_web/live/container_live/show.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:187 #: lib/cannery_web/components/ammo_group_table_component.ex:218
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
@ -835,8 +835,8 @@ msgstr "Packages:"
msgid "Rounds" msgid "Rounds"
msgstr "Cartouches:" msgstr "Cartouches:"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159 #: lib/cannery_web/live/ammo_type_live/show.html.heex:155
#: lib/cannery_web/live/container_live/index.html.heex:39 #: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:104 #: lib/cannery_web/live/container_live/show.html.heex:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
@ -847,7 +847,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114 #: lib/cannery_web/live/ammo_type_live/show.html.heex:113
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -857,7 +857,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "Quantité de cartouches" msgstr "Quantité de cartouches"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86 #: lib/cannery_web/live/ammo_type_live/show.html.heex:87
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "Nombre totale de cartouches tirées:" msgstr "Nombre totale de cartouches tirées:"
@ -867,7 +867,7 @@ msgstr "Nombre totale de cartouches tirées:"
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106 #: lib/cannery_web/live/ammo_type_live/show.html.heex:105
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -877,7 +877,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78 #: lib/cannery_web/live/ammo_type_live/show.html.heex:79
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -988,39 +988,39 @@ msgid "UPC:"
msgstr "UPC" msgstr "UPC"
#: lib/cannery_web/components/ammo_type_table_component.ex:120 #: lib/cannery_web/components/ammo_type_table_component.ex:120
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135 #: lib/cannery_web/live/ammo_type_live/show.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Average CPR" msgid "Average CPR"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:28 #: lib/cannery_web/live/ammo_type_live/index.ex:28
#: lib/cannery_web/live/ammo_type_live/show.ex:135 #: lib/cannery_web/live/ammo_type_live/show.ex:104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "Éditer %{name}" msgstr "Éditer %{name}"
#: lib/cannery_web/components/ammo_group_table_component.ex:233 #: lib/cannery_web/components/ammo_group_table_component.ex:267
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Empty" msgid "Empty"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79 #: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR" msgid "CPR"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR:" msgid "CPR:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77 #: lib/cannery_web/components/ammo_group_table_component.ex:91
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Original Count" msgid "Original Count"
msgstr "Nombre original:" msgstr "Nombre original:"
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:" msgid "Original Count:"
msgstr "Nombre original:" msgstr "Nombre original:"
@ -1035,28 +1035,28 @@ msgstr ""
msgid "Total packs:" msgid "Total packs:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:58 #: lib/cannery_web/components/ammo_group_table_component.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on" msgid "Last used on"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on:" msgid "Last used on:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:171 #: lib/cannery_web/components/ammo_group_table_component.ex:198
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Never used" msgid "Never used"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57 #: lib/cannery_web/components/ammo_group_table_component.ex:64
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on" msgid "Purchased on"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30 #: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on:" msgid "Purchased on:"
@ -1068,32 +1068,32 @@ msgid "Edit ammo"
msgstr "Éditer le type de munition" msgstr "Éditer le type de munition"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8 #: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 #: lib/cannery_web/live/ammo_type_live/index.html.heex:47
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "No Ammo types" msgid "No Ammo types"
msgstr "Aucun type de munition" msgstr "Aucun type de munition"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 #: lib/cannery_web/live/ammo_type_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search catalog" msgid "Search catalog"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 #: lib/cannery_web/live/ammo_group_live/index.html.heex:59
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Search ammo" msgid "Search ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:33 #: lib/cannery_web/live/container_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search containers" msgid "Search containers"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36 #: lib/cannery_web/live/tag_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Search tags" msgid "Search tags"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:90 #: lib/cannery_web/live/range_live/index.html.heex:91
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search shot records" msgid "Search shot records"
msgstr "" msgstr ""
@ -1232,3 +1232,28 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Really great weather" msgid "Really great weather"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:60
#: lib/cannery_web/components/ammo_type_table_component.ex:121
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/move_ammo_group_component.ex:70
#: lib/cannery_web/components/shot_group_table_component.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:105
#, elixir-autogen, elixir-format
msgid "Live Dashboard"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:90
#, elixir-autogen, elixir-format
msgid "Log out"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:100
#, elixir-autogen, elixir-format
msgid "Current Count"
msgstr ""

View File

@ -23,7 +23,7 @@ msgstr ""
# # Run "mix gettext.extract" to bring this file up to # # Run "mix gettext.extract" to bring this file up to
# # date. Leave "msgstr"s empty as changing them here has no # # date. Leave "msgstr"s empty as changing them here has no
# # effect: edit them in PO (.po) files instead. # # effect: edit them in PO (.po) files instead.
#: lib/cannery/containers.ex:200 #: lib/cannery/containers.ex:220
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container must be empty before deleting" msgid "Container must be empty before deleting"
msgstr "Le conteneur doit être vide pour être supprimé" msgstr "Le conteneur doit être vide pour être supprimé"
@ -113,11 +113,6 @@ msgstr "Non autorisé·e"
msgid "User confirmation link is invalid or it has expired." msgid "User confirmation link is invalid or it has expired."
msgstr "Le lien de confirmation dutilisateur·ice est invalide ou a expiré." msgstr "Le lien de confirmation dutilisateur·ice est invalide ou a expiré."
#: lib/cannery_web/live/invite_live/index.ex:18
#, elixir-autogen, elixir-format
msgid "You are not authorized to view this page"
msgstr "Vous nêtes pas autorisé·e à voir cette page"
#: lib/cannery_web/controllers/user_auth.ex:177 #: lib/cannery_web/controllers/user_auth.ex:177
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You are not authorized to view this page." msgid "You are not authorized to view this page."
@ -176,7 +171,7 @@ msgstr "Impossible d'analyser le nombre de copies"
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}" msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "Nombre de copies invalide, doit être 1 et %{max}. Été %{multiplier}" msgstr "Nombre de copies invalide, doit être 1 et %{max}. Été %{multiplier}"
#: lib/cannery/ammo.ex:1015 #: lib/cannery/ammo.ex:1043
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "Multiplicateur invalide" msgstr "Multiplicateur invalide"

View File

@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} créé· avec succès" msgstr "%{name} créé· avec succès"
#: lib/cannery_web/live/ammo_type_live/index.ex:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.ex:54 #: lib/cannery_web/live/ammo_type_live/show.ex:49
#: lib/cannery_web/live/tag_live/index.ex:65 #: lib/cannery_web/live/tag_live/index.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} deleted succesfully" msgid "%{name} deleted succesfully"
@ -66,15 +66,15 @@ msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr "" msgstr ""
"Êtes-vous certain·e de supprimer %{email}? Cette action est définitive!" "Êtes-vous certain·e de supprimer %{email}? Cette action est définitive!"
#: lib/cannery_web/live/container_live/index.html.heex:99 #: lib/cannery_web/live/container_live/index.html.heex:100
#: lib/cannery_web/live/container_live/index.html.heex:155 #: lib/cannery_web/live/container_live/index.html.heex:156
#: lib/cannery_web/live/container_live/show.html.heex:52 #: lib/cannery_web/live/container_live/show.html.heex:52
#: lib/cannery_web/live/tag_live/index.html.heex:63 #: lib/cannery_web/live/tag_live/index.html.heex:64
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?" msgid "Are you sure you want to delete %{name}?"
msgstr "Êtes-vous certain·e de supprimer %{name}?" msgstr "Êtes-vous certain·e de supprimer %{name}?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167 #: lib/cannery_web/live/ammo_group_live/index.html.heex:169
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74 #: lib/cannery_web/live/ammo_group_live/show.html.heex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -178,7 +178,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition?" msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition?"
#: lib/cannery_web/live/ammo_group_live/show.ex:159 #: lib/cannery_web/live/ammo_group_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:127 #: lib/cannery_web/live/range_live/index.html.heex:128
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir?" msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir?"
@ -204,7 +204,7 @@ msgstr "%{email} confirmé avec succès."
msgid "Ammo moved to %{name} successfully" msgid "Ammo moved to %{name} successfully"
msgstr "Munition déplacée à %{name} avec succès" msgstr "Munition déplacée à %{name} avec succès"
#: lib/cannery_web/live/invite_live/index.ex:126 #: lib/cannery_web/live/invite_live/index.ex:116
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Copied to clipboard" msgid "Copied to clipboard"
msgstr "Copié dans le presse-papier" msgstr "Copié dans le presse-papier"
@ -258,7 +258,7 @@ msgid_plural "Ammo added successfully"
msgstr[0] "Groupe de munition mis à jour avec succès" msgstr[0] "Groupe de munition mis à jour avec succès"
msgstr[1] "Groupe de munition mis à jour avec succès" msgstr[1] "Groupe de munition mis à jour avec succès"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96 #: lib/cannery_web/live/ammo_type_live/index.html.heex:97
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
@ -269,27 +269,27 @@ msgstr "Êtes-vous certain·e de supprimer %{name}?"
msgid "Register to setup Cannery" msgid "Register to setup Cannery"
msgstr "Senregistrer pour mettre en place %{name}" msgstr "Senregistrer pour mettre en place %{name}"
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex:43
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} deleted succesfully" msgid "%{invite_name} deleted succesfully"
msgstr "%{name} supprimé· avec succès" msgstr "%{name} supprimé· avec succès"
#: lib/cannery_web/live/invite_live/index.ex:114 #: lib/cannery_web/live/invite_live/index.ex:104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} disabled succesfully" msgid "%{invite_name} disabled succesfully"
msgstr "%{name} supprimé·e avec succès" msgstr "%{name} supprimé·e avec succès"
#: lib/cannery_web/live/invite_live/index.ex:90 #: lib/cannery_web/live/invite_live/index.ex:80
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} enabled succesfully" msgid "%{invite_name} enabled succesfully"
msgstr "%{name} activé·e avec succès" msgstr "%{name} activé·e avec succès"
#: lib/cannery_web/live/invite_live/index.ex:68 #: lib/cannery_web/live/invite_live/index.ex:58
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} updated succesfully" msgid "%{invite_name} updated succesfully"
msgstr "%{name} mis à jour avec succès" msgstr "%{name} mis à jour avec succès"
#: lib/cannery_web/live/invite_live/index.ex:135 #: lib/cannery_web/live/invite_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{user_email} deleted succesfully" msgid "%{user_email} deleted succesfully"
msgstr "%{name} supprimé· avec succès" msgstr "%{name} supprimé· avec succès"

View File

@ -77,7 +77,7 @@ msgstr ""
msgid "Invite someone new!" msgid "Invite someone new!"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:122 #: lib/cannery_web/components/core_components/topbar.html.heex:124
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32 #: lib/cannery_web/templates/user_confirmation/new.html.heex:32
#: lib/cannery_web/templates/user_registration/new.html.heex:44 #: lib/cannery_web/templates/user_registration/new.html.heex:44
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45 #: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
@ -108,7 +108,7 @@ msgstr ""
msgid "New Tag" msgid "New Tag"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:114 #: lib/cannery_web/components/core_components/topbar.html.heex:116
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29 #: lib/cannery_web/templates/user_confirmation/new.html.heex:29
#: lib/cannery_web/templates/user_registration/new.html.heex:3 #: lib/cannery_web/templates/user_registration/new.html.heex:3
#: lib/cannery_web/templates/user_registration/new.html.heex:37 #: lib/cannery_web/templates/user_registration/new.html.heex:37
@ -167,7 +167,7 @@ msgstr ""
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103 #: lib/cannery_web/live/ammo_group_live/index.html.heex:105
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103 #: lib/cannery_web/live/ammo_group_live/show.html.heex:103
#: lib/cannery_web/live/range_live/index.html.heex:45 #: lib/cannery_web/live/range_live/index.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -199,7 +199,7 @@ msgstr ""
msgid "Create" msgid "Create"
msgstr "" msgstr ""
#: lib/cannery_web/templates/user_settings/edit.html.heex:111 #: lib/cannery_web/templates/user_settings/edit.html.heex:110
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Change Language" msgid "Change Language"
msgstr "" msgstr ""
@ -220,7 +220,7 @@ msgid "add an ammo type first"
msgstr "" msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:80 #: lib/cannery_web/components/move_ammo_group_component.ex:80
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120 #: lib/cannery_web/live/ammo_group_live/index.html.heex:122
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96 #: lib/cannery_web/live/ammo_group_live/show.html.heex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
@ -248,13 +248,13 @@ msgstr ""
msgid "Export Data as JSON" msgid "Export Data as JSON"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84 #: lib/cannery_web/live/ammo_type_live/index.html.heex:85
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{ammo_type_name}" msgid "Clone %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87 #: lib/cannery_web/live/container_live/index.html.heex:88
#: lib/cannery_web/live/container_live/index.html.heex:143 #: lib/cannery_web/live/container_live/index.html.heex:144
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Clone %{container_name}" msgid "Clone %{container_name}"
msgstr "" msgstr ""
@ -264,20 +264,20 @@ msgstr ""
msgid "Copy invite link for %{invite_name}" msgid "Copy invite link for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103 #: lib/cannery_web/live/ammo_type_live/index.html.heex:104
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36 #: lib/cannery_web/live/ammo_type_live/show.html.heex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{ammo_type_name}" msgid "Delete %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:102 #: lib/cannery_web/live/container_live/index.html.heex:103
#: lib/cannery_web/live/container_live/index.html.heex:158 #: lib/cannery_web/live/container_live/index.html.heex:159
#: lib/cannery_web/live/container_live/show.html.heex:55 #: lib/cannery_web/live/container_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{container_name}" msgid "Delete %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:65 #: lib/cannery_web/live/tag_live/index.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete %{tag_name}" msgid "Delete %{tag_name}"
msgstr "" msgstr ""
@ -288,30 +288,30 @@ msgid "Delete invite for %{invite_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:161 #: lib/cannery_web/live/ammo_group_live/show.ex:161
#: lib/cannery_web/live/range_live/index.html.heex:130 #: lib/cannery_web/live/range_live/index.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete shot record of %{shot_group_count} shots" msgid "Delete shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74 #: lib/cannery_web/live/ammo_type_live/index.html.heex:75
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #: lib/cannery_web/live/ammo_type_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77 #: lib/cannery_web/live/container_live/index.html.heex:78
#: lib/cannery_web/live/container_live/index.html.heex:133 #: lib/cannery_web/live/container_live/index.html.heex:134
#: lib/cannery_web/live/container_live/show.html.heex:42 #: lib/cannery_web/live/container_live/show.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{container_name}" msgid "Edit %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:52 #: lib/cannery_web/live/tag_live/index.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{tag_name}" msgid "Edit %{tag_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142 #: lib/cannery_web/live/ammo_group_live/index.html.heex:144
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62 #: lib/cannery_web/live/ammo_group_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit ammo group of %{ammo_group_count} bullets" msgid "Edit ammo group of %{ammo_group_count} bullets"
@ -327,44 +327,45 @@ msgstr ""
msgid "Edit shot group of %{shot_group_count} shots" msgid "Edit shot group of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:113 #: lib/cannery_web/live/range_live/index.html.heex:114
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit shot record of %{shot_group_count} shots" msgid "Edit shot record of %{shot_group_count} shots"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96 #: lib/cannery_web/live/ammo_group_live/index.html.heex:98
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Stage" msgid "Stage"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:65 #: lib/cannery_web/live/container_live/index.html.heex:66
#: lib/cannery_web/live/container_live/index.html.heex:122 #: lib/cannery_web/live/container_live/index.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tag %{container_name}" msgid "Tag %{container_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64 #: lib/cannery_web/live/ammo_type_live/index.html.heex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View %{ammo_type_name}" msgid "View %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154 #: lib/cannery_web/live/ammo_group_live/index.html.heex:156
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Clone ammo group of %{ammo_group_count} bullets" msgid "Clone ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169 #: lib/cannery_web/live/ammo_group_live/index.html.heex:171
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76 #: lib/cannery_web/live/ammo_group_live/show.html.heex:76
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Delete ammo group of %{ammo_group_count} bullets" msgid "Delete ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "View ammo group of %{ammo_group_count} bullets" msgid "View ammo group of %{ammo_group_count} bullets"
msgstr "" msgstr ""

View File

@ -36,7 +36,7 @@ msgstr ""
msgid "Ammo" msgid "Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:89 #: lib/cannery_web/components/ammo_group_table_component.ex:108
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
@ -88,7 +88,7 @@ msgstr ""
msgid "Case material" msgid "Case material"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:65 #: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67 #: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -109,7 +109,7 @@ msgstr ""
msgid "Corrosive" msgid "Corrosive"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:76 #: lib/cannery_web/components/ammo_group_table_component.ex:100
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
@ -139,7 +139,7 @@ msgstr ""
msgid "Easy to Use:" msgid "Easy to Use:"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:33 #: lib/cannery_web/live/invite_live/index.ex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Invite" msgid "Edit Invite"
msgstr "" msgstr ""
@ -187,7 +187,7 @@ msgid "Invite Only"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:74 #: lib/cannery_web/components/core_components/topbar.html.heex:74
#: lib/cannery_web/live/invite_live/index.ex:41 #: lib/cannery_web/live/invite_live/index.ex:31
#: lib/cannery_web/live/invite_live/index.html.heex:3 #: lib/cannery_web/live/invite_live/index.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invites" msgid "Invites"
@ -254,7 +254,7 @@ msgstr ""
msgid "New Container" msgid "New Container"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:37 #: lib/cannery_web/live/invite_live/index.ex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Invite" msgid "New Invite"
msgstr "" msgstr ""
@ -265,18 +265,18 @@ msgid "New Tag"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10 #: lib/cannery_web/live/ammo_group_live/index.html.heex:10
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 #: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No Ammo" msgid "No Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167 #: lib/cannery_web/live/ammo_type_live/show.html.heex:163
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No ammo for this type" msgid "No ammo for this type"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:8 #: lib/cannery_web/live/container_live/index.html.heex:8
#: lib/cannery_web/live/container_live/index.html.heex:47 #: lib/cannery_web/live/container_live/index.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No containers" msgid "No containers"
msgstr "" msgstr ""
@ -288,13 +288,12 @@ msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
#: lib/cannery_web/live/tag_live/index.html.heex:10 #: lib/cannery_web/live/tag_live/index.html.heex:10
#: lib/cannery_web/live/tag_live/index.html.heex:43 #: lib/cannery_web/live/tag_live/index.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No tags" msgid "No tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:38 #: lib/cannery_web/components/add_shot_group_component.html.heex:38
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/components/shot_group_table_component.ex:43 #: lib/cannery_web/components/shot_group_table_component.ex:43
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.ex:92 #: lib/cannery_web/live/ammo_group_live/show.ex:92
@ -303,7 +302,7 @@ msgstr ""
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -320,13 +319,13 @@ msgstr ""
msgid "Pressure" msgid "Pressure"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:78 #: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "" msgstr ""
@ -436,7 +435,7 @@ msgstr ""
msgid "No tags for this container" msgid "No tags for this container"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72 #: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/core_components/topbar.html.heex:66 #: lib/cannery_web/components/core_components/topbar.html.heex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
@ -483,7 +482,7 @@ msgid "New Shot Records"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:55 #: lib/cannery_web/live/range_live/index.html.heex:55
#: lib/cannery_web/live/range_live/index.html.heex:97 #: lib/cannery_web/live/range_live/index.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No shots recorded" msgid "No shots recorded"
msgstr "" msgstr ""
@ -522,14 +521,14 @@ msgstr ""
msgid "Shot log" msgid "Shot log"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:153 #: lib/cannery_web/components/ammo_group_table_component.ex:180
#: lib/cannery_web/components/ammo_group_table_component.ex:229 #: lib/cannery_web/components/ammo_group_table_component.ex:263
#: lib/cannery_web/components/ammo_type_table_component.ex:224 #: lib/cannery_web/components/ammo_type_table_component.ex:235
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37 #: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42 #: lib/cannery_web/live/ammo_group_live/show.html.heex:42
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139 #: lib/cannery_web/live/ammo_type_live/show.html.heex:135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "" msgstr ""
@ -617,14 +616,15 @@ msgstr ""
msgid "Rounds:" msgid "Rounds:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:226 #: lib/cannery_web/components/ammo_group_table_component.ex:177
#: lib/cannery_web/components/ammo_type_table_component.ex:223 #: lib/cannery_web/components/ammo_group_table_component.ex:259
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143 #: lib/cannery_web/components/ammo_type_table_component.ex:234
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:80 #: lib/cannery_web/components/ammo_group_table_component.ex:92
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "" msgstr ""
@ -690,7 +690,7 @@ msgstr ""
msgid "Copies" msgid "Copies"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126 #: lib/cannery_web/live/ammo_type_live/show.html.heex:122
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "" msgstr ""
@ -770,7 +770,7 @@ msgid "This ammo is not in a container"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/container_card.html.heex:32 #: lib/cannery_web/components/core_components/container_card.html.heex:32
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98 #: lib/cannery_web/live/ammo_type_live/show.html.heex:96
#: lib/cannery_web/live/container_live/show.html.heex:23 #: lib/cannery_web/live/container_live/show.html.heex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -797,15 +797,15 @@ msgstr ""
msgid "Container:" msgid "Container:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 #: lib/cannery_web/live/ammo_group_live/index.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 #: lib/cannery_web/live/ammo_type_live/index.html.heex:40
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/ammo_type_live/show.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:98 #: lib/cannery_web/live/container_live/show.html.heex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:187 #: lib/cannery_web/components/ammo_group_table_component.ex:218
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
@ -828,8 +828,8 @@ msgstr ""
msgid "Rounds" msgid "Rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159 #: lib/cannery_web/live/ammo_type_live/show.html.heex:155
#: lib/cannery_web/live/container_live/index.html.heex:39 #: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:104 #: lib/cannery_web/live/container_live/show.html.heex:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
@ -840,7 +840,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114 #: lib/cannery_web/live/ammo_type_live/show.html.heex:113
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -850,7 +850,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86 #: lib/cannery_web/live/ammo_type_live/show.html.heex:87
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "" msgstr ""
@ -860,7 +860,7 @@ msgstr ""
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106 #: lib/cannery_web/live/ammo_type_live/show.html.heex:105
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -870,7 +870,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78 #: lib/cannery_web/live/ammo_type_live/show.html.heex:79
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -981,39 +981,39 @@ msgid "UPC:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:120 #: lib/cannery_web/components/ammo_type_table_component.ex:120
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135 #: lib/cannery_web/live/ammo_type_live/show.html.heex:131
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Average CPR" msgid "Average CPR"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:28 #: lib/cannery_web/live/ammo_type_live/index.ex:28
#: lib/cannery_web/live/ammo_type_live/show.ex:135 #: lib/cannery_web/live/ammo_type_live/show.ex:104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}" msgid "Edit %{ammo_type_name}"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:233 #: lib/cannery_web/components/ammo_group_table_component.ex:267
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Empty" msgid "Empty"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79 #: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR" msgid "CPR"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "CPR:" msgid "CPR:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77 #: lib/cannery_web/components/ammo_group_table_component.ex:91
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Original Count" msgid "Original Count"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:" msgid "Original Count:"
msgstr "" msgstr ""
@ -1028,28 +1028,28 @@ msgstr ""
msgid "Total packs:" msgid "Total packs:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:58 #: lib/cannery_web/components/ammo_group_table_component.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on" msgid "Last used on"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last used on:" msgid "Last used on:"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:171 #: lib/cannery_web/components/ammo_group_table_component.ex:198
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Never used" msgid "Never used"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57 #: lib/cannery_web/components/ammo_group_table_component.ex:64
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on" msgid "Purchased on"
msgstr "" msgstr ""
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31 #: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30 #: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Purchased on:" msgid "Purchased on:"
@ -1061,32 +1061,32 @@ msgid "Edit ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8 #: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 #: lib/cannery_web/live/ammo_type_live/index.html.heex:47
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "No Ammo types" msgid "No Ammo types"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 #: lib/cannery_web/live/ammo_type_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search catalog" msgid "Search catalog"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 #: lib/cannery_web/live/ammo_group_live/index.html.heex:59
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Search ammo" msgid "Search ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:33 #: lib/cannery_web/live/container_live/index.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search containers" msgid "Search containers"
msgstr "" msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36 #: lib/cannery_web/live/tag_live/index.html.heex:37
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Search tags" msgid "Search tags"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:90 #: lib/cannery_web/live/range_live/index.html.heex:91
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Search shot records" msgid "Search shot records"
msgstr "" msgstr ""
@ -1223,3 +1223,28 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Really great weather" msgid "Really great weather"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:60
#: lib/cannery_web/components/ammo_type_table_component.ex:121
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/move_ammo_group_component.ex:70
#: lib/cannery_web/components/shot_group_table_component.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:105
#, elixir-autogen, elixir-format
msgid "Live Dashboard"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:90
#, elixir-autogen, elixir-format
msgid "Log out"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:100
#, elixir-autogen, elixir-format
msgid "Current Count"
msgstr ""

View File

@ -24,7 +24,7 @@ msgstr ""
## Run "mix gettext.extract" to bring this file up to ## Run "mix gettext.extract" to bring this file up to
## date. Leave "msgstr"s empty as changing them here has no ## date. Leave "msgstr"s empty as changing them here has no
## effect: edit them in PO (.po) files instead. ## effect: edit them in PO (.po) files instead.
#: lib/cannery/containers.ex:200 #: lib/cannery/containers.ex:220
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container must be empty before deleting" msgid "Container must be empty before deleting"
msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh" msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh"
@ -114,11 +114,6 @@ msgstr "Níl cead agaibh"
msgid "User confirmation link is invalid or it has expired." msgid "User confirmation link is invalid or it has expired."
msgstr "Tá nasc an úsáideoir a deimhnigh neamhbailí nó as dáta." msgstr "Tá nasc an úsáideoir a deimhnigh neamhbailí nó as dáta."
#: lib/cannery_web/live/invite_live/index.ex:18
#, elixir-autogen, elixir-format
msgid "You are not authorized to view this page"
msgstr "Níl cead agaibh féachaint ar an leathanach seo"
#: lib/cannery_web/controllers/user_auth.ex:177 #: lib/cannery_web/controllers/user_auth.ex:177
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You are not authorized to view this page." msgid "You are not authorized to view this page."
@ -175,7 +170,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}" msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "" msgstr ""
#: lib/cannery/ammo.ex:1015 #: lib/cannery/ammo.ex:1043
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "" msgstr ""

View File

@ -30,7 +30,7 @@ msgid "%{name} created successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.ex:54 #: lib/cannery_web/live/ammo_type_live/show.ex:49
#: lib/cannery_web/live/tag_live/index.ex:65 #: lib/cannery_web/live/tag_live/index.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} deleted succesfully" msgid "%{name} deleted succesfully"
@ -61,15 +61,15 @@ msgstr ""
msgid "Are you sure you want to delete %{email}? This action is permanent!" msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:99 #: lib/cannery_web/live/container_live/index.html.heex:100
#: lib/cannery_web/live/container_live/index.html.heex:155 #: lib/cannery_web/live/container_live/index.html.heex:156
#: lib/cannery_web/live/container_live/show.html.heex:52 #: lib/cannery_web/live/container_live/show.html.heex:52
#: lib/cannery_web/live/tag_live/index.html.heex:63 #: lib/cannery_web/live/tag_live/index.html.heex:64
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?" msgid "Are you sure you want to delete %{name}?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167 #: lib/cannery_web/live/ammo_group_live/index.html.heex:169
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74 #: lib/cannery_web/live/ammo_group_live/show.html.heex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -167,7 +167,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:159 #: lib/cannery_web/live/ammo_group_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:127 #: lib/cannery_web/live/range_live/index.html.heex:128
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "" msgstr ""
@ -193,7 +193,7 @@ msgstr ""
msgid "Ammo moved to %{name} successfully" msgid "Ammo moved to %{name} successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:126 #: lib/cannery_web/live/invite_live/index.ex:116
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Copied to clipboard" msgid "Copied to clipboard"
msgstr "" msgstr ""
@ -250,7 +250,7 @@ msgstr[2] ""
msgstr[3] "" msgstr[3] ""
msgstr[4] "" msgstr[4] ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96 #: lib/cannery_web/live/ammo_type_live/index.html.heex:97
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
@ -261,27 +261,27 @@ msgstr ""
msgid "Register to setup Cannery" msgid "Register to setup Cannery"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex:43
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} deleted succesfully" msgid "%{invite_name} deleted succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:114 #: lib/cannery_web/live/invite_live/index.ex:104
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} disabled succesfully" msgid "%{invite_name} disabled succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:90 #: lib/cannery_web/live/invite_live/index.ex:80
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} enabled succesfully" msgid "%{invite_name} enabled succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:68 #: lib/cannery_web/live/invite_live/index.ex:58
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{invite_name} updated succesfully" msgid "%{invite_name} updated succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:135 #: lib/cannery_web/live/invite_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "%{user_email} deleted succesfully" msgid "%{user_email} deleted succesfully"
msgstr "" msgstr ""

View File

@ -19,7 +19,7 @@ msgid "%{name} created successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.ex:54 #: lib/cannery_web/live/ammo_type_live/show.ex:49
#: lib/cannery_web/live/tag_live/index.ex:65 #: lib/cannery_web/live/tag_live/index.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} deleted succesfully" msgid "%{name} deleted succesfully"
@ -50,15 +50,15 @@ msgstr ""
msgid "Are you sure you want to delete %{email}? This action is permanent!" msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:99 #: lib/cannery_web/live/container_live/index.html.heex:100
#: lib/cannery_web/live/container_live/index.html.heex:155 #: lib/cannery_web/live/container_live/index.html.heex:156
#: lib/cannery_web/live/container_live/show.html.heex:52 #: lib/cannery_web/live/container_live/show.html.heex:52
#: lib/cannery_web/live/tag_live/index.html.heex:63 #: lib/cannery_web/live/tag_live/index.html.heex:64
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?" msgid "Are you sure you want to delete %{name}?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167 #: lib/cannery_web/live/ammo_group_live/index.html.heex:169
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74 #: lib/cannery_web/live/ammo_group_live/show.html.heex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -156,7 +156,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:159 #: lib/cannery_web/live/ammo_group_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:127 #: lib/cannery_web/live/range_live/index.html.heex:128
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "" msgstr ""
@ -182,7 +182,7 @@ msgstr ""
msgid "Ammo moved to %{name} successfully" msgid "Ammo moved to %{name} successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:126 #: lib/cannery_web/live/invite_live/index.ex:116
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Copied to clipboard" msgid "Copied to clipboard"
msgstr "" msgstr ""
@ -236,7 +236,7 @@ msgid_plural "Ammo added successfully"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96 #: lib/cannery_web/live/ammo_type_live/index.html.heex:97
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
@ -247,27 +247,27 @@ msgstr ""
msgid "Register to setup Cannery" msgid "Register to setup Cannery"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex:43
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{invite_name} deleted succesfully" msgid "%{invite_name} deleted succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:114 #: lib/cannery_web/live/invite_live/index.ex:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{invite_name} disabled succesfully" msgid "%{invite_name} disabled succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:90 #: lib/cannery_web/live/invite_live/index.ex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{invite_name} enabled succesfully" msgid "%{invite_name} enabled succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:68 #: lib/cannery_web/live/invite_live/index.ex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{invite_name} updated succesfully" msgid "%{invite_name} updated succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:135 #: lib/cannery_web/live/invite_live/index.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{user_email} deleted succesfully" msgid "%{user_email} deleted succesfully"
msgstr "" msgstr ""

View File

@ -45,7 +45,7 @@ defmodule Cannery.AmmoTest do
assert Ammo.list_ammo_types(current_user) == [ammo_type] assert Ammo.list_ammo_types(current_user) == [ammo_type]
end end
test "list_ammo_types/1 returns relevant ammo_types for a user", test "list_ammo_types/2 returns relevant ammo_types for a user",
%{current_user: current_user} do %{current_user: current_user} do
ammo_type_a = ammo_type_a =
%{"name" => "bullets", "desc" => "has some pews in it", "grains" => 5} %{"name" => "bullets", "desc" => "has some pews in it", "grains" => 5}
@ -89,12 +89,12 @@ defmodule Cannery.AmmoTest do
assert Ammo.list_ammo_types("tracer", current_user) == [ammo_type_c] assert Ammo.list_ammo_types("tracer", current_user) == [ammo_type_c]
end end
test "get_ammo_type!/1 returns the ammo_type with given id", test "get_ammo_type!/2 returns the ammo_type with given id",
%{ammo_type: ammo_type, current_user: current_user} do %{ammo_type: ammo_type, current_user: current_user} do
assert Ammo.get_ammo_type!(ammo_type.id, current_user) == ammo_type assert Ammo.get_ammo_type!(ammo_type.id, current_user) == ammo_type
end end
test "create_ammo_type/1 with valid data creates a ammo_type", test "create_ammo_type/2 with valid data creates a ammo_type",
%{current_user: current_user} do %{current_user: current_user} do
assert {:ok, %AmmoType{} = ammo_type} = Ammo.create_ammo_type(@valid_attrs, current_user) assert {:ok, %AmmoType{} = ammo_type} = Ammo.create_ammo_type(@valid_attrs, current_user)
assert ammo_type.bullet_type == "some bullet_type" assert ammo_type.bullet_type == "some bullet_type"
@ -105,12 +105,12 @@ defmodule Cannery.AmmoTest do
assert ammo_type.grains == 120 assert ammo_type.grains == 120
end end
test "create_ammo_type/1 with invalid data returns error changeset", test "create_ammo_type/2 with invalid data returns error changeset",
%{current_user: current_user} do %{current_user: current_user} do
assert {:error, %Changeset{}} = Ammo.create_ammo_type(@invalid_attrs, current_user) assert {:error, %Changeset{}} = Ammo.create_ammo_type(@invalid_attrs, current_user)
end end
test "update_ammo_type/2 with valid data updates the ammo_type", test "update_ammo_type/3 with valid data updates the ammo_type",
%{ammo_type: ammo_type, current_user: current_user} do %{ammo_type: ammo_type, current_user: current_user} do
assert {:ok, %AmmoType{} = ammo_type} = assert {:ok, %AmmoType{} = ammo_type} =
Ammo.update_ammo_type(ammo_type, @update_attrs, current_user) Ammo.update_ammo_type(ammo_type, @update_attrs, current_user)
@ -123,7 +123,7 @@ defmodule Cannery.AmmoTest do
assert ammo_type.grains == 456 assert ammo_type.grains == 456
end end
test "update_ammo_type/2 with invalid data returns error changeset", test "update_ammo_type/3 with invalid data returns error changeset",
%{ammo_type: ammo_type, current_user: current_user} do %{ammo_type: ammo_type, current_user: current_user} do
assert {:error, %Changeset{}} = assert {:error, %Changeset{}} =
Ammo.update_ammo_type(ammo_type, @invalid_attrs, current_user) Ammo.update_ammo_type(ammo_type, @invalid_attrs, current_user)
@ -131,7 +131,7 @@ defmodule Cannery.AmmoTest do
assert ammo_type == Ammo.get_ammo_type!(ammo_type.id, current_user) assert ammo_type == Ammo.get_ammo_type!(ammo_type.id, current_user)
end end
test "delete_ammo_type/1 deletes the ammo_type", test "delete_ammo_type/2 deletes the ammo_type",
%{ammo_type: ammo_type, current_user: current_user} do %{ammo_type: ammo_type, current_user: current_user} do
assert {:ok, %AmmoType{}} = Ammo.delete_ammo_type(ammo_type, current_user) assert {:ok, %AmmoType{}} = Ammo.delete_ammo_type(ammo_type, current_user)
assert_raise Ecto.NoResultsError, fn -> Ammo.get_ammo_type!(ammo_type.id, current_user) end assert_raise Ecto.NoResultsError, fn -> Ammo.get_ammo_type!(ammo_type.id, current_user) end
@ -785,7 +785,7 @@ defmodule Cannery.AmmoTest do
assert %{^another_ammo_type_id => 1} = ammo_groups_count assert %{^another_ammo_type_id => 1} = ammo_groups_count
end end
test "list_staged_ammo_groups/2 returns all ammo_groups that are staged", test "list_staged_ammo_groups/1 returns all ammo_groups that are staged",
%{ %{
ammo_type: ammo_type, ammo_type: ammo_type,
container: container, container: container,
@ -797,7 +797,7 @@ defmodule Cannery.AmmoTest do
assert Ammo.list_staged_ammo_groups(current_user) == [another_ammo_group] assert Ammo.list_staged_ammo_groups(current_user) == [another_ammo_group]
end end
test "get_ammo_group!/1 returns the ammo_group with given id", test "get_ammo_group!/2 returns the ammo_group with given id",
%{ammo_group: %{id: ammo_group_id} = ammo_group, current_user: current_user} do %{ammo_group: %{id: ammo_group_id} = ammo_group, current_user: current_user} do
assert Ammo.get_ammo_group!(ammo_group_id, current_user) == ammo_group assert Ammo.get_ammo_group!(ammo_group_id, current_user) == ammo_group
end end
@ -861,7 +861,7 @@ defmodule Cannery.AmmoTest do
|> Ammo.create_ammo_groups(1, current_user) |> Ammo.create_ammo_groups(1, current_user)
end end
test "update_ammo_group/2 with valid data updates the ammo_group", test "update_ammo_group/3 with valid data updates the ammo_group",
%{ammo_group: ammo_group, current_user: current_user} do %{ammo_group: ammo_group, current_user: current_user} do
assert {:ok, %AmmoGroup{} = ammo_group} = assert {:ok, %AmmoGroup{} = ammo_group} =
Ammo.update_ammo_group(ammo_group, @update_attrs, current_user) Ammo.update_ammo_group(ammo_group, @update_attrs, current_user)
@ -871,7 +871,7 @@ defmodule Cannery.AmmoTest do
assert ammo_group.price_paid == 456.7 assert ammo_group.price_paid == 456.7
end end
test "update_ammo_group/2 with invalid data returns error changeset", test "update_ammo_group/3 with invalid data returns error changeset",
%{ammo_group: ammo_group, current_user: current_user} do %{ammo_group: ammo_group, current_user: current_user} do
assert {:error, %Changeset{}} = assert {:error, %Changeset{}} =
Ammo.update_ammo_group(ammo_group, @invalid_attrs, current_user) Ammo.update_ammo_group(ammo_group, @invalid_attrs, current_user)
@ -879,13 +879,13 @@ defmodule Cannery.AmmoTest do
assert ammo_group == Ammo.get_ammo_group!(ammo_group.id, current_user) assert ammo_group == Ammo.get_ammo_group!(ammo_group.id, current_user)
end end
test "delete_ammo_group/1 deletes the ammo_group", test "delete_ammo_group/2 deletes the ammo_group",
%{ammo_group: ammo_group, current_user: current_user} do %{ammo_group: ammo_group, current_user: current_user} do
assert {:ok, %AmmoGroup{}} = Ammo.delete_ammo_group(ammo_group, current_user) assert {:ok, %AmmoGroup{}} = Ammo.delete_ammo_group(ammo_group, current_user)
assert_raise KeyError, fn -> Ammo.get_ammo_group!(ammo_group.id, current_user) end assert_raise KeyError, fn -> Ammo.get_ammo_group!(ammo_group.id, current_user) end
end end
test "get_percentage_remaining/1 gets accurate total round count", test "get_percentage_remaining/2 gets accurate total round count",
%{ammo_group: %{id: ammo_group_id} = ammo_group, current_user: current_user} do %{ammo_group: %{id: ammo_group_id} = ammo_group, current_user: current_user} do
assert 100 = ammo_group |> Ammo.get_percentage_remaining(current_user) assert 100 = ammo_group |> Ammo.get_percentage_remaining(current_user)
@ -902,6 +902,53 @@ defmodule Cannery.AmmoTest do
assert 0 = ammo_group |> Ammo.get_percentage_remaining(current_user) assert 0 = ammo_group |> Ammo.get_percentage_remaining(current_user)
end end
test "get_percentages_remaining/2 gets accurate total round count", %{
ammo_group: %{id: ammo_group_id} = ammo_group,
ammo_type: ammo_type,
container: container,
current_user: current_user
} do
assert %{ammo_group_id => 100} ==
[ammo_group] |> Ammo.get_percentages_remaining(current_user)
{1, [%{id: another_ammo_group_id} = another_ammo_group]} =
%{"count" => 50, "price_paid" => 36.1}
|> ammo_group_fixture(ammo_type, container, current_user)
percentages =
[ammo_group, another_ammo_group] |> Ammo.get_percentages_remaining(current_user)
assert %{^ammo_group_id => 100} = percentages
assert %{^another_ammo_group_id => 100} = percentages
shot_group_fixture(%{"count" => 14}, current_user, ammo_group)
ammo_group = Ammo.get_ammo_group!(ammo_group_id, current_user)
percentages =
[ammo_group, another_ammo_group] |> Ammo.get_percentages_remaining(current_user)
assert %{^ammo_group_id => 72} = percentages
assert %{^another_ammo_group_id => 100} = percentages
shot_group_fixture(%{"count" => 11}, current_user, ammo_group)
ammo_group = Ammo.get_ammo_group!(ammo_group_id, current_user)
percentages =
[ammo_group, another_ammo_group] |> Ammo.get_percentages_remaining(current_user)
assert %{^ammo_group_id => 50} = percentages
assert %{^another_ammo_group_id => 100} = percentages
shot_group_fixture(%{"count" => 25}, current_user, ammo_group)
ammo_group = Ammo.get_ammo_group!(ammo_group_id, current_user)
percentages =
[ammo_group, another_ammo_group] |> Ammo.get_percentages_remaining(current_user)
assert %{^ammo_group_id => 0} = percentages
assert %{^another_ammo_group_id => 100} = percentages
end
test "get_cpr/2 gets accurate cpr", test "get_cpr/2 gets accurate cpr",
%{ammo_type: ammo_type, container: container, current_user: current_user} do %{ammo_type: ammo_type, container: container, current_user: current_user} do
{1, [ammo_group]} = ammo_group_fixture(%{"count" => 1}, ammo_type, container, current_user) {1, [ammo_group]} = ammo_group_fixture(%{"count" => 1}, ammo_type, container, current_user)

View File

@ -90,12 +90,24 @@ defmodule Cannery.ContainersTest do
assert Containers.list_containers("asajslkdflskdf", current_user) == [] assert Containers.list_containers("asajslkdflskdf", current_user) == []
end end
test "get_container!/1 returns the container with given id", test "get_container!/2 returns the container with given id",
%{current_user: current_user, container: container} do %{current_user: current_user, container: container} do
assert Containers.get_container!(container.id, current_user) == container assert Containers.get_container!(container.id, current_user) == container
assert_raise KeyError, fn -> Containers.get_container!(current_user.id, current_user) end
end end
test "create_container/1 with valid data creates a container", %{current_user: current_user} do test "get_containers/2 returns the container with given id",
%{current_user: current_user, container: %{id: container_id} = container} do
assert %{container_id => container} ==
Containers.get_containers([container_id], current_user)
%{id: another_container_id} = another_container = container_fixture(current_user)
containers = [container_id, another_container_id] |> Containers.get_containers(current_user)
assert %{^container_id => ^container} = containers
assert %{^another_container_id => ^another_container} = containers
end
test "create_container/2 with valid data creates a container", %{current_user: current_user} do
assert {:ok, %Container{} = container} = assert {:ok, %Container{} = container} =
@valid_attrs |> Containers.create_container(current_user) @valid_attrs |> Containers.create_container(current_user)
@ -106,12 +118,12 @@ defmodule Cannery.ContainersTest do
assert container.user_id == current_user.id assert container.user_id == current_user.id
end end
test "create_container/1 with invalid data returns error changeset", test "create_container/2 with invalid data returns error changeset",
%{current_user: current_user} do %{current_user: current_user} do
assert {:error, %Changeset{}} = @invalid_attrs |> Containers.create_container(current_user) assert {:error, %Changeset{}} = @invalid_attrs |> Containers.create_container(current_user)
end end
test "update_container/2 with valid data updates the container", test "update_container/3 with valid data updates the container",
%{current_user: current_user, container: container} do %{current_user: current_user, container: container} do
assert {:ok, %Container{} = container} = assert {:ok, %Container{} = container} =
Containers.update_container(container, current_user, @update_attrs) Containers.update_container(container, current_user, @update_attrs)
@ -122,7 +134,7 @@ defmodule Cannery.ContainersTest do
assert container.type == "some updated type" assert container.type == "some updated type"
end end
test "update_container/2 with invalid data returns error changeset", test "update_container/3 with invalid data returns error changeset",
%{current_user: current_user, container: container} do %{current_user: current_user, container: container} do
assert {:error, %Changeset{}} = assert {:error, %Changeset{}} =
Containers.update_container(container, current_user, @invalid_attrs) Containers.update_container(container, current_user, @invalid_attrs)
@ -130,11 +142,11 @@ defmodule Cannery.ContainersTest do
assert container == Containers.get_container!(container.id, current_user) assert container == Containers.get_container!(container.id, current_user)
end end
test "delete_container/1 deletes the container", test "delete_container/2 deletes the container",
%{current_user: current_user, container: container} do %{current_user: current_user, container: container} do
assert {:ok, %Container{}} = Containers.delete_container(container, current_user) assert {:ok, %Container{}} = Containers.delete_container(container, current_user)
assert_raise Ecto.NoResultsError, fn -> assert_raise KeyError, fn ->
Containers.get_container!(container.id, current_user) Containers.get_container!(container.id, current_user)
end end
end end
@ -168,36 +180,36 @@ defmodule Cannery.ContainersTest do
assert Containers.list_tags("hollows", current_user) == [tag_b] assert Containers.list_tags("hollows", current_user) == [tag_b]
end end
test "get_tag!/1 returns the tag with given id", %{tag: tag, current_user: current_user} do test "get_tag!/2 returns the tag with given id", %{tag: tag, current_user: current_user} do
assert Containers.get_tag!(tag.id, current_user) == tag assert Containers.get_tag!(tag.id, current_user) == tag
end end
test "create_tag/1 with valid data creates a tag", %{current_user: current_user} do test "create_tag/2 with valid data creates a tag", %{current_user: current_user} do
assert {:ok, %Tag{} = tag} = Containers.create_tag(@valid_tag_attrs, current_user) assert {:ok, %Tag{} = tag} = Containers.create_tag(@valid_tag_attrs, current_user)
assert tag.bg_color == "some bg-color" assert tag.bg_color == "some bg-color"
assert tag.name == "some name" assert tag.name == "some name"
assert tag.text_color == "some text-color" assert tag.text_color == "some text-color"
end end
test "create_tag/1 with invalid data returns error changeset", test "create_tag/2 with invalid data returns error changeset",
%{current_user: current_user} do %{current_user: current_user} do
assert {:error, %Changeset{}} = Containers.create_tag(@invalid_tag_attrs, current_user) assert {:error, %Changeset{}} = Containers.create_tag(@invalid_tag_attrs, current_user)
end end
test "update_tag/2 with valid data updates the tag", %{tag: tag, current_user: current_user} do test "update_tag/3 with valid data updates the tag", %{tag: tag, current_user: current_user} do
assert {:ok, %Tag{} = tag} = Containers.update_tag(tag, @update_tag_attrs, current_user) assert {:ok, %Tag{} = tag} = Containers.update_tag(tag, @update_tag_attrs, current_user)
assert tag.bg_color == "some updated bg-color" assert tag.bg_color == "some updated bg-color"
assert tag.name == "some updated name" assert tag.name == "some updated name"
assert tag.text_color == "some updated text-color" assert tag.text_color == "some updated text-color"
end end
test "update_tag/2 with invalid data returns error changeset", test "update_tag/3 with invalid data returns error changeset",
%{tag: tag, current_user: current_user} do %{tag: tag, current_user: current_user} do
assert {:error, %Changeset{}} = Containers.update_tag(tag, @invalid_tag_attrs, current_user) assert {:error, %Changeset{}} = Containers.update_tag(tag, @invalid_tag_attrs, current_user)
assert tag == Containers.get_tag!(tag.id, current_user) assert tag == Containers.get_tag!(tag.id, current_user)
end end
test "delete_tag/1 deletes the tag", %{tag: tag, current_user: current_user} do test "delete_tag/2 deletes the tag", %{tag: tag, current_user: current_user} do
assert {:ok, %Tag{}} = Containers.delete_tag(tag, current_user) assert {:ok, %Tag{}} = Containers.delete_tag(tag, current_user)
assert_raise Ecto.NoResultsError, fn -> Containers.get_tag!(tag.id, current_user) end assert_raise Ecto.NoResultsError, fn -> Containers.get_tag!(tag.id, current_user) end
end end

View File

@ -116,7 +116,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|> follow_redirect(conn, Routes.ammo_group_index_path(conn, :index)) |> follow_redirect(conn, Routes.ammo_group_index_path(conn, :index))
assert html =~ dgettext("prompts", "Ammo added successfully") assert html =~ dgettext("prompts", "Ammo added successfully")
assert html =~ "42" assert html =~ "\n42\n"
end end
test "saves multiple new ammo_groups", %{conn: conn, current_user: current_user} do test "saves multiple new ammo_groups", %{conn: conn, current_user: current_user} do
@ -202,7 +202,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|> follow_redirect(conn, Routes.ammo_group_index_path(conn, :index)) |> follow_redirect(conn, Routes.ammo_group_index_path(conn, :index))
assert html =~ dgettext("prompts", "Ammo updated successfully") assert html =~ dgettext("prompts", "Ammo updated successfully")
assert html =~ "43" assert html =~ "\n43\n"
end end
test "clones ammo_group in listing", %{conn: conn, ammo_group: ammo_group} do test "clones ammo_group in listing", %{conn: conn, ammo_group: ammo_group} do
@ -229,7 +229,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|> follow_redirect(conn, Routes.ammo_group_index_path(conn, :index)) |> follow_redirect(conn, Routes.ammo_group_index_path(conn, :index))
assert html =~ dgettext("prompts", "Ammo added successfully") assert html =~ dgettext("prompts", "Ammo added successfully")
assert html =~ "42" assert html =~ "\n42\n"
assert html =~ gettext("$%{amount}", amount: display_currency(120.5)) assert html =~ gettext("$%{amount}", amount: display_currency(120.5))
end end
@ -257,7 +257,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|> follow_redirect(conn, Routes.ammo_group_index_path(conn, :index)) |> follow_redirect(conn, Routes.ammo_group_index_path(conn, :index))
assert html =~ dgettext("prompts", "Ammo added successfully") assert html =~ dgettext("prompts", "Ammo added successfully")
assert html =~ "43" assert html =~ "\n43\n"
assert html =~ gettext("$%{amount}", amount: display_currency(120.5)) assert html =~ gettext("$%{amount}", amount: display_currency(120.5))
end end
@ -309,12 +309,8 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
assert html =~ dgettext("actions", "Show used") assert html =~ dgettext("actions", "Show used")
refute html =~ gettext("$%{amount}", amount: display_currency(50.00)) refute html =~ gettext("$%{amount}", amount: display_currency(50.00))
refute html =~ percentage = ammo_group |> Ammo.get_percentage_remaining(current_user)
"\n" <> refute html =~ "\n#{gettext("%{percentage}%", percentage: percentage)}\n"
gettext("%{percentage}%",
percentage: ammo_group |> Ammo.get_percentage_remaining(current_user)
) <>
"\n"
html = html =
show_live show_live
@ -323,12 +319,8 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
assert html =~ gettext("$%{amount}", amount: display_currency(50.00)) assert html =~ gettext("$%{amount}", amount: display_currency(50.00))
assert html =~ percentage = ammo_group |> Ammo.get_percentage_remaining(current_user)
"\n" <> assert html =~ "\n#{gettext("%{percentage}%", percentage: percentage)}\n"
gettext("%{percentage}%",
percentage: ammo_group |> Ammo.get_percentage_remaining(current_user)
) <>
"\n"
end end
end end

View File

@ -230,9 +230,9 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
assert html =~ gettext("Used packs") assert html =~ gettext("Used packs")
assert html =~ gettext("Total ever packs") assert html =~ gettext("Total ever packs")
assert html =~ "20" assert html =~ "\n20\n"
assert html =~ "0" assert html =~ "\n0\n"
assert html =~ "1" assert html =~ "\n1\n"
shot_group_fixture(%{"count" => 5}, current_user, ammo_group) shot_group_fixture(%{"count" => 5}, current_user, ammo_group)
@ -243,8 +243,8 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/) |> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|> render_click() |> render_click()
assert html =~ "15" assert html =~ "\n15\n"
assert html =~ "5" assert html =~ "\n5\n"
end end
end end
@ -297,7 +297,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
{:ok, _show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type)) {:ok, _show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
assert html =~ ammo_type_name assert html =~ ammo_type_name
assert html =~ "some ammo group" assert html =~ "\n20\n"
assert html =~ container_name assert html =~ container_name
end end
@ -310,9 +310,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/) |> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/)
|> render_click() |> render_click()
assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type)) assert html =~ "\n20\n"
assert html =~ "some ammo group"
assert html =~ container_name assert html =~ container_name
end end
end end
@ -325,14 +323,14 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
{:ok, show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type)) {:ok, show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
assert html =~ dgettext("actions", "Show used") assert html =~ dgettext("actions", "Show used")
refute html =~ "some ammo group" refute html =~ "\n20\n"
html = html =
show_live show_live
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/) |> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|> render_click() |> render_click()
assert html =~ "some ammo group" assert html =~ "\n20\n"
assert html =~ "Empty" assert html =~ "Empty"
assert html =~ container_name assert html =~ container_name
end end
@ -346,17 +344,15 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/) |> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/)
|> render_click() |> render_click()
assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type))
assert html =~ dgettext("actions", "Show used") assert html =~ dgettext("actions", "Show used")
refute html =~ "some ammo group" refute html =~ "\n20\n"
html = html =
show_live show_live
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/) |> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|> render_click() |> render_click()
assert html =~ "some ammo group" assert html =~ "\n20\n"
assert html =~ "Empty" assert html =~ "Empty"
assert html =~ container_name assert html =~ container_name
end end

View File

@ -273,7 +273,7 @@ defmodule CanneryWeb.ContainerLiveTest do
{:ok, _show_live, html} = live(conn, Routes.container_show_path(conn, :show, container)) {:ok, _show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
assert html =~ ammo_type_name assert html =~ ammo_type_name
assert html =~ "some ammo group" assert html =~ "\n20\n"
end end
test "displays ammo group in table", test "displays ammo group in table",
@ -286,7 +286,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|> render_click() |> render_click()
assert html =~ ammo_type_name assert html =~ ammo_type_name
assert html =~ "some ammo group" assert html =~ "\n20\n"
end end
end end
@ -298,7 +298,7 @@ defmodule CanneryWeb.ContainerLiveTest do
{:ok, show_live, html} = live(conn, Routes.container_show_path(conn, :show, container)) {:ok, show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
assert html =~ dgettext("actions", "Show used") assert html =~ dgettext("actions", "Show used")
refute html =~ "some ammo group" refute html =~ "\n20\n"
html = html =
show_live show_live
@ -306,7 +306,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|> render_click() |> render_click()
assert html =~ ammo_type_name assert html =~ ammo_type_name
assert html =~ "some ammo group" assert html =~ "\n20\n"
assert html =~ "Empty" assert html =~ "Empty"
end end
@ -320,7 +320,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|> render_click() |> render_click()
assert html =~ dgettext("actions", "Show used") assert html =~ dgettext("actions", "Show used")
refute html =~ "some ammo group" refute html =~ "\n20\n"
html = html =
show_live show_live
@ -328,7 +328,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|> render_click() |> render_click()
assert html =~ ammo_type_name assert html =~ ammo_type_name
assert html =~ "some ammo group" assert html =~ "\n20\n"
assert html =~ "Empty" assert html =~ "Empty"
end end
end end