Compare commits

..

No commits in common. "20a23112298c6f50a061757c29755e738a9738d2" and "09774e0aedc9e4538439b41bdb633f2ed934f854" have entirely different histories.

54 changed files with 981 additions and 1119 deletions

View File

@ -1,13 +1,3 @@
# v0.7.1
- Fix table component alignment and styling
- Fix toggle button styling
- Miscellanous code improvements
- Improve container index table
- Fix bug with ammo not updating after deleting shot group
- Replace ammo "added on" with "purchased on"
- Miscellaneous wording improvements
- Update translations
# v0.7.0
- Add shading to table component
- Fix chart to sum by day

View File

@ -74,7 +74,7 @@ defmodule Cannery.ActivityLog.ShotGroup do
|> cast(attrs, [:count, :notes, :date])
|> validate_number(:count, greater_than: 0)
|> validate_required([:count, :ammo_group_id, :user_id])
|> add_error(:invalid, dgettext("errors", "Please select a valid user and ammo pack"))
|> add_error(:invalid, dgettext("errors", "Please select a valid user and ammo group"))
end
defp validate_create_shot_group_count(changeset, %AmmoGroup{count: ammo_group_count}) do

View File

@ -30,7 +30,6 @@ defmodule Cannery.Ammo.AmmoGroup do
field :notes, :string
field :price_paid, :float
field :staged, :boolean, default: false
field :purchased_on, :date
belongs_to :ammo_type, AmmoType
belongs_to :container, Container
@ -47,7 +46,6 @@ defmodule Cannery.Ammo.AmmoGroup do
notes: String.t() | nil,
price_paid: float() | nil,
staged: boolean(),
purchased_on: Date.t(),
ammo_type: AmmoType.t() | nil,
ammo_type_id: AmmoType.id(),
container: Container.t() | nil,
@ -81,9 +79,9 @@ defmodule Cannery.Ammo.AmmoGroup do
|> change(ammo_type_id: ammo_type_id)
|> change(user_id: user_id)
|> change(container_id: container_id)
|> cast(attrs, [:count, :price_paid, :notes, :staged, :purchased_on])
|> cast(attrs, [:count, :price_paid, :notes, :staged])
|> validate_number(:count, greater_than: 0)
|> validate_required([:count, :staged, :purchased_on, :ammo_type_id, :container_id, :user_id])
|> validate_required([:count, :staged, :ammo_type_id, :container_id, :user_id])
end
@doc """
@ -101,10 +99,10 @@ defmodule Cannery.Ammo.AmmoGroup do
Changeset.t(t() | new_ammo_group())
def update_changeset(ammo_group, attrs, user) do
ammo_group
|> cast(attrs, [:count, :price_paid, :notes, :staged, :purchased_on, :container_id])
|> cast(attrs, [:count, :price_paid, :notes, :staged, :container_id])
|> validate_number(:count, greater_than_or_equal_to: 0)
|> validate_container_id(user)
|> validate_required([:count, :staged, :purchased_on, :container_id])
|> validate_required([:count, :staged, :container_id])
end
defp validate_container_id(changeset, user) do

View File

@ -42,7 +42,7 @@
) %>
<%= error_tag(f, :notes, "col-span-3") %>
<%= label(f, :date, gettext("Date"), class: "title text-lg text-primary-600") %>
<%= label(f, :date, gettext("Date (UTC)"), class: "title text-lg text-primary-600") %>
<%= date_input(f, :date,
class: "input input-primary col-span-2",
phx_update: "ignore",

View File

@ -54,13 +54,13 @@ defmodule CanneryWeb.Components.AmmoGroupCard do
<% end %>
<span class="rounded-lg title text-lg">
<%= gettext("Purchased on:") %>
<%= @ammo_group.purchased_on |> display_date() %>
<%= gettext("Added on:") %>
<%= @ammo_group.inserted_at |> display_datetime() %>
</span>
<%= if @ammo_group |> Ammo.get_last_used_shot_group() do %>
<%= if @ammo_group.count == 0 do %>
<span class="rounded-lg title text-lg">
<%= gettext("Last used on:") %>
<%= gettext("Used up on:") %>
<%= @ammo_group |> Ammo.get_last_used_shot_group() |> Map.get(:date) |> display_date() %>
</span>
<% end %>

View File

@ -13,6 +13,7 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
required(:id) => UUID.t(),
required(:current_user) => User.t(),
required(:ammo_groups) => [AmmoGroup.t()],
optional(:show_used) => boolean(),
optional(:ammo_type) => Rendered.t(),
optional(:range) => Rendered.t(),
optional(:container) => Rendered.t(),
@ -25,6 +26,7 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
socket =
socket
|> assign(assigns)
|> assign_new(:show_used, fn -> false end)
|> assign_new(:ammo_type, fn -> [] end)
|> assign_new(:range, fn -> [] end)
|> assign_new(:container, fn -> [] end)
@ -39,6 +41,7 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
assigns: %{
ammo_groups: ammo_groups,
current_user: current_user,
show_used: show_used,
ammo_type: ammo_type,
range: range,
container: container,
@ -53,10 +56,14 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
[%{label: nil, key: :actions, sortable: false}]
end
columns = [
%{label: gettext("Purchased on"), key: :purchased_on},
%{label: gettext("Last used on"), key: :used_up_on} | columns
]
columns =
if show_used do
[%{label: gettext("Used up on"), key: :used_up_on} | columns]
else
columns
end
columns = [%{label: gettext("Added on"), key: :added_on} | columns]
columns =
if container == [] do
@ -110,10 +117,10 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
@impl true
def render(assigns) do
~H"""
<div id={@id} class="w-full">
<div class="w-full">
<.live_component
module={CanneryWeb.Components.TableComponent}
id={"table-#{@id}"}
id={@id}
columns={@columns}
rows={@rows}
/>
@ -151,12 +158,12 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
defp get_value_for_key(:price_paid, %{price_paid: price_paid}, _additional_data),
do: gettext("$%{amount}", amount: price_paid |> :erlang.float_to_binary(decimals: 2))
defp get_value_for_key(:purchased_on, %{purchased_on: purchased_on}, _additional_data) do
assigns = %{purchased_on: purchased_on}
defp get_value_for_key(:added_on, %{inserted_at: inserted_at}, _additional_data) do
assigns = %{inserted_at: inserted_at}
{purchased_on,
{inserted_at,
~H"""
<%= @purchased_on |> display_date() %>
<%= @inserted_at |> display_datetime() %>
"""}
end
@ -171,11 +178,7 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
{last_shot_group_date,
~H"""
<%= if @last_shot_group_date do %>
<%= @last_shot_group_date |> display_date() %>
<% else %>
<%= gettext("Never used") %>
<% end %>
"""}
end

View File

@ -15,12 +15,9 @@ defmodule CanneryWeb.Components.InviteCard do
assigns = assigns |> assign_new(:code_actions, fn -> [] end)
~H"""
<div
id={"invite-#{@invite.id}"}
class="mx-4 my-2 px-8 py-4 flex flex-col justify-center items-center space-y-4
<div class="mx-4 my-2 px-8 py-4 flex flex-col justify-center items-center space-y-4
border border-gray-400 rounded-lg shadow-lg hover:shadow-md
transition-all duration-300 ease-in-out"
>
transition-all duration-300 ease-in-out">
<h1 class="title text-xl">
<%= @invite.name %>
</h1>

View File

@ -1,4 +1,4 @@
<div id={@id} class="w-full overflow-x-auto border border-gray-600 rounded-lg shadow-lg bg-white">
<div id={@id} class="w-full overflow-x-auto border border-gray-600 rounded-lg shadow-lg bg-black">
<table class="min-w-full table-auto text-center bg-white">
<thead class="border-b border-primary-600">
<tr>
@ -11,22 +11,21 @@
phx-value-sort-key={key}
phx-target={@myself}
>
<i class="w-0 float-right fas fa-sm fa-chevron-up opacity-0"></i>
<span class={if @last_sort_key == key, do: "underline"}><%= label %></span>
<span class="underline"><%= label %></span>
<%= if @last_sort_key == key do %>
<%= case @sort_mode do %>
<% :asc -> %>
<i class="w-0 float-right fas fa-sm fa-chevron-down"></i>
<i class="fas fa-sm fa-chevron-down"></i>
<% :desc -> %>
<i class="w-0 float-right fas fa-sm fa-chevron-up"></i>
<i class="fas fa-sm fa-chevron-up"></i>
<% end %>
<% else %>
<i class="w-0 float-right fas fa-sm fa-chevron-up opacity-0"></i>
<i class="fas fa-sm fa-chevron-up opacity-0"></i>
<% end %>
</span>
</th>
<% else %>
<th class={"p-2 cursor-not-allowed #{column[:class]}"}>
<th class={"p-2 #{column[:class]}"}>
<%= label %>
</th>
<% end %>

View File

@ -38,14 +38,6 @@
) %>
<%= error_tag(f, :price_paid, "col-span-3 text-center") %>
<%= label(f, :purchased_on, gettext("Purchased on"), class: "title text-lg text-primary-600") %>
<%= date_input(f, :purchased_on,
class: "input input-primary col-span-2",
phx_update: "ignore",
value: @changeset |> Changeset.get_field(:purchased_on) || Date.utc_today()
) %>
<%= error_tag(f, :purchased_on, "col-span-3 text-center") %>
<%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
<%= textarea(f, :notes,
class: "text-center col-span-2 input input-primary",

View File

@ -29,13 +29,13 @@ defmodule CanneryWeb.AmmoGroupLive.Index do
defp apply_action(%{assigns: %{current_user: current_user}} = socket, :move, %{"id" => id}) do
socket
|> assign(:page_title, gettext("Move ammo"))
|> assign(:page_title, gettext("Move Ammo group"))
|> assign(:ammo_group, Ammo.get_ammo_group!(id, current_user))
end
defp apply_action(%{assigns: %{current_user: current_user}} = socket, :edit, %{"id" => id}) do
socket
|> assign(:page_title, gettext("Edit ammo"))
|> assign(:page_title, gettext("Edit Ammo group"))
|> assign(:ammo_group, Ammo.get_ammo_group!(id, current_user))
end
@ -53,7 +53,7 @@ defmodule CanneryWeb.AmmoGroupLive.Index do
defp apply_action(socket, :index, _params) do
socket
|> assign(:page_title, gettext("Ammo"))
|> assign(:page_title, gettext("Ammo groups"))
|> assign(:ammo_group, nil)
end
@ -61,7 +61,7 @@ defmodule CanneryWeb.AmmoGroupLive.Index do
def handle_event("delete", %{"id" => id}, %{assigns: %{current_user: current_user}} = socket) do
Ammo.get_ammo_group!(id, current_user) |> Ammo.delete_ammo_group!(current_user)
prompt = dgettext("prompts", "Ammo deleted succesfully")
prompt = dgettext("prompts", "Ammo group deleted succesfully")
{:noreply, socket |> put_flash(:info, prompt) |> display_ammo_groups()}
end

View File

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

View File

@ -30,12 +30,7 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
@impl true
def handle_params(%{"id" => id}, _url, %{assigns: %{live_action: live_action}} = socket) do
socket =
socket
|> assign(page_title: page_title(live_action))
|> display_ammo_group(id)
{:noreply, socket}
{:noreply, socket |> assign(page_title: page_title(live_action)) |> display_ammo_group(id)}
end
defp page_title(:add_shot_group), do: gettext("Record Shots")
@ -74,14 +69,14 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
def handle_event(
"delete_shot_group",
%{"id" => id},
%{assigns: %{ammo_group: %{id: ammo_group_id}, current_user: current_user}} = socket
%{assigns: %{ammo_group: ammo_group, current_user: current_user}} = socket
) do
{:ok, _} =
ActivityLog.get_shot_group!(id, current_user)
|> ActivityLog.delete_shot_group(current_user)
prompt = dgettext("prompts", "Shot records deleted succesfully")
{:noreply, socket |> put_flash(:info, prompt) |> display_ammo_group(ammo_group_id)}
{:noreply, socket |> put_flash(:info, prompt) |> display_ammo_group(ammo_group)}
end
@spec display_ammo_group(Socket.t(), AmmoGroup.t() | AmmoGroup.id()) :: Socket.t()

View File

@ -27,8 +27,8 @@
<% end %>
<span class="rounded-lg title text-lg">
<%= gettext("Purchased on:") %>
<%= @ammo_group.purchased_on |> display_date() %>
<%= gettext("Added on:") %>
<%= @ammo_group.inserted_at |> display_datetime() %>
</span>
<%= if @ammo_group.price_paid do %>

View File

@ -5,7 +5,7 @@
<%= if @rows |> Enum.empty?() do %>
<h2 class="title text-xl text-primary-600">
<%= gettext("No Ammo types") %>
<%= gettext("No Ammo Types") %>
<%= display_emoji("😔") %>
</h2>

View File

@ -5,7 +5,7 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
use CanneryWeb, :live_view
import CanneryWeb.Components.AmmoGroupCard
alias Cannery.{Ammo, Ammo.AmmoType}
alias Cannery.Ammo
alias CanneryWeb.Endpoint
@fields_list [
@ -31,16 +31,17 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
]
@impl true
def mount(_params, _session, %{assigns: %{live_action: live_action}} = socket),
do: {:ok, socket |> assign(show_used: false, view_table: live_action == :table)}
def mount(_params, _session, socket),
do: {:ok, socket |> assign(show_used: false, view_table: false)}
@impl true
def handle_params(%{"id" => id}, _params, %{assigns: %{live_action: live_action}} = socket) do
socket =
socket
|> assign(view_table: live_action == :table)
|> display_ammo_type(id)
def handle_params(
%{"id" => id},
_params,
%{assigns: %{current_user: current_user, live_action: live_action}} = socket
) do
ammo_type = Ammo.get_ammo_type!(id, current_user)
socket = socket |> assign(view_table: live_action == :table) |> display_ammo_type(ammo_type)
{:noreply, socket}
end
@ -74,13 +75,13 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
do: Routes.ammo_type_show_path(Endpoint, :show, ammo_type),
else: Routes.ammo_type_show_path(Endpoint, :table, ammo_type)
{:noreply, socket |> push_patch(to: new_path)}
{:noreply, socket |> assign(view_table: !view_table) |> push_patch(to: new_path)}
end
defp display_ammo_type(
%{assigns: %{live_action: live_action, current_user: current_user, show_used: show_used}} =
socket,
%AmmoType{} = ammo_type
ammo_type
) do
fields_to_display =
@fields_list
@ -105,10 +106,6 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
)
end
defp display_ammo_type(%{assigns: %{current_user: current_user}} = socket, ammo_type_id) do
socket |> display_ammo_type(Ammo.get_ammo_type!(ammo_type_id, current_user))
end
defp display_ammo_type(%{assigns: %{ammo_type: ammo_type}} = socket) do
socket |> display_ammo_type(ammo_type)
end

View File

@ -173,6 +173,7 @@
id="ammo-type-show-table"
ammo_groups={@ammo_groups}
current_user={@current_user}
show_used={@show_used}
>
<:container :let={%{container: %{name: container_name} = container}}>
<.link

View File

@ -162,19 +162,6 @@ defmodule CanneryWeb.ContainerLive.Index do
end
@spec get_value_for_key(atom(), Container.t()) :: any()
defp get_value_for_key(:name, %{id: id, name: container_name}) do
assigns = %{id: id, container_name: container_name}
{container_name,
~H"""
<div class="flex flex-wrap justify-center items-center">
<.link navigate={Routes.container_show_path(Endpoint, :show, @id)} class="link">
<%= @container_name %>
</.link>
</div>
"""}
end
defp get_value_for_key(:packs, container) do
container |> Containers.get_container_ammo_group_count!()
end

View File

@ -11,8 +11,8 @@ defmodule CanneryWeb.ContainerLive.Show do
alias Phoenix.LiveView.Socket
@impl true
def mount(_params, _session, %{assigns: %{live_action: live_action}} = socket),
do: {:ok, socket |> assign(show_used: false, view_table: live_action == :table)}
def mount(_params, _session, socket),
do: {:ok, socket |> assign(show_used: false, view_table: false)}
@impl true
def handle_params(
@ -21,9 +21,7 @@ defmodule CanneryWeb.ContainerLive.Show do
%{assigns: %{current_user: current_user, live_action: live_action}} = socket
) do
socket =
socket
|> assign(view_table: live_action == :table)
|> render_container(id, current_user)
socket |> assign(view_table: live_action == :table) |> render_container(id, current_user)
{:noreply, socket}
end
@ -104,7 +102,7 @@ defmodule CanneryWeb.ContainerLive.Show do
do: Routes.container_show_path(Endpoint, :show, container),
else: Routes.container_show_path(Endpoint, :table, container)
{:noreply, socket |> push_patch(to: new_path)}
{:noreply, socket |> assign(view_table: !view_table) |> push_patch(to: new_path)}
end
@spec render_container(Socket.t(), Container.id(), User.t()) :: Socket.t()

View File

@ -24,20 +24,12 @@
<%= unless @ammo_groups |> Enum.empty?() do %>
<span class="rounded-lg title text-lg">
<%= if @show_used do %>
<%= gettext("Total packs:") %>
<% else %>
<%= gettext("Packs:") %>
<% end %>
<%= Enum.count(@ammo_groups) %>
</span>
<span class="rounded-lg title text-lg">
<%= if @show_used do %>
<%= gettext("Total rounds:") %>
<% else %>
<%= gettext("Rounds:") %>
<% end %>
<%= @container |> Containers.get_container_rounds!() %>
</span>
<% end %>
@ -115,7 +107,7 @@
<div class="w-full p-4">
<%= if @ammo_groups |> Enum.empty?() do %>
<h2 class="mx-4 title text-lg text-primary-600 text-center">
<h2 class="mx-4 title text-lg text-primary-600">
<%= gettext("No ammo in this container") %>
</h2>
<% else %>
@ -125,6 +117,7 @@
id="ammo-type-show-table"
ammo_groups={@ammo_groups}
current_user={@current_user}
show_used={@show_used}
>
<:ammo_type :let={%{name: ammo_type_name} = ammo_type}>
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="link">

View File

@ -7,15 +7,32 @@ defmodule CanneryWeb.HomeLive do
alias Cannery.Accounts
alias CanneryWeb.Endpoint
@version Mix.Project.config()[:version]
@impl true
def mount(_params, _session, socket) do
admins = Accounts.list_users_by_role(:admin)
socket = socket |> assign(page_title: gettext("Home"), admins: admins, version: @version)
socket = socket |> assign(page_title: "Home", query: "", results: %{}, admins: admins)
{:ok, socket}
end
@impl true
def handle_event("suggest", %{"q" => query}, socket) do
{:noreply, socket |> assign(results: search(query), query: query)}
end
@impl true
def handle_event("search", %{"q" => query}, socket) do
case search(query) do
%{^query => vsn} ->
{:noreply, redirect(socket, external: "https://hexdocs.pm/#{query}/#{vsn}")}
_no_query ->
{:noreply,
socket
|> put_flash(:error, "No dependencies found matching \"#{query}\"")
|> assign(results: %{}, query: query)}
end
end
@impl true
def render(assigns) do
~H"""
@ -121,9 +138,7 @@ defmodule CanneryWeb.HomeLive do
target="_blank"
rel="noopener noreferrer"
>
<p>
<%= @version %>
</p>
<p>0.7.0</p>
<i class="fas fa-md fa-info-circle"></i>
</.link>
</li>
@ -173,4 +188,16 @@ defmodule CanneryWeb.HomeLive do
</div>
"""
end
defp search(query) do
if not CanneryWeb.Endpoint.config(:code_reloader) do
raise "action disabled when not in development"
end
for {app, desc, vsn} <- Application.started_applications(),
app = to_string(app),
String.starts_with?(app, query) and not List.starts_with?(desc, ~c"ERTS"),
into: %{},
do: {app, vsn}
end
end

View File

@ -72,57 +72,10 @@ defmodule CanneryWeb.LiveHelpers do
"""
end
defp hide_modal(js \\ %JS{}) do
def hide_modal(js \\ %JS{}) do
js
|> JS.hide(to: "#modal", transition: "fade-out")
|> JS.hide(to: "#modal-bg", transition: "fade-out")
|> JS.hide(to: "#modal-content", transition: "fade-out-scale")
end
@doc """
A toggle button element that can be directed to a liveview or a
live_component's `handle_event/3`.
## Examples
<.toggle_button action="my_liveview_action" value={@some_value}>
<span>Toggle me!</span>
</.toggle_button>
<.toggle_button action="my_live_component_action" target={@myself} value={@some_value}>
<span>Whatever you want</span>
</.toggle_button>
"""
def toggle_button(assigns) do
assigns = assigns |> assign_new(:id, fn -> assigns.action end)
~H"""
<label for={@id} class="inline-flex relative items-center cursor-pointer">
<input
id={@id}
type="checkbox"
value={@value}
checked={@value}
class="sr-only peer"
data-qa={@id}
{
if assigns |> Map.has_key?(:target),
do: %{"phx-click" => @action, "phx-value-value" => @value, "phx-target" => @target},
else: %{"phx-click" => @action, "phx-value-value" => @value}
}
/>
<div class="w-11 h-6 bg-gray-300 rounded-full peer
peer-focus:ring-4 peer-focus:ring-teal-300 dark:peer-focus:ring-teal-800
peer-checked:bg-gray-600
peer-checked:after:translate-x-full peer-checked:after:border-white
after:content-[''] after:absolute after:top-1 after:left-[2px] after:bg-white after:border-gray-300
after:border after:rounded-full after:h-5 after:w-5
after:transition-all after:duration-250 after:ease-in-out
transition-colors duration-250 ease-in-out">
</div>
<span class="ml-3 text-sm font-medium text-gray-900 dark:text-gray-300">
<%= render_slot(@inner_block) %>
</span>
</label>
"""
end
end

View File

@ -33,7 +33,7 @@
) %>
<%= error_tag(f, :notes, "col-span-3") %>
<%= label(f, :date, gettext("Date"), class: "title text-lg text-primary-600") %>
<%= label(f, :date, gettext("Date (UTC)"), class: "title text-lg text-primary-600") %>
<%= date_input(f, :date, class: "input input-primary col-span-2") %>
<%= error_tag(f, :notes, "col-span-3") %>

