move staging to container

This commit is contained in:
shibao 2025-01-31 23:44:11 -05:00
parent 2e6e26006d
commit 3eda522903
48 changed files with 948 additions and 899 deletions

View File

@ -1,4 +1,5 @@
# v0.9.13
- Move staging to container, rather than ammo
- Add date restriction dropdown to range page
- Fix dates not rendering properly in table
- Update deps

View File

@ -547,7 +547,7 @@ defmodule Cannery.Ammo do
@spec list_packs_staged(Queryable.t(), staged :: boolean() | nil) :: Queryable.t()
defp list_packs_staged(query, staged) when staged |> is_boolean(),
do: query |> where([p: p], p.staged == ^staged)
do: query |> where([c: c], c.staged == ^staged)
defp list_packs_staged(query, _nil), do: query

View File

@ -11,21 +11,19 @@ defmodule Cannery.Ammo.Pack do
@derive {Jason.Encoder,
only: [
:id,
:container_id,
:count,
:id,
:lot_number,
:notes,
:price_paid,
:lot_number,
:staged,
:type_id,
:container_id
:type_id
]}
schema "packs" do
field :count, :integer
field :lot_number, :string
field :notes, :string
field :price_paid, :float
field :staged, :boolean, default: false
field :lot_number, :string
field :purchased_on, :date
belongs_to :type, Type
@ -36,12 +34,11 @@ defmodule Cannery.Ammo.Pack do
end
@type t :: %__MODULE__{
id: id(),
count: integer,
id: id(),
lot_number: String.t() | nil,
notes: String.t() | nil,
price_paid: float() | nil,
staged: boolean(),
lot_number: String.t() | nil,
purchased_on: Date.t(),
type: Type.t() | nil,
type_id: Type.id(),
@ -92,7 +89,13 @@ defmodule Cannery.Ammo.Pack do
|> change(type_id: type_id)
|> change(container_id: container_id)
|> change(user_id: user_id)
|> cast(attrs, [:count, :lot_number, :notes, :price_paid, :purchased_on, :staged])
|> cast(attrs, [
:count,
:lot_number,
:notes,
:price_paid,
:purchased_on
])
|> validate_required(:type_id, message: dgettext("errors", "Please select a valid type"))
|> validate_required(:container_id,
message: dgettext("errors", "Please select a valid container")
@ -100,7 +103,13 @@ defmodule Cannery.Ammo.Pack do
|> validate_number(:count, greater_than: 0)
|> validate_number(:price_paid, greater_than_or_equal_to: 0)
|> validate_length(:lot_number, max: 255)
|> validate_required([:count, :staged, :purchased_on, :type_id, :container_id, :user_id])
|> validate_required([
:container_id,
:count,
:purchased_on,
:type_id,
:user_id
])
end
@doc false
@ -108,19 +117,22 @@ defmodule Cannery.Ammo.Pack do
def update_changeset(pack, attrs, user) do
pack
|> cast(attrs, [
:container_id,
:count,
:price_paid,
:notes,
:staged,
:purchased_on,
:lot_number,
:container_id
:notes,
:price_paid,
:purchased_on
])
|> validate_number(:count, greater_than_or_equal_to: 0)
|> validate_number(:price_paid, greater_than_or_equal_to: 0)
|> validate_container_id(user)
|> validate_length(:lot_number, max: 255)
|> validate_required([:count, :staged, :purchased_on, :container_id])
|> validate_required([
:container_id,
:count,
:purchased_on
])
end
defp validate_container_id(changeset, user) do
@ -140,7 +152,7 @@ defmodule Cannery.Ammo.Pack do
@spec range_changeset(t() | new_pack(), attrs :: map()) :: changeset()
def range_changeset(pack, attrs) do
pack
|> cast(attrs, [:count, :staged])
|> validate_required([:count, :staged])
|> cast(attrs, [:count])
|> validate_required([:count])
end
end

View File

@ -9,7 +9,9 @@ defmodule Cannery.Containers do
@container_preloads [:tags]
@type list_containers_option :: {:search, String.t() | nil}
@type list_containers_option ::
{:search, String.t() | nil}
| {:staged, boolean() | nil}
@type list_containers_options :: [list_containers_option()]
@doc """
@ -20,7 +22,10 @@ defmodule Cannery.Containers do
iex> list_containers(%User{id: 123})
[%Container{}, ...]
iex> list_containers(%User{id: 123}, search: "cool")
iex> list_containers(%User{id: 123},
...> search: "cool",
...> staged: true
...> )
[%Container{name: "my cool container"}, ...]
"""
@ -37,9 +42,16 @@ defmodule Cannery.Containers do
preload: ^@container_preloads
)
|> list_containers_search(Keyword.get(opts, :search))
|> list_containers_staged(Keyword.get(opts, :staged))
|> Repo.all()
end
@spec list_containers_staged(Queryable.t(), staged :: boolean() | nil) :: Queryable.t()
defp list_containers_staged(query, staged) when staged |> is_boolean(),
do: query |> where([c: c], c.staged == ^staged)
defp list_containers_staged(query, _nil), do: query
@spec list_containers_search(Queryable.t(), search :: String.t() | nil) :: Queryable.t()
defp list_containers_search(query, search) when search in ["", nil],
do: query |> order_by([c: c], c.name)

View File

@ -8,17 +8,19 @@ defmodule Cannery.Containers.Container do
@derive {Jason.Encoder,
only: [
:id,
:name,
:desc,
:id,
:location,
:type,
:tags
:name,
:staged,
:tags,
:type
]}
schema "containers" do
field :name, :string
field :desc, :string
field :location, :string
field :name, :string
field :staged, :boolean, default: false
field :type, :string
field :user_id, :binary_id
@ -29,10 +31,11 @@ defmodule Cannery.Containers.Container do
end
@type t :: %__MODULE__{
id: id(),
name: String.t(),
desc: String.t(),
id: id(),
location: String.t(),
name: String.t(),
staged: boolean(),
type: String.t(),
user_id: User.id(),
tags: [Tag.t()] | nil,
@ -48,19 +51,40 @@ defmodule Cannery.Containers.Container do
def create_changeset(container, %User{id: user_id}, attrs) do
container
|> change(user_id: user_id)
|> cast(attrs, [:name, :desc, :type, :location])
|> cast(attrs, [
:desc,
:location,
:name,
:staged,
:type
])
|> validate_length(:name, max: 255)
|> validate_length(:type, max: 255)
|> validate_required([:name, :type, :user_id])
|> validate_required([
:name,
:staged,
:type,
:user_id
])
end
@doc false
@spec update_changeset(t() | new_container(), attrs :: map()) :: changeset()
def update_changeset(container, attrs) do
container
|> cast(attrs, [:name, :desc, :type, :location])
|> cast(attrs, [
:desc,
:location,
:name,
:staged,
:type
])
|> validate_length(:name, max: 255)
|> validate_length(:type, max: 255)
|> validate_required([:name, :type])
|> validate_required([
:name,
:staged,
:type
])
end
end

View File

@ -4,6 +4,7 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
"""
use CanneryWeb, :live_component
alias Cannery.{Accounts.User, Ammo, Containers.Container}
alias CanneryWeb.Components.TableComponent
alias Ecto.UUID
alias Phoenix.LiveView.{Rendered, Socket}
@ -13,6 +14,7 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
required(:id) => UUID.t(),
required(:current_user) => User.t(),
optional(:containers) => [Container.t()],
optional(:range) => Rendered.t(),
optional(:tag_actions) => Rendered.t(),
optional(:actions) => Rendered.t(),
optional(any()) => any()
@ -23,6 +25,7 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
socket =
socket
|> assign(assigns)
|> assign_new(:range, fn -> [] end)
|> assign_new(:tag_actions, fn -> [] end)
|> assign_new(:actions, fn -> [] end)
|> display_containers()
@ -35,6 +38,7 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
assigns: %{
containers: containers,
current_user: current_user,
range: range,
tag_actions: tag_actions,
actions: actions
}
@ -62,13 +66,22 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
end)
|> Enum.concat([
%{label: gettext("Packs"), key: :packs, type: :integer},
%{label: gettext("Rounds"), key: :rounds, type: :integer},
%{label: gettext("Rounds"), key: :rounds, type: :integer}
])
|> Enum.concat(
[
%{label: gettext("Tags"), key: :tags, type: :tags},
%{label: gettext("Actions"), key: :actions, sortable: false, type: :actions}
])
]
|> TableComponent.maybe_compose_columns(
%{label: gettext("Range"), key: :range},
range != []
)
)
extra_data = %{
current_user: current_user,
range: range,
tag_actions: tag_actions,
actions: actions,
pack_count:
@ -136,6 +149,15 @@ defmodule CanneryWeb.Components.ContainerTableComponent do
round_count |> Map.get(container_id, 0)
end
defp get_value_for_key(:range, %{staged: staged} = container, %{range: range}) do
assigns = %{range: range, container: container}
{staged,
~H"""
<%= render_slot(@range, @container) %>
"""}
end
defp get_value_for_key(:tags, container, %{tag_actions: tag_actions}) do
assigns = %{tag_actions: tag_actions, container: container}

View File

@ -201,13 +201,12 @@ defmodule CanneryWeb.Components.PackTableComponent do
"""}
end
defp get_value_for_key(:range, %{staged: staged} = pack, %{range: range}) do
defp get_value_for_key(:range, pack, %{range: range}) do
assigns = %{range: range, pack: pack}
{staged,
~H"""
<%= render_slot(@range, @pack) %>
"""}
"""
end
defp get_value_for_key(

View File

@ -112,6 +112,20 @@ defmodule CanneryWeb.ContainerLive.Index do
{:noreply, socket |> push_patch(to: ~p"/containers/search/#{search_term}")}
end
def handle_event(
"toggle_staged",
%{"container_id" => id},
%{assigns: %{current_user: current_user}} = socket
) do
container = Containers.get_container!(id, current_user)
{:ok, _container} =
container
|> Containers.update_container(current_user, %{"staged" => !container.staged})
{:noreply, socket |> display_containers()}
end
defp display_containers(%{assigns: %{search: search, current_user: current_user}} = socket) do
socket |> assign(:containers, Containers.list_containers(current_user, search: search))
end

View File

@ -1,10 +1,10 @@
<div class="flex flex-col space-y-8 justify-center items-center">
<h1 class="title text-2xl title-primary-500">
<div class="flex flex-col justify-center items-center space-y-8">
<h1 class="text-2xl title title-primary-500">
<%= gettext("Containers") %>
</h1>
<%= if @containers |> Enum.empty?() and @search |> is_nil() do %>
<h2 class="title text-xl text-primary-600">
<h2 class="text-xl title text-primary-600">
<%= gettext("No containers") %>
<%= display_emoji("😔") %>
</h2>
@ -17,14 +17,14 @@
<%= dgettext("actions", "New Container") %>
</.link>
<div class="w-full flex flex-col sm:flex-row justify-center items-center space-y-4 sm:space-y-0 sm:space-x-4 max-w-2xl">
<div class="flex flex-col justify-center items-center space-y-4 w-full max-w-2xl sm:flex-row sm:space-y-0 sm:space-x-4">
<.form
:let={f}
for={%{}}
as={:search}
phx-change="search"
phx-submit="search"
class="grow flex items-center"
class="flex items-center grow"
>
<%= text_input(f, :search_term,
class: "grow input input-primary",
@ -36,14 +36,14 @@
</.form>
<.toggle_button action="toggle_table" value={@view_table}>
<span class="title text-lg text-primary-600">
<span class="text-lg title text-primary-600">
<%= gettext("View as table") %>
</span>
</.toggle_button>
</div>
<%= if @containers |> Enum.empty?() do %>
<h2 class="title text-xl text-primary-600">
<h2 class="text-xl title text-primary-600">
<%= gettext("No containers") %>
<%= display_emoji("😔") %>
</h2>
@ -56,6 +56,20 @@
containers={@containers}
current_user={@current_user}
>
<:range :let={container}>
<div class="flex justify-center items-center px-4 py-2 h-full min-w-20 flex-wrap">
<button
type="button"
class="mx-2 my-1 text-sm btn btn-primary"
phx-click="toggle_staged"
phx-value-container_id={container.id}
>
<%= if container.staged,
do: dgettext("actions", "Unstage"),
else: dgettext("actions", "Stage") %>
</button>
</div>
</:range>
<:tag_actions :let={container}>
<div class="mx-4 my-2">
<.link
@ -109,7 +123,7 @@
</:actions>
</.live_component>
<% else %>
<div class="w-full flex flex-row flex-wrap justify-center items-stretch">
<div class="flex flex-row flex-wrap justify-center items-stretch w-full">
<.container_card
:for={container <- @containers}
container={container}

View File

@ -78,6 +78,18 @@ defmodule CanneryWeb.ContainerLive.Show do
{:noreply, socket}
end
def handle_event(
"toggle_staged",
_params,
%{assigns: %{container: container, current_user: current_user}} = socket
) do
{:ok, _container} =
container
|> Containers.update_container(current_user, %{"staged" => !container.staged})
{:noreply, socket |> render_container()}
end
def handle_event("toggle_table", _params, %{assigns: %{view_table: view_table}} = socket) do
{:noreply, socket |> assign(:view_table, !view_table) |> render_container()}
end

View File

@ -1,34 +1,34 @@
<div class="space-y-4 flex flex-col justify-center items-center">
<h1 class="title text-2xl title-primary-500">
<div class="flex flex-col justify-center items-center space-y-4">
<h1 class="text-2xl title title-primary-500">
<%= @container.name %>
</h1>
<span :if={@container.desc} class="rounded-lg title text-lg">
<span :if={@container.desc} class="text-lg rounded-lg title">
<%= gettext("Description:") %>
<%= @container.desc %>
</span>
<span class="rounded-lg title text-lg">
<span class="text-lg rounded-lg title">
<%= gettext("Type:") %>
<%= @container.type %>
</span>
<span :if={@container.location} class="rounded-lg title text-lg">
<span :if={@container.location} class="text-lg rounded-lg title">
<%= gettext("Location:") %>
<%= @container.location %>
</span>
<span class="rounded-lg title text-lg">
<span class="text-lg rounded-lg title">
<%= gettext("Packs:") %>
<%= @packs_count %>
</span>
<span class="rounded-lg title text-lg">
<span class="text-lg rounded-lg title">
<%= gettext("Rounds:") %>
<%= @round_count %>
</span>
<div class="flex space-x-4 justify-center items-center text-primary-600">
<div class="flex justify-center items-center space-x-4 text-primary-600">
<.link
patch={~p"/container/edit/#{@container}"}
class="text-primary-600 link"
@ -52,11 +52,19 @@
</.link>
</div>
<div class="flex flex-wrap justify-center items-center text-primary-600">
<button type="button" class="mx-4 my-2 btn btn-primary" phx-click="toggle_staged">
<%= if @container.staged,
do: dgettext("actions", "Unstage from range"),
else: dgettext("actions", "Stage for range") %>
</button>
</div>
<hr class="mb-4 hr" />
<%= if @container.tags |> Enum.empty?() do %>
<div class="flex flex-row justify-center items-center space-x-4">
<h2 class="title text-lg text-primary-600">
<h2 class="text-lg title text-primary-600">
<%= gettext("No tags for this container") %>
<%= display_emoji("😔") %>
</h2>
@ -105,15 +113,15 @@
</.form>
<.toggle_button action="toggle_table" value={@view_table}>
<span class="title text-lg text-primary-600">
<span class="text-lg title text-primary-600">
<%= gettext("View as table") %>
</span>
</.toggle_button>
</div>
<div class="w-full p-4">
<div class="p-4 w-full">
<%= if @packs |> Enum.empty?() do %>
<h2 class="mx-4 title text-lg text-primary-600 text-center">
<h2 class="mx-4 text-lg text-center title text-primary-600">
<%= gettext("No ammo in this container") %>
</h2>
<% else %>
@ -131,7 +139,7 @@
</.link>
</:type>
<:actions :let={%{count: pack_count} = pack}>
<div class="py-2 px-4 h-full space-x-4 flex justify-center items-center">
<div class="flex justify-center items-center px-4 py-2 space-x-4 h-full">
<.link
navigate={~p"/ammo/show/#{pack}"}
class="text-primary-600 link"

View File

@ -96,18 +96,6 @@ defmodule CanneryWeb.PackLive.Index do
{:noreply, socket |> put_flash(:info, prompt) |> display_packs()}
end
def handle_event(
"toggle_staged",
%{"pack_id" => id},
%{assigns: %{current_user: current_user}} = socket
) do
pack = Ammo.get_pack!(id, current_user)
{:ok, _pack} = pack |> Ammo.update_pack(%{"staged" => !pack.staged}, current_user)
{:noreply, socket |> display_packs()}
end
def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do
{:noreply, socket |> assign(:show_used, !show_used) |> display_packs()}
end

View File

@ -1,5 +1,5 @@
<div class="flex flex-col space-y-8 justify-center items-center">
<h1 class="title text-2xl title-primary-500">
<div class="flex flex-col justify-center items-center space-y-8">
<h1 class="text-2xl title title-primary-500">
<%= gettext("Ammo") %>
</h1>
@ -25,7 +25,7 @@
</.link>
</div>
<% @packs_count == 0 -> %>
<h2 class="title text-xl text-primary-600">
<h2 class="text-xl title text-primary-600">
<%= gettext("No ammo") %>
<%= display_emoji("😔") %>
</h2>
@ -38,7 +38,7 @@
<%= dgettext("actions", "Add Ammo") %>
</.link>
<div class="w-full flex flex-col sm:flex-row justify-center items-center space-y-4 sm:space-y-0 sm:space-x-4 max-w-2xl">
<div class="flex flex-col justify-center items-center space-y-4 w-full max-w-2xl sm:flex-row sm:space-y-0 sm:space-x-4">
<.form
:let={f}
for={%{}}
@ -71,7 +71,7 @@
as={:search}
phx-change="search"
phx-submit="search"
class="grow flex items-center"
class="flex items-center grow"
>
<%= text_input(f, :search_term,
class: "grow input input-primary",
@ -83,14 +83,14 @@
</.form>
<.toggle_button action="toggle_show_used" value={@show_used}>
<span class="title text-lg text-primary-600">
<span class="text-lg title text-primary-600">
<%= gettext("Show used") %>
</span>
</.toggle_button>
</div>
<%= if @packs |> Enum.empty?() do %>
<h2 class="title text-xl text-primary-600">
<h2 class="text-xl title text-primary-600">
<%= gettext("No Ammo") %>
<%= display_emoji("😔") %>
</h2>
@ -108,18 +108,7 @@
</.link>
</:type>
<:range :let={pack}>
<div class="min-w-20 py-2 px-4 h-full flex flew-wrap justify-center items-center">
<button
type="button"
class="mx-2 my-1 text-sm btn btn-primary"
phx-click="toggle_staged"
phx-value-pack_id={pack.id}
>
<%= if pack.staged,
do: dgettext("actions", "Unstage"),
else: dgettext("actions", "Stage") %>
</button>
<div class="flex flex-wrap justify-center items-center px-4 py-2 h-full min-w-20">
<.link
patch={~p"/ammo/add_shot_record/#{pack}"}
class="mx-2 my-1 text-sm btn btn-primary"
@ -129,7 +118,7 @@
</div>
</:range>
<:container :let={{pack, %{name: container_name} = container}}>
<div class="min-w-20 py-2 px-4 h-full flex flew-wrap justify-center items-center">
<div class="flex flex-wrap justify-center items-center px-4 py-2 h-full min-w-20">
<.link navigate={~p"/container/#{container}"} class="mx-2 my-1 link">
<%= container_name %>
</.link>
@ -140,7 +129,7 @@
</div>
</:container>
<:actions :let={%{count: pack_count} = pack}>
<div class="py-2 px-4 h-full space-x-4 flex justify-center items-center">
<div class="flex justify-center items-center px-4 py-2 space-x-4 h-full">
<.link
navigate={~p"/ammo/show/#{pack}"}
class="text-primary-600 link"

View File

@ -57,16 +57,6 @@ defmodule CanneryWeb.PackLive.Show do
{:noreply, socket |> put_flash(:info, prompt) |> push_navigate(to: redirect_to)}
end
def handle_event(
"toggle_staged",
_params,
%{assigns: %{pack: pack, current_user: current_user}} = socket
) do
{:ok, pack} = pack |> Ammo.update_pack(%{"staged" => !pack.staged}, current_user)
{:noreply, socket |> display_pack(pack)}
end
def handle_event(
"delete_shot_record",
%{"id" => id},

View File

@ -1,43 +1,43 @@
<div class="mx-auto space-y-4 max-w-3xl flex flex-col justify-center items-center">
<h1 class="title text-2xl title-primary-500">
<div class="flex flex-col justify-center items-center mx-auto space-y-4 max-w-3xl">
<h1 class="text-2xl title title-primary-500">
<%= @pack.type.name %>
</h1>
<div class="space-y-2 flex flex-col justify-center items-center">
<span class="rounded-lg title text-lg">
<div class="flex flex-col justify-center items-center space-y-2">
<span class="text-lg rounded-lg title">
<%= gettext("Count:") %>
<%= @pack.count %>
</span>
<span class="rounded-lg title text-lg">
<span class="text-lg rounded-lg title">
<%= gettext("Original count:") %>
<%= @original_count %>
</span>
<span class="rounded-lg title text-lg">
<span class="text-lg rounded-lg title">
<%= gettext("Percentage left:") %>
<%= gettext("%{percentage}%", percentage: @percentage_remaining) %>
</span>
<%= if @pack.notes do %>
<span class="rounded-lg title text-lg">
<span class="text-lg rounded-lg title">
<%= gettext("Notes:") %>
<%= @pack.notes %>
</span>
<% end %>
<span class="rounded-lg title text-lg">
<span class="text-lg rounded-lg title">
<%= gettext("Purchased on:") %>
<.date id={"#{@pack.id}-purchased-on"} date={@pack.purchased_on} />
</span>
<%= if @pack.price_paid do %>
<span class="rounded-lg title text-lg">
<span class="text-lg rounded-lg title">
<%= gettext("Original cost:") %>
<%= gettext("$%{amount}", amount: display_currency(@pack.price_paid)) %>
</span>
<span class="rounded-lg title text-lg">
<span class="text-lg rounded-lg title">
<%= gettext("Current value:") %>
<%= gettext("$%{amount}",
amount: display_currency(@pack.price_paid * @percentage_remaining / 100)
@ -76,12 +76,6 @@
</div>
<div class="flex flex-wrap justify-center items-center text-primary-600">
<button type="button" class="mx-4 my-2 btn btn-primary" phx-click="toggle_staged">
<%= if @pack.staged,
do: dgettext("actions", "Unstage from range"),
else: dgettext("actions", "Stage for range") %>
</button>
<.link patch={~p"/ammo/show/move/#{@pack}"} class="btn btn-primary">
<%= dgettext("actions", "Move ammo") %>
</.link>
@ -96,7 +90,7 @@
<div>
<%= if @container do %>
<h1 class="mb-4 px-4 py-2 text-center rounded-lg title text-xl">
<h1 class="px-4 py-2 mb-4 text-xl text-center rounded-lg title">
<%= gettext("Stored in") %>
</h1>
@ -109,7 +103,7 @@
<%= unless @shot_records |> Enum.empty?() do %>
<hr class="mb-4 w-full" />
<h1 class="mb-4 px-4 py-2 text-center rounded-lg title text-xl">
<h1 class="px-4 py-2 mb-4 text-xl text-center rounded-lg title">
<%= gettext("Rounds used") %>
</h1>

View File

@ -4,7 +4,8 @@ defmodule CanneryWeb.RangeLive.Index do
"""
use CanneryWeb, :live_view
alias Cannery.{ActivityLog, ActivityLog.ShotRecord, Ammo}
alias Cannery.{ActivityLog, ActivityLog.ShotRecord}
alias Cannery.{Ammo, Containers}
alias Phoenix.LiveView.Socket
@impl true
@ -101,14 +102,16 @@ defmodule CanneryWeb.RangeLive.Index do
def handle_event(
"toggle_staged",
%{"pack_id" => pack_id},
%{"container_id" => container_id},
%{assigns: %{current_user: current_user}} = socket
) do
pack = Ammo.get_pack!(pack_id, current_user)
container = Containers.get_container!(container_id, current_user)
{:ok, _pack} = pack |> Ammo.update_pack(%{"staged" => !pack.staged}, current_user)
{:ok, _container} =
container
|> Containers.update_container(current_user, %{"staged" => !container.staged})
prompt = dgettext("prompts", "Ammo unstaged succesfully")
prompt = dgettext("prompts", "Container unstaged succesfully")
{:noreply, socket |> put_flash(:info, prompt) |> display_shot_records()}
end
@ -175,6 +178,10 @@ defmodule CanneryWeb.RangeLive.Index do
start_date: start_date
)
containers =
Containers.list_containers(current_user, staged: true)
|> Map.new(fn container = %{id: container_id} -> {container_id, container} end)
packs = Ammo.list_packs(current_user, staged: true)
chart_data = shot_records |> get_chart_data_for_shot_record()
original_counts = packs |> Ammo.get_original_counts(current_user)
@ -184,6 +191,7 @@ defmodule CanneryWeb.RangeLive.Index do
socket
|> assign(
containers: containers,
packs: packs,
original_counts: original_counts,
cprs: cprs,

View File

@ -3,18 +3,18 @@
<%= gettext("Range day") %>
</h1>
<%= if @packs |> Enum.empty?() do %>
<%= if @containers |> Enum.empty?() do %>
<h1 class="text-xl title text-primary-600">
<%= gettext("No ammo staged") %>
<%= gettext("No containers staged") %>
<%= display_emoji("😔") %>
</h1>
<.link navigate={~p"/ammo"} class="btn btn-primary">
<.link navigate={~p"/containers"} class="btn btn-primary">
<%= dgettext("actions", "Why not get some ready to shoot?") %>
</.link>
<% else %>
<.link navigate={~p"/ammo"} class="btn btn-primary">
<%= dgettext("actions", "Stage ammo") %>
<.link navigate={~p"/containers"} class="btn btn-primary">
<%= dgettext("actions", "Stage containers") %>
</.link>
<div class="flex flex-row flex-wrap justify-center items-stretch w-full">
@ -42,25 +42,14 @@
<div class="flex flex-row flex-wrap justify-center items-stretch w-full">
<.pack_card
:for={%{id: pack_id} = pack <- @packs}
:for={%{id: pack_id, container_id: container_id} = pack <- @packs}
pack={pack}
original_count={Map.fetch!(@original_counts, pack_id)}
cpr={Map.get(@cprs, pack_id)}
last_used_date={Map.get(@last_used_dates, pack_id)}
current_user={@current_user}
container={Map.fetch!(@containers, container_id)}
>
<button
type="button"
class="btn btn-primary"
phx-click="toggle_staged"
phx-value-pack_id={pack.id}
data-confirm={"#{dgettext("prompts", "Are you sure you want to unstage this ammo?")}"}
>
<%= if pack.staged,
do: dgettext("actions", "Unstage from range"),
else: dgettext("actions", "Stage for range") %>
</button>
<.link patch={~p"/range/add_shot_record/#{pack}"} class="btn btn-primary">
<%= dgettext("actions", "Record shots") %>
</.link>

View File

@ -131,7 +131,7 @@ msgstr ""
msgid "Send instructions to reset password"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:65
#: lib/cannery_web/live/container_live/show.html.heex:73
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr ""
@ -141,19 +141,14 @@ msgstr ""
msgid "Add"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage ammo"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:90
#: lib/cannery_web/live/range_live/index.html.heex:65
#: lib/cannery_web/live/pack_live/index.html.heex:116
#: lib/cannery_web/live/pack_live/show.html.heex:84
#: lib/cannery_web/live/range_live/index.html.heex:54
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr ""
@ -199,8 +194,8 @@ msgid "View in Catalog"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:77
#: lib/cannery_web/live/pack_live/index.html.heex:138
#: lib/cannery_web/live/pack_live/show.html.heex:86
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:80
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -210,14 +205,12 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:82
#: lib/cannery_web/live/range_live/index.html.heex:61
#: lib/cannery_web/live/container_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Stage for range"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:81
#: lib/cannery_web/live/range_live/index.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Unstage from range"
msgstr ""
@ -227,8 +220,8 @@ msgstr ""
msgid "Export Data as JSON"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87
#: lib/cannery_web/live/container_live/index.html.heex:145
#: lib/cannery_web/live/container_live/index.html.heex:101
#: lib/cannery_web/live/container_live/index.html.heex:159
#, elixir-autogen, elixir-format
msgid "Clone %{container_name}"
msgstr ""
@ -238,8 +231,8 @@ msgstr ""
msgid "Copy invite link for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:104
#: lib/cannery_web/live/container_live/index.html.heex:162
#: lib/cannery_web/live/container_live/index.html.heex:118
#: lib/cannery_web/live/container_live/index.html.heex:176
#: lib/cannery_web/live/container_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Delete %{container_name}"
@ -255,8 +248,8 @@ msgstr ""
msgid "Delete invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77
#: lib/cannery_web/live/container_live/index.html.heex:135
#: lib/cannery_web/live/container_live/index.html.heex:91
#: lib/cannery_web/live/container_live/index.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:35
#, elixir-autogen, elixir-format
msgid "Edit %{container_name}"
@ -272,56 +265,56 @@ msgstr ""
msgid "Edit invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:120
#: lib/cannery_web/live/container_live/index.html.heex:69
#: lib/cannery_web/live/range_live/index.html.heex:35
#, 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:124
#: lib/cannery_web/live/container_live/index.html.heex:79
#: lib/cannery_web/live/container_live/index.html.heex:138
#, elixir-autogen, elixir-format
msgid "Tag %{container_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:119
#: lib/cannery_web/live/container_live/index.html.heex:68
#: lib/cannery_web/live/range_live/index.html.heex:34
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:172
#: lib/cannery_web/live/pack_live/index.html.heex:161
#, elixir-autogen, elixir-format
msgid "Clone pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:187
#: lib/cannery_web/live/pack_live/index.html.heex:176
#: lib/cannery_web/live/pack_live/show.html.heex:71
#, elixir-autogen, elixir-format
msgid "Delete pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:160
#: lib/cannery_web/live/pack_live/index.html.heex:149
#: lib/cannery_web/live/pack_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/container_live/show.html.heex:147
#: lib/cannery_web/live/pack_live/index.html.heex:137
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format
msgid "View pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:192
#: lib/cannery_web/live/pack_live/show.ex:149
#: lib/cannery_web/live/range_live/index.html.heex:181
#, elixir-autogen, elixir-format
msgid "Delete shot record of %{shot_record_count} shots"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:144
#: lib/cannery_web/live/range_live/index.html.heex:175
#: lib/cannery_web/live/pack_live/show.ex:134
#: lib/cannery_web/live/range_live/index.html.heex:164
#, elixir-autogen, elixir-format
msgid "Edit shot record of %{shot_record_count} shots"
msgstr ""
@ -357,3 +350,8 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "add a type first"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage containers"
msgstr ""

View File

@ -144,7 +144,7 @@ msgstr "Speichern"
msgid "Send instructions to reset password"
msgstr "Anleitung zum Passwort zurücksetzen zusenden"
#: lib/cannery_web/live/container_live/show.html.heex:65
#: lib/cannery_web/live/container_live/show.html.heex:73
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr "Warum fügen Sie keine hinzu?"
@ -154,19 +154,14 @@ msgstr "Warum fügen Sie keine hinzu?"
msgid "Add"
msgstr "Hinzufügen"
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage ammo"
msgstr "Munition markieren"
#: lib/cannery_web/live/range_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Why not get some ready to shoot?"
msgstr "Warum nicht einige für den Schießstand auswählen?"
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:90
#: lib/cannery_web/live/range_live/index.html.heex:65
#: lib/cannery_web/live/pack_live/index.html.heex:116
#: lib/cannery_web/live/pack_live/show.html.heex:84
#: lib/cannery_web/live/range_live/index.html.heex:54
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr "Schüsse dokumentieren"
@ -212,8 +207,8 @@ msgid "View in Catalog"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:77
#: lib/cannery_web/live/pack_live/index.html.heex:138
#: lib/cannery_web/live/pack_live/show.html.heex:86
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:80
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -223,14 +218,12 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:82
#: lib/cannery_web/live/range_live/index.html.heex:61
#: lib/cannery_web/live/container_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Stage for range"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:81
#: lib/cannery_web/live/range_live/index.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Unstage from range"
msgstr ""
@ -240,8 +233,8 @@ msgstr ""
msgid "Export Data as JSON"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87
#: lib/cannery_web/live/container_live/index.html.heex:145
#: lib/cannery_web/live/container_live/index.html.heex:101
#: lib/cannery_web/live/container_live/index.html.heex:159
#, elixir-autogen, elixir-format
msgid "Clone %{container_name}"
msgstr ""
@ -251,8 +244,8 @@ msgstr ""
msgid "Copy invite link for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:104
#: lib/cannery_web/live/container_live/index.html.heex:162
#: lib/cannery_web/live/container_live/index.html.heex:118
#: lib/cannery_web/live/container_live/index.html.heex:176
#: lib/cannery_web/live/container_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Delete %{container_name}"
@ -268,8 +261,8 @@ msgstr ""
msgid "Delete invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77
#: lib/cannery_web/live/container_live/index.html.heex:135
#: lib/cannery_web/live/container_live/index.html.heex:91
#: lib/cannery_web/live/container_live/index.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:35
#, elixir-autogen, elixir-format
msgid "Edit %{container_name}"
@ -285,56 +278,56 @@ msgstr ""
msgid "Edit invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:120
#: lib/cannery_web/live/container_live/index.html.heex:69
#: lib/cannery_web/live/range_live/index.html.heex:35
#, 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:124
#: lib/cannery_web/live/container_live/index.html.heex:79
#: lib/cannery_web/live/container_live/index.html.heex:138
#, elixir-autogen, elixir-format
msgid "Tag %{container_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:119
#: lib/cannery_web/live/container_live/index.html.heex:68
#: lib/cannery_web/live/range_live/index.html.heex:34
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:172
#: lib/cannery_web/live/pack_live/index.html.heex:161
#, elixir-autogen, elixir-format, fuzzy
msgid "Clone pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:187
#: lib/cannery_web/live/pack_live/index.html.heex:176
#: lib/cannery_web/live/pack_live/show.html.heex:71
#, elixir-autogen, elixir-format, fuzzy
msgid "Delete pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:160
#: lib/cannery_web/live/pack_live/index.html.heex:149
#: lib/cannery_web/live/pack_live/show.html.heex:59
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/container_live/show.html.heex:147
#: lib/cannery_web/live/pack_live/index.html.heex:137
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format, fuzzy
msgid "View pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:192
#: lib/cannery_web/live/pack_live/show.ex:149
#: lib/cannery_web/live/range_live/index.html.heex:181
#, elixir-autogen, elixir-format, fuzzy
msgid "Delete shot record of %{shot_record_count} shots"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:144
#: lib/cannery_web/live/range_live/index.html.heex:175
#: lib/cannery_web/live/pack_live/show.ex:134
#: lib/cannery_web/live/range_live/index.html.heex:164
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit shot record of %{shot_record_count} shots"
msgstr ""
@ -370,3 +363,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "add a type first"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage containers"
msgstr ""

View File

@ -117,7 +117,7 @@ msgstr "Anzahl"
msgid "Count:"
msgstr "Anzahl:"
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/components/container_table_component.ex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
@ -189,7 +189,7 @@ msgstr "Einladungen"
msgid "Keep me logged in for 60 days"
msgstr "Für 60 Tage eingeloggt bleiben"
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/container_table_component.ex:51
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
@ -224,7 +224,7 @@ msgstr "Metallene Munitionskiste mit Anime-Girl-Sticker"
msgid "My cool ammo can"
msgstr "Meine coole Munitionskiste"
#: lib/cannery_web/components/container_table_component.ex:45
#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/type_table_component.ex:152
#: lib/cannery_web/live/container_live/form_component.html.heex:21
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
@ -281,7 +281,7 @@ msgstr "Keine Tags"
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
msgid "Notes"
@ -354,12 +354,12 @@ msgstr "Einfach:"
msgid "Steel"
msgstr "Stahl"
#: lib/cannery_web/live/pack_live/show.html.heex:100
#: lib/cannery_web/live/pack_live/show.html.heex:94
#, elixir-autogen, elixir-format
msgid "Stored in"
msgstr "Gelagert in"
#: lib/cannery_web/components/container_table_component.ex:66
#: lib/cannery_web/components/container_table_component.ex:73
#: lib/cannery_web/components/core_components/topbar.html.heex:28
#: lib/cannery_web/live/tag_live/index.ex:43
#: lib/cannery_web/live/tag_live/index.ex:53
@ -389,7 +389,7 @@ msgstr "Die selbst-gehostete Website zur Verwaltung von Schusswaffen"
msgid "Tracer"
msgstr "Leuchtspur"
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:40
@ -419,15 +419,16 @@ msgstr "Verbleibende Nutzung"
msgid "Your data stays with you, period"
msgstr "Ihre Daten bleiben bei Ihnen, Punkt"
#: lib/cannery_web/live/container_live/show.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:68
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr "Keine Tags für diesen Behälter"
#: lib/cannery_web/components/container_table_component.ex:77
#: lib/cannery_web/components/core_components/topbar.html.heex:48
#: lib/cannery_web/components/pack_table_component.ex:80
#: lib/cannery_web/live/range_live/index.ex:75
#: lib/cannery_web/live/range_live/index.ex:85
#: lib/cannery_web/live/range_live/index.ex:76
#: lib/cannery_web/live/range_live/index.ex:86
#, elixir-autogen, elixir-format
msgid "Range"
msgstr "Schießplatz"
@ -439,7 +440,7 @@ msgstr "Range Day"
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/pack_live/show.ex:81
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
@ -450,26 +451,21 @@ msgstr "Datum"
msgid "Shots fired"
msgstr "Schüsse abgegeben"
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No ammo staged"
msgstr "Keine Munition selektiert"
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
#: lib/cannery_web/live/pack_live/index.ex:35
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr "Schüsse dokumentieren"
#: lib/cannery_web/live/range_live/index.html.heex:75
#: lib/cannery_web/live/range_live/index.html.heex:159
#: lib/cannery_web/live/range_live/index.html.heex:64
#: lib/cannery_web/live/range_live/index.html.heex:148
#, elixir-autogen, elixir-format
msgid "No shots recorded"
msgstr "Keine Schüsse dokumentiert"
#: lib/cannery_web/components/shot_record_table_component.ex:45
#: lib/cannery_web/live/pack_live/show.ex:89
#: lib/cannery_web/live/range_live/index.html.heex:89
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.html.heex:78
#, elixir-autogen, elixir-format
msgid "Rounds shot"
msgstr "Patronen abgefeuert"
@ -484,7 +480,7 @@ msgstr "Munition verschieben"
msgid "No other containers"
msgstr "Kein weiterer Behälter"
#: lib/cannery_web/live/range_live/index.html.heex:80
#: lib/cannery_web/live/range_live/index.html.heex:69
#, elixir-autogen, elixir-format
msgid "Shot log"
msgstr "Schießkladde"
@ -492,7 +488,7 @@ msgstr "Schießkladde"
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
#: lib/cannery_web/components/pack_table_component.ex:181
#: lib/cannery_web/components/pack_table_component.ex:264
#: lib/cannery_web/components/pack_table_component.ex:263
#: lib/cannery_web/components/type_table_component.ex:273
#: lib/cannery_web/live/pack_live/show.html.heex:37
#: lib/cannery_web/live/pack_live/show.html.heex:42
@ -565,13 +561,13 @@ msgid "Reconnecting..."
msgstr "Neu verbinden..."
#: lib/cannery_web/live/container_live/index.ex:28
#: lib/cannery_web/live/container_live/show.ex:118
#: lib/cannery_web/live/container_live/show.ex:130
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr "%{name} bearbeiten"
#: lib/cannery_web/live/container_live/index.ex:63
#: lib/cannery_web/live/container_live/show.ex:119
#: lib/cannery_web/live/container_live/show.ex:131
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr "Editiere %{name} Tags"
@ -584,7 +580,7 @@ msgid "Rounds:"
msgstr "Patronen:"
#: lib/cannery_web/components/pack_table_component.ex:178
#: lib/cannery_web/components/pack_table_component.ex:260
#: lib/cannery_web/components/pack_table_component.ex:259
#: lib/cannery_web/components/type_table_component.ex:272
#: lib/cannery_web/live/type_live/show.html.heex:154
#, elixir-autogen, elixir-format
@ -616,7 +612,7 @@ msgstr "Ursprüngliche Anzahl:"
msgid "Percentage left:"
msgstr "Prozent verbleibend:"
#: lib/cannery_web/live/pack_live/show.html.heex:113
#: lib/cannery_web/live/pack_live/show.html.heex:107
#, elixir-autogen, elixir-format
msgid "Rounds used"
msgstr "Patronen verbraucht"
@ -647,8 +643,8 @@ msgid "Reset your password"
msgstr "Passwort zurücksetzen"
#: lib/cannery_web/live/pack_live/show.ex:40
#: lib/cannery_web/live/range_live/index.ex:51
#: lib/cannery_web/live/range_live/index.ex:67
#: lib/cannery_web/live/range_live/index.ex:52
#: lib/cannery_web/live/range_live/index.ex:68
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr "Schüsse dokumentieren"
@ -706,7 +702,7 @@ msgstr "Munitionstyp bearbeiten"
msgid "Move Ammo"
msgstr "Munition verschieben"
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/container_live/show.html.heex:125
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr "Keine Munitionsgruppe in diesem Behälter"
@ -716,7 +712,7 @@ msgstr "Keine Munitionsgruppe in diesem Behälter"
msgid "Show Ammo"
msgstr "Zeige Munitionsarten"
#: lib/cannery_web/live/pack_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/show.html.heex:99
#, elixir-autogen, elixir-format, fuzzy
msgid "This ammo is not in a container"
msgstr "Diese Munitionsgruppe ist nicht in einem Behälter"
@ -756,31 +752,31 @@ msgstr "Behälter"
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:219
#: lib/cannery_web/components/pack_table_component.ex:218
#: lib/cannery_web/live/pack_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:207
#: lib/cannery_web/live/range_live/index.ex:215
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot: %{count}"
msgstr "Patronen abgefeuert"
#: lib/cannery_web/components/container_table_component.ex:64
#: lib/cannery_web/components/container_table_component.ex:68
#: lib/cannery_web/components/type_table_component.ex:122
#, elixir-autogen, elixir-format, fuzzy
msgid "Packs"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:65
#: lib/cannery_web/components/container_table_component.ex:69
#: lib/cannery_web/components/type_table_component.ex:143
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds"
msgstr "Patronen:"
#: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:109
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/type_live/show.html.heex:170
#, elixir-autogen, elixir-format
msgid "View as table"
@ -826,7 +822,7 @@ msgstr ""
msgid "Used rounds:"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:80
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr "Patronen abgefeuert"
@ -933,7 +929,7 @@ msgid "Average CPR"
msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
#: lib/cannery_web/components/pack_table_component.ex:268
#: lib/cannery_web/components/pack_table_component.ex:267
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
@ -1015,7 +1011,7 @@ msgstr ""
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:135
#: lib/cannery_web/live/range_live/index.html.heex:124
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1150,12 +1146,12 @@ msgstr ""
msgid "Really great weather"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/container_table_component.ex:74
#: lib/cannery_web/components/move_pack_component.ex:67
#: lib/cannery_web/components/pack_table_component.ex:62
#: lib/cannery_web/components/shot_record_table_component.ex:48
#: lib/cannery_web/components/type_table_component.ex:99
#: lib/cannery_web/live/pack_live/show.ex:92
#: lib/cannery_web/live/pack_live/show.ex:82
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
@ -1181,9 +1177,9 @@ msgstr ""
msgid "Close modal"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/index.html.heex:58
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:103
#: lib/cannery_web/live/type_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "All"
@ -1264,10 +1260,10 @@ msgstr "Keine Munition"
msgid "None specified"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:100
#: lib/cannery_web/live/container_live/show.html.heex:108
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
#: lib/cannery_web/live/pack_live/index.html.heex:61
#: lib/cannery_web/live/range_live/index.html.heex:117
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/type_live/form_component.html.heex:28
#: lib/cannery_web/live/type_live/index.html.heex:40
#: lib/cannery_web/live/type_live/show.html.heex:56
@ -1290,10 +1286,10 @@ msgstr "Zündertyp"
msgid "Projectile"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:98
#: lib/cannery_web/live/container_live/show.html.heex:106
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
#: lib/cannery_web/live/pack_live/index.html.heex:59
#: lib/cannery_web/live/range_live/index.html.heex:115
#: lib/cannery_web/live/range_live/index.html.heex:104
#: lib/cannery_web/live/type_live/form_component.html.heex:26
#: lib/cannery_web/live/type_live/index.html.heex:38
#: lib/cannery_web/live/type_live/show.html.heex:54
@ -1345,10 +1341,10 @@ msgstr ""
msgid "Shot type:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/container_live/show.html.heex:107
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
#: lib/cannery_web/live/pack_live/index.html.heex:60
#: lib/cannery_web/live/range_live/index.html.heex:116
#: lib/cannery_web/live/range_live/index.html.heex:105
#: lib/cannery_web/live/type_live/form_component.html.heex:27
#: lib/cannery_web/live/type_live/index.html.heex:39
#: lib/cannery_web/live/type_live/show.html.heex:52
@ -1390,10 +1386,10 @@ msgid "Wadding:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:149
#: lib/cannery_web/live/container_live/show.html.heex:91
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#: lib/cannery_web/live/pack_live/index.html.heex:50
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/range_live/index.html.heex:95
#: lib/cannery_web/live/type_live/form_component.html.heex:21
#: lib/cannery_web/live/type_live/index.html.heex:29
#: lib/cannery_web/live/type_live/show.html.heex:46
@ -1413,7 +1409,7 @@ msgid "Used up!"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:41
#: lib/cannery_web/live/range_live/index.ex:59
#: lib/cannery_web/live/range_live/index.ex:60
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit Shot Record"
msgstr "Schießkladde editieren"
@ -1452,7 +1448,12 @@ msgstr ""
msgid "Any"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:149
#: lib/cannery_web/live/range_live/index.html.heex:138
#, elixir-autogen, elixir-format, fuzzy
msgid "Dates"
msgstr "Datum"
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr "Kein Behälter"

View File

@ -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:222
#: lib/cannery/containers.ex:234
#, elixir-autogen, elixir-format
msgid "Container must be empty before deleting"
msgstr "Behälter muss vor dem Löschen leer sein"
@ -170,7 +170,7 @@ msgstr ""
"Ungültige Nummer an Kopien. Muss zwischen 1 and %{max} liegen. War "
"%{multiplier}"
#: lib/cannery_web/live/range_live/index.html.heex:94
#: lib/cannery_web/live/range_live/index.html.heex:83
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
@ -216,12 +216,12 @@ msgstr ""
msgid "You must log in to access this page."
msgstr ""
#: lib/cannery/ammo/pack.ex:98
#: lib/cannery/ammo/pack.ex:101
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid container"
msgstr ""
#: lib/cannery/ammo/pack.ex:96
#: lib/cannery/ammo/pack.ex:99
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid type"
msgstr ""

View File

@ -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:157
#: lib/cannery_web/live/container_live/index.html.heex:113
#: lib/cannery_web/live/container_live/index.html.heex:171
#: lib/cannery_web/live/container_live/show.html.heex:45
#: lib/cannery_web/live/tag_live/index.html.heex:63
#, 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/pack_live/index.html.heex:185
#: lib/cannery_web/live/pack_live/index.html.heex:174
#: lib/cannery_web/live/pack_live/show.html.heex:69
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -171,19 +171,14 @@ msgstr "Füge hinzu..."
msgid "Shots recorded successfully"
msgstr "Schüsse erfolgreich dokumentiert"
#: lib/cannery_web/live/range_live/index.html.heex:57
#, elixir-autogen, elixir-format
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/pack_live/show.ex:157
#: lib/cannery_web/live/range_live/index.html.heex:189
#: lib/cannery_web/live/pack_live/show.ex:147
#: lib/cannery_web/live/range_live/index.html.heex:178
#, 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?"
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.ex:98
#: lib/cannery_web/live/pack_live/show.ex:69
#: lib/cannery_web/live/range_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
msgstr "Schießkladde erfolgreich gelöscht"
@ -240,11 +235,6 @@ msgstr "Spracheinstellung gespeichert."
msgid "Ammo deleted succesfully"
msgstr "Munitionsgruppe erfolgreich gelöscht"
#: lib/cannery_web/live/range_live/index.ex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo unstaged succesfully"
msgstr "Munition erfolgreich demarkiert"
#: lib/cannery_web/live/pack_live/form_component.ex:141
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo updated successfully"
@ -302,3 +292,8 @@ msgstr "Sind Sie sicher, dass sie die Einladung für %{name} löschen möchten?"
#, elixir-autogen, elixir-format, fuzzy
msgid "Are you sure you want to make %{invite_name} unlimited?"
msgstr "Sind Sie sicher, dass sie %{name} auf unbegrenzt setzen möchten?"
#: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Container unstaged succesfully"
msgstr ""

View File

@ -113,7 +113,7 @@ msgstr ""
msgid "Count:"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/components/container_table_component.ex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
@ -185,7 +185,7 @@ msgstr ""
msgid "Keep me logged in for 60 days"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/container_table_component.ex:51
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
@ -220,7 +220,7 @@ msgstr ""
msgid "My cool ammo can"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:45
#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/type_table_component.ex:152
#: lib/cannery_web/live/container_live/form_component.html.heex:21
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
@ -277,7 +277,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
msgid "Notes"
@ -348,12 +348,12 @@ msgstr ""
msgid "Steel"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:100
#: lib/cannery_web/live/pack_live/show.html.heex:94
#, elixir-autogen, elixir-format
msgid "Stored in"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:66
#: lib/cannery_web/components/container_table_component.ex:73
#: lib/cannery_web/components/core_components/topbar.html.heex:28
#: lib/cannery_web/live/tag_live/index.ex:43
#: lib/cannery_web/live/tag_live/index.ex:53
@ -383,7 +383,7 @@ msgstr ""
msgid "Tracer"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:40
@ -413,15 +413,16 @@ msgstr ""
msgid "Your data stays with you, period"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:68
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:77
#: lib/cannery_web/components/core_components/topbar.html.heex:48
#: lib/cannery_web/components/pack_table_component.ex:80
#: lib/cannery_web/live/range_live/index.ex:75
#: lib/cannery_web/live/range_live/index.ex:85
#: lib/cannery_web/live/range_live/index.ex:76
#: lib/cannery_web/live/range_live/index.ex:86
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@ -433,7 +434,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/pack_live/show.ex:81
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
@ -444,26 +445,21 @@ msgstr ""
msgid "Shots fired"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No ammo staged"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
#: lib/cannery_web/live/pack_live/index.ex:35
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:75
#: lib/cannery_web/live/range_live/index.html.heex:159
#: lib/cannery_web/live/range_live/index.html.heex:64
#: lib/cannery_web/live/range_live/index.html.heex:148
#, elixir-autogen, elixir-format
msgid "No shots recorded"
msgstr ""
#: lib/cannery_web/components/shot_record_table_component.ex:45
#: lib/cannery_web/live/pack_live/show.ex:89
#: lib/cannery_web/live/range_live/index.html.heex:89
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.html.heex:78
#, elixir-autogen, elixir-format
msgid "Rounds shot"
msgstr ""
@ -478,7 +474,7 @@ msgstr ""
msgid "No other containers"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:80
#: lib/cannery_web/live/range_live/index.html.heex:69
#, elixir-autogen, elixir-format
msgid "Shot log"
msgstr ""
@ -486,7 +482,7 @@ msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
#: lib/cannery_web/components/pack_table_component.ex:181
#: lib/cannery_web/components/pack_table_component.ex:264
#: lib/cannery_web/components/pack_table_component.ex:263
#: lib/cannery_web/components/type_table_component.ex:273
#: lib/cannery_web/live/pack_live/show.html.heex:37
#: lib/cannery_web/live/pack_live/show.html.heex:42
@ -559,13 +555,13 @@ msgid "Reconnecting..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:28
#: lib/cannery_web/live/container_live/show.ex:118
#: lib/cannery_web/live/container_live/show.ex:130
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:63
#: lib/cannery_web/live/container_live/show.ex:119
#: lib/cannery_web/live/container_live/show.ex:131
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
@ -578,7 +574,7 @@ msgid "Rounds:"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:178
#: lib/cannery_web/components/pack_table_component.ex:260
#: lib/cannery_web/components/pack_table_component.ex:259
#: lib/cannery_web/components/type_table_component.ex:272
#: lib/cannery_web/live/type_live/show.html.heex:154
#, elixir-autogen, elixir-format
@ -610,7 +606,7 @@ msgstr ""
msgid "Percentage left:"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:113
#: lib/cannery_web/live/pack_live/show.html.heex:107
#, elixir-autogen, elixir-format
msgid "Rounds used"
msgstr ""
@ -641,8 +637,8 @@ msgid "Reset your password"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:40
#: lib/cannery_web/live/range_live/index.ex:51
#: lib/cannery_web/live/range_live/index.ex:67
#: lib/cannery_web/live/range_live/index.ex:52
#: lib/cannery_web/live/range_live/index.ex:68
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr ""
@ -700,7 +696,7 @@ msgstr ""
msgid "Move Ammo"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/container_live/show.html.heex:125
#, elixir-autogen, elixir-format
msgid "No ammo in this container"
msgstr ""
@ -710,7 +706,7 @@ msgstr ""
msgid "Show Ammo"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/show.html.heex:99
#, elixir-autogen, elixir-format
msgid "This ammo is not in a container"
msgstr ""
@ -750,31 +746,31 @@ msgstr ""
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:219
#: lib/cannery_web/components/pack_table_component.ex:218
#: lib/cannery_web/live/pack_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:207
#: lib/cannery_web/live/range_live/index.ex:215
#, elixir-autogen, elixir-format
msgid "Rounds shot: %{count}"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:64
#: lib/cannery_web/components/container_table_component.ex:68
#: lib/cannery_web/components/type_table_component.ex:122
#, elixir-autogen, elixir-format
msgid "Packs"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:65
#: lib/cannery_web/components/container_table_component.ex:69
#: lib/cannery_web/components/type_table_component.ex:143
#, elixir-autogen, elixir-format
msgid "Rounds"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:109
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/type_live/show.html.heex:170
#, elixir-autogen, elixir-format
msgid "View as table"
@ -820,7 +816,7 @@ msgstr ""
msgid "Used rounds:"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:80
#, elixir-autogen, elixir-format
msgid "Rounds shot chart"
msgstr ""
@ -927,7 +923,7 @@ msgid "Average CPR"
msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
#: lib/cannery_web/components/pack_table_component.ex:268
#: lib/cannery_web/components/pack_table_component.ex:267
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
@ -1009,7 +1005,7 @@ msgstr ""
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:135
#: lib/cannery_web/live/range_live/index.html.heex:124
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1133,12 +1129,12 @@ msgstr ""
msgid "Really great weather"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/container_table_component.ex:74
#: lib/cannery_web/components/move_pack_component.ex:67
#: lib/cannery_web/components/pack_table_component.ex:62
#: lib/cannery_web/components/shot_record_table_component.ex:48
#: lib/cannery_web/components/type_table_component.ex:99
#: lib/cannery_web/live/pack_live/show.ex:92
#: lib/cannery_web/live/pack_live/show.ex:82
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
@ -1164,9 +1160,9 @@ msgstr ""
msgid "Close modal"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/index.html.heex:58
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:103
#: lib/cannery_web/live/type_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "All"
@ -1247,10 +1243,10 @@ msgstr ""
msgid "None specified"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:100
#: lib/cannery_web/live/container_live/show.html.heex:108
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
#: lib/cannery_web/live/pack_live/index.html.heex:61
#: lib/cannery_web/live/range_live/index.html.heex:117
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/type_live/form_component.html.heex:28
#: lib/cannery_web/live/type_live/index.html.heex:40
#: lib/cannery_web/live/type_live/show.html.heex:56
@ -1273,10 +1269,10 @@ msgstr ""
msgid "Projectile"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:98
#: lib/cannery_web/live/container_live/show.html.heex:106
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
#: lib/cannery_web/live/pack_live/index.html.heex:59
#: lib/cannery_web/live/range_live/index.html.heex:115
#: lib/cannery_web/live/range_live/index.html.heex:104
#: lib/cannery_web/live/type_live/form_component.html.heex:26
#: lib/cannery_web/live/type_live/index.html.heex:38
#: lib/cannery_web/live/type_live/show.html.heex:54
@ -1328,10 +1324,10 @@ msgstr ""
msgid "Shot type:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/container_live/show.html.heex:107
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
#: lib/cannery_web/live/pack_live/index.html.heex:60
#: lib/cannery_web/live/range_live/index.html.heex:116
#: lib/cannery_web/live/range_live/index.html.heex:105
#: lib/cannery_web/live/type_live/form_component.html.heex:27
#: lib/cannery_web/live/type_live/index.html.heex:39
#: lib/cannery_web/live/type_live/show.html.heex:52
@ -1373,10 +1369,10 @@ msgid "Wadding:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:149
#: lib/cannery_web/live/container_live/show.html.heex:91
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#: lib/cannery_web/live/pack_live/index.html.heex:50
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/range_live/index.html.heex:95
#: lib/cannery_web/live/type_live/form_component.html.heex:21
#: lib/cannery_web/live/type_live/index.html.heex:29
#: lib/cannery_web/live/type_live/show.html.heex:46
@ -1396,7 +1392,7 @@ msgid "Used up!"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:41
#: lib/cannery_web/live/range_live/index.ex:59
#: lib/cannery_web/live/range_live/index.ex:60
#, elixir-autogen, elixir-format
msgid "Edit Shot Record"
msgstr ""
@ -1435,7 +1431,12 @@ msgstr ""
msgid "Any"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:149
#: lib/cannery_web/live/range_live/index.html.heex:138
#, elixir-autogen, elixir-format
msgid "Dates"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No containers staged"
msgstr ""

View File

@ -131,7 +131,7 @@ msgstr ""
msgid "Send instructions to reset password"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:65
#: lib/cannery_web/live/container_live/show.html.heex:73
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr ""
@ -141,19 +141,14 @@ msgstr ""
msgid "Add"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage ammo"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:90
#: lib/cannery_web/live/range_live/index.html.heex:65
#: lib/cannery_web/live/pack_live/index.html.heex:116
#: lib/cannery_web/live/pack_live/show.html.heex:84
#: lib/cannery_web/live/range_live/index.html.heex:54
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr ""
@ -199,8 +194,8 @@ msgid "View in Catalog"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:77
#: lib/cannery_web/live/pack_live/index.html.heex:138
#: lib/cannery_web/live/pack_live/show.html.heex:86
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:80
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -210,14 +205,12 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:82
#: lib/cannery_web/live/range_live/index.html.heex:61
#: lib/cannery_web/live/container_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Stage for range"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:81
#: lib/cannery_web/live/range_live/index.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Unstage from range"
msgstr ""
@ -227,8 +220,8 @@ msgstr ""
msgid "Export Data as JSON"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87
#: lib/cannery_web/live/container_live/index.html.heex:145
#: lib/cannery_web/live/container_live/index.html.heex:101
#: lib/cannery_web/live/container_live/index.html.heex:159
#, elixir-autogen, elixir-format
msgid "Clone %{container_name}"
msgstr ""
@ -238,8 +231,8 @@ msgstr ""
msgid "Copy invite link for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:104
#: lib/cannery_web/live/container_live/index.html.heex:162
#: lib/cannery_web/live/container_live/index.html.heex:118
#: lib/cannery_web/live/container_live/index.html.heex:176
#: lib/cannery_web/live/container_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Delete %{container_name}"
@ -255,8 +248,8 @@ msgstr ""
msgid "Delete invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77
#: lib/cannery_web/live/container_live/index.html.heex:135
#: lib/cannery_web/live/container_live/index.html.heex:91
#: lib/cannery_web/live/container_live/index.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:35
#, elixir-autogen, elixir-format
msgid "Edit %{container_name}"
@ -272,56 +265,56 @@ msgstr ""
msgid "Edit invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:120
#: lib/cannery_web/live/container_live/index.html.heex:69
#: lib/cannery_web/live/range_live/index.html.heex:35
#, 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:124
#: lib/cannery_web/live/container_live/index.html.heex:79
#: lib/cannery_web/live/container_live/index.html.heex:138
#, elixir-autogen, elixir-format
msgid "Tag %{container_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:119
#: lib/cannery_web/live/container_live/index.html.heex:68
#: lib/cannery_web/live/range_live/index.html.heex:34
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:172
#: lib/cannery_web/live/pack_live/index.html.heex:161
#, elixir-autogen, elixir-format, fuzzy
msgid "Clone pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:187
#: lib/cannery_web/live/pack_live/index.html.heex:176
#: lib/cannery_web/live/pack_live/show.html.heex:71
#, elixir-autogen, elixir-format, fuzzy
msgid "Delete pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:160
#: lib/cannery_web/live/pack_live/index.html.heex:149
#: lib/cannery_web/live/pack_live/show.html.heex:59
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/container_live/show.html.heex:147
#: lib/cannery_web/live/pack_live/index.html.heex:137
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format, fuzzy
msgid "View pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:192
#: lib/cannery_web/live/pack_live/show.ex:149
#: lib/cannery_web/live/range_live/index.html.heex:181
#, elixir-autogen, elixir-format, fuzzy
msgid "Delete shot record of %{shot_record_count} shots"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:144
#: lib/cannery_web/live/range_live/index.html.heex:175
#: lib/cannery_web/live/pack_live/show.ex:134
#: lib/cannery_web/live/range_live/index.html.heex:164
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit shot record of %{shot_record_count} shots"
msgstr ""
@ -357,3 +350,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "add a type first"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage containers"
msgstr ""

View File

@ -113,7 +113,7 @@ msgstr ""
msgid "Count:"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/components/container_table_component.ex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
@ -185,7 +185,7 @@ msgstr ""
msgid "Keep me logged in for 60 days"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/container_table_component.ex:51
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
@ -220,7 +220,7 @@ msgstr ""
msgid "My cool ammo can"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:45
#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/type_table_component.ex:152
#: lib/cannery_web/live/container_live/form_component.html.heex:21
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
@ -277,7 +277,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
msgid "Notes"
@ -348,12 +348,12 @@ msgstr ""
msgid "Steel"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:100
#: lib/cannery_web/live/pack_live/show.html.heex:94
#, elixir-autogen, elixir-format
msgid "Stored in"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:66
#: lib/cannery_web/components/container_table_component.ex:73
#: lib/cannery_web/components/core_components/topbar.html.heex:28
#: lib/cannery_web/live/tag_live/index.ex:43
#: lib/cannery_web/live/tag_live/index.ex:53
@ -383,7 +383,7 @@ msgstr ""
msgid "Tracer"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:40
@ -413,15 +413,16 @@ msgstr ""
msgid "Your data stays with you, period"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:68
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:77
#: lib/cannery_web/components/core_components/topbar.html.heex:48
#: lib/cannery_web/components/pack_table_component.ex:80
#: lib/cannery_web/live/range_live/index.ex:75
#: lib/cannery_web/live/range_live/index.ex:85
#: lib/cannery_web/live/range_live/index.ex:76
#: lib/cannery_web/live/range_live/index.ex:86
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@ -433,7 +434,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/pack_live/show.ex:81
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
@ -444,26 +445,21 @@ msgstr ""
msgid "Shots fired"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No ammo staged"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
#: lib/cannery_web/live/pack_live/index.ex:35
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:75
#: lib/cannery_web/live/range_live/index.html.heex:159
#: lib/cannery_web/live/range_live/index.html.heex:64
#: lib/cannery_web/live/range_live/index.html.heex:148
#, elixir-autogen, elixir-format
msgid "No shots recorded"
msgstr ""
#: lib/cannery_web/components/shot_record_table_component.ex:45
#: lib/cannery_web/live/pack_live/show.ex:89
#: lib/cannery_web/live/range_live/index.html.heex:89
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.html.heex:78
#, elixir-autogen, elixir-format
msgid "Rounds shot"
msgstr ""
@ -478,7 +474,7 @@ msgstr ""
msgid "No other containers"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:80
#: lib/cannery_web/live/range_live/index.html.heex:69
#, elixir-autogen, elixir-format
msgid "Shot log"
msgstr ""
@ -486,7 +482,7 @@ msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
#: lib/cannery_web/components/pack_table_component.ex:181
#: lib/cannery_web/components/pack_table_component.ex:264
#: lib/cannery_web/components/pack_table_component.ex:263
#: lib/cannery_web/components/type_table_component.ex:273
#: lib/cannery_web/live/pack_live/show.html.heex:37
#: lib/cannery_web/live/pack_live/show.html.heex:42
@ -559,13 +555,13 @@ msgid "Reconnecting..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:28
#: lib/cannery_web/live/container_live/show.ex:118
#: lib/cannery_web/live/container_live/show.ex:130
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:63
#: lib/cannery_web/live/container_live/show.ex:119
#: lib/cannery_web/live/container_live/show.ex:131
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
@ -578,7 +574,7 @@ msgid "Rounds:"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:178
#: lib/cannery_web/components/pack_table_component.ex:260
#: lib/cannery_web/components/pack_table_component.ex:259
#: lib/cannery_web/components/type_table_component.ex:272
#: lib/cannery_web/live/type_live/show.html.heex:154
#, elixir-autogen, elixir-format
@ -610,7 +606,7 @@ msgstr ""
msgid "Percentage left:"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:113
#: lib/cannery_web/live/pack_live/show.html.heex:107
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds used"
msgstr ""
@ -641,8 +637,8 @@ msgid "Reset your password"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:40
#: lib/cannery_web/live/range_live/index.ex:51
#: lib/cannery_web/live/range_live/index.ex:67
#: lib/cannery_web/live/range_live/index.ex:52
#: lib/cannery_web/live/range_live/index.ex:68
#, elixir-autogen, elixir-format, fuzzy
msgid "Record Shots"
msgstr ""
@ -700,7 +696,7 @@ msgstr ""
msgid "Move Ammo"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/container_live/show.html.heex:125
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr ""
@ -710,7 +706,7 @@ msgstr ""
msgid "Show Ammo"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/show.html.heex:99
#, elixir-autogen, elixir-format, fuzzy
msgid "This ammo is not in a container"
msgstr ""
@ -750,31 +746,31 @@ msgstr ""
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:219
#: lib/cannery_web/components/pack_table_component.ex:218
#: lib/cannery_web/live/pack_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:207
#: lib/cannery_web/live/range_live/index.ex:215
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot: %{count}"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:64
#: lib/cannery_web/components/container_table_component.ex:68
#: lib/cannery_web/components/type_table_component.ex:122
#, elixir-autogen, elixir-format, fuzzy
msgid "Packs"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:65
#: lib/cannery_web/components/container_table_component.ex:69
#: lib/cannery_web/components/type_table_component.ex:143
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:109
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/type_live/show.html.heex:170
#, elixir-autogen, elixir-format
msgid "View as table"
@ -820,7 +816,7 @@ msgstr ""
msgid "Used rounds:"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:80
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr ""
@ -927,7 +923,7 @@ msgid "Average CPR"
msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
#: lib/cannery_web/components/pack_table_component.ex:268
#: lib/cannery_web/components/pack_table_component.ex:267
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
@ -1009,7 +1005,7 @@ msgstr ""
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:135
#: lib/cannery_web/live/range_live/index.html.heex:124
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1133,12 +1129,12 @@ msgstr ""
msgid "Really great weather"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/container_table_component.ex:74
#: lib/cannery_web/components/move_pack_component.ex:67
#: lib/cannery_web/components/pack_table_component.ex:62
#: lib/cannery_web/components/shot_record_table_component.ex:48
#: lib/cannery_web/components/type_table_component.ex:99
#: lib/cannery_web/live/pack_live/show.ex:92
#: lib/cannery_web/live/pack_live/show.ex:82
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
@ -1164,9 +1160,9 @@ msgstr ""
msgid "Close modal"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/index.html.heex:58
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:103
#: lib/cannery_web/live/type_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "All"
@ -1247,10 +1243,10 @@ msgstr ""
msgid "None specified"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:100
#: lib/cannery_web/live/container_live/show.html.heex:108
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
#: lib/cannery_web/live/pack_live/index.html.heex:61
#: lib/cannery_web/live/range_live/index.html.heex:117
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/type_live/form_component.html.heex:28
#: lib/cannery_web/live/type_live/index.html.heex:40
#: lib/cannery_web/live/type_live/show.html.heex:56
@ -1273,10 +1269,10 @@ msgstr ""
msgid "Projectile"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:98
#: lib/cannery_web/live/container_live/show.html.heex:106
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
#: lib/cannery_web/live/pack_live/index.html.heex:59
#: lib/cannery_web/live/range_live/index.html.heex:115
#: lib/cannery_web/live/range_live/index.html.heex:104
#: lib/cannery_web/live/type_live/form_component.html.heex:26
#: lib/cannery_web/live/type_live/index.html.heex:38
#: lib/cannery_web/live/type_live/show.html.heex:54
@ -1328,10 +1324,10 @@ msgstr ""
msgid "Shot type:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/container_live/show.html.heex:107
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
#: lib/cannery_web/live/pack_live/index.html.heex:60
#: lib/cannery_web/live/range_live/index.html.heex:116
#: lib/cannery_web/live/range_live/index.html.heex:105
#: lib/cannery_web/live/type_live/form_component.html.heex:27
#: lib/cannery_web/live/type_live/index.html.heex:39
#: lib/cannery_web/live/type_live/show.html.heex:52
@ -1373,10 +1369,10 @@ msgid "Wadding:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:149
#: lib/cannery_web/live/container_live/show.html.heex:91
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#: lib/cannery_web/live/pack_live/index.html.heex:50
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/range_live/index.html.heex:95
#: lib/cannery_web/live/type_live/form_component.html.heex:21
#: lib/cannery_web/live/type_live/index.html.heex:29
#: lib/cannery_web/live/type_live/show.html.heex:46
@ -1396,7 +1392,7 @@ msgid "Used up!"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:41
#: lib/cannery_web/live/range_live/index.ex:59
#: lib/cannery_web/live/range_live/index.ex:60
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit Shot Record"
msgstr ""
@ -1435,7 +1431,12 @@ msgstr ""
msgid "Any"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:149
#: lib/cannery_web/live/range_live/index.html.heex:138
#, elixir-autogen, elixir-format, fuzzy
msgid "Dates"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr ""

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Language: en\n"
#: lib/cannery/containers.ex:222
#: lib/cannery/containers.ex:234
#, elixir-autogen, elixir-format
msgid "Container must be empty before deleting"
msgstr ""
@ -153,7 +153,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:94
#: lib/cannery_web/live/range_live/index.html.heex:83
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
@ -199,12 +199,12 @@ msgstr ""
msgid "You must log in to access this page."
msgstr ""
#: lib/cannery/ammo/pack.ex:98
#: lib/cannery/ammo/pack.ex:101
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid container"
msgstr ""
#: lib/cannery/ammo/pack.ex:96
#: lib/cannery/ammo/pack.ex:99
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid type"
msgstr ""

View File

@ -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:157
#: lib/cannery_web/live/container_live/index.html.heex:113
#: lib/cannery_web/live/container_live/index.html.heex:171
#: lib/cannery_web/live/container_live/show.html.heex:45
#: lib/cannery_web/live/tag_live/index.html.heex:63
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:185
#: lib/cannery_web/live/pack_live/index.html.heex:174
#: lib/cannery_web/live/pack_live/show.html.heex:69
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -150,19 +150,14 @@ msgstr ""
msgid "Shots recorded successfully"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:57
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unstage this ammo?"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:157
#: lib/cannery_web/live/range_live/index.html.heex:189
#: lib/cannery_web/live/pack_live/show.ex:147
#: lib/cannery_web/live/range_live/index.html.heex:178
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.ex:98
#: lib/cannery_web/live/pack_live/show.ex:69
#: lib/cannery_web/live/range_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
msgstr ""
@ -219,11 +214,6 @@ msgstr ""
msgid "Ammo deleted succesfully"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo unstaged succesfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:141
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo updated successfully"
@ -281,3 +271,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Are you sure you want to make %{invite_name} unlimited?"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Container unstaged succesfully"
msgstr ""

View File

@ -10,7 +10,7 @@
msgid ""
msgstr ""
#: lib/cannery/containers.ex:222
#: lib/cannery/containers.ex:234
#, elixir-autogen, elixir-format
msgid "Container must be empty before deleting"
msgstr ""
@ -152,7 +152,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:94
#: lib/cannery_web/live/range_live/index.html.heex:83
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
@ -198,12 +198,12 @@ msgstr ""
msgid "You must log in to access this page."
msgstr ""
#: lib/cannery/ammo/pack.ex:98
#: lib/cannery/ammo/pack.ex:101
#, elixir-autogen, elixir-format
msgid "Please select a valid container"
msgstr ""
#: lib/cannery/ammo/pack.ex:96
#: lib/cannery/ammo/pack.ex:99
#, elixir-autogen, elixir-format
msgid "Please select a valid type"
msgstr ""

View File

@ -144,7 +144,7 @@ msgstr "Guardar"
msgid "Send instructions to reset password"
msgstr "Enviar instrucciones para reestablecer contraseña"
#: lib/cannery_web/live/container_live/show.html.heex:65
#: lib/cannery_web/live/container_live/show.html.heex:73
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr "¿Por qué no añadir una?"
@ -154,19 +154,14 @@ msgstr "¿Por qué no añadir una?"
msgid "Add"
msgstr "Añadir"
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage ammo"
msgstr "Preparar munición"
#: lib/cannery_web/live/range_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Why not get some ready to shoot?"
msgstr "¿Por qué no preparar parte para disparar?"
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:90
#: lib/cannery_web/live/range_live/index.html.heex:65
#: lib/cannery_web/live/pack_live/index.html.heex:116
#: lib/cannery_web/live/pack_live/show.html.heex:84
#: lib/cannery_web/live/range_live/index.html.heex:54
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr "Tiros récord"
@ -212,8 +207,8 @@ msgid "View in Catalog"
msgstr "Ver en Catalogo"
#: lib/cannery_web/components/move_pack_component.ex:77
#: lib/cannery_web/live/pack_live/index.html.heex:138
#: lib/cannery_web/live/pack_live/show.html.heex:86
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:80
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr "Mover munición"
@ -223,14 +218,12 @@ msgstr "Mover munición"
msgid "Set Unlimited"
msgstr "Activar ilimitados"
#: lib/cannery_web/live/pack_live/show.html.heex:82
#: lib/cannery_web/live/range_live/index.html.heex:61
#: lib/cannery_web/live/container_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Stage for range"
msgstr "Preparar para el campo de tiro"
#: lib/cannery_web/live/pack_live/show.html.heex:81
#: lib/cannery_web/live/range_live/index.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Unstage from range"
msgstr "Desmontar del campo de tiro"
@ -240,8 +233,8 @@ msgstr "Desmontar del campo de tiro"
msgid "Export Data as JSON"
msgstr "Exportar datos como JSON"
#: lib/cannery_web/live/container_live/index.html.heex:87
#: lib/cannery_web/live/container_live/index.html.heex:145
#: lib/cannery_web/live/container_live/index.html.heex:101
#: lib/cannery_web/live/container_live/index.html.heex:159
#, elixir-autogen, elixir-format
msgid "Clone %{container_name}"
msgstr ""
@ -251,8 +244,8 @@ msgstr ""
msgid "Copy invite link for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:104
#: lib/cannery_web/live/container_live/index.html.heex:162
#: lib/cannery_web/live/container_live/index.html.heex:118
#: lib/cannery_web/live/container_live/index.html.heex:176
#: lib/cannery_web/live/container_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Delete %{container_name}"
@ -268,8 +261,8 @@ msgstr ""
msgid "Delete invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77
#: lib/cannery_web/live/container_live/index.html.heex:135
#: lib/cannery_web/live/container_live/index.html.heex:91
#: lib/cannery_web/live/container_live/index.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:35
#, elixir-autogen, elixir-format
msgid "Edit %{container_name}"
@ -285,56 +278,56 @@ msgstr ""
msgid "Edit invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:120
#: lib/cannery_web/live/container_live/index.html.heex:69
#: lib/cannery_web/live/range_live/index.html.heex:35
#, 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:124
#: lib/cannery_web/live/container_live/index.html.heex:79
#: lib/cannery_web/live/container_live/index.html.heex:138
#, elixir-autogen, elixir-format
msgid "Tag %{container_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:119
#: lib/cannery_web/live/container_live/index.html.heex:68
#: lib/cannery_web/live/range_live/index.html.heex:34
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:172
#: lib/cannery_web/live/pack_live/index.html.heex:161
#, elixir-autogen, elixir-format, fuzzy
msgid "Clone pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:187
#: lib/cannery_web/live/pack_live/index.html.heex:176
#: lib/cannery_web/live/pack_live/show.html.heex:71
#, elixir-autogen, elixir-format, fuzzy
msgid "Delete pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:160
#: lib/cannery_web/live/pack_live/index.html.heex:149
#: lib/cannery_web/live/pack_live/show.html.heex:59
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/container_live/show.html.heex:147
#: lib/cannery_web/live/pack_live/index.html.heex:137
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format, fuzzy
msgid "View pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:192
#: lib/cannery_web/live/pack_live/show.ex:149
#: lib/cannery_web/live/range_live/index.html.heex:181
#, elixir-autogen, elixir-format, fuzzy
msgid "Delete shot record of %{shot_record_count} shots"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:144
#: lib/cannery_web/live/range_live/index.html.heex:175
#: lib/cannery_web/live/pack_live/show.ex:134
#: lib/cannery_web/live/range_live/index.html.heex:164
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit shot record of %{shot_record_count} shots"
msgstr ""
@ -370,3 +363,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "add a type first"
msgstr "añade primero un tipo de munición"
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage containers"
msgstr ""

View File

@ -117,7 +117,7 @@ msgstr "Cantidad"
msgid "Count:"
msgstr "Cantidad:"
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/components/container_table_component.ex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
@ -189,7 +189,7 @@ msgstr "Invitaciones"
msgid "Keep me logged in for 60 days"
msgstr "Mantener registrado durante 60 días"
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/container_table_component.ex:51
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
@ -224,7 +224,7 @@ msgstr "Lata de munición metálica con la pegatina de chica de anime"
msgid "My cool ammo can"
msgstr "Mi lata de munición guapa"
#: lib/cannery_web/components/container_table_component.ex:45
#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/type_table_component.ex:152
#: lib/cannery_web/live/container_live/form_component.html.heex:21
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
@ -281,7 +281,7 @@ msgstr "Sin etiquetas"
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
msgid "Notes"
@ -354,12 +354,12 @@ msgstr "Simple:"
msgid "Steel"
msgstr "Acero"
#: lib/cannery_web/live/pack_live/show.html.heex:100
#: lib/cannery_web/live/pack_live/show.html.heex:94
#, elixir-autogen, elixir-format
msgid "Stored in"
msgstr "Guardado en"
#: lib/cannery_web/components/container_table_component.ex:66
#: lib/cannery_web/components/container_table_component.ex:73
#: lib/cannery_web/components/core_components/topbar.html.heex:28
#: lib/cannery_web/live/tag_live/index.ex:43
#: lib/cannery_web/live/tag_live/index.ex:53
@ -390,7 +390,7 @@ msgstr "La página de seguimiento de armas autogestionada"
msgid "Tracer"
msgstr "Trazadora"
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:40
@ -420,15 +420,16 @@ msgstr "Usos restantes"
msgid "Your data stays with you, period"
msgstr "Tus datos se quedan contigo, sin excepciones"
#: lib/cannery_web/live/container_live/show.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:68
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr "Contenedor sin etiquetas"
#: lib/cannery_web/components/container_table_component.ex:77
#: lib/cannery_web/components/core_components/topbar.html.heex:48
#: lib/cannery_web/components/pack_table_component.ex:80
#: lib/cannery_web/live/range_live/index.ex:75
#: lib/cannery_web/live/range_live/index.ex:85
#: lib/cannery_web/live/range_live/index.ex:76
#: lib/cannery_web/live/range_live/index.ex:86
#, elixir-autogen, elixir-format
msgid "Range"
msgstr "Campo de tiro"
@ -440,7 +441,7 @@ msgstr "Día de disparar"
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/pack_live/show.ex:81
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
@ -451,26 +452,21 @@ msgstr "Fecha"
msgid "Shots fired"
msgstr "Tiros disparados"
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No ammo staged"
msgstr "No hay munición preparada"
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
#: lib/cannery_web/live/pack_live/index.ex:35
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr "Tiros récord"
#: lib/cannery_web/live/range_live/index.html.heex:75
#: lib/cannery_web/live/range_live/index.html.heex:159
#: lib/cannery_web/live/range_live/index.html.heex:64
#: lib/cannery_web/live/range_live/index.html.heex:148
#, elixir-autogen, elixir-format
msgid "No shots recorded"
msgstr "No se han grabado tiros"
#: lib/cannery_web/components/shot_record_table_component.ex:45
#: lib/cannery_web/live/pack_live/show.ex:89
#: lib/cannery_web/live/range_live/index.html.heex:89
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.html.heex:78
#, elixir-autogen, elixir-format
msgid "Rounds shot"
msgstr "Balas disparadas"
@ -485,7 +481,7 @@ msgstr "Mover munición"
msgid "No other containers"
msgstr "No hay otros contenedores"
#: lib/cannery_web/live/range_live/index.html.heex:80
#: lib/cannery_web/live/range_live/index.html.heex:69
#, elixir-autogen, elixir-format
msgid "Shot log"
msgstr "Registro de tiros"
@ -493,7 +489,7 @@ msgstr "Registro de tiros"
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
#: lib/cannery_web/components/pack_table_component.ex:181
#: lib/cannery_web/components/pack_table_component.ex:264
#: lib/cannery_web/components/pack_table_component.ex:263
#: lib/cannery_web/components/type_table_component.ex:273
#: lib/cannery_web/live/pack_live/show.html.heex:37
#: lib/cannery_web/live/pack_live/show.html.heex:42
@ -566,13 +562,13 @@ msgid "Reconnecting..."
msgstr "Reconectando..."
#: lib/cannery_web/live/container_live/index.ex:28
#: lib/cannery_web/live/container_live/show.ex:118
#: lib/cannery_web/live/container_live/show.ex:130
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr "Editar %{name}"
#: lib/cannery_web/live/container_live/index.ex:63
#: lib/cannery_web/live/container_live/show.ex:119
#: lib/cannery_web/live/container_live/show.ex:131
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr "Editar etiquetas de %{name}"
@ -585,7 +581,7 @@ msgid "Rounds:"
msgstr "Balas:"
#: lib/cannery_web/components/pack_table_component.ex:178
#: lib/cannery_web/components/pack_table_component.ex:260
#: lib/cannery_web/components/pack_table_component.ex:259
#: lib/cannery_web/components/type_table_component.ex:272
#: lib/cannery_web/live/type_live/show.html.heex:154
#, elixir-autogen, elixir-format
@ -617,7 +613,7 @@ msgstr "Cantidad original:"
msgid "Percentage left:"
msgstr "Pocentaje restante:"
#: lib/cannery_web/live/pack_live/show.html.heex:113
#: lib/cannery_web/live/pack_live/show.html.heex:107
#, elixir-autogen, elixir-format
msgid "Rounds used"
msgstr "Balas usadas"
@ -648,8 +644,8 @@ msgid "Reset your password"
msgstr "Reestablecer contraseña"
#: lib/cannery_web/live/pack_live/show.ex:40
#: lib/cannery_web/live/range_live/index.ex:51
#: lib/cannery_web/live/range_live/index.ex:67
#: lib/cannery_web/live/range_live/index.ex:52
#: lib/cannery_web/live/range_live/index.ex:68
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr "Tiros Récord"
@ -707,7 +703,7 @@ msgstr "Editar Munición"
msgid "Move Ammo"
msgstr "Mover Munición"
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/container_live/show.html.heex:125
#, elixir-autogen, elixir-format
msgid "No ammo in this container"
msgstr "No hay munición en este contenedor"
@ -717,7 +713,7 @@ msgstr "No hay munición en este contenedor"
msgid "Show Ammo"
msgstr "Mostrar Munición"
#: lib/cannery_web/live/pack_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/show.html.heex:99
#, elixir-autogen, elixir-format
msgid "This ammo is not in a container"
msgstr "Esta munición no está en un contenedor"
@ -758,31 +754,31 @@ msgstr "Contenedor:"
msgid "Show used"
msgstr "Mostrar usadas"
#: lib/cannery_web/components/pack_table_component.ex:219
#: lib/cannery_web/components/pack_table_component.ex:218
#: lib/cannery_web/live/pack_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
msgstr "%{percentage}%"
#: lib/cannery_web/live/range_live/index.ex:207
#: lib/cannery_web/live/range_live/index.ex:215
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot: %{count}"
msgstr "Balas disparadas: %{count}"
#: lib/cannery_web/components/container_table_component.ex:64
#: lib/cannery_web/components/container_table_component.ex:68
#: lib/cannery_web/components/type_table_component.ex:122
#, elixir-autogen, elixir-format, fuzzy
msgid "Packs"
msgstr "Paquetes"
#: lib/cannery_web/components/container_table_component.ex:65
#: lib/cannery_web/components/container_table_component.ex:69
#: lib/cannery_web/components/type_table_component.ex:143
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds"
msgstr "Balas"
#: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:109
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/type_live/show.html.heex:170
#, elixir-autogen, elixir-format
msgid "View as table"
@ -828,7 +824,7 @@ msgstr "Balas usadas"
msgid "Used rounds:"
msgstr "Balas usadas:"
#: lib/cannery_web/live/range_live/index.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:80
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr "Tabla de disparos"
@ -935,7 +931,7 @@ msgid "Average CPR"
msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
#: lib/cannery_web/components/pack_table_component.ex:268
#: lib/cannery_web/components/pack_table_component.ex:267
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr "Vacio"
@ -1017,7 +1013,7 @@ msgstr ""
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:135
#: lib/cannery_web/live/range_live/index.html.heex:124
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1152,12 +1148,12 @@ msgstr ""
msgid "Really great weather"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/container_table_component.ex:74
#: lib/cannery_web/components/move_pack_component.ex:67
#: lib/cannery_web/components/pack_table_component.ex:62
#: lib/cannery_web/components/shot_record_table_component.ex:48
#: lib/cannery_web/components/type_table_component.ex:99
#: lib/cannery_web/live/pack_live/show.ex:92
#: lib/cannery_web/live/pack_live/show.ex:82
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
@ -1183,9 +1179,9 @@ msgstr ""
msgid "Close modal"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/index.html.heex:58
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:103
#: lib/cannery_web/live/type_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "All"
@ -1266,10 +1262,10 @@ msgstr "Sin Munición"
msgid "None specified"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:100
#: lib/cannery_web/live/container_live/show.html.heex:108
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
#: lib/cannery_web/live/pack_live/index.html.heex:61
#: lib/cannery_web/live/range_live/index.html.heex:117
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/type_live/form_component.html.heex:28
#: lib/cannery_web/live/type_live/index.html.heex:40
#: lib/cannery_web/live/type_live/show.html.heex:56
@ -1292,10 +1288,10 @@ msgstr "Tipo de espoleta"
msgid "Projectile"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:98
#: lib/cannery_web/live/container_live/show.html.heex:106
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
#: lib/cannery_web/live/pack_live/index.html.heex:59
#: lib/cannery_web/live/range_live/index.html.heex:115
#: lib/cannery_web/live/range_live/index.html.heex:104
#: lib/cannery_web/live/type_live/form_component.html.heex:26
#: lib/cannery_web/live/type_live/index.html.heex:38
#: lib/cannery_web/live/type_live/show.html.heex:54
@ -1347,10 +1343,10 @@ msgstr ""
msgid "Shot type:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/container_live/show.html.heex:107
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
#: lib/cannery_web/live/pack_live/index.html.heex:60
#: lib/cannery_web/live/range_live/index.html.heex:116
#: lib/cannery_web/live/range_live/index.html.heex:105
#: lib/cannery_web/live/type_live/form_component.html.heex:27
#: lib/cannery_web/live/type_live/index.html.heex:39
#: lib/cannery_web/live/type_live/show.html.heex:52
@ -1392,10 +1388,10 @@ msgid "Wadding:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:149
#: lib/cannery_web/live/container_live/show.html.heex:91
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#: lib/cannery_web/live/pack_live/index.html.heex:50
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/range_live/index.html.heex:95
#: lib/cannery_web/live/type_live/form_component.html.heex:21
#: lib/cannery_web/live/type_live/index.html.heex:29
#: lib/cannery_web/live/type_live/show.html.heex:46
@ -1415,7 +1411,7 @@ msgid "Used up!"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:41
#: lib/cannery_web/live/range_live/index.ex:59
#: lib/cannery_web/live/range_live/index.ex:60
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit Shot Record"
msgstr "Editar Tiros Récord"
@ -1454,7 +1450,12 @@ msgstr ""
msgid "Any"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:149
#: lib/cannery_web/live/range_live/index.html.heex:138
#, elixir-autogen, elixir-format, fuzzy
msgid "Dates"
msgstr "Fecha"
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr "Sin contenedores"

View File

@ -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:222
#: lib/cannery/containers.ex:234
#, elixir-autogen, elixir-format
msgid "Container must be empty before deleting"
msgstr "El contenedor debe estar vacío antes de ser borrado"
@ -168,7 +168,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_web/live/range_live/index.html.heex:94
#: lib/cannery_web/live/range_live/index.html.heex:83
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr "Su navegador no es compatible con el elemento lienzo."
@ -214,12 +214,12 @@ msgstr ""
msgid "You must log in to access this page."
msgstr ""
#: lib/cannery/ammo/pack.ex:98
#: lib/cannery/ammo/pack.ex:101
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid container"
msgstr "Por favor escoja un tipo de munición y un contenedor"
#: lib/cannery/ammo/pack.ex:96
#: lib/cannery/ammo/pack.ex:99
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid type"
msgstr "Por favor escoja un usuario y tipo de munición valido"

View File

@ -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:157
#: lib/cannery_web/live/container_live/index.html.heex:113
#: lib/cannery_web/live/container_live/index.html.heex:171
#: lib/cannery_web/live/container_live/show.html.heex:45
#: lib/cannery_web/live/tag_live/index.html.heex:63
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
msgstr "Está seguro que desea eliminar %{name}?"
#: lib/cannery_web/live/pack_live/index.html.heex:185
#: lib/cannery_web/live/pack_live/index.html.heex:174
#: lib/cannery_web/live/pack_live/show.html.heex:69
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -170,19 +170,14 @@ msgstr "Añadiendo..."
msgid "Shots recorded successfully"
msgstr "Tiros registrados exitosamente"
#: lib/cannery_web/live/range_live/index.html.heex:57
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unstage this ammo?"
msgstr "Está seguro que desea desmontar esta munición?"
#: lib/cannery_web/live/pack_live/show.ex:157
#: lib/cannery_web/live/range_live/index.html.heex:189
#: lib/cannery_web/live/pack_live/show.ex:147
#: lib/cannery_web/live/range_live/index.html.heex:178
#, 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?"
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.ex:98
#: lib/cannery_web/live/pack_live/show.ex:69
#: lib/cannery_web/live/range_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
msgstr "Récord de disparos borrado exitosamente"
@ -239,11 +234,6 @@ msgstr "Idioma cambiado exitosamente."
msgid "Ammo deleted succesfully"
msgstr "Munición borrada exitosamente"
#: lib/cannery_web/live/range_live/index.ex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo unstaged succesfully"
msgstr "Munición descargada exitosamente"
#: lib/cannery_web/live/pack_live/form_component.ex:141
#, elixir-autogen, elixir-format
msgid "Ammo updated successfully"
@ -303,3 +293,8 @@ msgstr "Está seguro que quiere eliminar la invitación para %{name}?"
#, elixir-autogen, elixir-format, fuzzy
msgid "Are you sure you want to make %{invite_name} unlimited?"
msgstr "Está seguro que desea hacer %{name} ilimitado?"
#: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Container unstaged succesfully"
msgstr ""

View File

@ -144,7 +144,7 @@ msgstr "Sauvegarder"
msgid "Send instructions to reset password"
msgstr "Envoyer les instructions pour réinitialiser le mot de passe"
#: lib/cannery_web/live/container_live/show.html.heex:65
#: lib/cannery_web/live/container_live/show.html.heex:73
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr "Pourquoi pas en ajouter un?"
@ -154,19 +154,14 @@ msgstr "Pourquoi pas en ajouter un?"
msgid "Add"
msgstr "Ajouter"
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage ammo"
msgstr "Munition préparée"
#: lib/cannery_web/live/range_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Why not get some ready to shoot?"
msgstr "Pourquoi pas en préparer pour tirer?"
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:90
#: lib/cannery_web/live/range_live/index.html.heex:65
#: lib/cannery_web/live/pack_live/index.html.heex:116
#: lib/cannery_web/live/pack_live/show.html.heex:84
#: lib/cannery_web/live/range_live/index.html.heex:54
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr "Enregistrer des tirs"
@ -212,8 +207,8 @@ msgid "View in Catalog"
msgstr "Voir en catalogue"
#: lib/cannery_web/components/move_pack_component.ex:77
#: lib/cannery_web/live/pack_live/index.html.heex:138
#: lib/cannery_web/live/pack_live/show.html.heex:86
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:80
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -223,14 +218,12 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:82
#: lib/cannery_web/live/range_live/index.html.heex:61
#: lib/cannery_web/live/container_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Stage for range"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:81
#: lib/cannery_web/live/range_live/index.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Unstage from range"
msgstr ""
@ -240,8 +233,8 @@ msgstr ""
msgid "Export Data as JSON"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87
#: lib/cannery_web/live/container_live/index.html.heex:145
#: lib/cannery_web/live/container_live/index.html.heex:101
#: lib/cannery_web/live/container_live/index.html.heex:159
#, elixir-autogen, elixir-format
msgid "Clone %{container_name}"
msgstr ""
@ -251,8 +244,8 @@ msgstr ""
msgid "Copy invite link for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:104
#: lib/cannery_web/live/container_live/index.html.heex:162
#: lib/cannery_web/live/container_live/index.html.heex:118
#: lib/cannery_web/live/container_live/index.html.heex:176
#: lib/cannery_web/live/container_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Delete %{container_name}"
@ -268,8 +261,8 @@ msgstr ""
msgid "Delete invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77
#: lib/cannery_web/live/container_live/index.html.heex:135
#: lib/cannery_web/live/container_live/index.html.heex:91
#: lib/cannery_web/live/container_live/index.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:35
#, elixir-autogen, elixir-format
msgid "Edit %{container_name}"
@ -285,56 +278,56 @@ msgstr ""
msgid "Edit invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:120
#: lib/cannery_web/live/container_live/index.html.heex:69
#: lib/cannery_web/live/range_live/index.html.heex:35
#, 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:124
#: lib/cannery_web/live/container_live/index.html.heex:79
#: lib/cannery_web/live/container_live/index.html.heex:138
#, elixir-autogen, elixir-format
msgid "Tag %{container_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:119
#: lib/cannery_web/live/container_live/index.html.heex:68
#: lib/cannery_web/live/range_live/index.html.heex:34
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:172
#: lib/cannery_web/live/pack_live/index.html.heex:161
#, elixir-autogen, elixir-format, fuzzy
msgid "Clone pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:187
#: lib/cannery_web/live/pack_live/index.html.heex:176
#: lib/cannery_web/live/pack_live/show.html.heex:71
#, elixir-autogen, elixir-format, fuzzy
msgid "Delete pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:160
#: lib/cannery_web/live/pack_live/index.html.heex:149
#: lib/cannery_web/live/pack_live/show.html.heex:59
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/container_live/show.html.heex:147
#: lib/cannery_web/live/pack_live/index.html.heex:137
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format, fuzzy
msgid "View pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:192
#: lib/cannery_web/live/pack_live/show.ex:149
#: lib/cannery_web/live/range_live/index.html.heex:181
#, elixir-autogen, elixir-format, fuzzy
msgid "Delete shot record of %{shot_record_count} shots"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:144
#: lib/cannery_web/live/range_live/index.html.heex:175
#: lib/cannery_web/live/pack_live/show.ex:134
#: lib/cannery_web/live/range_live/index.html.heex:164
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit shot record of %{shot_record_count} shots"
msgstr ""
@ -370,3 +363,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "add a type first"
msgstr "Ajoutez d'abord un type de munitions"
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage containers"
msgstr ""

View File

@ -117,7 +117,7 @@ msgstr "Quantité"
msgid "Count:"
msgstr "Quantité:"
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/components/container_table_component.ex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
@ -189,7 +189,7 @@ msgstr "Invitations"
msgid "Keep me logged in for 60 days"
msgstr "Me garder authentifié durant 60 jours"
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/container_table_component.ex:51
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
@ -224,7 +224,7 @@ msgstr "Boite de munition avec le sticker de fille danimation"
msgid "My cool ammo can"
msgstr "Ma superbe boite de munition"
#: lib/cannery_web/components/container_table_component.ex:45
#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/type_table_component.ex:152
#: lib/cannery_web/live/container_live/form_component.html.heex:21
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
@ -281,7 +281,7 @@ msgstr "Aucun tag"
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
msgid "Notes"
@ -354,12 +354,12 @@ msgstr "Simple:"
msgid "Steel"
msgstr "Acier"
#: lib/cannery_web/live/pack_live/show.html.heex:100
#: lib/cannery_web/live/pack_live/show.html.heex:94
#, elixir-autogen, elixir-format
msgid "Stored in"
msgstr "Est stocké dans"
#: lib/cannery_web/components/container_table_component.ex:66
#: lib/cannery_web/components/container_table_component.ex:73
#: lib/cannery_web/components/core_components/topbar.html.heex:28
#: lib/cannery_web/live/tag_live/index.ex:43
#: lib/cannery_web/live/tag_live/index.ex:53
@ -391,7 +391,7 @@ msgstr "Le site web de suivi darme à feux auto-hébergé"
msgid "Tracer"
msgstr "Traceuse"
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:40
@ -421,15 +421,16 @@ msgstr "Utilisations restantes"
msgid "Your data stays with you, period"
msgstr "Vos données restent avec vous, point final"
#: lib/cannery_web/live/container_live/show.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:68
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr "Aucun tag pour ce conteneur"
#: lib/cannery_web/components/container_table_component.ex:77
#: lib/cannery_web/components/core_components/topbar.html.heex:48
#: lib/cannery_web/components/pack_table_component.ex:80
#: lib/cannery_web/live/range_live/index.ex:75
#: lib/cannery_web/live/range_live/index.ex:85
#: lib/cannery_web/live/range_live/index.ex:76
#: lib/cannery_web/live/range_live/index.ex:86
#, elixir-autogen, elixir-format
msgid "Range"
msgstr "Portée"
@ -441,7 +442,7 @@ msgstr "Journée de stand"
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/pack_live/show.ex:81
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
@ -452,26 +453,21 @@ msgstr "Date"
msgid "Shots fired"
msgstr "Tirs réalisés"
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No ammo staged"
msgstr "Aucune munition sélectionnée"
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
#: lib/cannery_web/live/pack_live/index.ex:35
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr "Tirs enregistrés"
#: lib/cannery_web/live/range_live/index.html.heex:75
#: lib/cannery_web/live/range_live/index.html.heex:159
#: lib/cannery_web/live/range_live/index.html.heex:64
#: lib/cannery_web/live/range_live/index.html.heex:148
#, elixir-autogen, elixir-format
msgid "No shots recorded"
msgstr "Aucun tir enregistré"
#: lib/cannery_web/components/shot_record_table_component.ex:45
#: lib/cannery_web/live/pack_live/show.ex:89
#: lib/cannery_web/live/range_live/index.html.heex:89
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.html.heex:78
#, elixir-autogen, elixir-format
msgid "Rounds shot"
msgstr "Cartouches tirées"
@ -486,7 +482,7 @@ msgstr "Déplacer munition"
msgid "No other containers"
msgstr "Aucun autre conteneur"
#: lib/cannery_web/live/range_live/index.html.heex:80
#: lib/cannery_web/live/range_live/index.html.heex:69
#, elixir-autogen, elixir-format
msgid "Shot log"
msgstr "Évènements de tir"
@ -494,7 +490,7 @@ msgstr "Évènements de tir"
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
#: lib/cannery_web/components/pack_table_component.ex:181
#: lib/cannery_web/components/pack_table_component.ex:264
#: lib/cannery_web/components/pack_table_component.ex:263
#: lib/cannery_web/components/type_table_component.ex:273
#: lib/cannery_web/live/pack_live/show.html.heex:37
#: lib/cannery_web/live/pack_live/show.html.heex:42
@ -567,13 +563,13 @@ msgid "Reconnecting..."
msgstr "Reconnexion en cours…"
#: lib/cannery_web/live/container_live/index.ex:28
#: lib/cannery_web/live/container_live/show.ex:118
#: lib/cannery_web/live/container_live/show.ex:130
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr "Éditer %{name}"
#: lib/cannery_web/live/container_live/index.ex:63
#: lib/cannery_web/live/container_live/show.ex:119
#: lib/cannery_web/live/container_live/show.ex:131
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr "Éditer les tags de %{name}"
@ -586,7 +582,7 @@ msgid "Rounds:"
msgstr "Cartouches:"
#: lib/cannery_web/components/pack_table_component.ex:178
#: lib/cannery_web/components/pack_table_component.ex:260
#: lib/cannery_web/components/pack_table_component.ex:259
#: lib/cannery_web/components/type_table_component.ex:272
#: lib/cannery_web/live/type_live/show.html.heex:154
#, elixir-autogen, elixir-format
@ -618,7 +614,7 @@ msgstr "Nombre original:"
msgid "Percentage left:"
msgstr "Pourcentage restant:"
#: lib/cannery_web/live/pack_live/show.html.heex:113
#: lib/cannery_web/live/pack_live/show.html.heex:107
#, elixir-autogen, elixir-format
msgid "Rounds used"
msgstr "Cartouches utilisées"
@ -649,8 +645,8 @@ msgid "Reset your password"
msgstr "Réinitialiser votre mot de passe"
#: lib/cannery_web/live/pack_live/show.ex:40
#: lib/cannery_web/live/range_live/index.ex:51
#: lib/cannery_web/live/range_live/index.ex:67
#: lib/cannery_web/live/range_live/index.ex:52
#: lib/cannery_web/live/range_live/index.ex:68
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr "Enregistrer des tirs"
@ -708,7 +704,7 @@ msgstr "Éditer le type de munition"
msgid "Move Ammo"
msgstr "Déplacer munition"
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/container_live/show.html.heex:125
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr "Aucun groupe de munition pour ce conteneur"
@ -718,7 +714,7 @@ msgstr "Aucun groupe de munition pour ce conteneur"
msgid "Show Ammo"
msgstr "Montrer le type de munition"
#: lib/cannery_web/live/pack_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/show.html.heex:99
#, elixir-autogen, elixir-format, fuzzy
msgid "This ammo is not in a container"
msgstr "Ce groupe de munition nest pas dans un conteneur"
@ -759,31 +755,31 @@ msgstr "Conteneur"
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:219
#: lib/cannery_web/components/pack_table_component.ex:218
#: lib/cannery_web/live/pack_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:207
#: lib/cannery_web/live/range_live/index.ex:215
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot: %{count}"
msgstr "Cartouches tirées"
#: lib/cannery_web/components/container_table_component.ex:64
#: lib/cannery_web/components/container_table_component.ex:68
#: lib/cannery_web/components/type_table_component.ex:122
#, elixir-autogen, elixir-format, fuzzy
msgid "Packs"
msgstr "Packages:"
#: lib/cannery_web/components/container_table_component.ex:65
#: lib/cannery_web/components/container_table_component.ex:69
#: lib/cannery_web/components/type_table_component.ex:143
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds"
msgstr "Cartouches:"
#: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:109
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/type_live/show.html.heex:170
#, elixir-autogen, elixir-format
msgid "View as table"
@ -829,7 +825,7 @@ msgstr ""
msgid "Used rounds:"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:80
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr "Cartouches tirées"
@ -936,7 +932,7 @@ msgid "Average CPR"
msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
#: lib/cannery_web/components/pack_table_component.ex:268
#: lib/cannery_web/components/pack_table_component.ex:267
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
@ -1018,7 +1014,7 @@ msgstr ""
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:135
#: lib/cannery_web/live/range_live/index.html.heex:124
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1153,12 +1149,12 @@ msgstr ""
msgid "Really great weather"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/container_table_component.ex:74
#: lib/cannery_web/components/move_pack_component.ex:67
#: lib/cannery_web/components/pack_table_component.ex:62
#: lib/cannery_web/components/shot_record_table_component.ex:48
#: lib/cannery_web/components/type_table_component.ex:99
#: lib/cannery_web/live/pack_live/show.ex:92
#: lib/cannery_web/live/pack_live/show.ex:82
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
@ -1184,9 +1180,9 @@ msgstr ""
msgid "Close modal"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/index.html.heex:58
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:103
#: lib/cannery_web/live/type_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "All"
@ -1267,10 +1263,10 @@ msgstr "Aucune munition"
msgid "None specified"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:100
#: lib/cannery_web/live/container_live/show.html.heex:108
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
#: lib/cannery_web/live/pack_live/index.html.heex:61
#: lib/cannery_web/live/range_live/index.html.heex:117
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/type_live/form_component.html.heex:28
#: lib/cannery_web/live/type_live/index.html.heex:40
#: lib/cannery_web/live/type_live/show.html.heex:56
@ -1293,10 +1289,10 @@ msgstr "Type damorce"
msgid "Projectile"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:98
#: lib/cannery_web/live/container_live/show.html.heex:106
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
#: lib/cannery_web/live/pack_live/index.html.heex:59
#: lib/cannery_web/live/range_live/index.html.heex:115
#: lib/cannery_web/live/range_live/index.html.heex:104
#: lib/cannery_web/live/type_live/form_component.html.heex:26
#: lib/cannery_web/live/type_live/index.html.heex:38
#: lib/cannery_web/live/type_live/show.html.heex:54
@ -1348,10 +1344,10 @@ msgstr ""
msgid "Shot type:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/container_live/show.html.heex:107
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
#: lib/cannery_web/live/pack_live/index.html.heex:60
#: lib/cannery_web/live/range_live/index.html.heex:116
#: lib/cannery_web/live/range_live/index.html.heex:105
#: lib/cannery_web/live/type_live/form_component.html.heex:27
#: lib/cannery_web/live/type_live/index.html.heex:39
#: lib/cannery_web/live/type_live/show.html.heex:52
@ -1393,10 +1389,10 @@ msgid "Wadding:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:149
#: lib/cannery_web/live/container_live/show.html.heex:91
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#: lib/cannery_web/live/pack_live/index.html.heex:50
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/range_live/index.html.heex:95
#: lib/cannery_web/live/type_live/form_component.html.heex:21
#: lib/cannery_web/live/type_live/index.html.heex:29
#: lib/cannery_web/live/type_live/show.html.heex:46
@ -1416,7 +1412,7 @@ msgid "Used up!"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:41
#: lib/cannery_web/live/range_live/index.ex:59
#: lib/cannery_web/live/range_live/index.ex:60
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit Shot Record"
msgstr "Modifier les enregistrements de tir"
@ -1455,7 +1451,12 @@ msgstr ""
msgid "Any"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:149
#: lib/cannery_web/live/range_live/index.html.heex:138
#, elixir-autogen, elixir-format, fuzzy
msgid "Dates"
msgstr "Date"
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr "Aucun conteneur"

View File

@ -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:222
#: lib/cannery/containers.ex:234
#, elixir-autogen, elixir-format
msgid "Container must be empty before deleting"
msgstr "Le conteneur doit être vide pour être supprimé"
@ -169,7 +169,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_web/live/range_live/index.html.heex:94
#: lib/cannery_web/live/range_live/index.html.heex:83
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
@ -215,12 +215,12 @@ msgstr ""
msgid "You must log in to access this page."
msgstr ""
#: lib/cannery/ammo/pack.ex:98
#: lib/cannery/ammo/pack.ex:101
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid container"
msgstr "Veuillez choisir un type de munitions et un conteneur"
#: lib/cannery/ammo/pack.ex:96
#: lib/cannery/ammo/pack.ex:99
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid type"
msgstr "Veuillez choisir un utilisateur valide et un groupe de munitions"

View File

@ -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:157
#: lib/cannery_web/live/container_live/index.html.heex:113
#: lib/cannery_web/live/container_live/index.html.heex:171
#: lib/cannery_web/live/container_live/show.html.heex:45
#: lib/cannery_web/live/tag_live/index.html.heex:63
#, 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/pack_live/index.html.heex:185
#: lib/cannery_web/live/pack_live/index.html.heex:174
#: lib/cannery_web/live/pack_live/show.html.heex:69
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -172,19 +172,14 @@ msgstr "Ajout en cours…"
msgid "Shots recorded successfully"
msgstr "Tirs enregistré avec succès"
#: lib/cannery_web/live/range_live/index.html.heex:57
#, elixir-autogen, elixir-format
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/pack_live/show.ex:157
#: lib/cannery_web/live/range_live/index.html.heex:189
#: lib/cannery_web/live/pack_live/show.ex:147
#: lib/cannery_web/live/range_live/index.html.heex:178
#, 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?"
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.ex:98
#: lib/cannery_web/live/pack_live/show.ex:69
#: lib/cannery_web/live/range_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
msgstr "Enregistrements de tir supprimés avec succès"
@ -241,11 +236,6 @@ msgstr "Langue mise à jour avec succès."
msgid "Ammo deleted succesfully"
msgstr "Groupe de munition supprimé avec succès"
#: lib/cannery_web/live/range_live/index.ex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo unstaged succesfully"
msgstr "Groupe de munition désélectionner avec succès"
#: lib/cannery_web/live/pack_live/form_component.ex:141
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo updated successfully"
@ -303,3 +293,8 @@ msgstr "Êtes-vous certain·e de supprimer linvitation pour %{name}?"
#, elixir-autogen, elixir-format, fuzzy
msgid "Are you sure you want to make %{invite_name} unlimited?"
msgstr "Êtes-vous certain·e de vouloir rendre %{name} illimité?"
#: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Container unstaged succesfully"
msgstr ""

View File

@ -142,7 +142,7 @@ msgstr ""
msgid "Send instructions to reset password"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:65
#: lib/cannery_web/live/container_live/show.html.heex:73
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr ""
@ -152,19 +152,14 @@ msgstr ""
msgid "Add"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage ammo"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:90
#: lib/cannery_web/live/range_live/index.html.heex:65
#: lib/cannery_web/live/pack_live/index.html.heex:116
#: lib/cannery_web/live/pack_live/show.html.heex:84
#: lib/cannery_web/live/range_live/index.html.heex:54
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr ""
@ -210,8 +205,8 @@ msgid "View in Catalog"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:77
#: lib/cannery_web/live/pack_live/index.html.heex:138
#: lib/cannery_web/live/pack_live/show.html.heex:86
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:80
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -221,14 +216,12 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:82
#: lib/cannery_web/live/range_live/index.html.heex:61
#: lib/cannery_web/live/container_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Stage for range"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:81
#: lib/cannery_web/live/range_live/index.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Unstage from range"
msgstr ""
@ -238,8 +231,8 @@ msgstr ""
msgid "Export Data as JSON"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87
#: lib/cannery_web/live/container_live/index.html.heex:145
#: lib/cannery_web/live/container_live/index.html.heex:101
#: lib/cannery_web/live/container_live/index.html.heex:159
#, elixir-autogen, elixir-format
msgid "Clone %{container_name}"
msgstr ""
@ -249,8 +242,8 @@ msgstr ""
msgid "Copy invite link for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:104
#: lib/cannery_web/live/container_live/index.html.heex:162
#: lib/cannery_web/live/container_live/index.html.heex:118
#: lib/cannery_web/live/container_live/index.html.heex:176
#: lib/cannery_web/live/container_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Delete %{container_name}"
@ -266,8 +259,8 @@ msgstr ""
msgid "Delete invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77
#: lib/cannery_web/live/container_live/index.html.heex:135
#: lib/cannery_web/live/container_live/index.html.heex:91
#: lib/cannery_web/live/container_live/index.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:35
#, elixir-autogen, elixir-format
msgid "Edit %{container_name}"
@ -283,56 +276,56 @@ msgstr ""
msgid "Edit invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:120
#: lib/cannery_web/live/container_live/index.html.heex:69
#: lib/cannery_web/live/range_live/index.html.heex:35
#, 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:124
#: lib/cannery_web/live/container_live/index.html.heex:79
#: lib/cannery_web/live/container_live/index.html.heex:138
#, elixir-autogen, elixir-format
msgid "Tag %{container_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:119
#: lib/cannery_web/live/container_live/index.html.heex:68
#: lib/cannery_web/live/range_live/index.html.heex:34
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:172
#: lib/cannery_web/live/pack_live/index.html.heex:161
#, elixir-autogen, elixir-format, fuzzy
msgid "Clone pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:187
#: lib/cannery_web/live/pack_live/index.html.heex:176
#: lib/cannery_web/live/pack_live/show.html.heex:71
#, elixir-autogen, elixir-format, fuzzy
msgid "Delete pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:160
#: lib/cannery_web/live/pack_live/index.html.heex:149
#: lib/cannery_web/live/pack_live/show.html.heex:59
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/container_live/show.html.heex:147
#: lib/cannery_web/live/pack_live/index.html.heex:137
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format, fuzzy
msgid "View pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:192
#: lib/cannery_web/live/pack_live/show.ex:149
#: lib/cannery_web/live/range_live/index.html.heex:181
#, elixir-autogen, elixir-format, fuzzy
msgid "Delete shot record of %{shot_record_count} shots"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:144
#: lib/cannery_web/live/range_live/index.html.heex:175
#: lib/cannery_web/live/pack_live/show.ex:134
#: lib/cannery_web/live/range_live/index.html.heex:164
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit shot record of %{shot_record_count} shots"
msgstr ""
@ -368,3 +361,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "add a type first"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage containers"
msgstr ""

View File

@ -115,7 +115,7 @@ msgstr ""
msgid "Count:"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/components/container_table_component.ex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
@ -187,7 +187,7 @@ msgstr ""
msgid "Keep me logged in for 60 days"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/container_table_component.ex:51
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
@ -222,7 +222,7 @@ msgstr ""
msgid "My cool ammo can"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:45
#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/type_table_component.ex:152
#: lib/cannery_web/live/container_live/form_component.html.heex:21
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
@ -279,7 +279,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
msgid "Notes"
@ -350,12 +350,12 @@ msgstr ""
msgid "Steel"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:100
#: lib/cannery_web/live/pack_live/show.html.heex:94
#, elixir-autogen, elixir-format
msgid "Stored in"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:66
#: lib/cannery_web/components/container_table_component.ex:73
#: lib/cannery_web/components/core_components/topbar.html.heex:28
#: lib/cannery_web/live/tag_live/index.ex:43
#: lib/cannery_web/live/tag_live/index.ex:53
@ -385,7 +385,7 @@ msgstr ""
msgid "Tracer"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:40
@ -415,15 +415,16 @@ msgstr ""
msgid "Your data stays with you, period"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:68
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:77
#: lib/cannery_web/components/core_components/topbar.html.heex:48
#: lib/cannery_web/components/pack_table_component.ex:80
#: lib/cannery_web/live/range_live/index.ex:75
#: lib/cannery_web/live/range_live/index.ex:85
#: lib/cannery_web/live/range_live/index.ex:76
#: lib/cannery_web/live/range_live/index.ex:86
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@ -435,7 +436,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/pack_live/show.ex:81
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
@ -446,26 +447,21 @@ msgstr ""
msgid "Shots fired"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No ammo staged"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
#: lib/cannery_web/live/pack_live/index.ex:35
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:75
#: lib/cannery_web/live/range_live/index.html.heex:159
#: lib/cannery_web/live/range_live/index.html.heex:64
#: lib/cannery_web/live/range_live/index.html.heex:148
#, elixir-autogen, elixir-format
msgid "No shots recorded"
msgstr ""
#: lib/cannery_web/components/shot_record_table_component.ex:45
#: lib/cannery_web/live/pack_live/show.ex:89
#: lib/cannery_web/live/range_live/index.html.heex:89
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.html.heex:78
#, elixir-autogen, elixir-format
msgid "Rounds shot"
msgstr ""
@ -480,7 +476,7 @@ msgstr ""
msgid "No other containers"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:80
#: lib/cannery_web/live/range_live/index.html.heex:69
#, elixir-autogen, elixir-format
msgid "Shot log"
msgstr ""
@ -488,7 +484,7 @@ msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
#: lib/cannery_web/components/pack_table_component.ex:181
#: lib/cannery_web/components/pack_table_component.ex:264
#: lib/cannery_web/components/pack_table_component.ex:263
#: lib/cannery_web/components/type_table_component.ex:273
#: lib/cannery_web/live/pack_live/show.html.heex:37
#: lib/cannery_web/live/pack_live/show.html.heex:42
@ -561,13 +557,13 @@ msgid "Reconnecting..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:28
#: lib/cannery_web/live/container_live/show.ex:118
#: lib/cannery_web/live/container_live/show.ex:130
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:63
#: lib/cannery_web/live/container_live/show.ex:119
#: lib/cannery_web/live/container_live/show.ex:131
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
@ -580,7 +576,7 @@ msgid "Rounds:"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:178
#: lib/cannery_web/components/pack_table_component.ex:260
#: lib/cannery_web/components/pack_table_component.ex:259
#: lib/cannery_web/components/type_table_component.ex:272
#: lib/cannery_web/live/type_live/show.html.heex:154
#, elixir-autogen, elixir-format
@ -612,7 +608,7 @@ msgstr ""
msgid "Percentage left:"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:113
#: lib/cannery_web/live/pack_live/show.html.heex:107
#, elixir-autogen, elixir-format
msgid "Rounds used"
msgstr ""
@ -643,8 +639,8 @@ msgid "Reset your password"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:40
#: lib/cannery_web/live/range_live/index.ex:51
#: lib/cannery_web/live/range_live/index.ex:67
#: lib/cannery_web/live/range_live/index.ex:52
#: lib/cannery_web/live/range_live/index.ex:68
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr ""
@ -702,7 +698,7 @@ msgstr ""
msgid "Move Ammo"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/container_live/show.html.heex:125
#, elixir-autogen, elixir-format
msgid "No ammo in this container"
msgstr ""
@ -712,7 +708,7 @@ msgstr ""
msgid "Show Ammo"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/show.html.heex:99
#, elixir-autogen, elixir-format
msgid "This ammo is not in a container"
msgstr ""
@ -752,31 +748,31 @@ msgstr ""
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:219
#: lib/cannery_web/components/pack_table_component.ex:218
#: lib/cannery_web/live/pack_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:207
#: lib/cannery_web/live/range_live/index.ex:215
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot: %{count}"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:64
#: lib/cannery_web/components/container_table_component.ex:68
#: lib/cannery_web/components/type_table_component.ex:122
#, elixir-autogen, elixir-format, fuzzy
msgid "Packs"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:65
#: lib/cannery_web/components/container_table_component.ex:69
#: lib/cannery_web/components/type_table_component.ex:143
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:109
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/type_live/show.html.heex:170
#, elixir-autogen, elixir-format
msgid "View as table"
@ -822,7 +818,7 @@ msgstr ""
msgid "Used rounds:"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:80
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr ""
@ -929,7 +925,7 @@ msgid "Average CPR"
msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
#: lib/cannery_web/components/pack_table_component.ex:268
#: lib/cannery_web/components/pack_table_component.ex:267
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
@ -1011,7 +1007,7 @@ msgstr ""
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:135
#: lib/cannery_web/live/range_live/index.html.heex:124
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1144,12 +1140,12 @@ msgstr ""
msgid "Really great weather"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/container_table_component.ex:74
#: lib/cannery_web/components/move_pack_component.ex:67
#: lib/cannery_web/components/pack_table_component.ex:62
#: lib/cannery_web/components/shot_record_table_component.ex:48
#: lib/cannery_web/components/type_table_component.ex:99
#: lib/cannery_web/live/pack_live/show.ex:92
#: lib/cannery_web/live/pack_live/show.ex:82
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
@ -1175,9 +1171,9 @@ msgstr ""
msgid "Close modal"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/index.html.heex:58
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:103
#: lib/cannery_web/live/type_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "All"
@ -1258,10 +1254,10 @@ msgstr ""
msgid "None specified"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:100
#: lib/cannery_web/live/container_live/show.html.heex:108
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
#: lib/cannery_web/live/pack_live/index.html.heex:61
#: lib/cannery_web/live/range_live/index.html.heex:117
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/type_live/form_component.html.heex:28
#: lib/cannery_web/live/type_live/index.html.heex:40
#: lib/cannery_web/live/type_live/show.html.heex:56
@ -1284,10 +1280,10 @@ msgstr ""
msgid "Projectile"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:98
#: lib/cannery_web/live/container_live/show.html.heex:106
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
#: lib/cannery_web/live/pack_live/index.html.heex:59
#: lib/cannery_web/live/range_live/index.html.heex:115
#: lib/cannery_web/live/range_live/index.html.heex:104
#: lib/cannery_web/live/type_live/form_component.html.heex:26
#: lib/cannery_web/live/type_live/index.html.heex:38
#: lib/cannery_web/live/type_live/show.html.heex:54
@ -1339,10 +1335,10 @@ msgstr ""
msgid "Shot type:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/container_live/show.html.heex:107
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
#: lib/cannery_web/live/pack_live/index.html.heex:60
#: lib/cannery_web/live/range_live/index.html.heex:116
#: lib/cannery_web/live/range_live/index.html.heex:105
#: lib/cannery_web/live/type_live/form_component.html.heex:27
#: lib/cannery_web/live/type_live/index.html.heex:39
#: lib/cannery_web/live/type_live/show.html.heex:52
@ -1384,10 +1380,10 @@ msgid "Wadding:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:149
#: lib/cannery_web/live/container_live/show.html.heex:91
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#: lib/cannery_web/live/pack_live/index.html.heex:50
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/range_live/index.html.heex:95
#: lib/cannery_web/live/type_live/form_component.html.heex:21
#: lib/cannery_web/live/type_live/index.html.heex:29
#: lib/cannery_web/live/type_live/show.html.heex:46
@ -1407,7 +1403,7 @@ msgid "Used up!"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:41
#: lib/cannery_web/live/range_live/index.ex:59
#: lib/cannery_web/live/range_live/index.ex:60
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit Shot Record"
msgstr ""
@ -1446,7 +1442,12 @@ msgstr ""
msgid "Any"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:149
#: lib/cannery_web/live/range_live/index.html.heex:138
#, elixir-autogen, elixir-format, fuzzy
msgid "Dates"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr ""

View File

@ -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:222
#: lib/cannery/containers.ex:234
#, elixir-autogen, elixir-format
msgid "Container must be empty before deleting"
msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh"
@ -168,7 +168,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:94
#: lib/cannery_web/live/range_live/index.html.heex:83
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
@ -214,12 +214,12 @@ msgstr ""
msgid "You must log in to access this page."
msgstr ""
#: lib/cannery/ammo/pack.ex:98
#: lib/cannery/ammo/pack.ex:101
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid container"
msgstr ""
#: lib/cannery/ammo/pack.ex:96
#: lib/cannery/ammo/pack.ex:99
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid type"
msgstr ""

View File

@ -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:157
#: lib/cannery_web/live/container_live/index.html.heex:113
#: lib/cannery_web/live/container_live/index.html.heex:171
#: lib/cannery_web/live/container_live/show.html.heex:45
#: lib/cannery_web/live/tag_live/index.html.heex:63
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:185
#: lib/cannery_web/live/pack_live/index.html.heex:174
#: lib/cannery_web/live/pack_live/show.html.heex:69
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -161,19 +161,14 @@ msgstr ""
msgid "Shots recorded successfully"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:57
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unstage this ammo?"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:157
#: lib/cannery_web/live/range_live/index.html.heex:189
#: lib/cannery_web/live/pack_live/show.ex:147
#: lib/cannery_web/live/range_live/index.html.heex:178
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.ex:98
#: lib/cannery_web/live/pack_live/show.ex:69
#: lib/cannery_web/live/range_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
msgstr ""
@ -230,11 +225,6 @@ msgstr ""
msgid "Ammo deleted succesfully"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:111
#, elixir-autogen, elixir-format
msgid "Ammo unstaged succesfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:141
#, elixir-autogen, elixir-format
msgid "Ammo updated successfully"
@ -295,3 +285,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Are you sure you want to make %{invite_name} unlimited?"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Container unstaged succesfully"
msgstr ""

View File

@ -142,7 +142,7 @@ msgstr ""
msgid "Send instructions to reset password"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:65
#: lib/cannery_web/live/container_live/show.html.heex:73
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr ""
@ -152,19 +152,14 @@ msgstr ""
msgid "Add"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage ammo"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:90
#: lib/cannery_web/live/range_live/index.html.heex:65
#: lib/cannery_web/live/pack_live/index.html.heex:116
#: lib/cannery_web/live/pack_live/show.html.heex:84
#: lib/cannery_web/live/range_live/index.html.heex:54
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr ""
@ -210,8 +205,8 @@ msgid "View in Catalog"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:77
#: lib/cannery_web/live/pack_live/index.html.heex:138
#: lib/cannery_web/live/pack_live/show.html.heex:86
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:80
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -221,14 +216,12 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:82
#: lib/cannery_web/live/range_live/index.html.heex:61
#: lib/cannery_web/live/container_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Stage for range"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:81
#: lib/cannery_web/live/range_live/index.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Unstage from range"
msgstr ""
@ -238,8 +231,8 @@ msgstr ""
msgid "Export Data as JSON"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87
#: lib/cannery_web/live/container_live/index.html.heex:145
#: lib/cannery_web/live/container_live/index.html.heex:101
#: lib/cannery_web/live/container_live/index.html.heex:159
#, elixir-autogen, elixir-format
msgid "Clone %{container_name}"
msgstr ""
@ -249,8 +242,8 @@ msgstr ""
msgid "Copy invite link for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:104
#: lib/cannery_web/live/container_live/index.html.heex:162
#: lib/cannery_web/live/container_live/index.html.heex:118
#: lib/cannery_web/live/container_live/index.html.heex:176
#: lib/cannery_web/live/container_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Delete %{container_name}"
@ -266,8 +259,8 @@ msgstr ""
msgid "Delete invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77
#: lib/cannery_web/live/container_live/index.html.heex:135
#: lib/cannery_web/live/container_live/index.html.heex:91
#: lib/cannery_web/live/container_live/index.html.heex:149
#: lib/cannery_web/live/container_live/show.html.heex:35
#, elixir-autogen, elixir-format
msgid "Edit %{container_name}"
@ -283,56 +276,56 @@ msgstr ""
msgid "Edit invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:120
#: lib/cannery_web/live/container_live/index.html.heex:69
#: lib/cannery_web/live/range_live/index.html.heex:35
#, 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:124
#: lib/cannery_web/live/container_live/index.html.heex:79
#: lib/cannery_web/live/container_live/index.html.heex:138
#, elixir-autogen, elixir-format
msgid "Tag %{container_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:119
#: lib/cannery_web/live/container_live/index.html.heex:68
#: lib/cannery_web/live/range_live/index.html.heex:34
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:172
#: lib/cannery_web/live/pack_live/index.html.heex:161
#, elixir-autogen, elixir-format
msgid "Clone pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:187
#: lib/cannery_web/live/pack_live/index.html.heex:176
#: lib/cannery_web/live/pack_live/show.html.heex:71
#, elixir-autogen, elixir-format
msgid "Delete pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:160
#: lib/cannery_web/live/pack_live/index.html.heex:149
#: lib/cannery_web/live/pack_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/container_live/show.html.heex:147
#: lib/cannery_web/live/pack_live/index.html.heex:137
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format
msgid "View pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:192
#: lib/cannery_web/live/pack_live/show.ex:149
#: lib/cannery_web/live/range_live/index.html.heex:181
#, elixir-autogen, elixir-format
msgid "Delete shot record of %{shot_record_count} shots"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:144
#: lib/cannery_web/live/range_live/index.html.heex:175
#: lib/cannery_web/live/pack_live/show.ex:134
#: lib/cannery_web/live/range_live/index.html.heex:164
#, elixir-autogen, elixir-format
msgid "Edit shot record of %{shot_record_count} shots"
msgstr ""
@ -368,3 +361,8 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "add a type first"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage containers"
msgstr ""

View File

@ -124,7 +124,7 @@ msgstr ""
msgid "Count:"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/components/container_table_component.ex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
@ -196,7 +196,7 @@ msgstr ""
msgid "Keep me logged in for 60 days"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/container_table_component.ex:51
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
@ -231,7 +231,7 @@ msgstr ""
msgid "My cool ammo can"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:45
#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/type_table_component.ex:152
#: lib/cannery_web/live/container_live/form_component.html.heex:21
#: lib/cannery_web/live/invite_live/form_component.html.heex:21
@ -288,7 +288,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/pack_live/show.ex:80
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
msgid "Notes"
@ -359,12 +359,12 @@ msgstr ""
msgid "Steel"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:100
#: lib/cannery_web/live/pack_live/show.html.heex:94
#, elixir-autogen, elixir-format
msgid "Stored in"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:66
#: lib/cannery_web/components/container_table_component.ex:73
#: lib/cannery_web/components/core_components/topbar.html.heex:28
#: lib/cannery_web/live/tag_live/index.ex:43
#: lib/cannery_web/live/tag_live/index.ex:53
@ -394,7 +394,7 @@ msgstr ""
msgid "Tracer"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:40
@ -424,15 +424,16 @@ msgstr ""
msgid "Your data stays with you, period"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:60
#: lib/cannery_web/live/container_live/show.html.heex:68
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:77
#: lib/cannery_web/components/core_components/topbar.html.heex:48
#: lib/cannery_web/components/pack_table_component.ex:80
#: lib/cannery_web/live/range_live/index.ex:75
#: lib/cannery_web/live/range_live/index.ex:85
#: lib/cannery_web/live/range_live/index.ex:76
#: lib/cannery_web/live/range_live/index.ex:86
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@ -444,7 +445,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/pack_live/show.ex:81
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
@ -455,26 +456,21 @@ msgstr ""
msgid "Shots fired"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No ammo staged"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:3
#: lib/cannery_web/live/pack_live/index.ex:35
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:75
#: lib/cannery_web/live/range_live/index.html.heex:159
#: lib/cannery_web/live/range_live/index.html.heex:64
#: lib/cannery_web/live/range_live/index.html.heex:148
#, elixir-autogen, elixir-format
msgid "No shots recorded"
msgstr ""
#: lib/cannery_web/components/shot_record_table_component.ex:45
#: lib/cannery_web/live/pack_live/show.ex:89
#: lib/cannery_web/live/range_live/index.html.heex:89
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.html.heex:78
#, elixir-autogen, elixir-format
msgid "Rounds shot"
msgstr ""
@ -489,7 +485,7 @@ msgstr ""
msgid "No other containers"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:80
#: lib/cannery_web/live/range_live/index.html.heex:69
#, elixir-autogen, elixir-format
msgid "Shot log"
msgstr ""
@ -497,7 +493,7 @@ msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:42
#: lib/cannery_web/components/core_components/pack_card.html.heex:47
#: lib/cannery_web/components/pack_table_component.ex:181
#: lib/cannery_web/components/pack_table_component.ex:264
#: lib/cannery_web/components/pack_table_component.ex:263
#: lib/cannery_web/components/type_table_component.ex:273
#: lib/cannery_web/live/pack_live/show.html.heex:37
#: lib/cannery_web/live/pack_live/show.html.heex:42
@ -570,13 +566,13 @@ msgid "Reconnecting..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:28
#: lib/cannery_web/live/container_live/show.ex:118
#: lib/cannery_web/live/container_live/show.ex:130
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:63
#: lib/cannery_web/live/container_live/show.ex:119
#: lib/cannery_web/live/container_live/show.ex:131
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
@ -589,7 +585,7 @@ msgid "Rounds:"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:178
#: lib/cannery_web/components/pack_table_component.ex:260
#: lib/cannery_web/components/pack_table_component.ex:259
#: lib/cannery_web/components/type_table_component.ex:272
#: lib/cannery_web/live/type_live/show.html.heex:154
#, elixir-autogen, elixir-format
@ -621,7 +617,7 @@ msgstr ""
msgid "Percentage left:"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:113
#: lib/cannery_web/live/pack_live/show.html.heex:107
#, elixir-autogen, elixir-format
msgid "Rounds used"
msgstr ""
@ -652,8 +648,8 @@ msgid "Reset your password"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:40
#: lib/cannery_web/live/range_live/index.ex:51
#: lib/cannery_web/live/range_live/index.ex:67
#: lib/cannery_web/live/range_live/index.ex:52
#: lib/cannery_web/live/range_live/index.ex:68
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr ""
@ -711,7 +707,7 @@ msgstr ""
msgid "Move Ammo"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/container_live/show.html.heex:125
#, elixir-autogen, elixir-format
msgid "No ammo in this container"
msgstr ""
@ -721,7 +717,7 @@ msgstr ""
msgid "Show Ammo"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/show.html.heex:99
#, elixir-autogen, elixir-format
msgid "This ammo is not in a container"
msgstr ""
@ -761,31 +757,31 @@ msgstr ""
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:219
#: lib/cannery_web/components/pack_table_component.ex:218
#: lib/cannery_web/live/pack_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:207
#: lib/cannery_web/live/range_live/index.ex:215
#, elixir-autogen, elixir-format
msgid "Rounds shot: %{count}"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:64
#: lib/cannery_web/components/container_table_component.ex:68
#: lib/cannery_web/components/type_table_component.ex:122
#, elixir-autogen, elixir-format
msgid "Packs"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:65
#: lib/cannery_web/components/container_table_component.ex:69
#: lib/cannery_web/components/type_table_component.ex:143
#, elixir-autogen, elixir-format
msgid "Rounds"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:40
#: lib/cannery_web/live/container_live/show.html.heex:109
#: lib/cannery_web/live/container_live/show.html.heex:117
#: lib/cannery_web/live/type_live/show.html.heex:170
#, elixir-autogen, elixir-format
msgid "View as table"
@ -831,7 +827,7 @@ msgstr ""
msgid "Used rounds:"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:80
#, elixir-autogen, elixir-format
msgid "Rounds shot chart"
msgstr ""
@ -938,7 +934,7 @@ msgid "Average CPR"
msgstr ""
#: lib/cannery_web/components/core_components/pack_card.html.heex:17
#: lib/cannery_web/components/pack_table_component.ex:268
#: lib/cannery_web/components/pack_table_component.ex:267
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
@ -1020,7 +1016,7 @@ msgstr ""
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:135
#: lib/cannery_web/live/range_live/index.html.heex:124
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1144,12 +1140,12 @@ msgstr ""
msgid "Really great weather"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:67
#: lib/cannery_web/components/container_table_component.ex:74
#: lib/cannery_web/components/move_pack_component.ex:67
#: lib/cannery_web/components/pack_table_component.ex:62
#: lib/cannery_web/components/shot_record_table_component.ex:48
#: lib/cannery_web/components/type_table_component.ex:99
#: lib/cannery_web/live/pack_live/show.ex:92
#: lib/cannery_web/live/pack_live/show.ex:82
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
@ -1175,9 +1171,9 @@ msgstr ""
msgid "Close modal"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/pack_live/index.html.heex:58
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:103
#: lib/cannery_web/live/type_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "All"
@ -1258,10 +1254,10 @@ msgstr ""
msgid "None specified"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:100
#: lib/cannery_web/live/container_live/show.html.heex:108
#: lib/cannery_web/live/pack_live/form_component.html.heex:30
#: lib/cannery_web/live/pack_live/index.html.heex:61
#: lib/cannery_web/live/range_live/index.html.heex:117
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/type_live/form_component.html.heex:28
#: lib/cannery_web/live/type_live/index.html.heex:40
#: lib/cannery_web/live/type_live/show.html.heex:56
@ -1284,10 +1280,10 @@ msgstr ""
msgid "Projectile"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:98
#: lib/cannery_web/live/container_live/show.html.heex:106
#: lib/cannery_web/live/pack_live/form_component.html.heex:28
#: lib/cannery_web/live/pack_live/index.html.heex:59
#: lib/cannery_web/live/range_live/index.html.heex:115
#: lib/cannery_web/live/range_live/index.html.heex:104
#: lib/cannery_web/live/type_live/form_component.html.heex:26
#: lib/cannery_web/live/type_live/index.html.heex:38
#: lib/cannery_web/live/type_live/show.html.heex:54
@ -1339,10 +1335,10 @@ msgstr ""
msgid "Shot type:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/container_live/show.html.heex:107
#: lib/cannery_web/live/pack_live/form_component.html.heex:29
#: lib/cannery_web/live/pack_live/index.html.heex:60
#: lib/cannery_web/live/range_live/index.html.heex:116
#: lib/cannery_web/live/range_live/index.html.heex:105
#: lib/cannery_web/live/type_live/form_component.html.heex:27
#: lib/cannery_web/live/type_live/index.html.heex:39
#: lib/cannery_web/live/type_live/show.html.heex:52
@ -1384,10 +1380,10 @@ msgid "Wadding:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:149
#: lib/cannery_web/live/container_live/show.html.heex:91
#: lib/cannery_web/live/container_live/show.html.heex:99
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#: lib/cannery_web/live/pack_live/index.html.heex:50
#: lib/cannery_web/live/range_live/index.html.heex:106
#: lib/cannery_web/live/range_live/index.html.heex:95
#: lib/cannery_web/live/type_live/form_component.html.heex:21
#: lib/cannery_web/live/type_live/index.html.heex:29
#: lib/cannery_web/live/type_live/show.html.heex:46
@ -1407,7 +1403,7 @@ msgid "Used up!"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:41
#: lib/cannery_web/live/range_live/index.ex:59
#: lib/cannery_web/live/range_live/index.ex:60
#, elixir-autogen, elixir-format
msgid "Edit Shot Record"
msgstr ""
@ -1446,7 +1442,12 @@ msgstr ""
msgid "Any"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:149
#: lib/cannery_web/live/range_live/index.html.heex:138
#, elixir-autogen, elixir-format, fuzzy
msgid "Dates"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No containers staged"
msgstr ""

View File

@ -21,7 +21,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:222
#: lib/cannery/containers.ex:234
#, elixir-autogen, elixir-format
msgid "Container must be empty before deleting"
msgstr ""
@ -163,7 +163,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:94
#: lib/cannery_web/live/range_live/index.html.heex:83
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
@ -209,12 +209,12 @@ msgstr ""
msgid "You must log in to access this page."
msgstr ""
#: lib/cannery/ammo/pack.ex:98
#: lib/cannery/ammo/pack.ex:101
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid container"
msgstr ""
#: lib/cannery/ammo/pack.ex:96
#: lib/cannery/ammo/pack.ex:99
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid type"
msgstr ""

View File

@ -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:157
#: lib/cannery_web/live/container_live/index.html.heex:113
#: lib/cannery_web/live/container_live/index.html.heex:171
#: lib/cannery_web/live/container_live/show.html.heex:45
#: lib/cannery_web/live/tag_live/index.html.heex:63
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:185
#: lib/cannery_web/live/pack_live/index.html.heex:174
#: lib/cannery_web/live/pack_live/show.html.heex:69
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -161,19 +161,14 @@ msgstr ""
msgid "Shots recorded successfully"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:57
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unstage this ammo?"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:157
#: lib/cannery_web/live/range_live/index.html.heex:189
#: lib/cannery_web/live/pack_live/show.ex:147
#: lib/cannery_web/live/range_live/index.html.heex:178
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.ex:98
#: lib/cannery_web/live/pack_live/show.ex:69
#: lib/cannery_web/live/range_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
msgstr ""
@ -230,11 +225,6 @@ msgstr ""
msgid "Ammo deleted succesfully"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:111
#, elixir-autogen, elixir-format
msgid "Ammo unstaged succesfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:141
#, elixir-autogen, elixir-format
msgid "Ammo updated successfully"
@ -292,3 +282,8 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Are you sure you want to make %{invite_name} unlimited?"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Container unstaged succesfully"
msgstr ""

View File

@ -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:157
#: lib/cannery_web/live/container_live/index.html.heex:113
#: lib/cannery_web/live/container_live/index.html.heex:171
#: lib/cannery_web/live/container_live/show.html.heex:45
#: lib/cannery_web/live/tag_live/index.html.heex:63
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:185
#: lib/cannery_web/live/pack_live/index.html.heex:174
#: lib/cannery_web/live/pack_live/show.html.heex:69
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -150,19 +150,14 @@ msgstr ""
msgid "Shots recorded successfully"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:57
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unstage this ammo?"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:157
#: lib/cannery_web/live/range_live/index.html.heex:189
#: lib/cannery_web/live/pack_live/show.ex:147
#: lib/cannery_web/live/range_live/index.html.heex:178
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.ex:98
#: lib/cannery_web/live/pack_live/show.ex:69
#: lib/cannery_web/live/range_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
msgstr ""
@ -219,11 +214,6 @@ msgstr ""
msgid "Ammo deleted succesfully"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:111
#, elixir-autogen, elixir-format
msgid "Ammo unstaged succesfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:141
#, elixir-autogen, elixir-format
msgid "Ammo updated successfully"
@ -281,3 +271,8 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Are you sure you want to make %{invite_name} unlimited?"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Container unstaged succesfully"
msgstr ""

View File

@ -0,0 +1,13 @@
defmodule Cannery.Repo.Migrations.MoveStagedToContainers do
use Ecto.Migration
def change do
alter table(:packs) do
remove :staged
end
alter table(:containers) do
add :staged, :boolean, default: false
end
end
end

View File

@ -860,11 +860,13 @@ defmodule Cannery.AmmoTest do
test "list_packs/2 returns all relevant packs including staged", %{
type: type,
container: container,
pack: unstaged_pack,
current_user: current_user
} do
{1, [staged_pack]} = pack_fixture(%{staged: true}, type, container, current_user)
staged_container =
container_fixture(%{name: "fantastic container", staged: true}, current_user)
{1, [staged_pack]} = pack_fixture(type, staged_container, current_user)
assert Ammo.list_packs(current_user, staged: false) == [unstaged_pack]
assert Ammo.list_packs(current_user, staged: true) == [staged_pack]

View File

@ -50,7 +50,6 @@ defmodule CanneryWeb.ExportControllerTest do
"notes" => pack.notes,
"price_paid" => pack.price_paid,
"lot_number" => pack.lot_number,
"staged" => pack.staged,
"used_count" => ActivityLog.get_used_count(current_user, pack_id: pack.id),
"original_count" => pack |> Ammo.get_original_count(current_user),
"cpr" => pack |> Ammo.get_cpr(current_user),
@ -103,6 +102,7 @@ defmodule CanneryWeb.ExportControllerTest do
"id" => container.id,
"location" => container.location,
"name" => container.name,
"staged" => container.staged,
"tags" => [
%{
"id" => tag.id,