more languages
This commit is contained in:
parent
18e3ef183a
commit
cba86fb082
12 changed files with 2188 additions and 35 deletions
|
|
@ -27,8 +27,9 @@ config :aprsme, AprsmeWeb.Endpoint,
|
|||
live_view: [signing_salt: "ees098qG"]
|
||||
|
||||
# Configure Gettext
|
||||
# Configure Gettext with supported locales from AprsmeWeb.Gettext module
|
||||
config :aprsme, AprsmeWeb.Gettext,
|
||||
locales: ~w(en es),
|
||||
locales: ~w(en es de),
|
||||
default_locale: "en"
|
||||
|
||||
# Configure Oban for background jobs
|
||||
|
|
|
|||
|
|
@ -21,4 +21,18 @@ defmodule AprsmeWeb.Gettext do
|
|||
See the [Gettext Docs](https://hexdocs.pm/gettext) for detailed usage.
|
||||
"""
|
||||
use Gettext.Backend, otp_app: :aprsme
|
||||
|
||||
@supported_locales ~w(en es de fr)
|
||||
|
||||
@doc """
|
||||
Sets the Gettext locale for the current process.
|
||||
"""
|
||||
def put_locale(locale) when locale in @supported_locales do
|
||||
Gettext.put_locale(__MODULE__, locale)
|
||||
end
|
||||
|
||||
@doc """
|
||||
Returns the list of supported locales.
|
||||
"""
|
||||
def supported_locales, do: @supported_locales
|
||||
end
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ defmodule AprsmeWeb.LocaleHook do
|
|||
"""
|
||||
import Phoenix.Component
|
||||
|
||||
@supported_locales ["en", "es"]
|
||||
# Cache supported locales at compile time
|
||||
@supported_locales ~w(en es de fr)
|
||||
|
||||
def on_mount(:set_locale, _params, session, socket) do
|
||||
locale = get_locale_from_session(session) || "en"
|
||||
|
|
|
|||
|
|
@ -744,7 +744,7 @@ defmodule AprsmeWeb.MapLive.Index do
|
|||
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
|
||||
/>
|
||||
</svg>
|
||||
<span>{Gettext.gettext(AprsmeWeb.Gettext, "Search Callsign")}</span>
|
||||
<span>{gettext("Search Callsign")}</span>
|
||||
</label>
|
||||
<form phx-submit="search_callsign" class="flex space-x-2">
|
||||
<input
|
||||
|
|
@ -752,14 +752,14 @@ defmodule AprsmeWeb.MapLive.Index do
|
|||
name="callsign"
|
||||
value={@overlay_callsign}
|
||||
phx-change="update_callsign"
|
||||
placeholder={Gettext.gettext(AprsmeWeb.Gettext, "Enter callsign...")}
|
||||
placeholder={gettext("Enter callsign...")}
|
||||
class="flex-1 px-4 py-3 border border-slate-300 rounded-xl shadow-sm focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm uppercase placeholder-slate-400 transition-all duration-200 hover:border-slate-400"
|
||||
/>
|
||||
<button
|
||||
type="submit"
|
||||
class="px-6 py-3 bg-gradient-to-r from-indigo-600 to-purple-600 text-white rounded-xl hover:from-indigo-700 hover:to-purple-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 transition-all duration-200 text-sm font-semibold shadow-lg hover:shadow-xl"
|
||||
>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "Search")}
|
||||
{gettext("Search")}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -780,7 +780,7 @@ defmodule AprsmeWeb.MapLive.Index do
|
|||
d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"
|
||||
/>
|
||||
</svg>
|
||||
<span>{Gettext.gettext(AprsmeWeb.Gettext, "Trail Duration")}</span>
|
||||
<span>{gettext("Trail Duration")}</span>
|
||||
</label>
|
||||
<form phx-change="update_trail_duration" class="relative">
|
||||
<select
|
||||
|
|
@ -788,22 +788,22 @@ defmodule AprsmeWeb.MapLive.Index do
|
|||
class="w-full px-4 py-3 border border-slate-300 rounded-xl shadow-sm focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm bg-white text-gray-900 appearance-none transition-all duration-200 hover:border-slate-400"
|
||||
>
|
||||
<option value="1" selected={@trail_duration == "1"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "1 Hour")}
|
||||
{ngettext("1 Hour", "%{count} Hours", 1)}
|
||||
</option>
|
||||
<option value="6" selected={@trail_duration == "6"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "6 Hours")}
|
||||
{ngettext("1 Hour", "%{count} Hours", 6)}
|
||||
</option>
|
||||
<option value="12" selected={@trail_duration == "12"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "12 Hours")}
|
||||
{ngettext("1 Hour", "%{count} Hours", 12)}
|
||||
</option>
|
||||
<option value="24" selected={@trail_duration == "24"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "24 Hours")}
|
||||
{ngettext("1 Hour", "%{count} Hours", 24)}
|
||||
</option>
|
||||
<option value="48" selected={@trail_duration == "48"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "48 Hours")}
|
||||
{ngettext("1 Hour", "%{count} Hours", 48)}
|
||||
</option>
|
||||
<option value="168" selected={@trail_duration == "168"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "1 Week")}
|
||||
{gettext("1 Week")}
|
||||
</option>
|
||||
</select>
|
||||
<div class="absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none">
|
||||
|
|
@ -835,7 +835,7 @@ defmodule AprsmeWeb.MapLive.Index do
|
|||
d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"
|
||||
/>
|
||||
</svg>
|
||||
<span>{Gettext.gettext(AprsmeWeb.Gettext, "Historical Data")}</span>
|
||||
<span>{gettext("Historical Data")}</span>
|
||||
</label>
|
||||
<form phx-change="update_historical_hours" class="relative">
|
||||
<select
|
||||
|
|
@ -843,19 +843,19 @@ defmodule AprsmeWeb.MapLive.Index do
|
|||
class="w-full px-4 py-3 border border-slate-300 rounded-xl shadow-sm focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 text-sm bg-white text-gray-900 appearance-none transition-all duration-200 hover:border-slate-400"
|
||||
>
|
||||
<option value="1" selected={@historical_hours == "1"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "1 Hour")}
|
||||
{ngettext("1 Hour", "%{count} Hours", 1)}
|
||||
</option>
|
||||
<option value="3" selected={@historical_hours == "3"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "3 Hours")}
|
||||
{ngettext("1 Hour", "%{count} Hours", 3)}
|
||||
</option>
|
||||
<option value="6" selected={@historical_hours == "6"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "6 Hours")}
|
||||
{ngettext("1 Hour", "%{count} Hours", 6)}
|
||||
</option>
|
||||
<option value="12" selected={@historical_hours == "12"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "12 Hours")}
|
||||
{ngettext("1 Hour", "%{count} Hours", 12)}
|
||||
</option>
|
||||
<option value="24" selected={@historical_hours == "24"}>
|
||||
{Gettext.gettext(AprsmeWeb.Gettext, "24 Hours")}
|
||||
{ngettext("1 Hour", "%{count} Hours", 24)}
|
||||
</option>
|
||||
</select>
|
||||
<div class="absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none">
|
||||
|
|
@ -887,7 +887,7 @@ defmodule AprsmeWeb.MapLive.Index do
|
|||
d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2H5a2 2 0 00-2-2z"
|
||||
/>
|
||||
</svg>
|
||||
<span class="font-medium">{Gettext.gettext(AprsmeWeb.Gettext, "Navigation")}</span>
|
||||
<span class="font-medium">{gettext("Navigation")}</span>
|
||||
</div>
|
||||
<.navigation variant={:vertical} class="text-sm" />
|
||||
</div>
|
||||
|
|
@ -903,7 +903,7 @@ defmodule AprsmeWeb.MapLive.Index do
|
|||
d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"
|
||||
/>
|
||||
</svg>
|
||||
<span class="font-medium">{Gettext.gettext(AprsmeWeb.Gettext, "Last Deploy")}</span>
|
||||
<span class="font-medium">{gettext("Last Deploy")}</span>
|
||||
</div>
|
||||
<div class="text-xs text-slate-500">
|
||||
<div class="font-mono">{time_ago_in_words(@deployed_at)}</div>
|
||||
|
|
|
|||
|
|
@ -5,13 +5,12 @@ defmodule AprsmeWeb.Plugs.SetLocale do
|
|||
"""
|
||||
import Plug.Conn
|
||||
|
||||
@supported_locales ["en", "es"]
|
||||
|
||||
def init(opts), do: opts
|
||||
|
||||
def call(conn, _opts) do
|
||||
locale = get_locale_from_header(conn) || "en"
|
||||
IO.puts("DEBUG: SetLocale - Final locale: #{locale}")
|
||||
# Set the backend's locale for the current process
|
||||
Gettext.put_locale(AprsmeWeb.Gettext, locale)
|
||||
# Store locale in session for LiveView to access
|
||||
conn = put_session(conn, :locale, locale)
|
||||
|
|
@ -48,6 +47,6 @@ defmodule AprsmeWeb.Plugs.SetLocale do
|
|||
end
|
||||
|
||||
defp supported_locale?(locale) do
|
||||
locale in @supported_locales
|
||||
locale in ~w(en es de fr)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
883
priv/gettext/de/LC_MESSAGES/default.po
Normal file
883
priv/gettext/de/LC_MESSAGES/default.po
Normal file
|
|
@ -0,0 +1,883 @@
|
|||
## "msgid"s in this file come from POT (.pot) files.
|
||||
###
|
||||
### Do not add, change, or remove "msgid"s manually here as
|
||||
### they're tied to the ones in the corresponding POT file
|
||||
### (with the same domain).
|
||||
###
|
||||
### Use "mix gettext.extract --merge" or "mix gettext.merge"
|
||||
### to merge POT files into PO files.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:570
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr "Aktionen"
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:117
|
||||
#: lib/aprsme_web/components/core_components.ex:202
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "close"
|
||||
msgstr "schließen"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} days"
|
||||
msgstr "%{count} Tage"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:324
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} days ago"
|
||||
msgstr "vor %{count} Tagen"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:21
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} hours"
|
||||
msgstr "%{count} Stunden"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:323
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} hours ago"
|
||||
msgstr "vor %{count} Stunden"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} minutes"
|
||||
msgstr "%{count} Minuten"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:322
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} minutes ago"
|
||||
msgstr "vor %{count} Minuten"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:26
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} months"
|
||||
msgstr "%{count} Monate"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:321
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} seconds ago"
|
||||
msgstr "vor %{count} Sekunden"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} years"
|
||||
msgstr "%{count} Jahre"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:477
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{element} (Digipeater)"
|
||||
msgstr "%{element} (Digipeater)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:481
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{element} (Station)"
|
||||
msgstr "%{element} (Station)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:485
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{element} (Unknown)"
|
||||
msgstr "%{element} (Unbekannt)"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 day"
|
||||
msgstr "1 Tag"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:20
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 hour"
|
||||
msgstr "1 Stunde"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:18
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 minute"
|
||||
msgstr "1 Minute"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:24
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 month"
|
||||
msgstr "1 Monat"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 year"
|
||||
msgstr "1 Jahr"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "APRS-IS Connection"
|
||||
msgstr "APRS-IS Verbindung"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "APRS-IS Connection Issue"
|
||||
msgstr "APRS-IS Verbindungsproblem"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "APRS.me System Status"
|
||||
msgstr "APRS.me Systemstatus"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Access forbidden"
|
||||
msgstr "Zugriff verweigert"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "All packets are parsing successfully!"
|
||||
msgstr "Alle Pakete werden erfolgreich verarbeitet!"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "An error occurred: %{reason}"
|
||||
msgstr "Ein Fehler ist aufgetreten: %{reason}"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:40
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Attempted At"
|
||||
msgstr "Versucht um"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Auto-refreshes every 5 seconds"
|
||||
msgstr "Aktualisiert sich alle 5 Sekunden automatisch"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:71
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Bad request"
|
||||
msgstr "Ungültige Anfrage"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Connected"
|
||||
msgstr "Verbunden"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:113
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Connected Since:"
|
||||
msgstr "Verbunden seit:"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:201
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Connection Health:"
|
||||
msgstr "Verbindungsstatus:"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Disconnected"
|
||||
msgstr "Getrennt"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:308
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Disconnected - Connection issues detected"
|
||||
msgstr "Getrennt - Verbindungsprobleme erkannt"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Error Message"
|
||||
msgstr "Fehlermeldung"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Error Type"
|
||||
msgstr "Fehlertyp"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:312
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Excellent - Long-term stable connection"
|
||||
msgstr "Ausgezeichnet - Langfristig stabile Verbindung"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Filter:"
|
||||
msgstr "Filter:"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Forbidden"
|
||||
msgstr "Verboten"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:310
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Good - Connection stable for less than 1 hour"
|
||||
msgstr "Gut - Verbindung stabil für weniger als 1 Stunde"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Internal server error"
|
||||
msgstr "Interner Serverfehler"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:176
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Packet:"
|
||||
msgstr "Letztes Paket:"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last updated:"
|
||||
msgstr "Zuletzt aktualisiert:"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Login ID:"
|
||||
msgstr "Anmelde-ID:"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:84
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No bad packets"
|
||||
msgstr "Keine fehlerhaften Pakete"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No error message"
|
||||
msgstr "Keine Fehlermeldung"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:182
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "None"
|
||||
msgstr "Keine"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:119
|
||||
#: lib/aprsme_web/live/status_live/index.ex:276
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Not connected"
|
||||
msgstr "Nicht verbunden"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packet Statistics"
|
||||
msgstr "Paketstatistiken"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:167
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packets/Min:"
|
||||
msgstr "Pakete/Min:"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:158
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packets/Sec:"
|
||||
msgstr "Pakete/Sek:"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:305
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "RELAY (Relay digipeater)"
|
||||
msgstr "RELAY (Relay-Digipeater)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:308
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "RELAY digipeater (%{element})"
|
||||
msgstr "RELAY-Digipeater (%{element})"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:306
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "RELAY-1 (Relay digipeater, 1 hop)"
|
||||
msgstr "RELAY-1 (Relay-Digipeater, 1 Hop)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:307
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "RELAY-2 (Relay digipeater, 2 hops)"
|
||||
msgstr "RELAY-2 (Relay-Digipeater, 2 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:58
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:227
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Raw Packet"
|
||||
msgstr "Rohpaket"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:309
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Recently connected - Monitoring stability"
|
||||
msgstr "Kürzlich verbunden - Überwache Stabilität"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:57
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Request timeout"
|
||||
msgstr "Anfrage-Timeout"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:68
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Resource not found"
|
||||
msgstr "Ressource nicht gefunden"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Server:"
|
||||
msgstr "Server:"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Status:"
|
||||
msgstr "Status:"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:189
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored Packets:"
|
||||
msgstr "Gespeicherte Pakete:"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:470
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TCPIP (Internet gateway)"
|
||||
msgstr "TCPIP (Internet-Gateway)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:472
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TCPIP gateway (%{element})"
|
||||
msgstr "TCPIP-Gateway (%{element})"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:471
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TCPIP* (Internet gateway, no forward)"
|
||||
msgstr "TCPIP* (Internet-Gateway, keine Weiterleitung)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:299
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE digipeater (%{element})"
|
||||
msgstr "TRACE-Digipeater (%{element})"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:292
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE1-1 (Trace digipeater, 1 hop)"
|
||||
msgstr "TRACE1-1 (Trace-Digipeater, 1 Hop)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:293
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE2-1 (Trace digipeater, 2 hops)"
|
||||
msgstr "TRACE2-1 (Trace-Digipeater, 2 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:294
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE3-1 (Trace digipeater, 3 hops)"
|
||||
msgstr "TRACE3-1 (Trace-Digipeater, 3 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:295
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE4-1 (Trace digipeater, 4 hops)"
|
||||
msgstr "TRACE4-1 (Trace-Digipeater, 4 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:296
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE5-1 (Trace digipeater, 5 hops)"
|
||||
msgstr "TRACE5-1 (Trace-Digipeater, 5 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:297
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE6-1 (Trace digipeater, 6 hops)"
|
||||
msgstr "TRACE6-1 (Trace-Digipeater, 6 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:298
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE7-1 (Trace digipeater, 7 hops)"
|
||||
msgstr "TRACE7-1 (Trace-Digipeater, 7 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "The system is currently disconnected from the APRS-IS network. This may be due to network issues or server maintenance."
|
||||
msgstr "Das System ist derzeit vom APRS-IS-Netzwerk getrennt. Dies kann auf Netzwerkprobleme oder Serverwartung zurückzuführen sein."
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:149
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total Packets:"
|
||||
msgstr "Gesamtpakete:"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unauthorized"
|
||||
msgstr "Nicht autorisiert"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unauthorized access"
|
||||
msgstr "Nicht autorisierter Zugriff"
|
||||
|
||||
#: lib/aprsme/device_identification.ex:56
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:50
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:143
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:209
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:92
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:313
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unknown status"
|
||||
msgstr "Unbekannter Status"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unprocessable entity"
|
||||
msgstr "Nicht verarbeitbare Entität"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Updating..."
|
||||
msgstr "Aktualisiere..."
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:125
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Uptime:"
|
||||
msgstr "Betriebszeit:"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/json/changeset_json.ex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Validation failed"
|
||||
msgstr "Validierung fehlgeschlagen"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:311
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Very good - Connection stable for less than 1 day"
|
||||
msgstr "Sehr gut - Verbindung stabil für weniger als 1 Tag"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:286
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE digipeater (%{element})"
|
||||
msgstr "WIDE-Digipeater (%{element})"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:277
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE1-1 (Wide area digipeater, 1 hop)"
|
||||
msgstr "WIDE1-1 (Weitbereichs-Digipeater, 1 Hop)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:284
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE1-2 (Wide area digipeater, 1 hop, 2nd attempt)"
|
||||
msgstr "WIDE1-2 (Weitbereichs-Digipeater, 1 Hop, 2. Versuch)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:278
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE2-1 (Wide area digipeater, 2 hops)"
|
||||
msgstr "WIDE2-1 (Weitbereichs-Digipeater, 2 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:285
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE2-2 (Wide area digipeater, 2 hops, 2nd attempt)"
|
||||
msgstr "WIDE2-2 (Weitbereichs-Digipeater, 2 Hops, 2. Versuch)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:279
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE3-1 (Wide area digipeater, 3 hops)"
|
||||
msgstr "WIDE3-1 (Weitbereichs-Digipeater, 3 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:280
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE4-1 (Wide area digipeater, 4 hops)"
|
||||
msgstr "WIDE4-1 (Weitbereichs-Digipeater, 4 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:281
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE5-1 (Wide area digipeater, 5 hops)"
|
||||
msgstr "WIDE5-1 (Weitbereichs-Digipeater, 5 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:282
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE6-1 (Wide area digipeater, 6 hops)"
|
||||
msgstr "WIDE6-1 (Weitbereichs-Digipeater, 6 Hops)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:283
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE7-1 (WIDE area digipeater, 7 hops)"
|
||||
msgstr "WIDE7-1 (WIDE-Bereichs-Digipeater, 7 Hops)"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "less than a minute"
|
||||
msgstr "weniger als eine Minute"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Gusts"
|
||||
msgstr "Böen"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:103
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Humidity"
|
||||
msgstr "Luftfeuchtigkeit"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:84
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last WX report"
|
||||
msgstr "Letzter WX-Bericht"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:124
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Pressure"
|
||||
msgstr "Druck"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rain (1h)"
|
||||
msgstr "Regen (1h)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rain (24h)"
|
||||
msgstr "Regen (24h)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:142
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rain (since midnight)"
|
||||
msgstr "Regen (seit Mitternacht)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Raw comment"
|
||||
msgstr "Rohkommentar"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Temperature"
|
||||
msgstr "Temperatur"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View info"
|
||||
msgstr "Info anzeigen"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View on map"
|
||||
msgstr "Auf Karte anzeigen"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:67
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View packets"
|
||||
msgstr "Pakete anzeigen"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:79
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Weather Details"
|
||||
msgstr "Wetterdetails"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:166
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Weather History Graphs"
|
||||
msgstr "Wetterverlaufsdiagramme"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Weather Station"
|
||||
msgstr "Wetterstation"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:109
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Wind"
|
||||
msgstr "Wind"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "APRS Station"
|
||||
msgstr "APRS-Station"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:149
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Altitude"
|
||||
msgstr "Höhe"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:10
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Base Callsign"
|
||||
msgstr "Basis-Rufzeichen"
|
||||
|
||||
#: lib/aprsme_web/live/about_live.html.heex:12
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Built with Modern Technologies"
|
||||
msgstr "Gebaut mit modernen Technologien"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:270
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:388
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Callsign"
|
||||
msgstr "Rufzeichen"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:155
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Course"
|
||||
msgstr "Kurs"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:11
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Data Type"
|
||||
msgstr "Datentyp"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:220
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Decoded Path"
|
||||
msgstr "Dekodierter Pfad"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:194
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:16
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Device"
|
||||
msgstr "Gerät"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:189
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Device Information"
|
||||
msgstr "Geräteinformationen"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:391
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Distance & Course"
|
||||
msgstr "Entfernung & Kurs"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:273
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Distance & Direction"
|
||||
msgstr "Entfernung & Richtung"
|
||||
|
||||
#: lib/aprsme_web/live/about_live.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Explore the Map"
|
||||
msgstr "Karte erkunden"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:121
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Grid Square"
|
||||
msgstr "Grid-Quadrat"
|
||||
|
||||
#: lib/aprsme_web/live/about_live.html.heex:21
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Join Our Community"
|
||||
msgstr "Treten Sie unserer Community bei"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:276
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:394
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Heard"
|
||||
msgstr "Zuletzt gehört"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:133
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Position"
|
||||
msgstr "Letzte Position"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:14
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Latitude"
|
||||
msgstr "Breitengrad"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Location"
|
||||
msgstr "Standort"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:15
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Longitude"
|
||||
msgstr "Längengrad"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:469
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No data available"
|
||||
msgstr "Keine Daten verfügbar"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:164
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No packets"
|
||||
msgstr "Keine Pakete"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:471
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No recent packet data available for this callsign."
|
||||
msgstr "Keine aktuellen Paketdaten für dieses Rufzeichen verfügbar."
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:262
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Other SSIDs"
|
||||
msgstr "Andere SSIDs"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:165
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packets will appear here as they are received."
|
||||
msgstr "Pakete werden hier angezeigt, sobald sie empfangen werden."
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:215
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Path"
|
||||
msgstr "Pfad"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:109
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Position Information"
|
||||
msgstr "Positionsinformationen"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "SSID"
|
||||
msgstr "SSID"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Sender"
|
||||
msgstr "Absender"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Speed"
|
||||
msgstr "Geschwindigkeit"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:380
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stations Near Current Position"
|
||||
msgstr "Stationen in der Nähe der aktuellen Position"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:12
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Symbol"
|
||||
msgstr "Symbol"
|
||||
|
||||
#: lib/aprsme_web/live/about_live.html.heex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Under heavy construction"
|
||||
msgstr "In intensiver Entwicklung"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:71
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Weather charts"
|
||||
msgstr "Wetterdiagramme"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%"
|
||||
msgstr "%"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Dew Point (°F)"
|
||||
msgstr "Taupunkt (°F)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:54
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Humidity (%)"
|
||||
msgstr "Luftfeuchtigkeit (%)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:56
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:57
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Pressure (mb)"
|
||||
msgstr "Druck (mb)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Temperature & Dew Point (°F)"
|
||||
msgstr "Temperatur & Taupunkt (°F)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:52
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Temperature (°F)"
|
||||
msgstr "Temperatur (°F)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:61
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Time"
|
||||
msgstr "Zeit"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Wind (mph)"
|
||||
msgstr "Wind (mph)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:60
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Wind Gust (mph)"
|
||||
msgstr "Windböe (mph)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Wind Speed (mph)"
|
||||
msgstr "Windgeschwindigkeit (mph)"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:14
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "ago"
|
||||
msgstr "vor"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "mb"
|
||||
msgstr "mb"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "°F"
|
||||
msgstr "°F"
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:760
|
||||
#: lib/aprsme_web/components/core_components.ex:768
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "About"
|
||||
msgstr "Über"
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:755
|
||||
#: lib/aprsme_web/components/core_components.ex:765
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Home"
|
||||
msgstr "Startseite"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:791
|
||||
#: lib/aprsme_web/live/map_live/index.ex:794
|
||||
#: lib/aprsme_web/live/map_live/index.ex:797
|
||||
#: lib/aprsme_web/live/map_live/index.ex:800
|
||||
#: lib/aprsme_web/live/map_live/index.ex:803
|
||||
#: lib/aprsme_web/live/map_live/index.ex:846
|
||||
#: lib/aprsme_web/live/map_live/index.ex:849
|
||||
#: lib/aprsme_web/live/map_live/index.ex:852
|
||||
#: lib/aprsme_web/live/map_live/index.ex:855
|
||||
#: lib/aprsme_web/live/map_live/index.ex:858
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "1 Hour"
|
||||
msgid_plural "%{count} Hours"
|
||||
msgstr[0] "1 Stunde"
|
||||
msgstr[1] "%{count} Stunden"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:806
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 Week"
|
||||
msgstr "1 Woche"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:755
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enter callsign..."
|
||||
msgstr "Rufzeichen eingeben..."
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:838
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Historical Data"
|
||||
msgstr "Historische Daten"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:906
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Deploy"
|
||||
msgstr "Letztes Deployment"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:890
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Navigation"
|
||||
msgstr "Navigation"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:762
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:747
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search Callsign"
|
||||
msgstr "Rufzeichen suchen"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:783
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Trail Duration"
|
||||
msgstr "Spur-Dauer"
|
||||
102
priv/gettext/de/LC_MESSAGES/errors.po
Normal file
102
priv/gettext/de/LC_MESSAGES/errors.po
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
## "msgid"s in this file come from POT (.pot) files.
|
||||
###
|
||||
### Do not add, change, or remove "msgid"s manually here as
|
||||
### they're tied to the ones in the corresponding POT file
|
||||
### (with the same domain).
|
||||
###
|
||||
### Use "mix gettext.extract --merge" or "mix gettext.merge"
|
||||
### to merge POT files into PO files.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
msgid "can't be blank"
|
||||
msgstr "darf nicht leer sein"
|
||||
|
||||
msgid "has already been taken"
|
||||
msgstr "ist bereits vergeben"
|
||||
|
||||
msgid "is invalid"
|
||||
msgstr "ist ungültig"
|
||||
|
||||
msgid "must be accepted"
|
||||
msgstr "muss akzeptiert werden"
|
||||
|
||||
msgid "has invalid format"
|
||||
msgstr "hat ungültiges Format"
|
||||
|
||||
msgid "has an invalid entry"
|
||||
msgstr "hat einen ungültigen Eintrag"
|
||||
|
||||
msgid "is reserved"
|
||||
msgstr "ist reserviert"
|
||||
|
||||
msgid "does not match confirmation"
|
||||
msgstr "stimmt nicht mit der Bestätigung überein"
|
||||
|
||||
msgid "is still associated with this entry"
|
||||
msgstr "ist noch mit diesem Eintrag verknüpft"
|
||||
|
||||
msgid "are still associated with this entry"
|
||||
msgstr "sind noch mit diesem Eintrag verknüpft"
|
||||
|
||||
msgid "should have %{count} item(s)"
|
||||
msgid_plural "should have %{count} item(s)"
|
||||
msgstr[0] "sollte %{count} Element haben"
|
||||
msgstr[1] "sollte %{count} Elemente haben"
|
||||
|
||||
msgid "should be %{count} character(s)"
|
||||
msgid_plural "should be %{count} character(s)"
|
||||
msgstr[0] "sollte %{count} Zeichen haben"
|
||||
msgstr[1] "sollte %{count} Zeichen haben"
|
||||
|
||||
msgid "should be %{count} byte(s)"
|
||||
msgid_plural "should be %{count} byte(s)"
|
||||
msgstr[0] "sollte %{count} Byte haben"
|
||||
msgstr[1] "sollte %{count} Bytes haben"
|
||||
|
||||
msgid "should have at least %{count} item(s)"
|
||||
msgid_plural "should have at least %{count} item(s)"
|
||||
msgstr[0] "sollte mindestens %{count} Element haben"
|
||||
msgstr[1] "sollte mindestens %{count} Elemente haben"
|
||||
|
||||
msgid "should be at least %{count} character(s)"
|
||||
msgid_plural "should be at least %{count} character(s)"
|
||||
msgstr[0] "sollte mindestens %{count} Zeichen haben"
|
||||
msgstr[1] "sollte mindestens %{count} Zeichen haben"
|
||||
|
||||
msgid "should be at least %{count} byte(s)"
|
||||
msgid_plural "should be at least %{count} byte(s)"
|
||||
msgstr[0] "sollte mindestens %{count} Byte haben"
|
||||
msgstr[1] "sollte mindestens %{count} Bytes haben"
|
||||
|
||||
msgid "should have at most %{count} item(s)"
|
||||
msgid_plural "should have at most %{count} item(s)"
|
||||
msgstr[0] "sollte höchstens %{count} Element haben"
|
||||
msgstr[1] "sollte höchstens %{count} Elemente haben"
|
||||
|
||||
msgid "should be at most %{count} character(s)"
|
||||
msgid_plural "should be at most %{count} character(s)"
|
||||
msgstr[0] "sollte höchstens %{count} Zeichen haben"
|
||||
msgstr[1] "sollte höchstens %{count} Zeichen haben"
|
||||
|
||||
msgid "should be at most %{count} byte(s)"
|
||||
msgid_plural "should be at most %{count} byte(s)"
|
||||
msgstr[0] "sollte höchstens %{count} Byte haben"
|
||||
msgstr[1] "sollte höchstens %{count} Bytes haben"
|
||||
|
||||
msgid "must be less than %{number}"
|
||||
msgstr "muss kleiner als %{number} sein"
|
||||
|
||||
msgid "must be greater than %{number}"
|
||||
msgstr "muss größer als %{number} sein"
|
||||
|
||||
msgid "must be less than or equal to %{number}"
|
||||
msgstr "muss kleiner oder gleich %{number} sein"
|
||||
|
||||
msgid "must be greater than or equal to %{number}"
|
||||
msgstr "muss größer oder gleich %{number} sein"
|
||||
|
||||
msgid "must be equal to %{number}"
|
||||
msgstr "muss gleich %{number} sein"
|
||||
|
|
@ -814,14 +814,70 @@ msgstr ""
|
|||
msgid "°F"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:756
|
||||
#: lib/aprsme_web/components/core_components.ex:761
|
||||
#: lib/aprsme_web/components/core_components.ex:760
|
||||
#: lib/aprsme_web/components/core_components.ex:768
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:754
|
||||
#: lib/aprsme_web/components/core_components.ex:759
|
||||
#: lib/aprsme_web/components/core_components.ex:755
|
||||
#: lib/aprsme_web/components/core_components.ex:765
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:791
|
||||
#: lib/aprsme_web/live/map_live/index.ex:794
|
||||
#: lib/aprsme_web/live/map_live/index.ex:797
|
||||
#: lib/aprsme_web/live/map_live/index.ex:800
|
||||
#: lib/aprsme_web/live/map_live/index.ex:803
|
||||
#: lib/aprsme_web/live/map_live/index.ex:846
|
||||
#: lib/aprsme_web/live/map_live/index.ex:849
|
||||
#: lib/aprsme_web/live/map_live/index.ex:852
|
||||
#: lib/aprsme_web/live/map_live/index.ex:855
|
||||
#: lib/aprsme_web/live/map_live/index.ex:858
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 Hour"
|
||||
msgid_plural "%{count} Hours"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:806
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 Week"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:755
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enter callsign..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:838
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Historical Data"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:906
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Deploy"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:890
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:762
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:747
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search Callsign"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:783
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Trail Duration"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -814,14 +814,70 @@ msgstr ""
|
|||
msgid "°F"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:756
|
||||
#: lib/aprsme_web/components/core_components.ex:761
|
||||
#: lib/aprsme_web/components/core_components.ex:760
|
||||
#: lib/aprsme_web/components/core_components.ex:768
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:754
|
||||
#: lib/aprsme_web/components/core_components.ex:759
|
||||
#: lib/aprsme_web/components/core_components.ex:755
|
||||
#: lib/aprsme_web/components/core_components.ex:765
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:791
|
||||
#: lib/aprsme_web/live/map_live/index.ex:794
|
||||
#: lib/aprsme_web/live/map_live/index.ex:797
|
||||
#: lib/aprsme_web/live/map_live/index.ex:800
|
||||
#: lib/aprsme_web/live/map_live/index.ex:803
|
||||
#: lib/aprsme_web/live/map_live/index.ex:846
|
||||
#: lib/aprsme_web/live/map_live/index.ex:849
|
||||
#: lib/aprsme_web/live/map_live/index.ex:852
|
||||
#: lib/aprsme_web/live/map_live/index.ex:855
|
||||
#: lib/aprsme_web/live/map_live/index.ex:858
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "1 Hour"
|
||||
msgid_plural "%{count} Hours"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:806
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 Week"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:755
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enter callsign..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:838
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Historical Data"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:906
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Deploy"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:890
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:762
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:747
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "Search Callsign"
|
||||
msgstr ""
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:783
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Trail Duration"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -814,14 +814,70 @@ msgstr "mb"
|
|||
msgid "°F"
|
||||
msgstr "°F"
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:756
|
||||
#: lib/aprsme_web/components/core_components.ex:761
|
||||
#: lib/aprsme_web/components/core_components.ex:760
|
||||
#: lib/aprsme_web/components/core_components.ex:768
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "About"
|
||||
msgstr "Acerca de"
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:754
|
||||
#: lib/aprsme_web/components/core_components.ex:759
|
||||
#: lib/aprsme_web/components/core_components.ex:755
|
||||
#: lib/aprsme_web/components/core_components.ex:765
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Home"
|
||||
msgstr "Inicio"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:791
|
||||
#: lib/aprsme_web/live/map_live/index.ex:794
|
||||
#: lib/aprsme_web/live/map_live/index.ex:797
|
||||
#: lib/aprsme_web/live/map_live/index.ex:800
|
||||
#: lib/aprsme_web/live/map_live/index.ex:803
|
||||
#: lib/aprsme_web/live/map_live/index.ex:846
|
||||
#: lib/aprsme_web/live/map_live/index.ex:849
|
||||
#: lib/aprsme_web/live/map_live/index.ex:852
|
||||
#: lib/aprsme_web/live/map_live/index.ex:855
|
||||
#: lib/aprsme_web/live/map_live/index.ex:858
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 Hour"
|
||||
msgid_plural "%{count} Hours"
|
||||
msgstr[0] "1 hora"
|
||||
msgstr[1] "%{count} horas"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:806
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 Week"
|
||||
msgstr "1 semana"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:755
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enter callsign..."
|
||||
msgstr "Introduce indicativo..."
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:838
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Historical Data"
|
||||
msgstr "Datos históricos"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:906
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Deploy"
|
||||
msgstr "Último despliegue"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:890
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Navigation"
|
||||
msgstr "Navegación"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:762
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:747
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search Callsign"
|
||||
msgstr "Buscar indicativo"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:783
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Trail Duration"
|
||||
msgstr "Duración de la ruta"
|
||||
|
|
|
|||
883
priv/gettext/fr/LC_MESSAGES/default.po
Normal file
883
priv/gettext/fr/LC_MESSAGES/default.po
Normal file
|
|
@ -0,0 +1,883 @@
|
|||
## "msgid"s in this file come from POT (.pot) files.
|
||||
###
|
||||
### Do not add, change, or remove "msgid"s manually here as
|
||||
### they're tied to the ones in the corresponding POT file
|
||||
### (with the same domain).
|
||||
###
|
||||
### Use "mix gettext.extract --merge" or "mix gettext.merge"
|
||||
### to merge POT files into PO files.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n>1);\n"
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:570
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:117
|
||||
#: lib/aprsme_web/components/core_components.ex:202
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "close"
|
||||
msgstr "fermer"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} days"
|
||||
msgstr "%{count} jours"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:324
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} days ago"
|
||||
msgstr "il y a %{count} jours"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:21
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} hours"
|
||||
msgstr "%{count} heures"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:323
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} hours ago"
|
||||
msgstr "il y a %{count} heures"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} minutes"
|
||||
msgstr "%{count} minutes"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:322
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} minutes ago"
|
||||
msgstr "il y a %{count} minutes"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:26
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} months"
|
||||
msgstr "%{count} mois"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:321
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} seconds ago"
|
||||
msgstr "il y a %{count} secondes"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{count} years"
|
||||
msgstr "%{count} années"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:477
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{element} (Digipeater)"
|
||||
msgstr "%{element} (Digipeater)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:481
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{element} (Station)"
|
||||
msgstr "%{element} (Station)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:485
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{element} (Unknown)"
|
||||
msgstr "%{element} (Inconnu)"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 day"
|
||||
msgstr "1 jour"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:20
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 hour"
|
||||
msgstr "1 heure"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:18
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 minute"
|
||||
msgstr "1 minute"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:24
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 month"
|
||||
msgstr "1 mois"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 year"
|
||||
msgstr "1 année"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:80
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "APRS-IS Connection"
|
||||
msgstr "Connexion APRS-IS"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:68
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "APRS-IS Connection Issue"
|
||||
msgstr "Problème de connexion APRS-IS"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:44
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "APRS.me System Status"
|
||||
msgstr "État du système APRS.me"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Access forbidden"
|
||||
msgstr "Accès interdit"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "All packets are parsing successfully!"
|
||||
msgstr "Tous les paquets sont analysés avec succès !"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:72
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "An error occurred: %{reason}"
|
||||
msgstr "Une erreur s'est produite : %{reason}"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:40
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Attempted At"
|
||||
msgstr "Tenté à"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Auto-refreshes every 5 seconds"
|
||||
msgstr "Actualisation automatique toutes les 5 secondes"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:71
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Bad request"
|
||||
msgstr "Mauvaise requête"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Connected"
|
||||
msgstr "Connecté"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:113
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Connected Since:"
|
||||
msgstr "Connecté depuis :"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:201
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Connection Health:"
|
||||
msgstr "État de la connexion :"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:94
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Disconnected"
|
||||
msgstr "Déconnecté"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:308
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Disconnected - Connection issues detected"
|
||||
msgstr "Déconnecté - Problèmes de connexion détectés"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Error Message"
|
||||
msgstr "Message d'erreur"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Error Type"
|
||||
msgstr "Type d'erreur"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:312
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Excellent - Long-term stable connection"
|
||||
msgstr "Excellent - Connexion stable à long terme"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:135
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Filter:"
|
||||
msgstr "Filtre :"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Forbidden"
|
||||
msgstr "Interdit"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:310
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Good - Connection stable for less than 1 hour"
|
||||
msgstr "Bon - Connexion stable depuis moins d'1 heure"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Internal server error"
|
||||
msgstr "Erreur interne du serveur"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:176
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Packet:"
|
||||
msgstr "Dernier paquet :"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last updated:"
|
||||
msgstr "Dernière mise à jour :"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:107
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Login ID:"
|
||||
msgstr "ID de connexion :"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:84
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No bad packets"
|
||||
msgstr "Aucun paquet défectueux"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No error message"
|
||||
msgstr "Aucun message d'erreur"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:182
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "None"
|
||||
msgstr "Aucun"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:119
|
||||
#: lib/aprsme_web/live/status_live/index.ex:276
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Not connected"
|
||||
msgstr "Non connecté"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:145
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packet Statistics"
|
||||
msgstr "Statistiques des paquets"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:167
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packets/Min:"
|
||||
msgstr "Paquets/Min :"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:158
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packets/Sec:"
|
||||
msgstr "Paquets/Sec :"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:305
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "RELAY (Relay digipeater)"
|
||||
msgstr "RELAY (Digipeater relais)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:308
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "RELAY digipeater (%{element})"
|
||||
msgstr "Digipeater RELAY (%{element})"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:306
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "RELAY-1 (Relay digipeater, 1 hop)"
|
||||
msgstr "RELAY-1 (Digipeater relais, 1 saut)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:307
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "RELAY-2 (Relay digipeater, 2 hops)"
|
||||
msgstr "RELAY-2 (Digipeater relais, 2 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:58
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:227
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:148
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Raw Packet"
|
||||
msgstr "Paquet brut"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:309
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Recently connected - Monitoring stability"
|
||||
msgstr "Récemment connecté - Surveillance de la stabilité"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:57
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Request timeout"
|
||||
msgstr "Délai d'attente de la requête"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:68
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Resource not found"
|
||||
msgstr "Ressource introuvable"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:100
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Server:"
|
||||
msgstr "Serveur :"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:85
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Status:"
|
||||
msgstr "Statut :"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:189
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stored Packets:"
|
||||
msgstr "Paquets stockés :"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:470
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TCPIP (Internet gateway)"
|
||||
msgstr "TCPIP (Passerelle Internet)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:472
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TCPIP gateway (%{element})"
|
||||
msgstr "Passerelle TCPIP (%{element})"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:471
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TCPIP* (Internet gateway, no forward)"
|
||||
msgstr "TCPIP* (Passerelle Internet, pas de transfert)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:299
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE digipeater (%{element})"
|
||||
msgstr "Digipeater TRACE (%{element})"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:292
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE1-1 (Trace digipeater, 1 hop)"
|
||||
msgstr "TRACE1-1 (Digipeater trace, 1 saut)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:293
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE2-1 (Trace digipeater, 2 hops)"
|
||||
msgstr "TRACE2-1 (Digipeater trace, 2 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:294
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE3-1 (Trace digipeater, 3 hops)"
|
||||
msgstr "TRACE3-1 (Digipeater trace, 3 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:295
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE4-1 (Trace digipeater, 4 hops)"
|
||||
msgstr "TRACE4-1 (Digipeater trace, 4 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:296
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE5-1 (Trace digipeater, 5 hops)"
|
||||
msgstr "TRACE5-1 (Digipeater trace, 5 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:297
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE6-1 (Trace digipeater, 6 hops)"
|
||||
msgstr "TRACE6-1 (Digipeater trace, 6 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:298
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "TRACE7-1 (Trace digipeater, 7 hops)"
|
||||
msgstr "TRACE7-1 (Digipeater trace, 7 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:70
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "The system is currently disconnected from the APRS-IS network. This may be due to network issues or server maintenance."
|
||||
msgstr "Le système est actuellement déconnecté du réseau APRS-IS. Cela peut être dû à des problèmes réseau ou à la maintenance du serveur."
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:149
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Total Packets:"
|
||||
msgstr "Total des paquets :"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unauthorized"
|
||||
msgstr "Non autorisé"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/fallback_controller.ex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unauthorized access"
|
||||
msgstr "Accès non autorisé"
|
||||
|
||||
#: lib/aprsme/device_identification.ex:56
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:50
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:143
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:209
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:92
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:313
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unknown status"
|
||||
msgstr "Statut inconnu"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/json/error_json.ex:37
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Unprocessable entity"
|
||||
msgstr "Entité non traitable"
|
||||
|
||||
#: lib/aprsme_web/live/bad_packets_live/index.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Updating..."
|
||||
msgstr "Mise à jour..."
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:125
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Uptime:"
|
||||
msgstr "Temps de fonctionnement :"
|
||||
|
||||
#: lib/aprsme_web/controllers/api/v1/json/changeset_json.ex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Validation failed"
|
||||
msgstr "Échec de la validation"
|
||||
|
||||
#: lib/aprsme_web/live/status_live/index.ex:311
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Very good - Connection stable for less than 1 day"
|
||||
msgstr "Très bon - Connexion stable depuis moins d'1 jour"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:286
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE digipeater (%{element})"
|
||||
msgstr "Digipeater WIDE (%{element})"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:277
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE1-1 (Wide area digipeater, 1 hop)"
|
||||
msgstr "WIDE1-1 (Digipeater zone étendue, 1 saut)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:284
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE1-2 (Wide area digipeater, 1 hop, 2nd attempt)"
|
||||
msgstr "WIDE1-2 (Digipeater zone étendue, 1 saut, 2e tentative)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:278
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE2-1 (Wide area digipeater, 2 hops)"
|
||||
msgstr "WIDE2-1 (Digipeater zone étendue, 2 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:285
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE2-2 (Wide area digipeater, 2 hops, 2nd attempt)"
|
||||
msgstr "WIDE2-2 (Digipeater zone étendue, 2 sauts, 2e tentative)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:279
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE3-1 (Wide area digipeater, 3 hops)"
|
||||
msgstr "WIDE3-1 (Digipeater zone étendue, 3 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:280
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE4-1 (Wide area digipeater, 4 hops)"
|
||||
msgstr "WIDE4-1 (Digipeater zone étendue, 4 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:281
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE5-1 (Wide area digipeater, 5 hops)"
|
||||
msgstr "WIDE5-1 (Digipeater zone étendue, 5 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:282
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE6-1 (Wide area digipeater, 6 hops)"
|
||||
msgstr "WIDE6-1 (Digipeater zone étendue, 6 sauts)"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.ex:283
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "WIDE7-1 (WIDE area digipeater, 7 hops)"
|
||||
msgstr "WIDE7-1 (Digipeater zone étendue, 7 sauts)"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "less than a minute"
|
||||
msgstr "moins d'une minute"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:118
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Gusts"
|
||||
msgstr "Rafales"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:103
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Humidity"
|
||||
msgstr "Humidité"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:84
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last WX report"
|
||||
msgstr "Dernier rapport météo"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:124
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Pressure"
|
||||
msgstr "Pression"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:130
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rain (1h)"
|
||||
msgstr "Pluie (1h)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:136
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rain (24h)"
|
||||
msgstr "Pluie (24h)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:142
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Rain (since midnight)"
|
||||
msgstr "Pluie (depuis minuit)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:159
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Raw comment"
|
||||
msgstr "Commentaire brut"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:97
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Temperature"
|
||||
msgstr "Température"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View info"
|
||||
msgstr "Voir les infos"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:49
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View on map"
|
||||
msgstr "Voir sur la carte"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:67
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "View packets"
|
||||
msgstr "Voir les paquets"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:79
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Weather Details"
|
||||
msgstr "Détails météo"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:166
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Weather History Graphs"
|
||||
msgstr "Graphiques d'historique météo"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Weather Station"
|
||||
msgstr "Station météo"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.html.heex:109
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Wind"
|
||||
msgstr "Vent"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "APRS Station"
|
||||
msgstr "Station APRS"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:149
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Altitude"
|
||||
msgstr "Altitude"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:10
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Base Callsign"
|
||||
msgstr "Indicatif de base"
|
||||
|
||||
#: lib/aprsme_web/live/about_live.html.heex:12
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Built with Modern Technologies"
|
||||
msgstr "Construit avec des technologies modernes"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:270
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:388
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Callsign"
|
||||
msgstr "Indicatif"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:155
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Course"
|
||||
msgstr "Cap"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:11
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Data Type"
|
||||
msgstr "Type de données"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:220
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Decoded Path"
|
||||
msgstr "Chemin décodé"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:194
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:16
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Device"
|
||||
msgstr "Appareil"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:189
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Device Information"
|
||||
msgstr "Informations sur l'appareil"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:391
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Distance & Course"
|
||||
msgstr "Distance et cap"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:273
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Distance & Direction"
|
||||
msgstr "Distance et direction"
|
||||
|
||||
#: lib/aprsme_web/live/about_live.html.heex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Explore the Map"
|
||||
msgstr "Explorer la carte"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:121
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Grid Square"
|
||||
msgstr "Carré de grille"
|
||||
|
||||
#: lib/aprsme_web/live/about_live.html.heex:21
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Join Our Community"
|
||||
msgstr "Rejoignez notre communauté"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:276
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:394
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Heard"
|
||||
msgstr "Dernière écoute"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:133
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Position"
|
||||
msgstr "Dernière position"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:14
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Latitude"
|
||||
msgstr "Latitude"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:114
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Location"
|
||||
msgstr "Emplacement"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:15
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Longitude"
|
||||
msgstr "Longitude"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:469
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No data available"
|
||||
msgstr "Aucune donnée disponible"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:164
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No packets"
|
||||
msgstr "Aucun paquet"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:471
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "No recent packet data available for this callsign."
|
||||
msgstr "Aucune donnée de paquet récente disponible pour cet indicatif."
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:262
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Other SSIDs"
|
||||
msgstr "Autres SSID"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:165
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Packets will appear here as they are received."
|
||||
msgstr "Les paquets apparaîtront ici au fur et à mesure qu'ils sont reçus."
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:215
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Path"
|
||||
msgstr "Chemin"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:109
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Position Information"
|
||||
msgstr "Informations de position"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:9
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "SSID"
|
||||
msgstr "SSID"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Sender"
|
||||
msgstr "Expéditeur"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Speed"
|
||||
msgstr "Vitesse"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:380
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Stations Near Current Position"
|
||||
msgstr "Stations près de la position actuelle"
|
||||
|
||||
#: lib/aprsme_web/live/packets_live/index.html.heex:12
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Symbol"
|
||||
msgstr "Symbole"
|
||||
|
||||
#: lib/aprsme_web/live/about_live.html.heex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Under heavy construction"
|
||||
msgstr "En construction intensive"
|
||||
|
||||
#: lib/aprsme_web/live/info_live/show.html.heex:71
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Weather charts"
|
||||
msgstr "Graphiques météo"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%"
|
||||
msgstr "%"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Dew Point (°F)"
|
||||
msgstr "Point de rosée (°F)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:54
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Humidity (%)"
|
||||
msgstr "Humidité (%)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:56
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:57
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Pressure (mb)"
|
||||
msgstr "Pression (mb)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Temperature & Dew Point (°F)"
|
||||
msgstr "Température et point de rosée (°F)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:52
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Temperature (°F)"
|
||||
msgstr "Température (°F)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:61
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Time"
|
||||
msgstr "Heure"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:58
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Wind (mph)"
|
||||
msgstr "Vent (mph)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:60
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Wind Gust (mph)"
|
||||
msgstr "Rafale de vent (mph)"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Wind Speed (mph)"
|
||||
msgstr "Vitesse du vent (mph)"
|
||||
|
||||
#: lib/aprsme_web/time_helpers.ex:14
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "ago"
|
||||
msgstr "il y a"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:64
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "mb"
|
||||
msgstr "mb"
|
||||
|
||||
#: lib/aprsme_web/live/weather_live/callsign_view.ex:62
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "°F"
|
||||
msgstr "°F"
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:760
|
||||
#: lib/aprsme_web/components/core_components.ex:768
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "About"
|
||||
msgstr "À propos"
|
||||
|
||||
#: lib/aprsme_web/components/core_components.ex:755
|
||||
#: lib/aprsme_web/components/core_components.ex:765
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Home"
|
||||
msgstr "Accueil"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:791
|
||||
#: lib/aprsme_web/live/map_live/index.ex:794
|
||||
#: lib/aprsme_web/live/map_live/index.ex:797
|
||||
#: lib/aprsme_web/live/map_live/index.ex:800
|
||||
#: lib/aprsme_web/live/map_live/index.ex:803
|
||||
#: lib/aprsme_web/live/map_live/index.ex:846
|
||||
#: lib/aprsme_web/live/map_live/index.ex:849
|
||||
#: lib/aprsme_web/live/map_live/index.ex:852
|
||||
#: lib/aprsme_web/live/map_live/index.ex:855
|
||||
#: lib/aprsme_web/live/map_live/index.ex:858
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 Hour"
|
||||
msgid_plural "%{count} Hours"
|
||||
msgstr[0] "1 heure"
|
||||
msgstr[1] "%{count} heures"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:806
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "1 Week"
|
||||
msgstr "1 semaine"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:755
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Enter callsign..."
|
||||
msgstr "Entrer l'indicatif..."
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:838
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Historical Data"
|
||||
msgstr "Données historiques"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:906
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Last Deploy"
|
||||
msgstr "Dernier déploiement"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:890
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Navigation"
|
||||
msgstr "Navigation"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:762
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search"
|
||||
msgstr "Rechercher"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:747
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Search Callsign"
|
||||
msgstr "Rechercher l'indicatif"
|
||||
|
||||
#: lib/aprsme_web/live/map_live/index.ex:783
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Trail Duration"
|
||||
msgstr "Durée de la trace"
|
||||
102
priv/gettext/fr/LC_MESSAGES/errors.po
Normal file
102
priv/gettext/fr/LC_MESSAGES/errors.po
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
## "msgid"s in this file come from POT (.pot) files.
|
||||
###
|
||||
### Do not add, change, or remove "msgid"s manually here as
|
||||
### they're tied to the ones in the corresponding POT file
|
||||
### (with the same domain).
|
||||
###
|
||||
### Use "mix gettext.extract --merge" or "mix gettext.merge"
|
||||
### to merge POT files into PO files.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n>1);\n"
|
||||
|
||||
msgid "can't be blank"
|
||||
msgstr "ne peut pas être vide"
|
||||
|
||||
msgid "has already been taken"
|
||||
msgstr "a déjà été pris"
|
||||
|
||||
msgid "is invalid"
|
||||
msgstr "n'est pas valide"
|
||||
|
||||
msgid "must be accepted"
|
||||
msgstr "doit être accepté"
|
||||
|
||||
msgid "has invalid format"
|
||||
msgstr "a un format invalide"
|
||||
|
||||
msgid "has an invalid entry"
|
||||
msgstr "a une entrée invalide"
|
||||
|
||||
msgid "is reserved"
|
||||
msgstr "est réservé"
|
||||
|
||||
msgid "does not match confirmation"
|
||||
msgstr "ne correspond pas à la confirmation"
|
||||
|
||||
msgid "is still associated with this entry"
|
||||
msgstr "est encore associé à cette entrée"
|
||||
|
||||
msgid "are still associated with this entry"
|
||||
msgstr "sont encore associés à cette entrée"
|
||||
|
||||
msgid "should have %{count} item(s)"
|
||||
msgid_plural "should have %{count} item(s)"
|
||||
msgstr[0] "devrait avoir %{count} élément"
|
||||
msgstr[1] "devrait avoir %{count} éléments"
|
||||
|
||||
msgid "should be %{count} character(s)"
|
||||
msgid_plural "should be %{count} character(s)"
|
||||
msgstr[0] "devrait être %{count} caractère"
|
||||
msgstr[1] "devrait être %{count} caractères"
|
||||
|
||||
msgid "should be %{count} byte(s)"
|
||||
msgid_plural "should be %{count} byte(s)"
|
||||
msgstr[0] "devrait être %{count} octet"
|
||||
msgstr[1] "devrait être %{count} octets"
|
||||
|
||||
msgid "should have at least %{count} item(s)"
|
||||
msgid_plural "should have at least %{count} item(s)"
|
||||
msgstr[0] "devrait avoir au moins %{count} élément"
|
||||
msgstr[1] "devrait avoir au moins %{count} éléments"
|
||||
|
||||
msgid "should be at least %{count} character(s)"
|
||||
msgid_plural "should be at least %{count} character(s)"
|
||||
msgstr[0] "devrait être au moins %{count} caractère"
|
||||
msgstr[1] "devrait être au moins %{count} caractères"
|
||||
|
||||
msgid "should be at least %{count} byte(s)"
|
||||
msgid_plural "should be at least %{count} byte(s)"
|
||||
msgstr[0] "devrait être au moins %{count} octet"
|
||||
msgstr[1] "devrait être au moins %{count} octets"
|
||||
|
||||
msgid "should have at most %{count} item(s)"
|
||||
msgid_plural "should have at most %{count} item(s)"
|
||||
msgstr[0] "devrait avoir au maximum %{count} élément"
|
||||
msgstr[1] "devrait avoir au maximum %{count} éléments"
|
||||
|
||||
msgid "should be at most %{count} character(s)"
|
||||
msgid_plural "should be at most %{count} character(s)"
|
||||
msgstr[0] "devrait être au maximum %{count} caractère"
|
||||
msgstr[1] "devrait être au maximum %{count} caractères"
|
||||
|
||||
msgid "should be at most %{count} byte(s)"
|
||||
msgid_plural "should be at most %{count} byte(s)"
|
||||
msgstr[0] "devrait être au maximum %{count} octet"
|
||||
msgstr[1] "devrait être au maximum %{count} octets"
|
||||
|
||||
msgid "must be less than %{number}"
|
||||
msgstr "doit être inférieur à %{number}"
|
||||
|
||||
msgid "must be greater than %{number}"
|
||||
msgstr "doit être supérieur à %{number}"
|
||||
|
||||
msgid "must be less than or equal to %{number}"
|
||||
msgstr "doit être inférieur ou égal à %{number}"
|
||||
|
||||
msgid "must be greater than or equal to %{number}"
|
||||
msgstr "doit être supérieur ou égal à %{number}"
|
||||
|
||||
msgid "must be equal to %{number}"
|
||||
msgstr "doit être égal à %{number}"
|
||||
Loading…
Add table
Reference in a new issue