View File

@ -76,6 +76,46 @@ defmodule CanneryWeb.ViewHelpers do
def display_emoji(other_emoji), do: other_emoji
@doc """
A toggle button element that can be directed to a liveview or a
live_component's `handle_event/3`.
## Examples
<.toggle_button action="my_liveview_action" value={@some_value}>
<span>Toggle me!</span>
</.toggle_button>
<.toggle_button action="my_live_component_action" target={@myself} value={@some_value}>
<span>Whatever you want</span>
</.toggle_button>
"""
def toggle_button(assigns) do
assigns = assigns |> assign_new(:id, fn -> assigns.action end)
~H"""
<label for={@id} class="inline-flex relative items-center cursor-pointer">
<input
id={@id}
type="checkbox"
value={@value}
checked={@value}
class="sr-only peer"
data-qa={@id}
{
if assigns |> Map.has_key?(:target),
do: %{"phx-click" => @action, "phx-value-value" => @value, "phx-target" => @target},
else: %{"phx-click" => @action, "phx-value-value" => @value}
}
/>
<div class="w-11 h-6 bg-gray-200 rounded-full peer dark:bg-gray-700 peer-focus:ring-4 peer-focus:ring-teal-300 dark:peer-focus:ring-teal-800 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-1 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-teal-600">
</div>
<span class="ml-3 text-sm font-medium text-gray-900 dark:text-gray-300">
<%= render_slot(@inner_block) %>
</span>
</label>
"""
end
@doc """
Get a random color in `#ffffff` hex format

View File

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

View File

@ -121,7 +121,7 @@ msgid "Reset password"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:53
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:73
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:156
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
@ -136,7 +136,7 @@ msgstr ""
msgid "Send instructions to reset password"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:80
#: lib/cannery_web/live/container_live/show.html.heex:72
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr ""
@ -156,7 +156,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:79
#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@ -188,7 +188,7 @@ msgstr ""
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#, elixir-autogen, elixir-format
msgid "Create"
msgstr ""

View File

@ -134,7 +134,7 @@ msgid "Reset password"
msgstr "Passwort zurücksetzen"
#: lib/cannery_web/components/add_shot_group_component.html.heex:53
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:73
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:156
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
@ -149,7 +149,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:80
#: lib/cannery_web/live/container_live/show.html.heex:72
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr "Warum fügen Sie keine hinzu?"
@ -169,7 +169,7 @@ msgstr "Munition markieren"
msgid "Why not get some ready to shoot?"
msgstr "Warum nicht einige für den Schießstand auswählen?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:79
#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@ -201,7 +201,7 @@ msgstr "In die Zwischenablage kopieren"
msgid "add a container first"
msgstr "Zuerst einen Behälter hinzufügen"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#, elixir-autogen, elixir-format
msgid "Create"
msgstr "Erstellen"

View File

@ -23,14 +23,14 @@ 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_web/live/home_live.ex:47
#: lib/cannery_web/live/home_live.ex:64
#, elixir-autogen, elixir-format
msgid "%{name} lets you easily keep an eye on your ammo levels before and after range day"
msgstr ""
"Mit %{name} können Sie ihren Munitionsbestand vor und nach dem Schießen "
"leicht im Auge behalten"
#: lib/cannery_web/live/home_live.ex:69
#: lib/cannery_web/live/home_live.ex:86
#, elixir-autogen, elixir-format
msgid "Access from any internet-capable device"
msgstr "Zugriff von jedem Internet-fähigen Gerät"
@ -40,20 +40,19 @@ msgstr "Zugriff von jedem Internet-fähigen Gerät"
msgid "Admins"
msgstr "Admins"
#: lib/cannery_web/live/home_live.ex:83
#: lib/cannery_web/live/home_live.ex:100
#, elixir-autogen, elixir-format
msgid "Admins:"
msgstr "Admins:"
#: lib/cannery_web/components/topbar.ex:73
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#: lib/cannery_web/live/ammo_group_live/index.html.heex:3
#: lib/cannery_web/live/range_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Ammo"
msgstr "Munition"
#: lib/cannery_web/components/ammo_group_table_component.ex:89
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#, elixir-autogen, elixir-format
msgid "Ammo type"
@ -105,9 +104,9 @@ msgstr "Patrone"
msgid "Case material"
msgstr "Gehäusematerial"
#: lib/cannery_web/components/ammo_group_table_component.ex:65
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:56
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Behälter"
@ -126,7 +125,7 @@ msgstr "Behälter"
msgid "Corrosive"
msgstr "Korrosiv"
#: lib/cannery_web/components/ammo_group_table_component.ex:76
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#, elixir-autogen, elixir-format
msgid "Count"
@ -151,11 +150,16 @@ msgstr "Beschreibung"
msgid "Description:"
msgstr "Beschreibung:"
#: lib/cannery_web/live/home_live.ex:44
#: lib/cannery_web/live/home_live.ex:61
#, elixir-autogen, elixir-format
msgid "Easy to Use:"
msgstr "Einfache Anwendung:"
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format
msgid "Edit Ammo group"
msgstr "Munitionsgruppe bearbeiten"
#: lib/cannery_web/live/ammo_type_live/index.ex:23
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
@ -193,17 +197,17 @@ msgstr "Körner"
msgid "Incendiary"
msgstr "Brandmunition"
#: lib/cannery_web/live/home_live.ex:78
#: lib/cannery_web/live/home_live.ex:95
#, elixir-autogen, elixir-format
msgid "Instance Information"
msgstr "Instanzinformationen"
#: lib/cannery_web/components/invite_card.ex:35
#: lib/cannery_web/components/invite_card.ex:32
#, elixir-autogen, elixir-format
msgid "Invite Disabled"
msgstr "Einladung deaktiviert"
#: lib/cannery_web/live/home_live.ex:111
#: lib/cannery_web/live/home_live.ex:128
#, elixir-autogen, elixir-format
msgid "Invite Only"
msgstr "Nur mit Einladung"
@ -291,6 +295,11 @@ msgstr "Neuer Tag"
msgid "No Ammo"
msgstr "Keine Munition"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No Ammo Types"
msgstr "Keine Munitionsarten"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:166
#, elixir-autogen, elixir-format
msgid "No ammo for this type"
@ -313,9 +322,9 @@ msgid "No tags"
msgstr "Keine Tags"
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:49
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
#: lib/cannery_web/live/range_live/index.ex:82
#, elixir-autogen, elixir-format
@ -339,7 +348,7 @@ msgstr "Auf dem Bücherregal"
msgid "Pressure"
msgstr "Druck"
#: lib/cannery_web/components/ammo_group_table_component.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#, elixir-autogen, elixir-format
msgid "Price paid"
@ -356,17 +365,17 @@ msgstr "Kaufpreis:"
msgid "Primer type"
msgstr "Zündertyp"
#: lib/cannery_web/live/home_live.ex:110
#: lib/cannery_web/live/home_live.ex:127
#, elixir-autogen, elixir-format
msgid "Public Signups"
msgstr "Öffentliche Registrierung"
#: lib/cannery_web/live/home_live.ex:56
#: lib/cannery_web/live/home_live.ex:73
#, elixir-autogen, elixir-format
msgid "Secure:"
msgstr "Sicher:"
#: lib/cannery_web/live/home_live.ex:59
#: lib/cannery_web/live/home_live.ex:76
#, elixir-autogen, elixir-format
msgid "Self-host your own instance, or use an instance from someone you trust."
msgstr ""
@ -379,7 +388,7 @@ msgstr ""
msgid "Settings"
msgstr "Einstellungen"
#: lib/cannery_web/live/home_live.ex:66
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
msgstr "Einfach:"
@ -412,7 +421,7 @@ msgstr "Tags können zur besseren Ordnung einem Behälter hinzugefügt werden"
msgid "Text color"
msgstr "Textfarbe"
#: lib/cannery_web/live/home_live.ex:35
#: lib/cannery_web/live/home_live.ex:52
#, elixir-autogen, elixir-format
msgid "The self-hosted firearm tracker website"
msgstr "Die selbst-gehostete Website zur Verwaltung von Schusswaffen"
@ -441,7 +450,7 @@ msgstr "Art:"
msgid "Users"
msgstr "Benutzer"
#: lib/cannery_web/components/invite_card.ex:30
#: lib/cannery_web/components/invite_card.ex:27
#, elixir-autogen, elixir-format
msgid "Uses Left:"
msgstr "Verbleibende Nutzung:"
@ -451,22 +460,22 @@ msgstr "Verbleibende Nutzung:"
msgid "Uses left"
msgstr "Verbleibende Nutzung"
#: lib/cannery_web/live/home_live.ex:31
#: lib/cannery_web/live/home_live.ex:48
#, elixir-autogen, elixir-format
msgid "Welcome to %{name}"
msgstr "Willkommen %{name}"
#: lib/cannery_web/live/home_live.ex:60
#: lib/cannery_web/live/home_live.ex:77
#, elixir-autogen, elixir-format
msgid "Your data stays with you, period"
msgstr "Ihre Daten bleiben bei Ihnen, Punkt"
#: lib/cannery_web/live/container_live/show.html.heex:72
#: lib/cannery_web/live/container_live/show.html.heex:64
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr "Keine Tags für diesen Behälter"
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
#, elixir-autogen, elixir-format
msgid "Range"
@ -477,9 +486,7 @@ msgstr "Schießplatz"
msgid "Range day"
msgstr "Range Day"
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#: lib/cannery_web/live/ammo_group_live/show.ex:89
#: lib/cannery_web/live/range_live/index.ex:83
#, elixir-autogen, elixir-format
msgid "Date"
@ -501,7 +508,18 @@ msgstr "Keine Munition selektiert"
msgid "Record shots"
msgstr "Schüsse dokumentieren"
#: lib/cannery_web/live/ammo_group_live/show.ex:42
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr "Munitionsgruppen"
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Date (UTC)"
msgstr "Zeit (UTC)"
#: lib/cannery_web/live/ammo_group_live/show.ex:37
#: lib/cannery_web/live/range_live/index.ex:32
#, elixir-autogen, elixir-format
msgid "Edit Shot Records"
@ -523,7 +541,7 @@ msgstr "Keine Schüsse dokumentiert"
msgid "Rounds left"
msgstr "Patronen verbleibend"
#: lib/cannery_web/live/ammo_group_live/show.ex:92
#: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format
@ -536,7 +554,11 @@ msgid "Shot Records"
msgstr "Schießkladde"
#: lib/cannery_web/live/ammo_group_live/index.ex:32
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
#, elixir-autogen, elixir-format
msgid "Move Ammo group"
msgstr "Munitionsgruppe verschieben"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr "Munition verschieben"
@ -553,8 +575,8 @@ msgstr "Schießkladde"
#: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:152
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -614,12 +636,12 @@ msgstr "Derzeitiges Passwort"
msgid "New password"
msgstr "Neues Passwort"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr "Markiert"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr "Demarkiert"
@ -641,32 +663,32 @@ msgid "Loading..."
msgstr "Lädt..."
#: lib/cannery_web/live/container_live/index.ex:27
#: lib/cannery_web/live/container_live/show.ex:126
#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr "%{name} bearbeiten"
#: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:127
#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr "Editiere %{name} Tags"
#: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:39
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format
msgid "Rounds:"
msgstr "Patronen:"
#: lib/cannery_web/components/ammo_group_table_component.ex:221
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr "Keine Preisinformationen"
#: lib/cannery_web/components/ammo_group_table_component.ex:80
#: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format
msgid "% left"
msgstr "% verbleibend"
@ -721,13 +743,13 @@ msgstr "Registrieren"
msgid "Reset your password"
msgstr "Passwort zurücksetzen"
#: lib/cannery_web/live/ammo_group_live/show.ex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:36
#: lib/cannery_web/live/range_live/index.ex:26
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr "Schüsse dokumentieren"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr "Kopien"
@ -737,6 +759,13 @@ msgstr "Kopien"
msgid "Ammo types"
msgstr "Munitionsart"
#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr "Hinzugefügt am"
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
@ -770,22 +799,22 @@ msgstr "Deutsch"
msgid "Language"
msgstr "Sprache"
#: lib/cannery_web/live/home_live.ex:136
#: lib/cannery_web/live/home_live.ex:151
#, elixir-autogen, elixir-format
msgid "Get involved!"
msgstr "Mach mit!"
#: lib/cannery_web/live/home_live.ex:157
#: lib/cannery_web/live/home_live.ex:172
#, elixir-autogen, elixir-format
msgid "Help translate"
msgstr "Hilf beim Übersetzen"
#: lib/cannery_web/live/home_live.ex:168
#: lib/cannery_web/live/home_live.ex:183
#, elixir-autogen, elixir-format
msgid "Report bugs or request features"
msgstr "Sende Bugs oder Erweiterungsvorschläge"
#: lib/cannery_web/live/home_live.ex:146
#: lib/cannery_web/live/home_live.ex:161
#, elixir-autogen, elixir-format
msgid "View the source code"
msgstr "Quellcode ansehen"
@ -796,22 +825,22 @@ msgstr "Quellcode ansehen"
msgid "Catalog"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:40
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit Ammo"
msgstr "Munitionstyp bearbeiten"
#: lib/cannery_web/live/ammo_group_live/show.ex:43
#: lib/cannery_web/live/ammo_group_live/show.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Move Ammo"
msgstr "Munition verschieben"
#: lib/cannery_web/live/container_live/show.html.heex:119
#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr "Keine Munitionsgruppe in diesem Behälter"
#: lib/cannery_web/live/ammo_group_live/show.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:39
#, elixir-autogen, elixir-format, fuzzy
msgid "Show Ammo"
msgstr "Zeige Munitionsarten"
@ -823,18 +852,18 @@ msgstr "Diese Munitionsgruppe ist nicht in einem Behälter"
#: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:30
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
msgstr ""
#: lib/cannery_web/components/topbar.ex:25
#: lib/cannery_web/live/home_live.ex:25
#: lib/cannery_web/live/home_live.ex:42
#, elixir-autogen, elixir-format
msgid "Cannery logo"
msgstr ""
#: lib/cannery_web/live/home_live.ex:27
#: lib/cannery_web/live/home_live.ex:44
#, elixir-autogen, elixir-format
msgid "isn't he cute >:3"
msgstr ""
@ -852,12 +881,22 @@ msgstr "Behälter"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:192
#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@ -882,7 +921,7 @@ msgstr "Patronen:"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:111
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@ -1038,18 +1077,18 @@ msgstr "UPC"
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:120
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}"
msgstr "%{name} bearbeiten"
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:230
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
@ -1059,7 +1098,7 @@ msgstr ""
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count"
msgstr "Ursprüngliche Anzahl:"
@ -1068,55 +1107,3 @@ msgstr "Ursprüngliche Anzahl:"
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:"
msgstr "Ursprüngliche Anzahl:"
#: lib/cannery_web/live/home_live.ex:15
#, elixir-autogen, elixir-format
msgid "Home"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:28
#, elixir-autogen, elixir-format, fuzzy
msgid "Total packs:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "Total rounds:"
msgstr "Summe abgegebener Schüsse:"
#: lib/cannery_web/components/ammo_group_table_component.ex:58
#, elixir-autogen, elixir-format
msgid "Last used on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Last used on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:177
#, elixir-autogen, elixir-format
msgid "Never used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format
msgid "Purchased on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit ammo"
msgstr "Munitionstyp bearbeiten"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No Ammo types"
msgstr "Keine Munitionsarten"

View File

@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
msgstr "Behälter muss vor dem Löschen leer sein"
#: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:77
#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "Konnte %{name} nicht löschen: %{error}"
@ -192,17 +192,17 @@ msgstr ""
msgid "Invalid multiplier"
msgstr ""
#: lib/cannery/ammo/ammo_group.ex:96
#: lib/cannery/ammo/ammo_group.ex:94
#, elixir-autogen, elixir-format
msgid "Please select an ammo type and container"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format
msgid "Please select a valid user and ammo group"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:67
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid user and ammo pack"
msgstr ""

View File

@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} erfolgreich erstellt"
#: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:55
#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@ -51,7 +51,7 @@ msgid "%{name} enabled succesfully"
msgstr "%{name} erfolgreich aktiviert"
#: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:67
#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr "%{name} wurde gelöscht"
@ -74,6 +74,11 @@ msgstr "%{name} erfolgreich aktualisiert"
msgid "A link to confirm your email change has been sent to the new address."
msgstr "Eine Mail zum Bestätigen ihre Mailadresse wurde Ihnen zugesandt."
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr "Munitionsgruppe erfolgreich gelöscht"
#: lib/cannery_web/live/invite_live/index.html.heex:103
#: lib/cannery_web/live/invite_live/index.html.heex:133
#, elixir-autogen, elixir-format
@ -82,9 +87,9 @@ msgstr ""
"Sind Sie sicher, dass sie %{email} löschen möchten? Dies kann nicht "
"zurückgenommen werden!"
#: lib/cannery_web/live/container_live/index.ex:236
#: lib/cannery_web/live/container_live/index.ex:223
#: lib/cannery_web/live/container_live/index.html.heex:73
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/container_live/show.html.heex:51
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
@ -95,7 +100,7 @@ msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?"
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Sind Sie sicher, dass sie die Einladung für %{name} löschen möchten?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:131
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -155,13 +160,13 @@ msgstr "Passwort erfolgreich geändert."
msgid "Please check your email to verify your account"
msgstr "Bitte überprüfen Sie ihre Mailbox und bestätigen Sie das Nutzerkonto"
#: lib/cannery_web/live/home_live.ex:91
#: lib/cannery_web/live/home_live.ex:108
#, elixir-autogen, elixir-format
msgid "Register to setup %{name}"
msgstr "Registrieren Sie sich, um %{name} zu bearbeiten"
#: lib/cannery_web/components/add_shot_group_component.html.heex:55
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:157
#: lib/cannery_web/live/container_live/form_component.html.heex:52
#: lib/cannery_web/live/invite_live/form_component.html.heex:33
@ -188,7 +193,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr "%{name} erfolgreich hinzugefügt"
#: lib/cannery_web/live/container_live/show.ex:43
#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr "%{tag_name} wurde von %{container_name} entfernt"
@ -208,13 +213,13 @@ msgstr "Schüsse erfolgreich dokumentiert"
msgid "Are you sure you want to unstage this ammo?"
msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?"
#: lib/cannery_web/live/ammo_group_live/show.ex:137
#: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:159
#, 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/ammo_group_live/show.ex:83
#: lib/cannery_web/live/ammo_group_live/show.ex:78
#: lib/cannery_web/live/range_live/index.ex:54
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
@ -251,7 +256,7 @@ msgstr "%{name} erfolgreich entfernt"
msgid "You'll need to"
msgstr "Sie müssen"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr "Erstellen..."
@ -266,8 +271,7 @@ msgstr "Möchten Sie die Sprache wechseln?"
msgid "Language updated successfully."
msgstr "Spracheinstellung gespeichert."
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#: lib/cannery_web/live/ammo_group_live/show.ex:55
#: lib/cannery_web/live/ammo_group_live/show.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo deleted succesfully"
msgstr "Munitionsgruppe erfolgreich gelöscht"

View File

@ -10,12 +10,12 @@
msgid ""
msgstr ""
#: lib/cannery_web/live/home_live.ex:47
#: lib/cannery_web/live/home_live.ex:64
#, elixir-autogen, elixir-format
msgid "%{name} lets you easily keep an eye on your ammo levels before and after range day"
msgstr ""
#: lib/cannery_web/live/home_live.ex:69
#: lib/cannery_web/live/home_live.ex:86
#, elixir-autogen, elixir-format
msgid "Access from any internet-capable device"
msgstr ""
@ -25,20 +25,19 @@ msgstr ""
msgid "Admins"
msgstr ""
#: lib/cannery_web/live/home_live.ex:83
#: lib/cannery_web/live/home_live.ex:100
#, elixir-autogen, elixir-format
msgid "Admins:"
msgstr ""
#: lib/cannery_web/components/topbar.ex:73
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#: lib/cannery_web/live/ammo_group_live/index.html.heex:3
#: lib/cannery_web/live/range_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Ammo"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:89
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#, elixir-autogen, elixir-format
msgid "Ammo type"
@ -90,9 +89,9 @@ msgstr ""
msgid "Case material"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:65
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:56
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -111,7 +110,7 @@ msgstr ""
msgid "Corrosive"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:76
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#, elixir-autogen, elixir-format
msgid "Count"
@ -136,11 +135,16 @@ msgstr ""
msgid "Description:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:44
#: lib/cannery_web/live/home_live.ex:61
#, elixir-autogen, elixir-format
msgid "Easy to Use:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format
msgid "Edit Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:23
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
@ -178,17 +182,17 @@ msgstr ""
msgid "Incendiary"
msgstr ""
#: lib/cannery_web/live/home_live.ex:78
#: lib/cannery_web/live/home_live.ex:95
#, elixir-autogen, elixir-format
msgid "Instance Information"
msgstr ""
#: lib/cannery_web/components/invite_card.ex:35
#: lib/cannery_web/components/invite_card.ex:32
#, elixir-autogen, elixir-format
msgid "Invite Disabled"
msgstr ""
#: lib/cannery_web/live/home_live.ex:111
#: lib/cannery_web/live/home_live.ex:128
#, elixir-autogen, elixir-format
msgid "Invite Only"
msgstr ""
@ -276,6 +280,11 @@ msgstr ""
msgid "No Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No Ammo Types"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:166
#, elixir-autogen, elixir-format
msgid "No ammo for this type"
@ -298,9 +307,9 @@ msgid "No tags"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:49
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
#: lib/cannery_web/live/range_live/index.ex:82
#, elixir-autogen, elixir-format
@ -324,7 +333,7 @@ msgstr ""
msgid "Pressure"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#, elixir-autogen, elixir-format
msgid "Price paid"
@ -341,17 +350,17 @@ msgstr ""
msgid "Primer type"
msgstr ""
#: lib/cannery_web/live/home_live.ex:110
#: lib/cannery_web/live/home_live.ex:127
#, elixir-autogen, elixir-format
msgid "Public Signups"
msgstr ""
#: lib/cannery_web/live/home_live.ex:56
#: lib/cannery_web/live/home_live.ex:73
#, elixir-autogen, elixir-format
msgid "Secure:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:59
#: lib/cannery_web/live/home_live.ex:76
#, elixir-autogen, elixir-format
msgid "Self-host your own instance, or use an instance from someone you trust."
msgstr ""
@ -362,7 +371,7 @@ msgstr ""
msgid "Settings"
msgstr ""
#: lib/cannery_web/live/home_live.ex:66
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
msgstr ""
@ -395,7 +404,7 @@ msgstr ""
msgid "Text color"
msgstr ""
#: lib/cannery_web/live/home_live.ex:35
#: lib/cannery_web/live/home_live.ex:52
#, elixir-autogen, elixir-format
msgid "The self-hosted firearm tracker website"
msgstr ""
@ -424,7 +433,7 @@ msgstr ""
msgid "Users"
msgstr ""
#: lib/cannery_web/components/invite_card.ex:30
#: lib/cannery_web/components/invite_card.ex:27
#, elixir-autogen, elixir-format
msgid "Uses Left:"
msgstr ""
@ -434,22 +443,22 @@ msgstr ""
msgid "Uses left"
msgstr ""
#: lib/cannery_web/live/home_live.ex:31
#: lib/cannery_web/live/home_live.ex:48
#, elixir-autogen, elixir-format
msgid "Welcome to %{name}"
msgstr ""
#: lib/cannery_web/live/home_live.ex:60
#: lib/cannery_web/live/home_live.ex:77
#, elixir-autogen, elixir-format
msgid "Your data stays with you, period"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:72
#: lib/cannery_web/live/container_live/show.html.heex:64
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
#, elixir-autogen, elixir-format
msgid "Range"
@ -460,9 +469,7 @@ msgstr ""
msgid "Range day"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#: lib/cannery_web/live/ammo_group_live/show.ex:89
#: lib/cannery_web/live/range_live/index.ex:83
#, elixir-autogen, elixir-format
msgid "Date"
@ -484,7 +491,18 @@ msgstr ""
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:42
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Date (UTC)"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:37
#: lib/cannery_web/live/range_live/index.ex:32
#, elixir-autogen, elixir-format
msgid "Edit Shot Records"
@ -506,7 +524,7 @@ msgstr ""
msgid "Rounds left"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:92
#: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format
@ -519,7 +537,11 @@ msgid "Shot Records"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:32
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
#, elixir-autogen, elixir-format
msgid "Move Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -536,8 +558,8 @@ msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:152
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -597,12 +619,12 @@ msgstr ""
msgid "New password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
@ -624,32 +646,32 @@ msgid "Loading..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:27
#: lib/cannery_web/live/container_live/show.ex:126
#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:127
#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
#: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:39
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format
msgid "Rounds:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:221
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:80
#: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@ -704,13 +726,13 @@ msgstr ""
msgid "Reset your password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:36
#: lib/cannery_web/live/range_live/index.ex:26
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@ -720,6 +742,13 @@ msgstr ""
msgid "Ammo types"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
@ -753,22 +782,22 @@ msgstr ""
msgid "Language"
msgstr ""
#: lib/cannery_web/live/home_live.ex:136
#: lib/cannery_web/live/home_live.ex:151
#, elixir-autogen, elixir-format
msgid "Get involved!"
msgstr ""
#: lib/cannery_web/live/home_live.ex:157
#: lib/cannery_web/live/home_live.ex:172
#, elixir-autogen, elixir-format
msgid "Help translate"
msgstr ""
#: lib/cannery_web/live/home_live.ex:168
#: lib/cannery_web/live/home_live.ex:183
#, elixir-autogen, elixir-format
msgid "Report bugs or request features"
msgstr ""
#: lib/cannery_web/live/home_live.ex:146
#: lib/cannery_web/live/home_live.ex:161
#, elixir-autogen, elixir-format
msgid "View the source code"
msgstr ""
@ -779,22 +808,22 @@ msgstr ""
msgid "Catalog"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:40
#, elixir-autogen, elixir-format
msgid "Edit Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:43
#: lib/cannery_web/live/ammo_group_live/show.ex:38
#, elixir-autogen, elixir-format
msgid "Move Ammo"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:119
#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format
msgid "No ammo in this container"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:39
#, elixir-autogen, elixir-format
msgid "Show Ammo"
msgstr ""
@ -806,18 +835,18 @@ msgstr ""
#: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:30
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
msgstr ""
#: lib/cannery_web/components/topbar.ex:25
#: lib/cannery_web/live/home_live.ex:25
#: lib/cannery_web/live/home_live.ex:42
#, elixir-autogen, elixir-format
msgid "Cannery logo"
msgstr ""
#: lib/cannery_web/live/home_live.ex:27
#: lib/cannery_web/live/home_live.ex:44
#, elixir-autogen, elixir-format
msgid "isn't he cute >:3"
msgstr ""
@ -835,12 +864,22 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:192
#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@ -865,7 +904,7 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:111
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@ -1021,18 +1060,18 @@ msgstr ""
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:120
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format
msgid "Edit %{ammo_type_name}"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:230
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
@ -1042,7 +1081,7 @@ msgstr ""
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format
msgid "Original Count"
msgstr ""
@ -1051,55 +1090,3 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Original Count:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:15
#, elixir-autogen, elixir-format
msgid "Home"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:28
#, elixir-autogen, elixir-format
msgid "Total packs:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:37
#, elixir-autogen, elixir-format
msgid "Total rounds:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:58
#, elixir-autogen, elixir-format
msgid "Last used on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Last used on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:177
#, elixir-autogen, elixir-format
msgid "Never used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format
msgid "Purchased on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format
msgid "Edit ammo"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No Ammo types"
msgstr ""

View File

@ -122,7 +122,7 @@ msgid "Reset password"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:53
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:73
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:156
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
@ -137,7 +137,7 @@ msgstr ""
msgid "Send instructions to reset password"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:80
#: lib/cannery_web/live/container_live/show.html.heex:72
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr ""
@ -157,7 +157,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:79
#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@ -189,7 +189,7 @@ msgstr ""
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#, elixir-autogen, elixir-format, fuzzy
msgid "Create"
msgstr ""

View File

@ -11,12 +11,12 @@ msgstr ""
"Language: en\n"
"Plural-Forms: nplurals=2\n"
#: lib/cannery_web/live/home_live.ex:47
#: lib/cannery_web/live/home_live.ex:64
#, elixir-autogen, elixir-format
msgid "%{name} lets you easily keep an eye on your ammo levels before and after range day"
msgstr ""
#: lib/cannery_web/live/home_live.ex:69
#: lib/cannery_web/live/home_live.ex:86
#, elixir-autogen, elixir-format
msgid "Access from any internet-capable device"
msgstr ""
@ -26,20 +26,19 @@ msgstr ""
msgid "Admins"
msgstr ""
#: lib/cannery_web/live/home_live.ex:83
#: lib/cannery_web/live/home_live.ex:100
#, elixir-autogen, elixir-format
msgid "Admins:"
msgstr ""
#: lib/cannery_web/components/topbar.ex:73
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#: lib/cannery_web/live/ammo_group_live/index.html.heex:3
#: lib/cannery_web/live/range_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Ammo"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:89
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#, elixir-autogen, elixir-format
msgid "Ammo type"
@ -91,9 +90,9 @@ msgstr ""
msgid "Case material"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:65
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:56
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -112,7 +111,7 @@ msgstr ""
msgid "Corrosive"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:76
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#, elixir-autogen, elixir-format
msgid "Count"
@ -137,11 +136,16 @@ msgstr ""
msgid "Description:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:44
#: lib/cannery_web/live/home_live.ex:61
#, elixir-autogen, elixir-format
msgid "Easy to Use:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format
msgid "Edit Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:23
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
@ -179,17 +183,17 @@ msgstr ""
msgid "Incendiary"
msgstr ""
#: lib/cannery_web/live/home_live.ex:78
#: lib/cannery_web/live/home_live.ex:95
#, elixir-autogen, elixir-format
msgid "Instance Information"
msgstr ""
#: lib/cannery_web/components/invite_card.ex:35
#: lib/cannery_web/components/invite_card.ex:32
#, elixir-autogen, elixir-format
msgid "Invite Disabled"
msgstr ""
#: lib/cannery_web/live/home_live.ex:111
#: lib/cannery_web/live/home_live.ex:128
#, elixir-autogen, elixir-format
msgid "Invite Only"
msgstr ""
@ -277,6 +281,11 @@ msgstr ""
msgid "No Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No Ammo Types"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:166
#, elixir-autogen, elixir-format
msgid "No ammo for this type"
@ -299,9 +308,9 @@ msgid "No tags"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:49
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
#: lib/cannery_web/live/range_live/index.ex:82
#, elixir-autogen, elixir-format
@ -325,7 +334,7 @@ msgstr ""
msgid "Pressure"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#, elixir-autogen, elixir-format
msgid "Price paid"
@ -342,17 +351,17 @@ msgstr ""
msgid "Primer type"
msgstr ""
#: lib/cannery_web/live/home_live.ex:110
#: lib/cannery_web/live/home_live.ex:127
#, elixir-autogen, elixir-format
msgid "Public Signups"
msgstr ""
#: lib/cannery_web/live/home_live.ex:56
#: lib/cannery_web/live/home_live.ex:73
#, elixir-autogen, elixir-format
msgid "Secure:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:59
#: lib/cannery_web/live/home_live.ex:76
#, elixir-autogen, elixir-format
msgid "Self-host your own instance, or use an instance from someone you trust."
msgstr ""
@ -363,7 +372,7 @@ msgstr ""
msgid "Settings"
msgstr ""
#: lib/cannery_web/live/home_live.ex:66
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
msgstr ""
@ -396,7 +405,7 @@ msgstr ""
msgid "Text color"
msgstr ""
#: lib/cannery_web/live/home_live.ex:35
#: lib/cannery_web/live/home_live.ex:52
#, elixir-autogen, elixir-format
msgid "The self-hosted firearm tracker website"
msgstr ""
@ -425,7 +434,7 @@ msgstr ""
msgid "Users"
msgstr ""
#: lib/cannery_web/components/invite_card.ex:30
#: lib/cannery_web/components/invite_card.ex:27
#, elixir-autogen, elixir-format
msgid "Uses Left:"
msgstr ""
@ -435,22 +444,22 @@ msgstr ""
msgid "Uses left"
msgstr ""
#: lib/cannery_web/live/home_live.ex:31
#: lib/cannery_web/live/home_live.ex:48
#, elixir-autogen, elixir-format
msgid "Welcome to %{name}"
msgstr ""
#: lib/cannery_web/live/home_live.ex:60
#: lib/cannery_web/live/home_live.ex:77
#, elixir-autogen, elixir-format
msgid "Your data stays with you, period"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:72
#: lib/cannery_web/live/container_live/show.html.heex:64
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
#, elixir-autogen, elixir-format
msgid "Range"
@ -461,9 +470,7 @@ msgstr ""
msgid "Range day"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#: lib/cannery_web/live/ammo_group_live/show.ex:89
#: lib/cannery_web/live/range_live/index.ex:83
#, elixir-autogen, elixir-format
msgid "Date"
@ -485,7 +492,18 @@ msgstr ""
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:42
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Date (UTC)"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:37
#: lib/cannery_web/live/range_live/index.ex:32
#, elixir-autogen, elixir-format
msgid "Edit Shot Records"
@ -507,7 +525,7 @@ msgstr ""
msgid "Rounds left"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:92
#: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format
@ -520,7 +538,11 @@ msgid "Shot Records"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:32
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
#, elixir-autogen, elixir-format
msgid "Move Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -537,8 +559,8 @@ msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:152
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -598,12 +620,12 @@ msgstr ""
msgid "New password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
@ -625,32 +647,32 @@ msgid "Loading..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:27
#: lib/cannery_web/live/container_live/show.ex:126
#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:127
#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
#: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:39
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:221
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:80
#: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@ -705,13 +727,13 @@ msgstr ""
msgid "Reset your password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:36
#: lib/cannery_web/live/range_live/index.ex:26
#, elixir-autogen, elixir-format, fuzzy
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@ -721,6 +743,13 @@ msgstr ""
msgid "Ammo types"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
@ -754,22 +783,22 @@ msgstr ""
msgid "Language"
msgstr ""
#: lib/cannery_web/live/home_live.ex:136
#: lib/cannery_web/live/home_live.ex:151
#, elixir-autogen, elixir-format
msgid "Get involved!"
msgstr ""
#: lib/cannery_web/live/home_live.ex:157
#: lib/cannery_web/live/home_live.ex:172
#, elixir-autogen, elixir-format
msgid "Help translate"
msgstr ""
#: lib/cannery_web/live/home_live.ex:168
#: lib/cannery_web/live/home_live.ex:183
#, elixir-autogen, elixir-format
msgid "Report bugs or request features"
msgstr ""
#: lib/cannery_web/live/home_live.ex:146
#: lib/cannery_web/live/home_live.ex:161
#, elixir-autogen, elixir-format
msgid "View the source code"
msgstr ""
@ -780,22 +809,22 @@ msgstr ""
msgid "Catalog"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:40
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:43
#: lib/cannery_web/live/ammo_group_live/show.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Move Ammo"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:119
#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:39
#, elixir-autogen, elixir-format, fuzzy
msgid "Show Ammo"
msgstr ""
@ -807,18 +836,18 @@ msgstr ""
#: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:30
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
msgstr ""
#: lib/cannery_web/components/topbar.ex:25
#: lib/cannery_web/live/home_live.ex:25
#: lib/cannery_web/live/home_live.ex:42
#, elixir-autogen, elixir-format
msgid "Cannery logo"
msgstr ""
#: lib/cannery_web/live/home_live.ex:27
#: lib/cannery_web/live/home_live.ex:44
#, elixir-autogen, elixir-format
msgid "isn't he cute >:3"
msgstr ""
@ -836,12 +865,22 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:192
#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@ -866,7 +905,7 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:111
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@ -1022,18 +1061,18 @@ msgstr ""
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:120
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:230
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
@ -1043,7 +1082,7 @@ msgstr ""
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count"
msgstr ""
@ -1052,55 +1091,3 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:15
#, elixir-autogen, elixir-format
msgid "Home"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:28
#, elixir-autogen, elixir-format, fuzzy
msgid "Total packs:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "Total rounds:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:58
#, elixir-autogen, elixir-format
msgid "Last used on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Last used on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:177
#, elixir-autogen, elixir-format
msgid "Never used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format
msgid "Purchased on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit ammo"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No Ammo types"
msgstr ""

View File

@ -16,7 +16,7 @@ msgid "Container must be empty before deleting"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:77
#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr ""
@ -175,17 +175,17 @@ msgstr ""
msgid "Invalid multiplier"
msgstr ""
#: lib/cannery/ammo/ammo_group.ex:96
#: lib/cannery/ammo/ammo_group.ex:94
#, elixir-autogen, elixir-format
msgid "Please select an ammo type and container"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format
msgid "Please select a valid user and ammo group"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:67
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid user and ammo pack"
msgstr ""

View File

@ -20,7 +20,7 @@ msgid "%{name} created successfully"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:55
#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@ -39,7 +39,7 @@ msgid "%{name} enabled succesfully"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:67
#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr ""
@ -62,15 +62,20 @@ msgstr ""
msgid "A link to confirm your email change has been sent to the new address."
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:103
#: lib/cannery_web/live/invite_live/index.html.heex:133
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:236
#: lib/cannery_web/live/container_live/index.ex:223
#: lib/cannery_web/live/container_live/index.html.heex:73
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/container_live/show.html.heex:51
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
@ -81,7 +86,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:131
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -137,13 +142,13 @@ msgstr ""
msgid "Please check your email to verify your account"
msgstr ""
#: lib/cannery_web/live/home_live.ex:91
#: lib/cannery_web/live/home_live.ex:108
#, elixir-autogen, elixir-format
msgid "Register to setup %{name}"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:55
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:157
#: lib/cannery_web/live/container_live/form_component.html.heex:52
#: lib/cannery_web/live/invite_live/form_component.html.heex:33
@ -168,7 +173,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr ""
#: lib/cannery_web/live/container_live/show.ex:43
#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
@ -188,13 +193,13 @@ msgstr ""
msgid "Are you sure you want to unstage this ammo?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:137
#: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:159
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:83
#: lib/cannery_web/live/ammo_group_live/show.ex:78
#: lib/cannery_web/live/range_live/index.ex:54
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
@ -231,7 +236,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:67
#, elixir-autogen, elixir-format, fuzzy
msgid "Creating..."
msgstr ""
@ -246,8 +251,7 @@ msgstr ""
msgid "Language updated successfully."
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#: lib/cannery_web/live/ammo_group_live/show.ex:55
#: lib/cannery_web/live/ammo_group_live/show.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo deleted succesfully"
msgstr ""

View File

@ -16,7 +16,7 @@ msgid "Container must be empty before deleting"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:77
#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr ""
@ -174,17 +174,17 @@ msgstr ""
msgid "Invalid multiplier"
msgstr ""
#: lib/cannery/ammo/ammo_group.ex:96
#: lib/cannery/ammo/ammo_group.ex:94
#, elixir-autogen, elixir-format
msgid "Please select an ammo type and container"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format
msgid "Please select a valid user and ammo group"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:67
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format
msgid "Please select a valid user and ammo pack"
msgstr ""

View File

@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-21 19:45+0000\n"
"PO-Revision-Date: 2022-11-13 21:49+0000\n"
"Last-Translator: Brea Foga <breaardiente@gmail.com>\n"
"PO-Revision-Date: 2022-05-22 22:52+0000\n"
"Last-Translator: Hannah Winter <konhat@hotmail.es>\n"
"Language-Team: Spanish <https://weblate.bubbletea.dev/projects/cannery/"
"actions/es/>\n"
"Language: es\n"
@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.14.2\n"
"X-Generator: Weblate 4.12.2\n"
## This file is a PO Template file.
##
@ -33,17 +33,17 @@ msgstr "Añadir Munición"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:36
#, elixir-autogen, elixir-format
msgid "Add your first box!"
msgstr "¡Añade tu primera caja!"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Add your first container!"
msgstr "¡Añade tu primer contenedor!"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Add your first type!"
msgstr "¡Añade tu primer tipo!"
msgstr ""
#: lib/cannery_web/templates/user_settings/edit.html.heex:15
#: lib/cannery_web/templates/user_settings/edit.html.heex:44
@ -77,7 +77,7 @@ msgstr "¿Has olvidado tu contraseña?"
#: lib/cannery_web/live/invite_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Invite someone new!"
msgstr "¡Invita a alguien nuevo!"
msgstr ""
#: lib/cannery_web/components/topbar.ex:137
#: lib/cannery_web/templates/user_confirmation/new.html.heex:30
@ -88,27 +88,27 @@ msgstr "¡Invita a alguien nuevo!"
#: lib/cannery_web/templates/user_session/new.html.heex:33
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr "Entrar"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Make your first tag!"
msgstr "¡Aplica tu primera etiqueta!"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "New Ammo type"
msgstr "Nuevo tipo de Munición"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "New Container"
msgstr "Nuevo Contenedor"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:19
#, elixir-autogen, elixir-format
msgid "New Tag"
msgstr "Nueva Etiqueta"
msgstr ""
#: lib/cannery_web/components/topbar.ex:128
#: lib/cannery_web/templates/user_confirmation/new.html.heex:26
@ -119,22 +119,22 @@ msgstr "Nueva Etiqueta"
#: lib/cannery_web/templates/user_session/new.html.heex:41
#, elixir-autogen, elixir-format
msgid "Register"
msgstr "Registrarse"
msgstr ""
#: lib/cannery_web/templates/user_confirmation/new.html.heex:3
#: lib/cannery_web/templates/user_confirmation/new.html.heex:16
#, elixir-autogen, elixir-format
msgid "Resend confirmation instructions"
msgstr "Reenviar instrucciones de confirmación"
msgstr ""
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:34
#, elixir-autogen, elixir-format
msgid "Reset password"
msgstr "Resetear contraseña"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:53
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:73
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:156
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
@ -142,104 +142,104 @@ msgstr "Resetear contraseña"
#: lib/cannery_web/live/tag_live/form_component.ex:91
#, elixir-autogen, elixir-format
msgid "Save"
msgstr "Guardar"
msgstr ""
#: lib/cannery_web/templates/user_reset_password/new.html.heex:16
#, elixir-autogen, elixir-format
msgid "Send instructions to reset password"
msgstr "Enviar instrucciones para reestablecer contraseña"
#: lib/cannery_web/live/container_live/show.html.heex:80
#: lib/cannery_web/live/container_live/show.html.heex:72
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr "¿Por qué no añadir una?"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Add"
msgstr "Añadir"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage ammo"
msgstr "Preparar munición"
msgstr ""
#: 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?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:79
#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr "Tiros récord"
msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:90
#, elixir-autogen, elixir-format
msgid "Add another container!"
msgstr "¡Añade otro contenedor!"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.html.heex:94
#, elixir-autogen, elixir-format
msgid "Move containers"
msgstr "Mover contenedores"
msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:126
#, elixir-autogen, elixir-format
msgid "Select"
msgstr "Seleccionar"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:31
#, elixir-autogen, elixir-format
msgid "Copy to clipboard"
msgstr "Copiar al portapapeles"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:21
#, elixir-autogen, elixir-format
msgid "add a container first"
msgstr "añade primero un contenedor"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#, elixir-autogen, elixir-format
msgid "Create"
msgstr "Crear"
msgstr ""
#: lib/cannery_web/templates/user_settings/edit.html.heex:113
#, elixir-autogen, elixir-format
msgid "Change Language"
msgstr "Cambiar Lenguaje"
msgstr ""
#: lib/cannery_web/templates/user_settings/edit.html.heex:134
#, elixir-autogen, elixir-format
msgid "Change language"
msgstr "Cambiar lenguaje"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.html.heex:60
#, elixir-autogen, elixir-format
msgid "View in Catalog"
msgstr "Ver en Catalogo"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:31
#, elixir-autogen, elixir-format
msgid "add an ammo type first"
msgstr "añade primero un tipo de munición"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:60
#, elixir-autogen, elixir-format
msgid "Disable"
msgstr "Desactivar"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:64
#, elixir-autogen, elixir-format
msgid "Enable"
msgstr "Activar"
msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:80
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr "Mover munición"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:80
#, elixir-autogen, elixir-format

View File

@ -23,14 +23,14 @@ 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_web/live/home_live.ex:47
#: lib/cannery_web/live/home_live.ex:64
#, elixir-autogen, elixir-format
msgid "%{name} lets you easily keep an eye on your ammo levels before and after range day"
msgstr ""
"%{name} te permite mantener un ojo en tus niveles de munición antes y "
"después de un día en el campo de tiro"
#: lib/cannery_web/live/home_live.ex:69
#: lib/cannery_web/live/home_live.ex:86
#, elixir-autogen, elixir-format
msgid "Access from any internet-capable device"
msgstr ""
@ -40,20 +40,19 @@ msgstr ""
msgid "Admins"
msgstr ""
#: lib/cannery_web/live/home_live.ex:83
#: lib/cannery_web/live/home_live.ex:100
#, elixir-autogen, elixir-format
msgid "Admins:"
msgstr ""
#: lib/cannery_web/components/topbar.ex:73
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#: lib/cannery_web/live/ammo_group_live/index.html.heex:3
#: lib/cannery_web/live/range_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Ammo"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:89
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#, elixir-autogen, elixir-format
msgid "Ammo type"
@ -105,9 +104,9 @@ msgstr ""
msgid "Case material"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:65
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:56
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -126,7 +125,7 @@ msgstr ""
msgid "Corrosive"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:76
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#, elixir-autogen, elixir-format
msgid "Count"
@ -151,11 +150,16 @@ msgstr ""
msgid "Description:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:44
#: lib/cannery_web/live/home_live.ex:61
#, elixir-autogen, elixir-format
msgid "Easy to Use:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format
msgid "Edit Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:23
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
@ -193,17 +197,17 @@ msgstr ""
msgid "Incendiary"
msgstr ""
#: lib/cannery_web/live/home_live.ex:78
#: lib/cannery_web/live/home_live.ex:95
#, elixir-autogen, elixir-format
msgid "Instance Information"
msgstr ""
#: lib/cannery_web/components/invite_card.ex:35
#: lib/cannery_web/components/invite_card.ex:32
#, elixir-autogen, elixir-format
msgid "Invite Disabled"
msgstr ""
#: lib/cannery_web/live/home_live.ex:111
#: lib/cannery_web/live/home_live.ex:128
#, elixir-autogen, elixir-format
msgid "Invite Only"
msgstr ""
@ -291,6 +295,11 @@ msgstr ""
msgid "No Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No Ammo Types"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:166
#, elixir-autogen, elixir-format
msgid "No ammo for this type"
@ -313,9 +322,9 @@ msgid "No tags"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:49
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
#: lib/cannery_web/live/range_live/index.ex:82
#, elixir-autogen, elixir-format
@ -339,7 +348,7 @@ msgstr ""
msgid "Pressure"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#, elixir-autogen, elixir-format
msgid "Price paid"
@ -356,17 +365,17 @@ msgstr ""
msgid "Primer type"
msgstr ""
#: lib/cannery_web/live/home_live.ex:110
#: lib/cannery_web/live/home_live.ex:127
#, elixir-autogen, elixir-format
msgid "Public Signups"
msgstr ""
#: lib/cannery_web/live/home_live.ex:56
#: lib/cannery_web/live/home_live.ex:73
#, elixir-autogen, elixir-format
msgid "Secure:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:59
#: lib/cannery_web/live/home_live.ex:76
#, elixir-autogen, elixir-format
msgid "Self-host your own instance, or use an instance from someone you trust."
msgstr ""
@ -377,7 +386,7 @@ msgstr ""
msgid "Settings"
msgstr ""
#: lib/cannery_web/live/home_live.ex:66
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
msgstr ""
@ -410,7 +419,7 @@ msgstr ""
msgid "Text color"
msgstr ""
#: lib/cannery_web/live/home_live.ex:35
#: lib/cannery_web/live/home_live.ex:52
#, elixir-autogen, elixir-format
msgid "The self-hosted firearm tracker website"
msgstr ""
@ -439,7 +448,7 @@ msgstr ""
msgid "Users"
msgstr ""
#: lib/cannery_web/components/invite_card.ex:30
#: lib/cannery_web/components/invite_card.ex:27
#, elixir-autogen, elixir-format
msgid "Uses Left:"
msgstr ""
@ -449,22 +458,22 @@ msgstr ""
msgid "Uses left"
msgstr ""
#: lib/cannery_web/live/home_live.ex:31
#: lib/cannery_web/live/home_live.ex:48
#, elixir-autogen, elixir-format
msgid "Welcome to %{name}"
msgstr ""
#: lib/cannery_web/live/home_live.ex:60
#: lib/cannery_web/live/home_live.ex:77
#, elixir-autogen, elixir-format
msgid "Your data stays with you, period"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:72
#: lib/cannery_web/live/container_live/show.html.heex:64
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
#, elixir-autogen, elixir-format
msgid "Range"
@ -475,9 +484,7 @@ msgstr ""
msgid "Range day"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#: lib/cannery_web/live/ammo_group_live/show.ex:89
#: lib/cannery_web/live/range_live/index.ex:83
#, elixir-autogen, elixir-format
msgid "Date"
@ -499,7 +506,18 @@ msgstr ""
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:42
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Date (UTC)"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:37
#: lib/cannery_web/live/range_live/index.ex:32
#, elixir-autogen, elixir-format
msgid "Edit Shot Records"
@ -521,7 +539,7 @@ msgstr ""
msgid "Rounds left"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:92
#: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format
@ -534,7 +552,11 @@ msgid "Shot Records"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:32
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
#, elixir-autogen, elixir-format
msgid "Move Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -551,8 +573,8 @@ msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:152
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -612,12 +634,12 @@ msgstr ""
msgid "New password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
@ -639,32 +661,32 @@ msgid "Loading..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:27
#: lib/cannery_web/live/container_live/show.ex:126
#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:127
#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
#: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:39
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format
msgid "Rounds:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:221
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:80
#: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@ -719,13 +741,13 @@ msgstr ""
msgid "Reset your password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:36
#: lib/cannery_web/live/range_live/index.ex:26
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@ -735,6 +757,13 @@ msgstr ""
msgid "Ammo types"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
@ -768,22 +797,22 @@ msgstr ""
msgid "Language"
msgstr ""
#: lib/cannery_web/live/home_live.ex:136
#: lib/cannery_web/live/home_live.ex:151
#, elixir-autogen, elixir-format
msgid "Get involved!"
msgstr ""
#: lib/cannery_web/live/home_live.ex:157
#: lib/cannery_web/live/home_live.ex:172
#, elixir-autogen, elixir-format
msgid "Help translate"
msgstr ""
#: lib/cannery_web/live/home_live.ex:168
#: lib/cannery_web/live/home_live.ex:183
#, elixir-autogen, elixir-format
msgid "Report bugs or request features"
msgstr ""
#: lib/cannery_web/live/home_live.ex:146
#: lib/cannery_web/live/home_live.ex:161
#, elixir-autogen, elixir-format
msgid "View the source code"
msgstr ""
@ -794,22 +823,22 @@ msgstr ""
msgid "Catalog"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:40
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:43
#: lib/cannery_web/live/ammo_group_live/show.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Move Ammo"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:119
#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:39
#, elixir-autogen, elixir-format, fuzzy
msgid "Show Ammo"
msgstr ""
@ -821,18 +850,18 @@ msgstr ""
#: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:30
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
msgstr ""
#: lib/cannery_web/components/topbar.ex:25
#: lib/cannery_web/live/home_live.ex:25
#: lib/cannery_web/live/home_live.ex:42
#, elixir-autogen, elixir-format
msgid "Cannery logo"
msgstr ""
#: lib/cannery_web/live/home_live.ex:27
#: lib/cannery_web/live/home_live.ex:44
#, elixir-autogen, elixir-format
msgid "isn't he cute >:3"
msgstr ""
@ -850,12 +879,22 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:192
#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@ -880,7 +919,7 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:111
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@ -1036,18 +1075,18 @@ msgstr ""
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:120
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:230
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
@ -1057,7 +1096,7 @@ msgstr ""
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count"
msgstr ""
@ -1066,55 +1105,3 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:15
#, elixir-autogen, elixir-format
msgid "Home"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:28
#, elixir-autogen, elixir-format, fuzzy
msgid "Total packs:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "Total rounds:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:58
#, elixir-autogen, elixir-format
msgid "Last used on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Last used on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:177
#, elixir-autogen, elixir-format
msgid "Never used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format
msgid "Purchased on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit ammo"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No Ammo types"
msgstr ""

View File

@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-21 19:44+0000\n"
"PO-Revision-Date: 2022-11-13 21:49+0000\n"
"Last-Translator: Brea Foga <breaardiente@gmail.com>\n"
"PO-Revision-Date: 2022-05-22 22:52+0000\n"
"Last-Translator: Ed <ed.ylles1997@gmail.com>\n"
"Language-Team: Spanish <https://weblate.bubbletea.dev/projects/cannery/"
"errors/es/>\n"
"Language: es\n"
@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.14.2\n"
"X-Generator: Weblate 4.12.2\n"
## This file is a PO Template file.
##
@ -26,10 +26,10 @@ msgstr ""
#: lib/cannery/containers.ex:140
#, elixir-autogen, elixir-format
msgid "Container must be empty before deleting"
msgstr "El contenedor debe estar vacío antes de ser borrado"
msgstr "el Contenedor debe estar vació antes de borrarlo"
#: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:77
#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "No se pudo eliminar %{name}: %{error}"
@ -37,12 +37,12 @@ msgstr "No se pudo eliminar %{name}: %{error}"
#: lib/cannery_web/live/container_live/index.ex:76
#, elixir-autogen, elixir-format
msgid "Could not find that container"
msgstr "No se pudo encontrar el contenedor"
msgstr ""
#: lib/cannery_web/controllers/user_settings_controller.ex:84
#, elixir-autogen, elixir-format
msgid "Email change link is invalid or it has expired."
msgstr "El enlace de cambio de correo es inválido o ha expirado."
msgstr ""
#: lib/cannery_web/templates/error/error.html.heex:8
#, elixir-autogen, elixir-format
@ -52,22 +52,22 @@ msgstr "Error"
#: lib/cannery_web/templates/error/error.html.heex:28
#, elixir-autogen, elixir-format
msgid "Go back home"
msgstr "Volver hacia atrás"
msgstr ""
#: lib/cannery_web/views/error_view.ex:11
#, elixir-autogen, elixir-format
msgid "Internal Server Error"
msgstr "Error interno del servidor"
msgstr ""
#: lib/cannery_web/controllers/user_session_controller.ex:17
#, elixir-autogen, elixir-format
msgid "Invalid email or password"
msgstr "Correo o contraseña incorrecta"
msgstr ""
#: lib/cannery_web/views/error_view.ex:9
#, elixir-autogen, elixir-format
msgid "Not found"
msgstr "No se encontró"
msgstr ""
#: lib/cannery_web/templates/user_registration/new.html.heex:16
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:16
@ -90,117 +90,117 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_controller.ex:56
#, elixir-autogen, elixir-format
msgid "Sorry, public registration is disabled"
msgstr "Lo sentimos, la inscripción pública está desactivada"
msgstr ""
#: lib/cannery_web/controllers/user_registration_controller.ex:15
#: lib/cannery_web/controllers/user_registration_controller.ex:46
#, elixir-autogen, elixir-format
msgid "Sorry, this invite was not found or expired"
msgstr "Lo sentimos, esta invitación no fue encontrada o ha expirado"
msgstr ""
#: lib/cannery_web/controllers/user_settings_controller.ex:99
#, elixir-autogen, elixir-format
msgid "Unable to delete user"
msgstr "No se pudo borrar el usuario"
msgstr ""
#: lib/cannery_web/views/error_view.ex:10
#, elixir-autogen, elixir-format
msgid "Unauthorized"
msgstr "No autorizado"
msgstr ""
#: lib/cannery_web/controllers/user_confirmation_controller.ex:54
#, elixir-autogen, elixir-format
msgid "User confirmation link is invalid or it has expired."
msgstr "El enlace de confirmación es inválido o ha expirado."
msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:18
#, elixir-autogen, elixir-format
msgid "You are not authorized to view this page"
msgstr "No está autorizado a ver esta página"
msgstr ""
#: lib/cannery_web/controllers/user_auth.ex:177
#, elixir-autogen, elixir-format
msgid "You are not authorized to view this page."
msgstr "No está autorizado a ver esta página."
msgstr ""
#: lib/cannery/accounts/user.ex:138
#, elixir-autogen, elixir-format
msgid "did not change"
msgstr "no cambió"
msgstr ""
#: lib/cannery/accounts/user.ex:159
#, elixir-autogen, elixir-format
msgid "does not match password"
msgstr "no coincide con la contraseña"
msgstr ""
#: lib/cannery/accounts/user.ex:196
#, elixir-autogen, elixir-format
msgid "is not valid"
msgstr "no es válido"
msgstr ""
#: lib/cannery/accounts/user.ex:92
#, elixir-autogen, elixir-format
msgid "must have the @ sign and no spaces"
msgstr "debe tener el signo @ y no contener espacios"
msgstr ""
#: lib/cannery/tags.ex:40
#, elixir-autogen, elixir-format
msgid "Tag not found"
msgstr "Etiqueta no encontrada"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.ex:30
#, elixir-autogen, elixir-format
msgid "Tag could not be added"
msgstr "La etiqueta no pudo ser añadida"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:123
#, elixir-autogen, elixir-format
msgid "Count must be at least 1"
msgstr "El recuento debe dar al menos 1"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:82
#: lib/cannery/activity_log/shot_group.ex:119
#, elixir-autogen, elixir-format
msgid "Count must be less than %{count}"
msgstr "El recuento debe ser menos de %{count}"
msgstr ""
#: lib/cannery_web/controllers/user_auth.ex:39
#: lib/cannery_web/controllers/user_auth.ex:161
#, elixir-autogen, elixir-format
msgid "You must confirm your account and log in to access this page."
msgstr "Debe confirmar su cuenta e iniciar sesión para acceder a esta página."
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.ex:52
#, elixir-autogen, elixir-format
msgid "Tag could not be removed"
msgstr "La etiqueta no pudo ser eliminada"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.ex:157
#, elixir-autogen, elixir-format
msgid "Could not parse number of copies"
msgstr "No se pudo analizar el número de copias"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.ex:142
#, elixir-autogen, elixir-format
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "Número inválido de copias, debe ser entre 1 y %{max}. Fue %{multiplier"
msgstr ""
#: lib/cannery/ammo.ex:609
#, elixir-autogen, elixir-format
msgid "Invalid multiplier"
msgstr "Multiplicador inválido"
msgstr ""
#: lib/cannery/ammo/ammo_group.ex:96
#: lib/cannery/ammo/ammo_group.ex:94
#, elixir-autogen, elixir-format
msgid "Please select an ammo type and container"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format
msgid "Please select a valid user and ammo group"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:67
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr "Su navegador no es compatible con el elemento lienzo."
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid user and ammo pack"
msgstr ""

View File

@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} creado exitosamente"
#: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:55
#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@ -51,7 +51,7 @@ msgid "%{name} enabled succesfully"
msgstr "%{name} activado exitosamente"
#: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:67
#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr "%{name} ha sido borrado"
@ -76,15 +76,20 @@ msgstr ""
"Un enlace para confirmar el correo electrónico ha sido enviado a la nueva "
"dirección."
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr "Grupo de Munición borrado exitosamente"
#: lib/cannery_web/live/invite_live/index.html.heex:103
#: lib/cannery_web/live/invite_live/index.html.heex:133
#, elixir-autogen, elixir-format
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.ex:236
#: lib/cannery_web/live/container_live/index.ex:223
#: lib/cannery_web/live/container_live/index.html.heex:73
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/container_live/show.html.heex:51
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
@ -95,7 +100,7 @@ msgstr "Está seguro que desea eliminar %{name}?"
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Está seguro que quiere eliminar la invitación para %{name}?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:131
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -155,13 +160,13 @@ msgstr "Contraseña cambiada exitosamente."
msgid "Please check your email to verify your account"
msgstr "Por favor chequea el correo para verificar tu cuenta"
#: lib/cannery_web/live/home_live.ex:91
#: lib/cannery_web/live/home_live.ex:108
#, elixir-autogen, elixir-format
msgid "Register to setup %{name}"
msgstr "Regístrese para configurar %{name}"
#: lib/cannery_web/components/add_shot_group_component.html.heex:55
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:157
#: lib/cannery_web/live/container_live/form_component.html.heex:52
#: lib/cannery_web/live/invite_live/form_component.html.heex:33
@ -187,7 +192,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr "%{name} añadido exitosamente"
#: lib/cannery_web/live/container_live/show.ex:43
#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr "se ha removido %{tag_name} de %{container_name}"
@ -207,13 +212,13 @@ msgstr "Tiros registrados exitosamente"
msgid "Are you sure you want to unstage this ammo?"
msgstr "Está seguro que desea desmontar esta munición?"
#: lib/cannery_web/live/ammo_group_live/show.ex:137
#: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:159
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:83
#: lib/cannery_web/live/ammo_group_live/show.ex:78
#: lib/cannery_web/live/range_live/index.ex:54
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
@ -250,7 +255,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr ""
@ -265,8 +270,7 @@ msgstr ""
msgid "Language updated successfully."
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#: lib/cannery_web/live/ammo_group_live/show.ex:55
#: lib/cannery_web/live/ammo_group_live/show.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo deleted succesfully"
msgstr ""

View File

@ -134,7 +134,7 @@ msgid "Reset password"
msgstr "Réinitialisé le mot de passe"
#: lib/cannery_web/components/add_shot_group_component.html.heex:53
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:73
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:156
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
@ -149,7 +149,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:80
#: lib/cannery_web/live/container_live/show.html.heex:72
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr "Pourquoi pas en ajouter un?"
@ -169,7 +169,7 @@ msgstr "Munition préparée"
msgid "Why not get some ready to shoot?"
msgstr "Pourquoi pas en préparer pour tirer?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:79
#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@ -201,7 +201,7 @@ msgstr "Copier dans le presse-papier"
msgid "add a container first"
msgstr "ajouter un conteneur en premier"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#, elixir-autogen, elixir-format
msgid "Create"
msgstr "Créer"

View File

@ -23,14 +23,14 @@ 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_web/live/home_live.ex:47
#: lib/cannery_web/live/home_live.ex:64
#, elixir-autogen, elixir-format
msgid "%{name} lets you easily keep an eye on your ammo levels before and after range day"
msgstr ""
"%{name} vous permet de facilement garder un œil sur votre niveau de munition "
"avant et après une journée de stand"
#: lib/cannery_web/live/home_live.ex:69
#: lib/cannery_web/live/home_live.ex:86
#, elixir-autogen, elixir-format
msgid "Access from any internet-capable device"
msgstr "Accédez depuis nimporte quel appareil connecté à internet"
@ -40,20 +40,19 @@ msgstr "Accédez depuis nimporte quel appareil connecté à internet"
msgid "Admins"
msgstr "Administrateur·ices"
#: lib/cannery_web/live/home_live.ex:83
#: lib/cannery_web/live/home_live.ex:100
#, elixir-autogen, elixir-format
msgid "Admins:"
msgstr "Administrateur·ices:"
#: lib/cannery_web/components/topbar.ex:73
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#: lib/cannery_web/live/ammo_group_live/index.html.heex:3
#: lib/cannery_web/live/range_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Ammo"
msgstr "Munition"
#: lib/cannery_web/components/ammo_group_table_component.ex:89
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#, elixir-autogen, elixir-format
msgid "Ammo type"
@ -105,9 +104,9 @@ msgstr "Cartouche"
msgid "Case material"
msgstr "Matériau de la caisse"
#: lib/cannery_web/components/ammo_group_table_component.ex:65
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:56
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Conteneur"
@ -126,7 +125,7 @@ msgstr "Conteneurs"
msgid "Corrosive"
msgstr "Corrosive"
#: lib/cannery_web/components/ammo_group_table_component.ex:76
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#, elixir-autogen, elixir-format
msgid "Count"
@ -151,11 +150,16 @@ msgstr "Description"
msgid "Description:"
msgstr "Description:"
#: lib/cannery_web/live/home_live.ex:44
#: lib/cannery_web/live/home_live.ex:61
#, elixir-autogen, elixir-format
msgid "Easy to Use:"
msgstr "Simple à utiliser:"
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format
msgid "Edit Ammo group"
msgstr "Éditer le groupe de munition"
#: lib/cannery_web/live/ammo_type_live/index.ex:23
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
@ -193,17 +197,17 @@ msgstr "Graines"
msgid "Incendiary"
msgstr "Incendiaire"
#: lib/cannery_web/live/home_live.ex:78
#: lib/cannery_web/live/home_live.ex:95
#, elixir-autogen, elixir-format
msgid "Instance Information"
msgstr "Information de linstance"
#: lib/cannery_web/components/invite_card.ex:35
#: lib/cannery_web/components/invite_card.ex:32
#, elixir-autogen, elixir-format
msgid "Invite Disabled"
msgstr "Invitation désactivée"
#: lib/cannery_web/live/home_live.ex:111
#: lib/cannery_web/live/home_live.ex:128
#, elixir-autogen, elixir-format
msgid "Invite Only"
msgstr "Uniquement sur invitation"
@ -291,6 +295,11 @@ msgstr "Nouveau tag"
msgid "No Ammo"
msgstr "Aucune munition"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No Ammo Types"
msgstr "Aucun type de munition"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:166
#, elixir-autogen, elixir-format
msgid "No ammo for this type"
@ -313,9 +322,9 @@ msgid "No tags"
msgstr "Aucun tag"
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:49
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
#: lib/cannery_web/live/range_live/index.ex:82
#, elixir-autogen, elixir-format
@ -339,7 +348,7 @@ msgstr "Sur létagère"
msgid "Pressure"
msgstr "Pression"
#: lib/cannery_web/components/ammo_group_table_component.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#, elixir-autogen, elixir-format
msgid "Price paid"
@ -356,17 +365,17 @@ msgstr "Prix payé:"
msgid "Primer type"
msgstr "Type damorce"
#: lib/cannery_web/live/home_live.ex:110
#: lib/cannery_web/live/home_live.ex:127
#, elixir-autogen, elixir-format
msgid "Public Signups"
msgstr "Enregistrements publics"
#: lib/cannery_web/live/home_live.ex:56
#: lib/cannery_web/live/home_live.ex:73
#, elixir-autogen, elixir-format
msgid "Secure:"
msgstr "Sécurisé:"
#: lib/cannery_web/live/home_live.ex:59
#: lib/cannery_web/live/home_live.ex:76
#, elixir-autogen, elixir-format
msgid "Self-host your own instance, or use an instance from someone you trust."
msgstr ""
@ -379,7 +388,7 @@ msgstr ""
msgid "Settings"
msgstr "Paramètres"
#: lib/cannery_web/live/home_live.ex:66
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
msgstr "Simple:"
@ -414,7 +423,7 @@ msgstr ""
msgid "Text color"
msgstr "Couleur du texte"
#: lib/cannery_web/live/home_live.ex:35
#: lib/cannery_web/live/home_live.ex:52
#, elixir-autogen, elixir-format
msgid "The self-hosted firearm tracker website"
msgstr "Le site web de suivi darme à feux auto-hébergé"
@ -443,7 +452,7 @@ msgstr "Type:"
msgid "Users"
msgstr "Utilisateurs"
#: lib/cannery_web/components/invite_card.ex:30
#: lib/cannery_web/components/invite_card.ex:27
#, elixir-autogen, elixir-format
msgid "Uses Left:"
msgstr "Utilisations restantes:"
@ -453,22 +462,22 @@ msgstr "Utilisations restantes:"
msgid "Uses left"
msgstr "Utilisations restantes"
#: lib/cannery_web/live/home_live.ex:31
#: lib/cannery_web/live/home_live.ex:48
#, elixir-autogen, elixir-format
msgid "Welcome to %{name}"
msgstr "Bienvenue à %{name}"
#: lib/cannery_web/live/home_live.ex:60
#: lib/cannery_web/live/home_live.ex:77
#, elixir-autogen, elixir-format
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:72
#: lib/cannery_web/live/container_live/show.html.heex:64
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr "Aucun tag pour ce conteneur"
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
#, elixir-autogen, elixir-format
msgid "Range"
@ -479,9 +488,7 @@ msgstr "Portée"
msgid "Range day"
msgstr "Journée de stand"
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#: lib/cannery_web/live/ammo_group_live/show.ex:89
#: lib/cannery_web/live/range_live/index.ex:83
#, elixir-autogen, elixir-format
msgid "Date"
@ -503,7 +510,18 @@ msgstr "Aucune munition sélectionnée"
msgid "Record shots"
msgstr "Tirs enregistrés"
#: lib/cannery_web/live/ammo_group_live/show.ex:42
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr "Groupes de munition"
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Date (UTC)"
msgstr "Date (UTC)"
#: lib/cannery_web/live/ammo_group_live/show.ex:37
#: lib/cannery_web/live/range_live/index.ex:32
#, elixir-autogen, elixir-format
msgid "Edit Shot Records"
@ -525,7 +543,7 @@ msgstr "Aucun tir enregistré"
msgid "Rounds left"
msgstr "Cartouches restantes"
#: lib/cannery_web/live/ammo_group_live/show.ex:92
#: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format
@ -538,7 +556,11 @@ msgid "Shot Records"
msgstr "Enregistrements de tir"
#: lib/cannery_web/live/ammo_group_live/index.ex:32
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
#, elixir-autogen, elixir-format
msgid "Move Ammo group"
msgstr "Déplacer le groupe de munition"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr "Déplacer munition"
@ -555,8 +577,8 @@ msgstr "Évènements de tir"
#: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:152
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -616,12 +638,12 @@ msgstr "Mot de passe actuel"
msgid "New password"
msgstr "Nouveau mot de passe"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr "Sélectionné"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr "Désélectionner"
@ -643,32 +665,32 @@ msgid "Loading..."
msgstr "Chargement en cours…"
#: lib/cannery_web/live/container_live/index.ex:27
#: lib/cannery_web/live/container_live/show.ex:126
#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr "Éditer %{name}"
#: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:127
#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr "Éditer les tags de %{name}"
#: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:39
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format
msgid "Rounds:"
msgstr "Cartouches:"
#: lib/cannery_web/components/ammo_group_table_component.ex:221
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr "Aucune information de prix"
#: lib/cannery_web/components/ammo_group_table_component.ex:80
#: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format
msgid "% left"
msgstr "%restante"
@ -723,13 +745,13 @@ msgstr "Senregistrer"
msgid "Reset your password"
msgstr "Réinitialiser votre mot de passe"
#: lib/cannery_web/live/ammo_group_live/show.ex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:36
#: lib/cannery_web/live/range_live/index.ex:26
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr "Enregistrer des tirs"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr "Exemplaires"
@ -739,6 +761,13 @@ msgstr "Exemplaires"
msgid "Ammo types"
msgstr "Types de munition"
#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr "Ajouté le"
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
@ -772,22 +801,22 @@ msgstr "Allemand"
msgid "Language"
msgstr "Langue"
#: lib/cannery_web/live/home_live.ex:136
#: lib/cannery_web/live/home_live.ex:151
#, elixir-autogen, elixir-format
msgid "Get involved!"
msgstr "Impliquez-vous!"
#: lib/cannery_web/live/home_live.ex:157
#: lib/cannery_web/live/home_live.ex:172
#, elixir-autogen, elixir-format
msgid "Help translate"
msgstr "Aider à la traduction"
#: lib/cannery_web/live/home_live.ex:168
#: lib/cannery_web/live/home_live.ex:183
#, elixir-autogen, elixir-format
msgid "Report bugs or request features"
msgstr "Remonter des bugs ou une demande de fonctionnalité"
#: lib/cannery_web/live/home_live.ex:146
#: lib/cannery_web/live/home_live.ex:161
#, elixir-autogen, elixir-format
msgid "View the source code"
msgstr "Voir le code source"
@ -798,22 +827,22 @@ msgstr "Voir le code source"
msgid "Catalog"
msgstr "Catalogue"
#: lib/cannery_web/live/ammo_group_live/show.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:40
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit Ammo"
msgstr "Éditer le type de munition"
#: lib/cannery_web/live/ammo_group_live/show.ex:43
#: lib/cannery_web/live/ammo_group_live/show.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Move Ammo"
msgstr "Déplacer munition"
#: lib/cannery_web/live/container_live/show.html.heex:119
#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr "Aucun groupe de munition pour ce conteneur"
#: lib/cannery_web/live/ammo_group_live/show.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:39
#, elixir-autogen, elixir-format, fuzzy
msgid "Show Ammo"
msgstr "Montrer le type de munition"
@ -825,18 +854,18 @@ msgstr "Ce groupe de munition nest pas dans un conteneur"
#: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:30
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
msgstr "Packages:"
#: lib/cannery_web/components/topbar.ex:25
#: lib/cannery_web/live/home_live.ex:25
#: lib/cannery_web/live/home_live.ex:42
#, elixir-autogen, elixir-format
msgid "Cannery logo"
msgstr "Logo de Cannery"
#: lib/cannery_web/live/home_live.ex:27
#: lib/cannery_web/live/home_live.ex:44
#, elixir-autogen, elixir-format
msgid "isn't he cute >:3"
msgstr "N'est-il mignon >:3"
@ -855,12 +884,22 @@ msgstr "Conteneur"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:192
#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@ -885,7 +924,7 @@ msgstr "Cartouches:"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:111
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@ -1041,18 +1080,18 @@ msgstr "UPC"
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:120
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}"
msgstr "Éditer %{name}"
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:230
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
@ -1062,7 +1101,7 @@ msgstr ""
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count"
msgstr "Nombre original:"
@ -1071,55 +1110,3 @@ msgstr "Nombre original:"
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:"
msgstr "Nombre original:"
#: lib/cannery_web/live/home_live.ex:15
#, elixir-autogen, elixir-format
msgid "Home"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:28
#, elixir-autogen, elixir-format, fuzzy
msgid "Total packs:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "Total rounds:"
msgstr "Nombre totale de cartouches tirées:"
#: lib/cannery_web/components/ammo_group_table_component.ex:58
#, elixir-autogen, elixir-format
msgid "Last used on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Last used on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:177
#, elixir-autogen, elixir-format
msgid "Never used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format
msgid "Purchased on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit ammo"
msgstr "Éditer le type de munition"
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No Ammo types"
msgstr "Aucun type de munition"

View File

@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
msgstr "Le conteneur doit être vide pour être supprimé"
#: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:77
#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "Impossible de supprimer %{name} : %{error}"
@ -191,17 +191,17 @@ msgstr "Nombre de copies invalide, doit être 1 et %{max}. Été %{multiplier}"
msgid "Invalid multiplier"
msgstr "Multiplicateur invalide"
#: lib/cannery/ammo/ammo_group.ex:96
#: lib/cannery/ammo/ammo_group.ex:94
#, elixir-autogen, elixir-format
msgid "Please select an ammo type and container"
msgstr "Veuillez choisir un type de munitions et un conteneur"
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format
msgid "Please select a valid user and ammo group"
msgstr "Veuillez choisir un utilisateur valide et un groupe de munitions"
#: lib/cannery_web/live/range_live/index.html.heex:67
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid user and ammo pack"
msgstr "Veuillez choisir un utilisateur valide et un groupe de munitions"

View File

@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} créé· avec succès"
#: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:55
#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@ -51,7 +51,7 @@ msgid "%{name} enabled succesfully"
msgstr "%{name} activé·e avec succès"
#: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:67
#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr "%{name} a été supprimé·e"
@ -76,6 +76,11 @@ msgstr ""
"Un lien pour confirmer votre changement de mél a été envoyé à la nouvelle "
"adresse."
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr "Groupe de munition supprimé avec succès"
#: lib/cannery_web/live/invite_live/index.html.heex:103
#: lib/cannery_web/live/invite_live/index.html.heex:133
#, elixir-autogen, elixir-format
@ -83,9 +88,9 @@ 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.ex:236
#: lib/cannery_web/live/container_live/index.ex:223
#: lib/cannery_web/live/container_live/index.html.heex:73
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/container_live/show.html.heex:51
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
@ -96,7 +101,7 @@ msgstr "Êtes-vous certain·e de supprimer %{name}?"
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Êtes-vous certain·e de supprimer linvitation pour %{name}?"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:131
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -156,13 +161,13 @@ msgstr "Mot de passe mis à jour avec succès."
msgid "Please check your email to verify your account"
msgstr "Veuillez vérifier votre mél pour confirmer votre compte"
#: lib/cannery_web/live/home_live.ex:91
#: lib/cannery_web/live/home_live.ex:108
#, elixir-autogen, elixir-format
msgid "Register to setup %{name}"
msgstr "Senregistrer pour mettre en place %{name}"
#: lib/cannery_web/components/add_shot_group_component.html.heex:55
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:157
#: lib/cannery_web/live/container_live/form_component.html.heex:52
#: lib/cannery_web/live/invite_live/form_component.html.heex:33
@ -189,7 +194,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr "%{name} a été ajouté avec succès"
#: lib/cannery_web/live/container_live/show.ex:43
#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr "%{tag_name} a été retiré de %{container_name}"
@ -209,13 +214,13 @@ msgstr "Tirs enregistré avec succès"
msgid "Are you sure you want to unstage this ammo?"
msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition?"
#: lib/cannery_web/live/ammo_group_live/show.ex:137
#: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:159
#, 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/ammo_group_live/show.ex:83
#: lib/cannery_web/live/ammo_group_live/show.ex:78
#: lib/cannery_web/live/range_live/index.ex:54
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
@ -252,7 +257,7 @@ msgstr "%{name} retiré avec succès"
msgid "You'll need to"
msgstr "Vous aurez besoin de"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr "Création en cours…"
@ -267,8 +272,7 @@ msgstr "Êtes-vous certain·e de vouloir changer votre langue?"
msgid "Language updated successfully."
msgstr "Langue mise à jour avec succès."
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#: lib/cannery_web/live/ammo_group_live/show.ex:55
#: lib/cannery_web/live/ammo_group_live/show.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo deleted succesfully"
msgstr "Groupe de munition supprimé avec succès"

View File

@ -132,7 +132,7 @@ msgid "Reset password"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:53
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:73
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:156
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
@ -147,7 +147,7 @@ msgstr ""
msgid "Send instructions to reset password"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:80
#: lib/cannery_web/live/container_live/show.html.heex:72
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr ""
@ -167,7 +167,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:79
#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@ -199,7 +199,7 @@ msgstr ""
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#, elixir-autogen, elixir-format
msgid "Create"
msgstr ""

View File

@ -21,12 +21,12 @@ 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_web/live/home_live.ex:47
#: lib/cannery_web/live/home_live.ex:64
#, elixir-autogen, elixir-format
msgid "%{name} lets you easily keep an eye on your ammo levels before and after range day"
msgstr ""
#: lib/cannery_web/live/home_live.ex:69
#: lib/cannery_web/live/home_live.ex:86
#, elixir-autogen, elixir-format
msgid "Access from any internet-capable device"
msgstr ""
@ -36,20 +36,19 @@ msgstr ""
msgid "Admins"
msgstr ""
#: lib/cannery_web/live/home_live.ex:83
#: lib/cannery_web/live/home_live.ex:100
#, elixir-autogen, elixir-format
msgid "Admins:"
msgstr ""
#: lib/cannery_web/components/topbar.ex:73
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#: lib/cannery_web/live/ammo_group_live/index.html.heex:3
#: lib/cannery_web/live/range_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Ammo"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:89
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#, elixir-autogen, elixir-format
msgid "Ammo type"
@ -101,9 +100,9 @@ msgstr ""
msgid "Case material"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:65
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:56
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -122,7 +121,7 @@ msgstr ""
msgid "Corrosive"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:76
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#, elixir-autogen, elixir-format
msgid "Count"
@ -147,11 +146,16 @@ msgstr ""
msgid "Description:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:44
#: lib/cannery_web/live/home_live.ex:61
#, elixir-autogen, elixir-format
msgid "Easy to Use:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format
msgid "Edit Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:23
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
@ -189,17 +193,17 @@ msgstr ""
msgid "Incendiary"
msgstr ""
#: lib/cannery_web/live/home_live.ex:78
#: lib/cannery_web/live/home_live.ex:95
#, elixir-autogen, elixir-format
msgid "Instance Information"
msgstr ""
#: lib/cannery_web/components/invite_card.ex:35
#: lib/cannery_web/components/invite_card.ex:32
#, elixir-autogen, elixir-format
msgid "Invite Disabled"
msgstr ""
#: lib/cannery_web/live/home_live.ex:111
#: lib/cannery_web/live/home_live.ex:128
#, elixir-autogen, elixir-format
msgid "Invite Only"
msgstr ""
@ -287,6 +291,11 @@ msgstr ""
msgid "No Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format
msgid "No Ammo Types"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:166
#, elixir-autogen, elixir-format
msgid "No ammo for this type"
@ -309,9 +318,9 @@ msgid "No tags"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:81
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:49
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
#: lib/cannery_web/live/range_live/index.ex:82
#, elixir-autogen, elixir-format
@ -335,7 +344,7 @@ msgstr ""
msgid "Pressure"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#, elixir-autogen, elixir-format
msgid "Price paid"
@ -352,17 +361,17 @@ msgstr ""
msgid "Primer type"
msgstr ""
#: lib/cannery_web/live/home_live.ex:110
#: lib/cannery_web/live/home_live.ex:127
#, elixir-autogen, elixir-format
msgid "Public Signups"
msgstr ""
#: lib/cannery_web/live/home_live.ex:56
#: lib/cannery_web/live/home_live.ex:73
#, elixir-autogen, elixir-format
msgid "Secure:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:59
#: lib/cannery_web/live/home_live.ex:76
#, elixir-autogen, elixir-format
msgid "Self-host your own instance, or use an instance from someone you trust."
msgstr ""
@ -373,7 +382,7 @@ msgstr ""
msgid "Settings"
msgstr ""
#: lib/cannery_web/live/home_live.ex:66
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
msgstr ""
@ -406,7 +415,7 @@ msgstr ""
msgid "Text color"
msgstr ""
#: lib/cannery_web/live/home_live.ex:35
#: lib/cannery_web/live/home_live.ex:52
#, elixir-autogen, elixir-format
msgid "The self-hosted firearm tracker website"
msgstr ""
@ -435,7 +444,7 @@ msgstr ""
msgid "Users"
msgstr ""
#: lib/cannery_web/components/invite_card.ex:30
#: lib/cannery_web/components/invite_card.ex:27
#, elixir-autogen, elixir-format
msgid "Uses Left:"
msgstr ""
@ -445,22 +454,22 @@ msgstr ""
msgid "Uses left"
msgstr ""
#: lib/cannery_web/live/home_live.ex:31
#: lib/cannery_web/live/home_live.ex:48
#, elixir-autogen, elixir-format
msgid "Welcome to %{name}"
msgstr ""
#: lib/cannery_web/live/home_live.ex:60
#: lib/cannery_web/live/home_live.ex:77
#, elixir-autogen, elixir-format
msgid "Your data stays with you, period"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:72
#: lib/cannery_web/live/container_live/show.html.heex:64
#, elixir-autogen, elixir-format
msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
#, elixir-autogen, elixir-format
msgid "Range"
@ -471,9 +480,7 @@ msgstr ""
msgid "Range day"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:94
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#: lib/cannery_web/live/ammo_group_live/show.ex:89
#: lib/cannery_web/live/range_live/index.ex:83
#, elixir-autogen, elixir-format
msgid "Date"
@ -495,7 +502,18 @@ msgstr ""
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:42
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Date (UTC)"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:37
#: lib/cannery_web/live/range_live/index.ex:32
#, elixir-autogen, elixir-format
msgid "Edit Shot Records"
@ -517,7 +535,7 @@ msgstr ""
msgid "Rounds left"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:92
#: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format
@ -530,7 +548,11 @@ msgid "Shot Records"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:32
#: lib/cannery_web/live/ammo_group_live/index.html.heex:96
#, elixir-autogen, elixir-format
msgid "Move Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -547,8 +569,8 @@ msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:152
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -608,12 +630,12 @@ msgstr ""
msgid "New password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:72
#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
@ -635,32 +657,32 @@ msgid "Loading..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:27
#: lib/cannery_web/live/container_live/show.ex:126
#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:127
#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
#: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:39
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format
msgid "Rounds:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:221
#: lib/cannery_web/components/ammo_group_table_component.ex:224
#: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:80
#: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@ -715,13 +737,13 @@ msgstr ""
msgid "Reset your password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:36
#: lib/cannery_web/live/range_live/index.ex:26
#, elixir-autogen, elixir-format
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:66
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@ -731,6 +753,13 @@ msgstr ""
msgid "Ammo types"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
@ -764,22 +793,22 @@ msgstr ""
msgid "Language"
msgstr ""
#: lib/cannery_web/live/home_live.ex:136
#: lib/cannery_web/live/home_live.ex:151
#, elixir-autogen, elixir-format
msgid "Get involved!"
msgstr ""
#: lib/cannery_web/live/home_live.ex:157
#: lib/cannery_web/live/home_live.ex:172
#, elixir-autogen, elixir-format
msgid "Help translate"
msgstr ""
#: lib/cannery_web/live/home_live.ex:168
#: lib/cannery_web/live/home_live.ex:183
#, elixir-autogen, elixir-format
msgid "Report bugs or request features"
msgstr ""
#: lib/cannery_web/live/home_live.ex:146
#: lib/cannery_web/live/home_live.ex:161
#, elixir-autogen, elixir-format
msgid "View the source code"
msgstr ""
@ -790,22 +819,22 @@ msgstr ""
msgid "Catalog"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:45
#: lib/cannery_web/live/ammo_group_live/show.ex:40
#, elixir-autogen, elixir-format
msgid "Edit Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:43
#: lib/cannery_web/live/ammo_group_live/show.ex:38
#, elixir-autogen, elixir-format
msgid "Move Ammo"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:119
#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format
msgid "No ammo in this container"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:39
#, elixir-autogen, elixir-format
msgid "Show Ammo"
msgstr ""
@ -817,18 +846,18 @@ msgstr ""
#: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:30
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
msgstr ""
#: lib/cannery_web/components/topbar.ex:25
#: lib/cannery_web/live/home_live.ex:25
#: lib/cannery_web/live/home_live.ex:42
#, elixir-autogen, elixir-format
msgid "Cannery logo"
msgstr ""
#: lib/cannery_web/live/home_live.ex:27
#: lib/cannery_web/live/home_live.ex:44
#, elixir-autogen, elixir-format
msgid "isn't he cute >:3"
msgstr ""
@ -846,12 +875,22 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:105
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:192
#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@ -876,7 +915,7 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:111
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@ -1032,18 +1071,18 @@ msgstr ""
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:120
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:230
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
@ -1053,7 +1092,7 @@ msgstr ""
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:77
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count"
msgstr ""
@ -1062,55 +1101,3 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:"
msgstr ""
#: lib/cannery_web/live/home_live.ex:15
#, elixir-autogen, elixir-format
msgid "Home"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:28
#, elixir-autogen, elixir-format, fuzzy
msgid "Total packs:"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:37
#, elixir-autogen, elixir-format, fuzzy
msgid "Total rounds:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:58
#, elixir-autogen, elixir-format
msgid "Last used on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format
msgid "Last used on:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:177
#, elixir-autogen, elixir-format
msgid "Never used"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:57
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
#, elixir-autogen, elixir-format
msgid "Purchased on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit ammo"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
#, elixir-autogen, elixir-format, fuzzy
msgid "No Ammo types"
msgstr ""

View File

@ -30,7 +30,7 @@ msgid "Container must be empty before deleting"
msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh"
#: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:77
#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "Ní feidir %{name} a scriosadh: %{error}"
@ -190,17 +190,17 @@ msgstr ""
msgid "Invalid multiplier"
msgstr ""
#: lib/cannery/ammo/ammo_group.ex:96
#: lib/cannery/ammo/ammo_group.ex:94
#, elixir-autogen, elixir-format
msgid "Please select an ammo type and container"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format
msgid "Please select a valid user and ammo group"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:67
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:77
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid user and ammo pack"
msgstr ""

View File

@ -30,7 +30,7 @@ msgid "%{name} created successfully"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:55
#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@ -49,7 +49,7 @@ msgid "%{name} enabled succesfully"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:67
#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr ""
@ -72,15 +72,20 @@ msgstr ""
msgid "A link to confirm your email change has been sent to the new address."
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:103
#: lib/cannery_web/live/invite_live/index.html.heex:133
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:236
#: lib/cannery_web/live/container_live/index.ex:223
#: lib/cannery_web/live/container_live/index.html.heex:73
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/container_live/show.html.heex:51
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
@ -91,7 +96,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:131
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -147,13 +152,13 @@ msgstr ""
msgid "Please check your email to verify your account"
msgstr ""
#: lib/cannery_web/live/home_live.ex:91
#: lib/cannery_web/live/home_live.ex:108
#, elixir-autogen, elixir-format
msgid "Register to setup %{name}"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:55
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:157
#: lib/cannery_web/live/container_live/form_component.html.heex:52
#: lib/cannery_web/live/invite_live/form_component.html.heex:33
@ -178,7 +183,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr ""
#: lib/cannery_web/live/container_live/show.ex:43
#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
@ -198,13 +203,13 @@ msgstr ""
msgid "Are you sure you want to unstage this ammo?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:137
#: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:159
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:83
#: lib/cannery_web/live/ammo_group_live/show.ex:78
#: lib/cannery_web/live/range_live/index.ex:54
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
@ -241,7 +246,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr ""
@ -256,8 +261,7 @@ msgstr ""
msgid "Language updated successfully."
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#: lib/cannery_web/live/ammo_group_live/show.ex:55
#: lib/cannery_web/live/ammo_group_live/show.ex:50
#, elixir-autogen, elixir-format
msgid "Ammo deleted succesfully"
msgstr ""

View File

@ -19,7 +19,7 @@ msgid "%{name} created successfully"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:55
#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@ -38,7 +38,7 @@ msgid "%{name} enabled succesfully"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:67
#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr ""
@ -61,15 +61,20 @@ msgstr ""
msgid "A link to confirm your email change has been sent to the new address."
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:103
#: lib/cannery_web/live/invite_live/index.html.heex:133
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:236
#: lib/cannery_web/live/container_live/index.ex:223
#: lib/cannery_web/live/container_live/index.html.heex:73
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/container_live/show.html.heex:51
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
@ -80,7 +85,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:131
#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@ -136,13 +141,13 @@ msgstr ""
msgid "Please check your email to verify your account"
msgstr ""
#: lib/cannery_web/live/home_live.ex:91
#: lib/cannery_web/live/home_live.ex:108
#, elixir-autogen, elixir-format
msgid "Register to setup %{name}"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:55
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:74
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:157
#: lib/cannery_web/live/container_live/form_component.html.heex:52
#: lib/cannery_web/live/invite_live/form_component.html.heex:33
@ -167,7 +172,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr ""
#: lib/cannery_web/live/container_live/show.ex:43
#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
@ -187,13 +192,13 @@ msgstr ""
msgid "Are you sure you want to unstage this ammo?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:137
#: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:159
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:83
#: lib/cannery_web/live/ammo_group_live/show.ex:78
#: lib/cannery_web/live/range_live/index.ex:54
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
@ -230,7 +235,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr ""
@ -245,8 +250,7 @@ msgstr ""
msgid "Language updated successfully."
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#: lib/cannery_web/live/ammo_group_live/show.ex:55
#: lib/cannery_web/live/ammo_group_live/show.ex:50
#, elixir-autogen, elixir-format
msgid "Ammo deleted succesfully"
msgstr ""

View File

@ -1,16 +0,0 @@
defmodule Cannery.Repo.Migrations.AddMoreIndexes do
use Ecto.Migration
def change do
create unique_index(:container_tags, [:tag_id, :container_id])
create index(:ammo_groups, [:user_id], where: "count = 0", name: :empty_ammo_groups_index)
create index(:ammo_groups, [:user_id, :ammo_type_id])
create index(:ammo_groups, [:user_id, :container_id])
create index(:ammo_types, [:user_id])
drop index(:shot_groups, [:id])
create index(:shot_groups, [:user_id, :ammo_group_id])
end
end

View File

@ -1,19 +0,0 @@
defmodule Cannery.Repo.Migrations.AddPurchaseDateToAmmoGroup do
use Ecto.Migration
def up do
alter table(:ammo_groups) do
add :purchased_on, :date
end
flush()
execute("UPDATE ammo_groups SET purchased_on = inserted_at::DATE WHERE purchased_on IS NULL")
end
def down do
alter table(:ammo_groups) do
remove :purchased_on
end
end
end

View File

@ -224,22 +224,9 @@ defmodule Cannery.AmmoTest do
end
describe "ammo_groups" do
@valid_attrs %{
"count" => 42,
"notes" => "some notes",
"price_paid" => 120.5,
"purchased_on" => ~D[2022-11-19]
}
@update_attrs %{
"count" => 43,
"notes" => "some updated notes",
"price_paid" => 456.7
}
@invalid_attrs %{
"count" => nil,
"notes" => nil,
"price_paid" => nil
}
@valid_attrs %{"count" => 42, "notes" => "some notes", "price_paid" => 120.5}
@update_attrs %{"count" => 43, "notes" => "some updated notes", "price_paid" => 456.7}
@invalid_attrs %{"count" => nil, "notes" => nil, "price_paid" => nil}
setup do
current_user = user_fixture()

View File

@ -156,7 +156,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
assert index_live
|> element("[data-qa=\"edit-#{ammo_group.id}\"]")
|> render_click() =~
gettext("Edit ammo")
gettext("Edit Ammo")
assert_patch(index_live, Routes.ammo_group_index_path(conn, :edit, ammo_group))

View File

@ -14,10 +14,4 @@ defmodule CanneryWeb.HomeLiveTest do
assert disconnected_html =~ gettext("Welcome to %{name}", name: "Cannery")
assert render(home_live) =~ gettext("Welcome to %{name}", name: "Cannery")
end
test "displays version number", %{conn: conn} do
{:ok, home_live, disconnected_html} = live(conn, "/")
assert disconnected_html =~ Mix.Project.config()[:version]
assert render(home_live) =~ Mix.Project.config()[:version]
end
end

View File

@ -133,8 +133,7 @@ defmodule Cannery.Fixtures do
|> Enum.into(%{
"ammo_type_id" => ammo_type_id,
"container_id" => container_id,
"count" => 20,
"purchased_on" => Date.utc_today()
"count" => 20
})
|> Ammo.create_ammo_groups(multiplier, user)
|> unwrap_ok_tuple()