Compare commits
7 Commits
b32edd581d
...
355752598c
Author | SHA1 | Date | |
---|---|---|---|
355752598c | |||
03f8a2e8a7 | |||
071eb1b3c9 | |||
2987e4ff37 | |||
ca81924ebe | |||
40e4f6fe0a | |||
213dcca973 |
@ -1,3 +1,12 @@
|
|||||||
|
# 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
|
# v0.8.5
|
||||||
- Add link in readme to github mirror
|
- Add link in readme to github mirror
|
||||||
- Fix tables unable to sort on empty dates
|
- Fix tables unable to sort on empty dates
|
||||||
|
@ -60,7 +60,8 @@ defmodule Cannery.ActivityLog do
|
|||||||
sg.search,
|
sg.search,
|
||||||
^trimmed_search
|
^trimmed_search
|
||||||
)
|
)
|
||||||
}
|
},
|
||||||
|
distinct: sg.id
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -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 """
|
||||||
|
@ -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 """
|
||||||
|
@ -14,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(),
|
||||||
@ -22,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)
|
||||||
@ -43,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
|
||||||
@ -74,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
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -90,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
|
||||||
}
|
}
|
||||||
@ -148,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,
|
||||||
@ -183,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}
|
||||||
@ -202,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
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -217,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)
|
||||||
|
|
||||||
|
@ -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
|
||||||
@ -122,23 +122,21 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do
|
|||||||
])
|
])
|
||||||
|
|
||||||
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
|
||||||
|
@ -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)
|
||||||
|
@ -50,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>
|
||||||
|
@ -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)
|
||||||
})
|
})
|
||||||
|
@ -78,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">
|
||||||
|
@ -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
|
||||||
@ -112,11 +98,23 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
|
|||||||
[nil, nil, nil, nil, nil]
|
[nil, nil, nil, nil, nil]
|
||||||
end
|
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,
|
||||||
|
containers: containers,
|
||||||
cprs: ammo_groups |> Ammo.get_cprs(current_user),
|
cprs: ammo_groups |> Ammo.get_cprs(current_user),
|
||||||
last_used_dates: ammo_groups |> ActivityLog.get_last_used_dates(current_user),
|
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),
|
||||||
@ -142,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
|
||||||
|
@ -170,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
|
||||||
@ -179,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={@original_counts && 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 %>
|
||||||
|
@ -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
|
||||||
|
@ -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">
|
||||||
|
@ -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
|
||||||
|
2
mix.exs
2
mix.exs
@ -4,7 +4,7 @@ defmodule Cannery.MixProject do
|
|||||||
def project do
|
def project do
|
||||||
[
|
[
|
||||||
app: :cannery,
|
app: :cannery,
|
||||||
version: "0.8.5",
|
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(),
|
||||||
|
@ -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:104
|
#: 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
|
||||||
@ -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:121
|
#: 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"
|
||||||
@ -300,7 +300,7 @@ msgstr ""
|
|||||||
msgid "Edit %{tag_name}"
|
msgid "Edit %{tag_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:143
|
#: 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"
|
||||||
@ -321,7 +321,7 @@ msgstr ""
|
|||||||
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:97
|
#: 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 ""
|
||||||
@ -332,7 +332,7 @@ msgstr ""
|
|||||||
msgid "Tag %{container_name}"
|
msgid "Tag %{container_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
#: 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 ""
|
||||||
@ -342,18 +342,19 @@ msgstr ""
|
|||||||
msgid "View %{ammo_type_name}"
|
msgid "View %{ammo_type_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:155
|
#: 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:170
|
#: 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:131
|
#: 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 ""
|
||||||
|
@ -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:104
|
#: 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
|
||||||
@ -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:121
|
#: 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"
|
||||||
@ -313,7 +313,7 @@ msgstr ""
|
|||||||
msgid "Edit %{tag_name}"
|
msgid "Edit %{tag_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:143
|
#: 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"
|
||||||
@ -334,7 +334,7 @@ msgstr ""
|
|||||||
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:97
|
#: 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"
|
||||||
@ -345,7 +345,7 @@ msgstr "Munition markieren"
|
|||||||
msgid "Tag %{container_name}"
|
msgid "Tag %{container_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
#: 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 ""
|
||||||
@ -355,18 +355,19 @@ msgstr ""
|
|||||||
msgid "View %{ammo_type_name}"
|
msgid "View %{ammo_type_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:155
|
#: 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:170
|
#: 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:131
|
#: 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 ""
|
||||||
|
@ -38,7 +38,7 @@ msgstr "Admins:"
|
|||||||
msgid "Ammo"
|
msgid "Ammo"
|
||||||
msgstr "Munition"
|
msgstr "Munition"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:90
|
#: 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:66
|
#: 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:77
|
#: 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"
|
||||||
@ -296,7 +296,6 @@ 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:82
|
|
||||||
#: 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
|
||||||
@ -322,7 +321,7 @@ msgstr "Auf dem Bücherregal"
|
|||||||
msgid "Pressure"
|
msgid "Pressure"
|
||||||
msgstr "Druck"
|
msgstr "Druck"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
#: 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"
|
||||||
@ -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:73
|
#: 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"
|
||||||
@ -526,9 +525,9 @@ 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:154
|
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:230
|
#: 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:45
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
|
#: 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
|
||||||
@ -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:227
|
#: 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/components/ammo_type_table_component.ex:234
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
#: 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:81
|
#: 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"
|
||||||
@ -796,7 +796,7 @@ msgstr ""
|
|||||||
msgid "Leave \"Uses left\" blank to make invite unlimited"
|
msgid "Leave \"Uses left\" blank to make invite unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:57
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:54
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr "Behälter"
|
msgstr "Behälter"
|
||||||
@ -809,7 +809,7 @@ msgstr "Behälter"
|
|||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:188
|
#: 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}%"
|
||||||
@ -991,18 +991,18 @@ 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:150
|
#: 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:234
|
#: 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:80
|
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "CPR"
|
msgid "CPR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1012,7 +1012,7 @@ msgstr ""
|
|||||||
msgid "CPR:"
|
msgid "CPR:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
#: 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:"
|
||||||
@ -1032,7 +1032,7 @@ msgstr ""
|
|||||||
msgid "Total packs:"
|
msgid "Total packs:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:59
|
#: 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 ""
|
||||||
@ -1042,12 +1042,12 @@ msgstr ""
|
|||||||
msgid "Last used on:"
|
msgid "Last used on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:172
|
#: 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:58
|
#: 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"
|
||||||
@ -1230,7 +1230,7 @@ msgstr ""
|
|||||||
msgid "Really great weather"
|
msgid "Really great weather"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:54
|
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||||
#: lib/cannery_web/components/container_table_component.ex:67
|
#: lib/cannery_web/components/container_table_component.ex:67
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||||
@ -1249,3 +1249,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Log out"
|
msgid "Log out"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Current Count"
|
||||||
|
msgstr ""
|
||||||
|
@ -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"
|
||||||
@ -172,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 ""
|
||||||
|
@ -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"
|
||||||
@ -73,7 +73,7 @@ msgstr ""
|
|||||||
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:168
|
#: 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?"
|
||||||
|
@ -34,7 +34,7 @@ msgstr ""
|
|||||||
msgid "Ammo"
|
msgid "Ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:90
|
#: 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:66
|
#: 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:77
|
#: 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"
|
||||||
@ -292,7 +292,6 @@ 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:82
|
|
||||||
#: 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
|
||||||
@ -318,7 +317,7 @@ msgstr ""
|
|||||||
msgid "Pressure"
|
msgid "Pressure"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
#: 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"
|
||||||
@ -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:73
|
#: 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"
|
||||||
@ -520,9 +519,9 @@ msgstr ""
|
|||||||
msgid "Shot log"
|
msgid "Shot log"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:154
|
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:230
|
#: 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:45
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
|
#: 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
|
||||||
@ -615,14 +614,15 @@ msgstr ""
|
|||||||
msgid "Rounds:"
|
msgid "Rounds:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:227
|
#: 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/components/ammo_type_table_component.ex:234
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
#: 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:81
|
#: lib/cannery_web/components/ammo_group_table_component.ex:92
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "% left"
|
msgid "% left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -790,7 +790,7 @@ msgstr ""
|
|||||||
msgid "Leave \"Uses left\" blank to make invite unlimited"
|
msgid "Leave \"Uses left\" blank to make invite unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:57
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:54
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -803,7 +803,7 @@ msgstr ""
|
|||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:188
|
#: 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}%"
|
||||||
@ -985,18 +985,18 @@ 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:150
|
#: 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:234
|
#: 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:80
|
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "CPR"
|
msgid "CPR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1006,7 +1006,7 @@ msgstr ""
|
|||||||
msgid "CPR:"
|
msgid "CPR:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
#: 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 ""
|
||||||
@ -1026,7 +1026,7 @@ msgstr ""
|
|||||||
msgid "Total packs:"
|
msgid "Total packs:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:59
|
#: 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 ""
|
||||||
@ -1036,12 +1036,12 @@ msgstr ""
|
|||||||
msgid "Last used on:"
|
msgid "Last used on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:172
|
#: 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:58
|
#: 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"
|
||||||
@ -1213,7 +1213,7 @@ msgstr ""
|
|||||||
msgid "Really great weather"
|
msgid "Really great weather"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:54
|
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||||
#: lib/cannery_web/components/container_table_component.ex:67
|
#: lib/cannery_web/components/container_table_component.ex:67
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||||
@ -1232,3 +1232,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Log out"
|
msgid "Log out"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Current Count"
|
||||||
|
msgstr ""
|
||||||
|
@ -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:104
|
#: 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
|
||||||
@ -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:121
|
#: 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"
|
||||||
@ -300,7 +300,7 @@ msgstr ""
|
|||||||
msgid "Edit %{tag_name}"
|
msgid "Edit %{tag_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:143
|
#: 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"
|
||||||
@ -321,7 +321,7 @@ msgstr ""
|
|||||||
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:97
|
#: 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 ""
|
||||||
@ -332,7 +332,7 @@ msgstr ""
|
|||||||
msgid "Tag %{container_name}"
|
msgid "Tag %{container_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
#: 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 ""
|
||||||
@ -342,18 +342,19 @@ msgstr ""
|
|||||||
msgid "View %{ammo_type_name}"
|
msgid "View %{ammo_type_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:155
|
#: 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:170
|
#: 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:131
|
#: 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 ""
|
||||||
|
@ -34,7 +34,7 @@ msgstr ""
|
|||||||
msgid "Ammo"
|
msgid "Ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:90
|
#: 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:66
|
#: 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:77
|
#: 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"
|
||||||
@ -292,7 +292,6 @@ 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:82
|
|
||||||
#: 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
|
||||||
@ -318,7 +317,7 @@ msgstr ""
|
|||||||
msgid "Pressure"
|
msgid "Pressure"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
#: 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"
|
||||||
@ -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:73
|
#: 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"
|
||||||
@ -520,9 +519,9 @@ msgstr ""
|
|||||||
msgid "Shot log"
|
msgid "Shot log"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:154
|
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:230
|
#: 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:45
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
|
#: 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
|
||||||
@ -615,14 +614,15 @@ msgstr ""
|
|||||||
msgid "Rounds:"
|
msgid "Rounds:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:227
|
#: 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/components/ammo_type_table_component.ex:234
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
#: 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:81
|
#: lib/cannery_web/components/ammo_group_table_component.ex:92
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "% left"
|
msgid "% left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -790,7 +790,7 @@ msgstr ""
|
|||||||
msgid "Leave \"Uses left\" blank to make invite unlimited"
|
msgid "Leave \"Uses left\" blank to make invite unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:57
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:54
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -803,7 +803,7 @@ msgstr ""
|
|||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:188
|
#: 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}%"
|
||||||
@ -985,18 +985,18 @@ 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:150
|
#: 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:234
|
#: 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:80
|
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "CPR"
|
msgid "CPR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1006,7 +1006,7 @@ msgstr ""
|
|||||||
msgid "CPR:"
|
msgid "CPR:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
#: 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 ""
|
||||||
@ -1026,7 +1026,7 @@ msgstr ""
|
|||||||
msgid "Total packs:"
|
msgid "Total packs:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:59
|
#: 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 ""
|
||||||
@ -1036,12 +1036,12 @@ msgstr ""
|
|||||||
msgid "Last used on:"
|
msgid "Last used on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:172
|
#: 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:58
|
#: 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"
|
||||||
@ -1213,7 +1213,7 @@ msgstr ""
|
|||||||
msgid "Really great weather"
|
msgid "Really great weather"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:54
|
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||||
#: lib/cannery_web/components/container_table_component.ex:67
|
#: lib/cannery_web/components/container_table_component.ex:67
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||||
@ -1232,3 +1232,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Log out"
|
msgid "Log out"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Current Count"
|
||||||
|
msgstr ""
|
||||||
|
@ -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 ""
|
||||||
@ -155,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 ""
|
||||||
|
@ -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"
|
||||||
@ -58,7 +58,7 @@ msgstr ""
|
|||||||
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:168
|
#: 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?"
|
||||||
|
@ -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 ""
|
||||||
@ -154,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 ""
|
||||||
|
@ -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:104
|
#: 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
|
||||||
@ -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:121
|
#: 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"
|
||||||
@ -313,7 +313,7 @@ msgstr ""
|
|||||||
msgid "Edit %{tag_name}"
|
msgid "Edit %{tag_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:143
|
#: 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"
|
||||||
@ -334,7 +334,7 @@ msgstr ""
|
|||||||
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:97
|
#: 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"
|
||||||
@ -345,7 +345,7 @@ msgstr "Preparar munición"
|
|||||||
msgid "Tag %{container_name}"
|
msgid "Tag %{container_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
#: 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 ""
|
||||||
@ -355,18 +355,19 @@ msgstr ""
|
|||||||
msgid "View %{ammo_type_name}"
|
msgid "View %{ammo_type_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:155
|
#: 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:170
|
#: 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:131
|
#: 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 ""
|
||||||
|
@ -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:90
|
#: 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:66
|
#: 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:77
|
#: 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"
|
||||||
@ -296,7 +296,6 @@ 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:82
|
|
||||||
#: 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
|
||||||
@ -322,7 +321,7 @@ msgstr "En la estantería"
|
|||||||
msgid "Pressure"
|
msgid "Pressure"
|
||||||
msgstr "Presión"
|
msgstr "Presión"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
#: 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"
|
||||||
@ -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:73
|
#: 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"
|
||||||
@ -527,9 +526,9 @@ 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:154
|
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:230
|
#: 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:45
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
|
#: 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
|
||||||
@ -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:227
|
#: 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/components/ammo_type_table_component.ex:234
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
#: 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:81
|
#: 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"
|
||||||
@ -798,7 +798,7 @@ msgid "Leave \"Uses left\" blank to make invite unlimited"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Deje \"Usos restantes\" en blanco para hacer las invitaciónes ilimitadas"
|
"Deje \"Usos restantes\" en blanco para hacer las invitaciónes ilimitadas"
|
||||||
|
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:57
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:54
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr "Contenedor:"
|
msgstr "Contenedor:"
|
||||||
@ -811,7 +811,7 @@ msgstr "Contenedor:"
|
|||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr "Mostrar usadas"
|
msgstr "Mostrar usadas"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:188
|
#: 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}%"
|
||||||
@ -993,18 +993,18 @@ 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:150
|
#: 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:234
|
#: 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:80
|
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "CPR"
|
msgid "CPR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1014,7 +1014,7 @@ msgstr ""
|
|||||||
msgid "CPR:"
|
msgid "CPR:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
#: 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"
|
||||||
@ -1034,7 +1034,7 @@ msgstr "Menu principal"
|
|||||||
msgid "Total packs:"
|
msgid "Total packs:"
|
||||||
msgstr "Paquetes totales:"
|
msgstr "Paquetes totales:"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:59
|
#: 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"
|
||||||
@ -1044,12 +1044,12 @@ msgstr "Usada por última vez en"
|
|||||||
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:172
|
#: 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:58
|
#: 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"
|
||||||
@ -1232,7 +1232,7 @@ msgstr ""
|
|||||||
msgid "Really great weather"
|
msgid "Really great weather"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:54
|
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||||
#: lib/cannery_web/components/container_table_component.ex:67
|
#: lib/cannery_web/components/container_table_component.ex:67
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||||
@ -1251,3 +1251,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Log out"
|
msgid "Log out"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Current Count"
|
||||||
|
msgstr ""
|
||||||
|
@ -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"
|
||||||
@ -170,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"
|
||||||
|
@ -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"
|
||||||
@ -73,7 +73,7 @@ msgstr "Está seguro que desea eliminar %{email}? Esta acción es permanente!"
|
|||||||
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:168
|
#: 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?"
|
||||||
|
@ -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:104
|
#: 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
|
||||||
@ -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:121
|
#: 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"
|
||||||
@ -313,7 +313,7 @@ msgstr ""
|
|||||||
msgid "Edit %{tag_name}"
|
msgid "Edit %{tag_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:143
|
#: 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"
|
||||||
@ -334,7 +334,7 @@ msgstr ""
|
|||||||
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:97
|
#: 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"
|
||||||
@ -345,7 +345,7 @@ msgstr "Munition préparée"
|
|||||||
msgid "Tag %{container_name}"
|
msgid "Tag %{container_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
#: 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 ""
|
||||||
@ -355,18 +355,19 @@ msgstr ""
|
|||||||
msgid "View %{ammo_type_name}"
|
msgid "View %{ammo_type_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:155
|
#: 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:170
|
#: 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:131
|
#: 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 ""
|
||||||
|
@ -38,7 +38,7 @@ msgstr "Administrateur·ices :"
|
|||||||
msgid "Ammo"
|
msgid "Ammo"
|
||||||
msgstr "Munition"
|
msgstr "Munition"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:90
|
#: 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:66
|
#: 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:77
|
#: 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"
|
||||||
@ -296,7 +296,6 @@ 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:82
|
|
||||||
#: 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
|
||||||
@ -322,7 +321,7 @@ msgstr "Sur l’étagère"
|
|||||||
msgid "Pressure"
|
msgid "Pressure"
|
||||||
msgstr "Pression"
|
msgstr "Pression"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
#: 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"
|
||||||
@ -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:73
|
#: 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"
|
||||||
@ -528,9 +527,9 @@ 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:154
|
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:230
|
#: 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:45
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
|
#: 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
|
||||||
@ -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:227
|
#: 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/components/ammo_type_table_component.ex:234
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
#: 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:81
|
#: 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"
|
||||||
@ -799,7 +799,7 @@ msgid "Leave \"Uses left\" blank to make invite unlimited"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Laissez \"Utilisations restantes\" vide pour rendre l'invitation illimitée"
|
"Laissez \"Utilisations restantes\" vide pour rendre l'invitation illimitée"
|
||||||
|
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:57
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:54
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr "Conteneur"
|
msgstr "Conteneur"
|
||||||
@ -812,7 +812,7 @@ msgstr "Conteneur"
|
|||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:188
|
#: 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}%"
|
||||||
@ -994,18 +994,18 @@ 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:150
|
#: 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:234
|
#: 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:80
|
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "CPR"
|
msgid "CPR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1015,7 +1015,7 @@ msgstr ""
|
|||||||
msgid "CPR:"
|
msgid "CPR:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
#: 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 :"
|
||||||
@ -1035,7 +1035,7 @@ msgstr ""
|
|||||||
msgid "Total packs:"
|
msgid "Total packs:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:59
|
#: 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 ""
|
||||||
@ -1045,12 +1045,12 @@ msgstr ""
|
|||||||
msgid "Last used on:"
|
msgid "Last used on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:172
|
#: 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:58
|
#: 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"
|
||||||
@ -1233,7 +1233,7 @@ msgstr ""
|
|||||||
msgid "Really great weather"
|
msgid "Really great weather"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:54
|
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||||
#: lib/cannery_web/components/container_table_component.ex:67
|
#: lib/cannery_web/components/container_table_component.ex:67
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||||
@ -1252,3 +1252,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Log out"
|
msgid "Log out"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Current Count"
|
||||||
|
msgstr ""
|
||||||
|
@ -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é"
|
||||||
@ -171,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"
|
||||||
|
@ -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"
|
||||||
@ -74,7 +74,7 @@ msgstr ""
|
|||||||
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:168
|
#: 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 @@ 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:104
|
#: 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
|
||||||
@ -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:121
|
#: 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"
|
||||||
@ -311,7 +311,7 @@ msgstr ""
|
|||||||
msgid "Edit %{tag_name}"
|
msgid "Edit %{tag_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:143
|
#: 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"
|
||||||
@ -332,7 +332,7 @@ msgstr ""
|
|||||||
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:97
|
#: 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 ""
|
||||||
@ -343,7 +343,7 @@ msgstr ""
|
|||||||
msgid "Tag %{container_name}"
|
msgid "Tag %{container_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
#: 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 ""
|
||||||
@ -353,18 +353,19 @@ msgstr ""
|
|||||||
msgid "View %{ammo_type_name}"
|
msgid "View %{ammo_type_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:155
|
#: 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:170
|
#: 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:131
|
#: 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 ""
|
||||||
|
@ -36,7 +36,7 @@ msgstr ""
|
|||||||
msgid "Ammo"
|
msgid "Ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:90
|
#: 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:66
|
#: 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:77
|
#: 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"
|
||||||
@ -294,7 +294,6 @@ 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:82
|
|
||||||
#: 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
|
||||||
@ -320,7 +319,7 @@ msgstr ""
|
|||||||
msgid "Pressure"
|
msgid "Pressure"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
#: 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"
|
||||||
@ -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:73
|
#: 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"
|
||||||
@ -522,9 +521,9 @@ msgstr ""
|
|||||||
msgid "Shot log"
|
msgid "Shot log"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:154
|
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:230
|
#: 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:45
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:45
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:50
|
#: 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
|
||||||
@ -617,14 +616,15 @@ msgstr ""
|
|||||||
msgid "Rounds:"
|
msgid "Rounds:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:227
|
#: 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/components/ammo_type_table_component.ex:234
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
#: 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:81
|
#: lib/cannery_web/components/ammo_group_table_component.ex:92
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "% left"
|
msgid "% left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -792,7 +792,7 @@ msgstr ""
|
|||||||
msgid "Leave \"Uses left\" blank to make invite unlimited"
|
msgid "Leave \"Uses left\" blank to make invite unlimited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:57
|
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:54
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container:"
|
msgid "Container:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -805,7 +805,7 @@ msgstr ""
|
|||||||
msgid "Show used"
|
msgid "Show used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:188
|
#: 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}%"
|
||||||
@ -987,18 +987,18 @@ 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:150
|
#: 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:234
|
#: 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:80
|
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "CPR"
|
msgid "CPR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1008,7 +1008,7 @@ msgstr ""
|
|||||||
msgid "CPR:"
|
msgid "CPR:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
#: 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 ""
|
||||||
@ -1028,7 +1028,7 @@ msgstr ""
|
|||||||
msgid "Total packs:"
|
msgid "Total packs:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:59
|
#: 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 ""
|
||||||
@ -1038,12 +1038,12 @@ msgstr ""
|
|||||||
msgid "Last used on:"
|
msgid "Last used on:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:172
|
#: 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:58
|
#: 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"
|
||||||
@ -1224,7 +1224,7 @@ msgstr ""
|
|||||||
msgid "Really great weather"
|
msgid "Really great weather"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_group_table_component.ex:54
|
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||||
#: lib/cannery_web/components/container_table_component.ex:67
|
#: lib/cannery_web/components/container_table_component.ex:67
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||||
@ -1243,3 +1243,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Log out"
|
msgid "Log out"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Current Count"
|
||||||
|
msgstr ""
|
||||||
|
@ -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"
|
||||||
@ -170,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 ""
|
||||||
|
@ -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"
|
||||||
@ -69,7 +69,7 @@ msgstr ""
|
|||||||
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:168
|
#: 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?"
|
||||||
|
@ -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"
|
||||||
@ -58,7 +58,7 @@ msgstr ""
|
|||||||
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:168
|
#: 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?"
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user