add length limits to all items
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
shibao 2023-03-19 23:46:42 -04:00
parent e5e5449e8b
commit fe4e4f4f17
41 changed files with 473 additions and 399 deletions

View File

@ -1,3 +1,6 @@
# v0.9.0
- Add length limits to all string fields
# v0.8.6
- Fix duplicate entries showing up
- Show ammo packs under a type in a table by default

View File

@ -48,8 +48,9 @@ defmodule Cannery.Accounts.Invite do
%__MODULE__{}
|> change(token: token, created_by_id: user_id)
|> cast(attrs, [:name, :uses_left, :disabled_at])
|> validate_required([:name, :token, :created_by_id])
|> validate_length(:name, max: 255)
|> validate_number(:uses_left, greater_than_or_equal_to: 0)
|> validate_required([:name, :token, :created_by_id])
end
@doc false
@ -57,7 +58,8 @@ defmodule Cannery.Accounts.Invite do
def update_changeset(invite, attrs) do
invite
|> cast(attrs, [:name, :uses_left, :disabled_at])
|> validate_required([:name])
|> validate_length(:name, max: 255)
|> validate_number(:uses_left, greater_than_or_equal_to: 0)
|> validate_required([:name])
end
end

View File

@ -79,6 +79,7 @@ defmodule Cannery.Accounts.User do
%User{}
|> cast(attrs, [:email, :password, :locale])
|> put_change(:invite_id, if(invite, do: invite.id))
|> validate_length(:locale, max: 255)
|> validate_email()
|> validate_password(opts)
end
@ -209,6 +210,7 @@ defmodule Cannery.Accounts.User do
def locale_changeset(user_or_changeset, locale) do
user_or_changeset
|> cast(%{"locale" => locale}, [:locale])
|> validate_length(:locale, max: 255)
|> validate_required(:locale)
end
end

View File

@ -61,6 +61,7 @@ defmodule Cannery.ActivityLog.ShotGroup do
|> change(user_id: user_id)
|> change(ammo_group_id: ammo_group_id)
|> cast(attrs, [:count, :notes, :date])
|> validate_length(:notes, max: 255)
|> validate_create_shot_group_count(ammo_group)
|> validate_required([:date, :ammo_group_id, :user_id])
end
@ -68,6 +69,7 @@ defmodule Cannery.ActivityLog.ShotGroup do
def create_changeset(shot_group, _invalid_user, _invalid_ammo_group, attrs) do
shot_group
|> cast(attrs, [:count, :notes, :date])
|> validate_length(:notes, max: 255)
|> validate_required([:ammo_group_id, :user_id])
|> add_error(:invalid, dgettext("errors", "Please select a valid user and ammo pack"))
end
@ -99,6 +101,7 @@ defmodule Cannery.ActivityLog.ShotGroup do
def update_changeset(%__MODULE__{} = shot_group, user, attrs) do
shot_group
|> cast(attrs, [:count, :notes, :date])
|> validate_length(:notes, max: 255)
|> validate_number(:count, greater_than: 0)
|> validate_required([:count, :date])
|> validate_update_shot_group_count(shot_group, user)

View File

@ -42,7 +42,7 @@ defmodule Cannery.Ammo.AmmoType do
field :name, :string
field :desc, :string
# https://en.wikipedia.org/wiki/Bullet#Abbreviations
# https://shootersreference.com/reloadingdata/bullet_abbreviations/
field :bullet_type, :string
field :bullet_core, :string
field :cartridge, :string
@ -129,20 +129,46 @@ defmodule Cannery.Ammo.AmmoType do
:upc
]
@spec string_fields() :: [atom()]
defp string_fields,
do: [
:name,
:bullet_type,
:bullet_core,
:cartridge,
:caliber,
:case_material,
:jacket_type,
:powder_type,
:pressure,
:primer_type,
:firing_type,
:manufacturer,
:upc
]
@doc false
@spec create_changeset(new_ammo_type(), User.t(), attrs :: map()) :: changeset()
def create_changeset(ammo_type, %User{id: user_id}, attrs) do
changeset =
ammo_type
|> change(user_id: user_id)
|> cast(attrs, changeset_fields())
string_fields()
|> Enum.reduce(changeset, fn field, acc -> acc |> validate_length(field, max: 255) end)
|> validate_required([:name, :user_id])
end
@doc false
@spec update_changeset(t() | new_ammo_type(), attrs :: map()) :: changeset()
def update_changeset(ammo_type, attrs) do
changeset =
ammo_type
|> cast(attrs, changeset_fields())
string_fields()
|> Enum.reduce(changeset, fn field, acc -> acc |> validate_length(field, max: 255) end)
|> validate_required(:name)
end
end

View File

@ -53,6 +53,8 @@ defmodule Cannery.Containers.Container do
container
|> change(user_id: user_id)
|> cast(attrs, [:name, :desc, :type, :location])
|> validate_length(:name, max: 255)
|> validate_length(:type, max: 255)
|> validate_required([:name, :type, :user_id])
end
@ -61,6 +63,8 @@ defmodule Cannery.Containers.Container do
def update_changeset(container, attrs) do
container
|> cast(attrs, [:name, :desc, :type, :location])
|> validate_length(:name, max: 255)
|> validate_length(:type, max: 255)
|> validate_required([:name, :type])
end
end

View File

@ -47,6 +47,9 @@ defmodule Cannery.Containers.Tag do
tag
|> change(user_id: user_id)
|> cast(attrs, [:name, :bg_color, :text_color])
|> validate_length(:name, max: 255)
|> validate_length(:bg_color, max: 12)
|> validate_length(:text_color, max: 12)
|> validate_required([:name, :bg_color, :text_color, :user_id])
end
@ -55,6 +58,9 @@ defmodule Cannery.Containers.Tag do
def update_changeset(tag, attrs) do
tag
|> cast(attrs, [:name, :bg_color, :text_color])
|> validate_length(:name, max: 255)
|> validate_length(:bg_color, max: 12)
|> validate_length(:text_color, max: 12)
|> validate_required([:name, :bg_color, :text_color])
end
end

View File

