37 Commits

Author SHA1 Message Date
e1cb46cb97 fix dockerfile
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2024-07-28 13:35:58 -04:00
56a49ed2e3 fix changesets
Some checks failed
continuous-integration/drone/tag Build is failing
continuous-integration/drone/push Build is failing
2024-07-28 13:17:33 -04:00
f25c151956 add debounces to more fields 2024-07-28 13:05:50 -04:00
c2ddc2ae0d update deps 2024-07-28 12:21:36 -04:00
33e4d26a3d fix emails 2024-07-28 12:21:36 -04:00
179d67a896 update versions 2024-07-28 12:21:35 -04:00
15354d6004 update versions
All checks were successful
continuous-integration/drone/push Build is passing
2024-06-18 09:14:53 -04:00
e358cd6e4e downgrade versions until hex is supported in build
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2024-06-16 12:13:34 -04:00
202b70dc66 fix changeset warning
Some checks failed
continuous-integration/drone/tag Build is failing
continuous-integration/drone/push Build is failing
2024-06-16 11:48:49 -04:00
b963baa49d fix an issue with emails not being able to be sent 2024-06-16 11:46:35 -04:00
70701a27d3 fix issue with oban exception logger 2024-06-16 11:42:00 -04:00
67dc16d222 update deps 2024-06-16 11:42:00 -04:00
fa35038426 update to elixir 1.17 2024-06-16 11:42:00 -04:00
d896257602 actually fix bar graph
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-19 00:28:30 -04:00
4ca51a3f53 update dependencies
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-03-19 00:01:27 -04:00
96b05e8332 Make bar graph ignore gaps 2024-03-19 00:00:51 -04:00
557a2cac3d Improve login page autocomplete behavior
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-18 23:39:06 -04:00
e16e04c114 combine imports
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-18 23:26:41 -04:00
bbe4d82303 Use bar graph instead of line graph 2024-03-18 23:26:32 -04:00
c69d7843ab fix layout issues
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-23 23:34:04 -05:00
c18f59050c fix missing ssl and crypto packages
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2024-02-23 21:57:25 -05:00
67d688fc1e create italian gettext
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is failing
2024-02-23 21:22:51 -05:00
28e5fa56c3 Added translation using Weblate (Italian) 2024-02-23 21:21:42 -05:00
e301d3dd17 Added translation using Weblate (Italian) 2024-02-23 21:21:42 -05:00
4881cf6edb Added translation using Weblate (Italian) 2024-02-23 21:21:42 -05:00
6b61c45889 Added translation using Weblate (Italian) 2024-02-23 21:21:42 -05:00
4a674a0504 Added translation using Weblate (Italian) 2024-02-23 21:21:42 -05:00
7e6959fb3b Added translation using Weblate (Italian) 2024-02-23 21:21:42 -05:00
22f13b0c57 make ammo packs in containers directly navigable in table view 2024-02-23 21:20:32 -05:00
31024dcc0d fix test mode warning 2024-02-23 21:16:46 -05:00
e843014502 fix credo check for is_admin? 2024-02-23 21:13:34 -05:00
5d146ce6af fix credo check for is_already_admin? 2024-02-23 21:13:23 -05:00
27cda3733e update elixir deps 2024-02-23 21:12:11 -05:00
1965ecba32 bump version 2024-02-23 21:04:25 -05:00
69e40c6d18 update elixir deps 2024-02-23 21:04:25 -05:00
34b4b24e67 update npm deps 2024-02-23 21:04:25 -05:00
7ebed8d4c0 update tool versions 2024-02-23 21:04:25 -05:00
82 changed files with 6037 additions and 2670 deletions

View File

@ -17,7 +17,7 @@ steps:
- .mix
- name: test
image: elixir:1.15.4-alpine
image: elixir:1.17.0-otp-27-alpine
environment:
TEST_DATABASE_URL: ecto://postgres:postgres@database/cannery_test
HOST: testing.example.tld
@ -26,8 +26,8 @@ steps:
MIX_ENV: test
commands:
- apk add --no-cache build-base npm git
- mix local.rebar --force --if-missing
- mix local.hex --force --if-missing
- mix local.rebar --force
- mix local.hex --force
- mix deps.get
- npm set cache .npm
- npm --prefix ./assets ci --no-audit --prefer-offline

View File

@ -1,3 +1,3 @@
elixir 1.15.4-otp-26
erlang 26.0.2
nodejs 20.6.0
elixir 1.17.0-otp-27
erlang 27.0
nodejs 22.3.0

View File

@ -1,3 +1,30 @@
# v0.9.11
- Fix an issue with emails not being able to be sent for real this time
- Fix some dropdowns not filling in the correct data
- Add debounces to more fields
- Update deps
# v0.9.10
- Fix issue with logger failing on oban exceptions
- Fix an issue with emails not being able to be sent
- Update deps
# v0.9.9
- Actually fix bar graph
# v0.9.8
- Make bar graph ignore empty days
- Update dependencies
# v0.9.7
- Fix margin on bottom of page
- Use bar graph instead of line graph
- Improve login page autocomplete behavior
# v0.9.6
- Make ammo packs in containers directly navigable in table view
- Update dependencies
# v0.9.5
- Update dependencies

View File

@ -1,4 +1,4 @@
FROM elixir:1.15.4-alpine AS build
FROM elixir:1.17.0-otp-27-alpine AS build
# install build dependencies
RUN apk add --no-cache build-base npm git python3
@ -7,8 +7,8 @@ RUN apk add --no-cache build-base npm git python3
WORKDIR /app
# install hex + rebar
RUN mix local.hex --force && \
mix local.rebar --force
RUN mix local.rebar --force && \
mix local.hex --force
# set build ENV
ENV MIX_ENV=prod
@ -37,7 +37,7 @@ RUN mix do compile, release
FROM alpine:latest AS app
RUN apk upgrade --no-cache && \
apk add --no-cache bash openssl libssl1.1 libcrypto1.1 libgcc libstdc++ ncurses-libs
apk add --no-cache bash openssl libssl3 libcrypto3 libgcc libstdc++ ncurses-libs
WORKDIR /app

View File

