Compare commits
112 Commits
0.8.2
...
f4c7f22460
Author | SHA1 | Date | |
---|---|---|---|
f4c7f22460 | |||
a01d97e360 | |||
a53b352cf7 | |||
ce07cc2569 | |||
3acecb9a93 | |||
ab8561fcf0 | |||
8163b906a2 | |||
b29a5cce7b | |||
9205a04ac5 | |||
632a9e1379 | |||
92cc49630d | |||
a778f5a61f | |||
07ff796553 | |||
07b31fcc86 | |||
bc034c0361 | |||
eb9280fa7e | |||
ad1e44fd42 | |||
4e9f66f006 | |||
81350f9898 | |||
9c4a32896f | |||
56dae6cdfe | |||
8ef3bd65a3 | |||
c8cadd6246 | |||
3f143262d4 | |||
ebe09bcf84 | |||
fd0b2c455a | |||
f1139d0ec4 | |||
cd6bb6fbc3 | |||
5c05f3b6fe | |||
30d3f76fe1 | |||
ed8c20e967 | |||
7b60938a75 | |||
f19d024d8a | |||
1fbed50b0f | |||
737484c36e | |||
6dbadc58ae | |||
f155a43ee8 | |||
bbaa1dfd6b | |||
2c2b9fefc9 | |||
bafc824a32 | |||
8c2f7e0509 | |||
22abc7a8d0 | |||
5a685ac00e | |||
a5c12b3e17 | |||
27af5acf8b | |||
469428c007 | |||
1cd28e43b8 | |||
695002c9d9 | |||
dde60d71d1 | |||
91794ddc55 | |||
1e3cec95fe | |||
f0a8c515f9 | |||
e99775eef2 | |||
6760f83ca0 | |||
10877bb754 | |||
38a581b639 | |||
9408705430 | |||
302aa7eeda | |||
fd4fdcc36b | |||
3cb723b9e4 | |||
1f92c452d1 | |||
c10cff63ea | |||
70faed71d0 | |||
b5c46c09ec | |||
7745765fc0 | |||
e16fbba810 | |||
e35bdf101b | |||
aa314e5ca1 | |||
616de3c117 | |||
74bcec6cfe | |||
41090c46d0 | |||
c3f5744ad6 | |||
95a339fe02 | |||
1e3b027367 | |||
dd46e1795f | |||
9e517e6477 | |||
34118299e9 | |||
97a9b6d51a | |||
059004ba78 | |||
5d02ed6369 | |||
ec6acdbb5d | |||
33d82a902d | |||
fc5b03d680 | |||
c918dbe4bf | |||
23b60e032d | |||
7283932d85 | |||
8ff1fd0276 | |||
4ef09f5279 | |||
9734be4966 | |||
485965d9c9 | |||
e9cdb0f717 | |||
1c07449b54 | |||
b64e85f65c | |||
9387756109 | |||
f1f3082368 | |||
50a8a79596 | |||
67b48e1a3f | |||
67c30d7f88 | |||
728728a5a4 | |||
a64d92a6cf | |||
6227d64072 | |||
46eed25a94 | |||
3674eeaf5a | |||
f0676a2433 | |||
a72a4b0cbe | |||
a2dea04668 | |||
3dc255b7c2 | |||
bde1cff7a4 | |||
66cc11e9eb | |||
81a250206e | |||
6d5f7f68df | |||
5b5f1ce1e5 |
19
.drone.yml
19
.drone.yml
@ -13,20 +13,24 @@ steps:
|
||||
mount:
|
||||
- _build
|
||||
- deps
|
||||
- assets/node_modules/
|
||||
- .npm
|
||||
- .mix
|
||||
|
||||
- name: test
|
||||
image: elixir:1.14.1-alpine
|
||||
environment:
|
||||
TEST_DATABASE_URL: ecto://postgres:postgres@database/cannery_test
|
||||
HOST: testing.example.tld
|
||||
MIX_HOME: /drone/src/.mix
|
||||
MIX_ARCHIVES: /drone/src/.mix/archives
|
||||
MIX_ENV: test
|
||||
commands:
|
||||
- apk add --no-cache build-base npm git python3
|
||||
- mix local.rebar --force
|
||||
- mix local.hex --force
|
||||
- apk add --no-cache build-base npm git
|
||||
- mix local.rebar --force --if-missing
|
||||
- mix local.hex --force --if-missing
|
||||
- mix deps.get
|
||||
- mix deps.compile
|
||||
- npm --prefix ./assets ci --progress=false --no-audit --loglevel=error
|
||||
- npm set cache .npm
|
||||
- npm --prefix ./assets ci --no-audit --prefer-offline
|
||||
- npm run --prefix ./assets deploy
|
||||
- mix do phx.digest, gettext.extract
|
||||
- mix test.all
|
||||
@ -76,7 +80,8 @@ steps:
|
||||
mount:
|
||||
- _build
|
||||
- deps
|
||||
- assets/node_modules/
|
||||
- .npm
|
||||
- .mix
|
||||
|
||||
services:
|
||||
- name: database
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -25,7 +25,7 @@ cannery-*.tar
|
||||
# If NPM crashes, it generates a log, let's ignore it too.
|
||||
npm-debug.log
|
||||
|
||||
# Ignore assets that are produced by build tools.
|
||||
# The directory NPM downloads your dependencies sources to.
|
||||
/assets/node_modules/
|
||||
|
||||
# Since we are building assets from assets/,
|
||||
|
@ -1,3 +1,3 @@
|
||||
elixir 1.14.1-otp-25
|
||||
erlang 25.1.2
|
||||
nodejs 18.12.1
|
||||
nodejs 18.9.1
|
||||
|
@ -1,3 +1,11 @@
|
||||
# v0.8.4
|
||||
- Improve accessibility
|
||||
|
||||
# v0.8.3
|
||||
- Improve some styles
|
||||
- Improve server log
|
||||
- Various minor improvements
|
||||
|
||||
# v0.8.2
|
||||
- Fix bug with public registration
|
||||
- Improve templates
|
||||
|
@ -63,7 +63,8 @@ And as always, thank you!
|
||||
[`phx_gen_auth`](https://hexdocs.pm/phx_gen_auth/).
|
||||
- `Dockerfile` and example `docker-compose.yml`
|
||||
- Automatic migrations in `MIX_ENV=prod` or Docker image
|
||||
- JS linting with [standard.js](https://standardjs.com)
|
||||
- JS linting with [standard.js](https://standardjs.com), HEEx linting with
|
||||
[heex_formatter](https://github.com/feliperenan/heex_formatter)
|
||||
|
||||
## Docs
|
||||
|
||||
@ -109,7 +110,7 @@ In `dev` mode, Cannery will listen for these environment variables at runtime.
|
||||
- `POOL_SIZE`: Controls the pool size to use with PostgreSQL. Defaults to `10`.
|
||||
- `REGISTRATION`: Controls if user sign-up should be invite only or set to public. Set to `public` to enable public registration. Defaults to `invite`.
|
||||
- `LOCALE`: Sets a custom default locale. Defaults to `en_US`.
|
||||
- Available options: `en_US`, `de`, and `fr`
|
||||
- Available options: `en_US`, `de`, `fr`, and `es`
|
||||
|
||||
## `MIX_ENV=test`
|
||||
|
||||
|
@ -64,7 +64,7 @@ You can use the following environment variables to configure Cannery in
|
||||
- `REGISTRATION`: Controls if user sign-up should be invite only or set to
|
||||
public. Set to `public` to enable public registration. Defaults to `invite`.
|
||||
- `LOCALE`: Sets a custom default locale. Defaults to `en_US`
|
||||
- Available options: `en_US`, `de`, and `fr`
|
||||
- Available options: `en_US`, `de`, `fr` and `es`
|
||||
- `SMTP_HOST`: The url for your SMTP email provider. Must be set
|
||||
- `SMTP_PORT`: The port for your SMTP relay. Defaults to `587`.
|
||||
- `SMTP_USERNAME`: The username for your SMTP relay. Must be set!
|
||||
|
@ -25,7 +25,6 @@
|
||||
}
|
||||
|
||||
.btn {
|
||||
@apply inline-block break-words;
|
||||
@apply focus:outline-none px-4 py-2 rounded-lg;
|
||||
@apply shadow-sm focus:shadow-lg;
|
||||
@apply transition-all duration-300 ease-in-out;
|
||||
@ -52,7 +51,6 @@
|
||||
}
|
||||
|
||||
.link {
|
||||
@apply inline-block break-words;
|
||||
@apply hover:underline;
|
||||
@apply transition-colors duration-500 ease-in-out;
|
||||
}
|
||||
|
@ -3,8 +3,8 @@
|
||||
"description": " ",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "18.12.1",
|
||||
"npm": "8.19.2"
|
||||
"node": "v18.9.1",
|
||||
"npm": "8.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"deploy": "NODE_ENV=production webpack --mode production",
|
||||
|
@ -16,9 +16,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with %User{} <- get_user_by_email("foo@example.com"), do: :passed
|
||||
:passed
|
||||
iex> get_user_by_email("foo@example.com")
|
||||
%User{}
|
||||
|
||||
iex> get_user_by_email("unknown@example.com")
|
||||
nil
|
||||
@ -34,9 +33,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with %User{} <- get_user_by_email_and_password("foo@example.com", "valid_password"), do: :passed
|
||||
:passed
|
||||
iex> get_user_by_email_and_password("foo@example.com", "valid_password")
|
||||
%User{}
|
||||
|
||||
iex> get_user_by_email_and_password("foo@example.com", "invalid_password")
|
||||
nil
|
||||
@ -57,15 +55,14 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> get_user!(user.id)
|
||||
iex> get_user!(user_id)
|
||||
user
|
||||
|
||||
> get_user!()
|
||||
iex> get_user!()
|
||||
** (Ecto.NoResultsError)
|
||||
|
||||
"""
|
||||
@spec get_user!(User.t()) :: User.t()
|
||||
@spec get_user!(User.id()) :: User.t()
|
||||
def get_user!(id) do
|
||||
Repo.get!(User, id)
|
||||
end
|
||||
@ -75,10 +72,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user1} = register_user(%{email: "foo1@example.com", password: "valid_password"})
|
||||
iex> {:ok, user2} = register_user(%{email: "foo2@example.com", password: "valid_password"})
|
||||
iex> with %{admin: [^user1], user: [^user2]} <- list_all_users_by_role(user1), do: :passed
|
||||
:passed
|
||||
iex> list_all_users_by_role(user1)
|
||||
%{admin: [%User{role: :admin}], user: [%User{role: :user}]}
|
||||
|
||||
"""
|
||||
@spec list_all_users_by_role(User.t()) :: %{User.role() => [User.t()]}
|
||||
@ -91,9 +86,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with [^user] <- list_users_by_role(:admin), do: :passed
|
||||
:passed
|
||||
iex> list_users_by_role(:admin)
|
||||
[%User{role: :admin}]
|
||||
|
||||
"""
|
||||
@spec list_users_by_role(:admin) :: [User.t()]
|
||||
@ -108,13 +102,11 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> with {:ok, %User{email: "foo@example.com"}} <-
|
||||
...> register_user(%{email: "foo@example.com", password: "valid_password"}),
|
||||
...> do: :passed
|
||||
:passed
|
||||
iex> register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
{:ok, %User{email: "foo@example.com"}}
|
||||
|
||||
iex> with {:error, %Changeset{}} <- register_user(%{email: "foo@example"}), do: :passed
|
||||
:passed
|
||||
iex> register_user(%{email: "foo@example"})
|
||||
{:error, %Changeset{}}
|
||||
|
||||
"""
|
||||
@spec register_user(attrs :: map()) ::
|
||||
@ -149,11 +141,11 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> with %Changeset{} <- change_user_registration(), do: :passed
|
||||
:passed
|
||||
iex> change_user_registration()
|
||||
%Changeset{}
|
||||
|
||||
iex> with %Changeset{} <- change_user_registration(%{password: "hi"}), do: :passed
|
||||
:passed
|
||||
iex> change_user_registration(%{password: "hi"}
|
||||
%Changeset{}
|
||||
|
||||
"""
|
||||
@spec change_user_registration() :: User.changeset()
|
||||
@ -169,8 +161,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> with %Changeset{} <- change_user_email(%User{email: "foo@example.com"}), do: :passed
|
||||
:passed
|
||||
iex> change_user_email(%User{email: "foo@example.com"})
|
||||
%Changeset{}
|
||||
|
||||
"""
|
||||
@spec change_user_email(User.t()) :: User.changeset()
|
||||
@ -184,8 +176,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> with %Changeset{} <- change_user_role(%User{}, :user), do: :passed
|
||||
:passed
|
||||
iex> change_user_role(%User{}, :user)
|
||||
%Changeset{}
|
||||
|
||||
"""
|
||||
@spec change_user_role(User.t(), User.role()) :: User.changeset()
|
||||
@ -199,17 +191,11 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with {:ok, %User{}} <-
|
||||
...> apply_user_email(user, "valid_password", %{email: "new_email@account.com"}),
|
||||
...> do: :passed
|
||||
:passed
|
||||
iex> apply_user_email(user, "valid_password", %{email: "new_email@account.com"})
|
||||
{:ok, %User{}}
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with {:error, %Changeset{}} <-
|
||||
...> apply_user_email(user, "invalid password", %{email: "new_email@account"}),
|
||||
...> do: :passed
|
||||
:passed
|
||||
iex> apply_user_email(user, "invalid password", %{email: "new_email@account"})
|
||||
{:error, %Changeset{}}
|
||||
|
||||
"""
|
||||
@spec apply_user_email(User.t(), email :: String.t(), attrs :: map()) ::
|
||||
@ -254,12 +240,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, %{id: user_id} = user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with %Oban.Job{
|
||||
...> args: %{email: :update_email, user_id: ^user_id, attrs: %{url: "example url"}}
|
||||
...> } <- deliver_update_email_instructions(user, "new_foo@example.com", fn _token -> "example url" end),
|
||||
...> do: :passed
|
||||
:passed
|
||||
iex> deliver_update_email_instructions(user, "new_foo@example.com", fn _token -> "example url" end)
|
||||
%Oban.Job{args: %{email: :update_email, user_id: ^user_id, attrs: %{url: "example url"}}}
|
||||
|
||||
"""
|
||||
@spec deliver_update_email_instructions(User.t(), current_email :: String.t(), function) ::
|
||||
@ -276,8 +258,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> with %Changeset{} <- change_user_password(%User{}), do: :passed
|
||||
:passed
|
||||
iex> change_user_password(%User{})
|
||||
%Changeset{}
|
||||
|
||||
"""
|
||||
@spec change_user_password(User.t(), attrs :: map()) :: User.changeset()
|
||||
@ -290,20 +272,14 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with {:ok, %User{}} <-
|
||||
...> reset_user_password(user, %{
|
||||
iex> reset_user_password(user, %{
|
||||
...> password: "new password",
|
||||
...> password_confirmation: "new password"
|
||||
...> }),
|
||||
...> do: :passed
|
||||
:passed
|
||||
...> })
|
||||
{:ok, %User{}}
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with {:error, %Changeset{}} <-
|
||||
...> update_user_password(user, "invalid password", %{password: "123"}),
|
||||
...> do: :passed
|
||||
:passed
|
||||
iex> update_user_password(user, "invalid password", %{password: "123"})
|
||||
{:error, %Changeset{}}
|
||||
|
||||
"""
|
||||
@spec update_user_password(User.t(), String.t(), attrs :: map()) ::
|
||||
@ -329,8 +305,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> with %Changeset{} <- change_user_locale(%User{}), do: :passed
|
||||
:passed
|
||||
iex> change_user_locale(%User{})
|
||||
%Changeset{}
|
||||
|
||||
"""
|
||||
@spec change_user_locale(User.t()) :: User.changeset()
|
||||
@ -343,9 +319,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with {:ok, %User{}} <- update_user_locale(user, "en_US"), do: :passed
|
||||
:passed
|
||||
iex> update_user_locale(user, "en_US")
|
||||
{:ok, %User{}}
|
||||
|
||||
"""
|
||||
@spec update_user_locale(User.t(), locale :: String.t()) ::
|
||||
@ -359,13 +334,11 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with %User{} <- delete_user!(user, %User{id: 123, role: :admin}), do: :passed
|
||||
:passed
|
||||
iex> delete_user!(user, %User{id: 123, role: :admin})
|
||||
%User{}
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with %User{} <- delete_user!(user, user), do: :passed
|
||||
:passed
|
||||
iex> delete_user!(user, user)
|
||||
%User{}
|
||||
|
||||
"""
|
||||
@spec delete_user!(user_to_delete :: User.t(), User.t()) :: User.t()
|
||||
@ -421,11 +394,10 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> is_admin?(user)
|
||||
iex> is_admin?(%User{role: :admin})
|
||||
true
|
||||
|
||||
iex> is_admin?(%User{id: Ecto.UUID.generate()})
|
||||
iex> is_admin?(%User{})
|
||||
false
|
||||
|
||||
"""
|
||||
@ -439,8 +411,7 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> is_already_admin?(user)
|
||||
iex> is_already_admin?(%User{role: :admin})
|
||||
true
|
||||
|
||||
iex> is_already_admin?(%User{})
|
||||
@ -458,15 +429,9 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, %{id: user_id} = user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with %Oban.Job{
|
||||
...> args: %{email: :welcome, user_id: ^user_id, attrs: %{url: "example url"}}
|
||||
...> } <- deliver_user_confirmation_instructions(user, fn _token -> "example url" end),
|
||||
...> do: :passed
|
||||
:passed
|
||||
iex> deliver_user_confirmation_instructions(user, fn _token -> "example url" end)
|
||||
%Oban.Job{args: %{email: :welcome, user_id: ^user_id, attrs: %{url: "example url"}}}
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> user = user |> User.confirm_changeset() |> Repo.update!()
|
||||
iex> deliver_user_confirmation_instructions(user, fn _token -> "example url" end)
|
||||
{:error, :already_confirmed}
|
||||
|
||||
@ -514,12 +479,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, %{id: user_id} = user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with %Oban.Job{args: %{
|
||||
...> email: :reset_password, user_id: ^user_id, attrs: %{url: "example url"}}
|
||||
...> } <- deliver_user_reset_password_instructions(user, fn _token -> "example url" end),
|
||||
...> do: :passed
|
||||
:passed
|
||||
iex> deliver_user_reset_password_instructions(user, fn _token -> "example url" end)
|
||||
%Oban.Job{args: %{email: :reset_password, user_id: ^user_id, attrs: %{url: "example url"}}}
|
||||
|
||||
"""
|
||||
@spec deliver_user_reset_password_instructions(User.t(), function()) :: Job.t()
|
||||
@ -535,11 +496,8 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> {encoded_token, user_token} = UserToken.build_email_token(user, "reset_password")
|
||||
iex> Repo.insert!(user_token)
|
||||
iex> with %User{} <- get_user_by_reset_password_token(encoded_token), do: :passed
|
||||
:passed
|
||||
iex> get_user_by_reset_password_token(encoded_token)
|
||||
%User{}
|
||||
|
||||
iex> get_user_by_reset_password_token("invalidtoken")
|
||||
nil
|
||||
@ -560,20 +518,14 @@ defmodule Cannery.Accounts do
|
||||
|
||||
## Examples
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with {:ok, %User{}} <-
|
||||
...> reset_user_password(user, %{
|
||||
iex> reset_user_password(user, %{
|
||||
...> password: "new password",
|
||||
...> password_confirmation: "new password"
|
||||
...> }),
|
||||
...> do: :passed
|
||||
:passed
|
||||
...> })
|
||||
{:ok, %User{}}
|
||||
|
||||
iex> {:ok, user} = register_user(%{email: "foo@example.com", password: "valid_password"})
|
||||
iex> with {:error, %Changeset{}} <-
|
||||
...> reset_user_password(user, %{password: "valid", password_confirmation: "not the same"}),
|
||||
...> do: :passed
|
||||
:passed
|
||||
iex> reset_user_password(user, %{password: "valid", password_confirmation: "not the same"})
|
||||
{:error, %Changeset{}}
|
||||
|
||||
"""
|
||||
@spec reset_user_password(User.t(), attrs :: map()) ::
|
||||
|
@ -27,21 +27,21 @@ defmodule Cannery.Email do
|
||||
@spec generate_email(key :: String.t(), User.t(), attrs :: map()) :: t()
|
||||
def generate_email("welcome", user, %{"url" => url}) do
|
||||
user
|
||||
|> base_email(dgettext("emails", "Confirm your %{name} account", name: "Cannery"))
|
||||
|> base_email(dgettext("emails", "Confirm your Cannery account"))
|
||||
|> render_body("confirm_email.html", %{user: user, url: url})
|
||||
|> text_body(EmailView.render("confirm_email.txt", %{user: user, url: url}))
|
||||
end
|
||||
|
||||
def generate_email("reset_password", user, %{"url" => url}) do
|
||||
user
|
||||
|> base_email(dgettext("emails", "Reset your %{name} password", name: "Cannery"))
|
||||
|> base_email(dgettext("emails", "Reset your Cannery password"))
|
||||
|> render_body("reset_password.html", %{user: user, url: url})
|
||||
|> text_body(EmailView.render("reset_password.txt", %{user: user, url: url}))
|
||||
end
|
||||
|
||||
def generate_email("update_email", user, %{"url" => url}) do
|
||||
user
|
||||
|> base_email(dgettext("emails", "Update your %{name} email", name: "Cannery"))
|
||||
|> base_email(dgettext("emails", "Update your Cannery email"))
|
||||
|> render_body("update_email.html", %{user: user, url: url})
|
||||
|> text_body(EmailView.render("update_email.txt", %{user: user, url: url}))
|
||||
end
|
||||
|
@ -79,7 +79,9 @@ defmodule Cannery.ActivityLog.ShotGroup do
|
||||
|
||||
defp validate_create_shot_group_count(changeset, %AmmoGroup{count: ammo_group_count}) do
|
||||
if changeset |> Changeset.get_field(:count) > ammo_group_count do
|
||||
error = dgettext("errors", "Count must be less than %{count}", count: ammo_group_count)
|
||||
error =
|
||||
dgettext("errors", "Count must be less than %{count} shots", count: ammo_group_count)
|
||||
|
||||
changeset |> Changeset.add_error(:count, error)
|
||||
else
|
||||
changeset
|
||||
@ -115,7 +117,9 @@ defmodule Cannery.ActivityLog.ShotGroup do
|
||||
|
||||
cond do
|
||||
shot_diff_to_add > ammo_group_count ->
|
||||
error = dgettext("errors", "Count must be less than %{count}", count: ammo_group_count)
|
||||
error =
|
||||
dgettext("errors", "Count must be less than %{count} shots", count: ammo_group_count)
|
||||
|
||||
changeset |> Changeset.add_error(:count, error)
|
||||
|
||||
new_shot_group_count <= 0 ->
|
||||
|
@ -4,7 +4,7 @@ defmodule Cannery.Application do
|
||||
@moduledoc false
|
||||
|
||||
use Application
|
||||
alias Cannery.ErrorReporter
|
||||
alias Cannery.Logger
|
||||
|
||||
@impl true
|
||||
def start(_type, _args) do
|
||||
@ -33,7 +33,7 @@ defmodule Cannery.Application do
|
||||
[:oban, :job, :start],
|
||||
[:oban, :job, :stop]
|
||||
],
|
||||
&ErrorReporter.handle_event/4,
|
||||
&Logger.handle_event/4,
|
||||
[]
|
||||
)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
defmodule Cannery.ErrorReporter do
|
||||
defmodule Cannery.Logger do
|
||||
@moduledoc """
|
||||
Custom logger for telemetry events
|
||||
|
||||
@ -12,41 +12,47 @@ defmodule Cannery.ErrorReporter do
|
||||
data =
|
||||
get_oban_job_data(meta, measure)
|
||||
|> Map.put(:stacktrace, Exception.format_stacktrace(stacktrace))
|
||||
|> pretty_encode()
|
||||
|
||||
Logger.error(meta.reason, data: pretty_encode(data))
|
||||
Logger.error(meta.reason, data: data)
|
||||
end
|
||||
|
||||
def handle_event([:oban, :job, :start], measure, meta, _config) do
|
||||
Logger.info("Started oban job", data: get_oban_job_data(meta, measure) |> pretty_encode())
|
||||
data = get_oban_job_data(meta, measure) |> pretty_encode()
|
||||
Logger.info("Started oban job", data: data)
|
||||
end
|
||||
|
||||
def handle_event([:oban, :job, :stop], measure, meta, _config) do
|
||||
Logger.info("Finished oban job", data: get_oban_job_data(meta, measure) |> pretty_encode())
|
||||
data = get_oban_job_data(meta, measure) |> pretty_encode()
|
||||
Logger.info("Finished oban job", data: data)
|
||||
end
|
||||
|
||||
def handle_event([:oban, :job, unhandled_event], measure, meta, _config) do
|
||||
data =
|
||||
get_oban_job_data(meta, measure)
|
||||
|> Map.put(:event, unhandled_event)
|
||||
|> pretty_encode()
|
||||
|
||||
Logger.warning("Unhandled oban job event", data: pretty_encode(data))
|
||||
Logger.warning("Unhandled oban job event", data: data)
|
||||
end
|
||||
|
||||
def handle_event(unhandled_event, measure, meta, config) do
|
||||
data = %{
|
||||
data =
|
||||
pretty_encode(%{
|
||||
event: unhandled_event,
|
||||
meta: meta,
|
||||
measurements: measure,
|
||||
config: config
|
||||
}
|
||||
})
|
||||
|
||||
Logger.warning("Unhandled telemetry event", data: pretty_encode(data))
|
||||
Logger.warning("Unhandled telemetry event", data: data)
|
||||
end
|
||||
|
||||
defp get_oban_job_data(%{job: job}, measure) do
|
||||
job
|
||||
|> Map.take([:id, :args, :meta, :queue, :worker])
|
||||
|> Map.merge(measure)
|
||||
%{
|
||||
job: job |> Map.take([:id, :args, :meta, :queue, :worker]),
|
||||
measurements: measure
|
||||
}
|
||||
end
|
||||
|
||||
defp pretty_encode(data) do
|
@ -9,7 +9,9 @@ defmodule Cannery.Release do
|
||||
|
||||
def rollback(repo, version) do
|
||||
load_app()
|
||||
{:ok, _fun, _opts} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version))
|
||||
|
||||
{:ok, _fun_return, _apps} =
|
||||
Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version))
|
||||
end
|
||||
|
||||
defp load_app do
|
||||
@ -20,7 +22,8 @@ defmodule Cannery.Release do
|
||||
load_app()
|
||||
|
||||
for repo <- Application.fetch_env!(@app, :ecto_repos) do
|
||||
{:ok, _fun, _opts} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true))
|
||||
{:ok, _fun_return, _apps} =
|
||||
Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,6 +1,6 @@
|
||||
defmodule Cannery.Repo.Migrator do
|
||||
@moduledoc """
|
||||
Genserver to automatically run migrations in prod env
|
||||
Genserver to automatically perform all migration on app start
|
||||
"""
|
||||
|
||||
use GenServer
|
||||
|
@ -185,11 +185,7 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do
|
||||
assigns = %{ammo_type: ammo_type}
|
||||
|
||||
~H"""
|
||||
<.link
|
||||
navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_type)}
|
||||
class="link"
|
||||
data-qa={"view-name-#{@ammo_type.id}"}
|
||||
>
|
||||
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_type)} class="link">
|
||||
<%= @ammo_type.name %>
|
||||
</.link>
|
||||
"""
|
||||
|
@ -6,7 +6,7 @@ defmodule CanneryWeb.Components.Topbar do
|
||||
use CanneryWeb, :component
|
||||
|
||||
alias Cannery.Accounts
|
||||
alias CanneryWeb.{Endpoint, HomeLive}
|
||||
alias CanneryWeb.HomeLive
|
||||
|
||||
def topbar(assigns) do
|
||||
assigns =
|
||||
@ -81,8 +81,7 @@ defmodule CanneryWeb.Components.Topbar do
|
||||
<%= gettext("Range") %>
|
||||
</.link>
|
||||
</li>
|
||||
<%= if @current_user.role == :admin do %>
|
||||
<li class="mx-2 my-1">
|
||||
<li :if={@current_user |> Accounts.is_already_admin?()} class="mx-2 my-1">
|
||||
<.link
|
||||
navigate={Routes.invite_index_path(Endpoint, :index)}
|
||||
class="text-primary-600 text-white hover:underline"
|
||||
@ -90,10 +89,9 @@ defmodule CanneryWeb.Components.Topbar do
|
||||
<%= gettext("Invites") %>
|
||||
</.link>
|
||||
</li>
|
||||
<% end %>
|
||||
<li class="mx-2 my-1">
|
||||
<.link
|
||||
navigate={Routes.user_settings_path(Endpoint, :edit)}
|
||||
href={Routes.user_settings_path(Endpoint, :edit)}
|
||||
class="text-primary-600 text-white hover:underline truncate"
|
||||
>
|
||||
<%= @current_user.email %>
|
||||
@ -108,29 +106,33 @@ defmodule CanneryWeb.Components.Topbar do
|
||||
<i class="fas fa-sign-out-alt"></i>
|
||||
</.link>
|
||||
</li>
|
||||
<%= if @current_user.role == :admin and function_exported?(Routes, :live_dashboard_path, 2) do %>
|
||||
<li class="mx-2 my-1">
|
||||
<li
|
||||
:if={
|
||||
@current_user |> Accounts.is_already_admin?() and
|
||||
function_exported?(Routes, :live_dashboard_path, 2)
|
||||
}
|
||||
class="mx-2 my-1"
|
||||
>
|
||||
<.link
|
||||
navigate={Routes.live_dashboard_path(Endpoint, :home)}
|
||||
class="text-primary-600 text-white hover:underline"
|
||||
class="text-white text-white hover:underline"
|
||||
>
|
||||
<i class="fas fa-gauge"></i>
|
||||
</.link>
|
||||
</li>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<li :if={Accounts.allow_registration?()} class="mx-2 my-1">
|
||||
<.link
|
||||
navigate={Routes.user_registration_path(Endpoint, :new)}
|
||||
class="text-primary-600 text-white hover:underline truncate"
|
||||
href={Routes.user_registration_path(Endpoint, :new)}
|
||||
class="text-white hover:underline truncate"
|
||||
>
|
||||
<%= dgettext("actions", "Register") %>
|
||||
</.link>
|
||||
</li>
|
||||
<li class="mx-2 my-1">
|
||||
<.link
|
||||
navigate={Routes.user_session_path(Endpoint, :new)}
|
||||
class="text-primary-600 text-white hover:underline truncate"
|
||||
href={Routes.user_session_path(Endpoint, :new)}
|
||||
class="text-white hover:underline truncate"
|
||||
>
|
||||
<%= dgettext("actions", "Log in") %>
|
||||
</.link>
|
||||
|
@ -1,4 +1,8 @@
|
||||
defmodule CanneryWeb.HomeController do
|
||||
@moduledoc """
|
||||
Controller for home page
|
||||
"""
|
||||
|
||||
use CanneryWeb, :controller
|
||||
|
||||
def index(conn, _params) do
|
||||
|
@ -91,7 +91,6 @@ defmodule CanneryWeb.AmmoGroupLive.Index do
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> display_ammo_groups()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event(
|
||||
"toggle_staged",
|
||||
%{"ammo_group_id" => id},
|
||||
@ -105,12 +104,10 @@ defmodule CanneryWeb.AmmoGroupLive.Index do
|
||||
{:noreply, socket |> display_ammo_groups()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do
|
||||
{:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_groups()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("search", %{"search" => %{"search_term" => ""}}, socket) do
|
||||
{:noreply, socket |> push_patch(to: Routes.ammo_group_index_path(Endpoint, :index))}
|
||||
end
|
||||
|
@ -49,7 +49,6 @@
|
||||
phx-change="search"
|
||||
phx-submit="search"
|
||||
class="grow self-stretch flex flex-col items-stretch"
|
||||
data-qa="ammo_group_search"
|
||||
>
|
||||
<%= text_input(f, :search_term,
|
||||
class: "input input-primary",
|
||||
@ -91,7 +90,9 @@
|
||||
phx-click="toggle_staged"
|
||||
phx-value-ammo_group_id={ammo_group.id}
|
||||
>
|
||||
<%= if ammo_group.staged, do: gettext("Unstage"), else: gettext("Stage") %>
|
||||
<%= if ammo_group.staged,
|
||||
do: dgettext("actions", "Unstage"),
|
||||
else: dgettext("actions", "Stage") %>
|
||||
</button>
|
||||
|
||||
<.link
|
||||
@ -124,7 +125,11 @@
|
||||
<.link
|
||||
navigate={Routes.ammo_group_show_path(Endpoint, :show, ammo_group)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"view-#{ammo_group.id}"}
|
||||
aria-label={
|
||||
gettext("View ammo group of %{ammo_group_count} bullets",
|
||||
ammo_group_count: ammo_group.count
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-eye"></i>
|
||||
</.link>
|
||||
@ -132,7 +137,11 @@
|
||||
<.link
|
||||
patch={Routes.ammo_group_index_path(Endpoint, :edit, ammo_group)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"edit-#{ammo_group.id}"}
|
||||
aria-label={
|
||||
gettext("Edit ammo group of %{ammo_group_count} bullets",
|
||||
ammo_group_count: ammo_group.count
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -140,7 +149,11 @@
|
||||
<.link
|
||||
patch={Routes.ammo_group_index_path(Endpoint, :clone, ammo_group)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"clone-#{ammo_group.id}"}
|
||||
aria-label={
|
||||
gettext("Clone ammo group of %{ammo_group_count} bullets",
|
||||
ammo_group_count: ammo_group.count
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-copy"></i>
|
||||
</.link>
|
||||
@ -151,7 +164,11 @@
|
||||
phx-click="delete"
|
||||
phx-value-id={ammo_group.id}
|
||||
data-confirm={dgettext("prompts", "Are you sure you want to delete this ammo?")}
|
||||
data-qa={"delete-#{ammo_group.id}"}
|
||||
aria-label={
|
||||
gettext("Delete ammo group of %{ammo_group_count} bullets",
|
||||
ammo_group_count: ammo_group.count
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
|
@ -28,7 +28,6 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_params(%{"id" => id}, _url, %{assigns: %{live_action: live_action}} = socket) do
|
||||
socket =
|
||||
socket
|
||||
@ -58,7 +57,6 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> push_navigate(to: redirect_to)}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event(
|
||||
"toggle_staged",
|
||||
_params,
|
||||
@ -70,7 +68,6 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
|
||||
{:noreply, socket |> display_ammo_group(ammo_group)}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event(
|
||||
"delete_shot_group",
|
||||
%{"id" => id},
|
||||
@ -129,7 +126,11 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
|
||||
<.link
|
||||
patch={Routes.ammo_group_show_path(Endpoint, :edit_shot_group, @ammo_group, @shot_group)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"edit-#{@shot_group.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Edit shot group of %{shot_group_count} shots",
|
||||
shot_group_count: @shot_group.count
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -140,7 +141,11 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
|
||||
phx-click="delete_shot_group"
|
||||
phx-value-id={@shot_group.id}
|
||||
data-confirm={dgettext("prompts", "Are you sure you want to delete this shot record?")}
|
||||
data-qa={"delete-#{@shot_group.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Delete shot record of %{shot_group_count} shots",
|
||||
shot_group_count: @shot_group.count
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
|
@ -55,7 +55,6 @@
|
||||
<.link
|
||||
navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_group.ammo_type)}
|
||||
class="mx-4 my-2 btn btn-primary"
|
||||
data-qa="details"
|
||||
>
|
||||
<%= dgettext("actions", "View in Catalog") %>
|
||||
</.link>
|
||||
@ -63,7 +62,11 @@
|
||||
<.link
|
||||
patch={Routes.ammo_group_show_path(Endpoint, :edit, @ammo_group)}
|
||||
class="mx-4 my-2 text-primary-600 link"
|
||||
data-qa="edit"
|
||||
aria-label={
|
||||
dgettext("actions", "Edit ammo group of %{ammo_group_count} bullets",
|
||||
ammo_group_count: @ammo_group.count
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -73,7 +76,11 @@
|
||||
class="mx-4 my-2 text-primary-600 link"
|
||||
phx-click="delete"
|
||||
data-confirm={dgettext("prompts", "Are you sure you want to delete this ammo?")}
|
||||
data-qa="delete"
|
||||
aria-label={
|
||||
gettext("Delete ammo group of %{ammo_group_count} bullets",
|
||||
ammo_group_count: @ammo_group.count
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
@ -89,7 +96,6 @@
|
||||
<.link
|
||||
patch={Routes.ammo_group_show_path(Endpoint, :move, @ammo_group)}
|
||||
class="btn btn-primary"
|
||||
data-qa="move"
|
||||
>
|
||||
<%= dgettext("actions", "Move containers") %>
|
||||
</.link>
|
||||
|
@ -75,12 +75,10 @@ defmodule CanneryWeb.AmmoTypeLive.Index do
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> list_ammo_types()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do
|
||||
{:noreply, socket |> assign(:show_used, !show_used) |> list_ammo_types()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("search", %{"search" => %{"search_term" => ""}}, socket) do
|
||||
{:noreply, socket |> push_patch(to: Routes.ammo_type_index_path(Endpoint, :index))}
|
||||
end
|
||||
|
@ -24,7 +24,6 @@
|
||||
phx-change="search"
|
||||
phx-submit="search"
|
||||
class="grow self-stretch flex flex-col items-stretch"
|
||||
data-qa="ammo_type_search"
|
||||
>
|
||||
<%= text_input(f, :search_term,
|
||||
class: "input input-primary",
|
||||
@ -60,7 +59,9 @@
|
||||
<.link
|
||||
navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"view-#{ammo_type.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "View %{ammo_type_name}", ammo_type_name: ammo_type.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-eye"></i>
|
||||
</.link>
|
||||
@ -68,7 +69,9 @@
|
||||
<.link
|
||||
patch={Routes.ammo_type_index_path(Endpoint, :edit, ammo_type)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"edit-#{ammo_type.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Edit %{ammo_type_name}", ammo_type_name: ammo_type.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -76,7 +79,9 @@
|
||||
<.link
|
||||
patch={Routes.ammo_type_index_path(Endpoint, :clone, ammo_type)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"clone-#{ammo_type.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Clone %{ammo_type_name}", ammo_type_name: ammo_type.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-copy"></i>
|
||||
</.link>
|
||||
@ -93,7 +98,9 @@
|
||||
name: ammo_type.name
|
||||
)
|
||||
}
|
||||
data-qa={"delete-#{ammo_type.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Delete %{ammo_type_name}", ammo_type_name: ammo_type.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
|
@ -58,12 +58,10 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> push_navigate(to: redirect_to)}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do
|
||||
{:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_type()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event(
|
||||
"toggle_table",
|
||||
_params,
|
||||
|
@ -16,7 +16,7 @@
|
||||
<.link
|
||||
patch={Routes.ammo_type_show_path(Endpoint, :edit, @ammo_type)}
|
||||
class="text-primary-600 link"
|
||||
data-qa="edit"
|
||||
aria-label={dgettext("actions", "Edit %{ammo_type_name}", ammo_type_name: @ammo_type.name)}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -32,7 +32,9 @@
|
||||
name: @ammo_type.name
|
||||
)
|
||||
}
|
||||
data-qa="delete"
|
||||
aria-label={
|
||||
dgettext("actions", "Delete %{ammo_type_name}", ammo_type_name: @ammo_type.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
|
@ -4,25 +4,40 @@ defmodule CanneryWeb.ContainerLive.EditTagsComponent do
|
||||
"""
|
||||
|
||||
use CanneryWeb, :live_component
|
||||
alias Cannery.{Accounts.User, Containers, Containers.Container, Repo, Tags, Tags.Tag}
|
||||
alias Cannery.{Accounts.User, Containers, Containers.Container, Tags, Tags.Tag}
|
||||
alias Phoenix.LiveView.Socket
|
||||
|
||||
@impl true
|
||||
@spec update(
|
||||
%{:container => Container.t(), :current_user => User.t(), optional(any) => any},
|
||||
%{
|
||||
:container => Container.t(),
|
||||
:current_path => String.t(),
|
||||
:current_user => User.t(),
|
||||
optional(any) => any
|
||||
},
|
||||
Socket.t()
|
||||
) :: {:ok, Socket.t()}
|
||||
def update(%{container: container, current_user: current_user} = assigns, socket) do
|
||||
def update(
|
||||
%{container: _container, current_path: _current_path, current_user: current_user} =
|
||||
assigns,
|
||||
socket
|
||||
) do
|
||||
tags = Tags.list_tags(current_user)
|
||||
container = container |> Repo.preload(:tags)
|
||||
{:ok, socket |> assign(assigns) |> assign(tags: tags, container: container)}
|
||||
{:ok, socket |> assign(assigns) |> assign(:tags, tags)}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event(
|
||||
"save",
|
||||
%{"tag" => %{"tag_id" => tag_id}},
|
||||
%{assigns: %{tags: tags, container: container, current_user: current_user}} = socket
|
||||
%{
|
||||
assigns: %{
|
||||
tags: tags,
|
||||
container: container,
|
||||
current_user: current_user,
|
||||
current_path: current_path
|
||||
}
|
||||
} = socket
|
||||
) do
|
||||
socket =
|
||||
case tags |> Enum.find(fn %{id: id} -> tag_id == id end) do
|
||||
@ -32,19 +47,24 @@ defmodule CanneryWeb.ContainerLive.EditTagsComponent do
|
||||
|
||||
%{name: tag_name} = tag ->
|
||||
_container_tag = Containers.add_tag!(container, tag, current_user)
|
||||
container = container |> Repo.preload(:tags, force: true)
|
||||
prompt = dgettext("prompts", "%{name} added successfully", name: tag_name)
|
||||
socket |> put_flash(:info, prompt) |> assign(container: container)
|
||||
socket |> put_flash(:info, prompt) |> push_patch(to: current_path)
|
||||
end
|
||||
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event(
|
||||
"delete",
|
||||
%{"tag-id" => tag_id},
|
||||
%{assigns: %{tags: tags, container: container, current_user: current_user}} = socket
|
||||
%{
|
||||
assigns: %{
|
||||
tags: tags,
|
||||
container: container,
|
||||
current_user: current_user,
|
||||
current_path: current_path
|
||||
}
|
||||
} = socket
|
||||
) do
|
||||
socket =
|
||||
case tags |> Enum.find(fn %{id: id} -> tag_id == id end) do
|
||||
@ -54,9 +74,8 @@ defmodule CanneryWeb.ContainerLive.EditTagsComponent do
|
||||
|
||||
%{name: tag_name} = tag ->
|
||||
_container_tag = Containers.remove_tag!(container, tag, current_user)
|
||||
container = container |> Repo.preload(:tags, force: true)
|
||||
prompt = dgettext("prompts", "%{name} removed successfully", name: tag_name)
|
||||
socket |> put_flash(:info, prompt) |> assign(container: container)
|
||||
socket |> put_flash(:info, prompt) |> push_patch(to: current_path)
|
||||
end
|
||||
|
||||
{:noreply, socket}
|
||||
|
@ -106,12 +106,10 @@ defmodule CanneryWeb.ContainerLive.Index do
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("toggle_table", _params, %{assigns: %{view_table: view_table}} = socket) do
|
||||
{:noreply, socket |> assign(:view_table, !view_table) |> display_containers()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("search", %{"search" => %{"search_term" => ""}}, socket) do
|
||||
{:noreply, socket |> push_patch(to: Routes.container_index_path(Endpoint, :index))}
|
||||
end
|
||||
|
@ -24,7 +24,6 @@
|
||||
phx-change="search"
|
||||
phx-submit="search"
|
||||
class="grow self-stretch flex flex-col items-stretch"
|
||||
data-qa="container_search"
|
||||
>
|
||||
<%= text_input(f, :search_term,
|
||||
class: "input input-primary",
|
||||
@ -61,6 +60,9 @@
|
||||
<.link
|
||||
patch={Routes.container_index_path(Endpoint, :edit_tags, container)}
|
||||
class="text-primary-600 link"
|
||||
aria-label={
|
||||
dgettext("actions", "Tag %{container_name}", container_name: container.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-tags"></i>
|
||||
</.link>
|
||||
@ -70,7 +72,9 @@
|
||||
<.link
|
||||
patch={Routes.container_index_path(Endpoint, :edit, container)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"edit-#{container.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Edit %{container_name}", container_name: container.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -78,7 +82,9 @@
|
||||
<.link
|
||||
patch={Routes.container_index_path(Endpoint, :clone, container)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"clone-#{container.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Clone %{container_name}", container_name: container.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-copy"></i>
|
||||
</.link>
|
||||
@ -91,7 +97,9 @@
|
||||
data-confirm={
|
||||
dgettext("prompts", "Are you sure you want to delete %{name}?", name: container.name)
|
||||
}
|
||||
data-qa={"delete-#{container.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Delete %{container_name}", container_name: container.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
@ -105,6 +113,9 @@
|
||||
<.link
|
||||
patch={Routes.container_index_path(Endpoint, :edit_tags, container)}
|
||||
class="text-primary-600 link"
|
||||
aria-label={
|
||||
dgettext("actions", "Tag %{container_name}", container_name: container.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-tags"></i>
|
||||
</.link>
|
||||
@ -113,7 +124,9 @@
|
||||
<.link
|
||||
patch={Routes.container_index_path(Endpoint, :edit, container)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"edit-#{container.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Edit %{container_name}", container_name: container.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -121,7 +134,9 @@
|
||||
<.link
|
||||
patch={Routes.container_index_path(Endpoint, :clone, container)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"clone-#{container.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Clone %{container_name}", container_name: container.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-copy"></i>
|
||||
</.link>
|
||||
@ -134,7 +149,9 @@
|
||||
data-confirm={
|
||||
dgettext("prompts", "Are you sure you want to delete %{name}?", name: container.name)
|
||||
}
|
||||
data-qa={"delete-#{container.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Delete %{container_name}", container_name: container.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
@ -166,6 +183,7 @@
|
||||
title={@page_title}
|
||||
action={@live_action}
|
||||
container={@container}
|
||||
current_path={Routes.container_index_path(Endpoint, :edit_tags, @container)}
|
||||
current_user={@current_user}
|
||||
/>
|
||||
</.modal>
|
||||
|
@ -50,7 +50,6 @@ defmodule CanneryWeb.ContainerLive.Show do
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event(
|
||||
"delete_container",
|
||||
_params,
|
||||
@ -84,12 +83,10 @@ defmodule CanneryWeb.ContainerLive.Show do
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do
|
||||
{:noreply, socket |> assign(:show_used, !show_used) |> render_container()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("toggle_table", _params, %{assigns: %{view_table: view_table}} = socket) do
|
||||
{:noreply, socket |> assign(:view_table, !view_table) |> render_container()}
|
||||
end
|
||||
|
@ -42,7 +42,7 @@
|
||||
<.link
|
||||
patch={Routes.container_show_path(Endpoint, :edit, @container)}
|
||||
class="text-primary-600 link"
|
||||
data-qa="edit"
|
||||
aria-label={dgettext("actions", "Edit %{container_name}", container_name: @container.name)}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -54,7 +54,9 @@
|
||||
data-confirm={
|
||||
dgettext("prompts", "Are you sure you want to delete %{name}?", name: @container.name)
|
||||
}
|
||||
data-qa="delete"
|
||||
aria-label={
|
||||
dgettext("actions", "Delete %{container_name}", container_name: @container.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
@ -161,6 +163,7 @@
|
||||
action={@live_action}
|
||||
container={@container}
|
||||
return_to={Routes.container_show_path(Endpoint, :show, @container)}
|
||||
current_path={Routes.container_show_path(Endpoint, :edit_tags, @container)}
|
||||
current_user={@current_user}
|
||||
/>
|
||||
</.modal>
|
||||
|
@ -7,7 +7,7 @@ defmodule CanneryWeb.InviteLive.Index do
|
||||
import CanneryWeb.Components.{InviteCard, UserCard}
|
||||
alias Cannery.Accounts
|
||||
alias Cannery.Accounts.{Invite, Invites}
|
||||
alias CanneryWeb.{Endpoint, HomeLive}
|
||||
alias CanneryWeb.HomeLive
|
||||
alias Phoenix.LiveView.JS
|
||||
|
||||
@impl true
|
||||
@ -123,13 +123,11 @@ defmodule CanneryWeb.InviteLive.Index do
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("copy_to_clipboard", _params, socket) do
|
||||
prompt = dgettext("prompts", "Copied to clipboard")
|
||||
{:noreply, socket |> put_flash(:info, prompt)}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event(
|
||||
"delete_user",
|
||||
%{"id" => id},
|
||||
|
@ -1,4 +1,4 @@
|
||||
<div class="w-full flex flex-col space-y-8 justify-center items-center">
|
||||
<div class="mx-auto flex flex-col justify-center items-center space-y-4 max-w-3xl">
|
||||
<h1 class="title text-2xl title-primary-500">
|
||||
<%= gettext("Invites") %>
|
||||
</h1>
|
||||
@ -18,7 +18,7 @@
|
||||
</.link>
|
||||
<% end %>
|
||||
|
||||
<div class="w-full flex flex-row flex-wrap justify-center items-stretch">
|
||||
<div class="flex flex-col justify-center items-stretch space-y-4">
|
||||
<.invite_card :for={invite <- @invites} invite={invite} current_user={@current_user}>
|
||||
<:code_actions>
|
||||
<form phx-submit="copy_to_clipboard">
|
||||
@ -26,6 +26,9 @@
|
||||
type="submit"
|
||||
class="mx-2 my-1 btn btn-primary"
|
||||
phx-click={JS.dispatch("cannery:clipcopy", to: "#code-#{invite.id}")}
|
||||
aria-label={
|
||||
dgettext("actions", "Copy invite link for %{invite_name}", invite_name: invite.name)
|
||||
}
|
||||
>
|
||||
<%= dgettext("actions", "Copy to clipboard") %>
|
||||
</button>
|
||||
@ -34,7 +37,9 @@
|
||||
<.link
|
||||
patch={Routes.invite_index_path(Endpoint, :edit, invite)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"edit-#{invite.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Edit invite for %{invite_name}", invite_name: invite.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -49,7 +54,9 @@
|
||||
invite_name: invite.name
|
||||
)
|
||||
}
|
||||
data-qa={"delete-#{invite.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Delete invite for %{invite_name}", invite_name: invite.name)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
@ -87,7 +94,7 @@
|
||||
<%= gettext("Admins") %>
|
||||
</h1>
|
||||
|
||||
<div class="w-full flex flex-row flex-wrap justify-center items-stretch">
|
||||
<div class="flex flex-col justify-center items-stretch space-y-4">
|
||||
<.user_card :for={admin <- @admins} user={admin}>
|
||||
<.link
|
||||
href="#"
|
||||
@ -115,7 +122,7 @@
|
||||
<%= gettext("Users") %>
|
||||
</h1>
|
||||
|
||||
<div class="w-full flex flex-row flex-wrap justify-center items-stretch">
|
||||
<div class="flex flex-col justify-center items-stretch space-y-4">
|
||||
<.user_card :for={user <- @users} user={user}>
|
||||
<.link
|
||||
href="#"
|
||||
|
@ -3,9 +3,12 @@ defmodule CanneryWeb.LiveHelpers do
|
||||
Contains common helper functions for liveviews
|
||||
"""
|
||||
|
||||
import Phoenix.Component
|
||||
use Phoenix.Component
|
||||
alias Phoenix.LiveView.JS
|
||||
|
||||
attr :return_to, :string, required: true
|
||||
slot(:inner_block)
|
||||
|
||||
@doc """
|
||||
Renders a live component inside a modal.
|
||||
|
||||
@ -79,6 +82,11 @@ defmodule CanneryWeb.LiveHelpers do
|
||||
|> JS.hide(to: "#modal-content", transition: "fade-out-scale")
|
||||
end
|
||||
|
||||
attr :action, :string, required: true
|
||||
attr :value, :boolean, required: true
|
||||
attr :id, :string
|
||||
slot(:inner_block)
|
||||
|
||||
@doc """
|
||||
A toggle button element that can be directed to a liveview or a
|
||||
live_component's `handle_event/3`.
|
||||
@ -103,7 +111,7 @@ defmodule CanneryWeb.LiveHelpers do
|
||||
value={@value}
|
||||
checked={@value}
|
||||
class="sr-only peer"
|
||||
data-qa={@id}
|
||||
aria-labelledby={"#{@id}-label"}
|
||||
{
|
||||
if assigns |> Map.has_key?(:target),
|
||||
do: %{"phx-click": @action, "phx-value-value": @value, "phx-target": @target},
|
||||
@ -119,7 +127,7 @@ defmodule CanneryWeb.LiveHelpers do
|
||||
after:transition-all after:duration-250 after:ease-in-out
|
||||
transition-colors duration-250 ease-in-out">
|
||||
</div>
|
||||
<span class="ml-3 text-sm font-medium text-gray-900 dark:text-gray-300">
|
||||
<span id={"#{@id}-label"} class="ml-3 text-sm font-medium text-gray-900 dark:text-gray-300">
|
||||
<%= render_slot(@inner_block) %>
|
||||
</span>
|
||||
</label>
|
||||
|
@ -81,7 +81,6 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> display_shot_groups()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event(
|
||||
"toggle_staged",
|
||||
%{"ammo_group_id" => ammo_group_id},
|
||||
@ -96,7 +95,6 @@ defmodule CanneryWeb.RangeLive.Index do
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> display_shot_groups()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("search", %{"search" => %{"search_term" => ""}}, socket) do
|
||||
{:noreply, socket |> push_patch(to: Routes.range_index_path(Endpoint, :index))}
|
||||
end
|
||||
|
@ -74,7 +74,6 @@
|
||||
phx-change="search"
|
||||
phx-submit="search"
|
||||
class="grow self-stretch flex flex-col items-stretch"
|
||||
data-qa="shot_group_search"
|
||||
>
|
||||
<%= text_input(f, :search_term,
|
||||
class: "input input-primary",
|
||||
@ -102,7 +101,11 @@
|
||||
<.link
|
||||
patch={Routes.range_index_path(Endpoint, :edit, shot_group)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"edit-#{shot_group.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Edit shot record of %{shot_group_count} shots",
|
||||
shot_group_count: shot_group.count
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -115,7 +118,11 @@
|
||||
data-confirm={
|
||||
dgettext("prompts", "Are you sure you want to delete this shot record?")
|
||||
}
|
||||
data-qa={"delete-#{shot_group.id}"}
|
||||
aria-label={
|
||||
dgettext("actions", "Delete shot record of %{shot_group_count} shots",
|
||||
shot_group_count: shot_group.count
|
||||
)
|
||||
}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
|
@ -6,7 +6,7 @@ defmodule CanneryWeb.TagLive.Index do
|
||||
use CanneryWeb, :live_view
|
||||
import CanneryWeb.Components.TagCard
|
||||
alias Cannery.{Tags, Tags.Tag}
|
||||
alias CanneryWeb.{Endpoint, ViewHelpers}
|
||||
alias CanneryWeb.ViewHelpers
|
||||
|
||||
@impl true
|
||||
def mount(%{"search" => search}, _session, socket) do
|
||||
@ -65,7 +65,6 @@ defmodule CanneryWeb.TagLive.Index do
|
||||
{:noreply, socket |> put_flash(:info, prompt) |> display_tags()}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("search", %{"search" => %{"search_term" => ""}}, socket) do
|
||||
{:noreply, socket |> push_patch(to: Routes.tag_index_path(Endpoint, :index))}
|
||||
end
|
||||
|
@ -27,7 +27,6 @@
|
||||
phx-change="search"
|
||||
phx-submit="search"
|
||||
class="grow self-stretch flex flex-col items-stretch"
|
||||
data-qa="tag_search"
|
||||
>
|
||||
<%= text_input(f, :search_term,
|
||||
class: "input input-primary",
|
||||
@ -49,7 +48,7 @@
|
||||
<.link
|
||||
patch={Routes.tag_index_path(Endpoint, :edit, tag)}
|
||||
class="text-primary-600 link"
|
||||
data-qa={"edit-#{tag.id}"}
|
||||
aria-label={dgettext("actions", "Edit %{tag_name}", tag_name: tag.name)}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-edit"></i>
|
||||
</.link>
|
||||
@ -62,7 +61,7 @@
|
||||
data-confirm={
|
||||
dgettext("prompts", "Are you sure you want to delete %{name}?", name: tag.name)
|
||||
}
|
||||
data-qa={"delete-#{tag.id}"}
|
||||
aria-label={dgettext("actions", "Delete %{tag_name}", tag_name: tag.name)}
|
||||
>
|
||||
<i class="fa-fw fa-lg fas fa-trash"></i>
|
||||
</.link>
|
||||
|
@ -3,23 +3,21 @@
|
||||
<%= dgettext("emails", "Hi %{email},", email: @user.email) %>
|
||||
</span>
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<span style="margin-bottom: 1em; font-size: 1.25em;">
|
||||
<%= dgettext("emails", "Welcome to %{name}!", name: "Cannery") %>
|
||||
<%= dgettext("emails", "Welcome to Cannery") %>
|
||||
</span>
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<%= dgettext("emails", "You can confirm your account by visiting the URL below:") %>
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<a style="margin: 1em; color: rgb(31, 31, 31);" href="<%= @url %>"><%= @url %></a>
|
||||
<a style="margin: 1em; color: rgb(31, 31, 31);" href={@url}><%= @url %></a>
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<%= dgettext("emails",
|
||||
"If you didn't create an account at %{name}, please ignore this.",
|
||||
name: "Cannery") %>
|
||||
<%= dgettext("emails", "If you didn't create an account at Cannery, please ignore this.") %>
|
||||
</div>
|
@ -1,7 +1,7 @@
|
||||
|
||||
<%= dgettext("emails", "Hi %{email},", email: @user.email) %>
|
||||
|
||||
<%= dgettext("emails", "Welcome to %{name}%!", name: "Cannery") %>
|
||||
<%= dgettext("emails", "Welcome to Cannery") %>
|
||||
|
||||
<%= dgettext("emails", "You can confirm your account by visiting the URL below:") %>
|
||||
|
||||
|
@ -3,17 +3,15 @@
|
||||
<%= dgettext("emails", "Hi %{email},", email: @user.email) %>
|
||||
</span>
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<%= dgettext("emails", "You can reset your password by visiting the URL below:") %>
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<a style="margin: 1em; color: rgb(31, 31, 31);" href="<%= @url %>"><%= @url %></a>
|
||||
<a style="margin: 1em; color: rgb(31, 31, 31);" href={@url}><%= @url %></a>
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<%= dgettext("emails",
|
||||
"If you didn't request this change from %{name}, please ignore this.",
|
||||
name: "Cannery") %>
|
||||
<%= dgettext("emails", "If you didn't request this change from Cannery, please ignore this.") %>
|
||||
</div>
|
@ -3,17 +3,18 @@
|
||||
<%= dgettext("emails", "Hi %{email},", email: @user.email) %>
|
||||
</span>
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<%= dgettext("emails", "You can change your email by visiting the URL below:") %>
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<a style="margin: 1em; color: rgb(31, 31, 31);" href="<%= @url %>"><%= @url %></a>
|
||||
<a style="margin: 1em; color: rgb(31, 31, 31);" href={@url}><%= @url %></a>
|
||||
|
||||
<br/>
|
||||
<br />
|
||||
|
||||
<%= dgettext("emails",
|
||||
"If you didn't request this change from %{name}, please ignore this.",
|
||||
name: "Cannery") %>
|
||||
<%= dgettext(
|
||||
"emails",
|
||||
"If you didn't request this change from Cannery, please ignore this."
|
||||
) %>
|
||||
</div>
|
@ -13,7 +13,7 @@
|
||||
</head>
|
||||
<body class="pb-8 m-0 p-0 w-full h-full">
|
||||
<header>
|
||||
<.topbar current_user={assigns[:current_user]}></.topbar>
|
||||
<.topbar current_user={assigns[:current_user]} />
|
||||
</header>
|
||||
|
||||
<div class="pb-8 w-full flex flex-col justify-center items-center text-center">
|
||||
|
@ -1,6 +1,6 @@
|
||||
<main role="main" class="min-h-full min-w-full">
|
||||
<header>
|
||||
<.topbar current_user={assigns[:current_user]}></.topbar>
|
||||
<.topbar current_user={assigns[:current_user]} />
|
||||
|
||||
<div class="mx-8 my-2 flex flex-col space-y-4 text-center">
|
||||
<p :if={get_flash(@conn, :info)} class="alert alert-info" role="alert">
|
||||
|
@ -12,8 +12,7 @@
|
||||
<a style="color: rgb(31, 31, 31);" href={Routes.live_url(Endpoint, HomeLive)}>
|
||||
<%= dgettext(
|
||||
"emails",
|
||||
"This email was sent from %{name}, the self-hosted firearm tracker website.",
|
||||
name: "Cannery"
|
||||
"This email was sent from Cannery, the self-hosted firearm tracker website."
|
||||
) %>
|
||||
</a>
|
||||
</body>
|
||||
|
@ -7,6 +7,5 @@
|
||||
=====================
|
||||
|
||||
<%= dgettext("emails",
|
||||
"This email was sent from %{name} at %{url}, the self-hosted firearm tracker website.",
|
||||
name: "Cannery",
|
||||
"This email was sent from Cannery at %{url}, the self-hosted firearm tracker website.",
|
||||
url: Routes.live_url(Endpoint, HomeLive)) %>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<main class="pb-8 min-w-full">
|
||||
<header>
|
||||
<.topbar current_user={assigns[:current_user]}></.topbar>
|
||||
<.topbar current_user={assigns[:current_user]} />
|
||||
|
||||
<div class="mx-8 my-2 flex flex-col space-y-4 text-center">
|
||||
<p
|
||||
|
@ -9,7 +9,7 @@
|
||||
action={Routes.user_confirmation_path(@conn, :create)}
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<%= label(f, :email, class: "title text-lg text-primary-600") %>
|
||||
<%= label(f, :email, gettext("Email"), class: "title text-lg text-primary-600") %>
|
||||
<%= email_input(f, :email, required: true, class: "input input-primary col-span-2") %>
|
||||
|
||||
<%= submit(dgettext("actions", "Resend confirmation instructions"),
|
||||
|
@ -17,11 +17,11 @@
|
||||
<%= hidden_input(f, :invite_token, value: @invite_token) %>
|
||||
<% end %>
|
||||
|
||||
<%= label(f, :email, class: "title text-lg text-primary-600") %>
|
||||
<%= label(f, :email, gettext("Email"), class: "title text-lg text-primary-600") %>
|
||||
<%= email_input(f, :email, required: true, class: "input input-primary col-span-2") %>
|
||||
<%= error_tag(f, :email, "col-span-3") %>
|
||||
|
||||
<%= label(f, :password, class: "title text-lg text-primary-600") %>
|
||||
<%= label(f, :password, gettext("Password"), class: "title text-lg text-primary-600") %>
|
||||
<%= password_input(f, :password, required: true, class: "input input-primary col-span-2") %>
|
||||
<%= error_tag(f, :password, "col-span-3") %>
|
||||
|
||||
|
@ -9,17 +9,15 @@
|
||||
action={Routes.user_reset_password_path(@conn, :update, @token)}
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<div :if={@changeset.action && not @changeset.valid?()} class="alert alert-danger col-span-3">
|
||||
<p>
|
||||
<p :if={@changeset.action && not @changeset.valid?()} class="alert alert-danger col-span-3">
|
||||
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= label(f, :password, "New password", class: "title text-lg text-primary-600") %>
|
||||
<%= label(f, :password, gettext("New password"), class: "title text-lg text-primary-600") %>
|
||||
<%= password_input(f, :password, required: true, class: "input input-primary col-span-2") %>
|
||||
<%= error_tag(f, :password, "col-span-3") %>
|
||||
|
||||
<%= label(f, :password_confirmation, "Confirm new password",
|
||||
<%= label(f, :password_confirmation, gettext("Confirm new password"),
|
||||
class: "title text-lg text-primary-600"
|
||||
) %>
|
||||
<%= password_input(f, :password_confirmation,
|
||||
|
@ -9,7 +9,7 @@
|
||||
action={Routes.user_reset_password_path(@conn, :create)}
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<%= label(f, :email, class: "title text-lg text-primary-600") %>
|
||||
<%= label(f, :email, gettext("Email"), class: "title text-lg text-primary-600") %>
|
||||
<%= email_input(f, :email, required: true, class: "input input-primary col-span-2") %>
|
||||
|
||||
<%= submit(dgettext("actions", "Send instructions to reset password"),
|
||||
|
@ -10,16 +10,14 @@
|
||||
as="user"
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<div :if={@error_message} class="alert alert-danger col-span-3">
|
||||
<p>
|
||||
<p :if={@error_message} class="alert alert-danger col-span-3">
|
||||
<%= @error_message %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= label(f, :email, class: "title text-lg text-primary-600") %>
|
||||
<%= label(f, :email, gettext("Email"), class: "title text-lg text-primary-600") %>
|
||||
<%= email_input(f, :email, required: true, class: "input input-primary col-span-2") %>
|
||||
|
||||
<%= label(f, :password, class: "title text-lg text-primary-600") %>
|
||||
<%= label(f, :password, gettext("Password"), class: "title text-lg text-primary-600") %>
|
||||
<%= password_input(f, :password, required: true, class: "input input-primary col-span-2") %>
|
||||
|
||||
<%= label(f, :remember_me, gettext("Keep me logged in for 60 days"),
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div class="mx-auto pb-8 max-w-2xl flex flex-col justify-center items-center text-center space-y-4">
|
||||
<h1 class="pb-4 title text-primary-600 text-xl">
|
||||
<div class="mx-auto pb-8 max-w-3xl flex flex-col justify-center items-center text-right space-y-4">
|
||||
<h1 class="pb-4 title text-primary-600 text-2xl text-center">
|
||||
<%= gettext("Settings") %>
|
||||
</h1>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
action={Routes.user_settings_path(@conn, :update)}
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<h3 class="title text-primary-600 text-lg col-span-3">
|
||||
<h3 class="title text-primary-600 text-lg text-center col-span-3">
|
||||
<%= dgettext("actions", "Change email") %>
|
||||
</h3>
|
||||
|
||||
@ -19,14 +19,12 @@
|
||||
:if={@email_changeset.action && not @email_changeset.valid?()}
|
||||
class="alert alert-danger col-span-3"
|
||||
>
|
||||
<p>
|
||||
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= hidden_input(f, :action, name: "action", value: "update_email") %>
|
||||
|
||||
<%= label(f, :email, class: "title text-lg text-primary-600") %>
|
||||
<%= label(f, :email, gettext("Email"), class: "title text-lg text-primary-600") %>
|
||||
<%= email_input(f, :email, required: true, class: "mx-2 my-1 input input-primary col-span-2") %>
|
||||
<%= error_tag(f, :email, "col-span-3") %>
|
||||
|
||||
@ -55,7 +53,7 @@
|
||||
action={Routes.user_settings_path(@conn, :update)}
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<h3 class="title text-primary-600 text-lg col-span-3">
|
||||
<h3 class="title text-primary-600 text-lg text-center col-span-3">
|
||||
<%= dgettext("actions", "Change password") %>
|
||||
</h3>
|
||||
|
||||
@ -63,9 +61,7 @@
|
||||
:if={@password_changeset.action && not @password_changeset.valid?()}
|
||||
class="alert alert-danger col-span-3"
|
||||
>
|
||||
<p>
|
||||
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= hidden_input(f, :action, name: "action", value: "update_password") %>
|
||||
@ -109,19 +105,17 @@
|
||||
:let={f}
|
||||
for={@locale_changeset}
|
||||
action={Routes.user_settings_path(@conn, :update)}
|
||||
class="flex flex-col space-y-4 justify-center items-center"
|
||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||
>
|
||||
<h3 class="title text-primary-600 text-lg">
|
||||
<h3 class="title text-primary-600 text-lg text-center col-span-3">
|
||||
<%= dgettext("actions", "Change Language") %>
|
||||
</h3>
|
||||
|
||||
<div
|
||||
:if={@locale_changeset.action && not @locale_changeset.valid?()}
|
||||
class="alert alert-danger"
|
||||
class="alert alert-danger col-span-3"
|
||||
>
|
||||
<p>
|
||||
<%= dgettext("errors", "Oops, something went wrong! Please check the errors below.") %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<%= hidden_input(f, :action, name: "action", value: "update_locale") %>
|
||||
@ -135,12 +129,12 @@
|
||||
{gettext("French"), "fr"},
|
||||
{gettext("Spanish"), "es"}
|
||||
],
|
||||
class: "mx-2 my-1 min-w-md input input-primary"
|
||||
class: "mx-2 my-1 min-w-md input input-primary col-span-3"
|
||||
) %>
|
||||
<%= error_tag(f, :locale) %>
|
||||
<%= error_tag(f, :locale, "col-span-3") %>
|
||||
|
||||
<%= submit(dgettext("actions", "Change language"),
|
||||
class: "whitespace-nowrap mx-auto btn btn-primary",
|
||||
class: "whitespace-nowrap mx-auto btn btn-primary col-span-3",
|
||||
data: [qa: dgettext("prompts", "Are you sure you want to change your language?")]
|
||||
) %>
|
||||
</.form>
|
||||
|
@ -3,5 +3,5 @@ defmodule CanneryWeb.EmailView do
|
||||
A view for email-related helper functions
|
||||
"""
|
||||
use CanneryWeb, :view
|
||||
alias CanneryWeb.{Endpoint, HomeLive}
|
||||
alias CanneryWeb.HomeLive
|
||||
end
|
||||
|
@ -1,14 +1,14 @@
|
||||
defmodule CanneryWeb.ErrorView do
|
||||
use CanneryWeb, :view
|
||||
import CanneryWeb.Components.Topbar
|
||||
alias CanneryWeb.{Endpoint, HomeLive}
|
||||
alias CanneryWeb.HomeLive
|
||||
|
||||
def template_not_found(error_path, _assigns) do
|
||||
error_string =
|
||||
case error_path do
|
||||
"404.html" -> dgettext("errors", "Not found")
|
||||
"401.html" -> dgettext("errors", "Unauthorized")
|
||||
_other_template -> dgettext("errors", "Internal Server Error")
|
||||
_other_path -> dgettext("errors", "Internal Server Error")
|
||||
end
|
||||
|
||||
render("error.html", %{error_string: error_string})
|
||||
|
@ -1,7 +1,7 @@
|
||||
defmodule CanneryWeb.LayoutView do
|
||||
use CanneryWeb, :view
|
||||
import CanneryWeb.Components.Topbar
|
||||
alias CanneryWeb.{Endpoint, HomeLive}
|
||||
alias CanneryWeb.HomeLive
|
||||
|
||||
# Phoenix LiveDashboard is available only in development by default,
|
||||
# so we instruct Elixir to not warn if the dashboard route is missing.
|
||||
|
2
mix.exs
2
mix.exs
@ -4,7 +4,7 @@ defmodule Cannery.MixProject do
|
||||
def project do
|
||||
[
|
||||
app: :cannery,
|
||||
version: "0.8.2",
|
||||
version: "0.8.4",
|
||||
elixir: "1.14.1",
|
||||
elixirc_paths: elixirc_paths(Mix.env()),
|
||||
compilers: Mix.compilers(),
|
||||
|
@ -33,13 +33,13 @@ msgid "Add your first type!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:15
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:59
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:101
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:57
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change password"
|
||||
msgstr ""
|
||||
@ -49,14 +49,14 @@ msgstr ""
|
||||
msgid "Create Invite"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:165
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete User"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Forgot your password?"
|
||||
msgstr ""
|
||||
@ -66,13 +66,13 @@ msgstr ""
|
||||
msgid "Invite someone new!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:135
|
||||
#: lib/cannery_web/components/topbar.ex:137
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:30
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log in"
|
||||
msgstr ""
|
||||
@ -97,13 +97,13 @@ msgstr ""
|
||||
msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:127
|
||||
#: lib/cannery_web/components/topbar.ex:129
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:42
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:41
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Register"
|
||||
msgstr ""
|
||||
@ -115,7 +115,7 @@ msgid "Resend confirmation instructions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr ""
|
||||
@ -136,7 +136,7 @@ msgstr ""
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr ""
|
||||
@ -156,8 +156,8 @@ msgstr ""
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
@ -168,7 +168,7 @@ msgstr ""
|
||||
msgid "Add another container!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move containers"
|
||||
msgstr ""
|
||||
@ -178,7 +178,7 @@ msgstr ""
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy to clipboard"
|
||||
msgstr ""
|
||||
@ -193,17 +193,17 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:115
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:142
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change language"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View in Catalog"
|
||||
msgstr ""
|
||||
@ -218,24 +218,128 @@ msgstr ""
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:156
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:150
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:86
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:145
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:128
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
@ -46,13 +46,13 @@ msgid "Add your first type!"
|
||||
msgstr "Fügen Sie ihre erste Munitionsart hinzu!"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:15
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change email"
|
||||
msgstr "Mailadresse ändern"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:59
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:101
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:57
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change password"
|
||||
msgstr "Passwort ändern"
|
||||
@ -62,14 +62,14 @@ msgstr "Passwort ändern"
|
||||
msgid "Create Invite"
|
||||
msgstr "Einladung erstellen"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:165
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete User"
|
||||
msgstr "Benutzer löschen"
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Forgot your password?"
|
||||
msgstr "Passwort vergessen?"
|
||||
@ -79,13 +79,13 @@ msgstr "Passwort vergessen?"
|
||||
msgid "Invite someone new!"
|
||||
msgstr "Laden Sie jemanden ein!"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:135
|
||||
#: lib/cannery_web/components/topbar.ex:137
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:30
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log in"
|
||||
msgstr "Einloggen"
|
||||
@ -110,13 +110,13 @@ msgstr "Neuer Behälter"
|
||||
msgid "New Tag"
|
||||
msgstr "Neuer Tag"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:127
|
||||
#: lib/cannery_web/components/topbar.ex:129
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:42
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:41
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Register"
|
||||
msgstr "Registrieren"
|
||||
@ -128,7 +128,7 @@ msgid "Resend confirmation instructions"
|
||||
msgstr "Bestätigungsmail erneut senden"
|
||||
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
@ -149,7 +149,7 @@ msgstr "Speichern"
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr "Anleitung zum Passwort zurücksetzen zusenden"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr "Warum fügen Sie keine hinzu?"
|
||||
@ -169,8 +169,8 @@ msgstr "Munition markieren"
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr "Warum nicht einige für den Schießstand auswählen?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
@ -181,7 +181,7 @@ msgstr "Schüsse dokumentieren"
|
||||
msgid "Add another container!"
|
||||
msgstr "Einen weiteren Behälter hinzufügen!"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move containers"
|
||||
msgstr "Behälter verschieben"
|
||||
@ -191,7 +191,7 @@ msgstr "Behälter verschieben"
|
||||
msgid "Select"
|
||||
msgstr "Markieren"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "In die Zwischenablage kopieren"
|
||||
@ -206,17 +206,17 @@ msgstr "Zuerst einen Behälter hinzufügen"
|
||||
msgid "Create"
|
||||
msgstr "Erstellen"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:115
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr "Sprache wechseln"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:142
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change language"
|
||||
msgstr "Sprache wechseln"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View in Catalog"
|
||||
msgstr ""
|
||||
@ -231,24 +231,128 @@ msgstr ""
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:156
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:150
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:86
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:145
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:128
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr "Munition markieren"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
@ -19,7 +19,7 @@ msgstr ""
|
||||
msgid "Access from any internet-capable device"
|
||||
msgstr "Zugriff von jedem Internet-fähigen Gerät"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Admins"
|
||||
msgstr "Admins"
|
||||
@ -188,14 +188,14 @@ msgstr "Einladung deaktiviert"
|
||||
msgid "Invite Only"
|
||||
msgstr "Nur mit Einladung"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:90
|
||||
#: lib/cannery_web/components/topbar.ex:89
|
||||
#: lib/cannery_web/live/invite_live/index.ex:42
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
msgstr "Einladungen"
|
||||
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:25
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr "Für 60 Tage eingeloggt bleiben"
|
||||
@ -267,18 +267,18 @@ msgid "New Tag"
|
||||
msgstr "Neuer Tag"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr "Keine Munition"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:169
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr "Keine Munition dieser Art"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr "Kein Behälter"
|
||||
@ -290,7 +290,7 @@ msgstr "Keine Einladung"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr "Keine Tags"
|
||||
@ -299,7 +299,7 @@ msgstr "Keine Tags"
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:93
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:90
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -372,7 +372,7 @@ msgstr "Einfach:"
|
||||
msgid "Steel"
|
||||
msgstr "Stahl"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:111
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr "Gelagert in"
|
||||
@ -420,7 +420,7 @@ msgstr "Art"
|
||||
msgid "Type:"
|
||||
msgstr "Art:"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:115
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Users"
|
||||
msgstr "Benutzer"
|
||||
@ -435,7 +435,7 @@ msgstr "Verbleibende Nutzung"
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr "Ihre Daten bleiben bei Ihnen, Punkt"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr "Keine Tags für diesen Behälter"
|
||||
@ -453,7 +453,7 @@ msgstr "Range Day"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:46
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:91
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -475,7 +475,7 @@ msgstr "Keine Munition selektiert"
|
||||
msgid "Record shots"
|
||||
msgstr "Schüsse dokumentieren"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Shot Records"
|
||||
@ -487,7 +487,7 @@ msgid "New Shot Records"
|
||||
msgstr "Neue Schießkladde"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "Keine Schüsse dokumentiert"
|
||||
@ -499,7 +499,7 @@ msgid "Rounds left"
|
||||
msgstr "Patronen verbleibend"
|
||||
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
@ -512,7 +512,7 @@ msgid "Shot Records"
|
||||
msgstr "Schießkladde"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:38
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr "Munition verschieben"
|
||||
@ -534,7 +534,7 @@ msgstr "Schießkladde"
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:180
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:137
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr "$%{amount}"
|
||||
@ -574,32 +574,24 @@ msgstr "Pulverart"
|
||||
msgid "UPC"
|
||||
msgstr "UPC"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:80
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:20
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:76
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm new password"
|
||||
msgstr "Passwort bestätigen"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:33
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:89
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current password"
|
||||
msgstr "Derzeitiges Passwort"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:73
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:16
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New password"
|
||||
msgstr "Neues Passwort"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage"
|
||||
msgstr "Markiert"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr "Demarkiert"
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:62
|
||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -612,19 +604,19 @@ msgid "Reconnecting..."
|
||||
msgstr "Neu verbinden..."
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:32
|
||||
#: lib/cannery_web/live/container_live/show.ex:113
|
||||
#: lib/cannery_web/live/container_live/show.ex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr "%{name} bearbeiten"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:69
|
||||
#: lib/cannery_web/live/container_live/show.ex:114
|
||||
#: lib/cannery_web/live/container_live/show.ex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr "Editiere %{name} Tags"
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:60
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:70
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds:"
|
||||
@ -632,7 +624,7 @@ msgstr "Patronen:"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:222
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:179
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr "Keine Preisinformationen"
|
||||
@ -662,7 +654,7 @@ msgstr "Ursprüngliche Anzahl:"
|
||||
msgid "Percentage left:"
|
||||
msgstr "Prozent verbleibend:"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr "Patronen verbraucht"
|
||||
@ -692,7 +684,7 @@ msgstr "Registrieren"
|
||||
msgid "Reset your password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
@ -703,23 +695,23 @@ msgstr "Schüsse dokumentieren"
|
||||
msgid "Copies"
|
||||
msgstr "Kopien"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr "Hinzugefügt am:"
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:133
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "English"
|
||||
msgstr "Englisch"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:135
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "French"
|
||||
msgstr "Französisch"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:134
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "German"
|
||||
msgstr "Deutsch"
|
||||
@ -757,33 +749,33 @@ msgstr "Quellcode ansehen"
|
||||
msgid "Catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Ammo"
|
||||
msgstr "Munitionstyp bearbeiten"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Move Ammo"
|
||||
msgstr "Munition verschieben"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:115
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No ammo in this container"
|
||||
msgstr "Keine Munitionsgruppe in diesem Behälter"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Show Ammo"
|
||||
msgstr "Zeige Munitionsarten"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr "Diese Munitionsgruppe ist nicht in einem Behälter"
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:55
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:26
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -810,10 +802,10 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr "Behälter"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
@ -824,7 +816,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:136
|
||||
#: lib/cannery_web/live/range_live/index.ex:134
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr "Patronen abgefeuert"
|
||||
@ -841,9 +833,9 @@ msgstr ""
|
||||
msgid "Rounds"
|
||||
msgstr "Patronen:"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:161
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
msgstr ""
|
||||
@ -853,7 +845,7 @@ msgstr ""
|
||||
msgid "Total ever packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:112
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr ""
|
||||
@ -863,7 +855,7 @@ msgstr ""
|
||||
msgid "Total ever rounds"
|
||||
msgstr "Summe aller Patronen"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Total ever rounds:"
|
||||
msgstr "Summe abgegebener Schüsse:"
|
||||
@ -873,7 +865,7 @@ msgstr "Summe abgegebener Schüsse:"
|
||||
msgid "Used packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr ""
|
||||
@ -883,7 +875,7 @@ msgstr ""
|
||||
msgid "Used rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
@ -994,13 +986,13 @@ msgid "UPC:"
|
||||
msgstr "UPC"
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:133
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:118
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr "%{name} bearbeiten"
|
||||
@ -1079,37 +1071,37 @@ msgid "Edit ammo"
|
||||
msgstr "Munitionstyp bearbeiten"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No Ammo types"
|
||||
msgstr "Keine Munitionsarten"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:57
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
@ -1178,12 +1170,12 @@ msgstr ""
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr "Willkommen %{name}"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Disable"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enable"
|
||||
msgstr ""
|
||||
@ -1197,3 +1189,39 @@ msgstr "Verbleibende Nutzung:"
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Uses: %{uses_count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:20
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:17
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:24
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:20
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:168
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:141
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -14,25 +14,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.11.2\n"
|
||||
|
||||
## This file is a PO Template file.
|
||||
##
|
||||
## "msgid"s here are often extracted from source code.
|
||||
## Add new translations manually only if they're dynamic
|
||||
## translations that can't be statically extracted.
|
||||
##
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm your %{name} account"
|
||||
msgstr "Bestätigen Sie ihr %{name} Nutzerkonto"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:2
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Hi %{email},"
|
||||
@ -53,69 +39,79 @@ msgstr ""
|
||||
"Falls Sie diese Änderung von %{url} nicht angefordert haben, ignorieren Sie "
|
||||
"bitte diese Nachricht."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset your %{name} password"
|
||||
msgstr "Passwort für %{name} zurücksetzen"
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Update your %{name} email"
|
||||
msgstr "Aktualisieren Sie %{name} Mailadresse"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}!"
|
||||
msgstr "Willkommen %{name}!"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}%!"
|
||||
msgstr "Willkommen %{name}%!"
|
||||
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:8
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:8
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can change your email by visiting the URL below:"
|
||||
msgstr "Sie können Ihre Mailadresse unter folgender URL ändern:"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:6
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can confirm your account by visiting the URL below:"
|
||||
msgstr "Sie können Ihr Nutzerkonto unter folgender URL bestätigen:"
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can reset your password by visiting the URL below:"
|
||||
msgstr "Sie können ihr Passwort unter folgender URL zurücksetzen:"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't create an account at %{name}, please ignore this."
|
||||
## This file is a PO Template file.
|
||||
##
|
||||
## "msgid"s here are often extracted from source code.
|
||||
## Add new translations manually only if they're dynamic
|
||||
## translations that can't be statically extracted.
|
||||
##
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Confirm your Cannery account"
|
||||
msgstr "Bestätigen Sie ihr %{name} Nutzerkonto"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:22
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "If you didn't create an account at Cannery, please ignore this."
|
||||
msgstr ""
|
||||
"Falls SIe dieses Nutzerkonto unter %{name}, nicht erstellt haben, ignorieren "
|
||||
"Sie diese Nachricht bitte."
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:16
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't request this change from %{name}, please ignore this."
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:16
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "If you didn't request this change from Cannery, please ignore this."
|
||||
msgstr ""
|
||||
"Falls Sie die Änderung von %{name} nicht angefragt haben, ignorieren Sie "
|
||||
"diese Nachricht bitte."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Reset your Cannery password"
|
||||
msgstr "Passwort für %{name} zurücksetzen"
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.txt.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name} at %{url}, the self-hosted firearm tracker website."
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This email was sent from Cannery at %{url}, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
"Diese Nachricht wurde von %{name} unter %{url} gesandt, einem selbst-"
|
||||
"gehosteten Schusswaffenmanager."
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name}, the self-hosted firearm tracker website."
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
"Diese Nachricht wurde von %{name} gesandt, einem selbst-gehosteten "
|
||||
"Schusswaffenmanager."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Update your Cannery email"
|
||||
msgstr "Aktualisieren Sie %{name} Mailadresse"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:9
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr "Willkommen %{name}!"
|
||||
|
@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
|
||||
msgstr "Behälter muss vor dem Löschen leer sein"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:92
|
||||
#: lib/cannery_web/live/container_live/show.ex:73
|
||||
#: lib/cannery_web/live/container_live/show.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Could not delete %{name}: %{error}"
|
||||
msgstr "Konnte %{name} nicht löschen: %{error}"
|
||||
@ -70,10 +70,10 @@ msgid "Not found"
|
||||
msgstr "Nicht gefunden"
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:13
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:14
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:23
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:67
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:123
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:13
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:22
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:64
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Oops, something went wrong! Please check the errors below."
|
||||
msgstr "Oops, etwas ist schiefgegangen. Bitte beachten Sie den Fehler unten."
|
||||
@ -147,22 +147,16 @@ msgstr "Muss ein @ Zeichen und keine Leerzeichen haben"
|
||||
msgid "Tag not found"
|
||||
msgstr "Tag nicht gefunden"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:30
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be added"
|
||||
msgstr "Tag konnte nicht hinzugefügt werden"
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:122
|
||||
#: lib/cannery/activity_log/shot_group.ex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be at least 1"
|
||||
msgstr "Anzahl muss mindestens 1 sein"
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:82
|
||||
#: lib/cannery/activity_log/shot_group.ex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be less than %{count}"
|
||||
msgstr "Anzahl muss weniger als %{count} betragen"
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:39
|
||||
#: lib/cannery_web/controllers/user_auth.ex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -171,7 +165,7 @@ msgstr ""
|
||||
"Sie müssen ihr Nutzerkonto bestätigen und einloggen, um diese Seite "
|
||||
"anzuzeigen."
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:52
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be removed"
|
||||
msgstr "Tag konnte nicht gelöscht werden"
|
||||
@ -207,3 +201,9 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid user and ammo pack"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:83
|
||||
#: lib/cannery/activity_log/shot_group.ex:121
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Count must be less than %{count} shots"
|
||||
msgstr "Anzahl muss weniger als %{count} betragen"
|
||||
|
@ -39,7 +39,7 @@ msgid "%{name} deleted succesfully"
|
||||
msgstr "%{name} erfolgreich gelöscht"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:85
|
||||
#: lib/cannery_web/live/container_live/show.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} has been deleted"
|
||||
msgstr "%{name} wurde gelöscht"
|
||||
@ -57,34 +57,34 @@ msgstr "%{name} erfolgreich aktualisiert"
|
||||
msgid "A link to confirm your email change has been sent to the new address."
|
||||
msgstr "Eine Mail zum Bestätigen ihre Mailadresse wurde Ihnen zugesandt."
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:126
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:133
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
"Sind Sie sicher, dass sie %{email} löschen möchten? Dies kann nicht "
|
||||
"zurückgenommen werden!"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:150
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:166
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
msgstr "Sind Sie sicher, dass sie diese Munition löschen möchten?"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:163
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:157
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete your account?"
|
||||
msgstr "Sind Sie sicher, dass sie Ihren Account löschen möchten?"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:106
|
||||
#: lib/cannery_web/components/topbar.ex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to log out?"
|
||||
msgstr "Wirklich ausloggen?"
|
||||
@ -151,7 +151,7 @@ msgstr ""
|
||||
"Sind Sie sicher, dass sie %{tag_name} Tag von %{container_name} entfernen "
|
||||
"wollen?"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:36
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:50
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} added successfully"
|
||||
msgstr "%{name} erfolgreich hinzugefügt"
|
||||
@ -176,13 +176,13 @@ msgstr "Schüsse erfolgreich dokumentiert"
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:142
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:143
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
@ -203,12 +203,12 @@ msgstr "%{email} erfolgreich bestätigt."
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr "Munition erfolgreich zu %{name} verschoben"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#: lib/cannery_web/live/invite_live/index.ex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Der Zwischenablage hinzugefügt"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:58
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:77
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} removed successfully"
|
||||
msgstr "%{name} erfolgreich entfernt"
|
||||
@ -224,7 +224,7 @@ msgstr "Sie müssen"
|
||||
msgid "Creating..."
|
||||
msgstr "Erstellen..."
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:144
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to change your language?"
|
||||
msgstr "Möchten Sie die Sprache wechseln?"
|
||||
@ -235,12 +235,12 @@ msgid "Language updated successfully."
|
||||
msgstr "Spracheinstellung gespeichert."
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:89
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:55
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:54
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr "Munitionsgruppe erfolgreich gelöscht"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:95
|
||||
#: lib/cannery_web/live/range_live/index.ex:94
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr "Munition erfolgreich demarkiert"
|
||||
@ -257,7 +257,7 @@ msgid_plural "Ammo added successfully"
|
||||
msgstr[0] "Munitionsgruppe erfolgreich aktualisiert"
|
||||
msgstr[1] "Munitionsgruppe erfolgreich aktualisiert"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -288,17 +288,17 @@ msgstr "%{name} erfolgreich aktiviert"
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr "%{name} erfolgreich aktualisiert"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:140
|
||||
#: lib/cannery_web/live/invite_live/index.ex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr "%{name} erfolgreich gelöscht"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete the invite for %{invite_name}?"
|
||||
msgstr "Sind Sie sicher, dass sie die Einladung für %{name} löschen möchten?"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr "Sind Sie sicher, dass sie %{name} auf unbegrenzt setzen möchten?"
|
||||
|
@ -15,7 +15,7 @@ msgstr ""
|
||||
msgid "Access from any internet-capable device"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Admins"
|
||||
msgstr ""
|
||||
@ -184,14 +184,14 @@ msgstr ""
|
||||
msgid "Invite Only"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:90
|
||||
#: lib/cannery_web/components/topbar.ex:89
|
||||
#: lib/cannery_web/live/invite_live/index.ex:42
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:25
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr ""
|
||||
@ -263,18 +263,18 @@ msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:169
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr ""
|
||||
@ -286,7 +286,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
@ -295,7 +295,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:93
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:90
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -366,7 +366,7 @@ msgstr ""
|
||||
msgid "Steel"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:111
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr ""
|
||||
@ -414,7 +414,7 @@ msgstr ""
|
||||
msgid "Type:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:115
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
@ -429,7 +429,7 @@ msgstr ""
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr ""
|
||||
@ -447,7 +447,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:46
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:91
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -469,7 +469,7 @@ msgstr ""
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Shot Records"
|
||||
@ -481,7 +481,7 @@ msgid "New Shot Records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
@ -493,7 +493,7 @@ msgid "Rounds left"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
@ -506,7 +506,7 @@ msgid "Shot Records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:38
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
@ -528,7 +528,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:180
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:137
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr ""
|
||||
@ -568,32 +568,24 @@ msgstr ""
|
||||
msgid "UPC"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:80
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:20
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:76
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm new password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:33
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:89
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:73
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:16
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:62
|
||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -606,19 +598,19 @@ msgid "Reconnecting..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:32
|
||||
#: lib/cannery_web/live/container_live/show.ex:113
|
||||
#: lib/cannery_web/live/container_live/show.ex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:69
|
||||
#: lib/cannery_web/live/container_live/show.ex:114
|
||||
#: lib/cannery_web/live/container_live/show.ex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:60
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:70
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds:"
|
||||
@ -626,7 +618,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:222
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:179
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr ""
|
||||
@ -656,7 +648,7 @@ msgstr ""
|
||||
msgid "Percentage left:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr ""
|
||||
@ -686,7 +678,7 @@ msgstr ""
|
||||
msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
@ -697,23 +689,23 @@ msgstr ""
|
||||
msgid "Copies"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:133
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:135
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:134
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
@ -751,33 +743,33 @@ msgstr ""
|
||||
msgid "Catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:115
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo in this container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:55
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:26
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -804,10 +796,10 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
@ -818,7 +810,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:136
|
||||
#: lib/cannery_web/live/range_live/index.ex:134
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
@ -835,9 +827,9 @@ msgstr ""
|
||||
msgid "Rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:161
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
msgstr ""
|
||||
@ -847,7 +839,7 @@ msgstr ""
|
||||
msgid "Total ever packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:112
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr ""
|
||||
@ -857,7 +849,7 @@ msgstr ""
|
||||
msgid "Total ever rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever rounds:"
|
||||
msgstr ""
|
||||
@ -867,7 +859,7 @@ msgstr ""
|
||||
msgid "Used packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr ""
|
||||
@ -877,7 +869,7 @@ msgstr ""
|
||||
msgid "Used rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
@ -988,13 +980,13 @@ msgid "UPC:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:133
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
@ -1073,37 +1065,37 @@ msgid "Edit ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo types"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:57
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
@ -1161,12 +1153,12 @@ msgstr ""
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Disable"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enable"
|
||||
msgstr ""
|
||||
@ -1180,3 +1172,39 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Uses: %{uses_count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:20
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:17
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:24
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:20
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:168
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:141
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -10,16 +10,11 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm your %{name} account"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:2
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Hi %{email},"
|
||||
@ -36,61 +31,62 @@ msgstr ""
|
||||
msgid "If you didn't request this change from %{url}, please ignore this."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset your %{name} password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Update your %{name} email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}%!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:8
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:8
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can change your email by visiting the URL below:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:6
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can confirm your account by visiting the URL below:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can reset your password by visiting the URL below:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:22
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't create an account at %{name}, please ignore this."
|
||||
msgid "Confirm your Cannery account"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:16
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't request this change from %{name}, please ignore this."
|
||||
msgid "If you didn't create an account at Cannery, please ignore this."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:16
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't request this change from Cannery, please ignore this."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset your Cannery password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.txt.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name} at %{url}, the self-hosted firearm tracker website."
|
||||
msgid "This email was sent from Cannery at %{url}, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name}, the self-hosted firearm tracker website."
|
||||
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Update your Cannery email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:9
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr ""
|
||||
|
@ -33,13 +33,13 @@ msgid "Add your first type!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:15
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:59
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:101
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:57
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change password"
|
||||
msgstr ""
|
||||
@ -49,14 +49,14 @@ msgstr ""
|
||||
msgid "Create Invite"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:165
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete User"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Forgot your password?"
|
||||
msgstr ""
|
||||
@ -66,13 +66,13 @@ msgstr ""
|
||||
msgid "Invite someone new!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:135
|
||||
#: lib/cannery_web/components/topbar.ex:137
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:30
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log in"
|
||||
msgstr ""
|
||||
@ -97,13 +97,13 @@ msgstr ""
|
||||
msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:127
|
||||
#: lib/cannery_web/components/topbar.ex:129
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:42
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:41
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Register"
|
||||
msgstr ""
|
||||
@ -115,7 +115,7 @@ msgid "Resend confirmation instructions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr ""
|
||||
@ -136,7 +136,7 @@ msgstr ""
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr ""
|
||||
@ -156,8 +156,8 @@ msgstr ""
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
@ -168,7 +168,7 @@ msgstr ""
|
||||
msgid "Add another container!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move containers"
|
||||
msgstr ""
|
||||
@ -178,7 +178,7 @@ msgstr ""
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy to clipboard"
|
||||
msgstr ""
|
||||
@ -193,17 +193,17 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:115
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:142
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change language"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View in Catalog"
|
||||
msgstr ""
|
||||
@ -218,24 +218,128 @@ msgstr ""
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:156
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:150
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:86
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:145
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:128
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
@ -15,7 +15,7 @@ msgstr ""
|
||||
msgid "Access from any internet-capable device"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Admins"
|
||||
msgstr ""
|
||||
@ -184,14 +184,14 @@ msgstr ""
|
||||
msgid "Invite Only"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:90
|
||||
#: lib/cannery_web/components/topbar.ex:89
|
||||
#: lib/cannery_web/live/invite_live/index.ex:42
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:25
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr ""
|
||||
@ -263,18 +263,18 @@ msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:169
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr ""
|
||||
@ -286,7 +286,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
@ -295,7 +295,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:93
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:90
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -366,7 +366,7 @@ msgstr ""
|
||||
msgid "Steel"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:111
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr ""
|
||||
@ -414,7 +414,7 @@ msgstr ""
|
||||
msgid "Type:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:115
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
@ -429,7 +429,7 @@ msgstr ""
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr ""
|
||||
@ -447,7 +447,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:46
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:91
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -469,7 +469,7 @@ msgstr ""
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Shot Records"
|
||||
@ -481,7 +481,7 @@ msgid "New Shot Records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
@ -493,7 +493,7 @@ msgid "Rounds left"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
@ -506,7 +506,7 @@ msgid "Shot Records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:38
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
@ -528,7 +528,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:180
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:137
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr ""
|
||||
@ -568,32 +568,24 @@ msgstr ""
|
||||
msgid "UPC"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:80
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:20
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:76
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm new password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:33
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:89
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:73
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:16
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:62
|
||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -606,19 +598,19 @@ msgid "Reconnecting..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:32
|
||||
#: lib/cannery_web/live/container_live/show.ex:113
|
||||
#: lib/cannery_web/live/container_live/show.ex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:69
|
||||
#: lib/cannery_web/live/container_live/show.ex:114
|
||||
#: lib/cannery_web/live/container_live/show.ex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:60
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:70
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds:"
|
||||
@ -626,7 +618,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:222
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:179
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr ""
|
||||
@ -656,7 +648,7 @@ msgstr ""
|
||||
msgid "Percentage left:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:130
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds used"
|
||||
msgstr ""
|
||||
@ -686,7 +678,7 @@ msgstr ""
|
||||
msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:33
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Record Shots"
|
||||
@ -697,23 +689,23 @@ msgstr ""
|
||||
msgid "Copies"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:133
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:135
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:134
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
@ -751,33 +743,33 @@ msgstr ""
|
||||
msgid "Catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Move Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:115
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No ammo in this container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Show Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:55
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:26
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -804,10 +796,10 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
@ -818,7 +810,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:136
|
||||
#: lib/cannery_web/live/range_live/index.ex:134
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
@ -835,9 +827,9 @@ msgstr ""
|
||||
msgid "Rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:161
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
msgstr ""
|
||||
@ -847,7 +839,7 @@ msgstr ""
|
||||
msgid "Total ever packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:112
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr ""
|
||||
@ -857,7 +849,7 @@ msgstr ""
|
||||
msgid "Total ever rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Total ever rounds:"
|
||||
msgstr ""
|
||||
@ -867,7 +859,7 @@ msgstr ""
|
||||
msgid "Used packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr ""
|
||||
@ -877,7 +869,7 @@ msgstr ""
|
||||
msgid "Used rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
@ -988,13 +980,13 @@ msgid "UPC:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:133
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:118
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
@ -1073,37 +1065,37 @@ msgid "Edit ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No Ammo types"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:57
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
@ -1161,12 +1153,12 @@ msgstr ""
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Disable"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enable"
|
||||
msgstr ""
|
||||
@ -1180,3 +1172,39 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Uses: %{uses_count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:20
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:17
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:24
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:20
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:168
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:141
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -10,16 +10,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"Language: en\n"
|
||||
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm your %{name} account"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:2
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Hi %{email},"
|
||||
@ -36,61 +31,62 @@ msgstr ""
|
||||
msgid "If you didn't request this change from %{url}, please ignore this."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset your %{name} password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Update your %{name} email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}%!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:8
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:8
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can change your email by visiting the URL below:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:6
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can confirm your account by visiting the URL below:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can reset your password by visiting the URL below:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't create an account at %{name}, please ignore this."
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Confirm your Cannery account"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:16
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't request this change from %{name}, please ignore this."
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:22
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "If you didn't create an account at Cannery, please ignore this."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:16
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "If you didn't request this change from Cannery, please ignore this."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Reset your Cannery password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.txt.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name} at %{url}, the self-hosted firearm tracker website."
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This email was sent from Cannery at %{url}, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name}, the self-hosted firearm tracker website."
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Update your Cannery email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:9
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr ""
|
||||
|
@ -16,7 +16,7 @@ msgid "Container must be empty before deleting"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:92
|
||||
#: lib/cannery_web/live/container_live/show.ex:73
|
||||
#: lib/cannery_web/live/container_live/show.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Could not delete %{name}: %{error}"
|
||||
msgstr ""
|
||||
@ -57,10 +57,10 @@ msgid "Not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:13
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:14
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:23
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:67
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:123
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:13
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:22
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:64
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Oops, something went wrong! Please check the errors below."
|
||||
msgstr ""
|
||||
@ -134,29 +134,23 @@ msgstr ""
|
||||
msgid "Tag not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:30
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be added"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:122
|
||||
#: lib/cannery/activity_log/shot_group.ex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:82
|
||||
#: lib/cannery/activity_log/shot_group.ex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be less than %{count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:39
|
||||
#: lib/cannery_web/controllers/user_auth.ex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You must confirm your account and log in to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:52
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:72
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Tag could not be removed"
|
||||
msgstr ""
|
||||
@ -190,3 +184,9 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid user and ammo pack"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:83
|
||||
#: lib/cannery/activity_log/shot_group.ex:121
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Count must be less than %{count} shots"
|
||||
msgstr ""
|
||||
|
@ -26,7 +26,7 @@ msgid "%{name} deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:85
|
||||
#: lib/cannery_web/live/container_live/show.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} has been deleted"
|
||||
msgstr ""
|
||||
@ -44,32 +44,32 @@ msgstr ""
|
||||
msgid "A link to confirm your email change has been sent to the new address."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:126
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:133
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:150
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:166
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:163
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:157
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete your account?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:106
|
||||
#: lib/cannery_web/components/topbar.ex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to log out?"
|
||||
msgstr ""
|
||||
@ -130,7 +130,7 @@ msgstr ""
|
||||
msgid "Are you sure you want to remove the %{tag_name} tag from %{container_name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:36
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:50
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} added successfully"
|
||||
msgstr ""
|
||||
@ -155,13 +155,13 @@ msgstr ""
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:142
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:143
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
@ -182,12 +182,12 @@ msgstr ""
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#: lib/cannery_web/live/invite_live/index.ex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:58
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:77
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{name} removed successfully"
|
||||
msgstr ""
|
||||
@ -203,7 +203,7 @@ msgstr ""
|
||||
msgid "Creating..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:144
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to change your language?"
|
||||
msgstr ""
|
||||
@ -214,12 +214,12 @@ msgid "Language updated successfully."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:89
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:55
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:54
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:95
|
||||
#: lib/cannery_web/live/range_live/index.ex:94
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
@ -236,7 +236,7 @@ msgid_plural "Ammo added successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -267,17 +267,17 @@ msgstr ""
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:140
|
||||
#: lib/cannery_web/live/invite_live/index.ex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete the invite for %{invite_name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr ""
|
||||
|
@ -16,7 +16,7 @@ msgid "Container must be empty before deleting"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:92
|
||||
#: lib/cannery_web/live/container_live/show.ex:73
|
||||
#: lib/cannery_web/live/container_live/show.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Could not delete %{name}: %{error}"
|
||||
msgstr ""
|
||||
@ -57,10 +57,10 @@ msgid "Not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:13
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:14
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:23
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:67
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:123
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:13
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:22
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:64
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Oops, something went wrong! Please check the errors below."
|
||||
msgstr ""
|
||||
@ -133,29 +133,23 @@ msgstr ""
|
||||
msgid "Tag not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:30
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be added"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:122
|
||||
#: lib/cannery/activity_log/shot_group.ex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:82
|
||||
#: lib/cannery/activity_log/shot_group.ex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be less than %{count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:39
|
||||
#: lib/cannery_web/controllers/user_auth.ex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You must confirm your account and log in to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:52
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be removed"
|
||||
msgstr ""
|
||||
@ -189,3 +183,9 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Please select a valid user and ammo pack"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:83
|
||||
#: lib/cannery/activity_log/shot_group.ex:121
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be less than %{count} shots"
|
||||
msgstr ""
|
||||
|
@ -46,13 +46,13 @@ msgid "Add your first type!"
|
||||
msgstr "¡Añade tu primer tipo!"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:15
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change email"
|
||||
msgstr "Cambiar correo electrónico"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:59
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:101
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:57
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change password"
|
||||
msgstr "Cambiar contraseña"
|
||||
@ -62,14 +62,14 @@ msgstr "Cambiar contraseña"
|
||||
msgid "Create Invite"
|
||||
msgstr "Crear Invitación"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:165
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete User"
|
||||
msgstr "Eliminar cuenta de Usuario"
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Forgot your password?"
|
||||
msgstr "¿Has olvidado tu contraseña?"
|
||||
@ -79,13 +79,13 @@ msgstr "¿Has olvidado tu contraseña?"
|
||||
msgid "Invite someone new!"
|
||||
msgstr "¡Invita a alguien nuevo!"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:135
|
||||
#: lib/cannery_web/components/topbar.ex:137
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:30
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log in"
|
||||
msgstr "Entrar"
|
||||
@ -110,13 +110,13 @@ msgstr "Nuevo Contenedor"
|
||||
msgid "New Tag"
|
||||
msgstr "Nueva Etiqueta"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:127
|
||||
#: lib/cannery_web/components/topbar.ex:129
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:42
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:41
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Register"
|
||||
msgstr "Registrarse"
|
||||
@ -128,7 +128,7 @@ msgid "Resend confirmation instructions"
|
||||
msgstr "Reenviar instrucciones de confirmación"
|
||||
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr "Resetear contraseña"
|
||||
@ -149,7 +149,7 @@ msgstr "Guardar"
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr "Enviar instrucciones para reestablecer contraseña"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr "¿Por qué no añadir una?"
|
||||
@ -169,8 +169,8 @@ msgstr "Preparar munición"
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr "¿Por qué no preparar parte para disparar?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
@ -181,7 +181,7 @@ msgstr "Tiros récord"
|
||||
msgid "Add another container!"
|
||||
msgstr "¡Añade otro contenedor!"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move containers"
|
||||
msgstr "Mover contenedores"
|
||||
@ -191,7 +191,7 @@ msgstr "Mover contenedores"
|
||||
msgid "Select"
|
||||
msgstr "Seleccionar"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Copiar al portapapeles"
|
||||
@ -206,17 +206,17 @@ msgstr "añade primero un contenedor"
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:115
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr "Cambiar Lenguaje"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:142
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change language"
|
||||
msgstr "Cambiar lenguaje"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View in Catalog"
|
||||
msgstr "Ver en Catalogo"
|
||||
@ -231,24 +231,128 @@ msgstr "añade primero un tipo de munición"
|
||||
msgid "Move ammo"
|
||||
msgstr "Mover munición"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Set Unlimited"
|
||||
msgstr "Activar ilimitados"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr "Preparar para el campo de tiro"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr "Desmontar del campo de tiro"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:156
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:150
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Export Data as JSON"
|
||||
msgstr "Exportar datos como JSON"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:86
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:145
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:128
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr "Preparar munición"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
@ -19,7 +19,7 @@ msgstr ""
|
||||
msgid "Access from any internet-capable device"
|
||||
msgstr "Acceso desde cualquier dispositivo con conexión a internet"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Admins"
|
||||
msgstr "Administradores"
|
||||
@ -188,14 +188,14 @@ msgstr "Invitación Desactivada"
|
||||
msgid "Invite Only"
|
||||
msgstr "Solo Invitación"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:90
|
||||
#: lib/cannery_web/components/topbar.ex:89
|
||||
#: lib/cannery_web/live/invite_live/index.ex:42
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
msgstr "Invitaciones"
|
||||
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:25
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr "Mantener registrado durante 60 días"
|
||||
@ -267,18 +267,18 @@ msgid "New Tag"
|
||||
msgstr "Nueva Etiqueta"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr "Sin Munición"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:169
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr "Sin munición para este tipo"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr "Sin contenedores"
|
||||
@ -290,7 +290,7 @@ msgstr "Sin invitaciones"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr "Sin etiquetas"
|
||||
@ -299,7 +299,7 @@ msgstr "Sin etiquetas"
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:93
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:90
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -372,7 +372,7 @@ msgstr "Simple:"
|
||||
msgid "Steel"
|
||||
msgstr "Acero"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:111
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr "Guardado en"
|
||||
@ -421,7 +421,7 @@ msgstr "Tipo"
|
||||
msgid "Type:"
|
||||
msgstr "Tipo:"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:115
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Users"
|
||||
msgstr "Usuarios"
|
||||
@ -436,7 +436,7 @@ msgstr "Usos restantes"
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr "Tus datos se quedan contigo, sin excepciones"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr "Contenedor sin etiquetas"
|
||||
@ -454,7 +454,7 @@ msgstr "Día de disparar"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:46
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:91
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -476,7 +476,7 @@ msgstr "No hay munición preparada"
|
||||
msgid "Record shots"
|
||||
msgstr "Tiros récord"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Shot Records"
|
||||
@ -488,7 +488,7 @@ msgid "New Shot Records"
|
||||
msgstr "Nuevos Tiros Récord"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "No se han grabado tiros"
|
||||
@ -500,7 +500,7 @@ msgid "Rounds left"
|
||||
msgstr "Balas restantes"
|
||||
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
@ -513,7 +513,7 @@ msgid "Shot Records"
|
||||
msgstr "Récords de Tiro"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:38
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr "Mover munición"
|
||||
@ -535,7 +535,7 @@ msgstr "Registro de tiros"
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:180
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:137
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr "$%{amount}"
|
||||
@ -575,32 +575,24 @@ msgstr "Tipo de polvora"
|
||||
msgid "UPC"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:80
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:20
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:76
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirme contraseña nueva"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:33
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:89
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current password"
|
||||
msgstr "Contraseña actual"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:73
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:16
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New password"
|
||||
msgstr "Nueva contraseña"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage"
|
||||
msgstr "Preparar"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr "Retirar"
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:62
|
||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -613,19 +605,19 @@ msgid "Reconnecting..."
|
||||
msgstr "Reconectando..."
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:32
|
||||
#: lib/cannery_web/live/container_live/show.ex:113
|
||||
#: lib/cannery_web/live/container_live/show.ex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr "Editar %{name}"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:69
|
||||
#: lib/cannery_web/live/container_live/show.ex:114
|
||||
#: lib/cannery_web/live/container_live/show.ex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr "Editar etiquetas de %{name}"
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:60
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:70
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds:"
|
||||
@ -633,7 +625,7 @@ msgstr "Balas:"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:222
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:179
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr "No hay información de coste"
|
||||
@ -663,7 +655,7 @@ msgstr "Cantidad original:"
|
||||
msgid "Percentage left:"
|
||||
msgstr "Pocentaje restante:"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr "Balas usadas"
|
||||
@ -693,7 +685,7 @@ msgstr "Registrarse"
|
||||
msgid "Reset your password"
|
||||
msgstr "Reestablecer contraseña"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
@ -704,23 +696,23 @@ msgstr "Tiros Récord"
|
||||
msgid "Copies"
|
||||
msgstr "Copias"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr "Añadido en:"
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:133
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "English"
|
||||
msgstr "Inglés"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:135
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "French"
|
||||
msgstr "Francés"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:134
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "German"
|
||||
msgstr "Alemán"
|
||||
@ -758,33 +750,33 @@ msgstr "Ver código fuente"
|
||||
msgid "Catalog"
|
||||
msgstr "Catálogo"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Ammo"
|
||||
msgstr "Editar Munición"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move Ammo"
|
||||
msgstr "Mover Munición"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:115
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo in this container"
|
||||
msgstr "No hay munición en este contenedor"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show Ammo"
|
||||
msgstr "Mostrar Munición"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr "Esta munición no está en un contenedor"
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:55
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:26
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -812,10 +804,10 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr "Contenedor:"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr "Mostrar usadas"
|
||||
@ -826,7 +818,7 @@ msgstr "Mostrar usadas"
|
||||
msgid "%{percentage}%"
|
||||
msgstr "%{percentage}%"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:136
|
||||
#: lib/cannery_web/live/range_live/index.ex:134
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr "Balas disparadas: %{count}"
|
||||
@ -843,9 +835,9 @@ msgstr "Paquetes"
|
||||
msgid "Rounds"
|
||||
msgstr "Balas"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:161
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
msgstr "Ver como tabla"
|
||||
@ -855,7 +847,7 @@ msgstr "Ver como tabla"
|
||||
msgid "Total ever packs"
|
||||
msgstr "Paquetes totales"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:112
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr "Paquetes totales:"
|
||||
@ -865,7 +857,7 @@ msgstr "Paquetes totales:"
|
||||
msgid "Total ever rounds"
|
||||
msgstr "Balas totales"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever rounds:"
|
||||
msgstr "Balas totales:"
|
||||
@ -875,7 +867,7 @@ msgstr "Balas totales:"
|
||||
msgid "Used packs"
|
||||
msgstr "Paquetes usados"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr "Paquetes usados:"
|
||||
@ -885,7 +877,7 @@ msgstr "Paquetes usados:"
|
||||
msgid "Used rounds"
|
||||
msgstr "Balas usadas"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used rounds:"
|
||||
msgstr "Balas usadas:"
|
||||
@ -996,13 +988,13 @@ msgid "UPC:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:133
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr "Editar %{ammo_type_name}"
|
||||
@ -1081,37 +1073,37 @@ msgid "Edit ammo"
|
||||
msgstr "Editar munición"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No Ammo types"
|
||||
msgstr "Sin tipo de Munición"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:57
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
@ -1180,12 +1172,12 @@ msgstr ""
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr "Bienvenide a %{name}"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Disable"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enable"
|
||||
msgstr ""
|
||||
@ -1199,3 +1191,39 @@ msgstr "Usos Restantes:"
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Uses: %{uses_count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:20
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:17
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:24
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:20
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:168
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:141
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -14,25 +14,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.14.2\n"
|
||||
|
||||
## This file is a PO Template file.
|
||||
##
|
||||
## "msgid"s here are often extracted from source code.
|
||||
## Add new translations manually only if they're dynamic
|
||||
## translations that can't be statically extracted.
|
||||
##
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm your %{name} account"
|
||||
msgstr "Confirma el %{name} de la cuenta"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:2
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Hi %{email},"
|
||||
@ -49,27 +35,7 @@ msgstr "Si no creó un usuario en %{url}, por favor, ignore este mensaje."
|
||||
msgid "If you didn't request this change from %{url}, please ignore this."
|
||||
msgstr "Si no pidió este cambio desde %{url}, por favor, ignore este mensaje."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset your %{name} password"
|
||||
msgstr "Reseteé su contraseña en %{name}"
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Update your %{name} email"
|
||||
msgstr "Actualice su correo en &{url}"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}!"
|
||||
msgstr "¡Bienvenide a %{name}!"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}%!"
|
||||
msgstr "¡Bienvenide a %{name}%!"
|
||||
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:8
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:8
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can change your email by visiting the URL below:"
|
||||
@ -77,14 +43,14 @@ msgstr ""
|
||||
"Puede cambiar su correo electrónico visitando el enlace que se muestra a "
|
||||
"continuación:"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:6
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can confirm your account by visiting the URL below:"
|
||||
msgstr ""
|
||||
"Puede confirmar su cuenta visitando el enlace que se muestra a continuación:"
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can reset your password by visiting the URL below:"
|
||||
@ -92,29 +58,59 @@ msgstr ""
|
||||
"Puede reestablecer su contraseña visitando el enlace que se muestra a "
|
||||
"continuación:"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't create an account at %{name}, please ignore this."
|
||||
## This file is a PO Template file.
|
||||
##
|
||||
## "msgid"s here are often extracted from source code.
|
||||
## Add new translations manually only if they're dynamic
|
||||
## translations that can't be statically extracted.
|
||||
##
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Confirm your Cannery account"
|
||||
msgstr "Confirma el %{name} de la cuenta"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:22
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "If you didn't create an account at Cannery, please ignore this."
|
||||
msgstr "Si no ha creado una cuenta en %{name}, por favor, ignore este mensaje."
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:16
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't request this change from %{name}, please ignore this."
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:16
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "If you didn't request this change from Cannery, please ignore this."
|
||||
msgstr ""
|
||||
"Si no ha solicitado este cambio desde %{name}, por favor, ignore este "
|
||||
"mensaje."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Reset your Cannery password"
|
||||
msgstr "Reseteé su contraseña en %{name}"
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.txt.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name} at %{url}, the self-hosted firearm tracker website."
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This email was sent from Cannery at %{url}, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
"Este correo se mandó por %{name} desde %{url}, la página de seguimiento de "
|
||||
"armas autogestionada."
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name}, the self-hosted firearm tracker website."
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
"Este correo se mandó por %{name}, la página de seguimiento de armas "
|
||||
"autogestionada."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Update your Cannery email"
|
||||
msgstr "Actualice su correo en &{url}"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:9
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr "¡Bienvenide a %{name}!"
|
||||
|
@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
|
||||
msgstr "El contenedor debe estar vacío antes de ser borrado"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:92
|
||||
#: lib/cannery_web/live/container_live/show.ex:73
|
||||
#: lib/cannery_web/live/container_live/show.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Could not delete %{name}: %{error}"
|
||||
msgstr "No se pudo eliminar %{name}: %{error}"
|
||||
@ -70,10 +70,10 @@ msgid "Not found"
|
||||
msgstr "No se encontró"
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:13
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:14
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:23
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:67
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:123
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:13
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:22
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:64
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Oops, something went wrong! Please check the errors below."
|
||||
msgstr ""
|
||||
@ -149,29 +149,23 @@ msgstr "debe tener el signo @ y no contener espacios"
|
||||
msgid "Tag not found"
|
||||
msgstr "Etiqueta no encontrada"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:30
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be added"
|
||||
msgstr "No se ha podido añadir la etiqueta"
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:122
|
||||
#: lib/cannery/activity_log/shot_group.ex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be at least 1"
|
||||
msgstr "El recuento debe dar al menos 1"
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:82
|
||||
#: lib/cannery/activity_log/shot_group.ex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be less than %{count}"
|
||||
msgstr "El recuento debe ser menos de %{count}"
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:39
|
||||
#: lib/cannery_web/controllers/user_auth.ex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You must confirm your account and log in to access this page."
|
||||
msgstr "Debe confirmar su cuenta e iniciar sesión para acceder a esta página."
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:52
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be removed"
|
||||
msgstr "La etiqueta no pudo ser eliminada"
|
||||
@ -205,3 +199,9 @@ msgstr "Su navegador no es compatible con el elemento lienzo."
|
||||
#, 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:83
|
||||
#: lib/cannery/activity_log/shot_group.ex:121
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Count must be less than %{count} shots"
|
||||
msgstr "El recuento debe ser menos de %{count}"
|
||||
|
@ -39,7 +39,7 @@ msgid "%{name} deleted succesfully"
|
||||
msgstr "%{name} borrado exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:85
|
||||
#: lib/cannery_web/live/container_live/show.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} has been deleted"
|
||||
msgstr "%{name} ha sido borrado"
|
||||
@ -59,32 +59,32 @@ msgstr ""
|
||||
"Un enlace para confirmar el correo electrónico ha sido enviado a la nueva "
|
||||
"dirección."
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:126
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:133
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr "Está seguro que desea eliminar %{email}? Esta acción es permanente!"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:150
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr "Está seguro que desea eliminar %{name}?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:166
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
msgstr "Está seguro que desea eliminar esta munición?"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:163
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:157
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete your account?"
|
||||
msgstr "Está seguro que desea eliminar su cuenta?"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:106
|
||||
#: lib/cannery_web/components/topbar.ex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to log out?"
|
||||
msgstr "Está seguro que desea cerrar sesión?"
|
||||
@ -150,7 +150,7 @@ msgid "Are you sure you want to remove the %{tag_name} tag from %{container_name
|
||||
msgstr ""
|
||||
"Está seguro que desea remover la etiqueta %{tag_name} de %{container_name}?"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:36
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:50
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} added successfully"
|
||||
msgstr "%{name} añadido exitosamente"
|
||||
@ -175,13 +175,13 @@ msgstr "Tiros registrados exitosamente"
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Está seguro que desea desmontar esta munición?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:142
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:143
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "¿Está segure que quiere borrar este récord de disparos?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
@ -202,12 +202,12 @@ msgstr "%{email} confirmado exitosamente."
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr "Munición movida a %{name} exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#: lib/cannery_web/live/invite_live/index.ex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copiado al portapapeles"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:58
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:77
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} removed successfully"
|
||||
msgstr "%{name} eliminado exitosamente"
|
||||
@ -223,7 +223,7 @@ msgstr "Necesitará hacerlo"
|
||||
msgid "Creating..."
|
||||
msgstr "Creando..."
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:144
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to change your language?"
|
||||
msgstr "¿Está segure de que quiere cambiar el idioma?"
|
||||
@ -234,12 +234,12 @@ msgid "Language updated successfully."
|
||||
msgstr "Idioma cambiado exitosamente."
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:89
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:55
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:54
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr "Munición borrada exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:95
|
||||
#: lib/cannery_web/live/range_live/index.ex:94
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr "Munición descargada exitosamente"
|
||||
@ -256,7 +256,7 @@ msgid_plural "Ammo added successfully"
|
||||
msgstr[0] "Munición añadida exitosamente"
|
||||
msgstr[1] "Municiones añadidas exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -289,17 +289,17 @@ msgstr "%{name} activado exitosamente"
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr "%{name} actualizado exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:140
|
||||
#: lib/cannery_web/live/invite_live/index.ex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr "%{name} borrado exitosamente"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete the invite for %{invite_name}?"
|
||||
msgstr "Está seguro que quiere eliminar la invitación para %{name}?"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr "Está seguro que desea hacer %{name} ilimitado?"
|
||||
|
@ -46,13 +46,13 @@ msgid "Add your first type!"
|
||||
msgstr "Ajoutez votre premier type !"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:15
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change email"
|
||||
msgstr "Changer le mél"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:59
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:101
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:57
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change password"
|
||||
msgstr "Changer le mot de passe"
|
||||
@ -62,14 +62,14 @@ msgstr "Changer le mot de passe"
|
||||
msgid "Create Invite"
|
||||
msgstr "Créer une invitation"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:165
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete User"
|
||||
msgstr "Supprimer utilisateur"
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Forgot your password?"
|
||||
msgstr "Mot de passe oublié ?"
|
||||
@ -79,13 +79,13 @@ msgstr "Mot de passe oublié ?"
|
||||
msgid "Invite someone new!"
|
||||
msgstr "Invitez une nouvelle personne !"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:135
|
||||
#: lib/cannery_web/components/topbar.ex:137
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:30
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log in"
|
||||
msgstr "Se connecter"
|
||||
@ -110,13 +110,13 @@ msgstr "Nouveau conteneur"
|
||||
msgid "New Tag"
|
||||
msgstr "Nouveau tag"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:127
|
||||
#: lib/cannery_web/components/topbar.ex:129
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:42
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:41
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Register"
|
||||
msgstr "S’enregistrer"
|
||||
@ -128,7 +128,7 @@ msgid "Resend confirmation instructions"
|
||||
msgstr "Renvoyer les instructions de confirmation"
|
||||
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr "Réinitialisé le mot de passe"
|
||||
@ -149,7 +149,7 @@ msgstr "Sauvegarder"
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr "Envoyer les instructions pour réinitialiser le mot de passe"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr "Pourquoi pas en ajouter un ?"
|
||||
@ -169,8 +169,8 @@ msgstr "Munition préparée"
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr "Pourquoi pas en préparer pour tirer ?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
@ -181,7 +181,7 @@ msgstr "Enregistrer des tirs"
|
||||
msgid "Add another container!"
|
||||
msgstr "Ajoutez un autre conteneur !"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move containers"
|
||||
msgstr "Déplacer les conteneurs"
|
||||
@ -191,7 +191,7 @@ msgstr "Déplacer les conteneurs"
|
||||
msgid "Select"
|
||||
msgstr "Sélectionner"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Copier dans le presse-papier"
|
||||
@ -206,17 +206,17 @@ msgstr "ajouter un conteneur en premier"
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:115
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr "Changer la langue"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:142
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change language"
|
||||
msgstr "Changer la langue"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View in Catalog"
|
||||
msgstr "Voir en catalogue"
|
||||
@ -231,24 +231,128 @@ msgstr "Ajoutez d'abord un type de munitions"
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:156
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:150
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:86
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:145
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:128
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr "Munition préparée"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
@ -19,7 +19,7 @@ msgstr ""
|
||||
msgid "Access from any internet-capable device"
|
||||
msgstr "Accédez depuis n’importe quel appareil connecté à internet"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Admins"
|
||||
msgstr "Administrateur·ices"
|
||||
@ -188,14 +188,14 @@ msgstr "Invitation désactivée"
|
||||
msgid "Invite Only"
|
||||
msgstr "Uniquement sur invitation"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:90
|
||||
#: lib/cannery_web/components/topbar.ex:89
|
||||
#: lib/cannery_web/live/invite_live/index.ex:42
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
msgstr "Invitations"
|
||||
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:25
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr "Me garder authentifié durant 60 jours"
|
||||
@ -267,18 +267,18 @@ msgid "New Tag"
|
||||
msgstr "Nouveau tag"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr "Aucune munition"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:169
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr "Aucune munition pour ce type"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr "Aucun conteneur"
|
||||
@ -290,7 +290,7 @@ msgstr "Aucune invitation"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr "Aucun tag"
|
||||
@ -299,7 +299,7 @@ msgstr "Aucun tag"
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:93
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:90
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -372,7 +372,7 @@ msgstr "Simple :"
|
||||
msgid "Steel"
|
||||
msgstr "Acier"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:111
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr "Est stocké dans"
|
||||
@ -422,7 +422,7 @@ msgstr "Type"
|
||||
msgid "Type:"
|
||||
msgstr "Type :"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:115
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Users"
|
||||
msgstr "Utilisateurs"
|
||||
@ -437,7 +437,7 @@ msgstr "Utilisations restantes"
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr "Vos données restent avec vous, point final"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr "Aucun tag pour ce conteneur"
|
||||
@ -455,7 +455,7 @@ msgstr "Journée de stand"
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:46
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:91
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -477,7 +477,7 @@ msgstr "Aucune munition sélectionnée"
|
||||
msgid "Record shots"
|
||||
msgstr "Tirs enregistrés"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Shot Records"
|
||||
@ -489,7 +489,7 @@ msgid "New Shot Records"
|
||||
msgstr "Nouveaux enregistrements de tir"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr "Aucun tir enregistré"
|
||||
@ -501,7 +501,7 @@ msgid "Rounds left"
|
||||
msgstr "Cartouches restantes"
|
||||
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
@ -514,7 +514,7 @@ msgid "Shot Records"
|
||||
msgstr "Enregistrements de tir"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:38
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr "Déplacer munition"
|
||||
@ -536,7 +536,7 @@ msgstr "Évènements de tir"
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:180
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:137
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr "%{amount} $"
|
||||
@ -576,32 +576,24 @@ msgstr "Type de poudre"
|
||||
msgid "UPC"
|
||||
msgstr "UPC"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:80
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:20
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:76
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirmez le nouveau mot de passe"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:33
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:89
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current password"
|
||||
msgstr "Mot de passe actuel"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:73
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:16
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New password"
|
||||
msgstr "Nouveau mot de passe"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage"
|
||||
msgstr "Sélectionné"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr "Désélectionner"
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:62
|
||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -614,19 +606,19 @@ msgid "Reconnecting..."
|
||||
msgstr "Reconnexion en cours…"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:32
|
||||
#: lib/cannery_web/live/container_live/show.ex:113
|
||||
#: lib/cannery_web/live/container_live/show.ex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr "Éditer %{name}"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:69
|
||||
#: lib/cannery_web/live/container_live/show.ex:114
|
||||
#: lib/cannery_web/live/container_live/show.ex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr "Éditer les tags de %{name}"
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:60
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:70
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds:"
|
||||
@ -634,7 +626,7 @@ msgstr "Cartouches :"
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:222
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:179
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr "Aucune information de prix"
|
||||
@ -664,7 +656,7 @@ msgstr "Nombre original :"
|
||||
msgid "Percentage left:"
|
||||
msgstr "Pourcentage restant :"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr "Cartouches utilisées"
|
||||
@ -694,7 +686,7 @@ msgstr "S’enregistrer"
|
||||
msgid "Reset your password"
|
||||
msgstr "Réinitialiser votre mot de passe"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
@ -705,23 +697,23 @@ msgstr "Enregistrer des tirs"
|
||||
msgid "Copies"
|
||||
msgstr "Exemplaires"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr "Ajouté le :"
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:133
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "English"
|
||||
msgstr "Anglais"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:135
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:134
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "German"
|
||||
msgstr "Allemand"
|
||||
@ -759,33 +751,33 @@ msgstr "Voir le code source"
|
||||
msgid "Catalog"
|
||||
msgstr "Catalogue"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit Ammo"
|
||||
msgstr "Éditer le type de munition"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Move Ammo"
|
||||
msgstr "Déplacer munition"
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:115
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No ammo in this container"
|
||||
msgstr "Aucun groupe de munition pour ce conteneur"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Show Ammo"
|
||||
msgstr "Montrer le type de munition"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr "Ce groupe de munition n’est pas dans un conteneur"
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:55
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:26
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -813,10 +805,10 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr "Conteneur"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
@ -827,7 +819,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:136
|
||||
#: lib/cannery_web/live/range_live/index.ex:134
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr "Cartouches tirées"
|
||||
@ -844,9 +836,9 @@ msgstr "Packages :"
|
||||
msgid "Rounds"
|
||||
msgstr "Cartouches :"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:161
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
msgstr ""
|
||||
@ -856,7 +848,7 @@ msgstr ""
|
||||
msgid "Total ever packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:112
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr ""
|
||||
@ -866,7 +858,7 @@ msgstr ""
|
||||
msgid "Total ever rounds"
|
||||
msgstr "Quantité de cartouches"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Total ever rounds:"
|
||||
msgstr "Nombre totale de cartouches tirées :"
|
||||
@ -876,7 +868,7 @@ msgstr "Nombre totale de cartouches tirées :"
|
||||
msgid "Used packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr ""
|
||||
@ -886,7 +878,7 @@ msgstr ""
|
||||
msgid "Used rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
@ -997,13 +989,13 @@ msgid "UPC:"
|
||||
msgstr "UPC"
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:133
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:118
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr "Éditer %{name}"
|
||||
@ -1082,37 +1074,37 @@ msgid "Edit ammo"
|
||||
msgstr "Éditer le type de munition"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No Ammo types"
|
||||
msgstr "Aucun type de munition"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:57
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
@ -1181,12 +1173,12 @@ msgstr ""
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr "Bienvenue à %{name}"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Disable"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enable"
|
||||
msgstr ""
|
||||
@ -1200,3 +1192,39 @@ msgstr "Utilisations restantes :"
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Uses: %{uses_count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:20
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:17
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:24
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:20
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:168
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:141
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -14,25 +14,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.11.2\n"
|
||||
|
||||
## This file is a PO Template file.
|
||||
##
|
||||
## "msgid"s here are often extracted from source code.
|
||||
## Add new translations manually only if they're dynamic
|
||||
## translations that can't be statically extracted.
|
||||
##
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm your %{name} account"
|
||||
msgstr "Confirmer votre compte %{name}"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:2
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Hi %{email},"
|
||||
@ -51,66 +37,76 @@ msgstr ""
|
||||
"Si vous n’avez pas demandé ce changement depuis %{url}, veuillez ignorer "
|
||||
"ceci."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset your %{name} password"
|
||||
msgstr "Réinitialiser votre mot de passe %{name}"
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Update your %{name} email"
|
||||
msgstr "Mettre à jour votre mél %{name}"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}!"
|
||||
msgstr "Bienvenue à %{name} !"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}%!"
|
||||
msgstr "Bienvenue à %{name}% !"
|
||||
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:8
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:8
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can change your email by visiting the URL below:"
|
||||
msgstr "Vous pouvez changer votre mél en consultant l’URL ci-dessous :"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:6
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can confirm your account by visiting the URL below:"
|
||||
msgstr "Vous pouvez confirmer votre compte en consultant l’URL ci-dessous :"
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can reset your password by visiting the URL below:"
|
||||
msgstr ""
|
||||
"Vous pouvez réinitialiser votre mot de passe en visitant l’URL ci-dessous :"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't create an account at %{name}, please ignore this."
|
||||
## This file is a PO Template file.
|
||||
##
|
||||
## "msgid"s here are often extracted from source code.
|
||||
## Add new translations manually only if they're dynamic
|
||||
## translations that can't be statically extracted.
|
||||
##
|
||||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here has no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Confirm your Cannery account"
|
||||
msgstr "Confirmer votre compte %{name}"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:22
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "If you didn't create an account at Cannery, please ignore this."
|
||||
msgstr "Si vous n’avez pas créé de compte à %{name}, veuillez ignorer ceci."
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:16
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't request this change from %{name}, please ignore this."
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:16
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "If you didn't request this change from Cannery, please ignore this."
|
||||
msgstr ""
|
||||
"Si vous n’avez pas demandé ce changement depuis %{name}, veuillez ignorer "
|
||||
"ceci."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Reset your Cannery password"
|
||||
msgstr "Réinitialiser votre mot de passe %{name}"
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.txt.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name} at %{url}, the self-hosted firearm tracker website."
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This email was sent from Cannery at %{url}, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
"Ce mél a été envoyé depuis %{name} à %{url}, le site web de suivi d’arme à "
|
||||
"feux."
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name}, the self-hosted firearm tracker website."
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
|
||||
msgstr "Ce mél a été envoyé depuis %{name}, le site web de suivi d’arme à feu."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Update your Cannery email"
|
||||
msgstr "Mettre à jour votre mél %{name}"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:9
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr "Bienvenue à %{name} !"
|
||||
|
@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
|
||||
msgstr "Le conteneur doit être vide pour être supprimé"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:92
|
||||
#: lib/cannery_web/live/container_live/show.ex:73
|
||||
#: lib/cannery_web/live/container_live/show.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Could not delete %{name}: %{error}"
|
||||
msgstr "Impossible de supprimer %{name} : %{error}"
|
||||
@ -70,10 +70,10 @@ msgid "Not found"
|
||||
msgstr "Pas trouvé"
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:13
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:14
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:23
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:67
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:123
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:13
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:22
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:64
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Oops, something went wrong! Please check the errors below."
|
||||
msgstr ""
|
||||
@ -148,22 +148,16 @@ msgstr "doit contenir le symbole @ et aucune espace"
|
||||
msgid "Tag not found"
|
||||
msgstr "Tag pas trouvé"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:30
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be added"
|
||||
msgstr "Le tag n’a pas pu être ajouté"
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:122
|
||||
#: lib/cannery/activity_log/shot_group.ex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be at least 1"
|
||||
msgstr "Le nombre doit être au moins égal à 1"
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:82
|
||||
#: lib/cannery/activity_log/shot_group.ex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be less than %{count}"
|
||||
msgstr "La quantité doit être inférieur à %{count}"
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:39
|
||||
#: lib/cannery_web/controllers/user_auth.ex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -172,7 +166,7 @@ msgstr ""
|
||||
"Vous devez d’abord confirmer votre compte et vous connecter pour accéder à "
|
||||
"cette page."
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:52
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be removed"
|
||||
msgstr "Le tag n’a pas pu être retiré"
|
||||
@ -206,3 +200,9 @@ msgstr ""
|
||||
#, 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:83
|
||||
#: lib/cannery/activity_log/shot_group.ex:121
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Count must be less than %{count} shots"
|
||||
msgstr "La quantité doit être inférieur à %{count}"
|
||||
|
@ -39,7 +39,7 @@ msgid "%{name} deleted succesfully"
|
||||
msgstr "%{name} supprimé· avec succès"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:85
|
||||
#: lib/cannery_web/live/container_live/show.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} has been deleted"
|
||||
msgstr "%{name} a été supprimé·e"
|
||||
@ -59,33 +59,33 @@ msgstr ""
|
||||
"Un lien pour confirmer votre changement de mél a été envoyé à la nouvelle "
|
||||
"adresse."
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:126
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:133
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
"Êtes-vous certain·e de supprimer %{email} ? Cette action est définitive !"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:150
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr "Êtes-vous certain·e de supprimer %{name} ?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:166
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
msgstr "Êtes-vous certain·e de supprimer cette munition ?"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:163
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:157
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete your account?"
|
||||
msgstr "Êtes-vous certain·e de supprimer votre compte ?"
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:106
|
||||
#: lib/cannery_web/components/topbar.ex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to log out?"
|
||||
msgstr "Êtes-vous certain·e de vouloir vous déconnecter ?"
|
||||
@ -152,7 +152,7 @@ msgstr ""
|
||||
"Êtes-vous certain·e de vouloir retirer le tag %{tag_name} de "
|
||||
"%{container_name} ?"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:36
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:50
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} added successfully"
|
||||
msgstr "%{name} a été ajouté avec succès"
|
||||
@ -177,13 +177,13 @@ msgstr "Tirs enregistré avec succès"
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition ?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:142
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:143
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir ?"
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
@ -204,12 +204,12 @@ msgstr "%{email} confirmé avec succès."
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr "Munition déplacée à %{name} avec succès"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#: lib/cannery_web/live/invite_live/index.ex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copié dans le presse-papier"
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:58
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:77
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} removed successfully"
|
||||
msgstr "%{name} retiré avec succès"
|
||||
@ -225,7 +225,7 @@ msgstr "Vous aurez besoin de"
|
||||
msgid "Creating..."
|
||||
msgstr "Création en cours…"
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:144
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to change your language?"
|
||||
msgstr "Êtes-vous certain·e de vouloir changer votre langue ?"
|
||||
@ -236,12 +236,12 @@ msgid "Language updated successfully."
|
||||
msgstr "Langue mise à jour avec succès."
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:89
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:55
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:54
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr "Groupe de munition supprimé avec succès"
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:95
|
||||
#: lib/cannery_web/live/range_live/index.ex:94
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr "Groupe de munition désélectionner avec succès"
|
||||
@ -258,7 +258,7 @@ msgid_plural "Ammo added successfully"
|
||||
msgstr[0] "Groupe de munition mis à jour avec succès"
|
||||
msgstr[1] "Groupe de munition mis à jour avec succès"
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -289,17 +289,17 @@ msgstr "%{name} activé·e avec succès"
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr "%{name} mis à jour avec succès"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:140
|
||||
#: lib/cannery_web/live/invite_live/index.ex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr "%{name} supprimé· avec succès"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete the invite for %{invite_name}?"
|
||||
msgstr "Êtes-vous certain·e de supprimer l’invitation pour %{name} ?"
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr "Êtes-vous certain·e de vouloir rendre %{name} illimité ?"
|
||||
|
@ -44,13 +44,13 @@ msgid "Add your first type!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:15
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:59
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:101
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:57
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change password"
|
||||
msgstr ""
|
||||
@ -60,14 +60,14 @@ msgstr ""
|
||||
msgid "Create Invite"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:165
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete User"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Forgot your password?"
|
||||
msgstr ""
|
||||
@ -77,13 +77,13 @@ msgstr ""
|
||||
msgid "Invite someone new!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:135
|
||||
#: lib/cannery_web/components/topbar.ex:137
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:47
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:45
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:31
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:30
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Log in"
|
||||
msgstr ""
|
||||
@ -108,13 +108,13 @@ msgstr ""
|
||||
msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:127
|
||||
#: lib/cannery_web/components/topbar.ex:129
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:3
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:37
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:44
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:42
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:28
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:41
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Register"
|
||||
msgstr ""
|
||||
@ -126,7 +126,7 @@ msgid "Resend confirmation instructions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:3
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr ""
|
||||
@ -147,7 +147,7 @@ msgstr ""
|
||||
msgid "Send instructions to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Why not add one?"
|
||||
msgstr ""
|
||||
@ -167,8 +167,8 @@ msgstr ""
|
||||
msgid "Why not get some ready to shoot?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:107
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:38
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record shots"
|
||||
@ -179,7 +179,7 @@ msgstr ""
|
||||
msgid "Add another container!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move containers"
|
||||
msgstr ""
|
||||
@ -189,7 +189,7 @@ msgstr ""
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy to clipboard"
|
||||
msgstr ""
|
||||
@ -204,17 +204,17 @@ msgstr ""
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:115
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change Language"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:142
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Change language"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:60
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View in Catalog"
|
||||
msgstr ""
|
||||
@ -229,24 +229,128 @@ msgstr ""
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:78
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Set Unlimited"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:93
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage for range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:85
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:92
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage from range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:156
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:150
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Export Data as JSON"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:83
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:86
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copy invite link for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:102
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:36
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:101
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:145
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:76
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:128
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{tag_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:66
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot group of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:105
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit shot record of %{shot_group_count} shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:95
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag %{container_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View %{ammo_type_name}"
|
||||
msgstr ""
|
||||
|
@ -17,7 +17,7 @@ msgstr ""
|
||||
msgid "Access from any internet-capable device"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:87
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Admins"
|
||||
msgstr ""
|
||||
@ -186,14 +186,14 @@ msgstr ""
|
||||
msgid "Invite Only"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:90
|
||||
#: lib/cannery_web/components/topbar.ex:89
|
||||
#: lib/cannery_web/live/invite_live/index.ex:42
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:3
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Invites"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:25
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Keep me logged in for 60 days"
|
||||
msgstr ""
|
||||
@ -265,18 +265,18 @@ msgid "New Tag"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:71
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:167
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:169
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo for this type"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:47
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No containers"
|
||||
msgstr ""
|
||||
@ -288,7 +288,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:10
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:43
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags"
|
||||
msgstr ""
|
||||
@ -297,7 +297,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:81
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:50
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:93
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:90
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Notes"
|
||||
@ -368,7 +368,7 @@ msgstr ""
|
||||
msgid "Steel"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:111
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:117
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored in"
|
||||
msgstr ""
|
||||
@ -416,7 +416,7 @@ msgstr ""
|
||||
msgid "Type:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:115
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
@ -431,7 +431,7 @@ msgstr ""
|
||||
msgid "Your data stays with you, period"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No tags for this container"
|
||||
msgstr ""
|
||||
@ -449,7 +449,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/add_shot_group_component.html.heex:46
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:94
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:91
|
||||
#: lib/cannery_web/live/range_live/form_component.html.heex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Date"
|
||||
@ -471,7 +471,7 @@ msgstr ""
|
||||
msgid "Record shots"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/range_live/index.ex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Shot Records"
|
||||
@ -483,7 +483,7 @@ msgid "New Shot Records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No shots recorded"
|
||||
msgstr ""
|
||||
@ -495,7 +495,7 @@ msgid "Rounds left"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/shot_group_table_component.ex:42
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:92
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:89
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds shot"
|
||||
@ -508,7 +508,7 @@ msgid "Shot Records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:38
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:118
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move ammo"
|
||||
msgstr ""
|
||||
@ -530,7 +530,7 @@ msgstr ""
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:180
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:137
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:139
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "$%{amount}"
|
||||
msgstr ""
|
||||
@ -570,32 +570,24 @@ msgstr ""
|
||||
msgid "UPC"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:80
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:20
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:76
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm new password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:33
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:89
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:31
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Current password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:73
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:16
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "New password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unstage"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:62
|
||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -608,19 +600,19 @@ msgid "Reconnecting..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:32
|
||||
#: lib/cannery_web/live/container_live/show.ex:113
|
||||
#: lib/cannery_web/live/container_live/show.ex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:69
|
||||
#: lib/cannery_web/live/container_live/show.ex:114
|
||||
#: lib/cannery_web/live/container_live/show.ex:111
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit %{name} tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:60
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:68
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:70
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds:"
|
||||
@ -628,7 +620,7 @@ msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_group_table_component.ex:222
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:179
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:143
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No cost information"
|
||||
msgstr ""
|
||||
@ -658,7 +650,7 @@ msgstr ""
|
||||
msgid "Percentage left:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rounds used"
|
||||
msgstr ""
|
||||
@ -688,7 +680,7 @@ msgstr ""
|
||||
msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:41
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:40
|
||||
#: lib/cannery_web/live/range_live/index.ex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Record Shots"
|
||||
@ -699,23 +691,23 @@ msgstr ""
|
||||
msgid "Copies"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:124
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Added on:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:32
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:133
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:135
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:134
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:128
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
@ -753,33 +745,33 @@ msgstr ""
|
||||
msgid "Catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:45
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:42
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Move Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:113
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:115
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No ammo in this container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:44
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show Ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:122
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This ammo is not in a container"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/container_card.ex:55
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:96
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:26
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packs:"
|
||||
@ -806,10 +798,10 @@ msgstr ""
|
||||
msgid "Container:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:64
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:153
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:99
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:155
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Show used"
|
||||
msgstr ""
|
||||
@ -820,7 +812,7 @@ msgstr ""
|
||||
msgid "%{percentage}%"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:136
|
||||
#: lib/cannery_web/live/range_live/index.ex:134
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Rounds shot: %{count}"
|
||||
msgstr ""
|
||||
@ -837,9 +829,9 @@ msgstr ""
|
||||
msgid "Rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:159
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:105
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:161
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:38
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View as table"
|
||||
msgstr ""
|
||||
@ -849,7 +841,7 @@ msgstr ""
|
||||
msgid "Total ever packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:112
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total ever packs:"
|
||||
msgstr ""
|
||||
@ -859,7 +851,7 @@ msgstr ""
|
||||
msgid "Total ever rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:84
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:86
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Total ever rounds:"
|
||||
msgstr ""
|
||||
@ -869,7 +861,7 @@ msgstr ""
|
||||
msgid "Used packs"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:104
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:106
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Used packs:"
|
||||
msgstr ""
|
||||
@ -879,7 +871,7 @@ msgstr ""
|
||||
msgid "Used rounds"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:76
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Used rounds:"
|
||||
msgstr ""
|
||||
@ -990,13 +982,13 @@ msgid "UPC:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/ammo_type_table_component.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:133
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Average CPR"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.ex:28
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:120
|
||||
#: lib/cannery_web/live/ammo_type_live/show.ex:118
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Edit %{ammo_type_name}"
|
||||
msgstr ""
|
||||
@ -1075,37 +1067,37 @@ msgid "Edit ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:8
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:46
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:45
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "No Ammo types"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search catalog"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:58
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:57
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search ammo"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:32
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search containers"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:36
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search tags"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:83
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:82
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search shot records"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:136
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
@ -1172,12 +1164,12 @@ msgstr ""
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Disable"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enable"
|
||||
msgstr ""
|
||||
@ -1191,3 +1183,39 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Uses: %{uses_count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_confirmation/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:20
|
||||
#: lib/cannery_web/templates/user_reset_password/new.html.heex:12
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:17
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:24
|
||||
#: lib/cannery_web/templates/user_session/new.html.heex:20
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Clone ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:168
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Delete ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:141
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Edit ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:129
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View ammo group of %{ammo_group_count} bullets"
|
||||
msgstr ""
|
||||
|
@ -3,14 +3,62 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-11-06 23:51+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"PO-Revision-Date: 2023-03-18 00:52+0000\n"
|
||||
"Last-Translator: pehoulihan <pehoulihan@gmail.com>\n"
|
||||
"Language-Team: Irish <https://weblate.bubbletea.dev/projects/cannery/emails/"
|
||||
"ga/>\n"
|
||||
"Language: ga\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Translate Toolkit 3.7.3\n"
|
||||
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :("
|
||||
"n>6 && n<11) ? 3 : 4;\n"
|
||||
"X-Generator: Weblate 4.16.2\n"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:3
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:2
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Hi %{email},"
|
||||
msgstr "Fáilte %{email},"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:10
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't create an account at %{url}, please ignore this."
|
||||
msgstr ""
|
||||
"Murar chruthaigh sibh cuntas ag %{url}, déan neamhaird de seo le bhur dtoil."
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:8
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't request this change from %{url}, please ignore this."
|
||||
msgstr ""
|
||||
"Murar iarr tú an t-athrú seo ó %{url}, déan neamhaird de seo le do thoil."
|
||||
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:8
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can change your email by visiting the URL below:"
|
||||
msgstr ""
|
||||
"Is féidir leat do ríomhphost a athrú ach cuairt a thabhairt ar an URL thíos:"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:6
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can confirm your account by visiting the URL below:"
|
||||
msgstr ""
|
||||
"Is féidir leat do chuntas a dhearbhú ach cuairt a thabhairt ar an URL thíos:"
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can reset your password by visiting the URL below:"
|
||||
msgstr ""
|
||||
"Is féidir leat do phasfhocal a athshocrú ach cuairt a thabhairt ar an URL "
|
||||
"thíos:"
|
||||
|
||||
## This file is a PO Template file.
|
||||
##
|
||||
@ -23,85 +71,46 @@ msgstr ""
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#: lib/cannery/accounts/email.ex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Confirm your %{name} account"
|
||||
msgstr ""
|
||||
msgid "Confirm your Cannery account"
|
||||
msgstr "Deimhnigh do chuntas Cannery"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:3
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:3
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:2
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Hi %{email},"
|
||||
msgstr ""
|
||||
msgid "If you didn't create an account at Cannery, please ignore this."
|
||||
msgstr "Murar chruthaigh tú cuntas ag Cannery, déan neamhaird de seo."
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:10
|
||||
#: lib/cannery_web/templates/email/reset_password.html.heex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.heex:16
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't create an account at %{url}, please ignore this."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:8
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't request this change from %{url}, please ignore this."
|
||||
msgstr ""
|
||||
msgid "If you didn't request this change from Cannery, please ignore this."
|
||||
msgstr "Murar iarr tú an t-athrú seo ó Cannery, déan neamhaird de."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset your %{name} password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Update your %{name} email"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to %{name}%!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:8
|
||||
#: lib/cannery_web/templates/email/update_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can change your email by visiting the URL below:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:14
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:6
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can confirm your account by visiting the URL below:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:8
|
||||
#: lib/cannery_web/templates/email/reset_password.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You can reset your password by visiting the URL below:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.eex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't create an account at %{name}, please ignore this."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/email/reset_password.html.eex:16
|
||||
#: lib/cannery_web/templates/email/update_email.html.eex:16
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "If you didn't request this change from %{name}, please ignore this."
|
||||
msgstr ""
|
||||
msgid "Reset your Cannery password"
|
||||
msgstr "Athshocraigh do phasfhocal Cannery"
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.txt.eex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name} at %{url}, the self-hosted firearm tracker website."
|
||||
msgid "This email was sent from Cannery at %{url}, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
"Seoladh an ríomhphost seo ó Cannery ag %{url}, an suíomh Gréasáin féin-"
|
||||
"óstáilte rianaithe airm tine."
|
||||
|
||||
#: lib/cannery_web/templates/layout/email.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "This email was sent from %{name}, the self-hosted firearm tracker website."
|
||||
msgid "This email was sent from Cannery, the self-hosted firearm tracker website."
|
||||
msgstr ""
|
||||
"Tá an ríomhphost seo ó Cannery, an suíomh Gréasáin féin-óstáilte rianaithe "
|
||||
"airm tine."
|
||||
|
||||
#: lib/cannery/accounts/email.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Update your Cannery email"
|
||||
msgstr "Nuashonraigh do ríomhphost Cannery"
|
||||
|
||||
#: lib/cannery_web/templates/email/confirm_email.html.heex:9
|
||||
#: lib/cannery_web/templates/email/confirm_email.txt.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Welcome to Cannery"
|
||||
msgstr "Fáilte go Cannery"
|
||||
|
@ -30,7 +30,7 @@ msgid "Container must be empty before deleting"
|
||||
msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh"
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:92
|
||||
#: lib/cannery_web/live/container_live/show.ex:73
|
||||
#: lib/cannery_web/live/container_live/show.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Could not delete %{name}: %{error}"
|
||||
msgstr "Ní feidir %{name} a scriosadh: %{error}"
|
||||
@ -71,10 +71,10 @@ msgid "Not found"
|
||||
msgstr "Ní feidir é a fáil"
|
||||
|
||||
#: lib/cannery_web/templates/user_registration/new.html.heex:13
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:14
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:23
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:67
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:123
|
||||
#: lib/cannery_web/templates/user_reset_password/edit.html.heex:13
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:22
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:64
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Oops, something went wrong! Please check the errors below."
|
||||
msgstr ""
|
||||
@ -149,29 +149,23 @@ msgstr ""
|
||||
msgid "Tag not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:30
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be added"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:122
|
||||
#: lib/cannery/activity_log/shot_group.ex:126
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:82
|
||||
#: lib/cannery/activity_log/shot_group.ex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Count must be less than %{count}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/controllers/user_auth.ex:39
|
||||
#: lib/cannery_web/controllers/user_auth.ex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "You must confirm your account and log in to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:52
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Tag could not be removed"
|
||||
msgstr ""
|
||||
@ -205,3 +199,9 @@ msgstr ""
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Please select a valid user and ammo pack"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery/activity_log/shot_group.ex:83
|
||||
#: lib/cannery/activity_log/shot_group.ex:121
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Count must be less than %{count} shots"
|
||||
msgstr ""
|
||||
|
@ -37,7 +37,7 @@ msgid "%{name} deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:85
|
||||
#: lib/cannery_web/live/container_live/show.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} has been deleted"
|
||||
msgstr ""
|
||||
@ -55,32 +55,32 @@ msgstr ""
|
||||
msgid "A link to confirm your email change has been sent to the new address."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:126
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:133
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:150
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:166
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:163
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:157
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete your account?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:106
|
||||
#: lib/cannery_web/components/topbar.ex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to log out?"
|
||||
msgstr ""
|
||||
@ -141,7 +141,7 @@ msgstr ""
|
||||
msgid "Are you sure you want to remove the %{tag_name} tag from %{container_name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:36
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:50
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} added successfully"
|
||||
msgstr ""
|
||||
@ -166,13 +166,13 @@ msgstr ""
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:142
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:143
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
@ -193,12 +193,12 @@ msgstr ""
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#: lib/cannery_web/live/invite_live/index.ex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:58
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:77
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} removed successfully"
|
||||
msgstr ""
|
||||
@ -214,7 +214,7 @@ msgstr ""
|
||||
msgid "Creating..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:144
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to change your language?"
|
||||
msgstr ""
|
||||
@ -225,12 +225,12 @@ msgid "Language updated successfully."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:89
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:55
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:54
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:95
|
||||
#: lib/cannery_web/live/range_live/index.ex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
@ -246,8 +246,11 @@ msgid "Ammo added successfully"
|
||||
msgid_plural "Ammo added successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
msgstr[4] ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -278,17 +281,17 @@ msgstr ""
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:140
|
||||
#: lib/cannery_web/live/invite_live/index.ex:138
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to delete the invite for %{invite_name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr ""
|
||||
|
@ -26,7 +26,7 @@ msgid "%{name} deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.ex:85
|
||||
#: lib/cannery_web/live/container_live/show.ex:63
|
||||
#: lib/cannery_web/live/container_live/show.ex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} has been deleted"
|
||||
msgstr ""
|
||||
@ -44,32 +44,32 @@ msgstr ""
|
||||
msgid "A link to confirm your email change has been sent to the new address."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:126
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:105
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:133
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:92
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:135
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:98
|
||||
#: lib/cannery_web/live/container_live/index.html.heex:150
|
||||
#: lib/cannery_web/live/container_live/show.html.heex:55
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:63
|
||||
#: lib/cannery_web/live/tag_live/index.html.heex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:153
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
|
||||
#: lib/cannery_web/live/ammo_group_live/index.html.heex:166
|
||||
#: lib/cannery_web/live/ammo_group_live/show.html.heex:78
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:163
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:157
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete your account?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/components/topbar.ex:106
|
||||
#: lib/cannery_web/components/topbar.ex:104
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to log out?"
|
||||
msgstr ""
|
||||
@ -130,7 +130,7 @@ msgstr ""
|
||||
msgid "Are you sure you want to remove the %{tag_name} tag from %{container_name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:36
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:50
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} added successfully"
|
||||
msgstr ""
|
||||
@ -155,13 +155,13 @@ msgstr ""
|
||||
msgid "Are you sure you want to unstage this ammo?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:142
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:116
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:143
|
||||
#: lib/cannery_web/live/range_live/index.html.heex:119
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete this shot record?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:83
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:80
|
||||
#: lib/cannery_web/live/range_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Shot records deleted succesfully"
|
||||
@ -182,12 +182,12 @@ msgstr ""
|
||||
msgid "Ammo moved to %{name} successfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:128
|
||||
#: lib/cannery_web/live/invite_live/index.ex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:58
|
||||
#: lib/cannery_web/live/container_live/edit_tags_component.ex:77
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{name} removed successfully"
|
||||
msgstr ""
|
||||
@ -203,7 +203,7 @@ msgstr ""
|
||||
msgid "Creating..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:144
|
||||
#: lib/cannery_web/templates/user_settings/edit.html.heex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to change your language?"
|
||||
msgstr ""
|
||||
@ -214,12 +214,12 @@ msgid "Language updated successfully."
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_group_live/index.ex:89
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:55
|
||||
#: lib/cannery_web/live/ammo_group_live/show.ex:54
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/range_live/index.ex:95
|
||||
#: lib/cannery_web/live/range_live/index.ex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Ammo unstaged succesfully"
|
||||
msgstr ""
|
||||
@ -236,7 +236,7 @@ msgid_plural "Ammo added successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:90
|
||||
#: lib/cannery_web/live/ammo_type_live/index.html.heex:95
|
||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!"
|
||||
@ -267,17 +267,17 @@ msgstr ""
|
||||
msgid "%{invite_name} updated succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.ex:140
|
||||
#: lib/cannery_web/live/invite_live/index.ex:138
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{user_email} deleted succesfully"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:48
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to delete the invite for %{invite_name}?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:73
|
||||
#: lib/cannery_web/live/invite_live/index.html.heex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Are you sure you want to make %{invite_name} unlimited?"
|
||||
msgstr ""
|
||||
|
@ -10,8 +10,6 @@ defmodule Cannery.AccountsTest do
|
||||
|
||||
@moduletag :accounts_test
|
||||
|
||||
doctest Accounts, import: true
|
||||
|
||||
describe "get_user_by_email/1" do
|
||||
test "does not return the user if the email does not exist" do
|
||||
refute Accounts.get_user_by_email("unknown@example.com")
|
||||
|
@ -116,7 +116,7 @@ defmodule CanneryWeb.UserAuthTest do
|
||||
end
|
||||
|
||||
test "does not authenticate if data is missing", %{conn: conn, current_user: current_user} do
|
||||
_token = Accounts.generate_user_session_token(current_user)
|
||||
_session_token = Accounts.generate_user_session_token(current_user)
|
||||
conn = UserAuth.fetch_current_user(conn, [])
|
||||
refute get_session(conn, :user_token)
|
||||
refute conn.assigns.current_user
|
||||
|
@ -74,7 +74,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
assert html =~ ammo_group.ammo_type.name
|
||||
|
||||
assert index_live
|
||||
|> form("[data-qa=\"ammo_group_search\"]",
|
||||
|> form(~s/form[phx-change="search"]/,
|
||||
search: %{search_term: ammo_group.ammo_type.name}
|
||||
)
|
||||
|> render_change() =~ ammo_group.ammo_type.name
|
||||
@ -85,13 +85,13 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
)
|
||||
|
||||
refute index_live
|
||||
|> form("[data-qa=\"ammo_group_search\"]", search: %{search_term: "something_else"})
|
||||
|> form(~s/form[phx-change="search"]/, search: %{search_term: "something_else"})
|
||||
|> render_change() =~ ammo_group.ammo_type.name
|
||||
|
||||
assert_patch(index_live, Routes.ammo_group_index_path(conn, :search, "something_else"))
|
||||
|
||||
assert index_live
|
||||
|> form("[data-qa=\"ammo_group_search\"]", search: %{search_term: ""})
|
||||
|> form(~s/form[phx-change="search"]/, search: %{search_term: ""})
|
||||
|> render_change() =~ ammo_group.ammo_type.name
|
||||
|
||||
assert_patch(index_live, Routes.ammo_group_index_path(conn, :index))
|
||||
@ -185,7 +185,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
{:ok, index_live, _html} = live(conn, Routes.ammo_group_index_path(conn, :index))
|
||||
|
||||
assert index_live
|
||||
|> element("[data-qa=\"edit-#{ammo_group.id}\"]")
|
||||
|> element(~s/a[aria-label="Edit ammo group of #{ammo_group.count} bullets"]/)
|
||||
|> render_click() =~
|
||||
gettext("Edit ammo")
|
||||
|
||||
@ -210,7 +210,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
|
||||
html =
|
||||
index_live
|
||||
|> element("[data-qa=\"clone-#{ammo_group.id}\"]")
|
||||
|> element(~s/a[aria-label="Clone ammo group of #{ammo_group.count} bullets"]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ dgettext("actions", "Add Ammo")
|
||||
@ -238,7 +238,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
|
||||
html =
|
||||
index_live
|
||||
|> element("[data-qa=\"clone-#{ammo_group.id}\"]")
|
||||
|> element(~s/a[aria-label="Clone ammo group of #{ammo_group.count} bullets"]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ dgettext("actions", "Add Ammo")
|
||||
@ -265,7 +265,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
{:ok, index_live, _html} = live(conn, Routes.ammo_group_index_path(conn, :index))
|
||||
|
||||
assert index_live
|
||||
|> element("[data-qa=\"delete-#{ammo_group.id}\"]")
|
||||
|> element(~s/a[aria-label="Delete ammo group of #{ammo_group.count} bullets"]/)
|
||||
|> render_click()
|
||||
|
||||
refute has_element?(index_live, "#ammo_group-#{ammo_group.id}")
|
||||
@ -309,7 +309,10 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
) <>
|
||||
"\n"
|
||||
|
||||
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ gettext("$%{amount}", amount: 50.00 |> :erlang.float_to_binary(decimals: 2))
|
||||
|
||||
@ -337,7 +340,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
{:ok, show_live, _html} = live(conn, Routes.ammo_group_show_path(conn, :show, ammo_group))
|
||||
|
||||
assert show_live
|
||||
|> element("[data-qa=\"edit\"]")
|
||||
|> element(~s/a[aria-label="Edit ammo group of #{ammo_group.count} bullets"]/)
|
||||
|> render_click() =~
|
||||
gettext("Edit Ammo")
|
||||
|
||||
@ -386,7 +389,9 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
%{conn: conn, ammo_group: ammo_group, shot_group: shot_group} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.ammo_group_show_path(conn, :edit, ammo_group))
|
||||
|
||||
assert index_live |> element("[data-qa=\"edit-#{shot_group.id}\"]") |> render_click() =~
|
||||
assert index_live
|
||||
|> element(~s/a[aria-label="Edit shot group of #{shot_group.count} shots"]/)
|
||||
|> render_click() =~
|
||||
gettext("Edit Shot Records")
|
||||
|
||||
assert_patch(
|
||||
@ -413,7 +418,10 @@ defmodule CanneryWeb.AmmoGroupLiveTest do
|
||||
{:ok, index_live, _html} =
|
||||
live(conn, Routes.ammo_group_show_path(conn, :edit_shot_group, ammo_group, shot_group))
|
||||
|
||||
assert index_live |> element("[data-qa=\"delete-#{shot_group.id}\"]") |> render_click()
|
||||
assert index_live
|
||||
|> element(~s/a[aria-label="Delete shot record of #{shot_group.count} shots"]/)
|
||||
|> render_click()
|
||||
|
||||
refute has_element?(index_live, "#shot_group-#{shot_group.id}")
|
||||
end
|
||||
end
|
||||
|
@ -80,7 +80,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
assert html =~ ammo_type.bullet_type
|
||||
|
||||
assert index_live
|
||||
|> form("[data-qa=\"ammo_type_search\"]",
|
||||
|> form(~s/form[phx-change="search"]/,
|
||||
search: %{search_term: ammo_type.bullet_type}
|
||||
)
|
||||
|> render_change() =~ ammo_type.bullet_type
|
||||
@ -88,13 +88,13 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
assert_patch(index_live, Routes.ammo_type_index_path(conn, :search, ammo_type.bullet_type))
|
||||
|
||||
refute index_live
|
||||
|> form("[data-qa=\"ammo_type_search\"]", search: %{search_term: "something_else"})
|
||||
|> form(~s/form[phx-change="search"]/, search: %{search_term: "something_else"})
|
||||
|> render_change() =~ ammo_type.bullet_type
|
||||
|
||||
assert_patch(index_live, Routes.ammo_type_index_path(conn, :search, "something_else"))
|
||||
|
||||
assert index_live
|
||||
|> form("[data-qa=\"ammo_type_search\"]", search: %{search_term: ""})
|
||||
|> form(~s/form[phx-change="search"]/, search: %{search_term: ""})
|
||||
|> render_change() =~ ammo_type.bullet_type
|
||||
|
||||
assert_patch(index_live, Routes.ammo_type_index_path(conn, :index))
|
||||
@ -127,7 +127,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
%{conn: conn, current_user: current_user, ammo_type: ammo_type} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"edit-#{ammo_type.id}\"]") |> render_click() =~
|
||||
assert index_live |> element(~s/a[aria-label="Edit #{ammo_type.name}"]/) |> render_click() =~
|
||||
gettext("Edit %{ammo_type_name}", ammo_type_name: ammo_type.name)
|
||||
|
||||
assert_patch(index_live, Routes.ammo_type_index_path(conn, :edit, ammo_type))
|
||||
@ -151,7 +151,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
%{conn: conn, current_user: current_user, ammo_type: ammo_type} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index))
|
||||
|
||||
html = index_live |> element("[data-qa=\"clone-#{ammo_type.id}\"]") |> render_click()
|
||||
html = index_live |> element(~s/a[aria-label="Clone #{ammo_type.name}"]/) |> render_click()
|
||||
assert html =~ gettext("New Ammo type")
|
||||
assert html =~ "some bullet_type"
|
||||
|
||||
@ -176,7 +176,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
%{conn: conn, current_user: current_user, ammo_type: ammo_type} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index))
|
||||
|
||||
html = index_live |> element("[data-qa=\"clone-#{ammo_type.id}\"]") |> render_click()
|
||||
html = index_live |> element(~s/a[aria-label="Clone #{ammo_type.name}"]/) |> render_click()
|
||||
assert html =~ gettext("New Ammo type")
|
||||
assert html =~ "some bullet_type"
|
||||
|
||||
@ -202,7 +202,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
test "deletes ammo_type in listing", %{conn: conn, ammo_type: ammo_type} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"delete-#{ammo_type.id}\"]") |> render_click()
|
||||
assert index_live |> element(~s/a[aria-label="Delete #{ammo_type.name}"]/) |> render_click()
|
||||
refute has_element?(index_live, "#ammo_type-#{ammo_type.id}")
|
||||
end
|
||||
end
|
||||
@ -220,7 +220,10 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
refute html =~ gettext("Used packs")
|
||||
refute html =~ gettext("Total ever packs")
|
||||
|
||||
html = index_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
||||
html =
|
||||
index_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ gettext("Used rounds")
|
||||
assert html =~ gettext("Total ever rounds")
|
||||
@ -234,7 +237,11 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
shot_group_fixture(%{"count" => 5}, current_user, ammo_group)
|
||||
|
||||
{:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index))
|
||||
html = index_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
||||
|
||||
html =
|
||||
index_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ "15"
|
||||
assert html =~ "5"
|
||||
@ -258,7 +265,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
%{conn: conn, current_user: current_user, ammo_type: %{name: name} = ammo_type} do
|
||||
{:ok, show_live, _html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
|
||||
|
||||
assert show_live |> element("[data-qa=\"edit\"]") |> render_click() =~
|
||||
assert show_live |> element(~s/a[aria-label="Edit #{ammo_type.name}"]/) |> render_click() =~
|
||||
gettext("Edit %{ammo_type_name}", ammo_type_name: name)
|
||||
|
||||
assert_patch(show_live, Routes.ammo_type_show_path(conn, :edit, ammo_type))
|
||||
@ -298,7 +305,11 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
%{conn: conn, ammo_type: ammo_type, container: %{name: container_name}} do
|
||||
{:ok, show_live, _html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
|
||||
|
||||
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type))
|
||||
|
||||
assert html =~ "some ammo group"
|
||||
@ -316,7 +327,10 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
assert html =~ dgettext("actions", "Show used")
|
||||
refute html =~ "some ammo group"
|
||||
|
||||
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ "some ammo group"
|
||||
assert html =~ "Empty"
|
||||
@ -327,13 +341,20 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
|
||||
%{conn: conn, ammo_type: ammo_type, container: %{name: container_name}} do
|
||||
{:ok, show_live, _html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
|
||||
|
||||
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type))
|
||||
|
||||
assert html =~ dgettext("actions", "Show used")
|
||||
refute html =~ "some ammo group"
|
||||
|
||||
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ "some ammo group"
|
||||
assert html =~ "Empty"
|
||||
|
@ -75,7 +75,10 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
test "lists all containers in table mode", %{conn: conn, container: container} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
||||
|
||||
html = index_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
|
||||
html =
|
||||
index_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ gettext("Containers")
|
||||
assert html =~ container.location
|
||||
@ -87,7 +90,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
assert html =~ container.location
|
||||
|
||||
assert index_live
|
||||
|> form("[data-qa=\"container_search\"]",
|
||||
|> form(~s/form[phx-change="search"]/,
|
||||
search: %{search_term: container.location}
|
||||
)
|
||||
|> render_change() =~ container.location
|
||||
@ -95,13 +98,13 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
assert_patch(index_live, Routes.container_index_path(conn, :search, container.location))
|
||||
|
||||
refute index_live
|
||||
|> form("[data-qa=\"container_search\"]", search: %{search_term: "something_else"})
|
||||
|> form(~s/form[phx-change="search"]/, search: %{search_term: "something_else"})
|
||||
|> render_change() =~ container.location
|
||||
|
||||
assert_patch(index_live, Routes.container_index_path(conn, :search, "something_else"))
|
||||
|
||||
assert index_live
|
||||
|> form("[data-qa=\"container_search\"]", search: %{search_term: ""})
|
||||
|> form(~s/form[phx-change="search"]/, search: %{search_term: ""})
|
||||
|> render_change() =~ container.location
|
||||
|
||||
assert_patch(index_live, Routes.container_index_path(conn, :index))
|
||||
@ -136,7 +139,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"edit-#{container.id}\"]") |> render_click() =~
|
||||
assert index_live |> element(~s/a[aria-label="Edit #{container.name}"]/) |> render_click() =~
|
||||
gettext("Edit %{name}", name: container.name)
|
||||
|
||||
assert_patch(index_live, Routes.container_index_path(conn, :edit, container))
|
||||
@ -163,7 +166,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
||||
|
||||
html = index_live |> element("[data-qa=\"clone-#{container.id}\"]") |> render_click()
|
||||
html = index_live |> element(~s/a[aria-label="Clone #{container.name}"]/) |> render_click()
|
||||
assert html =~ gettext("New Container")
|
||||
assert html =~ "some location"
|
||||
|
||||
@ -191,7 +194,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"clone-#{container.id}\"]") |> render_click() =~
|
||||
assert index_live |> element(~s/a[aria-label="Clone #{container.name}"]/) |> render_click() =~
|
||||
gettext("New Container")
|
||||
|
||||
assert_patch(index_live, Routes.container_index_path(conn, :clone, container))
|
||||
@ -216,7 +219,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
test "deletes container in listing", %{conn: conn, container: container} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"delete-#{container.id}\"]") |> render_click()
|
||||
assert index_live |> element(~s/a[aria-label="Delete #{container.name}"]/) |> render_click()
|
||||
refute has_element?(index_live, "#container-#{container.id}")
|
||||
end
|
||||
end
|
||||
@ -241,7 +244,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
} do
|
||||
{:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container))
|
||||
|
||||
assert show_live |> element("[data-qa=\"edit\"]") |> render_click() =~
|
||||
assert show_live |> element(~s/a[aria-label="Edit #{container.name}"]/) |> render_click() =~
|
||||
gettext("Edit %{name}", name: container.name)
|
||||
|
||||
assert_patch(show_live, Routes.container_show_path(conn, :edit, container))
|
||||
@ -277,7 +280,10 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
%{conn: conn, ammo_type: %{name: ammo_type_name}, container: container} do
|
||||
{:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container))
|
||||
|
||||
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ ammo_type_name
|
||||
assert html =~ "some ammo group"
|
||||
@ -294,7 +300,10 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
assert html =~ dgettext("actions", "Show used")
|
||||
refute html =~ "some ammo group"
|
||||
|
||||
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ ammo_type_name
|
||||
assert html =~ "some ammo group"
|
||||
@ -305,12 +314,18 @@ defmodule CanneryWeb.ContainerLiveTest do
|
||||
%{conn: conn, ammo_type: %{name: ammo_type_name}, container: container} do
|
||||
{:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container))
|
||||
|
||||
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ dgettext("actions", "Show used")
|
||||
refute html =~ "some ammo group"
|
||||
|
||||
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
|
||||
html =
|
||||
show_live
|
||||
|> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/)
|
||||
|> render_click()
|
||||
|
||||
assert html =~ ammo_type_name
|
||||
assert html =~ "some ammo group"
|
||||
|
@ -55,7 +55,9 @@ defmodule CanneryWeb.InviteLiveTest do
|
||||
test "updates invite in listing", %{conn: conn, invite: invite} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.invite_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"edit-#{invite.id}\"]") |> render_click() =~
|
||||
assert index_live
|
||||
|> element(~s/a[aria-label="Edit invite for #{invite.name}"]/)
|
||||
|> render_click() =~
|
||||
gettext("Edit Invite")
|
||||
|
||||
assert_patch(index_live, Routes.invite_index_path(conn, :edit, invite))
|
||||
@ -81,7 +83,10 @@ defmodule CanneryWeb.InviteLiveTest do
|
||||
test "deletes invite in listing", %{conn: conn, invite: invite} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.invite_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"delete-#{invite.id}\"]") |> render_click()
|
||||
assert index_live
|
||||
|> element(~s/a[aria-label="Delete invite for #{invite.name}"]/)
|
||||
|> render_click()
|
||||
|
||||
refute has_element?(index_live, "#invite-#{invite.id}")
|
||||
end
|
||||
end
|
||||
|
@ -43,7 +43,7 @@ defmodule CanneryWeb.RangeLiveTest do
|
||||
assert html =~ shot_group.notes
|
||||
|
||||
assert index_live
|
||||
|> form("[data-qa=\"shot_group_search\"]",
|
||||
|> form(~s/form[phx-change="search"]/,
|
||||
search: %{search_term: shot_group.notes}
|
||||
)
|
||||
|> render_change() =~ shot_group.notes
|
||||
@ -51,13 +51,13 @@ defmodule CanneryWeb.RangeLiveTest do
|
||||
assert_patch(index_live, Routes.range_index_path(conn, :search, shot_group.notes))
|
||||
|
||||
refute index_live
|
||||
|> form("[data-qa=\"shot_group_search\"]", search: %{search_term: "something_else"})
|
||||
|> form(~s/form[phx-change="search"]/, search: %{search_term: "something_else"})
|
||||
|> render_change() =~ shot_group.notes
|
||||
|
||||
assert_patch(index_live, Routes.range_index_path(conn, :search, "something_else"))
|
||||
|
||||
assert index_live
|
||||
|> form("[data-qa=\"shot_group_search\"]", search: %{search_term: ""})
|
||||
|> form(~s/form[phx-change="search"]/, search: %{search_term: ""})
|
||||
|> render_change() =~ shot_group.notes
|
||||
|
||||
assert_patch(index_live, Routes.range_index_path(conn, :index))
|
||||
@ -88,7 +88,9 @@ defmodule CanneryWeb.RangeLiveTest do
|
||||
test "updates shot_group in listing", %{conn: conn, shot_group: shot_group} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.range_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"edit-#{shot_group.id}\"]") |> render_click() =~
|
||||
assert index_live
|
||||
|> element(~s/a[aria-label="Edit shot record of #{shot_group.count} shots"]/)
|
||||
|> render_click() =~
|
||||
gettext("Edit Shot Records")
|
||||
|
||||
assert_patch(index_live, Routes.range_index_path(conn, :edit, shot_group))
|
||||
@ -110,7 +112,10 @@ defmodule CanneryWeb.RangeLiveTest do
|
||||
test "deletes shot_group in listing", %{conn: conn, shot_group: shot_group} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.range_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"delete-#{shot_group.id}\"]") |> render_click()
|
||||
assert index_live
|
||||
|> element(~s/a[aria-label="Delete shot record of #{shot_group.count} shots"]/)
|
||||
|> render_click()
|
||||
|
||||
refute has_element?(index_live, "#shot_group-#{shot_group.id}")
|
||||
end
|
||||
end
|
||||
|
@ -47,7 +47,7 @@ defmodule CanneryWeb.TagLiveTest do
|
||||
assert html =~ tag.name
|
||||
|
||||
assert index_live
|
||||
|> form("[data-qa=\"tag_search\"]",
|
||||
|> form(~s/form[phx-change="search"]/,
|
||||
search: %{search_term: tag.name}
|
||||
)
|
||||
|> render_change() =~ tag.name
|
||||
@ -55,13 +55,13 @@ defmodule CanneryWeb.TagLiveTest do
|
||||
assert_patch(index_live, Routes.tag_index_path(conn, :search, tag.name))
|
||||
|
||||
refute index_live
|
||||
|> form("[data-qa=\"tag_search\"]", search: %{search_term: "something_else"})
|
||||
|> form(~s/form[phx-change="search"]/, search: %{search_term: "something_else"})
|
||||
|> render_change() =~ tag.name
|
||||
|
||||
assert_patch(index_live, Routes.tag_index_path(conn, :search, "something_else"))
|
||||
|
||||
assert index_live
|
||||
|> form("[data-qa=\"tag_search\"]", search: %{search_term: ""})
|
||||
|> form(~s/form[phx-change="search"]/, search: %{search_term: ""})
|
||||
|> render_change() =~ tag.name
|
||||
|
||||
assert_patch(index_live, Routes.tag_index_path(conn, :index))
|
||||
@ -92,7 +92,7 @@ defmodule CanneryWeb.TagLiveTest do
|
||||
test "updates tag in listing", %{conn: conn, tag: tag} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.tag_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"edit-#{tag.id}\"]") |> render_click() =~
|
||||
assert index_live |> element(~s/a[aria-label="Edit #{tag.name}"]/) |> render_click() =~
|
||||
dgettext("actions", "Edit Tag")
|
||||
|
||||
assert_patch(index_live, Routes.tag_index_path(conn, :edit, tag))
|
||||
@ -116,7 +116,7 @@ defmodule CanneryWeb.TagLiveTest do
|
||||
test "deletes tag in listing", %{conn: conn, tag: tag} do
|
||||
{:ok, index_live, _html} = live(conn, Routes.tag_index_path(conn, :index))
|
||||
|
||||
assert index_live |> element("[data-qa=\"delete-#{tag.id}\"]") |> render_click()
|
||||
assert index_live |> element(~s/a[aria-label="Delete #{tag.name}"]/) |> render_click()
|
||||
refute has_element?(index_live, "#tag-#{tag.id}")
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user