@ -39,6 +39,7 @@
<%= textarea(f, :notes,
id: "add-shot-group-form-notes",
class: "input input-primary col-span-2",
maxlength: 255,
placeholder: gettext("Really great weather"),
phx_hook: "MaintainAttrs",
phx_update: "ignore"

View File

@ -19,7 +19,10 @@
</div>
<%= 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") %>
<%= text_input(f, :name,
class: "text-center col-span-2 input input-primary",
maxlength: 255
) %>
<%= error_tag(f, :name, "col-span-3 text-center") %>
<%= label(f, :desc, gettext("Description"), class: "title text-lg text-primary-600") %>
@ -40,6 +43,7 @@
<%= label(f, :bullet_type, gettext("Bullet type"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :bullet_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
placeholder: gettext("FMJ")
) %>
<%= error_tag(f, :bullet_type, "col-span-3 text-center") %>
@ -47,6 +51,7 @@
<%= label(f, :bullet_core, gettext("Bullet core"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :bullet_core,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
placeholder: gettext("Steel")
) %>
<%= error_tag(f, :bullet_core, "col-span-3 text-center") %>
@ -54,6 +59,7 @@
<%= label(f, :cartridge, gettext("Cartridge"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :cartridge,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
placeholder: gettext("5.56x46mm NATO")
) %>
<%= error_tag(f, :cartridge, "col-span-3 text-center") %>
@ -61,6 +67,7 @@
<%= label(f, :caliber, gettext("Caliber"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :caliber,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
placeholder: gettext(".223")
) %>
<%= error_tag(f, :caliber, "col-span-3 text-center") %>
@ -68,6 +75,7 @@
<%= label(f, :case_material, gettext("Case material"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :case_material,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
placeholder: gettext("Brass")
) %>
<%= error_tag(f, :case_material, "col-span-3 text-center") %>
@ -75,6 +83,7 @@
<%= label(f, :jacket_type, gettext("Jacket type"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :jacket_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
placeholder: gettext("Bimetal")
) %>
<%= error_tag(f, :case_material, "col-span-3 text-center") %>
@ -90,7 +99,10 @@
<%= error_tag(f, :muzzle_velocity, "col-span-3 text-center") %>
<%= 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") %>
<%= text_input(f, :powder_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255
) %>
<%= error_tag(f, :powder_type, "col-span-3 text-center") %>
<%= label(f, :powder_grains_per_charge, gettext("Powder grains per charge"),
@ -114,6 +126,7 @@
<%= label(f, :pressure, gettext("Pressure"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :pressure,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
placeholder: gettext("+P")
) %>
<%= error_tag(f, :pressure, "col-span-3 text-center") %>
@ -121,6 +134,7 @@
<%= label(f, :primer_type, gettext("Primer type"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :primer_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
placeholder: gettext("Boxer")
) %>
<%= error_tag(f, :primer_type, "col-span-3 text-center") %>
@ -128,6 +142,7 @@
<%= label(f, :firing_type, gettext("Firing type"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :firing_type,
class: "text-center col-span-2 input input-primary",
maxlength: 255,
placeholder: gettext("Centerfire")
) %>
<%= error_tag(f, :firing_type, "col-span-3 text-center") %>
@ -149,11 +164,17 @@
<%= error_tag(f, :corrosive, "col-span-3 text-center") %>
<%= 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") %>
<%= text_input(f, :manufacturer,
class: "text-center col-span-2 input input-primary",
maxlength: 255
) %>
<%= 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") %>
<%= text_input(f, :upc,
class: "text-center col-span-2 input input-primary",
maxlength: 255
) %>
<%= error_tag(f, :upc, "col-span-3 text-center") %>
<%= submit(dgettext("actions", "Save"),

View File

@ -21,7 +21,8 @@
<%= 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")
placeholder: gettext("My cool ammo can"),
maxlength: 255
) %>
<%= error_tag(f, :name, "col-span-3 text-center") %>
@ -38,7 +39,8 @@
<%= 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")
placeholder: gettext("Magazine, Clip, Ammo Box, etc"),
maxlength: 255
) %>
<%= error_tag(f, :type, "col-span-3 text-center") %>

View File

@ -18,7 +18,10 @@
<%= changeset_errors(@changeset) %>
</div>
<%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-600") %>
<%= label(f, :name, gettext("Name"),
class: "title text-lg text-primary-600",
maxlength: 255
) %>
<%= text_input(f, :name, class: "input input-primary col-span-2") %>
<%= error_tag(f, :name, "col-span-3") %>

View File

@ -31,6 +31,7 @@
<%= textarea(f, :notes,
id: "shot-group-form-notes",
class: "input input-primary col-span-2",
maxlength: 255,
placeholder: gettext("Really great weather"),
phx_hook: "MaintainAttrs",
phx_update: "ignore"

View File

@ -19,7 +19,7 @@
</div>
<%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-600") %>
<%= text_input(f, :name, class: "input input-primary col-span-2") %>
<%= text_input(f, :name, class: "input input-primary col-span-2", maxlength: 255) %>
<%= error_tag(f, :name, "col-span-3") %>
<%= label(f, :bg_color, gettext("Background color"), class: "title text-lg text-primary-600") %>

View File

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

View File

@ -120,12 +120,12 @@ msgstr ""
msgid "Reset password"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:56
#: lib/cannery_web/components/add_shot_group_component.html.heex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:84
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:159
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:180
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Save"

View File

@ -133,12 +133,12 @@ msgstr "Bestätigungsmail erneut senden"
msgid "Reset password"
msgstr "Passwort zurücksetzen"
#: lib/cannery_web/components/add_shot_group_component.html.heex:56
#: lib/cannery_web/components/add_shot_group_component.html.heex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:84
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:159
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:180
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Save"

View File

@ -50,42 +50,42 @@ msgid "Background color"
msgstr "Hintergrundfarbe"
#: lib/cannery_web/components/ammo_type_table_component.ex:65
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:143
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr "Knallpatrone"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr "Messing"
#: lib/cannery_web/components/ammo_type_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr "Projektilkern"
#: lib/cannery_web/components/ammo_type_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:40
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr "Patronenart"
#: lib/cannery_web/components/ammo_type_table_component.ex:49
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr "Kaliber"
#: lib/cannery_web/components/ammo_type_table_component.ex:48
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:54
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:59
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr "Patrone"
#: lib/cannery_web/components/ammo_type_table_component.ex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr "Gehäusematerial"
@ -106,7 +106,7 @@ msgid "Containers"
msgstr "Behälter"
#: lib/cannery_web/components/ammo_type_table_component.ex:66
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:147
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:162
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr "Korrosiv"
@ -124,8 +124,8 @@ msgid "Count:"
msgstr "Anzahl:"
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:25
#: lib/cannery_web/live/container_live/form_component.html.heex:28
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:28
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Description"
msgstr "Beschreibung"
@ -151,24 +151,24 @@ msgstr "Einladung bearbeiten"
msgid "Edit Tag"
msgstr "Tag bearbeiten"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:38
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Example bullet type abbreviations"
msgstr "Beispiel Munitionstyp Abkürzungen"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr "VM"
#: lib/cannery_web/components/ammo_type_table_component.ex:59
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:106
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr "Körner"
#: lib/cannery_web/components/ammo_type_table_component.ex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:139
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:154
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr "Brandmunition"
@ -202,7 +202,7 @@ msgstr "Für 60 Tage eingeloggt bleiben"
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#: lib/cannery_web/live/container_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "Location"
msgstr "Standort"
@ -213,18 +213,18 @@ 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:42
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr "Magazin, Ladestreifen, Munitionskiste usw."
#: lib/cannery_web/components/ammo_type_table_component.ex:67
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:151
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:166
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr "Hersteller"
#: lib/cannery_web/live/container_live/form_component.html.heex:32
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr "Metallene Munitionskiste mit Anime-Girl-Sticker"
@ -310,13 +310,13 @@ msgstr "Bemerkungen"
msgid "Notes:"
msgstr "Bemerkungen:"
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#: lib/cannery_web/live/container_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr "Auf dem Bücherregal"
#: lib/cannery_web/components/ammo_type_table_component.ex:60
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:114
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr "Druck"
@ -333,7 +333,7 @@ msgid "Price paid:"
msgstr "Kaufpreis:"
#: lib/cannery_web/components/ammo_type_table_component.ex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:121
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:134
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr "Zündertyp"
@ -366,7 +366,7 @@ msgstr "Einstellungen"
msgid "Simple:"
msgstr "Einfach:"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr "Stahl"
@ -401,14 +401,14 @@ msgid "The self-hosted firearm tracker website"
msgstr "Die selbst-gehostete Website zur Verwaltung von Schusswaffen"
#: lib/cannery_web/components/ammo_type_table_component.ex:63
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:135
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:150
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr "Leuchtspur"
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Type"
msgstr "Art"
@ -424,7 +424,7 @@ msgstr "Art:"
msgid "Users"
msgstr "Benutzer"
#: lib/cannery_web/live/invite_live/form_component.html.heex:25
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr "Verbleibende Nutzung"
@ -450,10 +450,10 @@ msgstr "Schießplatz"
msgid "Range day"
msgstr "Range Day"
#: lib/cannery_web/components/add_shot_group_component.html.heex:48
#: lib/cannery_web/components/add_shot_group_component.html.heex:49
#: lib/cannery_web/components/shot_group_table_component.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: 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"
@ -537,37 +537,37 @@ msgstr "Schießkladde"
msgid "$%{amount}"
msgstr "$%{amount}"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:78
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:87
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr "Bimetall"
#: lib/cannery_web/components/ammo_type_table_component.ex:51
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr "Patronenhülse"
#: lib/cannery_web/components/ammo_type_table_component.ex:52
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:91
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr "Mündungsgeschwindigkeit"
#: lib/cannery_web/components/ammo_type_table_component.ex:55
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:96
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:108
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr "Pulverkörner pro Ladung"
#: lib/cannery_web/components/ammo_type_table_component.ex:53
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:92
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:101
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr "Pulverart"
#: lib/cannery_web/components/ammo_type_table_component.ex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:155
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:173
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr "UPC"
@ -591,7 +591,7 @@ msgid "New password"
msgstr "Neues Passwort"
#: lib/cannery_web/components/ammo_type_table_component.ex:62
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:128
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:142
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr "Patronenhülsenform"
@ -791,7 +791,7 @@ msgstr ""
msgid "isn't he cute >:3"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:29
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -1199,33 +1199,33 @@ msgstr ""
msgid "Password"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:117
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:130
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:57
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:63
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:124
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:138
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:131
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:146
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:42
#: lib/cannery_web/live/range_live/form_component.html.heex:34
#: lib/cannery_web/components/add_shot_group_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""

View File

@ -117,22 +117,22 @@ msgstr "Nutzerkonto Bestätigungslink ist ungültig oder abgelaufen."
msgid "You are not authorized to view this page."
msgstr "Sie sind nicht berechtigt, diese Seite aufzurufen."
#: lib/cannery/accounts/user.ex:144
#: lib/cannery/accounts/user.ex:145
#, elixir-autogen, elixir-format
msgid "did not change"
msgstr "hat sich nicht geändert"
#: lib/cannery/accounts/user.ex:165
#: lib/cannery/accounts/user.ex:166
#, elixir-autogen, elixir-format
msgid "does not match password"
msgstr "Passwort stimmt nicht überein"
#: lib/cannery/accounts/user.ex:202
#: lib/cannery/accounts/user.ex:203
#, elixir-autogen, elixir-format
msgid "is not valid"
msgstr "ist nicht gültig"
#: lib/cannery/accounts/user.ex:99
#: lib/cannery/accounts/user.ex:100
#, elixir-autogen, elixir-format
msgid "must have the @ sign and no spaces"
msgstr "Muss ein @ Zeichen und keine Leerzeichen haben"
@ -187,27 +187,27 @@ msgstr ""
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:72
#: lib/cannery/activity_log/shot_group.ex:74
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid user and ammo pack"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:86
#: lib/cannery/activity_log/shot_group.ex:88
#, elixir-autogen, elixir-format
msgid "Ammo left can be at most %{count} rounds"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:82
#: lib/cannery/activity_log/shot_group.ex:84
#, elixir-autogen, elixir-format
msgid "Ammo left must be at least 0"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:119
#: lib/cannery/activity_log/shot_group.ex:122
#, elixir-autogen, elixir-format, fuzzy
msgid "Count can be at most %{count} shots"
msgstr "Anzahl muss weniger als %{count} betragen"
#: lib/cannery/activity_log/shot_group.ex:78
#: lib/cannery/activity_log/shot_group.ex:80
#, elixir-autogen, elixir-format
msgid "can't be blank"
msgstr ""

View File

@ -128,12 +128,12 @@ 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_group_component.html.heex:58
#: lib/cannery_web/components/add_shot_group_component.html.heex:59
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:85
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:160
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:34
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:181
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Saving..."

View File

@ -46,42 +46,42 @@ msgid "Background color"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:65
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:143
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:40
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:49
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:48
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:54
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:59
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr ""
@ -102,7 +102,7 @@ msgid "Containers"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:66
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:147
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:162
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr ""
@ -120,8 +120,8 @@ msgid "Count:"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:25
#: lib/cannery_web/live/container_live/form_component.html.heex:28
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:28
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
@ -147,24 +147,24 @@ msgstr ""
msgid "Edit Tag"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:38
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Example bullet type abbreviations"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:59
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:106
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:139
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:154
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr ""
@ -198,7 +198,7 @@ msgstr ""
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#: lib/cannery_web/live/container_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "Location"
msgstr ""
@ -209,18 +209,18 @@ 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:42
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:67
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:151
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:166
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:32
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr ""
@ -306,13 +306,13 @@ msgstr ""
msgid "Notes:"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#: lib/cannery_web/live/container_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:60
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:114
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr ""
@ -329,7 +329,7 @@ msgid "Price paid:"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:121
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:134
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr ""
@ -360,7 +360,7 @@ msgstr ""
msgid "Simple:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr ""
@ -395,14 +395,14 @@ msgid "The self-hosted firearm tracker website"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:63
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:135
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:150
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Type"
msgstr ""
@ -418,7 +418,7 @@ msgstr ""
msgid "Users"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:25
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr ""
@ -444,10 +444,10 @@ msgstr ""
msgid "Range day"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:48
#: lib/cannery_web/components/add_shot_group_component.html.heex:49
#: lib/cannery_web/components/shot_group_table_component.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: 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 ""
@ -531,37 +531,37 @@ msgstr ""
msgid "$%{amount}"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:78
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:87
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:51
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:52
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:91
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:55
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:96
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:108
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:53
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:92
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:101
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:155
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:173
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@ -585,7 +585,7 @@ msgid "New password"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:62
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:128
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:142
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr ""
@ -785,7 +785,7 @@ msgstr ""
msgid "isn't he cute >:3"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:29
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -1182,33 +1182,33 @@ msgstr ""
msgid "Password"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:117
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:130
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:57
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:63
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:124
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:138
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:131
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:146
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:42
#: lib/cannery_web/live/range_live/form_component.html.heex:34
#: lib/cannery_web/components/add_shot_group_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""

View File

@ -120,12 +120,12 @@ msgstr ""
msgid "Reset password"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:56
#: lib/cannery_web/components/add_shot_group_component.html.heex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:84
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:159
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:180
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Save"

View File

@ -46,42 +46,42 @@ msgid "Background color"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:65
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:143
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:40
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:49
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:48
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:54
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:59
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr ""
@ -102,7 +102,7 @@ msgid "Containers"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:66
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:147
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:162
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr ""
@ -120,8 +120,8 @@ msgid "Count:"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:25
#: lib/cannery_web/live/container_live/form_component.html.heex:28
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:28
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
@ -147,24 +147,24 @@ msgstr ""
msgid "Edit Tag"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:38
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Example bullet type abbreviations"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:59
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:106
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:139
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:154
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr ""
@ -198,7 +198,7 @@ msgstr ""
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#: lib/cannery_web/live/container_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "Location"
msgstr ""
@ -209,18 +209,18 @@ 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:42
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:67
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:151
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:166
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:32
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr ""
@ -306,13 +306,13 @@ msgstr ""
msgid "Notes:"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#: lib/cannery_web/live/container_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:60
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:114
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr ""
@ -329,7 +329,7 @@ msgid "Price paid:"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:121
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:134
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr ""
@ -360,7 +360,7 @@ msgstr ""
msgid "Simple:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr ""
@ -395,14 +395,14 @@ msgid "The self-hosted firearm tracker website"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:63
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:135
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:150
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Type"
msgstr ""
@ -418,7 +418,7 @@ msgstr ""
msgid "Users"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:25
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr ""
@ -444,10 +444,10 @@ msgstr ""
msgid "Range day"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:48
#: lib/cannery_web/components/add_shot_group_component.html.heex:49
#: lib/cannery_web/components/shot_group_table_component.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: 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 ""
@ -531,37 +531,37 @@ msgstr ""
msgid "$%{amount}"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:78
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:87
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:51
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:52
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:91
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:55
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:96
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:108
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:53
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:92
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:101
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:155
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:173
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@ -585,7 +585,7 @@ msgid "New password"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:62
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:128
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:142
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr ""
@ -785,7 +785,7 @@ msgstr ""
msgid "isn't he cute >:3"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:29
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -1182,33 +1182,33 @@ msgstr ""
msgid "Password"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:117
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:130
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:57
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:63
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:124
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:138
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:131
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:146
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:42
#: lib/cannery_web/live/range_live/form_component.html.heex:34
#: lib/cannery_web/components/add_shot_group_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""

View File

@ -103,23 +103,23 @@ msgstr ""
msgid "You are not authorized to view this page."
msgstr ""
#: lib/cannery/accounts/user.ex:144
#: lib/cannery/accounts/user.ex:145
#, elixir-autogen, elixir-format
msgid "did not change"
msgstr ""
#: lib/cannery/accounts/user.ex:165
#: lib/cannery/accounts/user.ex:166
#, elixir-autogen, elixir-format
msgid "does not match password"
msgstr ""
## From Ecto.Changeset.put_change/3
#: lib/cannery/accounts/user.ex:202
#: lib/cannery/accounts/user.ex:203
#, elixir-autogen, elixir-format, fuzzy
msgid "is not valid"
msgstr ""
#: lib/cannery/accounts/user.ex:99
#: lib/cannery/accounts/user.ex:100
#, elixir-autogen, elixir-format
msgid "must have the @ sign and no spaces"
msgstr ""
@ -170,27 +170,27 @@ msgstr ""
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:72
#: lib/cannery/activity_log/shot_group.ex:74
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid user and ammo pack"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:86
#: lib/cannery/activity_log/shot_group.ex:88
#, elixir-autogen, elixir-format
msgid "Ammo left can be at most %{count} rounds"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:82
#: lib/cannery/activity_log/shot_group.ex:84
#, elixir-autogen, elixir-format
msgid "Ammo left must be at least 0"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:119
#: lib/cannery/activity_log/shot_group.ex:122
#, elixir-autogen, elixir-format, fuzzy
msgid "Count can be at most %{count} shots"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:78
#: lib/cannery/activity_log/shot_group.ex:80
#, elixir-autogen, elixir-format
msgid "can't be blank"
msgstr ""

View File

@ -109,12 +109,12 @@ msgstr ""
msgid "Please check your email to verify your account"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:58
#: lib/cannery_web/components/add_shot_group_component.html.heex:59
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:85
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:160
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:34
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:181
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Saving..."

View File

@ -103,22 +103,22 @@ msgstr ""
msgid "You are not authorized to view this page."
msgstr ""
#: lib/cannery/accounts/user.ex:144
#: lib/cannery/accounts/user.ex:145
#, elixir-autogen, elixir-format
msgid "did not change"
msgstr ""
#: lib/cannery/accounts/user.ex:165
#: lib/cannery/accounts/user.ex:166
#, elixir-autogen, elixir-format
msgid "does not match password"
msgstr ""
#: lib/cannery/accounts/user.ex:202
#: lib/cannery/accounts/user.ex:203
#, elixir-autogen, elixir-format
msgid "is not valid"
msgstr ""
#: lib/cannery/accounts/user.ex:99
#: lib/cannery/accounts/user.ex:100
#, elixir-autogen, elixir-format
msgid "must have the @ sign and no spaces"
msgstr ""
@ -169,27 +169,27 @@ msgstr ""
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:72
#: lib/cannery/activity_log/shot_group.ex:74
#, elixir-autogen, elixir-format
msgid "Please select a valid user and ammo pack"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:86
#: lib/cannery/activity_log/shot_group.ex:88
#, elixir-autogen, elixir-format
msgid "Ammo left can be at most %{count} rounds"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:82
#: lib/cannery/activity_log/shot_group.ex:84
#, elixir-autogen, elixir-format
msgid "Ammo left must be at least 0"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:119
#: lib/cannery/activity_log/shot_group.ex:122
#, elixir-autogen, elixir-format
msgid "Count can be at most %{count} shots"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:78
#: lib/cannery/activity_log/shot_group.ex:80
#, elixir-autogen, elixir-format
msgid "can't be blank"
msgstr ""

View File

@ -133,12 +133,12 @@ msgstr "Reenviar instrucciones de confirmación"
msgid "Reset password"
msgstr "Resetear contraseña"
#: lib/cannery_web/components/add_shot_group_component.html.heex:56
#: lib/cannery_web/components/add_shot_group_component.html.heex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:84
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:159
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:180
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Save"

View File

@ -50,42 +50,42 @@ msgid "Background color"
msgstr "Color de fondo"
#: lib/cannery_web/components/ammo_type_table_component.ex:65
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:143
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr "Fogueo"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr "Latón"
#: lib/cannery_web/components/ammo_type_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr "Núcleo de bala"
#: lib/cannery_web/components/ammo_type_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:40
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr "Tipo de bala"
#: lib/cannery_web/components/ammo_type_table_component.ex:49
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr "Calibre"
#: lib/cannery_web/components/ammo_type_table_component.ex:48
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:54
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:59
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr "Cartucho"
#: lib/cannery_web/components/ammo_type_table_component.ex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr "Material del casquillo"
@ -106,7 +106,7 @@ msgid "Containers"
msgstr "Contenedores"
#: lib/cannery_web/components/ammo_type_table_component.ex:66
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:147
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:162
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr "Corrosiva"
@ -124,8 +124,8 @@ msgid "Count:"
msgstr "Cantidad:"
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:25
#: lib/cannery_web/live/container_live/form_component.html.heex:28
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:28
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Description"
msgstr "Descripción"
@ -151,24 +151,24 @@ msgstr "Editar Invitación"
msgid "Edit Tag"
msgstr "Editar Etiqueta"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:38
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Example bullet type abbreviations"
msgstr "Abreviaciones de tipo de bala ejemplo"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr "Bala encamisada"
#: lib/cannery_web/components/ammo_type_table_component.ex:59
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:106
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr "Grano"
#: lib/cannery_web/components/ammo_type_table_component.ex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:139
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:154
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr "Incendiaria"
@ -202,7 +202,7 @@ msgstr "Mantener registrado durante 60 días"
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#: lib/cannery_web/live/container_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "Location"
msgstr "Localización"
@ -213,18 +213,18 @@ 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:42
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr "Cargador, Clip, Caja de Munición, etc"
#: lib/cannery_web/components/ammo_type_table_component.ex:67
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:151
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:166
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr "Fabricante"
#: lib/cannery_web/live/container_live/form_component.html.heex:32
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#, 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"
@ -310,13 +310,13 @@ msgstr "Notas"
msgid "Notes:"
msgstr "Notas:"
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#: lib/cannery_web/live/container_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr "En la estantería"
#: lib/cannery_web/components/ammo_type_table_component.ex:60
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:114
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr "Presión"
@ -333,7 +333,7 @@ msgid "Price paid:"
msgstr "Precio pagado:"
#: lib/cannery_web/components/ammo_type_table_component.ex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:121
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:134
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr "Tipo de espoleta"
@ -366,7 +366,7 @@ msgstr "Ajustes"
msgid "Simple:"
msgstr "Simple:"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr "Acero"
@ -402,14 +402,14 @@ msgid "The self-hosted firearm tracker website"
msgstr "La página de seguimiento de armas autogestionada"
#: lib/cannery_web/components/ammo_type_table_component.ex:63
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:135
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:150
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr "Trazadora"
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Type"
msgstr "Tipo"
@ -425,7 +425,7 @@ msgstr "Tipo:"
msgid "Users"
msgstr "Usuarios"
#: lib/cannery_web/live/invite_live/form_component.html.heex:25
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr "Usos restantes"
@ -451,10 +451,10 @@ msgstr "Campo de tiro"
msgid "Range day"
msgstr "Día de disparar"
#: lib/cannery_web/components/add_shot_group_component.html.heex:48
#: lib/cannery_web/components/add_shot_group_component.html.heex:49
#: lib/cannery_web/components/shot_group_table_component.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: 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"
@ -538,37 +538,37 @@ msgstr "Registro de tiros"
msgid "$%{amount}"
msgstr "$%{amount}"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:78
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:87
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr "Bimetal"
#: lib/cannery_web/components/ammo_type_table_component.ex:51
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr "Tipo de camisa"
#: lib/cannery_web/components/ammo_type_table_component.ex:52
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:91
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr "Velocidad de boca"
#: lib/cannery_web/components/ammo_type_table_component.ex:55
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:96
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:108
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr "Granos de polvora por carga"
#: lib/cannery_web/components/ammo_type_table_component.ex:53
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:92
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:101
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr "Tipo de polvora"
#: lib/cannery_web/components/ammo_type_table_component.ex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:155
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:173
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@ -592,7 +592,7 @@ msgid "New password"
msgstr "Nueva contraseña"
#: lib/cannery_web/components/ammo_type_table_component.ex:62
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:128
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:142
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr "Tipo de fuego"
@ -792,7 +792,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:29
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -1201,33 +1201,33 @@ msgstr ""
msgid "Password"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:117
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:130
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:57
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:63
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:124
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:138
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:131
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:146
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:42
#: lib/cannery_web/live/range_live/form_component.html.heex:34
#: lib/cannery_web/components/add_shot_group_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""

View File

@ -119,22 +119,22 @@ msgstr "El enlace de confirmación de usuario no es válido o ha caducado."
msgid "You are not authorized to view this page."
msgstr "No está autorizado a ver esta página."
#: lib/cannery/accounts/user.ex:144
#: lib/cannery/accounts/user.ex:145
#, elixir-autogen, elixir-format
msgid "did not change"
msgstr "no cambió"
#: lib/cannery/accounts/user.ex:165
#: lib/cannery/accounts/user.ex:166
#, elixir-autogen, elixir-format
msgid "does not match password"
msgstr "no coincide con la contraseña"
#: lib/cannery/accounts/user.ex:202
#: lib/cannery/accounts/user.ex:203
#, elixir-autogen, elixir-format
msgid "is not valid"
msgstr "no es válido"
#: lib/cannery/accounts/user.ex:99
#: lib/cannery/accounts/user.ex:100
#, elixir-autogen, elixir-format
msgid "must have the @ sign and no spaces"
msgstr "debe tener el signo @ y no contener espacios"
@ -185,27 +185,27 @@ msgstr "Por favor escoja un tipo de munición y un contenedor"
msgid "Your browser does not support the canvas element."
msgstr "Su navegador no es compatible con el elemento lienzo."
#: lib/cannery/activity_log/shot_group.ex:72
#: lib/cannery/activity_log/shot_group.ex:74
#, elixir-autogen, elixir-format
msgid "Please select a valid user and ammo pack"
msgstr "Por favor escoja un usuario y tipo de munición valido"
#: lib/cannery/activity_log/shot_group.ex:86
#: lib/cannery/activity_log/shot_group.ex:88
#, elixir-autogen, elixir-format
msgid "Ammo left can be at most %{count} rounds"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:82
#: lib/cannery/activity_log/shot_group.ex:84
#, elixir-autogen, elixir-format
msgid "Ammo left must be at least 0"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:119
#: lib/cannery/activity_log/shot_group.ex:122
#, elixir-autogen, elixir-format, fuzzy
msgid "Count can be at most %{count} shots"
msgstr "El recuento debe ser menos de %{count}"
#: lib/cannery/activity_log/shot_group.ex:78
#: lib/cannery/activity_log/shot_group.ex:80
#, elixir-autogen, elixir-format
msgid "can't be blank"
msgstr ""

View File

@ -128,12 +128,12 @@ 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_group_component.html.heex:58
#: lib/cannery_web/components/add_shot_group_component.html.heex:59
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:85
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:160
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:34
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:181
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Saving..."

View File

@ -133,12 +133,12 @@ msgstr "Renvoyer les instructions de confirmation"
msgid "Reset password"
msgstr "Réinitialisé le mot de passe"
#: lib/cannery_web/components/add_shot_group_component.html.heex:56
#: lib/cannery_web/components/add_shot_group_component.html.heex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:84
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:159
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:180
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Save"

View File

@ -50,42 +50,42 @@ msgid "Background color"
msgstr "Couleur de fond"
#: lib/cannery_web/components/ammo_type_table_component.ex:65
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:143
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr "Vide"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr "Cuivre"
#: lib/cannery_web/components/ammo_type_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr "Noyau de balle"
#: lib/cannery_web/components/ammo_type_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:40
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr "Type de balle"
#: lib/cannery_web/components/ammo_type_table_component.ex:49
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr "Calibre"
#: lib/cannery_web/components/ammo_type_table_component.ex:48
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:54
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:59
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr "Cartouche"
#: lib/cannery_web/components/ammo_type_table_component.ex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr "Matériau de la caisse"
@ -106,7 +106,7 @@ msgid "Containers"
msgstr "Conteneurs"
#: lib/cannery_web/components/ammo_type_table_component.ex:66
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:147
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:162
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr "Corrosive"
@ -124,8 +124,8 @@ msgid "Count:"
msgstr "Quantité:"
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:25
#: lib/cannery_web/live/container_live/form_component.html.heex:28
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:28
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Description"
msgstr "Description"
@ -151,24 +151,24 @@ msgstr "Modifier linvitation"
msgid "Edit Tag"
msgstr "Modifier le tag"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:38
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Example bullet type abbreviations"
msgstr "Exemple dabréviations de type de balle"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr "FMJ"
#: lib/cannery_web/components/ammo_type_table_component.ex:59
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:106
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr "Graines"
#: lib/cannery_web/components/ammo_type_table_component.ex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:139
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:154
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr "Incendiaire"
@ -202,7 +202,7 @@ msgstr "Me garder authentifié durant 60 jours"
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#: lib/cannery_web/live/container_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "Location"
msgstr "Localisation"
@ -213,18 +213,18 @@ 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:42
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr "Chargeur, lame-chargeur, boite de munition, etc."
#: lib/cannery_web/components/ammo_type_table_component.ex:67
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:151
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:166
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr "Fabricant"
#: lib/cannery_web/live/container_live/form_component.html.heex:32
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr "Boite de munition avec le sticker de fille danimation"
@ -310,13 +310,13 @@ msgstr "Notes"
msgid "Notes:"
msgstr "Notes:"
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#: lib/cannery_web/live/container_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr "Sur létagère"
#: lib/cannery_web/components/ammo_type_table_component.ex:60
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:114
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr "Pression"
@ -333,7 +333,7 @@ msgid "Price paid:"
msgstr "Prix payé:"
#: lib/cannery_web/components/ammo_type_table_component.ex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:121
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:134
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr "Type damorce"
@ -366,7 +366,7 @@ msgstr "Paramètres"
msgid "Simple:"
msgstr "Simple:"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr "Acier"
@ -403,14 +403,14 @@ msgid "The self-hosted firearm tracker website"
msgstr "Le site web de suivi darme à feux auto-hébergé"
#: lib/cannery_web/components/ammo_type_table_component.ex:63
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:135
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:150
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr "Traceuse"
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Type"
msgstr "Type"
@ -426,7 +426,7 @@ msgstr "Type:"
msgid "Users"
msgstr "Utilisateurs"
#: lib/cannery_web/live/invite_live/form_component.html.heex:25
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr "Utilisations restantes"
@ -452,10 +452,10 @@ msgstr "Portée"
msgid "Range day"
msgstr "Journée de stand"
#: lib/cannery_web/components/add_shot_group_component.html.heex:48
#: lib/cannery_web/components/add_shot_group_component.html.heex:49
#: lib/cannery_web/components/shot_group_table_component.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: 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"
@ -539,37 +539,37 @@ msgstr "Évènements de tir"
msgid "$%{amount}"
msgstr "%{amount}$"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:78
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:87
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr "Bi-métal"
#: lib/cannery_web/components/ammo_type_table_component.ex:51
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr "Type de douille"
#: lib/cannery_web/components/ammo_type_table_component.ex:52
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:91
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr "Vélocité du canon"
#: lib/cannery_web/components/ammo_type_table_component.ex:55
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:96
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:108
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr "Graines de poudre par charge"
#: lib/cannery_web/components/ammo_type_table_component.ex:53
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:92
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:101
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr "Type de poudre"
#: lib/cannery_web/components/ammo_type_table_component.ex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:155
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:173
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr "UPC"
@ -593,7 +593,7 @@ msgid "New password"
msgstr "Nouveau mot de passe"
#: lib/cannery_web/components/ammo_type_table_component.ex:62
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:128
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:142
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr "Type dallumage"
@ -793,7 +793,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:29
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -1202,33 +1202,33 @@ msgstr ""
msgid "Password"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:117
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:130
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:57
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:63
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:124
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:138
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:131
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:146
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:42
#: lib/cannery_web/live/range_live/form_component.html.heex:34
#: lib/cannery_web/components/add_shot_group_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""

View File

@ -118,22 +118,22 @@ msgstr "Le lien de confirmation dutilisateur·ice est invalide ou a expiré."
msgid "You are not authorized to view this page."
msgstr "Vous nêtes pas autorisé·e à voir cette page."
#: lib/cannery/accounts/user.ex:144
#: lib/cannery/accounts/user.ex:145
#, elixir-autogen, elixir-format
msgid "did not change"
msgstr "est inchangé"
#: lib/cannery/accounts/user.ex:165
#: lib/cannery/accounts/user.ex:166
#, elixir-autogen, elixir-format
msgid "does not match password"
msgstr "le mot de passe ne correspond pas"
#: lib/cannery/accounts/user.ex:202
#: lib/cannery/accounts/user.ex:203
#, elixir-autogen, elixir-format
msgid "is not valid"
msgstr "nest pas valide"
#: lib/cannery/accounts/user.ex:99
#: lib/cannery/accounts/user.ex:100
#, elixir-autogen, elixir-format
msgid "must have the @ sign and no spaces"
msgstr "doit contenir le symbole @ et aucune espace"
@ -186,27 +186,27 @@ msgstr "Veuillez choisir un type de munitions et un conteneur"
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:72
#: lib/cannery/activity_log/shot_group.ex:74
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid user and ammo pack"
msgstr "Veuillez choisir un utilisateur valide et un groupe de munitions"
#: lib/cannery/activity_log/shot_group.ex:86
#: lib/cannery/activity_log/shot_group.ex:88
#, elixir-autogen, elixir-format
msgid "Ammo left can be at most %{count} rounds"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:82
#: lib/cannery/activity_log/shot_group.ex:84
#, elixir-autogen, elixir-format
msgid "Ammo left must be at least 0"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:119
#: lib/cannery/activity_log/shot_group.ex:122
#, elixir-autogen, elixir-format, fuzzy
msgid "Count can be at most %{count} shots"
msgstr "La quantité doit être inférieur à %{count}"
#: lib/cannery/activity_log/shot_group.ex:78
#: lib/cannery/activity_log/shot_group.ex:80
#, elixir-autogen, elixir-format
msgid "can't be blank"
msgstr ""

View File

@ -129,12 +129,12 @@ 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_group_component.html.heex:58
#: lib/cannery_web/components/add_shot_group_component.html.heex:59
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:85
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:160
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:34
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:181
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Saving..."

View File

@ -131,12 +131,12 @@ msgstr ""
msgid "Reset password"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:56
#: lib/cannery_web/components/add_shot_group_component.html.heex:57
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:84
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:159
#: lib/cannery_web/live/container_live/form_component.html.heex:55
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#: lib/cannery_web/live/range_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:180
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:35
#: lib/cannery_web/live/range_live/form_component.html.heex:45
#: lib/cannery_web/live/tag_live/form_component.html.heex:37
#, elixir-autogen, elixir-format
msgid "Save"

View File

@ -48,42 +48,42 @@ msgid "Background color"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:65
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:143
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:158
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#, elixir-autogen, elixir-format
msgid "Brass"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:40
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:49
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:67
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:48
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:54
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:59
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr ""
@ -104,7 +104,7 @@ msgid "Containers"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:66
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:147
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:162
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr ""
@ -122,8 +122,8 @@ msgid "Count:"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:25
#: lib/cannery_web/live/container_live/form_component.html.heex:28
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:28
#: lib/cannery_web/live/container_live/form_component.html.heex:29
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
@ -149,24 +149,24 @@ msgstr ""
msgid "Edit Tag"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:38
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:41
#, elixir-autogen, elixir-format
msgid "Example bullet type abbreviations"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:43
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "FMJ"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:59
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:106
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:139
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:154
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr ""
@ -200,7 +200,7 @@ msgstr ""
#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:45
#: lib/cannery_web/live/container_live/form_component.html.heex:47
#, elixir-autogen, elixir-format
msgid "Location"
msgstr ""
@ -211,18 +211,18 @@ 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:42
#, elixir-autogen, elixir-format
msgid "Magazine, Clip, Ammo Box, etc"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:67
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:151
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:166
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:32
#: lib/cannery_web/live/container_live/form_component.html.heex:33
#, elixir-autogen, elixir-format
msgid "Metal ammo can with the anime girl sticker"
msgstr ""
@ -308,13 +308,13 @@ msgstr ""
msgid "Notes:"
msgstr ""
#: lib/cannery_web/live/container_live/form_component.html.heex:49
#: lib/cannery_web/live/container_live/form_component.html.heex:51
#, elixir-autogen, elixir-format
msgid "On the bookshelf"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:60
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:114
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr ""
@ -331,7 +331,7 @@ msgid "Price paid:"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:61
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:121
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:134
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr ""
@ -362,7 +362,7 @@ msgstr ""
msgid "Simple:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:50
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:55
#, elixir-autogen, elixir-format
msgid "Steel"
msgstr ""
@ -397,14 +397,14 @@ msgid "The self-hosted firearm tracker website"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:63
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:135
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:150
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr ""
#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:38
#: lib/cannery_web/live/container_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Type"
msgstr ""
@ -420,7 +420,7 @@ msgstr ""
msgid "Users"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:25
#: lib/cannery_web/live/invite_live/form_component.html.heex:28
#, elixir-autogen, elixir-format
msgid "Uses left"
msgstr ""
@ -446,10 +446,10 @@ msgstr ""
msgid "Range day"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:48
#: lib/cannery_web/components/add_shot_group_component.html.heex:49
#: lib/cannery_web/components/shot_group_table_component.ex:44
#: lib/cannery_web/live/ammo_group_live/show.ex:93
#: 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 ""
@ -533,37 +533,37 @@ msgstr ""
msgid "$%{amount}"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:78
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:87
#, elixir-autogen, elixir-format
msgid "Bimetal"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:51
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:83
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:52
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:82
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:91
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:55
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:96
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:108
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:53
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:92
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:101
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:68
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:155
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:173
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@ -587,7 +587,7 @@ msgid "New password"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:62
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:128
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:142
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr ""
@ -787,7 +787,7 @@ msgstr ""
msgid "isn't he cute >:3"
msgstr ""
#: lib/cannery_web/live/invite_live/form_component.html.heex:29
#: lib/cannery_web/live/invite_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr ""
@ -1193,33 +1193,33 @@ msgstr ""
msgid "Password"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:117
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:130
#, elixir-autogen, elixir-format
msgid "+P"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:64
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:71
#, elixir-autogen, elixir-format
msgid ".223"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:57
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:63
#, elixir-autogen, elixir-format
msgid "5.56x46mm NATO"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:124
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:138
#, elixir-autogen, elixir-format
msgid "Boxer"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:131
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:146
#, elixir-autogen, elixir-format
msgid "Centerfire"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:42
#: lib/cannery_web/live/range_live/form_component.html.heex:34
#: lib/cannery_web/components/add_shot_group_component.html.heex:43
#: lib/cannery_web/live/range_live/form_component.html.heex:35
#, elixir-autogen, elixir-format
msgid "Really great weather"
msgstr ""

View File

@ -119,22 +119,22 @@ msgstr "Tá nasc an úsáideoir a deimhnigh neamhbailí nó as dáta."
msgid "You are not authorized to view this page."
msgstr "Níl cead agaibh féachaint ar an leathanach seo."
#: lib/cannery/accounts/user.ex:144
#: lib/cannery/accounts/user.ex:145
#, elixir-autogen, elixir-format
msgid "did not change"
msgstr "Níor athraigh sé"
#: lib/cannery/accounts/user.ex:165
#: lib/cannery/accounts/user.ex:166
#, elixir-autogen, elixir-format
msgid "does not match password"
msgstr ""
#: lib/cannery/accounts/user.ex:202
#: lib/cannery/accounts/user.ex:203
#, elixir-autogen, elixir-format
msgid "is not valid"
msgstr ""
#: lib/cannery/accounts/user.ex:99
#: lib/cannery/accounts/user.ex:100
#, elixir-autogen, elixir-format
msgid "must have the @ sign and no spaces"
msgstr ""
@ -185,27 +185,27 @@ msgstr ""
msgid "Your browser does not support the canvas element."
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:72
#: lib/cannery/activity_log/shot_group.ex:74
#, elixir-autogen, elixir-format, fuzzy
msgid "Please select a valid user and ammo pack"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:86
#: lib/cannery/activity_log/shot_group.ex:88
#, elixir-autogen, elixir-format
msgid "Ammo left can be at most %{count} rounds"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:82
#: lib/cannery/activity_log/shot_group.ex:84
#, elixir-autogen, elixir-format
msgid "Ammo left must be at least 0"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:119
#: lib/cannery/activity_log/shot_group.ex:122
#, elixir-autogen, elixir-format, fuzzy
msgid "Count can be at most %{count} shots"
msgstr ""
#: lib/cannery/activity_log/shot_group.ex:78
#: lib/cannery/activity_log/shot_group.ex:80
#, elixir-autogen, elixir-format
msgid "can't be blank"
msgstr ""

View File

@ -120,12 +120,12 @@ msgstr ""
msgid "Please check your email to verify your account"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:58
#: lib/cannery_web/components/add_shot_group_component.html.heex:59
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:85
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:160
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:34
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:181
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Saving..."

View File

@ -109,12 +109,12 @@ msgstr ""
msgid "Please check your email to verify your account"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:58
#: lib/cannery_web/components/add_shot_group_component.html.heex:59
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:85
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:160
#: lib/cannery_web/live/container_live/form_component.html.heex:57
#: lib/cannery_web/live/invite_live/form_component.html.heex:34
#: lib/cannery_web/live/range_live/form_component.html.heex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:181
#: lib/cannery_web/live/container_live/form_component.html.heex:59
#: lib/cannery_web/live/invite_live/form_component.html.heex:37
#: lib/cannery_web/live/range_live/form_component.html.heex:47
#: lib/cannery_web/live/tag_live/form_component.html.heex:39
#, elixir-autogen, elixir-format
msgid "Saving..."

View File

@ -28,14 +28,14 @@ defmodule Cannery.ContainersTest do
"type" => nil
}
@valid_tag_attrs %{
"bg_color" => "some bg-color",
"bg_color" => "#100000",
"name" => "some name",
"text_color" => "some text-color"
"text_color" => "#000000"
}
@update_tag_attrs %{
"bg_color" => "some updated bg-color",
"bg_color" => "#100001",
"name" => "some updated name",
"text_color" => "some updated text-color"
"text_color" => "#000001"
}
@invalid_tag_attrs %{
"bg_color" => nil,
@ -186,9 +186,9 @@ defmodule Cannery.ContainersTest do
test "create_tag/2 with valid data creates a tag", %{current_user: current_user} do
assert {:ok, %Tag{} = tag} = Containers.create_tag(@valid_tag_attrs, current_user)
assert tag.bg_color == "some bg-color"
assert tag.bg_color == "#100000"
assert tag.name == "some name"
assert tag.text_color == "some text-color"
assert tag.text_color == "#000000"
end
test "create_tag/2 with invalid data returns error changeset",
@ -198,9 +198,9 @@ defmodule Cannery.ContainersTest do
test "update_tag/3 with valid data updates the tag", %{tag: tag, current_user: current_user} do
assert {:ok, %Tag{} = tag} = Containers.update_tag(tag, @update_tag_attrs, current_user)
assert tag.bg_color == "some updated bg-color"
assert tag.bg_color == "#100001"
assert tag.name == "some updated name"
assert tag.text_color == "some updated text-color"
assert tag.text_color == "#000001"
end
test "update_tag/3 with invalid data returns error changeset",

View File

@ -10,14 +10,14 @@ defmodule CanneryWeb.TagLiveTest do
@moduletag :tag_live_test
@create_attrs %{
"bg_color" => "some bg-color",
"bg_color" => "#100000",
"name" => "some name",
"text_color" => "some text-color"
"text_color" => "#000000"
}
@update_attrs %{
"bg_color" => "some updated bg-color",
"bg_color" => "#100001",
"name" => "some updated name",
"text_color" => "some updated text-color"
"text_color" => "#000001"
}
# @invalid_attrs %{
@ -86,7 +86,7 @@ defmodule CanneryWeb.TagLiveTest do
|> follow_redirect(conn, Routes.tag_index_path(conn, :index))
assert html =~ dgettext("actions", "%{name} created successfully", name: "some name")
assert html =~ "some bg-color"
assert html =~ "#100000"
end
test "updates tag in listing", %{conn: conn, tag: tag} do
@ -110,7 +110,7 @@ defmodule CanneryWeb.TagLiveTest do
assert html =~
dgettext("prompts", "%{name} updated successfully", name: "some updated name")
assert html =~ "some updated bg-color"
assert html =~ "#100001"
end
test "deletes tag in listing", %{conn: conn, tag: tag} do

View File

@ -149,9 +149,9 @@ defmodule Cannery.Fixtures do
def tag_fixture(attrs \\ %{}, %User{} = user) do
attrs
|> Enum.into(%{
"bg_color" => "some bg-color",
"bg_color" => "#100000",
"name" => "some name",
"text_color" => "some text-color"
"text_color" => "#000000"
})
|> Containers.create_tag(user)
|> unwrap_ok_tuple()