@ -1,13 +1,12 @@
import { Chart, Title, Tooltip, Legend, LineController, LineElement, PointElement, TimeScale, LinearScale } from 'chart.js'
import Chart from 'chart.js/auto'
import 'chartjs-adapter-date-fns'
Chart.register(Title, Tooltip, Legend, LineController, LineElement, PointElement, TimeScale, LinearScale)
export default {
initalizeChart (el) {
const data = JSON.parse(el.dataset.chartData)
this.el.chart = new Chart(el, {
type: 'line',
type: 'bar',
data: {
datasets: [{
label: el.dataset.label,
@ -51,13 +50,17 @@ export default {
stacked: true,
grace: '15%',
ticks: {
padding: 15
padding: 15,
precision: 0
}
},
x: {
type: 'time',
type: 'timeseries',
time: {
unit: 'day'
},
ticks: {
source: 'data'
}
}
},

4199
assets/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -3,8 +3,8 @@
"description": " ",
"license": "MIT",
"engines": {
"node": "v20.6.0",
"npm": "9.8.1"
"node": "v22.3.0",
"npm": "10.8.1"
},
"scripts": {
"deploy": "NODE_ENV=production webpack --mode production",
@ -13,37 +13,37 @@
"test": "standard"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^6.4.2",
"chart.js": "^4.4.0",
"@fortawesome/fontawesome-free": "^6.6.0",
"chart.js": "^4.4.3",
"chartjs-adapter-date-fns": "^3.0.0",
"date-fns": "^2.30.0",
"date-fns": "^3.6.0",
"phoenix": "file:../deps/phoenix",
"phoenix_html": "file:../deps/phoenix_html",
"phoenix_live_view": "file:../deps/phoenix_live_view",
"topbar": "^2.0.1"
"topbar": "^3.0.0"
},
"devDependencies": {
"@babel/core": "^7.22.15",
"@babel/preset-env": "^7.22.15",
"autoprefixer": "^10.4.15",
"@babel/core": "^7.24.9",
"@babel/preset-env": "^7.25.0",
"autoprefixer": "^10.4.19",
"babel-loader": "^9.1.3",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.8.1",
"css-minimizer-webpack-plugin": "^5.0.1",
"copy-webpack-plugin": "^12.0.2",
"css-loader": "^7.1.2",
"css-minimizer-webpack-plugin": "^7.0.0",
"file-loader": "^6.2.0",
"mini-css-extract-plugin": "^2.7.6",
"npm-check-updates": "^16.13.3",
"postcss": "^8.4.29",
"postcss-import": "^15.1.0",
"postcss-loader": "^7.3.3",
"postcss-preset-env": "^9.1.3",
"sass": "^1.66.1",
"sass-loader": "^13.3.2",
"mini-css-extract-plugin": "^2.9.0",
"npm-check-updates": "^16.14.20",
"postcss": "^8.4.40",
"postcss-import": "^16.1.0",
"postcss-loader": "^8.1.1",
"postcss-preset-env": "^9.6.0",
"sass": "^1.77.8",
"sass-loader": "^16.0.0",
"standard": "^17.1.0",
"tailwindcss": "^3.3.3",
"terser-webpack-plugin": "^5.3.9",
"webpack": "^5.88.2",
"tailwindcss": "^3.4.7",
"terser-webpack-plugin": "^5.3.10",
"webpack": "^5.93.0",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^4.15.1"
"webpack-dev-server": "^5.0.4"
}
}

View File

@ -26,10 +26,10 @@ config :cannery, Cannery.Mailer, adapter: Swoosh.Adapters.Test
config :cannery, Cannery.Accounts, registration: "public"
# Print only warnings and errors during test
config :logger, level: :warn
config :logger, level: :warning
# Initialize plugs at runtime for faster test compilation
config :phoenix, :plug_init_mode, :runtime
# Disable Oban
config :cannery, Oban, queues: false, plugins: false
config :cannery, Oban, queues: false, plugins: false, testing: :manual

View File

@ -404,15 +404,15 @@ defmodule Cannery.Accounts do
## Examples
iex> is_admin?(%User{role: :admin})
iex> admin?(%User{role: :admin})
true
iex> is_admin?(%User{})
iex> admin?(%User{})
false
"""
@spec is_admin?(User.t()) :: boolean()
def is_admin?(%User{id: user_id}) do
@spec admin?(User.t()) :: boolean()
def admin?(%User{id: user_id}) do
Repo.exists?(from u in User, where: u.id == ^user_id, where: u.role == :admin)
end
@ -421,16 +421,16 @@ defmodule Cannery.Accounts do
## Examples
iex> is_already_admin?(%User{role: :admin})
iex> already_admin?(%User{role: :admin})
true
iex> is_already_admin?(%User{})
iex> already_admin?(%User{})
false
"""
@spec is_already_admin?(User.t() | nil) :: boolean()
def is_already_admin?(%User{role: :admin}), do: true
def is_already_admin?(_invalid_user), do: false
@spec already_admin?(User.t() | nil) :: boolean()
def already_admin?(%User{role: :admin}), do: true
def already_admin?(_invalid_user), do: false
## Confirmation

View File

@ -14,7 +14,7 @@ defmodule Cannery.Logger do
|> Map.put(:stacktrace, Exception.format_stacktrace(stacktrace))
|> pretty_encode()
Logger.error("#{meta.reason}: #{data}")
Logger.error("Oban exception: #{data}")
end
def handle_event([:oban, :job, :start], measure, meta, _config) do

View File

@ -69,6 +69,7 @@ defmodule CanneryWeb do
def html do
quote do
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
use Phoenix.Component
# Import convenience functions from controllers
@ -82,11 +83,8 @@ defmodule CanneryWeb do
defp html_helpers do
quote do
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
use Phoenix.HTML
# credo:disable-for-next-line Credo.Check.Consistency.MultiAliasImportRequireUse
import Phoenix.Component
use PhoenixHTMLHelpers
import Phoenix.{Component, HTML, HTML.Form}
import CanneryWeb.{ErrorHelpers, Gettext, CoreComponents, HTMLHelpers}
# Shortcut for generating JS commands

View File

@ -33,7 +33,9 @@ defmodule CanneryWeb.Components.AddShotRecordComponent do
) do
params = shot_record_params |> process_params(pack)
changeset = %ShotRecord{} |> ShotRecord.create_changeset(current_user, pack, params)
changeset =
%ShotRecord{}
|> ShotRecord.create_changeset(current_user, pack, params)
changeset =
case changeset |> Changeset.apply_action(:validate) do

View File

@ -13,7 +13,7 @@
phx-submit="save"
>
<div
:if={@changeset.action && not @changeset.valid?()}
:if={@changeset.action && not @changeset.valid?}
class="invalid-feedback col-span-3 text-center"
>
<%= changeset_errors(@changeset) %>
@ -37,11 +37,12 @@
<%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
<%= textarea(f, :notes,
id: "add-shot-record-form-notes",
class: "input input-primary col-span-2",
id: "add-shot-record-form-notes",
maxlength: 255,
placeholder: gettext("Really great weather"),
phx_update: "ignore"
phx_debounce: 300,
phx_update: "ignore",
placeholder: gettext("Really great weather")
) %>
<%= error_tag(f, :notes, "col-span-3") %>

View File

@ -48,7 +48,7 @@
<%= gettext("Range") %>
</.link>
</li>
<li :if={@current_user |> Accounts.is_already_admin?()} class="mx-2 my-1">
<li :if={@current_user |> Accounts.already_admin?()} class="mx-2 my-1">
<.link navigate={~p"/invites"} class="text-white hover:underline">
<%= gettext("Invites") %>
</.link>
@ -70,7 +70,7 @@
</li>
<li
:if={
@current_user |> Accounts.is_already_admin?() and
@current_user |> Accounts.already_admin?() and
function_exported?(Routes, :live_dashboard_path, 2)
}
class="mx-2 my-1"

View File

@ -1,18 +1,45 @@
<main role="main" class="min-h-full min-w-full">
<main class="pb-8 min-w-full">
<header>
<.topbar current_user={assigns[:current_user]} />
<div class="mx-8 my-2 flex flex-col space-y-4 text-center">
<p :if={@flash["info"]} class="alert alert-info" role="alert">
<%= @flash["info"] %>
<p
:if={@flash && @flash |> Map.has_key?("info")}
class="alert alert-info"
role="alert"
phx-click="lv:clear-flash"
phx-value-key="info"
>
<%= Phoenix.Flash.get(@flash, :info) %>
</p>
<p :if={@flash["error"]} class="alert alert-danger" role="alert">
<%= @flash["error"] %>
<p
:if={@flash && @flash |> Map.has_key?("error")}
class="alert alert-danger"
role="alert"
phx-click="lv:clear-flash"
phx-value-key="error"
>
<%= Phoenix.Flash.get(@flash, :error) %>
</p>
</div>
</header>
<div class="mx-4 sm:mx-8 md:mx-16">
<div class="mx-4 sm:mx-8 md:mx-16 flex flex-col justify-center items-stretch">
<%= @inner_content %>
</div>
</main>
<div
id="disconnect"
class="z-50 fixed opacity-0 bottom-12 right-12 px-8 py-4 w-max h-max
border border-primary-200 shadow-lg rounded-lg bg-white
flex justify-center items-center space-x-4
transition-opacity ease-in-out duration-500 delay-[2000ms]"
>
<i class="fas fa-fade text-md fa-satellite-dish"></i>
<h1 class="title text-md title-primary-500">
<%= gettext("Reconnecting...") %>
</h1>
</div>

View File

@ -0,0 +1 @@
<%= @inner_block %>

View File

@ -1,45 +0,0 @@
<main class="pb-8 min-w-full">
<header>
<.topbar current_user={assigns[:current_user]} />
<div class="mx-8 my-2 flex flex-col space-y-4 text-center">
<p
:if={@flash && @flash |> Map.has_key?("info")}
class="alert alert-info"
role="alert"
phx-click="lv:clear-flash"
phx-value-key="info"
>
<%= live_flash(@flash, "info") %>
</p>
<p
:if={@flash && @flash |> Map.has_key?("error")}
class="alert alert-danger"
role="alert"
phx-click="lv:clear-flash"
phx-value-key="error"
>
<%= live_flash(@flash, "error") %>
</p>
</div>
</header>
<div class="mx-4 sm:mx-8 md:mx-16 flex flex-col justify-center items-stretch">
<%= @inner_content %>
</div>
</main>
<div
id="disconnect"
class="z-50 fixed opacity-0 bottom-12 right-12 px-8 py-4 w-max h-max
border border-primary-200 shadow-lg rounded-lg bg-white
flex justify-center items-center space-x-4
transition-opacity ease-in-out duration-500 delay-[2000ms]"
>
<i class="fas fa-fade text-md fa-satellite-dish"></i>
<h1 class="title text-md title-primary-500">
<%= gettext("Reconnecting...") %>
</h1>
</div>

View File

@ -9,7 +9,7 @@
action={~p"/users/register"}
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
>
<p :if={@changeset.action && not @changeset.valid?()} class="alert alert-danger col-span-3">
<p :if={@changeset.action && not @changeset.valid?} class="alert alert-danger col-span-3">
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
</p>

View File

@ -9,7 +9,7 @@
action={~p"/users/reset_password/#{@token}"}
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
>
<p :if={@changeset.action && not @changeset.valid?()} class="alert alert-danger col-span-3">
<p :if={@changeset.action && not @changeset.valid?} class="alert alert-danger col-span-3">
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
</p>

View File

@ -15,10 +15,18 @@
</p>
<%= label(f, :email, gettext("Email"), class: "title text-lg text-primary-600") %>
<%= email_input(f, :email, required: true, class: "input input-primary col-span-2") %>
<%= email_input(f, :email,
autocomplete: :email,
class: "input input-primary col-span-2",
required: true
) %>
<%= label(f, :password, gettext("Password"), class: "title text-lg text-primary-600") %>
<%= password_input(f, :password, required: true, class: "input input-primary col-span-2") %>
<%= password_input(f, :password,
autocomplete: "current-password",
class: "input input-primary col-span-2",
required: true
) %>
<%= label(f, :remember_me, gettext("Keep me logged in for 60 days"),
class: "title text-lg text-primary-600"

View File

@ -16,7 +16,7 @@
</h3>
<div
:if={@email_changeset.action && not @email_changeset.valid?()}
:if={@email_changeset.action && not @email_changeset.valid?}
class="alert alert-danger col-span-3"
>
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
@ -58,7 +58,7 @@
</h3>
<div
:if={@password_changeset.action && not @password_changeset.valid?()}
:if={@password_changeset.action && not @password_changeset.valid?}
class="alert alert-danger col-span-3"
>
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
@ -112,7 +112,7 @@
) %>
<div
:if={@locale_changeset.action && not @locale_changeset.valid?()}
:if={@locale_changeset.action && not @locale_changeset.valid?}
class="alert alert-danger col-span-3"
>
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>

View File

@ -3,8 +3,8 @@ defmodule CanneryWeb.ErrorHelpers do
Conveniences for translating and building error messages.
"""
use Phoenix.HTML
import Phoenix.Component
use PhoenixHTMLHelpers
import Phoenix.{Component, HTML.Form}
alias Ecto.Changeset
alias Phoenix.{HTML.Form, LiveView.Rendered}
@ -65,7 +65,7 @@ defmodule CanneryWeb.ErrorHelpers do
changeset
|> changeset_error_map()
|> Enum.map_join(". ", fn {key, errors} ->
"#{key |> humanize()}: #{errors |> Enum.join(", ")}"
"#{key |> Phoenix.Naming.humanize()}: #{errors |> Enum.join(", ")}"
end)
end

View File

@ -19,7 +19,7 @@ defmodule CanneryWeb.ContainerLive.FormComponent do
@impl true
def handle_event("validate", %{"container" => container_params}, socket) do
{:noreply, socket |> assign_changeset(container_params)}
{:noreply, socket |> assign_changeset(container_params, :validate)}
end
def handle_event(
@ -32,14 +32,9 @@ defmodule CanneryWeb.ContainerLive.FormComponent do
defp assign_changeset(
%{assigns: %{action: action, container: container, current_user: user}} = socket,
container_params
container_params,
changeset_action \\ nil
) do
changeset_action =
case action do
create when create in [:new, :clone] -> :insert
:edit -> :update
end
changeset =
case action do
create when create in [:new, :clone] ->
@ -50,9 +45,13 @@ defmodule CanneryWeb.ContainerLive.FormComponent do
end
changeset =
case changeset |> Changeset.apply_action(changeset_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
if changeset_action do
case changeset |> Changeset.apply_action(changeset_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
end
else
changeset
end
socket |> assign(:changeset, changeset)

View File

@ -12,7 +12,7 @@
phx-submit="save"
>
<div
:if={@changeset.action && not @changeset.valid?()}
:if={@changeset.action && not @changeset.valid?}
class="invalid-feedback col-span-3 text-center"
>
<%= changeset_errors(@changeset) %>
@ -21,34 +21,38 @@
<%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :name,
class: "input input-primary col-span-2",
placeholder: gettext("My cool ammo can"),
maxlength: 255
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("My cool ammo can")
) %>
<%= error_tag(f, :name, "col-span-3 text-center") %>
<%= label(f, :desc, gettext("Description"), class: "title text-lg text-primary-600") %>
<%= textarea(f, :desc,
id: "container-form-desc",
class: "input input-primary col-span-2",
placeholder: gettext("Metal ammo can with the anime girl sticker"),
phx_update: "ignore"
id: "container-form-desc",
phx_debounce: 300,
phx_update: "ignore",
placeholder: gettext("Metal ammo can with the anime girl sticker")
) %>
<%= error_tag(f, :desc, "col-span-3 text-center") %>
<%= label(f, :type, gettext("Type"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :type,
class: "input input-primary col-span-2",
placeholder: gettext("Magazine, Clip, Ammo Box, etc"),
maxlength: 255
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("Magazine, Clip, Ammo Box, etc")
) %>
<%= error_tag(f, :type, "col-span-3 text-center") %>
<%= label(f, :location, gettext("Location"), class: "title text-lg text-primary-600") %>
<%= textarea(f, :location,
id: "container-form-location",
class: "input input-primary col-span-2",
placeholder: gettext("On the bookshelf"),
phx_update: "ignore"
id: "container-form-location",
phx_debounce: 300,
phx_update: "ignore",
placeholder: gettext("On the bookshelf")
) %>
<%= error_tag(f, :location, "col-span-3 text-center") %>

View File

@ -28,10 +28,10 @@
>
<%= text_input(f, :search_term,
class: "grow input input-primary",
value: @search,
role: "search",
phx_debounce: 300,
placeholder: gettext("Search containers")
placeholder: gettext("Search containers"),
role: "search",
value: @search
) %>
</.form>

View File

@ -130,6 +130,21 @@
<%= type_name %>
</.link>
</:type>
<:actions :let={%{count: pack_count} = pack}>
<div class="py-2 px-4 h-full space-x-4 flex justify-center items-center">
<.link
navigate={~p"/ammo/show/#{pack}"}
class="text-primary-600 link"
aria-label={
dgettext("actions", "View pack of %{pack_count} bullets",
pack_count: pack_count
)
}
>
<i class="fa-fw fa-lg fas fa-eye"></i>
</.link>
</div>
</:actions>
</.live_component>
<% else %>
<div class="flex flex-wrap justify-center items-stretch">

View File

@ -19,7 +19,7 @@ defmodule CanneryWeb.InviteLive.FormComponent do
@impl true
def handle_event("validate", %{"invite" => invite_params}, socket) do
{:noreply, socket |> assign_changeset(invite_params)}
{:noreply, socket |> assign_changeset(invite_params, :validate)}
end
def handle_event("save", %{"invite" => invite_params}, %{assigns: %{action: action}} = socket) do
@ -28,14 +28,9 @@ defmodule CanneryWeb.InviteLive.FormComponent do
defp assign_changeset(
%{assigns: %{action: action, current_user: user, invite: invite}} = socket,
invite_params
invite_params,
changeset_action \\ nil
) do
changeset_action =
case action do
:new -> :insert
:edit -> :update
end
changeset =
case action do
:new -> Invite.create_changeset(user, "example_token", invite_params)
@ -43,9 +38,13 @@ defmodule CanneryWeb.InviteLive.FormComponent do
end
changeset =
case changeset |> Changeset.apply_action(changeset_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
if changeset_action do
case changeset |> Changeset.apply_action(changeset_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
end
else
changeset
end
socket |> assign(:changeset, changeset)

View File

@ -12,7 +12,7 @@
phx-submit="save"
>
<div
:if={@changeset.action && not @changeset.valid?()}
:if={@changeset.action && not @changeset.valid?}
class="invalid-feedback col-span-3 text-center"
>
<%= changeset_errors(@changeset) %>
@ -22,7 +22,10 @@
class: "title text-lg text-primary-600",
maxlength: 255
) %>
<%= text_input(f, :name, class: "input input-primary col-span-2") %>
<%= text_input(f, :name,
class: "input input-primary col-span-2",
phx_debounce: 300
) %>
<%= error_tag(f, :name, "col-span-3") %>
<%= label(f, :uses_left, gettext("Uses left"), class: "title text-lg text-primary-600") %>

View File

@ -22,24 +22,13 @@ defmodule CanneryWeb.PackLive.FormComponent do
@spec update(Socket.t()) :: {:ok, Socket.t()}
def update(%{assigns: %{current_user: current_user}} = socket) do
%{assigns: %{types: types, containers: containers}} =
socket =
socket =
socket
|> assign(:pack_create_limit, @pack_create_limit)
|> assign(:types, Ammo.list_types(current_user))
|> assign_new(:containers, fn -> Containers.list_containers(current_user) end)
params =
if types |> List.first() |> is_nil(),
do: %{},
else: %{} |> Map.put("type_id", types |> List.first() |> Map.get(:id))
params =
if containers |> List.first() |> is_nil(),
do: params,
else: params |> Map.put("container_id", containers |> List.first() |> Map.get(:id))
{:ok, socket |> assign_changeset(params)}
{:ok, socket |> assign_changeset(%{})}
end
@impl true
@ -92,9 +81,13 @@ defmodule CanneryWeb.PackLive.FormComponent do
end
changeset =
case changeset |> Changeset.apply_action(changeset_action || default_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
if changeset_action do
case changeset |> Changeset.apply_action(changeset_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
end
else
changeset
end
socket |> assign(:changeset, changeset)

View File

@ -13,7 +13,7 @@
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
>
<div
:if={@changeset.action && not @changeset.valid?()}
:if={@changeset.action && not @changeset.valid?}
class="invalid-feedback col-span-3 text-center"
>
<%= changeset_errors(@changeset) %>
@ -42,7 +42,8 @@
<%= label(f, :lot_number, gettext("Lot number"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :lot_number,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :price_paid, "col-span-3 text-center") %>
@ -56,8 +57,9 @@
<%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
<%= textarea(f, :notes,
id: "pack-form-notes",
class: "text-center col-span-2 input input-primary",
id: "pack-form-notes",
phx_debounce: 300,
phx_update: "ignore"
) %>
<%= error_tag(f, :notes, "col-span-3 text-center") %>

View File

@ -75,10 +75,10 @@
>
<%= text_input(f, :search_term,
class: "grow input input-primary",
value: @search,
role: "search",
phx_debounce: 300,
placeholder: gettext("Search ammo")
placeholder: gettext("Search ammo"),
role: "search",
value: @search
) %>
</.form>

View File

@ -71,24 +71,25 @@ defmodule CanneryWeb.RangeLive.FormComponent do
}
} = socket,
shot_record_params,
action \\ nil
changeset_action \\ nil
) do
default_action =
changeset =
case live_action do
:add_shot_record -> :insert
editing when editing in [:edit, :edit_shot_record] -> :update
:add_shot_record ->
shot_record |> ShotRecord.create_changeset(user, pack, shot_record_params)
editing when editing in [:edit, :edit_shot_record] ->
shot_record |> ShotRecord.update_changeset(user, shot_record_params)
end
changeset =
case default_action do
:insert -> shot_record |> ShotRecord.create_changeset(user, pack, shot_record_params)
:update -> shot_record |> ShotRecord.update_changeset(user, shot_record_params)
end
changeset =
case changeset |> Changeset.apply_action(action || default_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
if changeset_action do
case changeset |> Changeset.apply_action(changeset_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
end
else
changeset
end
socket |> assign(:changeset, changeset)

View File

@ -13,7 +13,7 @@
phx-submit="save"
>
<div
:if={@changeset.action && not @changeset.valid?()}
:if={@changeset.action && not @changeset.valid?}
class="invalid-feedback col-span-3 text-center"
>
<%= changeset_errors(@changeset) %>
@ -29,11 +29,12 @@
<%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
<%= textarea(f, :notes,
id: "shot-record-form-notes",
class: "input input-primary col-span-2",
id: "shot-record-form-notes",
maxlength: 255,
placeholder: gettext("Really great weather"),
phx_update: "ignore"
phx_debounce: 300,
phx_update: "ignore",
placeholder: gettext("Really great weather")
) %>
<%= error_tag(f, :notes, "col-span-3") %>

View File

@ -108,10 +108,10 @@
>
<%= text_input(f, :search_term,
class: "grow input input-primary",
value: @search,
role: "search",
phx_debounce: 300,
placeholder: gettext("Search shot records")
placeholder: gettext("Search shot records"),
role: "search",
value: @search
) %>
</.form>
</div>

View File

@ -17,7 +17,7 @@ defmodule CanneryWeb.TagLive.FormComponent do
@impl true
def handle_event("validate", %{"tag" => tag_params}, socket) do
{:noreply, socket |> assign_changeset(tag_params)}
{:noreply, socket |> assign_changeset(tag_params, :validate)}
end
def handle_event("save", %{"tag" => tag_params}, %{assigns: %{action: action}} = socket) do
@ -26,14 +26,9 @@ defmodule CanneryWeb.TagLive.FormComponent do
defp assign_changeset(
%{assigns: %{action: action, current_user: user, tag: tag}} = socket,
tag_params
tag_params,
changeset_action \\ nil
) do
changeset_action =
case action do
:new -> :insert
:edit -> :update
end
changeset =
case action do
:new -> tag |> Tag.create_changeset(user, tag_params)
@ -41,9 +36,13 @@ defmodule CanneryWeb.TagLive.FormComponent do
end
changeset =
case changeset |> Changeset.apply_action(changeset_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
if changeset_action do
case changeset |> Changeset.apply_action(changeset_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
end
else
changeset
end
socket |> assign(:changeset, changeset)

View File

@ -12,14 +12,18 @@
phx-submit="save"
>
<div
:if={@changeset.action && not @changeset.valid?()}
:if={@changeset.action && not @changeset.valid?}
class="invalid-feedback col-span-3 text-center"
>
<%= changeset_errors(@changeset) %>
</div>
<%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :name, class: "input input-primary col-span-2", maxlength: 255) %>
<%= text_input(f, :name,
class: "input input-primary col-span-2",
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :name, "col-span-3") %>
<%= label(f, :bg_color, gettext("Background color"), class: "title text-lg text-primary-600") %>

View File

@ -30,10 +30,10 @@
>
<%= text_input(f, :search_term,
class: "grow input input-primary",
value: @search,
role: "search",
phx_debounce: 300,
placeholder: gettext("Search tags")
placeholder: gettext("Search tags"),
role: "search",
value: @search
) %>
</.form>
</div>

View File

@ -19,7 +19,7 @@ defmodule CanneryWeb.TypeLive.FormComponent do
@impl true
def handle_event("validate", %{"type" => type_params}, socket) do
{:noreply, socket |> assign_changeset(type_params)}
{:noreply, socket |> assign_changeset(type_params, :validate)}
end
def handle_event(
@ -32,14 +32,9 @@ defmodule CanneryWeb.TypeLive.FormComponent do
defp assign_changeset(
%{assigns: %{action: action, type: type, current_user: user}} = socket,
type_params
type_params,
changeset_action \\ nil
) do
changeset_action =
case action do
create when create in [:new, :clone] -> :insert
:edit -> :update
end
changeset =
case action do
create when create in [:new, :clone] ->
@ -50,9 +45,13 @@ defmodule CanneryWeb.TypeLive.FormComponent do
end
changeset =
case changeset |> Changeset.apply_action(changeset_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
if changeset_action do
case changeset |> Changeset.apply_action(changeset_action) do
{:ok, _data} -> changeset
{:error, changeset} -> changeset
end
else
changeset
end
socket |> assign(changeset: changeset)

View File

@ -12,7 +12,7 @@
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
>
<div
:if={@changeset.action && not @changeset.valid?()}
:if={@changeset.action && not @changeset.valid?}
class="invalid-feedback col-span-3 text-center"
>
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
@ -31,14 +31,16 @@
<%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :name,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :name, "col-span-3 text-center") %>
<%= label(f, :desc, gettext("Description"), class: "title text-lg text-primary-600") %>
<%= textarea(f, :desc,
id: "type-form-desc",
class: "text-center col-span-2 input input-primary",
id: "type-form-desc",
phx_debounce: 300,
phx_update: "ignore"
) %>
<%= error_tag(f, :desc, "col-span-3 text-center") %>
@ -52,6 +54,7 @@
<%= text_input(f, :cartridge,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("5.56x46mm NATO")
) %>
<%= error_tag(f, :cartridge, "col-span-3 text-center") %>
@ -71,6 +74,7 @@
<%= text_input(f, :caliber,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
phx_debounce: 300,
placeholder: gettext(".223")
) %>
<%= error_tag(f, :caliber, "col-span-3 text-center") %>
@ -81,7 +85,8 @@
) %>
<%= text_input(f, :unfired_length,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :unfired_length, "col-span-3 text-center") %>
@ -90,7 +95,8 @@
) %>
<%= text_input(f, :brass_height,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :brass_height, "col-span-3 text-center") %>
@ -99,7 +105,8 @@
) %>
<%= text_input(f, :chamber_size,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :chamber_size, "col-span-3 text-center") %>
<% else %>
@ -136,6 +143,7 @@
<%= text_input(f, :bullet_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("FMJ")
) %>
<%= error_tag(f, :bullet_type, "col-span-3 text-center") %>
@ -155,6 +163,7 @@
<%= text_input(f, :bullet_core,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("Steel")
) %>
<%= error_tag(f, :bullet_core, "col-span-3 text-center") %>
@ -164,6 +173,7 @@
<%= text_input(f, :jacket_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("Bimetal")
) %>
<%= error_tag(f, :jacket_type, "col-span-3 text-center") %>
@ -177,6 +187,7 @@
<%= text_input(f, :case_material,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("Brass")
) %>
<%= error_tag(f, :case_material, "col-span-3 text-center") %>
@ -185,7 +196,8 @@
<%= label(f, :wadding, gettext("Wadding"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :wadding,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :wadding, "col-span-3 text-center") %>
@ -193,6 +205,7 @@
<%= text_input(f, :shot_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("Target, bird, buck, etc")
) %>
<%= error_tag(f, :shot_type, "col-span-3 text-center") %>
@ -202,14 +215,16 @@
) %>
<%= text_input(f, :shot_material,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :shot_material, "col-span-3 text-center") %>
<%= label(f, :shot_size, gettext("Shot size"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :shot_size,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :shot_size, "col-span-3 text-center") %>
@ -226,7 +241,8 @@
) %>
<%= text_input(f, :shot_charge_weight,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :shot_charge_weight, "col-span-3 text-center") %>
<% else %>
@ -245,7 +261,8 @@
<%= label(f, :powder_type, gettext("Powder type"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :powder_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :powder_type, "col-span-3 text-center") %>
@ -267,6 +284,7 @@
<%= text_input(f, :pressure,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("+P")
) %>
<%= error_tag(f, :pressure, "col-span-3 text-center") %>
@ -277,7 +295,8 @@
) %>
<%= text_input(f, :dram_equivalent,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :dram_equivalent, "col-span-3 text-center") %>
<% else %>
@ -306,6 +325,7 @@
<%= text_input(f, :primer_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("Boxer")
) %>
<%= error_tag(f, :primer_type, "col-span-3 text-center") %>
@ -314,6 +334,7 @@
<%= text_input(f, :firing_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
phx_debounce: 300,
placeholder: gettext("Centerfire")
) %>
<%= error_tag(f, :firing_type, "col-span-3 text-center") %>
@ -345,14 +366,16 @@
<%= label(f, :manufacturer, gettext("Manufacturer"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :manufacturer,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :manufacturer, "col-span-3 text-center") %>
<%= label(f, :upc, gettext("UPC"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :upc,
class: "text-center col-span-2 input input-primary",
maxlength: 255
maxlength: 255,
phx_debounce: 300
) %>
<%= error_tag(f, :upc, "col-span-3 text-center") %>

View File

@ -54,10 +54,10 @@
>
<%= text_input(f, :search_term,
class: "grow input input-primary",
value: @search,
role: "search",
phx_debounce: 300,
placeholder: gettext("Search catalog")
placeholder: gettext("Search catalog"),
role: "search",
value: @search
) %>
</.form>

39
mix.exs
View File

@ -4,8 +4,8 @@ defmodule Cannery.MixProject do
def project do
[
app: :cannery,
version: "0.9.5",
elixir: "1.15.4",
version: "0.9.11",
elixir: "1.17.0",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
@ -47,29 +47,30 @@ defmodule Cannery.MixProject do
defp deps do
[
{:bcrypt_elixir, "~> 3.0"},
{:phoenix, "~> 1.7.0"},
{:phoenix_ecto, "~> 4.4"},
{:phoenix_html, "~> 3.0"},
{:phoenix_live_reload, "~> 1.2", only: :dev},
{:phoenix_live_view, "~> 0.19.0"},
{:phoenix_live_dashboard, "~> 0.8"},
{:credo, "~> 1.5", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false},
{:ecto_psql_extras, "~> 0.6"},
{:ecto_sql, "~> 3.6"},
{:postgrex, ">= 0.0.0"},
{:floki, ">= 0.30.0", only: :test},
{:eqrcode, "~> 0.1.10"},
# {:esbuild, "~> 0.3", runtime: Mix.env() == :dev},
{:ex_doc, "~> 0.27", only: :dev, runtime: false},
{:swoosh, "~> 1.6"},
{:floki, ">= 0.30.0", only: :test},
{:gen_smtp, "~> 1.0"},
{:oban, "~> 2.10"},
{:telemetry_metrics, "~> 0.6"},
{:telemetry_poller, "~> 1.0"},
{:gettext, "~> 0.18"},
{:jason, "~> 1.2"},
{:plug_cowboy, "~> 2.5"},
{:ecto_psql_extras, "~> 0.6"},
{:eqrcode, "~> 0.1.10"},
{:credo, "~> 1.5", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false}
{:oban, "~> 2.10"},
{:phoenix_ecto, "~> 4.4"},
{:phoenix_html_helpers, "~> 1.0"},
{:phoenix_html, "~> 4.0"},
{:phoenix_live_dashboard, "~> 0.8"},
{:phoenix_live_reload, "~> 1.2", only: :dev},
{:phoenix_live_view, "~> 0.20.0"},
{:phoenix, "~> 1.7.11"},
{:plug_cowboy, "~> 2.7"},
{:postgrex, ">= 0.0.0"},
{:swoosh, "~> 1.6"},
{:telemetry_metrics, "~> 0.6"},
{:telemetry_poller, "~> 1.0"}
]
end

View File

@ -1,54 +1,54 @@
%{
"bcrypt_elixir": {:hex, :bcrypt_elixir, "3.1.0", "0b110a9a6c619b19a7f73fa3004aa11d6e719a67e672d1633dc36b6b2290a0f7", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "2ad2acb5a8bc049e8d5aa267802631912bb80d5f4110a178ae7999e69dca1bf7"},
"bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"},
"castore": {:hex, :castore, "1.0.3", "7130ba6d24c8424014194676d608cb989f62ef8039efd50ff4b3f33286d06db8", [:mix], [], "hexpm", "680ab01ef5d15b161ed6a95449fac5c6b8f60055677a8e79acf01b27baa4390b"},
"bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"},
"castore": {:hex, :castore, "1.0.8", "dedcf20ea746694647f883590b82d9e96014057aff1d44d03ec90f36a5c0dc6e", [:mix], [], "hexpm", "0b2b66d2ee742cb1d9cb8c8be3b43c3a70ee8651f37b75a8b982e036752983f1"},
"comeonin": {:hex, :comeonin, "5.4.0", "246a56ca3f41d404380fc6465650ddaa532c7f98be4bda1b4656b3a37cc13abe", [:mix], [], "hexpm", "796393a9e50d01999d56b7b8420ab0481a7538d0caf80919da493b4a6e51faf1"},
"connection": {:hex, :connection, "1.1.0", "ff2a49c4b75b6fb3e674bfc5536451607270aac754ffd1bdfe175abe4a6d7a68", [:mix], [], "hexpm", "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"},
"cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"},
"cowboy": {:hex, :cowboy, "2.12.0", "f276d521a1ff88b2b9b4c54d0e753da6c66dd7be6c9fca3d9418b561828a3731", [:make, :rebar3], [{:cowlib, "2.13.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e"},
"cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"},
"cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"},
"credo": {:hex, :credo, "1.7.0", "6119bee47272e85995598ee04f2ebbed3e947678dee048d10b5feca139435f75", [:mix], [{:bunt, "~> 0.2.1", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "6839fcf63d1f0d1c0f450abc8564a57c43d644077ab96f2934563e68b8a769d7"},
"db_connection": {:hex, :db_connection, "2.5.0", "bb6d4f30d35ded97b29fe80d8bd6f928a1912ca1ff110831edcd238a1973652c", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c92d5ba26cd69ead1ff7582dbb860adeedfff39774105a4f1c92cbb654b55aa2"},
"cowlib": {:hex, :cowlib, "2.13.0", "db8f7505d8332d98ef50a3ef34b34c1afddec7506e4ee4dd4a3a266285d282ca", [:make, :rebar3], [], "hexpm", "e1e1284dc3fc030a64b1ad0d8382ae7e99da46c3246b815318a4b848873800a4"},
"credo": {:hex, :credo, "1.7.7", "771445037228f763f9b2afd612b6aa2fd8e28432a95dbbc60d8e03ce71ba4446", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e"},
"db_connection": {:hex, :db_connection, "2.7.0", "b99faa9291bb09892c7da373bb82cba59aefa9b36300f6145c5f201c7adf48ec", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "dcf08f31b2701f857dfc787fbad78223d61a32204f217f15e881dd93e4bdd3ff"},
"decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"},
"dialyxir": {:hex, :dialyxir, "1.4.1", "a22ed1e7bd3a3e3f197b68d806ef66acb61ee8f57b3ac85fc5d57354c5482a93", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "84b795d6d7796297cca5a3118444b80c7d94f7ce247d49886e7c291e1ae49801"},
"earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"},
"ecto": {:hex, :ecto, "3.10.3", "eb2ae2eecd210b4eb8bece1217b297ad4ff824b4384c0e3fdd28aaf96edd6135", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "44bec74e2364d491d70f7e42cd0d690922659d329f6465e89feb8a34e8cd3433"},
"ecto_psql_extras": {:hex, :ecto_psql_extras, "0.7.13", "9947637f82b92dcec93d44ad09ba24d1990bd7ca69e1c68981fb3b6f8bd18829", [:mix], [{:ecto_sql, "~> 3.7", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:table_rex, "~> 3.1.1", [hex: :table_rex, repo: "hexpm", optional: false]}], "hexpm", "0f2288e6163f6aacd7e59545a56adc8df7d2079d18be7d3d6159d10f4dffc396"},
"ecto_sql": {:hex, :ecto_sql, "3.10.2", "6b98b46534b5c2f8b8b5f03f126e75e2a73c64f3c071149d32987a5378b0fdbd", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.10.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "68c018debca57cb9235e3889affdaec7a10616a4e3a80c99fa1d01fdafaa9007"},
"elixir_make": {:hex, :elixir_make, "0.7.7", "7128c60c2476019ed978210c245badf08b03dbec4f24d05790ef791da11aa17c", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "5bc19fff950fad52bbe5f211b12db9ec82c6b34a9647da0c2224b8b8464c7e6c"},
"dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"},
"earmark_parser": {:hex, :earmark_parser, "1.4.41", "ab34711c9dc6212dda44fcd20ecb87ac3f3fce6f0ca2f28d4a00e4154f8cd599", [:mix], [], "hexpm", "a81a04c7e34b6617c2792e291b5a2e57ab316365c2644ddc553bb9ed863ebefa"},
"ecto": {:hex, :ecto, "3.11.2", "e1d26be989db350a633667c5cda9c3d115ae779b66da567c68c80cfb26a8c9ee", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "3c38bca2c6f8d8023f2145326cc8a80100c3ffe4dcbd9842ff867f7fc6156c65"},
"ecto_psql_extras": {:hex, :ecto_psql_extras, "0.8.0", "440719cd74f09b3f01c84455707a2c3972b725c513808e68eb6c5b0ab82bf523", [:mix], [{:ecto_sql, "~> 3.7", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 0.18.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:table_rex, "~> 3.1.1 or ~> 4.0.0", [hex: :table_rex, repo: "hexpm", optional: false]}], "hexpm", "f1512812dc196bcb932a96c82e55f69b543dc125e9d39f5e3631a9c4ec65ef12"},
"ecto_sql": {:hex, :ecto_sql, "3.11.3", "4eb7348ff8101fbc4e6bbc5a4404a24fecbe73a3372d16569526b0cf34ebc195", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.11.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e5f36e3d736b99c7fee3e631333b8394ade4bafe9d96d35669fca2d81c2be928"},
"elixir_make": {:hex, :elixir_make, "0.8.4", "4960a03ce79081dee8fe119d80ad372c4e7badb84c493cc75983f9d3bc8bde0f", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:certifi, "~> 2.0", [hex: :certifi, repo: "hexpm", optional: true]}], "hexpm", "6e7f1d619b5f61dfabd0a20aa268e575572b542ac31723293a4c1a567d5ef040"},
"eqrcode": {:hex, :eqrcode, "0.1.10", "6294fece9d68ad64eef1c3c92cf111cfd6469f4fbf230a2d4cc905a682178f3f", [:mix], [], "hexpm", "da30e373c36a0fd37ab6f58664b16029919896d6c45a68a95cc4d713e81076f1"},
"erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"},
"ex_doc": {:hex, :ex_doc, "0.30.6", "5f8b54854b240a2b55c9734c4b1d0dd7bdd41f71a095d42a70445c03cf05a281", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bd48f2ddacf4e482c727f9293d9498e0881597eae6ddc3d9562bd7923375109f"},
"expo": {:hex, :expo, "0.4.1", "1c61d18a5df197dfda38861673d392e642649a9cef7694d2f97a587b2cfb319b", [:mix], [], "hexpm", "2ff7ba7a798c8c543c12550fa0e2cbc81b95d4974c65855d8d15ba7b37a1ce47"},
"file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
"floki": {:hex, :floki, "0.34.3", "5e2dcaec5d7c228ce5b1d3501502e308b2d79eb655e4191751a1fe491c37feac", [:mix], [], "hexpm", "9577440eea5b97924b4bf3c7ea55f7b8b6dce589f9b28b096cc294a8dc342341"},
"erlex": {:hex, :erlex, "0.2.7", "810e8725f96ab74d17aac676e748627a07bc87eb950d2b83acd29dc047a30595", [:mix], [], "hexpm", "3ed95f79d1a844c3f6bf0cea61e0d5612a42ce56da9c03f01df538685365efb0"},
"ex_doc": {:hex, :ex_doc, "0.34.2", "13eedf3844ccdce25cfd837b99bea9ad92c4e511233199440488d217c92571e8", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "5ce5f16b41208a50106afed3de6a2ed34f4acfd65715b82a0b84b49d995f95c1"},
"expo": {:hex, :expo, "0.5.2", "beba786aab8e3c5431813d7a44b828e7b922bfa431d6bfbada0904535342efe2", [:mix], [], "hexpm", "8c9bfa06ca017c9cb4020fabe980bc7fdb1aaec059fd004c2ab3bff03b1c599c"},
"file_system": {:hex, :file_system, "1.0.0", "b689cc7dcee665f774de94b5a832e578bd7963c8e637ef940cd44327db7de2cd", [:mix], [], "hexpm", "6752092d66aec5a10e662aefeed8ddb9531d79db0bc145bb8c40325ca1d8536d"},
"floki": {:hex, :floki, "0.36.2", "a7da0193538c93f937714a6704369711998a51a6164a222d710ebd54020aa7a3", [:mix], [], "hexpm", "a8766c0bc92f074e5cb36c4f9961982eda84c5d2b8e979ca67f5c268ec8ed580"},
"gen_smtp": {:hex, :gen_smtp, "1.2.0", "9cfc75c72a8821588b9b9fe947ae5ab2aed95a052b81237e0928633a13276fd3", [:rebar3], [{:ranch, ">= 1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "5ee0375680bca8f20c4d85f58c2894441443a743355430ff33a783fe03296779"},
"gettext": {:hex, :gettext, "0.23.1", "821e619a240e6000db2fc16a574ef68b3bd7fe0167ccc264a81563cc93e67a31", [:mix], [{:expo, "~> 0.4.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "19d744a36b809d810d610b57c27b934425859d158ebd56561bc41f7eeb8795db"},
"jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"},
"makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"},
"makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"},
"makeup_erlang": {:hex, :makeup_erlang, "0.1.2", "ad87296a092a46e03b7e9b0be7631ddcf64c790fa68a9ef5323b6cbb36affc72", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "f3f5a1ca93ce6e092d92b6d9c049bcda58a3b617a8d888f8e7231c85630e8108"},
"mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"},
"nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"},
"oban": {:hex, :oban, "2.15.4", "d49ab4ffb7153010e32f80fe9e56f592706238149ec579eb50f8a4e41d218856", [:mix], [{:ecto_sql, "~> 3.6", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:ecto_sqlite3, "~> 0.9", [hex: :ecto_sqlite3, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5fce611fdfffb13e9148df883116e5201adf1e731eb302cc88cde0588510079c"},
"phoenix": {:hex, :phoenix, "1.7.7", "4cc501d4d823015007ba3cdd9c41ecaaf2ffb619d6fb283199fa8ddba89191e0", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "8966e15c395e5e37591b6ed0bd2ae7f48e961f0f60ac4c733f9566b519453085"},
"phoenix_ecto": {:hex, :phoenix_ecto, "4.4.2", "b21bd01fdeffcfe2fab49e4942aa938b6d3e89e93a480d4aee58085560a0bc0d", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "70242edd4601d50b69273b057ecf7b684644c19ee750989fd555625ae4ce8f5d"},
"phoenix_html": {:hex, :phoenix_html, "3.3.2", "d6ce982c6d8247d2fc0defe625255c721fb8d5f1942c5ac051f6177bffa5973f", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "44adaf8e667c1c20fb9d284b6b0fa8dc7946ce29e81ce621860aa7e96de9a11d"},
"phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.1", "c4f2a2d3b26e6ca684d162ccf18aaeed8bed2181896e0393d0a2959789482e51", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "1ca0f954274ce1916f771f86b3d49a91d3447e7c32d171660676095c5f30abe9"},
"phoenix_live_reload": {:hex, :phoenix_live_reload, "1.4.1", "2aff698f5e47369decde4357ba91fc9c37c6487a512b41732818f2204a8ef1d3", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab"},
"phoenix_live_view": {:hex, :phoenix_live_view, "0.19.5", "6e730595e8e9b8c5da230a814e557768828fd8dfeeb90377d2d8dbb52d4ec00a", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b2eaa0dd3cfb9bd7fb949b88217df9f25aed915e986a28ad5c8a0d054e7ca9d3"},
"gettext": {:hex, :gettext, "0.24.0", "6f4d90ac5f3111673cbefc4ebee96fe5f37a114861ab8c7b7d5b30a1108ce6d8", [:mix], [{:expo, "~> 0.5.1", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b"},
"jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"},
"makeup": {:hex, :makeup, "1.1.2", "9ba8837913bdf757787e71c1581c21f9d2455f4dd04cfca785c70bbfff1a76a3", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cce1566b81fbcbd21eca8ffe808f33b221f9eee2cbc7a1706fc3da9ff18e6cac"},
"makeup_elixir": {:hex, :makeup_elixir, "0.16.2", "627e84b8e8bf22e60a2579dad15067c755531fea049ae26ef1020cad58fe9578", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "41193978704763f6bbe6cc2758b84909e62984c7752b3784bd3c218bb341706b"},
"makeup_erlang": {:hex, :makeup_erlang, "1.0.1", "c7f58c120b2b5aa5fd80d540a89fdf866ed42f1f3994e4fe189abebeab610839", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "8a89a1eeccc2d798d6ea15496a6e4870b75e014d1af514b1b71fa33134f57814"},
"mime": {:hex, :mime, "2.0.6", "8f18486773d9b15f95f4f4f1e39b710045fa1de891fada4516559967276e4dc2", [:mix], [], "hexpm", "c9945363a6b26d747389aac3643f8e0e09d30499a138ad64fe8fd1d13d9b153e"},
"nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"},
"oban": {:hex, :oban, "2.18.0", "092d20bfd3d70c7ecb70960f8548d300b54bb9937c7f2e56b388f3a9ed02ec68", [:mix], [{:ecto_sql, "~> 3.10", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:ecto_sqlite3, "~> 0.9", [hex: :ecto_sqlite3, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "aace1eff6f8227ae38d4274af967d96f051c2f0a5152f2ef9809dd1f97866745"},
"phoenix": {:hex, :phoenix, "1.7.14", "a7d0b3f1bc95987044ddada111e77bd7f75646a08518942c72a8440278ae7825", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "c7859bc56cc5dfef19ecfc240775dae358cbaa530231118a9e014df392ace61a"},
"phoenix_ecto": {:hex, :phoenix_ecto, "4.6.2", "3b83b24ab5a2eb071a20372f740d7118767c272db386831b2e77638c4dcc606d", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "3f94d025f59de86be00f5f8c5dd7b5965a3298458d21ab1c328488be3b5fcd59"},
"phoenix_html": {:hex, :phoenix_html, "4.1.1", "4c064fd3873d12ebb1388425a8f2a19348cef56e7289e1998e2d2fa758aa982e", [:mix], [], "hexpm", "f2f2df5a72bc9a2f510b21497fd7d2b86d932ec0598f0210fed4114adc546c6f"},
"phoenix_html_helpers": {:hex, :phoenix_html_helpers, "1.0.1", "7eed85c52eff80a179391036931791ee5d2f713d76a81d0d2c6ebafe1e11e5ec", [:mix], [{:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "cffd2385d1fa4f78b04432df69ab8da63dc5cf63e07b713a4dcf36a3740e3090"},
"phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.4", "4508e481f791ce62ec6a096e13b061387158cbeefacca68c6c1928e1305e23ed", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "2984aae96994fbc5c61795a73b8fb58153b41ff934019cfb522343d2d3817d59"},
"phoenix_live_reload": {:hex, :phoenix_live_reload, "1.5.3", "f2161c207fda0e4fb55165f650f7f8db23f02b29e3bff00ff7ef161d6ac1f09d", [:mix], [{:file_system, "~> 0.3 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "b4ec9cd73cb01ff1bd1cac92e045d13e7030330b74164297d1aee3907b54803c"},
"phoenix_live_view": {:hex, :phoenix_live_view, "0.20.17", "f396bbdaf4ba227b82251eb75ac0afa6b3da5e509bc0d030206374237dfc9450", [:mix], [{:floki, "~> 0.36", [hex: :floki, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a61d741ffb78c85fdbca0de084da6a48f8ceb5261a79165b5a0b59e5f65ce98b"},
"phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"},
"phoenix_template": {:hex, :phoenix_template, "1.0.3", "32de561eefcefa951aead30a1f94f1b5f0379bc9e340bb5c667f65f1edfa4326", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "16f4b6588a4152f3cc057b9d0c0ba7e82ee23afa65543da535313ad8d25d8e2c"},
"plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"},
"plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"},
"plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"},
"postgrex": {:hex, :postgrex, "0.17.3", "c92cda8de2033a7585dae8c61b1d420a1a1322421df84da9a82a6764580c503d", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "946cf46935a4fdca7a81448be76ba3503cff082df42c6ec1ff16a4bdfbfb098d"},
"phoenix_template": {:hex, :phoenix_template, "1.0.4", "e2092c132f3b5e5b2d49c96695342eb36d0ed514c5b252a77048d5969330d639", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"},
"plug": {:hex, :plug, "1.16.1", "40c74619c12f82736d2214557dedec2e9762029b2438d6d175c5074c933edc9d", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a13ff6b9006b03d7e33874945b2755253841b238c34071ed85b0e86057f8cddc"},
"plug_cowboy": {:hex, :plug_cowboy, "2.7.1", "87677ffe3b765bc96a89be7960f81703223fe2e21efa42c125fcd0127dd9d6b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "02dbd5f9ab571b864ae39418db7811618506256f6d13b4a45037e5fe78dc5de3"},
"plug_crypto": {:hex, :plug_crypto, "2.1.0", "f44309c2b06d249c27c8d3f65cfe08158ade08418cf540fd4f72d4d6863abb7b", [:mix], [], "hexpm", "131216a4b030b8f8ce0f26038bc4421ae60e4bb95c5cf5395e1421437824c4fa"},
"postgrex": {:hex, :postgrex, "0.18.0", "f34664101eaca11ff24481ed4c378492fed2ff416cd9b06c399e90f321867d7e", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "a042989ba1bc1cca7383ebb9e461398e3f89f868c92ce6671feb7ef132a252d1"},
"ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"},
"swoosh": {:hex, :swoosh, "1.11.5", "429dccde78e2f60c6339e96917efecebca9d1f254d2878a150f580d2f782260b", [:mix], [{:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "21ee57dcd68d2f56d3bbe11e76d56d142b221bb12b6018c551cc68442b800040"},
"table_rex": {:hex, :table_rex, "3.1.1", "0c67164d1714b5e806d5067c1e96ff098ba7ae79413cc075973e17c38a587caa", [:mix], [], "hexpm", "678a23aba4d670419c23c17790f9dcd635a4a89022040df7d5d772cb21012490"},
"swoosh": {:hex, :swoosh, "1.16.10", "04be6e2eb1a31aa0aa21a731175c81cc3998189456a92daf13d44a5c754afcf5", [:mix], [{:bandit, ">= 1.0.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mua, "~> 0.2.3", [hex: :mua, repo: "hexpm", optional: true]}, {:multipart, "~> 0.4", [hex: :multipart, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: true]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:req, "~> 0.5 or ~> 1.0", [hex: :req, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "756be04db173c0cbe318f1dfe2bcc88aa63aed78cf5a4b02b61b36ee11fc716a"},
"table_rex": {:hex, :table_rex, "4.0.0", "3c613a68ebdc6d4d1e731bc973c233500974ec3993c99fcdabb210407b90959b", [:mix], [], "hexpm", "c35c4d5612ca49ebb0344ea10387da4d2afe278387d4019e4d8111e815df8f55"},
"telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"},
"telemetry_metrics": {:hex, :telemetry_metrics, "0.6.1", "315d9163a1d4660aedc3fee73f33f1d355dcc76c5c3ab3d59e76e3edf80eef1f", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7be9e0871c41732c233be71e4be11b96e56177bf15dde64a8ac9ce72ac9834c6"},
"telemetry_poller": {:hex, :telemetry_poller, "1.0.0", "db91bb424e07f2bb6e73926fcafbfcbcb295f0193e0a00e825e589a0a47e8453", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b3a24eafd66c3f42da30fc3ca7dda1e9d546c12250a2d60d7b81d264fbec4f6e"},
"telemetry_metrics": {:hex, :telemetry_metrics, "0.6.2", "2caabe9344ec17eafe5403304771c3539f3b6e2f7fb6a6f602558c825d0d0bfb", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9b43db0dc33863930b9ef9d27137e78974756f5f198cae18409970ed6fa5b561"},
"telemetry_poller": {:hex, :telemetry_poller, "1.1.0", "58fa7c216257291caaf8d05678c8d01bd45f4bdbc1286838a28c4bb62ef32999", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9eb9d9cbfd81cbd7cdd24682f8711b6e2b691289a0de6826e58452f28c103c8f"},
"websock": {:hex, :websock, "0.5.3", "2f69a6ebe810328555b6fe5c831a851f485e303a7c8ce6c5f675abeb20ebdadc", [:mix], [], "hexpm", "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"},
"websock_adapter": {:hex, :websock_adapter, "0.5.4", "7af8408e7ed9d56578539594d1ee7d8461e2dd5c3f57b0f2a5352d610ddde757", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "d2c238c79c52cbe223fcdae22ca0bb5007a735b9e933870e241fce66afb4f4ab"},
"websock_adapter": {:hex, :websock_adapter, "0.5.6", "0437fe56e093fd4ac422de33bf8fc89f7bc1416a3f2d732d8b2c8fd54792fe60", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "e04378d26b0af627817ae84c92083b7e97aca3121196679b73c73b99d0d133ea"},
}

View File

@ -56,7 +56,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr ""
@ -72,7 +72,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr ""
@ -98,7 +98,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr ""
@ -115,13 +115,13 @@ msgstr ""
msgid "Reset password"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:56
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/pack_live/form_component.html.heex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#: lib/cannery_web/live/type_live/form_component.html.heex:359
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:92
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:382
#, elixir-autogen, elixir-format
msgid "Save"
msgstr ""
@ -178,7 +178,7 @@ msgstr ""
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:83
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Create"
msgstr ""
@ -305,6 +305,7 @@ msgstr ""
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format

View File

@ -69,7 +69,7 @@ msgstr "Benutzer löschen"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr "Passwort vergessen?"
@ -85,7 +85,7 @@ msgstr "Laden Sie jemanden ein!"
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr "Einloggen"
@ -111,7 +111,7 @@ msgstr "Neuer Tag"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr "Registrieren"
@ -128,13 +128,13 @@ msgstr "Bestätigungsmail erneut senden"
msgid "Reset password"
msgstr "Passwort zurücksetzen"
#: lib/cannery_web/components/add_shot_record_component.html.heex:56
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/pack_live/form_component.html.heex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#: lib/cannery_web/live/type_live/form_component.html.heex:359
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:92
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:382
#, elixir-autogen, elixir-format
msgid "Save"
msgstr "Speichern"
@ -191,7 +191,7 @@ msgstr "In die Zwischenablage kopieren"
msgid "add a container first"
msgstr "Zuerst einen Behälter hinzufügen"
#: lib/cannery_web/live/pack_live/form_component.html.heex:83
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Create"
msgstr "Erstellen"
@ -318,6 +318,7 @@ msgstr ""
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format, fuzzy

View File

@ -38,55 +38,55 @@ msgstr "Admins:"
msgid "Ammo"
msgstr "Munition"
#: lib/cannery_web/live/tag_live/form_component.html.heex:25
#: lib/cannery_web/live/tag_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Background color"
msgstr "Hintergrundfarbe"
#: lib/cannery_web/components/type_table_component.ex:86
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#: lib/cannery_web/live/type_live/form_component.html.heex:354
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr "Knallpatrone"
#: lib/cannery_web/live/type_live/form_component.html.heex:180
#: lib/cannery_web/live/type_live/form_component.html.heex:191
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr "Messing"
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:151
#: lib/cannery_web/live/type_live/form_component.html.heex:159
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr "Projektilkern"
#: lib/cannery_web/components/type_table_component.ex:59
#: lib/cannery_web/live/type_live/form_component.html.heex:125
#: lib/cannery_web/live/type_live/form_component.html.heex:132
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr "Patronenart"
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:70
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr "Kaliber"
#: lib/cannery_web/components/type_table_component.ex:49
#: lib/cannery_web/live/type_live/form_component.html.heex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr "Patrone"
#: lib/cannery_web/components/type_table_component.ex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:174
#: lib/cannery_web/live/type_live/form_component.html.heex:184
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr "Gehäusematerial"
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:65
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Behälter"
@ -100,7 +100,7 @@ msgid "Containers"
msgstr "Behälter"
#: lib/cannery_web/components/type_table_component.ex:87
#: lib/cannery_web/live/type_live/form_component.html.heex:337
#: lib/cannery_web/live/type_live/form_component.html.heex:358
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr "Korrosiv"
@ -118,8 +118,8 @@ msgid "Count:"
msgstr "Anzahl:"
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#: lib/cannery_web/live/type_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Description"
msgstr "Beschreibung"
@ -145,19 +145,19 @@ msgstr "Einladung bearbeiten"
msgid "Edit Tag"
msgstr "Tag bearbeiten"
#: lib/cannery_web/live/type_live/form_component.html.heex:139
#: lib/cannery_web/live/type_live/form_component.html.heex:147
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr "VM"
#: lib/cannery_web/components/type_table_component.ex:58
#: lib/cannery_web/live/type_live/form_component.html.heex:115
#: lib/cannery_web/live/type_live/form_component.html.heex:122
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr "Körner"
#: lib/cannery_web/components/type_table_component.ex:85
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#: lib/cannery_web/live/type_live/form_component.html.heex:350
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr "Brandmunition"
@ -184,14 +184,14 @@ msgstr "Nur mit Einladung"
msgid "Invites"
msgstr "Einladungen"
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr "Für 60 Tage eingeloggt bleiben"
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Location"
msgstr "Standort"
@ -202,24 +202,24 @@ msgstr "Standort"
msgid "Location:"
msgstr "Standort:"
#: lib/cannery_web/live/container_live/form_component.html.heex:41
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr "Magazin, Ladestreifen, Munitionskiste usw."
#: lib/cannery_web/components/type_table_component.ex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:342
#: lib/cannery_web/live/type_live/form_component.html.heex:345
#: lib/cannery_web/live/type_live/form_component.html.heex:363
#: lib/cannery_web/live/type_live/form_component.html.heex:366
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr "Hersteller"
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#: lib/cannery_web/live/container_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr "Metallene Munitionskiste mit Anime-Girl-Sticker"
#: lib/cannery_web/live/container_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:26
#, elixir-autogen, elixir-format
msgid "My cool ammo can"
msgstr "Meine coole Munitionskiste"
@ -280,7 +280,7 @@ msgstr "Keine Tags"
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:57
#: lib/cannery_web/live/pack_live/form_component.html.heex:58
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@ -293,13 +293,13 @@ msgstr "Bemerkungen"
msgid "Notes:"
msgstr "Bemerkungen:"
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr "Auf dem Bücherregal"
#: lib/cannery_web/components/type_table_component.ex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:266
#: lib/cannery_web/live/type_live/form_component.html.heex:283
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr "Druck"
@ -316,7 +316,7 @@ msgid "Price paid:"
msgstr "Kaufpreis:"
#: lib/cannery_web/components/type_table_component.ex:82
#: lib/cannery_web/live/type_live/form_component.html.heex:305
#: lib/cannery_web/live/type_live/form_component.html.heex:324
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr "Zündertyp"
@ -349,7 +349,7 @@ msgstr "Einstellungen"
msgid "Simple:"
msgstr "Einfach:"
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr "Stahl"
@ -373,7 +373,7 @@ msgstr "Tags"
msgid "Tags can be added to your containers to help you organize"
msgstr "Tags können zur besseren Ordnung einem Behälter hinzugefügt werden"
#: lib/cannery_web/live/tag_live/form_component.html.heex:31
#: lib/cannery_web/live/tag_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Text color"
msgstr "Textfarbe"
@ -384,7 +384,7 @@ msgid "The self-hosted firearm tracker website"
msgstr "Die selbst-gehostete Website zur Verwaltung von Schusswaffen"
#: lib/cannery_web/components/type_table_component.ex:84
#: lib/cannery_web/live/type_live/form_component.html.heex:325
#: lib/cannery_web/live/type_live/form_component.html.heex:346
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr "Leuchtspur"
@ -392,7 +392,7 @@ msgstr "Leuchtspur"
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#, elixir-autogen, elixir-format
msgid "Type"
@ -409,7 +409,7 @@ msgstr "Art:"
msgid "Users"
msgstr "Benutzer"
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr "Verbleibende Nutzung"
@ -437,10 +437,10 @@ msgstr "Schießplatz"
msgid "Range day"
msgstr "Range Day"
#: lib/cannery_web/components/add_shot_record_component.html.heex:48
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:40
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
msgstr "Datum"
@ -501,36 +501,36 @@ msgstr "Schießkladde"
msgid "$%{amount}"
msgstr "$%{amount}"
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#: lib/cannery_web/live/type_live/form_component.html.heex:177
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr "Bimetall"
#: lib/cannery_web/components/type_table_component.ex:65
#: lib/cannery_web/live/type_live/form_component.html.heex:163
#: lib/cannery_web/live/type_live/form_component.html.heex:172
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr "Patronenhülse"
#: lib/cannery_web/components/type_table_component.ex:81
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#: lib/cannery_web/live/type_live/form_component.html.heex:307
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr "Mündungsgeschwindigkeit"
#: lib/cannery_web/components/type_table_component.ex:75
#: lib/cannery_web/live/type_live/form_component.html.heex:253
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr "Pulverkörner pro Ladung"
#: lib/cannery_web/components/type_table_component.ex:73
#: lib/cannery_web/live/type_live/form_component.html.heex:245
#: lib/cannery_web/live/type_live/form_component.html.heex:261
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr "Pulverart"
#: lib/cannery_web/live/type_live/form_component.html.heex:352
#: lib/cannery_web/live/type_live/form_component.html.heex:374
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr "UPC"
@ -554,12 +554,12 @@ msgid "New password"
msgstr "Neues Passwort"
#: lib/cannery_web/components/type_table_component.ex:83
#: lib/cannery_web/live/type_live/form_component.html.heex:313
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr "Patronenhülsenform"
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr "Neu verbinden..."
@ -653,7 +653,7 @@ msgstr "Passwort zurücksetzen"
msgid "Record Shots"
msgstr "Schüsse dokumentieren"
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:77
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr "Kopien"
@ -755,7 +755,7 @@ msgstr ""
msgid "isn't he cute >:3"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -995,7 +995,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:49
#: lib/cannery_web/live/pack_live/form_component.html.heex:50
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@ -1011,27 +1011,27 @@ msgstr ""
msgid "Edit ammo"
msgstr "Munitionstyp bearbeiten"
#: lib/cannery_web/live/type_live/index.html.heex:60
#: lib/cannery_web/live/type_live/index.html.heex:58
#, elixir-autogen, elixir-format
msgid "Search catalog"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:81
#: lib/cannery_web/live/pack_live/index.html.heex:79
#, elixir-autogen, elixir-format, fuzzy
msgid "Search ammo"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:34
#: lib/cannery_web/live/container_live/index.html.heex:32
#, elixir-autogen, elixir-format
msgid "Search containers"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36
#: lib/cannery_web/live/tag_live/index.html.heex:34
#, elixir-autogen, elixir-format, fuzzy
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:112
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1135,38 +1135,38 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:74
#: lib/cannery_web/live/type_live/form_component.html.heex:78
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:309
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:317
#: lib/cannery_web/live/type_live/form_component.html.heex:338
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#: lib/cannery_web/components/add_shot_record_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""
@ -1210,13 +1210,13 @@ msgstr ""
msgid "All"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:322
#: lib/cannery_web/live/type_live/form_component.html.heex:343
#, elixir-autogen, elixir-format
msgid "Attributes"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:56
#: lib/cannery_web/live/type_live/form_component.html.heex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:93
#, elixir-autogen, elixir-format, fuzzy
msgid "Brass height"
msgstr "Messing"
@ -1227,7 +1227,7 @@ msgid "Brass height:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:57
#: lib/cannery_web/live/type_live/form_component.html.heex:97
#: lib/cannery_web/live/type_live/form_component.html.heex:103
#, elixir-autogen, elixir-format
msgid "Chamber size"
msgstr ""
@ -1237,13 +1237,13 @@ msgstr ""
msgid "Chamber size:"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:47
#: lib/cannery_web/live/type_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Dimensions"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:80
#: lib/cannery_web/live/type_live/form_component.html.heex:275
#: lib/cannery_web/live/type_live/form_component.html.heex:293
#, elixir-autogen, elixir-format
msgid "Dram equivalent"
msgstr ""
@ -1254,7 +1254,7 @@ msgid "Dram equivalent:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:69
#, elixir-autogen, elixir-format
msgid "Gauge"
msgstr ""
@ -1265,7 +1265,7 @@ msgid "Gauge:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:71
#: lib/cannery_web/live/type_live/form_component.html.heex:216
#: lib/cannery_web/live/type_live/form_component.html.heex:231
#, elixir-autogen, elixir-format
msgid "Load grains"
msgstr ""
@ -1295,17 +1295,17 @@ msgstr ""
msgid "Pistol"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:242
#: lib/cannery_web/live/type_live/form_component.html.heex:258
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder"
msgstr "Pulverart"
#: lib/cannery_web/live/type_live/form_component.html.heex:302
#: lib/cannery_web/live/type_live/form_component.html.heex:321
#, elixir-autogen, elixir-format, fuzzy
msgid "Primer"
msgstr "Zündertyp"
#: lib/cannery_web/live/type_live/form_component.html.heex:112
#: lib/cannery_web/live/type_live/form_component.html.heex:119
#, elixir-autogen, elixir-format
msgid "Projectile"
msgstr ""
@ -1321,7 +1321,7 @@ msgid "Rifle"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:72
#: lib/cannery_web/live/type_live/form_component.html.heex:224
#: lib/cannery_web/live/type_live/form_component.html.heex:239
#, elixir-autogen, elixir-format
msgid "Shot charge weight"
msgstr ""
@ -1332,7 +1332,7 @@ msgid "Shot charge weight:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:69
#: lib/cannery_web/live/type_live/form_component.html.heex:200
#: lib/cannery_web/live/type_live/form_component.html.heex:213
#, elixir-autogen, elixir-format
msgid "Shot material"
msgstr ""
@ -1343,7 +1343,7 @@ msgid "Shot material:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:70
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#: lib/cannery_web/live/type_live/form_component.html.heex:223
#, elixir-autogen, elixir-format, fuzzy
msgid "Shot size"
msgstr "Schüsse abgegeben"
@ -1354,7 +1354,7 @@ msgid "Shot size:"
msgstr "Schüsse abgegeben"
#: lib/cannery_web/components/type_table_component.ex:68
#: lib/cannery_web/live/type_live/form_component.html.heex:192
#: lib/cannery_web/live/type_live/form_component.html.heex:204
#, elixir-autogen, elixir-format
msgid "Shot type"
msgstr ""
@ -1375,12 +1375,12 @@ msgid "Shotgun"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:150
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Slug core"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#, elixir-autogen, elixir-format
msgid "Target, bird, buck, etc"
msgstr ""
@ -1391,13 +1391,13 @@ msgid "Unfired length:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Unfired shell length"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:185
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#, elixir-autogen, elixir-format
msgid "Wadding"
msgstr ""

View File

@ -66,7 +66,7 @@ msgstr "Sie können ihr Passwort unter folgender URL zurücksetzen:"
## 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/accounts/email.ex:31
#: lib/cannery/email.ex:31
#, elixir-autogen, elixir-format, fuzzy
msgid "Confirm your Cannery account"
msgstr "Bestätigen Sie ihr %{name} Nutzerkonto"
@ -86,7 +86,7 @@ msgstr ""
"Falls Sie die Änderung von %{name} nicht angefragt haben, ignorieren Sie "
"diese Nachricht bitte."
#: lib/cannery/accounts/email.ex:38
#: lib/cannery/email.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Reset your Cannery password"
msgstr "Passwort für %{name} zurücksetzen"
@ -105,7 +105,7 @@ msgstr ""
"Diese Nachricht wurde von %{name} gesandt, einem selbst-gehosteten "
"Schusswaffenmanager."
#: lib/cannery/accounts/email.ex:45
#: lib/cannery/email.ex:45
#, elixir-autogen, elixir-format, fuzzy
msgid "Update your Cannery email"
msgstr "Aktualisieren Sie %{name} Mailadresse"

View File

@ -158,12 +158,12 @@ msgstr ""
msgid "Tag could not be removed"
msgstr "Tag konnte nicht gelöscht werden"
#: lib/cannery_web/live/pack_live/form_component.ex:159
#: lib/cannery_web/live/pack_live/form_component.ex:152
#, elixir-autogen, elixir-format
msgid "Could not parse number of copies"
msgstr "Konnte die Anzahl der Kopien nicht verstehen"
#: lib/cannery_web/live/pack_live/form_component.ex:149
#: lib/cannery_web/live/pack_live/form_component.ex:142
#, elixir-autogen, elixir-format
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr ""

View File

@ -23,10 +23,10 @@ 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/container_live/form_component.ex:89
#: lib/cannery_web/live/invite_live/form_component.ex:80
#: lib/cannery_web/live/tag_live/form_component.ex:78
#: lib/cannery_web/live/type_live/form_component.ex:88
#: lib/cannery_web/live/container_live/form_component.ex:88
#: lib/cannery_web/live/invite_live/form_component.ex:79
#: lib/cannery_web/live/tag_live/form_component.ex:77
#: lib/cannery_web/live/type_live/form_component.ex:87
#, elixir-autogen, elixir-format
msgid "%{name} created successfully"
msgstr "%{name} erfolgreich erstellt"
@ -44,10 +44,10 @@ msgstr "%{name} erfolgreich gelöscht"
msgid "%{name} has been deleted"
msgstr "%{name} wurde gelöscht"
#: lib/cannery_web/live/container_live/form_component.ex:70
#: lib/cannery_web/live/invite_live/form_component.ex:62
#: lib/cannery_web/live/tag_live/form_component.ex:60
#: lib/cannery_web/live/type_live/form_component.ex:69
#: lib/cannery_web/live/container_live/form_component.ex:69
#: lib/cannery_web/live/invite_live/form_component.ex:61
#: lib/cannery_web/live/tag_live/form_component.ex:59
#: lib/cannery_web/live/type_live/form_component.ex:68
#, elixir-autogen, elixir-format
msgid "%{name} updated successfully"
msgstr "%{name} erfolgreich aktualisiert"
@ -128,13 +128,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/components/add_shot_record_component.html.heex:58
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/pack_live/form_component.html.heex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#: lib/cannery_web/live/type_live/form_component.html.heex:360
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:93
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:383
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr "Speichere..."
@ -166,7 +166,7 @@ msgstr "%{tag_name} wurde von %{container_name} entfernt"
msgid "Adding..."
msgstr "Füge hinzu..."
#: lib/cannery_web/components/add_shot_record_component.ex:60
#: lib/cannery_web/components/add_shot_record_component.ex:62
#, elixir-autogen, elixir-format
msgid "Shots recorded successfully"
msgstr "Schüsse erfolgreich dokumentiert"
@ -219,7 +219,7 @@ msgstr "%{name} erfolgreich entfernt"
msgid "You'll need to"
msgstr "Sie müssen"
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:86
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr "Erstellen..."
@ -245,12 +245,12 @@ msgstr "Munitionsgruppe erfolgreich gelöscht"
msgid "Ammo unstaged succesfully"
msgstr "Munition erfolgreich demarkiert"
#: lib/cannery_web/live/pack_live/form_component.ex:125
#: lib/cannery_web/live/pack_live/form_component.ex:118
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo updated successfully"
msgstr "Munitionsgruppe erfolgreich aktualisiert"
#: lib/cannery_web/live/pack_live/form_component.ex:184
#: lib/cannery_web/live/pack_live/form_component.ex:177
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo added successfully"
msgid_plural "Ammo added successfully"

View File

@ -34,55 +34,55 @@ msgstr ""
msgid "Ammo"
msgstr ""
#: lib/cannery_web/live/tag_live/form_component.html.heex:25
#: lib/cannery_web/live/tag_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Background color"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:86
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#: lib/cannery_web/live/type_live/form_component.html.heex:354
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:180
#: lib/cannery_web/live/type_live/form_component.html.heex:191
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:151
#: lib/cannery_web/live/type_live/form_component.html.heex:159
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:59
#: lib/cannery_web/live/type_live/form_component.html.heex:125
#: lib/cannery_web/live/type_live/form_component.html.heex:132
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:70
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:49
#: lib/cannery_web/live/type_live/form_component.html.heex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:174
#: lib/cannery_web/live/type_live/form_component.html.heex:184
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:65
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -96,7 +96,7 @@ msgid "Containers"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:87
#: lib/cannery_web/live/type_live/form_component.html.heex:337
#: lib/cannery_web/live/type_live/form_component.html.heex:358
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr ""
@ -114,8 +114,8 @@ msgid "Count:"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#: lib/cannery_web/live/type_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
@ -141,19 +141,19 @@ msgstr ""
msgid "Edit Tag"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:139
#: lib/cannery_web/live/type_live/form_component.html.heex:147
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:58
#: lib/cannery_web/live/type_live/form_component.html.heex:115
#: lib/cannery_web/live/type_live/form_component.html.heex:122
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:85
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#: lib/cannery_web/live/type_live/form_component.html.heex:350
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr ""
@ -180,14 +180,14 @@ msgstr ""
msgid "Invites"
msgstr ""
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Location"
msgstr ""
@ -198,24 +198,24 @@ msgstr ""
msgid "Location:"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:41
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:342
#: lib/cannery_web/live/type_live/form_component.html.heex:345
#: lib/cannery_web/live/type_live/form_component.html.heex:363
#: lib/cannery_web/live/type_live/form_component.html.heex:366
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#: lib/cannery_web/live/container_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:26
#, elixir-autogen, elixir-format
msgid "My cool ammo can"
msgstr ""
@ -276,7 +276,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:57
#: lib/cannery_web/live/pack_live/form_component.html.heex:58
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@ -289,13 +289,13 @@ msgstr ""
msgid "Notes:"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:266
#: lib/cannery_web/live/type_live/form_component.html.heex:283
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr ""
@ -312,7 +312,7 @@ msgid "Price paid:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:82
#: lib/cannery_web/live/type_live/form_component.html.heex:305
#: lib/cannery_web/live/type_live/form_component.html.heex:324
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr ""
@ -343,7 +343,7 @@ msgstr ""
msgid "Simple:"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr ""
@ -367,7 +367,7 @@ msgstr ""
msgid "Tags can be added to your containers to help you organize"
msgstr ""
#: lib/cannery_web/live/tag_live/form_component.html.heex:31
#: lib/cannery_web/live/tag_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Text color"
msgstr ""
@ -378,7 +378,7 @@ msgid "The self-hosted firearm tracker website"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:84
#: lib/cannery_web/live/type_live/form_component.html.heex:325
#: lib/cannery_web/live/type_live/form_component.html.heex:346
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr ""
@ -386,7 +386,7 @@ msgstr ""
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#, elixir-autogen, elixir-format
msgid "Type"
@ -403,7 +403,7 @@ msgstr ""
msgid "Users"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr ""
@ -431,10 +431,10 @@ msgstr ""
msgid "Range day"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:48
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:40
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
msgstr ""
@ -495,36 +495,36 @@ msgstr ""
msgid "$%{amount}"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#: lib/cannery_web/live/type_live/form_component.html.heex:177
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:65
#: lib/cannery_web/live/type_live/form_component.html.heex:163
#: lib/cannery_web/live/type_live/form_component.html.heex:172
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:81
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#: lib/cannery_web/live/type_live/form_component.html.heex:307
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:75
#: lib/cannery_web/live/type_live/form_component.html.heex:253
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:73
#: lib/cannery_web/live/type_live/form_component.html.heex:245
#: lib/cannery_web/live/type_live/form_component.html.heex:261
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:352
#: lib/cannery_web/live/type_live/form_component.html.heex:374
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@ -548,12 +548,12 @@ msgid "New password"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:83
#: lib/cannery_web/live/type_live/form_component.html.heex:313
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr ""
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr ""
@ -647,7 +647,7 @@ msgstr ""
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:77
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@ -749,7 +749,7 @@ msgstr ""
msgid "isn't he cute >:3"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -989,7 +989,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:49
#: lib/cannery_web/live/pack_live/form_component.html.heex:50
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@ -1005,27 +1005,27 @@ msgstr ""
msgid "Edit ammo"
msgstr ""
#: lib/cannery_web/live/type_live/index.html.heex:60
#: lib/cannery_web/live/type_live/index.html.heex:58
#, elixir-autogen, elixir-format
msgid "Search catalog"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:81
#: lib/cannery_web/live/pack_live/index.html.heex:79
#, elixir-autogen, elixir-format
msgid "Search ammo"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:34
#: lib/cannery_web/live/container_live/index.html.heex:32
#, elixir-autogen, elixir-format
msgid "Search containers"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36
#: lib/cannery_web/live/tag_live/index.html.heex:34
#, elixir-autogen, elixir-format
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:112
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1118,38 +1118,38 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:74
#: lib/cannery_web/live/type_live/form_component.html.heex:78
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:309
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:317
#: lib/cannery_web/live/type_live/form_component.html.heex:338
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#: lib/cannery_web/components/add_shot_record_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""
@ -1193,13 +1193,13 @@ msgstr ""
msgid "All"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:322
#: lib/cannery_web/live/type_live/form_component.html.heex:343
#, elixir-autogen, elixir-format
msgid "Attributes"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:56
#: lib/cannery_web/live/type_live/form_component.html.heex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:93
#, elixir-autogen, elixir-format
msgid "Brass height"
msgstr ""
@ -1210,7 +1210,7 @@ msgid "Brass height:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:57
#: lib/cannery_web/live/type_live/form_component.html.heex:97
#: lib/cannery_web/live/type_live/form_component.html.heex:103
#, elixir-autogen, elixir-format
msgid "Chamber size"
msgstr ""
@ -1220,13 +1220,13 @@ msgstr ""
msgid "Chamber size:"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:47
#: lib/cannery_web/live/type_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Dimensions"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:80
#: lib/cannery_web/live/type_live/form_component.html.heex:275
#: lib/cannery_web/live/type_live/form_component.html.heex:293
#, elixir-autogen, elixir-format
msgid "Dram equivalent"
msgstr ""
@ -1237,7 +1237,7 @@ msgid "Dram equivalent:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:69
#, elixir-autogen, elixir-format
msgid "Gauge"
msgstr ""
@ -1248,7 +1248,7 @@ msgid "Gauge:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:71
#: lib/cannery_web/live/type_live/form_component.html.heex:216
#: lib/cannery_web/live/type_live/form_component.html.heex:231
#, elixir-autogen, elixir-format
msgid "Load grains"
msgstr ""
@ -1278,17 +1278,17 @@ msgstr ""
msgid "Pistol"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:242
#: lib/cannery_web/live/type_live/form_component.html.heex:258
#, elixir-autogen, elixir-format
msgid "Powder"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:302
#: lib/cannery_web/live/type_live/form_component.html.heex:321
#, elixir-autogen, elixir-format
msgid "Primer"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:112
#: lib/cannery_web/live/type_live/form_component.html.heex:119
#, elixir-autogen, elixir-format
msgid "Projectile"
msgstr ""
@ -1304,7 +1304,7 @@ msgid "Rifle"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:72
#: lib/cannery_web/live/type_live/form_component.html.heex:224
#: lib/cannery_web/live/type_live/form_component.html.heex:239
#, elixir-autogen, elixir-format
msgid "Shot charge weight"
msgstr ""
@ -1315,7 +1315,7 @@ msgid "Shot charge weight:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:69
#: lib/cannery_web/live/type_live/form_component.html.heex:200
#: lib/cannery_web/live/type_live/form_component.html.heex:213
#, elixir-autogen, elixir-format
msgid "Shot material"
msgstr ""
@ -1326,7 +1326,7 @@ msgid "Shot material:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:70
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#: lib/cannery_web/live/type_live/form_component.html.heex:223
#, elixir-autogen, elixir-format
msgid "Shot size"
msgstr ""
@ -1337,7 +1337,7 @@ msgid "Shot size:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:68
#: lib/cannery_web/live/type_live/form_component.html.heex:192
#: lib/cannery_web/live/type_live/form_component.html.heex:204
#, elixir-autogen, elixir-format
msgid "Shot type"
msgstr ""
@ -1358,12 +1358,12 @@ msgid "Shotgun"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:150
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Slug core"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#, elixir-autogen, elixir-format
msgid "Target, bird, buck, etc"
msgstr ""
@ -1374,13 +1374,13 @@ msgid "Unfired length:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Unfired shell length"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:185
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#, elixir-autogen, elixir-format
msgid "Wadding"
msgstr ""

View File

@ -49,7 +49,7 @@ msgstr ""
msgid "You can reset your password by visiting the URL below:"
msgstr ""
#: lib/cannery/accounts/email.ex:31
#: lib/cannery/email.ex:31
#, elixir-autogen, elixir-format
msgid "Confirm your Cannery account"
msgstr ""
@ -65,7 +65,7 @@ msgstr ""
msgid "If you didn't request this change from Cannery, please ignore this."
msgstr ""
#: lib/cannery/accounts/email.ex:38
#: lib/cannery/email.ex:38
#, elixir-autogen, elixir-format
msgid "Reset your Cannery password"
msgstr ""
@ -80,7 +80,7 @@ msgstr ""
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
msgstr ""
#: lib/cannery/accounts/email.ex:45
#: lib/cannery/email.ex:45
#, elixir-autogen, elixir-format
msgid "Update your Cannery email"
msgstr ""

View File

@ -56,7 +56,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr ""
@ -72,7 +72,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr ""
@ -98,7 +98,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr ""
@ -115,13 +115,13 @@ msgstr ""
msgid "Reset password"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:56
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/pack_live/form_component.html.heex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#: lib/cannery_web/live/type_live/form_component.html.heex:359
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:92
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:382
#, elixir-autogen, elixir-format
msgid "Save"
msgstr ""
@ -178,7 +178,7 @@ msgstr ""
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:83
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format, fuzzy
msgid "Create"
msgstr ""
@ -305,6 +305,7 @@ msgstr ""
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format, fuzzy

View File

@ -34,55 +34,55 @@ msgstr ""
msgid "Ammo"
msgstr ""
#: lib/cannery_web/live/tag_live/form_component.html.heex:25
#: lib/cannery_web/live/tag_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Background color"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:86
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#: lib/cannery_web/live/type_live/form_component.html.heex:354
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:180
#: lib/cannery_web/live/type_live/form_component.html.heex:191
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:151
#: lib/cannery_web/live/type_live/form_component.html.heex:159
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:59
#: lib/cannery_web/live/type_live/form_component.html.heex:125
#: lib/cannery_web/live/type_live/form_component.html.heex:132
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:70
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:49
#: lib/cannery_web/live/type_live/form_component.html.heex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:174
#: lib/cannery_web/live/type_live/form_component.html.heex:184
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:65
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -96,7 +96,7 @@ msgid "Containers"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:87
#: lib/cannery_web/live/type_live/form_component.html.heex:337
#: lib/cannery_web/live/type_live/form_component.html.heex:358
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr ""
@ -114,8 +114,8 @@ msgid "Count:"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#: lib/cannery_web/live/type_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
@ -141,19 +141,19 @@ msgstr ""
msgid "Edit Tag"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:139
#: lib/cannery_web/live/type_live/form_component.html.heex:147
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:58
#: lib/cannery_web/live/type_live/form_component.html.heex:115
#: lib/cannery_web/live/type_live/form_component.html.heex:122
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:85
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#: lib/cannery_web/live/type_live/form_component.html.heex:350
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr ""
@ -180,14 +180,14 @@ msgstr ""
msgid "Invites"
msgstr ""
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Location"
msgstr ""
@ -198,24 +198,24 @@ msgstr ""
msgid "Location:"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:41
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:342
#: lib/cannery_web/live/type_live/form_component.html.heex:345
#: lib/cannery_web/live/type_live/form_component.html.heex:363
#: lib/cannery_web/live/type_live/form_component.html.heex:366
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#: lib/cannery_web/live/container_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:26
#, elixir-autogen, elixir-format
msgid "My cool ammo can"
msgstr ""
@ -276,7 +276,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:57
#: lib/cannery_web/live/pack_live/form_component.html.heex:58
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@ -289,13 +289,13 @@ msgstr ""
msgid "Notes:"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:266
#: lib/cannery_web/live/type_live/form_component.html.heex:283
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr ""
@ -312,7 +312,7 @@ msgid "Price paid:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:82
#: lib/cannery_web/live/type_live/form_component.html.heex:305
#: lib/cannery_web/live/type_live/form_component.html.heex:324
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr ""
@ -343,7 +343,7 @@ msgstr ""
msgid "Simple:"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr ""
@ -367,7 +367,7 @@ msgstr ""
msgid "Tags can be added to your containers to help you organize"
msgstr ""
#: lib/cannery_web/live/tag_live/form_component.html.heex:31
#: lib/cannery_web/live/tag_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Text color"
msgstr ""
@ -378,7 +378,7 @@ msgid "The self-hosted firearm tracker website"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:84
#: lib/cannery_web/live/type_live/form_component.html.heex:325
#: lib/cannery_web/live/type_live/form_component.html.heex:346
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr ""
@ -386,7 +386,7 @@ msgstr ""
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#, elixir-autogen, elixir-format
msgid "Type"
@ -403,7 +403,7 @@ msgstr ""
msgid "Users"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr ""
@ -431,10 +431,10 @@ msgstr ""
msgid "Range day"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:48
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:40
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
msgstr ""
@ -495,36 +495,36 @@ msgstr ""
msgid "$%{amount}"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#: lib/cannery_web/live/type_live/form_component.html.heex:177
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:65
#: lib/cannery_web/live/type_live/form_component.html.heex:163
#: lib/cannery_web/live/type_live/form_component.html.heex:172
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:81
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#: lib/cannery_web/live/type_live/form_component.html.heex:307
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:75
#: lib/cannery_web/live/type_live/form_component.html.heex:253
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:73
#: lib/cannery_web/live/type_live/form_component.html.heex:245
#: lib/cannery_web/live/type_live/form_component.html.heex:261
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:352
#: lib/cannery_web/live/type_live/form_component.html.heex:374
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@ -548,12 +548,12 @@ msgid "New password"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:83
#: lib/cannery_web/live/type_live/form_component.html.heex:313
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr ""
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr ""
@ -647,7 +647,7 @@ msgstr ""
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:77
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@ -749,7 +749,7 @@ msgstr ""
msgid "isn't he cute >:3"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -989,7 +989,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:49
#: lib/cannery_web/live/pack_live/form_component.html.heex:50
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@ -1005,27 +1005,27 @@ msgstr ""
msgid "Edit ammo"
msgstr ""
#: lib/cannery_web/live/type_live/index.html.heex:60
#: lib/cannery_web/live/type_live/index.html.heex:58
#, elixir-autogen, elixir-format
msgid "Search catalog"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:81
#: lib/cannery_web/live/pack_live/index.html.heex:79
#, elixir-autogen, elixir-format, fuzzy
msgid "Search ammo"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:34
#: lib/cannery_web/live/container_live/index.html.heex:32
#, elixir-autogen, elixir-format
msgid "Search containers"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36
#: lib/cannery_web/live/tag_live/index.html.heex:34
#, elixir-autogen, elixir-format, fuzzy
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:112
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1118,38 +1118,38 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:74
#: lib/cannery_web/live/type_live/form_component.html.heex:78
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:309
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:317
#: lib/cannery_web/live/type_live/form_component.html.heex:338
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#: lib/cannery_web/components/add_shot_record_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""
@ -1193,13 +1193,13 @@ msgstr ""
msgid "All"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:322
#: lib/cannery_web/live/type_live/form_component.html.heex:343
#, elixir-autogen, elixir-format
msgid "Attributes"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:56
#: lib/cannery_web/live/type_live/form_component.html.heex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:93
#, elixir-autogen, elixir-format, fuzzy
msgid "Brass height"
msgstr ""
@ -1210,7 +1210,7 @@ msgid "Brass height:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:57
#: lib/cannery_web/live/type_live/form_component.html.heex:97
#: lib/cannery_web/live/type_live/form_component.html.heex:103
#, elixir-autogen, elixir-format
msgid "Chamber size"
msgstr ""
@ -1220,13 +1220,13 @@ msgstr ""
msgid "Chamber size:"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:47
#: lib/cannery_web/live/type_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Dimensions"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:80
#: lib/cannery_web/live/type_live/form_component.html.heex:275
#: lib/cannery_web/live/type_live/form_component.html.heex:293
#, elixir-autogen, elixir-format
msgid "Dram equivalent"
msgstr ""
@ -1237,7 +1237,7 @@ msgid "Dram equivalent:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:69
#, elixir-autogen, elixir-format
msgid "Gauge"
msgstr ""
@ -1248,7 +1248,7 @@ msgid "Gauge:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:71
#: lib/cannery_web/live/type_live/form_component.html.heex:216
#: lib/cannery_web/live/type_live/form_component.html.heex:231
#, elixir-autogen, elixir-format
msgid "Load grains"
msgstr ""
@ -1278,17 +1278,17 @@ msgstr ""
msgid "Pistol"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:242
#: lib/cannery_web/live/type_live/form_component.html.heex:258
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:302
#: lib/cannery_web/live/type_live/form_component.html.heex:321
#, elixir-autogen, elixir-format, fuzzy
msgid "Primer"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:112
#: lib/cannery_web/live/type_live/form_component.html.heex:119
#, elixir-autogen, elixir-format
msgid "Projectile"
msgstr ""
@ -1304,7 +1304,7 @@ msgid "Rifle"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:72
#: lib/cannery_web/live/type_live/form_component.html.heex:224
#: lib/cannery_web/live/type_live/form_component.html.heex:239
#, elixir-autogen, elixir-format
msgid "Shot charge weight"
msgstr ""
@ -1315,7 +1315,7 @@ msgid "Shot charge weight:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:69
#: lib/cannery_web/live/type_live/form_component.html.heex:200
#: lib/cannery_web/live/type_live/form_component.html.heex:213
#, elixir-autogen, elixir-format
msgid "Shot material"
msgstr ""
@ -1326,7 +1326,7 @@ msgid "Shot material:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:70
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#: lib/cannery_web/live/type_live/form_component.html.heex:223
#, elixir-autogen, elixir-format, fuzzy
msgid "Shot size"
msgstr ""
@ -1337,7 +1337,7 @@ msgid "Shot size:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:68
#: lib/cannery_web/live/type_live/form_component.html.heex:192
#: lib/cannery_web/live/type_live/form_component.html.heex:204
#, elixir-autogen, elixir-format
msgid "Shot type"
msgstr ""
@ -1358,12 +1358,12 @@ msgid "Shotgun"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:150
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Slug core"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#, elixir-autogen, elixir-format
msgid "Target, bird, buck, etc"
msgstr ""
@ -1374,13 +1374,13 @@ msgid "Unfired length:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Unfired shell length"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:185
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#, elixir-autogen, elixir-format
msgid "Wadding"
msgstr ""

View File

@ -49,7 +49,7 @@ msgstr ""
msgid "You can reset your password by visiting the URL below:"
msgstr ""
#: lib/cannery/accounts/email.ex:31
#: lib/cannery/email.ex:31
#, elixir-autogen, elixir-format, fuzzy
msgid "Confirm your Cannery account"
msgstr ""
@ -65,7 +65,7 @@ msgstr ""
msgid "If you didn't request this change from Cannery, please ignore this."
msgstr ""
#: lib/cannery/accounts/email.ex:38
#: lib/cannery/email.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Reset your Cannery password"
msgstr ""
@ -80,7 +80,7 @@ msgstr ""
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
msgstr ""
#: lib/cannery/accounts/email.ex:45
#: lib/cannery/email.ex:45
#, elixir-autogen, elixir-format, fuzzy
msgid "Update your Cannery email"
msgstr ""

View File

@ -143,12 +143,12 @@ msgstr ""
msgid "Tag could not be removed"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:159
#: lib/cannery_web/live/pack_live/form_component.ex:152
#, elixir-autogen, elixir-format
msgid "Could not parse number of copies"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:149
#: lib/cannery_web/live/pack_live/form_component.ex:142
#, elixir-autogen, elixir-format
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr ""

View File

@ -10,10 +10,10 @@ msgid ""
msgstr ""
"Language: en\n"
#: lib/cannery_web/live/container_live/form_component.ex:89
#: lib/cannery_web/live/invite_live/form_component.ex:80
#: lib/cannery_web/live/tag_live/form_component.ex:78
#: lib/cannery_web/live/type_live/form_component.ex:88
#: lib/cannery_web/live/container_live/form_component.ex:88
#: lib/cannery_web/live/invite_live/form_component.ex:79
#: lib/cannery_web/live/tag_live/form_component.ex:77
#: lib/cannery_web/live/type_live/form_component.ex:87
#, elixir-autogen, elixir-format
msgid "%{name} created successfully"
msgstr ""
@ -31,10 +31,10 @@ msgstr ""
msgid "%{name} has been deleted"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.ex:70
#: lib/cannery_web/live/invite_live/form_component.ex:62
#: lib/cannery_web/live/tag_live/form_component.ex:60
#: lib/cannery_web/live/type_live/form_component.ex:69
#: lib/cannery_web/live/container_live/form_component.ex:69
#: lib/cannery_web/live/invite_live/form_component.ex:61
#: lib/cannery_web/live/tag_live/form_component.ex:59
#: lib/cannery_web/live/type_live/form_component.ex:68
#, elixir-autogen, elixir-format
msgid "%{name} updated successfully"
msgstr ""
@ -109,13 +109,13 @@ msgstr ""
msgid "Please check your email to verify your account"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:58
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/pack_live/form_component.html.heex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#: lib/cannery_web/live/type_live/form_component.html.heex:360
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:93
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:383
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr ""
@ -145,7 +145,7 @@ msgstr ""
msgid "Adding..."
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.ex:60
#: lib/cannery_web/components/add_shot_record_component.ex:62
#, elixir-autogen, elixir-format
msgid "Shots recorded successfully"
msgstr ""
@ -198,7 +198,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:86
#, elixir-autogen, elixir-format, fuzzy
msgid "Creating..."
msgstr ""
@ -224,12 +224,12 @@ msgstr ""
msgid "Ammo unstaged succesfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:125
#: lib/cannery_web/live/pack_live/form_component.ex:118
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo updated successfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:184
#: lib/cannery_web/live/pack_live/form_component.ex:177
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo added successfully"
msgid_plural "Ammo added successfully"

View File

@ -142,12 +142,12 @@ msgstr ""
msgid "Tag could not be removed"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:159
#: lib/cannery_web/live/pack_live/form_component.ex:152
#, elixir-autogen, elixir-format
msgid "Could not parse number of copies"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:149
#: lib/cannery_web/live/pack_live/form_component.ex:142
#, elixir-autogen, elixir-format
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr ""

View File

@ -69,7 +69,7 @@ msgstr "Eliminar cuenta de Usuario"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr "¿Has olvidado tu contraseña?"
@ -85,7 +85,7 @@ msgstr "¡Invita a alguien nuevo!"
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr "Entrar"
@ -111,7 +111,7 @@ msgstr "Nueva Etiqueta"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr "Registrarse"
@ -128,13 +128,13 @@ msgstr "Reenviar instrucciones de confirmación"
msgid "Reset password"
msgstr "Resetear contraseña"
#: lib/cannery_web/components/add_shot_record_component.html.heex:56
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/pack_live/form_component.html.heex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#: lib/cannery_web/live/type_live/form_component.html.heex:359
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:92
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:382
#, elixir-autogen, elixir-format
msgid "Save"
msgstr "Guardar"
@ -191,7 +191,7 @@ msgstr "Copiar al portapapeles"
msgid "add a container first"
msgstr "añade primero un contenedor"
#: lib/cannery_web/live/pack_live/form_component.html.heex:83
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Create"
msgstr "Crear"
@ -318,6 +318,7 @@ msgstr ""
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format, fuzzy

View File

@ -38,55 +38,55 @@ msgstr "Aministradores:"
msgid "Ammo"
msgstr "Munición"
#: lib/cannery_web/live/tag_live/form_component.html.heex:25
#: lib/cannery_web/live/tag_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Background color"
msgstr "Color de fondo"
#: lib/cannery_web/components/type_table_component.ex:86
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#: lib/cannery_web/live/type_live/form_component.html.heex:354
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr "Fogueo"
#: lib/cannery_web/live/type_live/form_component.html.heex:180
#: lib/cannery_web/live/type_live/form_component.html.heex:191
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr "Latón"
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:151
#: lib/cannery_web/live/type_live/form_component.html.heex:159
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr "Núcleo de bala"
#: lib/cannery_web/components/type_table_component.ex:59
#: lib/cannery_web/live/type_live/form_component.html.heex:125
#: lib/cannery_web/live/type_live/form_component.html.heex:132
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr "Tipo de bala"
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:70
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr "Calibre"
#: lib/cannery_web/components/type_table_component.ex:49
#: lib/cannery_web/live/type_live/form_component.html.heex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr "Cartucho"
#: lib/cannery_web/components/type_table_component.ex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:174
#: lib/cannery_web/live/type_live/form_component.html.heex:184
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr "Material del casquillo"
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:65
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Contenedor"
@ -100,7 +100,7 @@ msgid "Containers"
msgstr "Contenedores"
#: lib/cannery_web/components/type_table_component.ex:87
#: lib/cannery_web/live/type_live/form_component.html.heex:337
#: lib/cannery_web/live/type_live/form_component.html.heex:358
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr "Corrosiva"
@ -118,8 +118,8 @@ msgid "Count:"
msgstr "Cantidad:"
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#: lib/cannery_web/live/type_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Description"
msgstr "Descripción"
@ -145,19 +145,19 @@ msgstr "Editar Invitación"
msgid "Edit Tag"
msgstr "Editar Etiqueta"
#: lib/cannery_web/live/type_live/form_component.html.heex:139
#: lib/cannery_web/live/type_live/form_component.html.heex:147
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr "Bala encamisada"
#: lib/cannery_web/components/type_table_component.ex:58
#: lib/cannery_web/live/type_live/form_component.html.heex:115
#: lib/cannery_web/live/type_live/form_component.html.heex:122
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr "Grano"
#: lib/cannery_web/components/type_table_component.ex:85
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#: lib/cannery_web/live/type_live/form_component.html.heex:350
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr "Incendiaria"
@ -184,14 +184,14 @@ msgstr "Solo Invitación"
msgid "Invites"
msgstr "Invitaciones"
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr "Mantener registrado durante 60 días"
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Location"
msgstr "Localización"
@ -202,24 +202,24 @@ msgstr "Localización"
msgid "Location:"
msgstr "Localización:"
#: lib/cannery_web/live/container_live/form_component.html.heex:41
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr "Cargador, Clip, Caja de Munición, etc"
#: lib/cannery_web/components/type_table_component.ex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:342
#: lib/cannery_web/live/type_live/form_component.html.heex:345
#: lib/cannery_web/live/type_live/form_component.html.heex:363
#: lib/cannery_web/live/type_live/form_component.html.heex:366
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr "Fabricante"
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#: lib/cannery_web/live/container_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr "Lata de munición metálica con la pegatina de chica de anime"
#: lib/cannery_web/live/container_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:26
#, elixir-autogen, elixir-format
msgid "My cool ammo can"
msgstr "Mi lata de munición guapa"
@ -280,7 +280,7 @@ msgstr "Sin etiquetas"
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:57
#: lib/cannery_web/live/pack_live/form_component.html.heex:58
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@ -293,13 +293,13 @@ msgstr "Notas"
msgid "Notes:"
msgstr "Notas:"
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr "En la estantería"
#: lib/cannery_web/components/type_table_component.ex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:266
#: lib/cannery_web/live/type_live/form_component.html.heex:283
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr "Presión"
@ -316,7 +316,7 @@ msgid "Price paid:"
msgstr "Precio pagado:"
#: lib/cannery_web/components/type_table_component.ex:82
#: lib/cannery_web/live/type_live/form_component.html.heex:305
#: lib/cannery_web/live/type_live/form_component.html.heex:324
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr "Tipo de espoleta"
@ -349,7 +349,7 @@ msgstr "Ajustes"
msgid "Simple:"
msgstr "Simple:"
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr "Acero"
@ -374,7 +374,7 @@ msgid "Tags can be added to your containers to help you organize"
msgstr ""
"Etiquetas pueden ser añadidas a tus contenedores para ayudarte a organizar"
#: lib/cannery_web/live/tag_live/form_component.html.heex:31
#: lib/cannery_web/live/tag_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Text color"
msgstr "Color del texto"
@ -385,7 +385,7 @@ msgid "The self-hosted firearm tracker website"
msgstr "La página de seguimiento de armas autogestionada"
#: lib/cannery_web/components/type_table_component.ex:84
#: lib/cannery_web/live/type_live/form_component.html.heex:325
#: lib/cannery_web/live/type_live/form_component.html.heex:346
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr "Trazadora"
@ -393,7 +393,7 @@ msgstr "Trazadora"
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#, elixir-autogen, elixir-format
msgid "Type"
@ -410,7 +410,7 @@ msgstr "Tipo:"
msgid "Users"
msgstr "Usuarios"
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr "Usos restantes"
@ -438,10 +438,10 @@ msgstr "Campo de tiro"
msgid "Range day"
msgstr "Día de disparar"
#: lib/cannery_web/components/add_shot_record_component.html.heex:48
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:40
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
msgstr "Fecha"
@ -502,36 +502,36 @@ msgstr "Registro de tiros"
msgid "$%{amount}"
msgstr "$%{amount}"
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#: lib/cannery_web/live/type_live/form_component.html.heex:177
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr "Bimetal"
#: lib/cannery_web/components/type_table_component.ex:65
#: lib/cannery_web/live/type_live/form_component.html.heex:163
#: lib/cannery_web/live/type_live/form_component.html.heex:172
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr "Tipo de camisa"
#: lib/cannery_web/components/type_table_component.ex:81
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#: lib/cannery_web/live/type_live/form_component.html.heex:307
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr "Velocidad de boca"
#: lib/cannery_web/components/type_table_component.ex:75
#: lib/cannery_web/live/type_live/form_component.html.heex:253
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr "Granos de polvora por carga"
#: lib/cannery_web/components/type_table_component.ex:73
#: lib/cannery_web/live/type_live/form_component.html.heex:245
#: lib/cannery_web/live/type_live/form_component.html.heex:261
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr "Tipo de polvora"
#: lib/cannery_web/live/type_live/form_component.html.heex:352
#: lib/cannery_web/live/type_live/form_component.html.heex:374
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@ -555,12 +555,12 @@ msgid "New password"
msgstr "Nueva contraseña"
#: lib/cannery_web/components/type_table_component.ex:83
#: lib/cannery_web/live/type_live/form_component.html.heex:313
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr "Tipo de fuego"
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr "Reconectando..."
@ -654,7 +654,7 @@ msgstr "Reestablecer contraseña"
msgid "Record Shots"
msgstr "Tiros Récord"
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:77
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr "Copias"
@ -756,7 +756,7 @@ msgstr "Logo de cannery"
msgid "isn't he cute >:3"
msgstr "acaso no es mono >:3"
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -997,7 +997,7 @@ msgid "Never used"
msgstr "Nunca usada"
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:49
#: lib/cannery_web/live/pack_live/form_component.html.heex:50
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr "Comprada en"
@ -1013,27 +1013,27 @@ msgstr "Comprada en:"
msgid "Edit ammo"
msgstr "Editar munición"
#: lib/cannery_web/live/type_live/index.html.heex:60
#: lib/cannery_web/live/type_live/index.html.heex:58
#, elixir-autogen, elixir-format
msgid "Search catalog"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:81
#: lib/cannery_web/live/pack_live/index.html.heex:79
#, elixir-autogen, elixir-format, fuzzy
msgid "Search ammo"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:34
#: lib/cannery_web/live/container_live/index.html.heex:32
#, elixir-autogen, elixir-format
msgid "Search containers"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36
#: lib/cannery_web/live/tag_live/index.html.heex:34
#, elixir-autogen, elixir-format, fuzzy
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:112
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1137,38 +1137,38 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:74
#: lib/cannery_web/live/type_live/form_component.html.heex:78
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:309
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:317
#: lib/cannery_web/live/type_live/form_component.html.heex:338
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#: lib/cannery_web/components/add_shot_record_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""
@ -1212,13 +1212,13 @@ msgstr ""
msgid "All"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:322
#: lib/cannery_web/live/type_live/form_component.html.heex:343
#, elixir-autogen, elixir-format
msgid "Attributes"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:56
#: lib/cannery_web/live/type_live/form_component.html.heex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:93
#, elixir-autogen, elixir-format, fuzzy
msgid "Brass height"
msgstr "Latón"
@ -1229,7 +1229,7 @@ msgid "Brass height:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:57
#: lib/cannery_web/live/type_live/form_component.html.heex:97
#: lib/cannery_web/live/type_live/form_component.html.heex:103
#, elixir-autogen, elixir-format
msgid "Chamber size"
msgstr ""
@ -1239,13 +1239,13 @@ msgstr ""
msgid "Chamber size:"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:47
#: lib/cannery_web/live/type_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Dimensions"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:80
#: lib/cannery_web/live/type_live/form_component.html.heex:275
#: lib/cannery_web/live/type_live/form_component.html.heex:293
#, elixir-autogen, elixir-format
msgid "Dram equivalent"
msgstr ""
@ -1256,7 +1256,7 @@ msgid "Dram equivalent:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:69
#, elixir-autogen, elixir-format
msgid "Gauge"
msgstr ""
@ -1267,7 +1267,7 @@ msgid "Gauge:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:71
#: lib/cannery_web/live/type_live/form_component.html.heex:216
#: lib/cannery_web/live/type_live/form_component.html.heex:231
#, elixir-autogen, elixir-format
msgid "Load grains"
msgstr ""
@ -1297,17 +1297,17 @@ msgstr ""
msgid "Pistol"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:242
#: lib/cannery_web/live/type_live/form_component.html.heex:258
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder"
msgstr "Tipo de polvora"
#: lib/cannery_web/live/type_live/form_component.html.heex:302
#: lib/cannery_web/live/type_live/form_component.html.heex:321
#, elixir-autogen, elixir-format, fuzzy
msgid "Primer"
msgstr "Tipo de espoleta"
#: lib/cannery_web/live/type_live/form_component.html.heex:112
#: lib/cannery_web/live/type_live/form_component.html.heex:119
#, elixir-autogen, elixir-format
msgid "Projectile"
msgstr ""
@ -1323,7 +1323,7 @@ msgid "Rifle"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:72
#: lib/cannery_web/live/type_live/form_component.html.heex:224
#: lib/cannery_web/live/type_live/form_component.html.heex:239
#, elixir-autogen, elixir-format
msgid "Shot charge weight"
msgstr ""
@ -1334,7 +1334,7 @@ msgid "Shot charge weight:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:69
#: lib/cannery_web/live/type_live/form_component.html.heex:200
#: lib/cannery_web/live/type_live/form_component.html.heex:213
#, elixir-autogen, elixir-format
msgid "Shot material"
msgstr ""
@ -1345,7 +1345,7 @@ msgid "Shot material:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:70
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#: lib/cannery_web/live/type_live/form_component.html.heex:223
#, elixir-autogen, elixir-format, fuzzy
msgid "Shot size"
msgstr "Tiros disparados"
@ -1356,7 +1356,7 @@ msgid "Shot size:"
msgstr "Tiros disparados"
#: lib/cannery_web/components/type_table_component.ex:68
#: lib/cannery_web/live/type_live/form_component.html.heex:192
#: lib/cannery_web/live/type_live/form_component.html.heex:204
#, elixir-autogen, elixir-format
msgid "Shot type"
msgstr ""
@ -1377,12 +1377,12 @@ msgid "Shotgun"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:150
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Slug core"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#, elixir-autogen, elixir-format
msgid "Target, bird, buck, etc"
msgstr ""
@ -1393,13 +1393,13 @@ msgid "Unfired length:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Unfired shell length"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:185
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#, elixir-autogen, elixir-format
msgid "Wadding"
msgstr ""

View File

@ -67,7 +67,7 @@ msgstr ""
## Run "mix gettext.extract" to bring this file up to
## date. Leave "msgstr"s empty as changing them here has no
## effect: edit them in PO (.po) files instead.
#: lib/cannery/accounts/email.ex:31
#: lib/cannery/email.ex:31
#, elixir-autogen, elixir-format, fuzzy
msgid "Confirm your Cannery account"
msgstr "Confirma el %{name} de la cuenta"
@ -85,7 +85,7 @@ msgstr ""
"Si no ha solicitado este cambio desde %{name}, por favor, ignore este "
"mensaje."
#: lib/cannery/accounts/email.ex:38
#: lib/cannery/email.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Reset your Cannery password"
msgstr "Reseteé su contraseña en %{name}"
@ -104,7 +104,7 @@ msgstr ""
"Este correo se mandó por %{name}, la página de seguimiento de armas "
"autogestionada."
#: lib/cannery/accounts/email.ex:45
#: lib/cannery/email.ex:45
#, elixir-autogen, elixir-format, fuzzy
msgid "Update your Cannery email"
msgstr "Actualice su correo en &{url}"

View File

@ -158,12 +158,12 @@ msgstr "Debe confirmar su cuenta e iniciar sesión para acceder a esta página."
msgid "Tag could not be removed"
msgstr "La etiqueta no pudo ser eliminada"
#: lib/cannery_web/live/pack_live/form_component.ex:159
#: lib/cannery_web/live/pack_live/form_component.ex:152
#, elixir-autogen, elixir-format
msgid "Could not parse number of copies"
msgstr "No se ha podido procesar el número de copias"
#: lib/cannery_web/live/pack_live/form_component.ex:149
#: lib/cannery_web/live/pack_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"

View File

@ -23,10 +23,10 @@ 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/container_live/form_component.ex:89
#: lib/cannery_web/live/invite_live/form_component.ex:80
#: lib/cannery_web/live/tag_live/form_component.ex:78
#: lib/cannery_web/live/type_live/form_component.ex:88
#: lib/cannery_web/live/container_live/form_component.ex:88
#: lib/cannery_web/live/invite_live/form_component.ex:79
#: lib/cannery_web/live/tag_live/form_component.ex:77
#: lib/cannery_web/live/type_live/form_component.ex:87
#, elixir-autogen, elixir-format
msgid "%{name} created successfully"
msgstr "%{name} creado exitosamente"
@ -44,10 +44,10 @@ msgstr "%{name} borrado exitosamente"
msgid "%{name} has been deleted"
msgstr "%{name} ha sido borrado"
#: lib/cannery_web/live/container_live/form_component.ex:70
#: lib/cannery_web/live/invite_live/form_component.ex:62
#: lib/cannery_web/live/tag_live/form_component.ex:60
#: lib/cannery_web/live/type_live/form_component.ex:69
#: lib/cannery_web/live/container_live/form_component.ex:69
#: lib/cannery_web/live/invite_live/form_component.ex:61
#: lib/cannery_web/live/tag_live/form_component.ex:59
#: lib/cannery_web/live/type_live/form_component.ex:68
#, elixir-autogen, elixir-format
msgid "%{name} updated successfully"
msgstr "%{name} actualizado exitosamente"
@ -128,13 +128,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/components/add_shot_record_component.html.heex:58
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/pack_live/form_component.html.heex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#: lib/cannery_web/live/type_live/form_component.html.heex:360
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:93
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:383
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr "Guardando..."
@ -165,7 +165,7 @@ msgstr "se ha removido %{tag_name} de %{container_name}"
msgid "Adding..."
msgstr "Añadiendo..."
#: lib/cannery_web/components/add_shot_record_component.ex:60
#: lib/cannery_web/components/add_shot_record_component.ex:62
#, elixir-autogen, elixir-format
msgid "Shots recorded successfully"
msgstr "Tiros registrados exitosamente"
@ -218,7 +218,7 @@ msgstr "%{name} eliminado exitosamente"
msgid "You'll need to"
msgstr "Necesitará hacerlo"
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:86
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr "Creando..."
@ -244,12 +244,12 @@ msgstr "Munición borrada exitosamente"
msgid "Ammo unstaged succesfully"
msgstr "Munición descargada exitosamente"
#: lib/cannery_web/live/pack_live/form_component.ex:125
#: lib/cannery_web/live/pack_live/form_component.ex:118
#, elixir-autogen, elixir-format
msgid "Ammo updated successfully"
msgstr "Munición actualizada exitosamente"
#: lib/cannery_web/live/pack_live/form_component.ex:184
#: lib/cannery_web/live/pack_live/form_component.ex:177
#, elixir-autogen, elixir-format
msgid "Ammo added successfully"
msgid_plural "Ammo added successfully"

View File

@ -69,7 +69,7 @@ msgstr "Supprimer utilisateur"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr "Mot de passe oublié?"
@ -85,7 +85,7 @@ msgstr "Invitez une nouvelle personne!"
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr "Se connecter"
@ -111,7 +111,7 @@ msgstr "Nouveau tag"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr "Senregistrer"
@ -128,13 +128,13 @@ msgstr "Renvoyer les instructions de confirmation"
msgid "Reset password"
msgstr "Réinitialisé le mot de passe"
#: lib/cannery_web/components/add_shot_record_component.html.heex:56
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/pack_live/form_component.html.heex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#: lib/cannery_web/live/type_live/form_component.html.heex:359
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:92
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:382
#, elixir-autogen, elixir-format
msgid "Save"
msgstr "Sauvegarder"
@ -191,7 +191,7 @@ msgstr "Copier dans le presse-papier"
msgid "add a container first"
msgstr "ajouter un conteneur en premier"
#: lib/cannery_web/live/pack_live/form_component.html.heex:83
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Create"
msgstr "Créer"
@ -318,6 +318,7 @@ msgstr ""
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format, fuzzy

View File

@ -38,55 +38,55 @@ msgstr "Administrateur·ices:"
msgid "Ammo"
msgstr "Munition"
#: lib/cannery_web/live/tag_live/form_component.html.heex:25
#: lib/cannery_web/live/tag_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Background color"
msgstr "Couleur de fond"
#: lib/cannery_web/components/type_table_component.ex:86
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#: lib/cannery_web/live/type_live/form_component.html.heex:354
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr "Vide"
#: lib/cannery_web/live/type_live/form_component.html.heex:180
#: lib/cannery_web/live/type_live/form_component.html.heex:191
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr "Cuivre"
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:151
#: lib/cannery_web/live/type_live/form_component.html.heex:159
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr "Noyau de balle"
#: lib/cannery_web/components/type_table_component.ex:59
#: lib/cannery_web/live/type_live/form_component.html.heex:125
#: lib/cannery_web/live/type_live/form_component.html.heex:132
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr "Type de balle"
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:70
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr "Calibre"
#: lib/cannery_web/components/type_table_component.ex:49
#: lib/cannery_web/live/type_live/form_component.html.heex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr "Cartouche"
#: lib/cannery_web/components/type_table_component.ex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:174
#: lib/cannery_web/live/type_live/form_component.html.heex:184
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr "Matériau de la caisse"
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:65
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Conteneur"
@ -100,7 +100,7 @@ msgid "Containers"
msgstr "Conteneurs"
#: lib/cannery_web/components/type_table_component.ex:87
#: lib/cannery_web/live/type_live/form_component.html.heex:337
#: lib/cannery_web/live/type_live/form_component.html.heex:358
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr "Corrosive"
@ -118,8 +118,8 @@ msgid "Count:"
msgstr "Quantité:"
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#: lib/cannery_web/live/type_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Description"
msgstr "Description"
@ -145,19 +145,19 @@ msgstr "Modifier linvitation"
msgid "Edit Tag"
msgstr "Modifier le tag"
#: lib/cannery_web/live/type_live/form_component.html.heex:139
#: lib/cannery_web/live/type_live/form_component.html.heex:147
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr "FMJ"
#: lib/cannery_web/components/type_table_component.ex:58
#: lib/cannery_web/live/type_live/form_component.html.heex:115
#: lib/cannery_web/live/type_live/form_component.html.heex:122
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr "Graines"
#: lib/cannery_web/components/type_table_component.ex:85
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#: lib/cannery_web/live/type_live/form_component.html.heex:350
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr "Incendiaire"
@ -184,14 +184,14 @@ msgstr "Uniquement sur invitation"
msgid "Invites"
msgstr "Invitations"
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr "Me garder authentifié durant 60 jours"
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Location"
msgstr "Localisation"
@ -202,24 +202,24 @@ msgstr "Localisation"
msgid "Location:"
msgstr "Localisation:"
#: lib/cannery_web/live/container_live/form_component.html.heex:41
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr "Chargeur, lame-chargeur, boite de munition, etc."
#: lib/cannery_web/components/type_table_component.ex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:342
#: lib/cannery_web/live/type_live/form_component.html.heex:345
#: lib/cannery_web/live/type_live/form_component.html.heex:363
#: lib/cannery_web/live/type_live/form_component.html.heex:366
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr "Fabricant"
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#: lib/cannery_web/live/container_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr "Boite de munition avec le sticker de fille danimation"
#: lib/cannery_web/live/container_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:26
#, elixir-autogen, elixir-format
msgid "My cool ammo can"
msgstr "Ma superbe boite de munition"
@ -280,7 +280,7 @@ msgstr "Aucun tag"
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:57
#: lib/cannery_web/live/pack_live/form_component.html.heex:58
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@ -293,13 +293,13 @@ msgstr "Notes"
msgid "Notes:"
msgstr "Notes:"
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr "Sur létagère"
#: lib/cannery_web/components/type_table_component.ex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:266
#: lib/cannery_web/live/type_live/form_component.html.heex:283
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr "Pression"
@ -316,7 +316,7 @@ msgid "Price paid:"
msgstr "Prix payé:"
#: lib/cannery_web/components/type_table_component.ex:82
#: lib/cannery_web/live/type_live/form_component.html.heex:305
#: lib/cannery_web/live/type_live/form_component.html.heex:324
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr "Type damorce"
@ -349,7 +349,7 @@ msgstr "Paramètres"
msgid "Simple:"
msgstr "Simple:"
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr "Acier"
@ -375,7 +375,7 @@ msgstr ""
"Des tags peuvent être ajouté sur vos conteneurs pour vous aider à vous "
"organiser"
#: lib/cannery_web/live/tag_live/form_component.html.heex:31
#: lib/cannery_web/live/tag_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Text color"
msgstr "Couleur du texte"
@ -386,7 +386,7 @@ msgid "The self-hosted firearm tracker website"
msgstr "Le site web de suivi darme à feux auto-hébergé"
#: lib/cannery_web/components/type_table_component.ex:84
#: lib/cannery_web/live/type_live/form_component.html.heex:325
#: lib/cannery_web/live/type_live/form_component.html.heex:346
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr "Traceuse"
@ -394,7 +394,7 @@ msgstr "Traceuse"
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#, elixir-autogen, elixir-format
msgid "Type"
@ -411,7 +411,7 @@ msgstr "Type:"
msgid "Users"
msgstr "Utilisateurs"
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr "Utilisations restantes"
@ -439,10 +439,10 @@ msgstr "Portée"
msgid "Range day"
msgstr "Journée de stand"
#: lib/cannery_web/components/add_shot_record_component.html.heex:48
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:40
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
msgstr "Date"
@ -503,36 +503,36 @@ msgstr "Évènements de tir"
msgid "$%{amount}"
msgstr "%{amount}$"
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#: lib/cannery_web/live/type_live/form_component.html.heex:177
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr "Bi-métal"
#: lib/cannery_web/components/type_table_component.ex:65
#: lib/cannery_web/live/type_live/form_component.html.heex:163
#: lib/cannery_web/live/type_live/form_component.html.heex:172
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr "Type de douille"
#: lib/cannery_web/components/type_table_component.ex:81
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#: lib/cannery_web/live/type_live/form_component.html.heex:307
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr "Vélocité du canon"
#: lib/cannery_web/components/type_table_component.ex:75
#: lib/cannery_web/live/type_live/form_component.html.heex:253
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr "Graines de poudre par charge"
#: lib/cannery_web/components/type_table_component.ex:73
#: lib/cannery_web/live/type_live/form_component.html.heex:245
#: lib/cannery_web/live/type_live/form_component.html.heex:261
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr "Type de poudre"
#: lib/cannery_web/live/type_live/form_component.html.heex:352
#: lib/cannery_web/live/type_live/form_component.html.heex:374
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr "UPC"
@ -556,12 +556,12 @@ msgid "New password"
msgstr "Nouveau mot de passe"
#: lib/cannery_web/components/type_table_component.ex:83
#: lib/cannery_web/live/type_live/form_component.html.heex:313
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr "Type dallumage"
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr "Reconnexion en cours…"
@ -655,7 +655,7 @@ msgstr "Réinitialiser votre mot de passe"
msgid "Record Shots"
msgstr "Enregistrer des tirs"
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:77
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr "Exemplaires"
@ -757,7 +757,7 @@ msgstr "Logo de Cannery"
msgid "isn't he cute >:3"
msgstr "N'est-il mignon >:3"
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -998,7 +998,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:49
#: lib/cannery_web/live/pack_live/form_component.html.heex:50
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@ -1014,27 +1014,27 @@ msgstr ""
msgid "Edit ammo"
msgstr "Éditer le type de munition"
#: lib/cannery_web/live/type_live/index.html.heex:60
#: lib/cannery_web/live/type_live/index.html.heex:58
#, elixir-autogen, elixir-format
msgid "Search catalog"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:81
#: lib/cannery_web/live/pack_live/index.html.heex:79
#, elixir-autogen, elixir-format, fuzzy
msgid "Search ammo"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:34
#: lib/cannery_web/live/container_live/index.html.heex:32
#, elixir-autogen, elixir-format
msgid "Search containers"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36
#: lib/cannery_web/live/tag_live/index.html.heex:34
#, elixir-autogen, elixir-format, fuzzy
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:112
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1138,38 +1138,38 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:74
#: lib/cannery_web/live/type_live/form_component.html.heex:78
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:309
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:317
#: lib/cannery_web/live/type_live/form_component.html.heex:338
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#: lib/cannery_web/components/add_shot_record_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""
@ -1213,13 +1213,13 @@ msgstr ""
msgid "All"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:322
#: lib/cannery_web/live/type_live/form_component.html.heex:343
#, elixir-autogen, elixir-format
msgid "Attributes"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:56
#: lib/cannery_web/live/type_live/form_component.html.heex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:93
#, elixir-autogen, elixir-format, fuzzy
msgid "Brass height"
msgstr "Cuivre"
@ -1230,7 +1230,7 @@ msgid "Brass height:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:57
#: lib/cannery_web/live/type_live/form_component.html.heex:97
#: lib/cannery_web/live/type_live/form_component.html.heex:103
#, elixir-autogen, elixir-format
msgid "Chamber size"
msgstr ""
@ -1240,13 +1240,13 @@ msgstr ""
msgid "Chamber size:"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:47
#: lib/cannery_web/live/type_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Dimensions"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:80
#: lib/cannery_web/live/type_live/form_component.html.heex:275
#: lib/cannery_web/live/type_live/form_component.html.heex:293
#, elixir-autogen, elixir-format
msgid "Dram equivalent"
msgstr ""
@ -1257,7 +1257,7 @@ msgid "Dram equivalent:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:69
#, elixir-autogen, elixir-format
msgid "Gauge"
msgstr ""
@ -1268,7 +1268,7 @@ msgid "Gauge:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:71
#: lib/cannery_web/live/type_live/form_component.html.heex:216
#: lib/cannery_web/live/type_live/form_component.html.heex:231
#, elixir-autogen, elixir-format
msgid "Load grains"
msgstr ""
@ -1298,17 +1298,17 @@ msgstr ""
msgid "Pistol"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:242
#: lib/cannery_web/live/type_live/form_component.html.heex:258
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder"
msgstr "Type de poudre"
#: lib/cannery_web/live/type_live/form_component.html.heex:302
#: lib/cannery_web/live/type_live/form_component.html.heex:321
#, elixir-autogen, elixir-format, fuzzy
msgid "Primer"
msgstr "Type damorce"
#: lib/cannery_web/live/type_live/form_component.html.heex:112
#: lib/cannery_web/live/type_live/form_component.html.heex:119
#, elixir-autogen, elixir-format
msgid "Projectile"
msgstr ""
@ -1324,7 +1324,7 @@ msgid "Rifle"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:72
#: lib/cannery_web/live/type_live/form_component.html.heex:224
#: lib/cannery_web/live/type_live/form_component.html.heex:239
#, elixir-autogen, elixir-format
msgid "Shot charge weight"
msgstr ""
@ -1335,7 +1335,7 @@ msgid "Shot charge weight:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:69
#: lib/cannery_web/live/type_live/form_component.html.heex:200
#: lib/cannery_web/live/type_live/form_component.html.heex:213
#, elixir-autogen, elixir-format
msgid "Shot material"
msgstr ""
@ -1346,7 +1346,7 @@ msgid "Shot material:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:70
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#: lib/cannery_web/live/type_live/form_component.html.heex:223
#, elixir-autogen, elixir-format, fuzzy
msgid "Shot size"
msgstr "Tirs réalisés"
@ -1357,7 +1357,7 @@ msgid "Shot size:"
msgstr "Tirs réalisés"
#: lib/cannery_web/components/type_table_component.ex:68
#: lib/cannery_web/live/type_live/form_component.html.heex:192
#: lib/cannery_web/live/type_live/form_component.html.heex:204
#, elixir-autogen, elixir-format
msgid "Shot type"
msgstr ""
@ -1378,12 +1378,12 @@ msgid "Shotgun"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:150
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Slug core"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#, elixir-autogen, elixir-format
msgid "Target, bird, buck, etc"
msgstr ""
@ -1394,13 +1394,13 @@ msgid "Unfired length:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Unfired shell length"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:185
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#, elixir-autogen, elixir-format
msgid "Wadding"
msgstr ""

View File

@ -65,7 +65,7 @@ msgstr ""
## Run "mix gettext.extract" to bring this file up to
## date. Leave "msgstr"s empty as changing them here has no
## effect: edit them in PO (.po) files instead.
#: lib/cannery/accounts/email.ex:31
#: lib/cannery/email.ex:31
#, elixir-autogen, elixir-format, fuzzy
msgid "Confirm your Cannery account"
msgstr "Confirmer votre compte %{name}"
@ -83,7 +83,7 @@ msgstr ""
"Si vous navez pas demandé ce changement depuis %{name}, veuillez ignorer "
"ceci."
#: lib/cannery/accounts/email.ex:38
#: lib/cannery/email.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Reset your Cannery password"
msgstr "Réinitialiser votre mot de passe %{name}"
@ -100,7 +100,7 @@ msgstr ""
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
msgstr "Ce mél a été envoyé depuis %{name}, le site web de suivi darme à feu."
#: lib/cannery/accounts/email.ex:45
#: lib/cannery/email.ex:45
#, elixir-autogen, elixir-format, fuzzy
msgid "Update your Cannery email"
msgstr "Mettre à jour votre mél %{name}"

View File

@ -159,12 +159,12 @@ msgstr ""
msgid "Tag could not be removed"
msgstr "Le tag na pas pu être retiré"
#: lib/cannery_web/live/pack_live/form_component.ex:159
#: lib/cannery_web/live/pack_live/form_component.ex:152
#, elixir-autogen, elixir-format
msgid "Could not parse number of copies"
msgstr "Impossible d'analyser le nombre de copies"
#: lib/cannery_web/live/pack_live/form_component.ex:149
#: lib/cannery_web/live/pack_live/form_component.ex:142
#, elixir-autogen, elixir-format
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "Nombre de copies invalide, doit être 1 et %{max}. Été %{multiplier}"

View File

@ -23,10 +23,10 @@ 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/container_live/form_component.ex:89
#: lib/cannery_web/live/invite_live/form_component.ex:80
#: lib/cannery_web/live/tag_live/form_component.ex:78
#: lib/cannery_web/live/type_live/form_component.ex:88
#: lib/cannery_web/live/container_live/form_component.ex:88
#: lib/cannery_web/live/invite_live/form_component.ex:79
#: lib/cannery_web/live/tag_live/form_component.ex:77
#: lib/cannery_web/live/type_live/form_component.ex:87
#, elixir-autogen, elixir-format
msgid "%{name} created successfully"
msgstr "%{name} créé· avec succès"
@ -44,10 +44,10 @@ msgstr "%{name} supprimé· avec succès"
msgid "%{name} has been deleted"
msgstr "%{name} a été supprimé·e"
#: lib/cannery_web/live/container_live/form_component.ex:70
#: lib/cannery_web/live/invite_live/form_component.ex:62
#: lib/cannery_web/live/tag_live/form_component.ex:60
#: lib/cannery_web/live/type_live/form_component.ex:69
#: lib/cannery_web/live/container_live/form_component.ex:69
#: lib/cannery_web/live/invite_live/form_component.ex:61
#: lib/cannery_web/live/tag_live/form_component.ex:59
#: lib/cannery_web/live/type_live/form_component.ex:68
#, elixir-autogen, elixir-format
msgid "%{name} updated successfully"
msgstr "%{name} mis à jour avec succès"
@ -129,13 +129,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/components/add_shot_record_component.html.heex:58
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/pack_live/form_component.html.heex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#: lib/cannery_web/live/type_live/form_component.html.heex:360
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:93
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:383
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr "Sauvegarde en cours…"
@ -167,7 +167,7 @@ msgstr "%{tag_name} a été retiré de %{container_name}"
msgid "Adding..."
msgstr "Ajout en cours…"
#: lib/cannery_web/components/add_shot_record_component.ex:60
#: lib/cannery_web/components/add_shot_record_component.ex:62
#, elixir-autogen, elixir-format
msgid "Shots recorded successfully"
msgstr "Tirs enregistré avec succès"
@ -220,7 +220,7 @@ msgstr "%{name} retiré avec succès"
msgid "You'll need to"
msgstr "Vous aurez besoin de"
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:86
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr "Création en cours…"
@ -246,12 +246,12 @@ msgstr "Groupe de munition supprimé avec succès"
msgid "Ammo unstaged succesfully"
msgstr "Groupe de munition désélectionner avec succès"
#: lib/cannery_web/live/pack_live/form_component.ex:125
#: lib/cannery_web/live/pack_live/form_component.ex:118
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo updated successfully"
msgstr "Groupe de munition mis à jour avec succès"
#: lib/cannery_web/live/pack_live/form_component.ex:184
#: lib/cannery_web/live/pack_live/form_component.ex:177
#, elixir-autogen, elixir-format, fuzzy
msgid "Ammo added successfully"
msgid_plural "Ammo added successfully"

View File

@ -67,7 +67,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr ""
@ -83,7 +83,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr ""
@ -109,7 +109,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr ""
@ -126,13 +126,13 @@ msgstr ""
msgid "Reset password"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:56
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/pack_live/form_component.html.heex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#: lib/cannery_web/live/type_live/form_component.html.heex:359
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:92
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:382
#, elixir-autogen, elixir-format
msgid "Save"
msgstr ""
@ -189,7 +189,7 @@ msgstr ""
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:83
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Create"
msgstr ""
@ -316,6 +316,7 @@ msgstr ""
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format, fuzzy

View File

@ -36,55 +36,55 @@ msgstr ""
msgid "Ammo"
msgstr ""
#: lib/cannery_web/live/tag_live/form_component.html.heex:25
#: lib/cannery_web/live/tag_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Background color"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:86
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#: lib/cannery_web/live/type_live/form_component.html.heex:354
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:180
#: lib/cannery_web/live/type_live/form_component.html.heex:191
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:151
#: lib/cannery_web/live/type_live/form_component.html.heex:159
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:59
#: lib/cannery_web/live/type_live/form_component.html.heex:125
#: lib/cannery_web/live/type_live/form_component.html.heex:132
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:70
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:49
#: lib/cannery_web/live/type_live/form_component.html.heex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:174
#: lib/cannery_web/live/type_live/form_component.html.heex:184
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:64
#: lib/cannery_web/components/pack_table_component.ex:76
#: lib/cannery_web/live/pack_live/form_component.html.heex:65
#: lib/cannery_web/live/pack_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -98,7 +98,7 @@ msgid "Containers"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:87
#: lib/cannery_web/live/type_live/form_component.html.heex:337
#: lib/cannery_web/live/type_live/form_component.html.heex:358
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr ""
@ -116,8 +116,8 @@ msgid "Count:"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#: lib/cannery_web/live/type_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:30
#: lib/cannery_web/live/type_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
@ -143,19 +143,19 @@ msgstr ""
msgid "Edit Tag"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:139
#: lib/cannery_web/live/type_live/form_component.html.heex:147
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:58
#: lib/cannery_web/live/type_live/form_component.html.heex:115
#: lib/cannery_web/live/type_live/form_component.html.heex:122
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:85
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#: lib/cannery_web/live/type_live/form_component.html.heex:350
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr ""
@ -182,14 +182,14 @@ msgstr ""
msgid "Invites"
msgstr ""
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_pack_component.ex:66
#: lib/cannery_web/live/container_live/form_component.html.heex:46
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Location"
msgstr ""
@ -200,24 +200,24 @@ msgstr ""
msgid "Location:"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:41
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:342
#: lib/cannery_web/live/type_live/form_component.html.heex:345
#: lib/cannery_web/live/type_live/form_component.html.heex:363
#: lib/cannery_web/live/type_live/form_component.html.heex:366
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#: lib/cannery_web/live/container_live/form_component.html.heex:36
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:26
#, elixir-autogen, elixir-format
msgid "My cool ammo can"
msgstr ""
@ -278,7 +278,7 @@ msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:38
#: lib/cannery_web/components/shot_record_table_component.ex:46
#: lib/cannery_web/live/pack_live/form_component.html.heex:57
#: lib/cannery_web/live/pack_live/form_component.html.heex:58
#: lib/cannery_web/live/pack_live/show.ex:90
#: lib/cannery_web/live/range_live/form_component.html.heex:30
#, elixir-autogen, elixir-format
@ -291,13 +291,13 @@ msgstr ""
msgid "Notes:"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:50
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:266
#: lib/cannery_web/live/type_live/form_component.html.heex:283
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr ""
@ -314,7 +314,7 @@ msgid "Price paid:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:82
#: lib/cannery_web/live/type_live/form_component.html.heex:305
#: lib/cannery_web/live/type_live/form_component.html.heex:324
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr ""
@ -345,7 +345,7 @@ msgstr ""
msgid "Simple:"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr ""
@ -369,7 +369,7 @@ msgstr ""
msgid "Tags can be added to your containers to help you organize"
msgstr ""
#: lib/cannery_web/live/tag_live/form_component.html.heex:31
#: lib/cannery_web/live/tag_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Text color"
msgstr ""
@ -380,7 +380,7 @@ msgid "The self-hosted firearm tracker website"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:84
#: lib/cannery_web/live/type_live/form_component.html.heex:325
#: lib/cannery_web/live/type_live/form_component.html.heex:346
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr ""
@ -388,7 +388,7 @@ msgstr ""
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_pack_component.ex:65
#: lib/cannery_web/components/pack_table_component.ex:108
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:22
#, elixir-autogen, elixir-format
msgid "Type"
@ -405,7 +405,7 @@ msgstr ""
msgid "Users"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#: lib/cannery_web/live/invite_live/form_component.html.heex:31
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr ""
@ -433,10 +433,10 @@ msgstr ""
msgid "Range day"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:48
#: lib/cannery_web/components/add_shot_record_component.html.heex:49
#: lib/cannery_web/components/shot_record_table_component.ex:47
#: lib/cannery_web/live/pack_live/show.ex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:40
#: lib/cannery_web/live/range_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Date"
msgstr ""
@ -497,36 +497,36 @@ msgstr ""
msgid "$%{amount}"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:167
#: lib/cannery_web/live/type_live/form_component.html.heex:177
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:65
#: lib/cannery_web/live/type_live/form_component.html.heex:163
#: lib/cannery_web/live/type_live/form_component.html.heex:172
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:81
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#: lib/cannery_web/live/type_live/form_component.html.heex:307
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:75
#: lib/cannery_web/live/type_live/form_component.html.heex:253
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:73
#: lib/cannery_web/live/type_live/form_component.html.heex:245
#: lib/cannery_web/live/type_live/form_component.html.heex:261
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:352
#: lib/cannery_web/live/type_live/form_component.html.heex:374
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@ -550,12 +550,12 @@ msgid "New password"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:83
#: lib/cannery_web/live/type_live/form_component.html.heex:313
#: lib/cannery_web/live/type_live/form_component.html.heex:333
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr ""
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr ""
@ -649,7 +649,7 @@ msgstr ""
msgid "Record Shots"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:75
#: lib/cannery_web/live/pack_live/form_component.html.heex:77
#, elixir-autogen, elixir-format
msgid "Copies"
msgstr ""
@ -751,7 +751,7 @@ msgstr ""
msgid "isn't he cute >:3"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -991,7 +991,7 @@ msgid "Never used"
msgstr ""
#: lib/cannery_web/components/pack_table_component.ex:71
#: lib/cannery_web/live/pack_live/form_component.html.heex:49
#: lib/cannery_web/live/pack_live/form_component.html.heex:50
#, elixir-autogen, elixir-format
msgid "Purchased on"
msgstr ""
@ -1007,27 +1007,27 @@ msgstr ""
msgid "Edit ammo"
msgstr ""
#: lib/cannery_web/live/type_live/index.html.heex:60
#: lib/cannery_web/live/type_live/index.html.heex:58
#, elixir-autogen, elixir-format
msgid "Search catalog"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:81
#: lib/cannery_web/live/pack_live/index.html.heex:79
#, elixir-autogen, elixir-format, fuzzy
msgid "Search ammo"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:34
#: lib/cannery_web/live/container_live/index.html.heex:32
#, elixir-autogen, elixir-format
msgid "Search containers"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:36
#: lib/cannery_web/live/tag_live/index.html.heex:34
#, elixir-autogen, elixir-format, fuzzy
msgid "Search tags"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:114
#: lib/cannery_web/live/range_live/index.html.heex:112
#, elixir-autogen, elixir-format
msgid "Search shot records"
msgstr ""
@ -1129,38 +1129,38 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:270
#: lib/cannery_web/live/type_live/form_component.html.heex:288
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:74
#: lib/cannery_web/live/type_live/form_component.html.heex:78
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:58
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:309
#: lib/cannery_web/live/type_live/form_component.html.heex:329
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:317
#: lib/cannery_web/live/type_live/form_component.html.heex:338
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#: lib/cannery_web/components/add_shot_record_component.html.heex:45
#: lib/cannery_web/live/range_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""
@ -1204,13 +1204,13 @@ msgstr ""
msgid "All"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:322
#: lib/cannery_web/live/type_live/form_component.html.heex:343
#, elixir-autogen, elixir-format
msgid "Attributes"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:56
#: lib/cannery_web/live/type_live/form_component.html.heex:88
#: lib/cannery_web/live/type_live/form_component.html.heex:93
#, elixir-autogen, elixir-format, fuzzy
msgid "Brass height"
msgstr ""
@ -1221,7 +1221,7 @@ msgid "Brass height:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:57
#: lib/cannery_web/live/type_live/form_component.html.heex:97
#: lib/cannery_web/live/type_live/form_component.html.heex:103
#, elixir-autogen, elixir-format
msgid "Chamber size"
msgstr ""
@ -1231,13 +1231,13 @@ msgstr ""
msgid "Chamber size:"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:47
#: lib/cannery_web/live/type_live/form_component.html.heex:49
#, elixir-autogen, elixir-format
msgid "Dimensions"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:80
#: lib/cannery_web/live/type_live/form_component.html.heex:275
#: lib/cannery_web/live/type_live/form_component.html.heex:293
#, elixir-autogen, elixir-format
msgid "Dram equivalent"
msgstr ""
@ -1248,7 +1248,7 @@ msgid "Dram equivalent:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:51
#: lib/cannery_web/live/type_live/form_component.html.heex:66
#: lib/cannery_web/live/type_live/form_component.html.heex:69
#, elixir-autogen, elixir-format
msgid "Gauge"
msgstr ""
@ -1259,7 +1259,7 @@ msgid "Gauge:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:71
#: lib/cannery_web/live/type_live/form_component.html.heex:216
#: lib/cannery_web/live/type_live/form_component.html.heex:231
#, elixir-autogen, elixir-format
msgid "Load grains"
msgstr ""
@ -1289,17 +1289,17 @@ msgstr ""
msgid "Pistol"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:242
#: lib/cannery_web/live/type_live/form_component.html.heex:258
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:302
#: lib/cannery_web/live/type_live/form_component.html.heex:321
#, elixir-autogen, elixir-format, fuzzy
msgid "Primer"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:112
#: lib/cannery_web/live/type_live/form_component.html.heex:119
#, elixir-autogen, elixir-format
msgid "Projectile"
msgstr ""
@ -1315,7 +1315,7 @@ msgid "Rifle"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:72
#: lib/cannery_web/live/type_live/form_component.html.heex:224
#: lib/cannery_web/live/type_live/form_component.html.heex:239
#, elixir-autogen, elixir-format
msgid "Shot charge weight"
msgstr ""
@ -1326,7 +1326,7 @@ msgid "Shot charge weight:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:69
#: lib/cannery_web/live/type_live/form_component.html.heex:200
#: lib/cannery_web/live/type_live/form_component.html.heex:213
#, elixir-autogen, elixir-format
msgid "Shot material"
msgstr ""
@ -1337,7 +1337,7 @@ msgid "Shot material:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:70
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#: lib/cannery_web/live/type_live/form_component.html.heex:223
#, elixir-autogen, elixir-format, fuzzy
msgid "Shot size"
msgstr ""
@ -1348,7 +1348,7 @@ msgid "Shot size:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:68
#: lib/cannery_web/live/type_live/form_component.html.heex:192
#: lib/cannery_web/live/type_live/form_component.html.heex:204
#, elixir-autogen, elixir-format
msgid "Shot type"
msgstr ""
@ -1369,12 +1369,12 @@ msgid "Shotgun"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:61
#: lib/cannery_web/live/type_live/form_component.html.heex:150
#: lib/cannery_web/live/type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Slug core"
msgstr ""
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#: lib/cannery_web/live/type_live/form_component.html.heex:209
#, elixir-autogen, elixir-format
msgid "Target, bird, buck, etc"
msgstr ""
@ -1385,13 +1385,13 @@ msgid "Unfired length:"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:55
#: lib/cannery_web/live/type_live/form_component.html.heex:79
#: lib/cannery_web/live/type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Unfired shell length"
msgstr ""
#: lib/cannery_web/components/type_table_component.ex:67
#: lib/cannery_web/live/type_live/form_component.html.heex:185
#: lib/cannery_web/live/type_live/form_component.html.heex:196
#, elixir-autogen, elixir-format
msgid "Wadding"
msgstr ""

View File

@ -69,7 +69,7 @@ msgstr ""
## Run "mix gettext.extract" to bring this file up to
## date. Leave "msgstr"s empty as changing them here has no
## effect: edit them in PO (.po) files instead.
#: lib/cannery/accounts/email.ex:31
#: lib/cannery/email.ex:31
#, elixir-autogen, elixir-format
msgid "Confirm your Cannery account"
msgstr "Deimhnigh do chuntas Cannery"
@ -85,7 +85,7 @@ msgstr "Murar chruthaigh tú cuntas ag Cannery, déan neamhaird de seo."
msgid "If you didn't request this change from Cannery, please ignore this."
msgstr "Murar iarr tú an t-athrú seo ó Cannery, déan neamhaird de."
#: lib/cannery/accounts/email.ex:38
#: lib/cannery/email.ex:38
#, elixir-autogen, elixir-format
msgid "Reset your Cannery password"
msgstr "Athshocraigh do phasfhocal Cannery"
@ -104,7 +104,7 @@ msgstr ""
"Tá an ríomhphost seo ó Cannery, an suíomh Gréasáin féin-óstáilte rianaithe "
"airm tine."
#: lib/cannery/accounts/email.ex:45
#: lib/cannery/email.ex:45
#, elixir-autogen, elixir-format
msgid "Update your Cannery email"
msgstr "Nuashonraigh do ríomhphost Cannery"

View File

@ -158,12 +158,12 @@ msgstr ""
msgid "Tag could not be removed"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:159
#: lib/cannery_web/live/pack_live/form_component.ex:152
#, elixir-autogen, elixir-format
msgid "Could not parse number of copies"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:149
#: lib/cannery_web/live/pack_live/form_component.ex:142
#, elixir-autogen, elixir-format
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr ""

View File

@ -21,10 +21,10 @@ 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/container_live/form_component.ex:89
#: lib/cannery_web/live/invite_live/form_component.ex:80
#: lib/cannery_web/live/tag_live/form_component.ex:78
#: lib/cannery_web/live/type_live/form_component.ex:88
#: lib/cannery_web/live/container_live/form_component.ex:88
#: lib/cannery_web/live/invite_live/form_component.ex:79
#: lib/cannery_web/live/tag_live/form_component.ex:77
#: lib/cannery_web/live/type_live/form_component.ex:87
#, elixir-autogen, elixir-format
msgid "%{name} created successfully"
msgstr ""
@ -42,10 +42,10 @@ msgstr ""
msgid "%{name} has been deleted"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.ex:70
#: lib/cannery_web/live/invite_live/form_component.ex:62
#: lib/cannery_web/live/tag_live/form_component.ex:60
#: lib/cannery_web/live/type_live/form_component.ex:69
#: lib/cannery_web/live/container_live/form_component.ex:69
#: lib/cannery_web/live/invite_live/form_component.ex:61
#: lib/cannery_web/live/tag_live/form_component.ex:59
#: lib/cannery_web/live/type_live/form_component.ex:68
#, elixir-autogen, elixir-format
msgid "%{name} updated successfully"
msgstr ""
@ -120,13 +120,13 @@ msgstr ""
msgid "Please check your email to verify your account"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:58
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/pack_live/form_component.html.heex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#: lib/cannery_web/live/type_live/form_component.html.heex:360
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:93
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:383
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr ""
@ -156,7 +156,7 @@ msgstr ""
msgid "Adding..."
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.ex:60
#: lib/cannery_web/components/add_shot_record_component.ex:62
#, elixir-autogen, elixir-format
msgid "Shots recorded successfully"
msgstr ""
@ -209,7 +209,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:86
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr ""
@ -235,12 +235,12 @@ msgstr ""
msgid "Ammo unstaged succesfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:125
#: lib/cannery_web/live/pack_live/form_component.ex:118
#, elixir-autogen, elixir-format
msgid "Ammo updated successfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:184
#: lib/cannery_web/live/pack_live/form_component.ex:177
#, elixir-autogen, elixir-format
msgid "Ammo added successfully"
msgid_plural "Ammo added successfully"

View File

@ -0,0 +1,368 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-20 05:05+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Translate Toolkit 3.10.1\n"
## This file is a PO Template file.
##
## "msgid"s here are often extracted from source code.
## Add new translations manually only if they're dynamic
## translations that can't be statically extracted.
##
## 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/pack_live/index.ex:59
#: lib/cannery_web/live/pack_live/index.ex:67
#: lib/cannery_web/live/pack_live/index.html.heex:38
#, elixir-autogen, elixir-format
msgid "Add Ammo"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:34
#, elixir-autogen, elixir-format
msgid "Add your first box!"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Add your first container!"
msgstr ""
#: lib/cannery_web/live/type_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Add your first type!"
msgstr ""
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:15
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:43
#, elixir-autogen, elixir-format
msgid "Change email"
msgstr ""
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:57
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:97
#, elixir-autogen, elixir-format
msgid "Change password"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Create Invite"
msgstr ""
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:155
#, elixir-autogen, elixir-format
msgid "Delete User"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Invite someone new!"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:94
#: lib/cannery_web/controllers/user_confirmation_html/new.html.heex:28
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:44
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Make your first tag!"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "New Container"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:19
#, elixir-autogen, elixir-format
msgid "New Tag"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:89
#: lib/cannery_web/controllers/user_confirmation_html/new.html.heex:25
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:3
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr ""
#: lib/cannery_web/controllers/user_confirmation_html/new.html.heex:3
#: lib/cannery_web/controllers/user_confirmation_html/new.html.heex:16
#, elixir-autogen, elixir-format
msgid "Resend confirmation instructions"
msgstr ""
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:3
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:29
#, elixir-autogen, elixir-format
msgid "Reset password"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:57
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:38
#: lib/cannery_web/live/pack_live/form_component.html.heex:92
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:41
#: lib/cannery_web/live/type_live/form_component.html.heex:382
#, elixir-autogen, elixir-format
msgid "Save"
msgstr ""
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:16
#, elixir-autogen, elixir-format
msgid "Send instructions to reset password"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:65
#, elixir-autogen, elixir-format
msgid "Why not add one?"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "Add"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "Stage ammo"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:13
#, elixir-autogen, elixir-format
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:127
#: lib/cannery_web/live/pack_live/show.html.heex:90
#: lib/cannery_web/live/range_live/index.html.heex:42
#, elixir-autogen, elixir-format
msgid "Record shots"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:87
#, elixir-autogen, elixir-format
msgid "Add another container!"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:123
#, elixir-autogen, elixir-format
msgid "Select"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:38
#, elixir-autogen, elixir-format
msgid "Copy to clipboard"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:14
#, elixir-autogen, elixir-format
msgid "add a container first"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:85
#, elixir-autogen, elixir-format
msgid "Create"
msgstr ""
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:110
#, elixir-autogen, elixir-format
msgid "Change Language"
msgstr ""
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:136
#, elixir-autogen, elixir-format
msgid "Change language"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:52
#, elixir-autogen, elixir-format
msgid "View in Catalog"
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:77
#: lib/cannery_web/live/pack_live/index.html.heex:138
#: lib/cannery_web/live/pack_live/show.html.heex:86
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:90
#, elixir-autogen, elixir-format
msgid "Set Unlimited"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:82
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
msgid "Stage for range"
msgstr ""
#: lib/cannery_web/live/pack_live/show.html.heex:81
#: lib/cannery_web/live/range_live/index.html.heex:37
#, elixir-autogen, elixir-format
msgid "Unstage from range"
msgstr ""
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:146
#, elixir-autogen, elixir-format
msgid "Export Data as JSON"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:87
#: lib/cannery_web/live/container_live/index.html.heex:145
#, elixir-autogen, elixir-format
msgid "Clone %{container_name}"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:35
#, elixir-autogen, elixir-format
msgid "Copy invite link for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:104
#: lib/cannery_web/live/container_live/index.html.heex:162
#: lib/cannery_web/live/container_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Delete %{container_name}"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:65
#, elixir-autogen, elixir-format
msgid "Delete %{tag_name}"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:63
#, elixir-autogen, elixir-format
msgid "Delete invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:77
#: lib/cannery_web/live/container_live/index.html.heex:135
#: lib/cannery_web/live/container_live/show.html.heex:35
#, elixir-autogen, elixir-format
msgid "Edit %{container_name}"
msgstr ""
#: lib/cannery_web/live/tag_live/index.html.heex:52
#, elixir-autogen, elixir-format
msgid "Edit %{tag_name}"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:46
#, elixir-autogen, elixir-format
msgid "Edit invite for %{invite_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:120
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
#: lib/cannery_web/live/container_live/index.html.heex:65
#: lib/cannery_web/live/container_live/index.html.heex:124
#, elixir-autogen, elixir-format
msgid "Tag %{container_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:119
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:172
#, elixir-autogen, elixir-format
msgid "Clone pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:187
#: lib/cannery_web/live/pack_live/show.html.heex:71
#, elixir-autogen, elixir-format
msgid "Delete pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:160
#: lib/cannery_web/live/pack_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Edit pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:139
#: lib/cannery_web/live/pack_live/index.html.heex:148
#: lib/cannery_web/live/type_live/show.html.heex:201
#, elixir-autogen, elixir-format
msgid "View pack of %{pack_count} bullets"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:159
#: lib/cannery_web/live/range_live/index.html.heex:154
#, elixir-autogen, elixir-format
msgid "Delete shot record of %{shot_record_count} shots"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:144
#: lib/cannery_web/live/range_live/index.html.heex:137
#, elixir-autogen, elixir-format
msgid "Edit shot record of %{shot_record_count} shots"
msgstr ""
#: lib/cannery_web/live/type_live/index.html.heex:107
#, elixir-autogen, elixir-format
msgid "Clone %{type_name}"
msgstr ""
#: lib/cannery_web/live/type_live/index.html.heex:124
#: lib/cannery_web/live/type_live/show.html.heex:35
#, elixir-autogen, elixir-format
msgid "Delete %{type_name}"
msgstr ""
#: lib/cannery_web/live/type_live/index.html.heex:99
#: lib/cannery_web/live/type_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "Edit %{type_name}"
msgstr ""
#: lib/cannery_web/live/type_live/index.html.heex:17
#, elixir-autogen, elixir-format
msgid "New Type"
msgstr ""
#: lib/cannery_web/live/type_live/index.html.heex:91
#, elixir-autogen, elixir-format
msgid "View %{type_name}"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:24
#, elixir-autogen, elixir-format
msgid "add a type first"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,103 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-20 05:05+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Translate Toolkit 3.10.1\n"
## This file is a PO Template file.
##
## "msgid"s here are often extracted from source code.
## Add new translations manually only if they're dynamic
## translations that can't be statically extracted.
##
## 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/components/email_html/confirm_email.html.heex:3
#: lib/cannery_web/components/email_html/confirm_email.txt.eex:2
#: lib/cannery_web/components/email_html/reset_password.html.heex:3
#: lib/cannery_web/components/email_html/reset_password.txt.eex:2
#: lib/cannery_web/components/email_html/update_email.html.heex:3
#: lib/cannery_web/components/email_html/update_email.txt.eex:2
#, elixir-autogen, elixir-format
msgid "Hi %{email},"
msgstr ""
#: lib/cannery_web/components/email_html/confirm_email.txt.eex:10
#, elixir-autogen, elixir-format
msgid "If you didn't create an account at %{url}, please ignore this."
msgstr ""
#: lib/cannery_web/components/email_html/reset_password.txt.eex:8
#: lib/cannery_web/components/email_html/update_email.txt.eex:8
#, elixir-autogen, elixir-format
msgid "If you didn't request this change from %{url}, please ignore this."
msgstr ""
#: lib/cannery_web/components/email_html/update_email.html.heex:8
#: lib/cannery_web/components/email_html/update_email.txt.eex:4
#, elixir-autogen, elixir-format
msgid "You can change your email by visiting the URL below:"
msgstr ""
#: lib/cannery_web/components/email_html/confirm_email.html.heex:14
#: lib/cannery_web/components/email_html/confirm_email.txt.eex:6
#, elixir-autogen, elixir-format
msgid "You can confirm your account by visiting the URL below:"
msgstr ""
#: lib/cannery_web/components/email_html/reset_password.html.heex:8
#: lib/cannery_web/components/email_html/reset_password.txt.eex:4
#, elixir-autogen, elixir-format
msgid "You can reset your password by visiting the URL below:"
msgstr ""
#: lib/cannery/email.ex:31
#, elixir-autogen, elixir-format
msgid "Confirm your Cannery account"
msgstr ""
#: lib/cannery_web/components/email_html/confirm_email.html.heex:22
#, elixir-autogen, elixir-format
msgid "If you didn't create an account at Cannery, please ignore this."
msgstr ""
#: lib/cannery_web/components/email_html/reset_password.html.heex:16
#: lib/cannery_web/components/email_html/update_email.html.heex:16
#, elixir-autogen, elixir-format
msgid "If you didn't request this change from Cannery, please ignore this."
msgstr ""
#: lib/cannery/email.ex:38
#, elixir-autogen, elixir-format
msgid "Reset your Cannery password"
msgstr ""
#: lib/cannery_web/components/layouts/email_text.txt.eex:9
#, elixir-autogen, elixir-format
msgid "This email was sent from Cannery at %{url}, the self-hosted firearm tracker website."
msgstr ""
#: lib/cannery_web/components/layouts/email_html.html.heex:13
#, elixir-autogen, elixir-format
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
msgstr ""
#: lib/cannery/email.ex:45
#, elixir-autogen, elixir-format
msgid "Update your Cannery email"
msgstr ""
#: lib/cannery_web/components/email_html/confirm_email.html.heex:9
#: lib/cannery_web/components/email_html/confirm_email.txt.eex:4
#, elixir-autogen, elixir-format
msgid "Welcome to Cannery"
msgstr ""

View File

@ -0,0 +1,220 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-20 05:05+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Translate Toolkit 3.10.1\n"
## This file is a PO Template file.
##
## "msgid"s here are often extracted from source code.
## Add new translations manually only if they're dynamic
## translations that can't be statically extracted.
##
## Run "mix gettext.extract" to bring this file up to
## date. Leave "msgstr"s empty as changing them here has no
## effect: edit them in PO (.po) files instead.
#: lib/cannery/containers.ex:224
#, elixir-autogen, elixir-format
msgid "Container must be empty before deleting"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:86
#: lib/cannery_web/live/container_live/show.ex:67
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:74
#, elixir-autogen, elixir-format
msgid "Could not find that container"
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 ""
#: lib/cannery_web/controllers/error_html/error.html.heex:8
#, elixir-autogen, elixir-format
msgid "Error"
msgstr ""
#: lib/cannery_web/controllers/error_html/error.html.heex:28
#, elixir-autogen, elixir-format
msgid "Go back home"
msgstr ""
#: lib/cannery_web/controllers/user_session_controller.ex:17
#, elixir-autogen, elixir-format
msgid "Invalid email or password"
msgstr ""
#: lib/cannery_web/controllers/error_html.ex:9
#: lib/cannery_web/controllers/error_json.ex:7
#, elixir-autogen, elixir-format
msgid "Not found"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:13
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:13
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:22
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:64
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:118
#: lib/cannery_web/live/type_live/form_component.html.heex:18
#, elixir-autogen, elixir-format
msgid "Oops, something went wrong! Please check the errors below."
msgstr ""
#: lib/cannery_web/controllers/user_reset_password_controller.ex:62
#, elixir-autogen, elixir-format
msgid "Reset password link is invalid or it has expired."
msgstr ""
#: lib/cannery_web/controllers/user_registration_controller.ex:22
#: lib/cannery_web/controllers/user_registration_controller.ex:51
#, elixir-autogen, elixir-format
msgid "Sorry, public registration is disabled"
msgstr ""
#: lib/cannery_web/controllers/user_registration_controller.ex:12
#: lib/cannery_web/controllers/user_registration_controller.ex:41
#: lib/cannery_web/controllers/user_registration_controller.ex:70
#, elixir-autogen, elixir-format
msgid "Sorry, this invite was not found or expired"
msgstr ""
#: lib/cannery_web/controllers/user_settings_controller.ex:99
#, elixir-autogen, elixir-format
msgid "Unable to delete user"
msgstr ""
#: lib/cannery_web/controllers/error_html.ex:10
#: lib/cannery_web/controllers/error_json.ex:8
#, elixir-autogen, elixir-format
msgid "Unauthorized"
msgstr ""
#: lib/cannery_web/controllers/user_confirmation_controller.ex:53
#, elixir-autogen, elixir-format
msgid "User confirmation link is invalid or it has expired."
msgstr ""
#: lib/cannery_web/controllers/user_auth.ex:266
#, elixir-autogen, elixir-format
msgid "You are not authorized to view this page."
msgstr ""
#: lib/cannery/accounts/user.ex:145
#, elixir-autogen, elixir-format
msgid "did not change"
msgstr ""
#: lib/cannery/accounts/user.ex:166
#, elixir-autogen, elixir-format
msgid "does not match password"
msgstr ""
#: lib/cannery/accounts/user.ex:203
#, elixir-autogen, elixir-format
msgid "is not valid"
msgstr ""
#: lib/cannery/accounts/user.ex:100
#, elixir-autogen, elixir-format
msgid "must have the @ sign and no spaces"
msgstr ""
#: lib/cannery_web/live/container_live/show.ex:45
#, elixir-autogen, elixir-format
msgid "Tag not found"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.ex:46
#, elixir-autogen, elixir-format
msgid "Tag could not be added"
msgstr ""
#: lib/cannery_web/controllers/user_auth.ex:38
#: lib/cannery_web/controllers/user_auth.ex:250
#, elixir-autogen, elixir-format
msgid "You must confirm your account and log in to access this page."
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.ex:73
#, elixir-autogen, elixir-format
msgid "Tag could not be removed"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:152
#, elixir-autogen, elixir-format
msgid "Could not parse number of copies"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:142
#, elixir-autogen, elixir-format
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr ""
#: lib/cannery/ammo.ex:974
#, elixir-autogen, elixir-format
msgid "Invalid multiplier"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:71
#, elixir-autogen, elixir-format
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_record.ex:74
#, elixir-autogen, elixir-format
msgid "Please select a valid user and ammo pack"
msgstr ""
#: lib/cannery/activity_log/shot_record.ex:88
#, elixir-autogen, elixir-format
msgid "Ammo left can be at most %{count} rounds"
msgstr ""
#: lib/cannery/activity_log/shot_record.ex:84
#, elixir-autogen, elixir-format
msgid "Ammo left must be at least 0"
msgstr ""
#: lib/cannery/activity_log/shot_record.ex:119
#, elixir-autogen, elixir-format
msgid "Count can be at most %{count} shots"
msgstr ""
#: lib/cannery/activity_log/shot_record.ex:80
#, elixir-autogen, elixir-format
msgid "can't be blank"
msgstr ""
#: lib/cannery/ammo/pack.ex:100
#, elixir-autogen, elixir-format
msgid "Please select a type and container"
msgstr ""
#: lib/cannery_web/controllers/error_html.ex:11
#: lib/cannery_web/controllers/error_json.ex:9
#, elixir-autogen, elixir-format
msgid "Internal server error"
msgstr ""
#: lib/cannery_web/controllers/user_auth.ex:195
#, elixir-autogen, elixir-format
msgid "You must log in as an administrator to access this page."
msgstr ""
#: lib/cannery_web/controllers/user_auth.ex:178
#, elixir-autogen, elixir-format
msgid "You must log in to access this page."
msgstr ""

View File

@ -0,0 +1,294 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-20 05:05+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Translate Toolkit 3.10.1\n"
## This file is a PO Template file.
##
## "msgid"s here are often extracted from source code.
## Add new translations manually only if they're dynamic
## translations that can't be statically extracted.
##
## 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/container_live/form_component.ex:88
#: lib/cannery_web/live/invite_live/form_component.ex:79
#: lib/cannery_web/live/tag_live/form_component.ex:77
#: lib/cannery_web/live/type_live/form_component.ex:87
#, elixir-autogen, elixir-format
msgid "%{name} created successfully"
msgstr ""
#: lib/cannery_web/live/tag_live/index.ex:65
#: lib/cannery_web/live/type_live/index.ex:72
#: lib/cannery_web/live/type_live/show.ex:26
#, elixir-autogen, elixir-format
msgid "%{name} deleted succesfully"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:79
#: lib/cannery_web/live/container_live/show.ex:60
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.ex:69
#: lib/cannery_web/live/invite_live/form_component.ex:61
#: lib/cannery_web/live/tag_live/form_component.ex:59
#: lib/cannery_web/live/type_live/form_component.ex:68
#, elixir-autogen, elixir-format
msgid "%{name} updated successfully"
msgstr ""
#: lib/cannery_web/controllers/user_settings_controller.ex:29
#, elixir-autogen, elixir-format
msgid "A link to confirm your email change has been sent to the new address."
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:110
#: lib/cannery_web/live/invite_live/index.html.heex:138
#, 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.html.heex:99
#: lib/cannery_web/live/container_live/index.html.heex:157
#: lib/cannery_web/live/container_live/show.html.heex:45
#: lib/cannery_web/live/tag_live/index.html.heex:63
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}?"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:185
#: lib/cannery_web/live/pack_live/show.html.heex:69
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
msgstr ""
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:153
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete your account?"
msgstr ""
#: lib/cannery_web/components/core_components/topbar.html.heex:65
#, elixir-autogen, elixir-format
msgid "Are you sure you want to log out?"
msgstr ""
#: lib/cannery_web/controllers/user_settings_controller.ex:77
#, elixir-autogen, elixir-format
msgid "Email changed successfully."
msgstr ""
#: lib/cannery_web/controllers/user_confirmation_controller.ex:23
#, elixir-autogen, elixir-format
msgid "If your email is in our system and it has not been confirmed yet, you will receive an email with instructions shortly."
msgstr ""
#: lib/cannery_web/controllers/user_reset_password_controller.ex:24
#, elixir-autogen, elixir-format
msgid "If your email is in our system, you will receive instructions to reset your password shortly."
msgstr ""
#: lib/cannery_web/controllers/user_session_controller.ex:23
#, elixir-autogen, elixir-format
msgid "Logged out successfully."
msgstr ""
#: lib/cannery_web/controllers/user_reset_password_controller.ex:45
#, elixir-autogen, elixir-format
msgid "Password reset successfully."
msgstr ""
#: lib/cannery_web/controllers/user_settings_controller.ex:49
#, elixir-autogen, elixir-format
msgid "Password updated successfully."
msgstr ""
#: lib/cannery_web/controllers/user_registration_controller.ex:65
#, elixir-autogen, elixir-format
msgid "Please check your email to verify your account"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:93
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:383
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr ""
#: lib/cannery_web/controllers/user_settings_controller.ex:95
#, elixir-autogen, elixir-format
msgid "Your account has been deleted"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:16
#, elixir-autogen, elixir-format
msgid "Are you sure you want to remove the %{tag_name} tag from %{container_name}?"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.ex:51
#, elixir-autogen, elixir-format
msgid "%{name} added successfully"
msgstr ""
#: lib/cannery_web/live/container_live/show.ex:37
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:53
#, elixir-autogen, elixir-format
msgid "Adding..."
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.ex:62
#, elixir-autogen, elixir-format
msgid "Shots recorded successfully"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:34
#, elixir-autogen, elixir-format
msgid "Are you sure you want to unstage this ammo?"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:157
#: lib/cannery_web/live/range_live/index.html.heex:151
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?"
msgstr ""
#: lib/cannery_web/live/pack_live/show.ex:79
#: lib/cannery_web/live/range_live/index.ex:78
#, elixir-autogen, elixir-format
msgid "Shot records deleted succesfully"
msgstr ""
#: lib/cannery_web/live/range_live/form_component.ex:54
#, elixir-autogen, elixir-format
msgid "Shot records updated successfully"
msgstr ""
#: lib/cannery_web/controllers/user_confirmation_controller.ex:37
#, elixir-autogen, elixir-format
msgid "%{email} confirmed successfully."
msgstr ""
#: lib/cannery_web/components/move_pack_component.ex:51
#, elixir-autogen, elixir-format
msgid "Ammo moved to %{name} successfully"
msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:116
#, elixir-autogen, elixir-format
msgid "Copied to clipboard"
msgstr ""
#: lib/cannery_web/live/container_live/edit_tags_component.ex:78
#, elixir-autogen, elixir-format
msgid "%{name} removed successfully"
msgstr ""
#: lib/cannery_web/live/pack_live/index.html.heex:10
#: lib/cannery_web/live/pack_live/index.html.heex:20
#, elixir-autogen, elixir-format
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:86
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr ""
#: lib/cannery_web/controllers/user_settings_html/edit.html.heex:138
#, elixir-autogen, elixir-format
msgid "Are you sure you want to change your language?"
msgstr ""
#: lib/cannery_web/controllers/user_settings_controller.ex:65
#, elixir-autogen, elixir-format
msgid "Language updated successfully."
msgstr ""
#: lib/cannery_web/live/pack_live/index.ex:94
#: lib/cannery_web/live/pack_live/show.ex:54
#, elixir-autogen, elixir-format
msgid "Ammo deleted succesfully"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:91
#, elixir-autogen, elixir-format
msgid "Ammo unstaged succesfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:118
#, elixir-autogen, elixir-format
msgid "Ammo updated successfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:177
#, elixir-autogen, elixir-format
msgid "Ammo added successfully"
msgid_plural "Ammo added successfully"
msgstr[0] ""
msgstr[1] ""
#: lib/cannery_web/live/type_live/index.html.heex:118
#: lib/cannery_web/live/type_live/show.html.heex:29
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
msgstr ""
#: lib/cannery_web/live/home_live.html.heex:63
#, elixir-autogen, elixir-format
msgid "Register to setup Cannery"
msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:43
#, elixir-autogen, elixir-format
msgid "%{invite_name} deleted succesfully"
msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "%{invite_name} disabled succesfully"
msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "%{invite_name} enabled succesfully"
msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:58
#, elixir-autogen, elixir-format
msgid "%{invite_name} updated succesfully"
msgstr ""
#: lib/cannery_web/live/invite_live/index.ex:125
#, elixir-autogen, elixir-format
msgid "%{user_email} deleted succesfully"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:58
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete the invite for %{invite_name}?"
msgstr ""
#: lib/cannery_web/live/invite_live/index.html.heex:85
#, elixir-autogen, elixir-format
msgid "Are you sure you want to make %{invite_name} unlimited?"
msgstr ""

View File

@ -10,10 +10,10 @@
msgid ""
msgstr ""
#: lib/cannery_web/live/container_live/form_component.ex:89
#: lib/cannery_web/live/invite_live/form_component.ex:80
#: lib/cannery_web/live/tag_live/form_component.ex:78
#: lib/cannery_web/live/type_live/form_component.ex:88
#: lib/cannery_web/live/container_live/form_component.ex:88
#: lib/cannery_web/live/invite_live/form_component.ex:79
#: lib/cannery_web/live/tag_live/form_component.ex:77
#: lib/cannery_web/live/type_live/form_component.ex:87
#, elixir-autogen, elixir-format
msgid "%{name} created successfully"
msgstr ""
@ -31,10 +31,10 @@ msgstr ""
msgid "%{name} has been deleted"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.ex:70
#: lib/cannery_web/live/invite_live/form_component.ex:62
#: lib/cannery_web/live/tag_live/form_component.ex:60
#: lib/cannery_web/live/type_live/form_component.ex:69
#: lib/cannery_web/live/container_live/form_component.ex:69
#: lib/cannery_web/live/invite_live/form_component.ex:61
#: lib/cannery_web/live/tag_live/form_component.ex:59
#: lib/cannery_web/live/type_live/form_component.ex:68
#, elixir-autogen, elixir-format
msgid "%{name} updated successfully"
msgstr ""
@ -109,13 +109,13 @@ msgstr ""
msgid "Please check your email to verify your account"
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.html.heex:58
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/pack_live/form_component.html.heex:91
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#: lib/cannery_web/live/type_live/form_component.html.heex:360
#: lib/cannery_web/components/add_shot_record_component.html.heex:59
#: lib/cannery_web/live/container_live/form_component.html.heex:61
#: lib/cannery_web/live/invite_live/form_component.html.heex:40
#: lib/cannery_web/live/pack_live/form_component.html.heex:93
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:43
#: lib/cannery_web/live/type_live/form_component.html.heex:383
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr ""
@ -145,7 +145,7 @@ msgstr ""
msgid "Adding..."
msgstr ""
#: lib/cannery_web/components/add_shot_record_component.ex:60
#: lib/cannery_web/components/add_shot_record_component.ex:62
#, elixir-autogen, elixir-format
msgid "Shots recorded successfully"
msgstr ""
@ -198,7 +198,7 @@ msgstr ""
msgid "You'll need to"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.html.heex:84
#: lib/cannery_web/live/pack_live/form_component.html.heex:86
#, elixir-autogen, elixir-format
msgid "Creating..."
msgstr ""
@ -224,12 +224,12 @@ msgstr ""
msgid "Ammo unstaged succesfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:125
#: lib/cannery_web/live/pack_live/form_component.ex:118
#, elixir-autogen, elixir-format
msgid "Ammo updated successfully"
msgstr ""
#: lib/cannery_web/live/pack_live/form_component.ex:184
#: lib/cannery_web/live/pack_live/form_component.ex:177
#, elixir-autogen, elixir-format
msgid "Ammo added successfully"
msgid_plural "Ammo added successfully"

10
priv/i18n/it.tbx Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE martif PUBLIC "ISO 12200:1999A//DTD MARTIF core (DXFcdV04)//EN" "TBXcdv04.dtd">
<martif type="TBX">
<martifHeader>
<fileDesc>
<sourceDesc><p>Translate Toolkit</p></sourceDesc>
</fileDesc>
</martifHeader>
<text><body></body></text>
</martif>

View File

@ -0,0 +1,40 @@
defmodule Cannery.EmailWorkerTest do
use Cannery.DataCase, async: true
def perform_job(worker, args) do
Oban.Testing.perform_job(worker, args, [])
end
test "sending welcome email" do
user = user_fixture()
{:ok, _user} =
perform_job(Cannery.EmailWorker, %{
"email" => "welcome",
"user_id" => user.id,
"attrs" => %{"url" => "test_url"}
})
end
test "sending reset password email" do
user = user_fixture()
{:ok, _user} =
perform_job(Cannery.EmailWorker, %{
"email" => "reset_password",
"user_id" => user.id,
"attrs" => %{"url" => "test_url"}
})
end
test "sending update email email" do
user = user_fixture()
{:ok, _user} =
perform_job(Cannery.EmailWorker, %{
"email" => "update_email",
"user_id" => user.id,
"attrs" => %{"url" => "test_url"}
})
end
end

View File

@ -48,8 +48,9 @@ defmodule Cannery.Fixtures do
def extract_user_token(fun) do
%{args: %{attrs: attrs, email: email_key, user_id: user_id}} = fun.(&"[TOKEN]#{&1}[TOKEN]")
# convert atoms to string keys
attrs = attrs |> Map.new(fn {atom_key, value} -> {atom_key |> Atom.to_string(), value} end)
attrs =
attrs
|> Map.new(fn {key, value} -> {Atom.to_string(key), value} end)
email =
email_key