Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
355752598c | |||
03f8a2e8a7 | |||
071eb1b3c9 | |||
2987e4ff37 | |||
ca81924ebe | |||
40e4f6fe0a | |||
213dcca973 | |||
b32edd581d | |||
2e372ca2ab | |||
fd0bac3bbf | |||
f83fbc5d99 | |||
daab051026 |
15
CHANGELOG.md
15
CHANGELOG.md
@ -1,3 +1,18 @@
|
||||
# v0.8.6
|
||||
- Fix duplicate entries showing up
|
||||
- Show ammo packs under a type in a table by default
|
||||
- Only show historical ammo type information when displaying "Show used" in table
|
||||
- Only show historical ammo pack information when displaying "Show used" in table
|
||||
- Fix some values not being sorted in tables properly
|
||||
- Code quality improvements
|
||||
- Show link to ammo pack in ammo pack table while viewing ammo type
|
||||
|
||||
# v0.8.5
|
||||
- Add link in readme to github mirror
|
||||
- Fix tables unable to sort on empty dates
|
||||
- Only show historical ammo type information when displaying "Show used"
|
||||
- Fix even more accessibility issues
|
||||
|
||||
# v0.8.4
|
||||
- Improve accessibility
|
||||
- Code quality improvements
|
||||
|
@ -92,6 +92,15 @@ Cannery is licensed under AGPLv3 or later. A copy of the latest version of the
|
||||
license can be found at
|
||||
[LICENSE.md](https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/LICENSE.md).
|
||||
|
||||
# Links
|
||||
|
||||
- [Gitea](https://gitea.bubbletea.dev/shibao/cannery): Main repo, feature
|
||||
requests and bug reports
|
||||
- [Github](https://github.com/shibaobun/cannery): Source code mirror, please
|
||||
don't open pull requests to this repository
|
||||
- [Weblate](https://weblate.bubbletea.dev/engage/cannery): Contribute to
|
||||
translations!
|
||||
|
||||
---
|
||||
|
||||
[![Build
|
||||
|
@ -60,7 +60,8 @@ defmodule Cannery.ActivityLog do
|
||||
sg.search,
|
||||
^trimmed_search
|
||||
)
|
||||
}
|
||||
},
|
||||
distinct: sg.id
|
||||
)
|
||||
end
|
||||
|
||||
|
@ -715,6 +715,7 @@ defmodule Cannery.Ammo do
|
||||
on: c.user_id == t.user_id,
|
||||
as: :t,
|
||||
where: ag.user_id == ^user_id,
|
||||
distinct: ag.id,
|
||||
preload: ^@ammo_group_preloads
|
||||
)
|
||||
|> 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()
|
||||
def get_percentage_remaining(%AmmoGroup{count: 0, user_id: user_id}, %User{id: user_id}) do
|
||||
0
|
||||
def get_percentage_remaining(%AmmoGroup{id: ammo_group_id} = ammo_group, user) do
|
||||
[ammo_group]
|
||||
|> get_percentages_remaining(user)
|
||||
|> Map.fetch!(ammo_group_id)
|
||||
end
|
||||
|
||||
def get_percentage_remaining(%AmmoGroup{count: count} = ammo_group, current_user) do
|
||||
round(count / get_original_count(ammo_group, current_user) * 100)
|
||||
@doc """
|
||||
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
|
||||
|
||||
@doc """
|
||||
|
12
lib/cannery/comparable_date.ex
Normal file
12
lib/cannery/comparable_date.ex
Normal file
@ -0,0 +1,12 @@
|
||||
defmodule Cannery.ComparableDate do
|
||||
@moduledoc """
|
||||
A custom `Date` module that provides a `compare/2` function that is comparable
|
||||
with nil values
|
||||
"""
|
||||
|
||||
@spec compare(Date.t() | any(), Date.t() | any()) :: :lt | :gt | :eq
|
||||
def compare(%Date{} = date_1, %Date{} = date_2), do: Date.compare(date_1, date_2)
|
||||
def compare(%Date{}, _date_2), do: :lt
|
||||
def compare(_date_1, %Date{}), do: :gt
|
||||
def compare(_date_1, _date_2), do: :eq
|
||||
end
|
15
lib/cannery/comparable_datetime.ex
Normal file
15
lib/cannery/comparable_datetime.ex
Normal file
@ -0,0 +1,15 @@
|
||||
defmodule Cannery.ComparableDateTime do
|
||||
@moduledoc """
|
||||
A custom `DateTime` module that provides a `compare/2` function that is
|
||||
comparable with nil values
|
||||
"""
|
||||
|
||||
@spec compare(DateTime.t() | any(), DateTime.t() | any()) :: :lt | :gt | :eq
|
||||
def compare(%DateTime{} = datetime_1, %DateTime{} = datetime_2) do
|
||||
DateTime.compare(datetime_1, datetime_2)
|
||||
end
|
||||
|
||||
def compare(%DateTime{}, _datetime_2), do: :lt
|
||||
def compare(_datetime_1, %DateTime{}), do: :gt
|
||||
def compare(_datetime_1, _datetime_2), do: :eq
|
||||
end
|
@ -32,6 +32,7 @@ defmodule Cannery.Containers do
|
||||
as: :t,
|
||||
where: c.user_id == ^user_id,
|
||||
order_by: c.name,
|
||||
distinct: c.id,
|
||||
preload: ^@container_preloads
|
||||
)
|
||||
|> list_containers_search(search)
|
||||
@ -91,7 +92,7 @@ defmodule Cannery.Containers do
|
||||
@doc """
|
||||
Gets a single container.
|
||||
|
||||
Raises `Ecto.NoResultsError` if the Container does not exist.
|
||||
Raises `KeyError` if the Container does not exist.
|
||||
|
||||
## Examples
|
||||
|
||||
@ -99,18 +100,37 @@ defmodule Cannery.Containers do
|
||||
%Container{}
|
||||
|
||||
iex> get_container!(456, %User{id: 123})
|
||||
** (Ecto.NoResultsError)
|
||||
** (KeyError)
|
||||
|
||||
"""
|
||||
@spec get_container!(Container.id(), User.t()) :: Container.t()
|
||||
def get_container!(id, %User{id: user_id}) do
|
||||
Repo.one!(
|
||||
def get_container!(id, user) do
|
||||
[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,
|
||||
where: c.user_id == ^user_id,
|
||||
where: c.id == ^id,
|
||||
where: c.id in ^ids,
|
||||
order_by: c.name,
|
||||
preload: ^@container_preloads
|
||||
preload: ^@container_preloads,
|
||||
select: {c.id, c}
|
||||
)
|
||||
|> Map.new()
|
||||
end
|
||||
|
||||
@doc """
|
||||
|
@ -3,7 +3,8 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
A component that displays a list of ammo groups
|
||||
"""
|
||||
use CanneryWeb, :live_component
|
||||
alias Cannery.{Accounts.User, ActivityLog, Ammo, Ammo.AmmoGroup, Containers}
|
||||
alias Cannery.{Accounts.User, Ammo.AmmoGroup, ComparableDate}
|
||||
alias Cannery.{ActivityLog, Ammo, Containers}
|
||||
alias Ecto.UUID
|
||||
alias Phoenix.LiveView.{Rendered, Socket}
|
||||
|
||||
@ -13,6 +14,7 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
required(:id) => UUID.t(),
|
||||
required(:current_user) => User.t(),
|
||||
required(:ammo_groups) => [AmmoGroup.t()],
|
||||
required(:show_used) => boolean(),
|
||||
optional(:ammo_type) => Rendered.t(),
|
||||
optional(:range) => Rendered.t(),
|
||||
optional(:container) => Rendered.t(),
|
||||
@ -21,7 +23,11 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
},
|
||||
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
|
||||
|> assign(assigns)
|
||||
@ -42,7 +48,8 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
ammo_type: ammo_type,
|
||||
range: range,
|
||||
container: container,
|
||||
actions: actions
|
||||
actions: actions,
|
||||
show_used: show_used
|
||||
}
|
||||
} = socket
|
||||
) do
|
||||
@ -50,12 +57,12 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
if actions == [] do
|
||||
[]
|
||||
else
|
||||
[%{label: nil, key: :actions, sortable: false}]
|
||||
[%{label: gettext("Actions"), key: :actions, sortable: false}]
|
||||
end
|
||||
|
||||
columns = [
|
||||
%{label: gettext("Purchased on"), key: :purchased_on, type: Date},
|
||||
%{label: gettext("Last used on"), key: :used_up_on, type: Date} | columns
|
||||
%{label: gettext("Purchased on"), key: :purchased_on, type: ComparableDate},
|
||||
%{label: gettext("Last used on"), key: :used_up_on, type: ComparableDate} | columns
|
||||
]
|
||||
|
||||
columns =
|
||||
@ -73,12 +80,24 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
end
|
||||
|
||||
columns = [
|
||||
%{label: gettext("Count"), key: :count},
|
||||
%{label: gettext("Original Count"), key: :original_count},
|
||||
%{label: gettext("Price paid"), key: :price_paid},
|
||||
%{label: gettext("CPR"), key: :cpr},
|
||||
%{label: gettext("% left"), key: :remaining},
|
||||
%{label: gettext("Notes"), key: :notes}
|
||||
%{label: gettext("CPR"), key: :cpr}
|
||||
| columns
|
||||
]
|
||||
|
||||
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
|
||||
]
|
||||
|
||||
@ -89,14 +108,21 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
[%{label: gettext("Ammo type"), key: :ammo_type} | columns]
|
||||
end
|
||||
|
||||
containers =
|
||||
ammo_groups
|
||||
|> Enum.map(fn %{container_id: container_id} -> container_id end)
|
||||
|> Containers.get_containers(current_user)
|
||||
|
||||
extra_data = %{
|
||||
current_user: current_user,
|
||||
ammo_type: ammo_type,
|
||||
columns: columns,
|
||||
container: container,
|
||||
containers: containers,
|
||||
original_counts: Ammo.get_original_counts(ammo_groups, current_user),
|
||||
cprs: Ammo.get_cprs(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,
|
||||
range: range
|
||||
}
|
||||
@ -147,10 +173,11 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
"""}
|
||||
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),
|
||||
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
|
||||
{purchased_on,
|
||||
@ -182,11 +209,14 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
"""}
|
||||
end
|
||||
|
||||
defp get_value_for_key(:remaining, ammo_group, %{current_user: current_user}),
|
||||
do:
|
||||
gettext("%{percentage}%",
|
||||
percentage: ammo_group |> Ammo.get_percentage_remaining(current_user)
|
||||
)
|
||||
defp get_value_for_key(
|
||||
:remaining,
|
||||
%{id: ammo_group_id},
|
||||
%{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
|
||||
assigns = %{actions: actions, ammo_group: ammo_group}
|
||||
@ -201,12 +231,13 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
defp get_value_for_key(
|
||||
:container,
|
||||
%{container_id: container_id} = ammo_group,
|
||||
%{container: container, current_user: current_user}
|
||||
%{container: container_block, containers: containers}
|
||||
) do
|
||||
container = %{name: container_name} = Map.fetch!(containers, container_id)
|
||||
|
||||
assigns = %{
|
||||
container:
|
||||
%{name: container_name} = container_id |> Containers.get_container!(current_user),
|
||||
container_block: container,
|
||||
container: container,
|
||||
container_block: container_block,
|
||||
ammo_group: ammo_group
|
||||
}
|
||||
|
||||
@ -216,21 +247,24 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
"""}
|
||||
end
|
||||
|
||||
defp get_value_for_key(:original_count, %{id: ammo_group_id}, %{
|
||||
original_counts: original_counts
|
||||
}) do
|
||||
defp get_value_for_key(
|
||||
:original_count,
|
||||
%{id: ammo_group_id},
|
||||
%{original_counts: original_counts}
|
||||
) do
|
||||
Map.fetch!(original_counts, ammo_group_id)
|
||||
end
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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)
|
||||
|
||||
|
@ -103,13 +103,13 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do
|
||||
[
|
||||
%{
|
||||
label: gettext("Used packs"),
|
||||
key: :used_packs_count,
|
||||
type: :used_packs_count
|
||||
key: :used_pack_count,
|
||||
type: :used_pack_count
|
||||
},
|
||||
%{
|
||||
label: gettext("Total ever packs"),
|
||||
key: :historical_packs_count,
|
||||
type: :historical_packs_count
|
||||
key: :historical_pack_count,
|
||||
type: :historical_pack_count
|
||||
}
|
||||
]
|
||||
else
|
||||
@ -118,27 +118,25 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do
|
||||
)
|
||||
|> Kernel.++([
|
||||
%{label: gettext("Average CPR"), key: :avg_price_paid, type: :avg_price_paid},
|
||||
%{label: nil, key: "actions", type: :actions, sortable: false}
|
||||
%{label: gettext("Actions"), key: "actions", type: :actions, sortable: false}
|
||||
])
|
||||
|
||||
round_counts = ammo_types |> Ammo.get_round_count_for_ammo_types(current_user)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
[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 = %{
|
||||
actions: actions,
|
||||
current_user: current_user,
|
||||
@ -146,8 +144,8 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do
|
||||
round_counts: round_counts,
|
||||
historical_round_counts: historical_round_counts,
|
||||
packs_count: packs_count,
|
||||
used_packs_count: used_packs_count,
|
||||
historical_packs_count: historical_packs_count,
|
||||
used_pack_counts: used_pack_counts,
|
||||
historical_pack_counts: historical_pack_counts,
|
||||
average_costs: average_costs
|
||||
}
|
||||
|
||||
@ -185,54 +183,68 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do
|
||||
do: ammo_type |> Map.get(key) |> humanize()
|
||||
|
||||
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(
|
||||
:historical_round_count,
|
||||
_key,
|
||||
%{id: ammo_type_id},
|
||||
%{historical_round_counts: historical_round_counts}
|
||||
),
|
||||
do: Map.get(historical_round_counts, ammo_type_id)
|
||||
|
||||
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)
|
||||
) do
|
||||
Map.get(historical_round_counts, ammo_type_id, 0)
|
||||
end
|
||||
|
||||
defp get_ammo_type_value(
|
||||
:historical_packs_count,
|
||||
:used_round_count,
|
||||
_key,
|
||||
%{id: ammo_type_id},
|
||||
%{historical_packs_count: historical_packs_count}
|
||||
),
|
||||
do: Map.get(historical_packs_count, ammo_type_id)
|
||||
%{used_counts: used_counts}
|
||||
) do
|
||||
Map.get(used_counts, ammo_type_id, 0)
|
||||
end
|
||||
|
||||
defp get_ammo_type_value(:used_packs_count, _key, %{id: ammo_type_id}, %{
|
||||
used_packs_count: used_packs_count
|
||||
}),
|
||||
do: Map.get(used_packs_count, ammo_type_id)
|
||||
defp get_ammo_type_value(
|
||||
:historical_pack_count,
|
||||
_key,
|
||||
%{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}),
|
||||
do: Map.get(packs_count, ammo_type_id)
|
||||
|
||||
defp get_ammo_type_value(:avg_price_paid, _key, %{id: ammo_type_id}, %{
|
||||
average_costs: average_costs
|
||||
}) do
|
||||
defp get_ammo_type_value(
|
||||
:avg_price_paid,
|
||||
_key,
|
||||
%{id: ammo_type_id},
|
||||
%{average_costs: average_costs}
|
||||
) do
|
||||
case Map.get(average_costs, ammo_type_id) do
|
||||
nil -> gettext("No cost information")
|
||||
count -> gettext("$%{amount}", amount: display_currency(count))
|
||||
nil -> {0, gettext("No cost information")}
|
||||
count -> {count, gettext("$%{amount}", amount: display_currency(count))}
|
||||
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}
|
||||
|
||||
{ammo_type_name,
|
||||
~H"""
|
||||
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_type)} class="link">
|
||||
<%= @ammo_type.name %>
|
||||
</.link>
|
||||
"""
|
||||
"""}
|
||||
end
|
||||
|
||||
defp get_ammo_type_value(:actions, _key, ammo_type, %{actions: actions}) do
|
||||
|
@ -64,7 +64,7 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
|
||||
%{label: gettext("Packs"), key: :packs, type: :integer},
|
||||
%{label: gettext("Rounds"), key: :rounds, type: :integer},
|
||||
%{label: gettext("Tags"), key: :tags, type: :tags},
|
||||
%{label: nil, key: :actions, sortable: false, type: :actions}
|
||||
%{label: gettext("Actions"), key: :actions, sortable: false, type: :actions}
|
||||
])
|
||||
|
||||
extra_data = %{
|
||||
|
@ -6,7 +6,7 @@ defmodule CanneryWeb.CoreComponents do
|
||||
import CanneryWeb.{Gettext, ViewHelpers}
|
||||
alias Cannery.{Accounts, Accounts.Invite, Accounts.User}
|
||||
alias Cannery.{Ammo, Ammo.AmmoGroup}
|
||||
alias Cannery.{Containers, Containers.Container, Containers.Tag}
|
||||
alias Cannery.{Containers.Container, Containers.Tag}
|
||||
alias CanneryWeb.{Endpoint, HomeLive}
|
||||
alias CanneryWeb.Router.Helpers, as: Routes
|
||||
alias Phoenix.LiveView.{JS, Rendered}
|
||||
@ -91,7 +91,7 @@ defmodule CanneryWeb.CoreComponents do
|
||||
attr :original_count, :integer, default: nil
|
||||
attr :cpr, :integer, default: nil
|
||||
attr :last_used_date, Date, default: nil
|
||||
attr :show_container, :boolean, default: false
|
||||
attr :container, Container, default: nil
|
||||
slot(:inner_block)
|
||||
|
||||
def ammo_group_card(assigns)
|
||||
|
@ -17,7 +17,10 @@
|
||||
<%= if @ammo_group.count == 0, do: gettext("Empty"), else: @ammo_group.count %>
|
||||
</span>
|
||||
|
||||
<span :if={@original_count != @ammo_group.count} class="rounded-lg title text-lg">
|
||||
<span
|
||||
:if={@original_count && @original_count != @ammo_group.count}
|
||||
class="rounded-lg title text-lg"
|
||||
>
|
||||
<%= gettext("Original Count:") %>
|
||||
<%= @original_count %>
|
||||
</span>
|
||||
@ -27,7 +30,7 @@
|
||||
<%= @ammo_group.notes %>
|
||||
</span>
|
||||
|
||||
<span class="rounded-lg title text-lg">
|
||||
<span :if={@ammo_group.purchased_on} class="rounded-lg title text-lg">
|
||||
<%= gettext("Purchased on:") %>
|
||||
<.date id={"#{@ammo_group.id}-purchased-on"} date={@ammo_group.purchased_on} />
|
||||
</span>
|
||||
@ -47,17 +50,11 @@
|
||||
<%= gettext("$%{amount}", amount: display_currency(@cpr)) %>
|
||||
</span>
|
||||
|
||||
<span
|
||||
:if={@show_container && Containers.get_container!(@ammo_group.container_id, @current_user)}
|
||||
class="rounded-lg title text-lg"
|
||||
>
|
||||
<span :if={@container} class="rounded-lg title text-lg">
|
||||
<%= gettext("Container:") %>
|
||||
|
||||
<.link
|
||||
navigate={Routes.container_show_path(Endpoint, :show, @ammo_group.container_id)}
|
||||
class="link"
|
||||
>
|
||||
<%= Containers.get_container!(@ammo_group.container_id, @current_user).name %>
|
||||
<.link navigate={Routes.container_show_path(Endpoint, :show, @container)} class="link">
|
||||
<%= @container.name %>
|
||||
</.link>
|
||||
</span>
|
||||
</div>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<nav role="navigation" class="mb-8 px-8 py-4 w-full bg-primary-400">
|
||||
<nav role="navigation" class="mb-8 px-8 py-4 w-full bg-primary-500">
|
||||
<div class="flex flex-col sm:flex-row justify-between items-center">
|
||||
<div class="mb-4 sm:mb-0 sm:mr-8 flex flex-row justify-start items-center space-x-2">
|
||||
<.link
|
||||
@ -87,6 +87,7 @@
|
||||
href={Routes.user_session_path(Endpoint, :delete)}
|
||||
method="delete"
|
||||
data-confirm={dgettext("prompts", "Are you sure you want to log out?")}
|
||||
aria-label={gettext("Log out")}
|
||||
>
|
||||
<i class="fas fa-sign-out-alt"></i>
|
||||
</.link>
|
||||
@ -101,6 +102,7 @@
|
||||
<.link
|
||||
navigate={Routes.live_dashboard_path(Endpoint, :home)}
|
||||
class="text-white hover:underline"
|
||||
aria-label={gettext("Live Dashboard")}
|
||||
>
|
||||
<i class="fas fa-gauge"></i>
|
||||
</.link>
|
||||
|
@ -67,7 +67,7 @@ defmodule CanneryWeb.Components.MoveAmmoGroupComponent do
|
||||
%{label: gettext("Container"), key: :name},
|
||||
%{label: gettext("Type"), key: :type},
|
||||
%{label: gettext("Location"), key: :location},
|
||||
%{label: nil, key: :actions, sortable: false}
|
||||
%{label: gettext("Actions"), key: :actions, sortable: false}
|
||||
]
|
||||
|
||||
rows = containers |> get_rows_for_containers(assigns, columns)
|
||||
|
@ -3,7 +3,7 @@ defmodule CanneryWeb.Components.ShotGroupTableComponent do
|
||||
A component that displays a list of shot groups
|
||||
"""
|
||||
use CanneryWeb, :live_component
|
||||
alias Cannery.{Accounts.User, ActivityLog.ShotGroup, Ammo}
|
||||
alias Cannery.{Accounts.User, ActivityLog.ShotGroup, Ammo, ComparableDate}
|
||||
alias Ecto.UUID
|
||||
alias Phoenix.LiveView.{Rendered, Socket}
|
||||
|
||||
@ -41,8 +41,8 @@ defmodule CanneryWeb.Components.ShotGroupTableComponent do
|
||||
%{label: gettext("Ammo"), key: :name},
|
||||
%{label: gettext("Rounds shot"), key: :count},
|
||||
%{label: gettext("Notes"), key: :notes},
|
||||
%{label: gettext("Date"), key: :date, type: Date},
|
||||
%{label: nil, key: :actions, sortable: false}
|
||||
%{label: gettext("Date"), key: :date, type: ComparableDate},
|
||||
%{label: gettext("Actions"), key: :actions, sortable: false}
|
||||
]
|
||||
|
||||
ammo_groups =
|
||||
|
@ -32,18 +32,17 @@ defmodule CanneryWeb.ExportController do
|
||||
used_counts = ammo_groups |> ActivityLog.get_used_counts(current_user)
|
||||
original_counts = ammo_groups |> Ammo.get_original_counts(current_user)
|
||||
cprs = ammo_groups |> Ammo.get_cprs(current_user)
|
||||
percentages_remaining = ammo_groups |> Ammo.get_percentages_remaining(current_user)
|
||||
|
||||
ammo_groups =
|
||||
ammo_groups
|
||||
|> Enum.map(fn %{id: ammo_group_id} = ammo_group ->
|
||||
percentage_remaining = ammo_group |> Ammo.get_percentage_remaining(current_user)
|
||||
|
||||
ammo_group
|
||||
|> Jason.encode!()
|
||||
|> Jason.decode!()
|
||||
|> Map.merge(%{
|
||||
"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),
|
||||
"cpr" => Map.get(cprs, ammo_group_id)
|
||||
})
|
||||
|
@ -54,6 +54,7 @@
|
||||
<%= text_input(f, :search_term,
|
||||
class: "input input-primary",
|
||||
value: @search,
|
||||
role: "search",
|
||||
phx_debounce: 300,
|
||||
placeholder: gettext("Search ammo")
|
||||
) %>
|
||||
@ -77,6 +78,7 @@
|
||||
id="ammo-group-index-table"
|
||||
ammo_groups={@ammo_groups}
|
||||
current_user={@current_user}
|
||||
show_used={@show_used}
|
||||
>
|
||||
<:ammo_type :let={%{name: ammo_type_name} = ammo_type}>
|
||||
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="link">
|
||||
|
@ -6,7 +6,7 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
|
||||
use CanneryWeb, :live_view
|
||||
alias Cannery.{ActivityLog, ActivityLog.ShotGroup}
|
||||
alias Cannery.{Ammo, Ammo.AmmoGroup}
|
||||
alias Cannery.Containers
|
||||
alias Cannery.{ComparableDate, Containers}
|
||||
alias CanneryWeb.Endpoint
|
||||
alias Phoenix.LiveView.Socket
|
||||
|
||||
@ -90,8 +90,8 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
|
||||
columns = [
|
||||
%{label: gettext("Rounds shot"), key: :count},
|
||||
%{label: gettext("Notes"), key: :notes},
|
||||
%{label: gettext("Date"), key: :date, type: Date},
|
||||
%{label: nil, key: :actions, sortable: false}
|
||||
%{label: gettext("Date"), key: :date, type: ComparableDate},
|
||||
%{label: gettext("Actions"), key: :actions, sortable: false}
|
||||
]
|
||||
|
||||
shot_groups = ActivityLog.list_shot_groups_for_ammo_group(ammo_group, current_user)
|
||||
|
@ -29,6 +29,7 @@
|
||||
<%= text_input(f, :search_term,
|
||||
class: "input input-primary",
|
||||
value: @search,
|
||||
role: "search",
|
||||
phx_debounce: 300,
|
||||
placeholder: gettext("Search catalog")
|
||||
) %>
|
||||
|
@ -4,7 +4,7 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
|
||||
"""
|
||||
|
||||
use CanneryWeb, :live_view
|
||||
alias Cannery.{ActivityLog, Ammo, Ammo.AmmoType}
|
||||
alias Cannery.{ActivityLog, Ammo, Ammo.AmmoType, Containers}
|
||||
alias CanneryWeb.Endpoint
|
||||
|
||||
@fields_list [
|
||||
@ -30,17 +30,12 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
|
||||
]
|
||||
|
||||
@impl true
|
||||
def mount(_params, _session, %{assigns: %{live_action: live_action}} = socket),
|
||||
do: {:ok, socket |> assign(show_used: false, view_table: live_action == :table)}
|
||||
def mount(_params, _session, socket),
|
||||
do: {:ok, socket |> assign(show_used: false, view_table: true)}
|
||||
|
||||
@impl true
|
||||
def handle_params(%{"id" => id}, _params, %{assigns: %{live_action: live_action}} = socket) do
|
||||
socket =
|
||||
socket
|
||||
|> assign(view_table: live_action == :table)
|
||||
|> display_ammo_type(id)
|
||||
|
||||
{:noreply, socket}
|
||||
def handle_params(%{"id" => id}, _params, socket) do
|
||||
{:noreply, socket |> display_ammo_type(id)}
|
||||
end
|
||||
|
||||
@impl true
|
||||
@ -61,23 +56,14 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
|
||||
{:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_type()}
|
||||
end
|
||||
|
||||
def handle_event(
|
||||
"toggle_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)}
|
||||
def handle_event("toggle_table", _params, %{assigns: %{view_table: view_table}} = socket) do
|
||||
{:noreply, socket |> assign(:view_table, !view_table)}
|
||||
end
|
||||
|
||||
defp display_ammo_type(
|
||||
%{assigns: %{live_action: live_action, current_user: current_user, show_used: show_used}} =
|
||||
socket,
|
||||
%AmmoType{} = ammo_type
|
||||
%AmmoType{name: ammo_type_name} = ammo_type
|
||||
) do
|
||||
fields_to_display =
|
||||
@fields_list
|
||||
@ -92,25 +78,52 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
|
||||
end)
|
||||
|
||||
ammo_groups = ammo_type |> Ammo.list_ammo_groups_for_type(current_user, show_used)
|
||||
original_counts = ammo_groups |> Ammo.get_original_counts(current_user)
|
||||
cprs = ammo_groups |> Ammo.get_cprs(current_user)
|
||||
historical_packs_count = ammo_type |> Ammo.get_ammo_groups_count_for_type(current_user, true)
|
||||
last_used_dates = ammo_groups |> ActivityLog.get_last_used_dates(current_user)
|
||||
|
||||
[
|
||||
original_counts,
|
||||
used_packs_count,
|
||||
historical_packs_count,
|
||||
used_rounds,
|
||||
historical_round_count
|
||||
] =
|
||||
if show_used do
|
||||
[
|
||||
ammo_groups |> Ammo.get_original_counts(current_user),
|
||||
ammo_type |> Ammo.get_used_ammo_groups_count_for_type(current_user),
|
||||
ammo_type |> Ammo.get_ammo_groups_count_for_type(current_user, true),
|
||||
ammo_type |> ActivityLog.get_used_count_for_ammo_type(current_user),
|
||||
ammo_type |> Ammo.get_historical_count_for_ammo_type(current_user)
|
||||
]
|
||||
else
|
||||
[nil, nil, nil, nil, nil]
|
||||
end
|
||||
|
||||
page_title =
|
||||
case live_action do
|
||||
:show -> ammo_type_name
|
||||
:edit -> gettext("Edit %{ammo_type_name}", ammo_type_name: ammo_type_name)
|
||||
end
|
||||
|
||||
containers =
|
||||
ammo_groups
|
||||
|> Enum.map(fn %{container_id: container_id} -> container_id end)
|
||||
|> Containers.get_containers(current_user)
|
||||
|
||||
socket
|
||||
|> assign(
|
||||
page_title: page_title(live_action, ammo_type),
|
||||
page_title: page_title,
|
||||
ammo_type: ammo_type,
|
||||
ammo_groups: ammo_groups,
|
||||
original_counts: original_counts,
|
||||
cprs: cprs,
|
||||
last_used_dates: last_used_dates,
|
||||
containers: containers,
|
||||
cprs: ammo_groups |> Ammo.get_cprs(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),
|
||||
rounds: ammo_type |> Ammo.get_round_count_for_ammo_type(current_user),
|
||||
used_rounds: ammo_type |> ActivityLog.get_used_count_for_ammo_type(current_user),
|
||||
historical_round_count: ammo_type |> Ammo.get_historical_count_for_ammo_type(current_user),
|
||||
original_counts: original_counts,
|
||||
used_rounds: used_rounds,
|
||||
historical_round_count: historical_round_count,
|
||||
packs_count: ammo_type |> Ammo.get_ammo_groups_count_for_type(current_user),
|
||||
used_packs_count: ammo_type |> Ammo.get_used_ammo_groups_count_for_type(current_user),
|
||||
used_packs_count: used_packs_count,
|
||||
historical_packs_count: historical_packs_count,
|
||||
fields_list: @fields_list,
|
||||
fields_to_display: fields_to_display
|
||||
@ -127,10 +140,4 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
|
||||
|
||||
@spec display_currency(float()) :: String.t()
|
||||
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
|
||||
|
@ -74,6 +74,7 @@
|
||||
<%= @rounds %>
|
||||
</span>
|
||||
|
||||
<%= if @show_used do %>
|
||||
<h3 class="title text-lg">
|
||||
<%= gettext("Used rounds:") %>
|
||||
</h3>
|
||||
@ -89,11 +90,8 @@
|
||||
<span class="text-primary-600">
|
||||
<%= @historical_round_count %>
|
||||
</span>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<hr class="hr" />
|
||||
|
||||
<div class="grid sm:grid-cols-2 gap-4 text-center justify-center items-center">
|
||||
<h3 class="title text-lg">
|
||||
<%= gettext("Packs:") %>
|
||||
</h3>
|
||||
@ -102,6 +100,7 @@
|
||||
<%= @packs_count %>
|
||||
</span>
|
||||
|
||||
<%= if @show_used do %>
|
||||
<h3 class="title text-lg">
|
||||
<%= gettext("Used packs:") %>
|
||||
</h3>
|
||||
@ -117,11 +116,8 @@
|
||||
<span class="text-primary-600">
|
||||
<%= @historical_packs_count %>
|
||||
</span>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<hr class="hr" />
|
||||
|
||||
<div class="grid sm:grid-cols-2 gap-4 text-center justify-center items-center">
|
||||
<h3 class="title text-lg">
|
||||
<%= gettext("Added on:") %>
|
||||
</h3>
|
||||
@ -174,6 +170,7 @@
|
||||
id="ammo-type-show-table"
|
||||
ammo_groups={@ammo_groups}
|
||||
current_user={@current_user}
|
||||
show_used={@show_used}
|
||||
>
|
||||
<:container :let={{_ammo_group, %{name: container_name} = container}}>
|
||||
<.link
|
||||
@ -183,17 +180,32 @@
|
||||
<%= container_name %>
|
||||
</.link>
|
||||
</: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>
|
||||
<% else %>
|
||||
<div class="flex flex-wrap justify-center items-stretch">
|
||||
<.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}
|
||||
original_count={Map.fetch!(@original_counts, ammo_group_id)}
|
||||
original_count={@original_counts && Map.fetch!(@original_counts, ammo_group_id)}
|
||||
cpr={Map.get(@cprs, ammo_group_id)}
|
||||
last_used_date={Map.get(@last_used_dates, ammo_group_id)}
|
||||
current_user={@current_user}
|
||||
show_container={true}
|
||||
container={Map.fetch!(@containers, container_id)}
|
||||
/>
|
||||
</div>
|
||||
<% end %>
|
||||
|
@ -29,6 +29,7 @@
|
||||
<%= text_input(f, :search_term,
|
||||
class: "input input-primary",
|
||||
value: @search,
|
||||
role: "search",
|
||||
phx_debounce: 300,
|
||||
placeholder: gettext("Search containers")
|
||||
) %>
|
||||
|
@ -104,7 +104,7 @@ defmodule CanneryWeb.ContainerLive.Show do
|
||||
|
||||
page_title =
|
||||
case live_action do
|
||||
action when action in [:show, :table] -> container_name
|
||||
:show -> container_name
|
||||
:edit -> gettext("Edit %{name}", name: container_name)
|
||||
:edit_tags -> gettext("Edit %{name} tags", name: container_name)
|
||||
end
|
||||
|
@ -118,6 +118,7 @@
|
||||
id="ammo-type-show-table"
|
||||
ammo_groups={@ammo_groups}
|
||||
current_user={@current_user}
|
||||
show_used={@show_used}
|
||||
>
|
||||
<:ammo_type :let={%{name: ammo_type_name} = ammo_type}>
|
||||
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="link">
|
||||
|
@ -6,21 +6,11 @@ defmodule CanneryWeb.InviteLive.Index do
|
||||
use CanneryWeb, :live_view
|
||||
alias Cannery.Accounts
|
||||
alias Cannery.Accounts.{Invite, Invites}
|
||||
alias CanneryWeb.HomeLive
|
||||
alias Phoenix.LiveView.JS
|
||||
|
||||
@impl true
|
||||
def mount(_params, _session, %{assigns: %{current_user: current_user}} = socket) do
|
||||
socket =
|
||||
if current_user |> Map.get(:role) == :admin do
|
||||
socket |> display_invites()
|
||||
else
|
||||
prompt = dgettext("errors", "You are not authorized to view this page")
|
||||
return_to = Routes.live_path(Endpoint, HomeLive)
|
||||
socket |> put_flash(:error, prompt) |> push_redirect(to: return_to)
|
||||
end
|
||||
|
||||
{:ok, socket}
|
||||
def mount(_params, _session, socket) do
|
||||
{:ok, socket |> display_invites()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
|
@ -86,6 +86,7 @@
|
||||
<%= text_input(f, :search_term,
|
||||
class: "input input-primary",
|
||||
value: @search,
|
||||
role: "search",
|
||||
phx_debounce: 300,
|
||||
placeholder: gettext("Search shot records")
|
||||
) %>
|
||||
|
@ -32,6 +32,7 @@
|
||||
<%= text_input(f, :search_term,
|
||||
class: "input input-primary",
|
||||
value: @search,
|
||||
role: "search",
|
||||
phx_debounce: 300,
|
||||
placeholder: gettext("Search tags")
|
||||
) %>
|
||||
|
@ -77,7 +77,6 @@ defmodule CanneryWeb.Router do
|
||||
|
||||
live "/type/:id", AmmoTypeLive.Show, :show
|
||||
live "/type/:id/edit", AmmoTypeLive.Show, :edit
|
||||
live "/type/:id/table", AmmoTypeLive.Show, :table
|
||||
|
||||
live "/containers", ContainerLive.Index, :index
|
||||
live "/containers/new", ContainerLive.Index, :new
|
||||
|
@ -107,9 +107,9 @@
|
||||
action={Routes.user_settings_path(@conn, :update)}
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<h3 class="title text-primary-600 text-lg text-center col-span-3">
|
||||
<%= dgettext("actions", "Change Language") %>
|
||||
</h3>
|
||||
<%= label(f, :locale, dgettext("actions", "Change Language"),
|
||||
class: "title text-primary-600 text-lg text-center col-span-3"
|
||||
) %>
|
||||
|
||||
<div
|
||||
:if={@locale_changeset.action && not @locale_changeset.valid?()}
|
||||
|
2
mix.exs
2
mix.exs
@ -4,7 +4,7 @@ defmodule Cannery.MixProject do
|
||||
def project do
|
||||
[
|
||||
app: :cannery,
|
||||
version: "0.8.4",
|
||||
version: "0.8.6",
|
||||
elixir: "1.14.1",
|
||||
elixirc_paths: elixirc_paths(Mix.env()),
|
||||
compilers: Mix.compilers(),
|
||||
|
@ -66,7 +66,7 @@ msgstr ""
|
||||
msgid "Invite someone new!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:122
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:124
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
@ -97,7 +97,7 @@ msgstr ""
|
||||
msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:114
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:116
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
@ -156,7 +156,7 @@ msgstr ""
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -188,7 +188,7 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr ""
|
||||
@ -209,7 +209,7 @@ msgid "add an ammo type first"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
@ -237,13 +237,13 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:143
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:88
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:144
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -253,20 +253,20 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:158
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
@ -277,30 +277,30 @@ msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:161
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:133
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:134
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:144
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
@ -316,44 +316,45 @@ msgstr ""
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:123
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:156
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -79,7 +79,7 @@ msgstr "Passwort vergessen?"
|
||||
msgid "Invite someone new!"
|
||||
msgstr "Laden Sie jemanden ein!"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:122
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:124
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
@ -110,7 +110,7 @@ msgstr "Neuer Behälter"
|
||||
msgid "New Tag"
|
||||
msgstr "Neuer Tag"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:114
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:116
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
@ -169,7 +169,7 @@ msgstr "Munition markieren"
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr "Warum nicht einige für den Schießstand auswählen?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -201,7 +201,7 @@ msgstr "Zuerst einen Behälter hinzufügen"
|
||||
msgid "Create"
|
||||
msgstr "Erstellen"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr "Sprache wechseln"
|
||||
@ -222,7 +222,7 @@ msgid "add an ammo type first"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
@ -250,13 +250,13 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:143
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:88
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:144
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -266,20 +266,20 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:158
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
@ -290,30 +290,30 @@ msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:161
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:133
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:134
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:144
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
@ -329,44 +329,45 @@ msgstr ""
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr "Munition markieren"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:123
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:156
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -38,7 +38,7 @@ msgstr "Admins:"
|
||||
msgid "Ammo"
|
||||
msgstr "Munition"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:89
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:108
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo type"
|
||||
@ -90,7 +90,7 @@ msgstr "Patrone"
|
||||
msgid "Case material"
|
||||
msgstr "Gehäusematerial"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:67
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -111,7 +111,7 @@ msgstr "Behälter"
|
||||
msgid "Corrosive"
|
||||
msgstr "Korrosiv"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:76
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count"
|
||||
@ -141,7 +141,7 @@ msgstr "Beschreibung:"
|
||||
msgid "Easy to Use:"
|
||||
msgstr "Einfache Anwendung:"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:33
|
||||
#: lib/cannery_web/live/invite_live/index.ex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Invite"
|
||||
msgstr "Einladung bearbeiten"
|
||||
@ -189,7 +189,7 @@ msgid "Invite Only"
|
||||
msgstr "Nur mit Einladung"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:74
|
||||
#: lib/cannery_web/live/invite_live/index.ex:41
|
||||
#: lib/cannery_web/live/invite_live/index.ex:31
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
@ -256,7 +256,7 @@ msgstr "Neuer Munitionstyp"
|
||||
msgid "New Container"
|
||||
msgstr "Neuer Behälter"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:37
|
||||
#: lib/cannery_web/live/invite_live/index.ex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New Invite"
|
||||
msgstr "Neue Einladung"
|
||||
@ -267,18 +267,18 @@ msgid "New Tag"
|
||||
msgstr "Neuer Tag"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr "Keine Munition"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:163
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr "Keine Munition dieser Art"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr "Kein Behälter"
|
||||
@ -290,13 +290,12 @@ msgstr "Keine Einladung"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr "Keine Tags"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:38
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
@ -305,7 +304,7 @@ msgstr "Keine Tags"
|
||||
msgid "Notes"
|
||||
msgstr "Bemerkungen"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes:"
|
||||
@ -322,13 +321,13 @@ msgstr "Auf dem Bücherregal"
|
||||
msgid "Pressure"
|
||||
msgstr "Druck"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid"
|
||||
msgstr "Kaufpreis"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid:"
|
||||
msgstr "Kaufpreis:"
|
||||
@ -440,7 +439,7 @@ msgstr "Ihre Daten bleiben bei Ihnen, Punkt"
|
||||
msgid "No tags for this container"
|
||||
msgstr "Keine Tags für diesen Behälter"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
@ -487,7 +486,7 @@ msgid "New Shot Records"
|
||||
msgstr "Neue Schießkladde"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:55
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "Keine Schüsse dokumentiert"
|
||||
@ -526,14 +525,14 @@ msgstr "Kein weiterer Behälter"
|
||||
msgid "Shot log"
|
||||
msgstr "Schießkladde"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:153
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:229
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:224
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:263
|
||||
#: 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:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr "$%{amount}"
|
||||
@ -621,14 +620,15 @@ msgstr "Editiere %{name} Tags"
|
||||
msgid "Rounds:"
|
||||
msgstr "Patronen:"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:226
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:223
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:177
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr "Keine Preisinformationen"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:80
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:92
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "% left"
|
||||
msgstr "% verbleibend"
|
||||
@ -694,7 +694,7 @@ msgstr "Schüsse dokumentieren"
|
||||
msgid "Copies"
|
||||
msgstr "Kopien"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr "Hinzugefügt am:"
|
||||
@ -774,7 +774,7 @@ msgid "This ammo is not in a container"
|
||||
msgstr "Diese Munitionsgruppe ist nicht in einem Behälter"
|
||||
|
||||
#: lib/cannery_web/components/core_components/container_card.html.heex:32
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -801,15 +801,15 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr "Behälter"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:187
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:218
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
@ -832,8 +832,8 @@ msgstr ""
|
||||
msgid "Rounds"
|
||||
msgstr "Patronen:"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -844,7 +844,7 @@ msgstr ""
|
||||
msgid "Total ever packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr ""
|
||||
@ -854,7 +854,7 @@ msgstr ""
|
||||
msgid "Total ever rounds"
|
||||
msgstr "Summe aller Patronen"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:87
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Total ever rounds:"
|
||||
msgstr "Summe abgegebener Schüsse:"
|
||||
@ -864,7 +864,7 @@ msgstr "Summe abgegebener Schüsse:"
|
||||
msgid "Used packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr ""
|
||||
@ -874,7 +874,7 @@ msgstr ""
|
||||
msgid "Used rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:79
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
@ -985,39 +985,39 @@ msgid "UPC:"
|
||||
msgstr "UPC"
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:104
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr "%{name} bearbeiten"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:233
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:267
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:77
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:91
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Original Count"
|
||||
msgstr "Ursprüngliche Anzahl:"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Original Count:"
|
||||
msgstr "Ursprüngliche Anzahl:"
|
||||
@ -1032,28 +1032,28 @@ msgstr ""
|
||||
msgid "Total packs:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:58
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:171
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:198
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Never used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:57
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:64
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on:"
|
||||
@ -1065,32 +1065,32 @@ msgid "Edit ammo"
|
||||
msgstr "Munitionstyp bearbeiten"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:47
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No Ammo types"
|
||||
msgstr "Keine Munitionsarten"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1229,3 +1229,28 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Live Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:90
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current Count"
|
||||
msgstr ""
|
||||
|
@ -23,7 +23,7 @@ msgstr ""
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/containers.ex:200
|
||||
#: lib/cannery/containers.ex:220
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr "Behälter muss vor dem Löschen leer sein"
|
||||
@ -112,11 +112,6 @@ msgstr "Unbefugt"
|
||||
msgid "User confirmation link is invalid or it has expired."
|
||||
msgstr "Nutzerkonto Bestätigungslink ist ungültig oder abgelaufen."
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:18
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page"
|
||||
msgstr "Sie sind nicht berechtigt, diese Seite aufzurufen"
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:177
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page."
|
||||
@ -177,7 +172,7 @@ msgstr ""
|
||||
"Ungültige Nummer an Kopien. Muss zwischen 1 and %{max} liegen. War "
|
||||
"%{multiplier}"
|
||||
|
||||
#: lib/cannery/ammo.ex:1015
|
||||
#: lib/cannery/ammo.ex:1043
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invalid multiplier"
|
||||
msgstr ""
|
||||
|
@ -32,7 +32,7 @@ msgid "%{name} created successfully"
|
||||
msgstr "%{name} erfolgreich erstellt"
|
||||
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} deleted succesfully"
|
||||
@ -65,15 +65,15 @@ msgstr ""
|
||||
"Sind Sie sicher, dass sie %{email} löschen möchten? Dies kann nicht "
|
||||
"zurückgenommen werden!"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:156
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -177,7 +177,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?"
|
||||
@ -203,7 +203,7 @@ msgstr "%{email} erfolgreich bestätigt."
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr "Munition erfolgreich zu %{name} verschoben"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:126
|
||||
#: lib/cannery_web/live/invite_live/index.ex:116
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Der Zwischenablage hinzugefügt"
|
||||
@ -257,7 +257,7 @@ msgid_plural "Ammo added successfully"
|
||||
msgstr[0] "Munitionsgruppe erfolgreich aktualisiert"
|
||||
msgstr[1] "Munitionsgruppe erfolgreich aktualisiert"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -268,27 +268,27 @@ msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?"
|
||||
msgid "Register to setup Cannery"
|
||||
msgstr "Registrieren Sie sich, um %{name} zu bearbeiten"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:53
|
||||
#: lib/cannery_web/live/invite_live/index.ex:43
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} deleted succesfully"
|
||||
msgstr "%{name} erfolgreich gelöscht"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:114
|
||||
#: lib/cannery_web/live/invite_live/index.ex:104
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} disabled succesfully"
|
||||
msgstr "%{name} erfolgreich deaktiviert"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:90
|
||||
#: lib/cannery_web/live/invite_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} enabled succesfully"
|
||||
msgstr "%{name} erfolgreich aktiviert"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:68
|
||||
#: lib/cannery_web/live/invite_live/index.ex:58
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr "%{name} erfolgreich aktualisiert"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:135
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr "%{name} erfolgreich gelöscht"
|
||||
|
@ -34,7 +34,7 @@ msgstr ""
|
||||
msgid "Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:89
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:108
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo type"
|
||||
@ -86,7 +86,7 @@ msgstr ""
|
||||
msgid "Case material"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:67
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -107,7 +107,7 @@ msgstr ""
|
||||
msgid "Corrosive"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:76
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count"
|
||||
@ -137,7 +137,7 @@ msgstr ""
|
||||
msgid "Easy to Use:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:33
|
||||
#: lib/cannery_web/live/invite_live/index.ex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Invite"
|
||||
msgstr ""
|
||||
@ -185,7 +185,7 @@ msgid "Invite Only"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:74
|
||||
#: lib/cannery_web/live/invite_live/index.ex:41
|
||||
#: lib/cannery_web/live/invite_live/index.ex:31
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
@ -252,7 +252,7 @@ msgstr ""
|
||||
msgid "New Container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:37
|
||||
#: lib/cannery_web/live/invite_live/index.ex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New Invite"
|
||||
msgstr ""
|
||||
@ -263,18 +263,18 @@ msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:163
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr ""
|
||||
@ -286,13 +286,12 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:38
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
@ -301,7 +300,7 @@ msgstr ""
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes:"
|
||||
@ -318,13 +317,13 @@ msgstr ""
|
||||
msgid "Pressure"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid:"
|
||||
msgstr ""
|
||||
@ -434,7 +433,7 @@ msgstr ""
|
||||
msgid "No tags for this container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
@ -481,7 +480,7 @@ msgid "New Shot Records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:55
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
@ -520,14 +519,14 @@ msgstr ""
|
||||
msgid "Shot log"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:153
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:229
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:224
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:263
|
||||
#: 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:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr ""
|
||||
@ -615,14 +614,15 @@ msgstr ""
|
||||
msgid "Rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:226
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:223
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:177
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:80
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:92
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "% left"
|
||||
msgstr ""
|
||||
@ -688,7 +688,7 @@ msgstr ""
|
||||
msgid "Copies"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr ""
|
||||
@ -768,7 +768,7 @@ msgid "This ammo is not in a container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/container_card.html.heex:32
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -795,15 +795,15 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:187
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:218
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
@ -826,8 +826,8 @@ msgstr ""
|
||||
msgid "Rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -838,7 +838,7 @@ msgstr ""
|
||||
msgid "Total ever packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr ""
|
||||
@ -848,7 +848,7 @@ msgstr ""
|
||||
msgid "Total ever rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:87
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever rounds:"
|
||||
msgstr ""
|
||||
@ -858,7 +858,7 @@ msgstr ""
|
||||
msgid "Used packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr ""
|
||||
@ -868,7 +868,7 @@ msgstr ""
|
||||
msgid "Used rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:79
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
@ -979,39 +979,39 @@ msgid "UPC:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:233
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:267
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:77
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Original Count"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Original Count:"
|
||||
msgstr ""
|
||||
@ -1026,28 +1026,28 @@ msgstr ""
|
||||
msgid "Total packs:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:58
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:171
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:198
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Never used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:57
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:64
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on:"
|
||||
@ -1059,32 +1059,32 @@ msgid "Edit ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:47
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo types"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1212,3 +1212,28 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Live Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:90
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current Count"
|
||||
msgstr ""
|
||||
|
@ -66,7 +66,7 @@ msgstr ""
|
||||
msgid "Invite someone new!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:122
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:124
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
@ -97,7 +97,7 @@ msgstr ""
|
||||
msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:114
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:116
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
@ -156,7 +156,7 @@ msgstr ""
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -188,7 +188,7 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr ""
|
||||
@ -209,7 +209,7 @@ msgid "add an ammo type first"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
@ -237,13 +237,13 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:143
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:88
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:144
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -253,20 +253,20 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:158
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
@ -277,30 +277,30 @@ msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:161
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:133
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:134
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:144
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
@ -316,44 +316,45 @@ msgstr ""
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:123
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:156
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -34,7 +34,7 @@ msgstr ""
|
||||
msgid "Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:89
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:108
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo type"
|
||||
@ -86,7 +86,7 @@ msgstr ""
|
||||
msgid "Case material"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:67
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -107,7 +107,7 @@ msgstr ""
|
||||
msgid "Corrosive"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:76
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count"
|
||||
@ -137,7 +137,7 @@ msgstr ""
|
||||
msgid "Easy to Use:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:33
|
||||
#: lib/cannery_web/live/invite_live/index.ex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Invite"
|
||||
msgstr ""
|
||||
@ -185,7 +185,7 @@ msgid "Invite Only"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:74
|
||||
#: lib/cannery_web/live/invite_live/index.ex:41
|
||||
#: lib/cannery_web/live/invite_live/index.ex:31
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
@ -252,7 +252,7 @@ msgstr ""
|
||||
msgid "New Container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:37
|
||||
#: lib/cannery_web/live/invite_live/index.ex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New Invite"
|
||||
msgstr ""
|
||||
@ -263,18 +263,18 @@ msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:163
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr ""
|
||||
@ -286,13 +286,12 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:38
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
@ -301,7 +300,7 @@ msgstr ""
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes:"
|
||||
@ -318,13 +317,13 @@ msgstr ""
|
||||
msgid "Pressure"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid:"
|
||||
msgstr ""
|
||||
@ -434,7 +433,7 @@ msgstr ""
|
||||
msgid "No tags for this container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
@ -481,7 +480,7 @@ msgid "New Shot Records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:55
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
@ -520,14 +519,14 @@ msgstr ""
|
||||
msgid "Shot log"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:153
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:229
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:224
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:263
|
||||
#: 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:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr ""
|
||||
@ -615,14 +614,15 @@ msgstr ""
|
||||
msgid "Rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:226
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:223
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:177
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:80
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:92
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "% left"
|
||||
msgstr ""
|
||||
@ -688,7 +688,7 @@ msgstr ""
|
||||
msgid "Copies"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr ""
|
||||
@ -768,7 +768,7 @@ msgid "This ammo is not in a container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/container_card.html.heex:32
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -795,15 +795,15 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:187
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:218
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
@ -826,8 +826,8 @@ msgstr ""
|
||||
msgid "Rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -838,7 +838,7 @@ msgstr ""
|
||||
msgid "Total ever packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr ""
|
||||
@ -848,7 +848,7 @@ msgstr ""
|
||||
msgid "Total ever rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:87
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Total ever rounds:"
|
||||
msgstr ""
|
||||
@ -858,7 +858,7 @@ msgstr ""
|
||||
msgid "Used packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr ""
|
||||
@ -868,7 +868,7 @@ msgstr ""
|
||||
msgid "Used rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:79
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
@ -979,39 +979,39 @@ msgid "UPC:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:104
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:233
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:267
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:77
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:91
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Original Count"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Original Count:"
|
||||
msgstr ""
|
||||
@ -1026,28 +1026,28 @@ msgstr ""
|
||||
msgid "Total packs:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:58
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:171
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:198
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Never used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:57
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:64
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on:"
|
||||
@ -1059,32 +1059,32 @@ msgid "Edit ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:47
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No Ammo types"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1212,3 +1212,28 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Live Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:90
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current Count"
|
||||
msgstr ""
|
||||
|
@ -10,7 +10,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Language: en\n"
|
||||
|
||||
#: lib/cannery/containers.ex:200
|
||||
#: lib/cannery/containers.ex:220
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr ""
|
||||
@ -98,11 +98,6 @@ msgstr ""
|
||||
msgid "User confirmation link is invalid or it has expired."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:18
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:177
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page."
|
||||
@ -160,7 +155,7 @@ msgstr ""
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo.ex:1015
|
||||
#: lib/cannery/ammo.ex:1043
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invalid multiplier"
|
||||
msgstr ""
|
||||
|
@ -19,7 +19,7 @@ msgid "%{name} created successfully"
|
||||
msgstr ""
|
||||
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} deleted succesfully"
|
||||
@ -50,15 +50,15 @@ msgstr ""
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:156
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -156,7 +156,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
@ -182,7 +182,7 @@ msgstr ""
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:126
|
||||
#: lib/cannery_web/live/invite_live/index.ex:116
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
@ -236,7 +236,7 @@ msgid_plural "Ammo added successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -247,27 +247,27 @@ msgstr ""
|
||||
msgid "Register to setup Cannery"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:53
|
||||
#: lib/cannery_web/live/invite_live/index.ex:43
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:114
|
||||
#: lib/cannery_web/live/invite_live/index.ex:104
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} disabled succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:90
|
||||
#: lib/cannery_web/live/invite_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} enabled succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:68
|
||||
#: lib/cannery_web/live/invite_live/index.ex:58
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:135
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr ""
|
||||
|
@ -10,7 +10,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/containers.ex:200
|
||||
#: lib/cannery/containers.ex:220
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr ""
|
||||
@ -98,11 +98,6 @@ msgstr ""
|
||||
msgid "User confirmation link is invalid or it has expired."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:18
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:177
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page."
|
||||
@ -159,7 +154,7 @@ msgstr ""
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo.ex:1015
|
||||
#: lib/cannery/ammo.ex:1043
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invalid multiplier"
|
||||
msgstr ""
|
||||
|
@ -79,7 +79,7 @@ msgstr "¿Has olvidado tu contraseña?"
|
||||
msgid "Invite someone new!"
|
||||
msgstr "¡Invita a alguien nuevo!"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:122
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:124
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
@ -110,7 +110,7 @@ msgstr "Nuevo Contenedor"
|
||||
msgid "New Tag"
|
||||
msgstr "Nueva Etiqueta"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:114
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:116
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
@ -169,7 +169,7 @@ msgstr "Preparar munición"
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr "¿Por qué no preparar parte para disparar?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -201,7 +201,7 @@ msgstr "añade primero un contenedor"
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr "Cambiar Lenguaje"
|
||||
@ -222,7 +222,7 @@ msgid "add an ammo type first"
|
||||
msgstr "añade primero un tipo de munición"
|
||||
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
@ -250,13 +250,13 @@ msgstr "Desmontar del campo de tiro"
|
||||
msgid "Export Data as JSON"
|
||||
msgstr "Exportar datos como JSON"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:143
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:88
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:144
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -266,20 +266,20 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:158
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
@ -290,30 +290,30 @@ msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:161
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:133
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:134
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:144
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
@ -329,44 +329,45 @@ msgstr ""
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr "Preparar munición"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:123
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:156
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -38,7 +38,7 @@ msgstr "Aministradores:"
|
||||
msgid "Ammo"
|
||||
msgstr "Munición"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:89
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:108
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo type"
|
||||
@ -90,7 +90,7 @@ msgstr "Cartucho"
|
||||
msgid "Case material"
|
||||
msgstr "Material del casquillo"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:67
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -111,7 +111,7 @@ msgstr "Contenedores"
|
||||
msgid "Corrosive"
|
||||
msgstr "Corrosiva"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:76
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count"
|
||||
@ -141,7 +141,7 @@ msgstr "Descripción:"
|
||||
msgid "Easy to Use:"
|
||||
msgstr "Facil de Usar:"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:33
|
||||
#: lib/cannery_web/live/invite_live/index.ex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Invite"
|
||||
msgstr "Editar Invitación"
|
||||
@ -189,7 +189,7 @@ msgid "Invite Only"
|
||||
msgstr "Solo Invitación"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:74
|
||||
#: lib/cannery_web/live/invite_live/index.ex:41
|
||||
#: lib/cannery_web/live/invite_live/index.ex:31
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
@ -256,7 +256,7 @@ msgstr "Nuevo tipo de Munición"
|
||||
msgid "New Container"
|
||||
msgstr "Nuevo Contenedor"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:37
|
||||
#: lib/cannery_web/live/invite_live/index.ex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New Invite"
|
||||
msgstr "Nueva Invitación"
|
||||
@ -267,18 +267,18 @@ msgid "New Tag"
|
||||
msgstr "Nueva Etiqueta"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr "Sin Munición"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:163
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr "Sin munición para este tipo"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr "Sin contenedores"
|
||||
@ -290,13 +290,12 @@ msgstr "Sin invitaciones"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr "Sin etiquetas"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:38
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
@ -305,7 +304,7 @@ msgstr "Sin etiquetas"
|
||||
msgid "Notes"
|
||||
msgstr "Notas"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes:"
|
||||
@ -322,13 +321,13 @@ msgstr "En la estantería"
|
||||
msgid "Pressure"
|
||||
msgstr "Presión"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid"
|
||||
msgstr "Precio pagado"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid:"
|
||||
msgstr "Precio pagado:"
|
||||
@ -441,7 +440,7 @@ msgstr "Tus datos se quedan contigo, sin excepciones"
|
||||
msgid "No tags for this container"
|
||||
msgstr "Contenedor sin etiquetas"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
@ -488,7 +487,7 @@ msgid "New Shot Records"
|
||||
msgstr "Nuevos Tiros Récord"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:55
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "No se han grabado tiros"
|
||||
@ -527,14 +526,14 @@ msgstr "No hay otros contenedores"
|
||||
msgid "Shot log"
|
||||
msgstr "Registro de tiros"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:153
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:229
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:224
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:263
|
||||
#: 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:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr "$%{amount}"
|
||||
@ -622,14 +621,15 @@ msgstr "Editar etiquetas de %{name}"
|
||||
msgid "Rounds:"
|
||||
msgstr "Balas:"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:226
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:223
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:177
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr "No hay información de coste"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:80
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:92
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "% left"
|
||||
msgstr "% restantes"
|
||||
@ -695,7 +695,7 @@ msgstr "Tiros Récord"
|
||||
msgid "Copies"
|
||||
msgstr "Copias"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr "Añadido en:"
|
||||
@ -775,7 +775,7 @@ msgid "This ammo is not in a container"
|
||||
msgstr "Esta munición no está en un contenedor"
|
||||
|
||||
#: lib/cannery_web/components/core_components/container_card.html.heex:32
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -803,15 +803,15 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr "Contenedor:"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr "Mostrar usadas"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:187
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:218
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
@ -834,8 +834,8 @@ msgstr "Paquetes"
|
||||
msgid "Rounds"
|
||||
msgstr "Balas"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -846,7 +846,7 @@ msgstr "Ver como tabla"
|
||||
msgid "Total ever packs"
|
||||
msgstr "Paquetes totales"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr "Paquetes totales:"
|
||||
@ -856,7 +856,7 @@ msgstr "Paquetes totales:"
|
||||
msgid "Total ever rounds"
|
||||
msgstr "Balas totales"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:87
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever rounds:"
|
||||
msgstr "Balas totales:"
|
||||
@ -866,7 +866,7 @@ msgstr "Balas totales:"
|
||||
msgid "Used packs"
|
||||
msgstr "Paquetes usados"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr "Paquetes usados:"
|
||||
@ -876,7 +876,7 @@ msgstr "Paquetes usados:"
|
||||
msgid "Used rounds"
|
||||
msgstr "Balas usadas"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:79
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used rounds:"
|
||||
msgstr "Balas usadas:"
|
||||
@ -987,39 +987,39 @@ msgid "UPC:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr "Editar %{ammo_type_name}"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:233
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:267
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr "Vacio"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:77
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Original Count"
|
||||
msgstr "Cantidad Original"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Original Count:"
|
||||
msgstr "Cantidad Original:"
|
||||
@ -1034,28 +1034,28 @@ msgstr "Menu principal"
|
||||
msgid "Total packs:"
|
||||
msgstr "Paquetes totales:"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:58
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on"
|
||||
msgstr "Usada por última vez en"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on:"
|
||||
msgstr "Usada por última vez en:"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:171
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:198
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Never used"
|
||||
msgstr "Nunca usada"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:57
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:64
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on"
|
||||
msgstr "Comprada en"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on:"
|
||||
@ -1067,32 +1067,32 @@ msgid "Edit ammo"
|
||||
msgstr "Editar munición"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:47
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No Ammo types"
|
||||
msgstr "Sin tipo de Munición"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1231,3 +1231,28 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Live Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:90
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current Count"
|
||||
msgstr ""
|
||||
|
@ -23,7 +23,7 @@ msgstr ""
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/containers.ex:200
|
||||
#: lib/cannery/containers.ex:220
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr "El contenedor debe estar vacío antes de ser borrado"
|
||||
@ -114,11 +114,6 @@ msgstr "No autorizado"
|
||||
msgid "User confirmation link is invalid or it has expired."
|
||||
msgstr "El enlace de confirmación de usuario no es válido o ha caducado."
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:18
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page"
|
||||
msgstr "No está autorizado a ver esta página"
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:177
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page."
|
||||
@ -175,7 +170,7 @@ msgstr "No se ha podido procesar el número de copias"
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
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
|
||||
msgid "Invalid multiplier"
|
||||
msgstr "Multiplicador inválido"
|
||||
|
@ -32,7 +32,7 @@ msgid "%{name} created successfully"
|
||||
msgstr "%{name} creado exitosamente"
|
||||
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} deleted succesfully"
|
||||
@ -65,15 +65,15 @@ msgstr ""
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr "Está seguro que desea eliminar %{email}? Esta acción es permanente!"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:156
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr "Está seguro que desea eliminar %{name}?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -176,7 +176,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Está seguro que desea desmontar esta munición?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "¿Está segure que quiere borrar este récord de disparos?"
|
||||
@ -202,7 +202,7 @@ msgstr "%{email} confirmado exitosamente."
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr "Munición movida a %{name} exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:126
|
||||
#: lib/cannery_web/live/invite_live/index.ex:116
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copiado al portapapeles"
|
||||
@ -256,7 +256,7 @@ msgid_plural "Ammo added successfully"
|
||||
msgstr[0] "Munición añadida exitosamente"
|
||||
msgstr[1] "Municiones añadidas exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -269,27 +269,27 @@ msgstr ""
|
||||
msgid "Register to setup Cannery"
|
||||
msgstr "Regístrese para configurar %{name}"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:53
|
||||
#: lib/cannery_web/live/invite_live/index.ex:43
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} deleted succesfully"
|
||||
msgstr "%{name} borrado exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:114
|
||||
#: lib/cannery_web/live/invite_live/index.ex:104
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} disabled succesfully"
|
||||
msgstr "%{name} desactivado exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:90
|
||||
#: lib/cannery_web/live/invite_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} enabled succesfully"
|
||||
msgstr "%{name} activado exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:68
|
||||
#: lib/cannery_web/live/invite_live/index.ex:58
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr "%{name} actualizado exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:135
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr "%{name} borrado exitosamente"
|
||||
|
@ -79,7 +79,7 @@ msgstr "Mot de passe oublié ?"
|
||||
msgid "Invite someone new!"
|
||||
msgstr "Invitez une nouvelle personne !"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:122
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:124
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
@ -110,7 +110,7 @@ msgstr "Nouveau conteneur"
|
||||
msgid "New Tag"
|
||||
msgstr "Nouveau tag"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:114
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:116
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
@ -169,7 +169,7 @@ msgstr "Munition préparée"
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr "Pourquoi pas en préparer pour tirer ?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -201,7 +201,7 @@ msgstr "ajouter un conteneur en premier"
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr "Changer la langue"
|
||||
@ -222,7 +222,7 @@ msgid "add an ammo type first"
|
||||
msgstr "Ajoutez d'abord un type de munitions"
|
||||
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
@ -250,13 +250,13 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:143
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:88
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:144
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -266,20 +266,20 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:158
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
@ -290,30 +290,30 @@ msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:161
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:133
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:134
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:144
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
@ -329,44 +329,45 @@ msgstr ""
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr "Munition préparée"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:123
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:156
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -38,7 +38,7 @@ msgstr "Administrateur·ices :"
|
||||
msgid "Ammo"
|
||||
msgstr "Munition"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:89
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:108
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo type"
|
||||
@ -90,7 +90,7 @@ msgstr "Cartouche"
|
||||
msgid "Case material"
|
||||
msgstr "Matériau de la caisse"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:67
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -111,7 +111,7 @@ msgstr "Conteneurs"
|
||||
msgid "Corrosive"
|
||||
msgstr "Corrosive"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:76
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count"
|
||||
@ -141,7 +141,7 @@ msgstr "Description :"
|
||||
msgid "Easy to Use:"
|
||||
msgstr "Simple à utiliser :"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:33
|
||||
#: lib/cannery_web/live/invite_live/index.ex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Invite"
|
||||
msgstr "Modifier l’invitation"
|
||||
@ -189,7 +189,7 @@ msgid "Invite Only"
|
||||
msgstr "Uniquement sur invitation"
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:74
|
||||
#: lib/cannery_web/live/invite_live/index.ex:41
|
||||
#: lib/cannery_web/live/invite_live/index.ex:31
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
@ -256,7 +256,7 @@ msgstr "Nouveau type de munition"
|
||||
msgid "New Container"
|
||||
msgstr "Nouveau conteneur"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:37
|
||||
#: lib/cannery_web/live/invite_live/index.ex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New Invite"
|
||||
msgstr "Nouvelle invitation"
|
||||
@ -267,18 +267,18 @@ msgid "New Tag"
|
||||
msgstr "Nouveau tag"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr "Aucune munition"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:163
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr "Aucune munition pour ce type"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr "Aucun conteneur"
|
||||
@ -290,13 +290,12 @@ msgstr "Aucune invitation"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr "Aucun tag"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:38
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
@ -305,7 +304,7 @@ msgstr "Aucun tag"
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes:"
|
||||
@ -322,13 +321,13 @@ msgstr "Sur l’étagère"
|
||||
msgid "Pressure"
|
||||
msgstr "Pression"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid"
|
||||
msgstr "Prix payé"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid:"
|
||||
msgstr "Prix payé :"
|
||||
@ -442,7 +441,7 @@ msgstr "Vos données restent avec vous, point final"
|
||||
msgid "No tags for this container"
|
||||
msgstr "Aucun tag pour ce conteneur"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
@ -489,7 +488,7 @@ msgid "New Shot Records"
|
||||
msgstr "Nouveaux enregistrements de tir"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:55
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "Aucun tir enregistré"
|
||||
@ -528,14 +527,14 @@ msgstr "Aucun autre conteneur"
|
||||
msgid "Shot log"
|
||||
msgstr "Évènements de tir"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:153
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:229
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:224
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:263
|
||||
#: 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:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr "%{amount} $"
|
||||
@ -623,14 +622,15 @@ msgstr "Éditer les tags de %{name}"
|
||||
msgid "Rounds:"
|
||||
msgstr "Cartouches :"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:226
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:223
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:177
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr "Aucune information de prix"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:80
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:92
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "% left"
|
||||
msgstr "% restante"
|
||||
@ -696,7 +696,7 @@ msgstr "Enregistrer des tirs"
|
||||
msgid "Copies"
|
||||
msgstr "Exemplaires"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr "Ajouté le :"
|
||||
@ -776,7 +776,7 @@ msgid "This ammo is not in a container"
|
||||
msgstr "Ce groupe de munition n’est pas dans un conteneur"
|
||||
|
||||
#: lib/cannery_web/components/core_components/container_card.html.heex:32
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -804,15 +804,15 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr "Conteneur"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:187
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:218
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
@ -835,8 +835,8 @@ msgstr "Packages :"
|
||||
msgid "Rounds"
|
||||
msgstr "Cartouches :"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -847,7 +847,7 @@ msgstr ""
|
||||
msgid "Total ever packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr ""
|
||||
@ -857,7 +857,7 @@ msgstr ""
|
||||
msgid "Total ever rounds"
|
||||
msgstr "Quantité de cartouches"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:87
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Total ever rounds:"
|
||||
msgstr "Nombre totale de cartouches tirées :"
|
||||
@ -867,7 +867,7 @@ msgstr "Nombre totale de cartouches tirées :"
|
||||
msgid "Used packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr ""
|
||||
@ -877,7 +877,7 @@ msgstr ""
|
||||
msgid "Used rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:79
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
@ -988,39 +988,39 @@ msgid "UPC:"
|
||||
msgstr "UPC"
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:104
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr "Éditer %{name}"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:233
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:267
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:77
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:91
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Original Count"
|
||||
msgstr "Nombre original :"
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Original Count:"
|
||||
msgstr "Nombre original :"
|
||||
@ -1035,28 +1035,28 @@ msgstr ""
|
||||
msgid "Total packs:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:58
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:171
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:198
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Never used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:57
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:64
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on:"
|
||||
@ -1068,32 +1068,32 @@ msgid "Edit ammo"
|
||||
msgstr "Éditer le type de munition"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:47
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No Ammo types"
|
||||
msgstr "Aucun type de munition"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1232,3 +1232,28 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Live Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:90
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current Count"
|
||||
msgstr ""
|
||||
|
@ -23,7 +23,7 @@ msgstr ""
|
||||
# # Run "mix gettext.extract" to bring this file up to
|
||||
# # date. Leave "msgstr"s empty as changing them here has no
|
||||
# # effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/containers.ex:200
|
||||
#: lib/cannery/containers.ex:220
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr "Le conteneur doit être vide pour être supprimé"
|
||||
@ -113,11 +113,6 @@ msgstr "Non autorisé·e"
|
||||
msgid "User confirmation link is invalid or it has expired."
|
||||
msgstr "Le lien de confirmation d’utilisateur·ice est invalide ou a expiré."
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:18
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page"
|
||||
msgstr "Vous n’êtes pas autorisé·e à voir cette page"
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:177
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page."
|
||||
@ -176,7 +171,7 @@ msgstr "Impossible d'analyser le nombre de copies"
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
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
|
||||
msgid "Invalid multiplier"
|
||||
msgstr "Multiplicateur invalide"
|
||||
|
@ -32,7 +32,7 @@ msgid "%{name} created successfully"
|
||||
msgstr "%{name} créé· avec succès"
|
||||
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} deleted succesfully"
|
||||
@ -66,15 +66,15 @@ msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
"Êtes-vous certain·e de supprimer %{email} ? Cette action est définitive !"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:156
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr "Êtes-vous certain·e de supprimer %{name} ?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -178,7 +178,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition ?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir ?"
|
||||
@ -204,7 +204,7 @@ msgstr "%{email} confirmé avec succès."
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr "Munition déplacée à %{name} avec succès"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:126
|
||||
#: lib/cannery_web/live/invite_live/index.ex:116
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copié dans le presse-papier"
|
||||
@ -258,7 +258,7 @@ msgid_plural "Ammo added successfully"
|
||||
msgstr[0] "Groupe de munition mis à jour avec succès"
|
||||
msgstr[1] "Groupe de munition mis à jour avec succès"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -269,27 +269,27 @@ msgstr "Êtes-vous certain·e de supprimer %{name} ?"
|
||||
msgid "Register to setup Cannery"
|
||||
msgstr "S’enregistrer pour mettre en place %{name}"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:53
|
||||
#: lib/cannery_web/live/invite_live/index.ex:43
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} deleted succesfully"
|
||||
msgstr "%{name} supprimé· avec succès"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:114
|
||||
#: lib/cannery_web/live/invite_live/index.ex:104
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} disabled succesfully"
|
||||
msgstr "%{name} supprimé·e avec succès"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:90
|
||||
#: lib/cannery_web/live/invite_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} enabled succesfully"
|
||||
msgstr "%{name} activé·e avec succès"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:68
|
||||
#: lib/cannery_web/live/invite_live/index.ex:58
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr "%{name} mis à jour avec succès"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:135
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr "%{name} supprimé· avec succès"
|
||||
|
@ -77,7 +77,7 @@ msgstr ""
|
||||
msgid "Invite someone new!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:122
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:124
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
@ -108,7 +108,7 @@ msgstr ""
|
||||
msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:114
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:116
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:29
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
@ -167,7 +167,7 @@ msgstr ""
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:103
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -199,7 +199,7 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr ""
|
||||
@ -220,7 +220,7 @@ msgid "add an ammo type first"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:80
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:120
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:96
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
@ -248,13 +248,13 @@ msgstr ""
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:143
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:88
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:144
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
@ -264,20 +264,20 @@ msgstr ""
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:158
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:103
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
@ -288,30 +288,30 @@ msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:161
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:74
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:77
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:133
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:134
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:142
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:144
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
@ -327,44 +327,45 @@ msgstr ""
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:113
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:122
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:66
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:123
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:154
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:156
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:171
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:76
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:130
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:189
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -36,7 +36,7 @@ msgstr ""
|
||||
msgid "Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:89
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:108
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo type"
|
||||
@ -88,7 +88,7 @@ msgstr ""
|
||||
msgid "Case material"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:67
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -109,7 +109,7 @@ msgstr ""
|
||||
msgid "Corrosive"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:76
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count"
|
||||
@ -139,7 +139,7 @@ msgstr ""
|
||||
msgid "Easy to Use:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:33
|
||||
#: lib/cannery_web/live/invite_live/index.ex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Invite"
|
||||
msgstr ""
|
||||
@ -187,7 +187,7 @@ msgid "Invite Only"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:74
|
||||
#: lib/cannery_web/live/invite_live/index.ex:41
|
||||
#: lib/cannery_web/live/invite_live/index.ex:31
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
@ -254,7 +254,7 @@ msgstr ""
|
||||
msgid "New Container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:37
|
||||
#: lib/cannery_web/live/invite_live/index.ex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New Invite"
|
||||
msgstr ""
|
||||
@ -265,18 +265,18 @@ msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:163
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr ""
|
||||
@ -288,13 +288,12 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:38
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
@ -303,7 +302,7 @@ msgstr ""
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:26
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:29
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes:"
|
||||
@ -320,13 +319,13 @@ msgstr ""
|
||||
msgid "Pressure"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:78
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:41
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Price paid:"
|
||||
msgstr ""
|
||||
@ -436,7 +435,7 @@ msgstr ""
|
||||
msgid "No tags for this container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:72
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Range"
|
||||
@ -483,7 +482,7 @@ msgid "New Shot Records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:55
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
@ -522,14 +521,14 @@ msgstr ""
|
||||
msgid "Shot log"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:153
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:229
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:224
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:42
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:47
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:180
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:263
|
||||
#: 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:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:42
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr ""
|
||||
@ -617,14 +616,15 @@ msgstr ""
|
||||
msgid "Rounds:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:226
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:223
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:177
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:80
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:92
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "% left"
|
||||
msgstr ""
|
||||
@ -690,7 +690,7 @@ msgstr ""
|
||||
msgid "Copies"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr ""
|
||||
@ -770,7 +770,7 @@ msgid "This ammo is not in a container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/container_card.html.heex:32
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -797,15 +797,15 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:65
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:149
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:98
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:187
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:218
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{percentage}%"
|
||||
@ -828,8 +828,8 @@ msgstr ""
|
||||
msgid "Rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:40
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
@ -840,7 +840,7 @@ msgstr ""
|
||||
msgid "Total ever packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr ""
|
||||
@ -850,7 +850,7 @@ msgstr ""
|
||||
msgid "Total ever rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:87
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Total ever rounds:"
|
||||
msgstr ""
|
||||
@ -860,7 +860,7 @@ msgstr ""
|
||||
msgid "Used packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr ""
|
||||
@ -870,7 +870,7 @@ msgstr ""
|
||||
msgid "Used rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:79
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
@ -981,39 +981,39 @@ msgid "UPC:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:131
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:135
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:104
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:233
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:267
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:79
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:84
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:46
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "CPR:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:77
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:91
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Original Count"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:21
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:24
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Original Count:"
|
||||
msgstr ""
|
||||
@ -1028,28 +1028,28 @@ msgstr ""
|
||||
msgid "Total packs:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:58
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:65
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:36
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last used on:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:171
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:198
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Never used"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:57
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:64
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:31
|
||||
#: lib/cannery_web/components/core_components/ammo_group_card.html.heex:34
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Purchased on:"
|
||||
@ -1061,32 +1061,32 @@ msgid "Edit ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:47
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No Ammo types"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:59
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:37
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:91
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
@ -1223,3 +1223,28 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Really great weather"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:60
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:121
|
||||
#: lib/cannery_web/components/container_table_component.ex:67
|
||||
#: lib/cannery_web/components/move_ammo_group_component.ex:70
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Live Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/core_components/topbar.html.heex:90
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current Count"
|
||||
msgstr ""
|
||||
|
@ -24,7 +24,7 @@ msgstr ""
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/containers.ex:200
|
||||
#: lib/cannery/containers.ex:220
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Container must be empty before deleting"
|
||||
msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh"
|
||||
@ -114,11 +114,6 @@ msgstr "Níl cead agaibh"
|
||||
msgid "User confirmation link is invalid or it has expired."
|
||||
msgstr "Tá nasc an úsáideoir a deimhnigh neamhbailí nó as dáta."
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:18
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page"
|
||||
msgstr "Níl cead agaibh féachaint ar an leathanach seo"
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:177
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You are not authorized to view this page."
|
||||
@ -175,7 +170,7 @@ msgstr ""
|
||||
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/ammo.ex:1015
|
||||
#: lib/cannery/ammo.ex:1043
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invalid multiplier"
|
||||
msgstr ""
|
||||
|
@ -30,7 +30,7 @@ msgid "%{name} created successfully"
|
||||
msgstr ""
|
||||
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} deleted succesfully"
|
||||
@ -61,15 +61,15 @@ msgstr ""
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:156
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -167,7 +167,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
@ -193,7 +193,7 @@ msgstr ""
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:126
|
||||
#: lib/cannery_web/live/invite_live/index.ex:116
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
@ -250,7 +250,7 @@ msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
msgstr[4] ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -261,27 +261,27 @@ msgstr ""
|
||||
msgid "Register to setup Cannery"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:53
|
||||
#: lib/cannery_web/live/invite_live/index.ex:43
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:114
|
||||
#: lib/cannery_web/live/invite_live/index.ex:104
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} disabled succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:90
|
||||
#: lib/cannery_web/live/invite_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} enabled succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:68
|
||||
#: lib/cannery_web/live/invite_live/index.ex:58
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:135
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr ""
|
||||
|
@ -19,7 +19,7 @@ msgid "%{name} created successfully"
|
||||
msgstr ""
|
||||
|
||||
#: 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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} deleted succesfully"
|
||||
@ -50,15 +50,15 @@ msgstr ""
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:99
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:100
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:156
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:52
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:169
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:74
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
@ -156,7 +156,7 @@ msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:159
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:127
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
@ -182,7 +182,7 @@ msgstr ""
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:126
|
||||
#: lib/cannery_web/live/invite_live/index.ex:116
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
@ -236,7 +236,7 @@ msgid_plural "Ammo added successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:97
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -247,27 +247,27 @@ msgstr ""
|
||||
msgid "Register to setup Cannery"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:53
|
||||
#: lib/cannery_web/live/invite_live/index.ex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{invite_name} deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:114
|
||||
#: lib/cannery_web/live/invite_live/index.ex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{invite_name} disabled succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:90
|
||||
#: lib/cannery_web/live/invite_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{invite_name} enabled succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:68
|
||||
#: lib/cannery_web/live/invite_live/index.ex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:135
|
||||
#: lib/cannery_web/live/invite_live/index.ex:125
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr ""
|
||||
|
@ -45,7 +45,7 @@ defmodule Cannery.AmmoTest do
|
||||
assert Ammo.list_ammo_types(current_user) == [ammo_type]
|
||||
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
|
||||
ammo_type_a =
|
||||
%{"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]
|
||||
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
|
||||
assert Ammo.get_ammo_type!(ammo_type.id, current_user) == ammo_type
|
||||
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
|
||||
assert {:ok, %AmmoType{} = ammo_type} = Ammo.create_ammo_type(@valid_attrs, current_user)
|
||||
assert ammo_type.bullet_type == "some bullet_type"
|
||||
@ -105,12 +105,12 @@ defmodule Cannery.AmmoTest do
|
||||
assert ammo_type.grains == 120
|
||||
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
|
||||
assert {:error, %Changeset{}} = Ammo.create_ammo_type(@invalid_attrs, current_user)
|
||||
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
|
||||
assert {:ok, %AmmoType{} = ammo_type} =
|
||||
Ammo.update_ammo_type(ammo_type, @update_attrs, current_user)
|
||||
@ -123,7 +123,7 @@ defmodule Cannery.AmmoTest do
|
||||
assert ammo_type.grains == 456
|
||||
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
|
||||
assert {:error, %Changeset{}} =
|
||||
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)
|
||||
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
|
||||
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
|
||||
@ -785,7 +785,7 @@ defmodule Cannery.AmmoTest do
|
||||
assert %{^another_ammo_type_id => 1} = ammo_groups_count
|
||||
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,
|
||||
container: container,
|
||||
@ -797,7 +797,7 @@ defmodule Cannery.AmmoTest do
|
||||
assert Ammo.list_staged_ammo_groups(current_user) == [another_ammo_group]
|
||||
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
|
||||
assert Ammo.get_ammo_group!(ammo_group_id, current_user) == ammo_group
|
||||
end
|
||||
@ -861,7 +861,7 @@ defmodule Cannery.AmmoTest do
|
||||
|> Ammo.create_ammo_groups(1, current_user)
|
||||
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
|
||||
assert {:ok, %AmmoGroup{} = ammo_group} =
|
||||
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
|
||||
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
|
||||
assert {:error, %Changeset{}} =
|
||||
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)
|
||||
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
|
||||
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
|
||||
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
|
||||
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)
|
||||
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",
|
||||
%{ammo_type: ammo_type, container: container, current_user: current_user} do
|
||||
{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) == []
|
||||
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
|
||||
assert Containers.get_container!(container.id, current_user) == container
|
||||
assert_raise KeyError, fn -> Containers.get_container!(current_user.id, current_user) 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} =
|
||||
@valid_attrs |> Containers.create_container(current_user)
|
||||
|
||||
@ -106,12 +118,12 @@ defmodule Cannery.ContainersTest do
|
||||
assert container.user_id == current_user.id
|
||||
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
|
||||
assert {:error, %Changeset{}} = @invalid_attrs |> Containers.create_container(current_user)
|
||||
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
|
||||
assert {:ok, %Container{} = container} =
|
||||
Containers.update_container(container, current_user, @update_attrs)
|
||||
@ -122,7 +134,7 @@ defmodule Cannery.ContainersTest do
|
||||
assert container.type == "some updated type"
|
||||
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
|
||||
assert {:error, %Changeset{}} =
|
||||
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)
|
||||
end
|
||||
|
||||
test "delete_container/1 deletes the container",
|
||||
test "delete_container/2 deletes the container",
|
||||
%{current_user: current_user, container: container} do
|
||||
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)
|
||||
end
|
||||
end
|
||||
@ -168,36 +180,36 @@ defmodule Cannery.ContainersTest do
|
||||
assert Containers.list_tags("hollows", current_user) == [tag_b]
|
||||
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
|
||||
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 tag.bg_color == "some bg-color"
|
||||
assert tag.name == "some name"
|
||||
assert tag.text_color == "some text-color"
|
||||
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
|
||||
assert {:error, %Changeset{}} = Containers.create_tag(@invalid_tag_attrs, current_user)
|
||||
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 tag.bg_color == "some updated bg-color"
|
||||
assert tag.name == "some updated name"
|
||||
assert tag.text_color == "some updated text-color"
|
||||
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
|
||||
assert {:error, %Changeset{}} = Containers.update_tag(tag, @invalid_tag_attrs, current_user)
|
||||
assert tag == Containers.get_tag!(tag.id, current_user)
|
||||
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_raise Ecto.NoResultsError, fn -> Containers.get_tag!(tag.id, current_user) end
|
||||
end
|
||||
|
@ -116,7 +116,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
|> follow_redirect(conn, Routes.ammo_group_index_path(conn, :index))
|
||||
|
||||
assert html =~ dgettext("prompts", "Ammo added successfully")
|
||||
assert html =~ "42"
|
||||
assert html =~ "\n42\n"
|
||||
end
|
||||
|
||||
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))
|
||||
|
||||
assert html =~ dgettext("prompts", "Ammo updated successfully")
|
||||
assert html =~ "43"
|
||||
assert html =~ "\n43\n"
|
||||
end
|
||||
|
||||
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))
|
||||
|
||||
assert html =~ dgettext("prompts", "Ammo added successfully")
|
||||
assert html =~ "42"
|
||||
assert html =~ "\n42\n"
|
||||
assert html =~ gettext("$%{amount}", amount: display_currency(120.5))
|
||||
end
|
||||
|
||||
@ -257,7 +257,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
|> follow_redirect(conn, Routes.ammo_group_index_path(conn, :index))
|
||||
|
||||
assert html =~ dgettext("prompts", "Ammo added successfully")
|
||||
assert html =~ "43"
|
||||
assert html =~ "\n43\n"
|
||||
assert html =~ gettext("$%{amount}", amount: display_currency(120.5))
|
||||
end
|
||||
|
||||
@ -309,12 +309,8 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
assert html =~ dgettext("actions", "Show used")
|
||||
refute html =~ gettext("$%{amount}", amount: display_currency(50.00))
|
||||
|
||||
refute html =~
|
||||
"\n" <>
|
||||
gettext("%{percentage}%",
|
||||
percentage: ammo_group |> Ammo.get_percentage_remaining(current_user)
|
||||
) <>
|
||||
"\n"
|
||||
percentage = ammo_group |> Ammo.get_percentage_remaining(current_user)
|
||||
refute html =~ "\n#{gettext("%{percentage}%", percentage: percentage)}\n"
|
||||
|
||||
html =
|
||||
show_live
|
||||
@ -323,12 +319,8 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
|
||||
assert html =~ gettext("$%{amount}", amount: display_currency(50.00))
|
||||
|
||||
assert html =~
|
||||
"\n" <>
|
||||
gettext("%{percentage}%",
|
||||
percentage: ammo_group |> Ammo.get_percentage_remaining(current_user)
|
||||
) <>
|
||||
"\n"
|
||||
percentage = ammo_group |> Ammo.get_percentage_remaining(current_user)
|
||||
assert html =~ "\n#{gettext("%{percentage}%", percentage: percentage)}\n"
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -230,9 +230,9 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
assert html =~ gettext("Used packs")
|
||||
assert html =~ gettext("Total ever packs")
|
||||
|
||||
assert html =~ "20"
|
||||
assert html =~ "0"
|
||||
assert html =~ "1"
|
||||
assert html =~ "\n20\n"
|
||||
assert html =~ "\n0\n"
|
||||
assert html =~ "\n1\n"
|
||||
|
||||
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"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ "15"
|
||||
assert html =~ "5"
|
||||
assert html =~ "\n15\n"
|
||||
assert html =~ "\n5\n"
|
||||
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))
|
||||
|
||||
assert html =~ ammo_type_name
|
||||
assert html =~ "some ammo group"
|
||||
assert html =~ "\n20\n"
|
||||
assert html =~ container_name
|
||||
end
|
||||
|
||||
@ -310,9 +310,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type))
|
||||
|
||||
assert html =~ "some ammo group"
|
||||
assert html =~ "\n20\n"
|
||||
assert html =~ container_name
|
||||
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))
|
||||
|
||||
assert html =~ dgettext("actions", "Show used")
|
||||
refute html =~ "some ammo group"
|
||||
refute html =~ "\n20\n"
|
||||
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ "some ammo group"
|
||||
assert html =~ "\n20\n"
|
||||
assert html =~ "Empty"
|
||||
assert html =~ container_name
|
||||
end
|
||||
@ -346,17 +344,15 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type))
|
||||
|
||||
assert html =~ dgettext("actions", "Show used")
|
||||
refute html =~ "some ammo group"
|
||||
refute html =~ "\n20\n"
|
||||
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ "some ammo group"
|
||||
assert html =~ "\n20\n"
|
||||
assert html =~ "Empty"
|
||||
assert html =~ container_name
|
||||
end
|
||||
|
@ -273,7 +273,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
{:ok, _show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
|
||||
|
||||
assert html =~ ammo_type_name
|
||||
assert html =~ "some ammo group"
|
||||
assert html =~ "\n20\n"
|
||||
end
|
||||
|
||||
test "displays ammo group in table",
|
||||
@ -286,7 +286,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
|> render_click()
|
||||
|
||||
assert html =~ ammo_type_name
|
||||
assert html =~ "some ammo group"
|
||||
assert html =~ "\n20\n"
|
||||
end
|
||||
end
|
||||
|
||||
@ -298,7 +298,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
{:ok, show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
|
||||
|
||||
assert html =~ dgettext("actions", "Show used")
|
||||
refute html =~ "some ammo group"
|
||||
refute html =~ "\n20\n"
|
||||
|
||||
html =
|
||||
show_live
|
||||
@ -306,7 +306,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
|> render_click()
|
||||
|
||||
assert html =~ ammo_type_name
|
||||
assert html =~ "some ammo group"
|
||||
assert html =~ "\n20\n"
|
||||
assert html =~ "Empty"
|
||||
end
|
||||
|
||||
@ -320,7 +320,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
|> render_click()
|
||||
|
||||
assert html =~ dgettext("actions", "Show used")
|
||||
refute html =~ "some ammo group"
|
||||
refute html =~ "\n20\n"
|
||||
|
||||
html =
|
||||
show_live
|
||||
@ -328,7 +328,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
|> render_click()
|
||||
|
||||
assert html =~ ammo_type_name
|
||||
assert html =~ "some ammo group"
|
||||
assert html =~ "\n20\n"
|
||||
assert html =~ "Empty"
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user