Add a German translation
Marco Ricci

Marco Ricci commited on 2025-03-16 23:53:16
Zeige 1 geänderte Dateien mit 1569 Einfügungen und 0 Löschungen.


Co-authored-by: Isabell Hoffstadt
... ...
@@ -0,0 +1,1569 @@
1
+# German translation for derivepassphrase.
2
+# Copyright (C) 2025 Isabell Hoffstadt
3
+# Copyright (C) 2025 Marco Ricci
4
+# This file is distributed under the same license as derivepassphrase.
5
+#
6
+# Isabell Hoffstadt, 2025.
7
+# Marco Ricci <software@the13thletter.info>, 2025.
8
+msgid ""
9
+msgstr ""
10
+"Project-Id-Version: derivepassphrase 0.5\n"
11
+"Report-Msgid-Bugs-To: software@the13thletter.info\n"
12
+"POT-Creation-Date: 2025-03-16 23:50+0100\n"
13
+"PO-Revision-Date: 2025-03-16 23:53+0100\n"
14
+"Last-Translator: Marco Ricci <software@the13thletter.info>\n"
15
+"Language-Team: German\n"
16
+"Language: de_DE\n"
17
+"MIME-Version: 1.0\n"
18
+"Content-Type: text/plain; charset=UTF-8\n"
19
+"Content-Transfer-Encoding: 8bit\n"
20
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
21
+
22
+#. TRANSLATORS: This is a short label that will be prepended to a warning message, e.g., "Deprecation warning: A subcommand will be required in v1.0."
23
+#.
24
+#. Message-ID: Label.DEPRECATION_WARNING_LABEL
25
+msgctxt "Label :: Diagnostics :: Marker"
26
+msgid "Deprecation warning"
27
+msgstr "Obsoleszenzwarnung"
28
+
29
+#. TRANSLATORS: This is a short label that will be prepended to a warning message, e.g., "Warning: An empty service name is not supported by vault(1)."
30
+#.
31
+#. Message-ID: Label.WARNING_LABEL
32
+msgctxt "Label :: Diagnostics :: Marker"
33
+msgid "Warning"
34
+msgstr "Warnung"
35
+
36
+#. TRANSLATORS: This is one of two values of the settings_type metavar used in the CANNOT_UPDATE_SETTINGS_NO_SETTINGS entry.  It is only used there.  The full sentence then reads: "Cannot update the global settings without any given settings."
37
+#.
38
+#. Message-ID: Label.CANNOT_UPDATE_SETTINGS_METAVAR_SETTINGS_TYPE_GLOBAL
39
+msgctxt "Label :: Error message :: Metavar"
40
+msgid "global settings"
41
+msgstr "globalen Einstellungen"
42
+
43
+#. TRANSLATORS: This is one of two values of the settings_type metavar used in the CANNOT_UPDATE_SETTINGS_NO_SETTINGS entry.  It is only used there.  The full sentence then reads: "Cannot update the service-specific settings without any given settings."
44
+#.
45
+#. Message-ID: Label.CANNOT_UPDATE_SETTINGS_METAVAR_SETTINGS_TYPE_SERVICE
46
+msgctxt "Label :: Error message :: Metavar"
47
+msgid "service-specific settings"
48
+msgstr "dienstspezifischen Einstellungen"
49
+
50
+#. TRANSLATORS: This value is used as the {key} metavar for Label.PASSPHRASE_NOT_NORMALIZED if the passphrase was entered interactively.
51
+#.
52
+#. Message-ID: Label.SETTINGS_ORIGIN_INTERACTIVE
53
+msgctxt "Label :: Error message :: Metavar"
54
+msgid "interactive input"
55
+msgstr "interaktiv eingelesene"
56
+
57
+#. TRANSLATORS: Message-ID: Label.CONFIGURATION_EPILOG
58
+msgctxt "Label :: Help text :: Explanation"
59
+msgid "Use $VISUAL or $EDITOR to configure the spawned editor."
60
+msgstr ""
61
+"Nutzen Sie $VISUAL oder $EDITOR, um den gewünschten Editor auszuwählen."
62
+
63
+#. TRANSLATORS: Message-ID: Label.DERIVEPASSPHRASE_02
64
+msgctxt "Label :: Help text :: Explanation"
65
+msgid ""
66
+"The currently implemented subcommands are \"vault\" (for the scheme used by "
67
+"vault) and \"export\" (for exporting foreign configuration data).  See the "
68
+"respective `--help` output for instructions.  If no subcommand is given, we "
69
+"default to \"vault\"."
70
+msgstr ""
71
+"Die aktuell implementierten Subkommandos sind \"vault\" (für das von vault "
72
+"eingesetzte Schema) und \"export\" (zum Exportieren von programmfremden "
73
+"Daten). Lesen Sie hierzu auch die jeweilige `--help` Ausgabe für weitere "
74
+"Anweisungen. Wird kein Subkommando eingegeben, wird automatisch das "
75
+"Subkommando \"vault\" verwendet."
76
+
77
+#. TRANSLATORS: Message-ID: Label.DERIVEPASSPHRASE_03
78
+msgctxt "Label :: Help text :: Explanation"
79
+msgid ""
80
+"Deprecation notice: Defaulting to \"vault\" is deprecated.  Starting in "
81
+"v1.0, the subcommand must be specified explicitly."
82
+msgstr ""
83
+"Obsoleszenzhinweis: Beginnend mit v1.0 muss das Subkommando explizit "
84
+"angegeben werden."
85
+
86
+#. TRANSLATORS: Message-ID: Label.DERIVEPASSPHRASE_EPILOG_01
87
+msgctxt "Label :: Help text :: Explanation"
88
+msgid ""
89
+"Configuration is stored in a directory according to the "
90
+"`DERIVEPASSPHRASE_PATH` variable, which defaults to `~/.derivepassphrase` on "
91
+"UNIX-like systems and `C:"
92
+"\\Users\\<user>\\AppData\\Roaming\\Derivepassphrase` on Windows."
93
+msgstr ""
94
+"Die Konfiguration wird in einem Ordner abgespeichert, dessen Pfad von der "
95
+"`DERIVAPASSPHRASE_PATH` variable spezifiert ist. Standardverzeichnisse sind "
96
+"`~/.derivepassphrase` auf UNIX-ähnlichen Systemen, und `C:"
97
+"\\Users\\<user>\\AppData\\Roaming\\Derivepassphrase` auf Windows-Systemen."
98
+
99
+#. TRANSLATORS: Message-ID: Label.DERIVEPASSPHRASE_EXPORT_02
100
+msgctxt "Label :: Help text :: Explanation"
101
+msgid ""
102
+"The only available subcommand is \"vault\", which implements the vault-"
103
+"native configuration scheme.  If no subcommand is given, we default to "
104
+"\"vault\"."
105
+msgstr ""
106
+"Das einzig verfügbare Subkommando ist \"vault\", welches das vault-eigene "
107
+"Konfigurationschema implementiert. Wird kein Subkommando eingegeben, wird "
108
+"automatisch das Subkommando \"vault\" verwendet."
109
+
110
+#. TRANSLATORS: The metavar is Label.EXPORT_VAULT_METAVAR_PATH.
111
+#.
112
+#. Message-ID: Label.DERIVEPASSPHRASE_EXPORT_VAULT_02
113
+#, python-brace-format
114
+msgctxt "Label :: Help text :: Explanation"
115
+msgid ""
116
+"Depending on the configuration format, {path_metavar} may either be a file "
117
+"or a directory.  We support the vault \"v0.2\", \"v0.3\" and \"storeroom\" "
118
+"formats."
119
+msgstr ""
120
+"Abhänging vom Konfigurationsdateiformat kann {path_metavar} entweder eine "
121
+"Datei oder ein Verzeichnis sein. Unterstützt werden die vault \"v0.2\", "
122
+"\"v0.3\" und \"storeroom\" Formate."
123
+
124
+#. TRANSLATORS: The metavar is Label.EXPORT_VAULT_METAVAR_PATH.
125
+#.
126
+#. Message-ID: Label.DERIVEPASSPHRASE_EXPORT_VAULT_03
127
+#, python-brace-format
128
+msgctxt "Label :: Help text :: Explanation"
129
+msgid ""
130
+"If {path_metavar} is explicitly given as `VAULT_PATH`, then use the "
131
+"`VAULT_PATH` environment variable to determine the correct path.  (Use `./"
132
+"VAULT_PATH` or similar to indicate a file/directory actually named "
133
+"`VAULT_PATH`.)"
134
+msgstr ""
135
+"Falls der explizite Pfad `VAULT_PATH` als {path_metavar} angegeben wird, "
136
+"dann bestimme den korrekten Pfad anhand der `VAULT_PATH` Umgebungsvariable.  "
137
+"(Verwenden Sie `./VAULT_PATH` oder ähnliches um eine wörtliche Datei/ein "
138
+"wörtliches Verzeichnis mit Namen `VAULT_PATH` anzudeuten.)"
139
+
140
+#. TRANSLATORS: The metavar is Label.VAULT_METAVAR_SERVICE.
141
+#.
142
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_02
143
+#, python-brace-format
144
+msgctxt "Label :: Help text :: Explanation"
145
+msgid ""
146
+"If operating on global settings, or importing/exporting settings, then "
147
+"{service_metavar} must be omitted.  Otherwise it is required."
148
+msgstr ""
149
+"Sofern die globalen Einstellungen bearbeitet werden, oder falls die "
150
+"Einstellung importiert oder exportiert werden, so ist der {service_metavar} "
151
+"wegzulassen.  Ansonsten ist er notwendig."
152
+
153
+#. TRANSLATORS: Message-ID: Label.DERIVEPASSPHRASE_VAULT_EPILOG_01
154
+msgctxt "Label :: Help text :: Explanation"
155
+msgid ""
156
+"WARNING: There is NO WAY to retrieve the generated passphrases if the master "
157
+"passphrase, the SSH key, or the exact passphrase settings are lost, short of "
158
+"trying out all possible combinations.  You are STRONGLY advised to keep "
159
+"independent backups of the settings and the SSH key, if any."
160
+msgstr ""
161
+"ACHTUNG! Sollten das Masterpasswort, der verwendete SSH-Schlüssel oder die "
162
+"exakten Passworteinstellungen verloren gehen, gibt es KEINEN WEG Ihre mit "
163
+"derivepassphrase erzeugten Passwörter wiederherzustellen, abgesehen vom "
164
+"Durchprobieren aller Möglichkeiten. Sie sind hiermit AUSDRÜCKLICH dazu "
165
+"angehalten, ein unabhängiges Backup Ihrer Einstellungen und SSH-Schlüssel "
166
+"anzufertigen und zu pflegen."
167
+
168
+#. TRANSLATORS: Message-ID: Label.DERIVEPASSPHRASE_VAULT_EPILOG_02
169
+msgctxt "Label :: Help text :: Explanation"
170
+msgid ""
171
+"The configuration is NOT encrypted, and you are STRONGLY discouraged from "
172
+"using a stored passphrase."
173
+msgstr ""
174
+"Die Konfigurationsdatei ist NICHT VERSCHLÜSSELT, und Sie sind hiermit "
175
+"AUSDRÜCKLICH DAVOR GEWARNT das Masterpasswort in selbiger zu speichern!"
176
+
177
+#. TRANSLATORS: This instruction text is shown above the user's old stored notes for this service, if any, if the recommended "modern" editor interface is used.  The next line is the cut marking defined in Label.DERIVEPASSPHRASE_VAULT_NOTES_MARKER.
178
+#.
179
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_NOTES_INSTRUCTION_TEXT
180
+msgctxt "Label :: Help text :: Explanation"
181
+msgid ""
182
+"# Enter notes below the line with the cut mark (ASCII scissors and\n"
183
+"# dashes).  Lines above the cut mark (such as this one) will be ignored.\n"
184
+"#\n"
185
+"# If you wish to clear the notes, leave everything beyond the cut mark\n"
186
+"# blank.  However, if you leave the *entire* file blank, also removing\n"
187
+"# the cut mark, then the edit is aborted, and the old notes contents are\n"
188
+"# retained.\n"
189
+"#"
190
+msgstr ""
191
+"# Geben Sie Ihre Notizen unterhalb der Trennzeile an (die Linie mit der\n"
192
+"# ASCII-Schere und mit den Bindenstrichen). Zeilen oberhalb der Trennzeile\n"
193
+"# (wie diese hier) werden außer Acht gelassen.\n"
194
+"#\n"
195
+"# Falls Sie die Notizen zu löschen wünschen, so lassen Sie alles unterhalb\n"
196
+"# der Trennlinie leer. Falls Sie jedoch die *ganze* Datei leer lassen,\n"
197
+"# also auch die Trennzeile entfernen, so wird der Bearbeitungsvorgang\n"
198
+"# abgebrochen und die alten Notizen werden wiederhergestellt.\n"
199
+"#"
200
+
201
+#. TRANSLATORS: This instruction text is shown if the vault(1)-compatible "legacy" editor interface is used and no previous notes exist.  The interface does not support commentary in the notes, so we fill this with obvious placeholder text instead.  (Please replace this with what *your* language/culture would obviously recognize as placeholder text.)
202
+#.
203
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_NOTES_LEGACY_INSTRUCTION_TEXT
204
+msgctxt "Label :: Help text :: Explanation"
205
+msgid "INSERT NOTES HERE"
206
+msgstr "HIER NOTIZEN EINFÜGEN"
207
+
208
+#. TRANSLATORS: The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
209
+#.
210
+#. Message-ID: Label.PASSPHRASE_GENERATION_EPILOG
211
+#, python-brace-format
212
+msgctxt "Label :: Help text :: Explanation"
213
+msgid "Use {metavar}=0 to exclude a character type from the output."
214
+msgstr ""
215
+"Setzen Sie {metavar}=0, um einen Zeichentyp für das zu erzeugende Passwort "
216
+"auszuschließen."
217
+
218
+#. TRANSLATORS: The metavar is Label.STORAGE_MANAGEMENT_METAVAR_PATH.
219
+#.
220
+#. Message-ID: Label.STORAGE_MANAGEMENT_EPILOG
221
+#, python-brace-format
222
+msgctxt "Label :: Help text :: Explanation"
223
+msgid ""
224
+"Using \"-\" as {metavar} for standard input/standard output is supported."
225
+msgstr ""
226
+"Die Notation \"-\" für die Standardein- und -ausgabe wird in {metavar} "
227
+"unterstützt."
228
+
229
+#. TRANSLATORS: We use this format string to indicate, at the beginning of a command's help text, that this command is deprecated.
230
+#.
231
+#. Message-ID: Label.DEPRECATED_COMMAND_LABEL
232
+#, python-brace-format
233
+msgctxt "Label :: Help text :: Marker"
234
+msgid "(Deprecated) {text}"
235
+msgstr "(Obsolet) {text}"
236
+
237
+#. TRANSLATORS: The marker for separating the text from Label.DERIVEPASSPHRASE_VAULT_NOTES_INSTRUCTION_TEXT from the user's input (below the marker).  The first line starting with this label marks the separation point.
238
+#.
239
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_NOTES_MARKER
240
+msgctxt "Label :: Help text :: Marker"
241
+msgid "# - - - - - >8 - - - - - >8 - - - - - >8 - - - - - >8 - - - - -"
242
+msgstr "# - - - - - >8 - - - - - >8 - - - - - >8 - - - - - >8 - - - - -"
243
+
244
+#. TRANSLATORS: This text is used as {metavar} in Label.EXPORT_VAULT_FORMAT_HELP_TEXT, yielding e.g. "Try the following storage format FMT."
245
+#.
246
+#. Message-ID: Label.EXPORT_VAULT_FORMAT_METAVAR_FMT
247
+msgctxt "Label :: Help text :: Metavar :: export vault"
248
+msgid "FMT"
249
+msgstr "FMT"
250
+
251
+#. TRANSLATORS: This text is used as {metavar} in Label.EXPORT_VAULT_KEY_HELP_TEXT, yielding e.g. "Use K as the storage master key."
252
+#.
253
+#. Message-ID: Label.EXPORT_VAULT_KEY_METAVAR_K
254
+msgctxt "Label :: Help text :: Metavar :: export vault"
255
+msgid "K"
256
+msgstr "K"
257
+
258
+#. TRANSLATORS: Used as "path_metavar" in Label.DERIVEPASSPHRASE_EXPORT_VAULT_02 and others, yielding e.g. "Depending on the configuration format, PATH may either be a file or a directory."
259
+#.
260
+#. Message-ID: Label.EXPORT_VAULT_METAVAR_PATH
261
+msgctxt "Label :: Help text :: Metavar :: export vault"
262
+msgid "PATH"
263
+msgstr "PFAD"
264
+
265
+#. TRANSLATORS: This metavar is used in Label.PASSPHRASE_GENERATION_EPILOG, Label.DERIVEPASSPHRASE_VAULT_LENGTH_HELP_TEXT and others, yielding e.g. "Ensure a passphrase length of NUMBER characters.".
266
+#.
267
+#. Message-ID: Label.PASSPHRASE_GENERATION_METAVAR_NUMBER
268
+msgctxt "Label :: Help text :: Metavar :: vault"
269
+msgid "NUMBER"
270
+msgstr "ANZAHL"
271
+
272
+#. TRANSLATORS: This metavar is used in Label.STORAGE_MANAGEMENT_EPILOG, Label.DERIVEPASSPHRASE_VAULT_IMPORT_HELP_TEXT and others, yielding e.g. "Ensure a passphrase length of NUMBER characters.".
273
+#.
274
+#. Message-ID: Label.STORAGE_MANAGEMENT_METAVAR_PATH
275
+msgctxt "Label :: Help text :: Metavar :: vault"
276
+msgid "PATH"
277
+msgstr "PFAD"
278
+
279
+#. TRANSLATORS: This metavar is used as "service_metavar" in multiple help texts, such as Label.DERIVEPASSPHRASE_VAULT_CONFIG_HELP_TEXT, Label.DERIVEPASSPHRASE_VAULT_02, ErrMsgTemplate.SERVICE_REQUIRED, etc.  Sample texts are "Deriving a passphrase requires a SERVICE.", "save the given settings for SERVICE, or global" and "If operating on global settings, or importing/exporting settings, then SERVICE must be omitted."
280
+#.
281
+#. Message-ID: Label.VAULT_METAVAR_SERVICE
282
+msgctxt "Label :: Help text :: Metavar :: vault"
283
+msgid "SERVICE"
284
+msgstr "DIENST"
285
+
286
+#. TRANSLATORS: Message-ID: Label.DEBUG_OPTION_HELP_TEXT
287
+msgctxt "Label :: Help text :: One-line description"
288
+msgid "Also emit debug information.  Implies --verbose."
289
+msgstr "Gebe ebenfalls Debuginformationen aus. Impliziert --verbose."
290
+
291
+#. TRANSLATORS: This is the first paragraph of the command help text, but it also appears (in truncated form, if necessary) as one-line help text for this command.  The translation should thus be as meaningful as possible even if truncated.
292
+#.
293
+#. Message-ID: Label.DERIVEPASSPHRASE_01
294
+msgctxt "Label :: Help text :: One-line description"
295
+msgid "Derive a strong passphrase, deterministically, from a master secret."
296
+msgstr ""
297
+"Leite deterministisch ein starkes Passwort mit Hilfe eines Master Secret "
298
+"(engl. \"Master-Geheimnis\") ab."
299
+
300
+#. TRANSLATORS: This is the first paragraph of the command help text, but it also appears (in truncated form, if necessary) as one-line help text for this command.  The translation should thus be as meaningful as possible even if truncated.
301
+#.
302
+#. Message-ID: Label.DERIVEPASSPHRASE_EXPORT_01
303
+msgctxt "Label :: Help text :: One-line description"
304
+msgid "Export a foreign configuration to standard output."
305
+msgstr ""
306
+"Exportiere eine programmfremde Konfigurationsdatei zur Standardausgabe."
307
+
308
+#. TRANSLATORS: This is the first paragraph of the command help text, but it also appears (in truncated form, if necessary) as one-line help text for this command.  The translation should thus be as meaningful as possible even if truncated.
309
+#.
310
+#. Message-ID: Label.DERIVEPASSPHRASE_EXPORT_VAULT_01
311
+msgctxt "Label :: Help text :: One-line description"
312
+msgid "Export a vault-native configuration to standard output."
313
+msgstr "Exportiere eine vault-eigene Konfigurationsdatei zur Standardausgabe."
314
+
315
+#. TRANSLATORS: This is the first paragraph of the command help text, but it also appears (in truncated form, if necessary) as one-line help text for this command.  The translation should thus be as meaningful as possible even if truncated.
316
+#.
317
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_01
318
+msgctxt "Label :: Help text :: One-line description"
319
+msgid "Derive a passphrase using the vault derivation scheme."
320
+msgstr "Leite ein Passwort gemäß dem vault-Schema ab."
321
+
322
+#. TRANSLATORS: The metavar is Label.VAULT_METAVAR_SERVICE.
323
+#.
324
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_CONFIG_HELP_TEXT
325
+#, python-brace-format
326
+msgctxt "Label :: Help text :: One-line description"
327
+msgid "Save the given settings for {service_metavar}, or global."
328
+msgstr ""
329
+"Speichere die angewählten Einstellungen für {service_metavar}, oder global."
330
+
331
+#. TRANSLATORS: The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
332
+#.
333
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_DASH_HELP_TEXT
334
+#, python-brace-format
335
+msgctxt "Label :: Help text :: One-line description"
336
+msgid "Ensure at least {metavar} \"-\" or \"_\" characters."
337
+msgstr "Erwirke mindestens {metavar} Zeichen \"-\" oder \"_\"."
338
+
339
+#. TRANSLATORS: Message-ID: Label.DERIVEPASSPHRASE_VAULT_DELETE_ALL_HELP_TEXT
340
+msgctxt "Label :: Help text :: One-line description"
341
+msgid "Delete all settings."
342
+msgstr "Lösche alle Einstellungen."
343
+
344
+#. TRANSLATORS: Message-ID: Label.DERIVEPASSPHRASE_VAULT_DELETE_GLOBALS_HELP_TEXT
345
+msgctxt "Label :: Help text :: One-line description"
346
+msgid "Delete the global settings."
347
+msgstr "Lösche die globalen Einstellungen."
348
+
349
+#. TRANSLATORS: The metavar is Label.VAULT_METAVAR_SERVICE.
350
+#.
351
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_DELETE_HELP_TEXT
352
+#, python-brace-format
353
+msgctxt "Label :: Help text :: One-line description"
354
+msgid "Delete the settings for {service_metavar}."
355
+msgstr "Lösche die Einstellungen für {service_metavar}."
356
+
357
+#. TRANSLATORS: The corresponding option is displayed as "--modern-editor-interface / --vault-legacy-editor-interface", so you may want to hint that the default (legacy) is the second of those options.  Though the vault(1) legacy editor interface clearly has deficiencies and (in my opinion) should only be used for compatibility purposes, the one-line help text should try not to sound too judgmental, if possible.
358
+#.
359
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_EDITOR_INTERFACE_HELP_TEXT
360
+msgctxt "Label :: Help text :: One-line description"
361
+msgid ""
362
+"Edit notes using the modern editor interface or the vault-like legacy one "
363
+"(default)."
364
+msgstr ""
365
+"Verwende die modernere Editorkonvention, oder die Altkonvention à la vault "
366
+"(voreingestellt), bei der Bearbeitung von Notizen."
367
+
368
+#. TRANSLATORS: The corresponding option is displayed as "--export-as=json|sh", so json refers to the JSON format (default) and sh refers to the POSIX sh format.  Please ensure that it is clear what the "json" and "sh" refer to in your translation... even if you cannot use texutal correspondence like the English text does.
369
+#.
370
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_EXPORT_AS_HELP_TEXT
371
+msgctxt "Label :: Help text :: One-line description"
372
+msgid "When exporting, export as JSON (default) or as POSIX sh."
373
+msgstr ""
374
+"Schreibe Exporte im JSON- (Voreinstellung) oder im POSIX \"sh\"-Format."
375
+
376
+#. TRANSLATORS: The metavar is Label.STORAGE_MANAGEMENT_METAVAR_PATH.
377
+#.
378
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_EXPORT_HELP_TEXT
379
+#, python-brace-format
380
+msgctxt "Label :: Help text :: One-line description"
381
+msgid "Export all saved settings to {metavar}."
382
+msgstr "Exportiere alle gespeicherten Einstellungen in {metavar}."
383
+
384
+#. TRANSLATORS: The metavar is Label.STORAGE_MANAGEMENT_METAVAR_PATH.
385
+#.
386
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_IMPORT_HELP_TEXT
387
+#, python-brace-format
388
+msgctxt "Label :: Help text :: One-line description"
389
+msgid "Import saved settings from {metavar}."
390
+msgstr "Importiere gespeicherte Einstellungen aus {metavar}."
391
+
392
+#. TRANSLATORS: Message-ID: Label.DERIVEPASSPHRASE_VAULT_KEY_HELP_TEXT
393
+msgctxt "Label :: Help text :: One-line description"
394
+msgid "Select a suitable SSH key from the SSH agent."
395
+msgstr ""
396
+"Wähle einen geeigneten SSH Schlüssel unter den im SSH-Agenten geladenen "
397
+"Schlüsseln."
398
+
399
+#. TRANSLATORS: The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
400
+#.
401
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_LENGTH_HELP_TEXT
402
+#, python-brace-format
403
+msgctxt "Label :: Help text :: One-line description"
404
+msgid "Ensure a passphrase length of {metavar} characters."
405
+msgstr "Erwirke eine Passwortlänge von {metavar} Zeichen."
406
+
407
+#. TRANSLATORS: The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
408
+#.
409
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_LOWER_HELP_TEXT
410
+#, python-brace-format
411
+msgctxt "Label :: Help text :: One-line description"
412
+msgid "Ensure at least {metavar} lowercase characters."
413
+msgstr "Erwirke mindestens {metavar} Kleinbuchstaben."
414
+
415
+#. TRANSLATORS: The metavar is Label.VAULT_METAVAR_SERVICE.
416
+#.
417
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_NOTES_HELP_TEXT
418
+#, python-brace-format
419
+msgctxt "Label :: Help text :: One-line description"
420
+msgid "With --config and {service_metavar}, spawn an editor to edit notes."
421
+msgstr ""
422
+"Bearbeite die Notizen für den {service_metavar} im Texteditor, sofern --"
423
+"config ebenfalls gegeben wurde."
424
+
425
+#. TRANSLATORS: The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
426
+#.
427
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_NUMBER_HELP_TEXT
428
+#, python-brace-format
429
+msgctxt "Label :: Help text :: One-line description"
430
+msgid "Ensure at least {metavar} digits."
431
+msgstr "Erwirke mindestens {metavar} Ziffern."
432
+
433
+#. TRANSLATORS: The corresponding option is displayed as "--overwrite-existing / --merge-existing", so you may want to hint that the default (merge) is the second of those options.
434
+#.
435
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_OVERWRITE_HELP_TEXT
436
+msgctxt "Label :: Help text :: One-line description"
437
+msgid "Overwrite or merge (default) the existing configuration."
438
+msgstr ""
439
+"Überschreibe die Konfiguration komplett, oder (voreingestellt) führe die "
440
+"existierende Konfiguration mit den Änderungen zusammen."
441
+
442
+#. TRANSLATORS: Message-ID: Label.DERIVEPASSPHRASE_VAULT_PHRASE_HELP_TEXT
443
+msgctxt "Label :: Help text :: One-line description"
444
+msgid "Prompt for a master passphrase."
445
+msgstr "Fordere zur Eingabe eines Masterpasswortes auf."
446
+
447
+#. TRANSLATORS: The corresponding option is displayed as "--print-notes-before / --print-notes-after", so you may want to hint that the default (after) is the second of those options.
448
+#.
449
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_PRINT_NOTES_BEFORE_HELP_TEXT
450
+#, python-brace-format
451
+msgctxt "Label :: Help text :: One-line description"
452
+msgid ""
453
+"Print the notes for {service_metavar} (if any) before or after (default) the "
454
+"derived passphrase."
455
+msgstr ""
456
+"Gebe etwaige Notizen für diesen {service_metavar} vor oder nach dem "
457
+"abgeleiteten Passwort an."
458
+
459
+#. TRANSLATORS: The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
460
+#.
461
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_REPEAT_HELP_TEXT
462
+#, python-brace-format
463
+msgctxt "Label :: Help text :: One-line description"
464
+msgid "Restrict runs of identical characters to at most {metavar} characters."
465
+msgstr ""
466
+"Beschränke Aneinanderreihungen identischer Zeichen auf maximal {metavar} "
467
+"Zeichen."
468
+
469
+#. TRANSLATORS: The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
470
+#.
471
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_SPACE_HELP_TEXT
472
+#, python-brace-format
473
+msgctxt "Label :: Help text :: One-line description"
474
+msgid "Ensure at least {metavar} spaces."
475
+msgstr "Erwirke mindestens {metavar} Leerzeichen."
476
+
477
+#. TRANSLATORS: The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
478
+#.
479
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_SYMBOL_HELP_TEXT
480
+#, python-brace-format
481
+msgctxt "Label :: Help text :: One-line description"
482
+msgid "Ensure at least {metavar} symbol characters."
483
+msgstr "Erwirke mindestens {metavar} Sonderzeichen."
484
+
485
+#. TRANSLATORS: The corresponding option is displayed as "--unset=phrase|key|...|symbol", so the "given setting" is referring to "phrase", "key", "lower", ..., or "symbol", respectively.  "with --config" here means that the user must also specify "--config" for this option to have any effect.
486
+#.
487
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_UNSET_HELP_TEXT
488
+msgctxt "Label :: Help text :: One-line description"
489
+msgid ""
490
+"With --config, also unset the given setting.  May be specified multiple "
491
+"times."
492
+msgstr ""
493
+"Zusammen mit --config: Setze ebenso diese bestehende Einstellung zurück. "
494
+"Darf mehrfach angegeben werden."
495
+
496
+#. TRANSLATORS: The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
497
+#.
498
+#. Message-ID: Label.DERIVEPASSPHRASE_VAULT_UPPER_HELP_TEXT
499
+#, python-brace-format
500
+msgctxt "Label :: Help text :: One-line description"
501
+msgid "Ensure at least {metavar} uppercase characters."
502
+msgstr "Erwirke mindestens {metavar} Großbuchstaben."
503
+
504
+#. TRANSLATORS: See EXPORT_VAULT_FORMAT_HELP_TEXT.  The format names/labels "v0.3", "v0.2" and "storeroom" should not be translated.
505
+#.
506
+#. Message-ID: Label.EXPORT_VAULT_FORMAT_DEFAULTS_HELP_TEXT
507
+msgctxt "Label :: Help text :: One-line description"
508
+msgid "Default: v0.3, v0.2, storeroom."
509
+msgstr "(Standardmäßig: v0.3, v0.2, storeroom.)"
510
+
511
+#. TRANSLATORS: The defaults_hint is Label.EXPORT_VAULT_FORMAT_DEFAULTS_HELP_TEXT, the metavar is Label.EXPORT_VAULT_FORMAT_METAVAR_FMT.
512
+#.
513
+#. Message-ID: Label.EXPORT_VAULT_FORMAT_HELP_TEXT
514
+#, python-brace-format
515
+msgctxt "Label :: Help text :: One-line description"
516
+msgid ""
517
+"Try the following storage format {metavar}.  If specified multiple times, "
518
+"the formats will be tried in order.  {defaults_hint}"
519
+msgstr ""
520
+"Probiere das folgende Speicherformat {metavar}. Mehrfacheingabe möglich; "
521
+"Formate werden in dieser Reihenfolge durchprobiert. {defaults_hint}"
522
+
523
+#. TRANSLATORS: See EXPORT_VAULT_KEY_HELP_TEXT.
524
+#.
525
+#. Message-ID: Label.EXPORT_VAULT_KEY_DEFAULTS_HELP_TEXT
526
+msgctxt "Label :: Help text :: One-line description"
527
+msgid ""
528
+"Default: check the VAULT_KEY, LOGNAME, USER, or USERNAME environment "
529
+"variables."
530
+msgstr ""
531
+"(Standardmäßig: Prüfe die 'VAULT_KEY', 'LOGNAME', 'USER' oder 'USERNAME' "
532
+"Umgebungsvariablen.)"
533
+
534
+#. TRANSLATORS: The defaults_hint is Label.EXPORT_VAULT_KEY_DEFAULTS_HELP_TEXT, the metavar is Label.EXPORT_VAULT_KEY_METAVAR_K.
535
+#.
536
+#. Message-ID: Label.EXPORT_VAULT_KEY_HELP_TEXT
537
+#, python-brace-format
538
+msgctxt "Label :: Help text :: One-line description"
539
+msgid "Use {metavar} as the storage master key.  {defaults_hint}"
540
+msgstr "Nutze {metavar} als Speichermasterschlüssel.  {default_hint!s}"
541
+
542
+#. TRANSLATORS: Message-ID: Label.HELP_OPTION_HELP_TEXT
543
+msgctxt "Label :: Help text :: One-line description"
544
+msgid "Show this help text, then exit."
545
+msgstr "Zeige diesen Hilfetext an, dann beende das Programm."
546
+
547
+#. TRANSLATORS: Message-ID: Label.QUIET_OPTION_HELP_TEXT
548
+msgctxt "Label :: Help text :: One-line description"
549
+msgid "Suppress even warnings; emit only errors."
550
+msgstr "Unterdrücke auch Warnungen, und gebe nur Fehler aus."
551
+
552
+#. TRANSLATORS: Message-ID: Label.VERBOSE_OPTION_HELP_TEXT
553
+msgctxt "Label :: Help text :: One-line description"
554
+msgid "Emit extra/progress information to standard error."
555
+msgstr "Gebe Zusatz-/Fortschrittsinformationen zur Standardfehlerausgabe aus."
556
+
557
+#. TRANSLATORS: Message-ID: Label.VERSION_OPTION_HELP_TEXT
558
+msgctxt "Label :: Help text :: One-line description"
559
+msgid "Show version and feature information, then exit."
560
+msgstr ""
561
+"Zeige Versionsinformation und Informationen zum Funktionsumfang an, dann "
562
+"beende das Programm."
563
+
564
+#. TRANSLATORS: Message-ID: Label.COMMANDS_LABEL
565
+msgctxt "Label :: Help text :: Option group name"
566
+msgid "Commands"
567
+msgstr "Befehle"
568
+
569
+#. TRANSLATORS: Message-ID: Label.COMPATIBILITY_OPTION_LABEL
570
+msgctxt "Label :: Help text :: Option group name"
571
+msgid "Compatibility and extension options"
572
+msgstr "Kompatibilität und Erweiterungsoptionen"
573
+
574
+#. TRANSLATORS: Message-ID: Label.CONFIGURATION_LABEL
575
+msgctxt "Label :: Help text :: Option group name"
576
+msgid "Configuration"
577
+msgstr "Konfiguration"
578
+
579
+#. TRANSLATORS: Message-ID: Label.LOGGING_LABEL
580
+msgctxt "Label :: Help text :: Option group name"
581
+msgid "Logging"
582
+msgstr "Logging"
583
+
584
+#. TRANSLATORS: Message-ID: Label.OPTIONS_LABEL
585
+msgctxt "Label :: Help text :: Option group name"
586
+msgid "Options"
587
+msgstr "Optionen"
588
+
589
+#. TRANSLATORS: Message-ID: Label.OTHER_OPTIONS_LABEL
590
+msgctxt "Label :: Help text :: Option group name"
591
+msgid "Other options"
592
+msgstr "Weitere Optionen"
593
+
594
+#. TRANSLATORS: Message-ID: Label.PASSPHRASE_GENERATION_LABEL
595
+msgctxt "Label :: Help text :: Option group name"
596
+msgid "Passphrase generation"
597
+msgstr "Passworterzeugung"
598
+
599
+#. TRANSLATORS: Message-ID: Label.STORAGE_MANAGEMENT_LABEL
600
+msgctxt "Label :: Help text :: Option group name"
601
+msgid "Storage management"
602
+msgstr "Datenspeichermanagement"
603
+
604
+#. TRANSLATORS: This message reports on the version of a major library currently in use, such as "cryptography".
605
+#.
606
+#. Message-ID: Label.VERSION_INFO_MAJOR_LIBRARY_TEXT
607
+#, python-brace-format
608
+msgctxt "Label :: Info Message"
609
+msgid "Using {dependency_name_and_version}"
610
+msgstr "Unter Verwendung von {dependency_name_and_version}."
611
+
612
+#. TRANSLATORS: This is part of the version output, emitting lists of enabled PEP 508 extras.  A comma-separated English list of items follows, with standard English punctuation.
613
+#.
614
+#. Message-ID: Label.ENABLED_PEP508_EXTRAS
615
+msgctxt "Label :: Info Message:: Table row header"
616
+msgid "PEP 508 extras:"
617
+msgstr "PEP 508 extras:"
618
+
619
+#. TRANSLATORS: This is part of the version output, emitting lists of supported derivation schemes.  A comma-separated English list of items follows, with standard English punctuation.
620
+#.
621
+#. Message-ID: Label.SUPPORTED_DERIVATION_SCHEMES
622
+msgctxt "Label :: Info Message:: Table row header"
623
+msgid "Supported derivation schemes:"
624
+msgstr "Unterstützte Passwortableitungsschemata:"
625
+
626
+#. TRANSLATORS: This is part of the version output, emitting lists of supported features for this subcommand.  A comma-separated English list of items follows, with standard English punctuation.
627
+#.
628
+#. Message-ID: Label.SUPPORTED_FEATURES
629
+msgctxt "Label :: Info Message:: Table row header"
630
+msgid "Supported features:"
631
+msgstr "Unterstützte Zusatzfunktionalität:"
632
+
633
+#. TRANSLATORS: This is part of the version output, emitting lists of supported foreign configuration formats.  A comma-separated English list of items follows, with standard English punctuation.
634
+#.
635
+#. Message-ID: Label.SUPPORTED_FOREIGN_CONFIGURATION_FORMATS
636
+msgctxt "Label :: Info Message:: Table row header"
637
+msgid "Supported foreign configuration formats:"
638
+msgstr "Unterstützte programmfremde Konfigurationsformate:"
639
+
640
+#. TRANSLATORS: This is part of the version output, emitting lists of supported subcommands.  A comma-separated English list of items follows, with standard English punctuation.
641
+#.
642
+#. Message-ID: Label.SUPPORTED_SUBCOMMANDS
643
+msgctxt "Label :: Info Message:: Table row header"
644
+msgid "Supported subcommands:"
645
+msgstr "Unterstützte Unterkommandos:"
646
+
647
+#. TRANSLATORS: This is part of the version output, emitting lists of known, unavailable derivation schemes.  A comma-separated English list of items follows, with standard English punctuation.
648
+#.
649
+#. Message-ID: Label.UNAVAILABLE_DERIVATION_SCHEMES
650
+msgctxt "Label :: Info Message:: Table row header"
651
+msgid "Known derivation schemes:"
652
+msgstr "Bekannte Passwortableitungsschemata:"
653
+
654
+#. TRANSLATORS: This is part of the version output, emitting lists of known, unavailable features for this subcommand.  A comma-separated English list of items follows, with standard English punctuation.
655
+#.
656
+#. Message-ID: Label.UNAVAILABLE_FEATURES
657
+msgctxt "Label :: Info Message:: Table row header"
658
+msgid "Known features:"
659
+msgstr "Bekannte Zusatzfunktionalität:"
660
+
661
+#. TRANSLATORS: This is part of the version output, emitting lists of known, unavailable foreign configuration formats.  A comma-separated English list of items follows, with standard English punctuation.
662
+#.
663
+#. Message-ID: Label.UNAVAILABLE_FOREIGN_CONFIGURATION_FORMATS
664
+msgctxt "Label :: Info Message:: Table row header"
665
+msgid "Known foreign configuration formats:"
666
+msgstr "Bekannte programmfremde Konfigurationsformate:"
667
+
668
+#. TRANSLATORS: There is no support for "yes" or "no" in other languages than English, so it is advised that your translation makes it clear that only the strings "y", "yes", "n" or "no" are supported, even if the prompt becomes a bit longer.
669
+#.
670
+#. Message-ID: Label.CONFIRM_THIS_CHOICE_PROMPT_TEXT
671
+msgctxt "Label :: Interactive prompt"
672
+msgid "Confirm this choice?  (y/N)"
673
+msgstr "Auswahl bestätigen? (y für ja, n oder keine Eingabe für nein)"
674
+
675
+#. TRANSLATORS: This label is the heading of the list of suitable SSH keys.
676
+#.
677
+#. Message-ID: Label.SUITABLE_SSH_KEYS_LABEL
678
+msgctxt "Label :: Interactive prompt"
679
+msgid "Suitable SSH keys:"
680
+msgstr "Geeignete SSH-Schlüssel:"
681
+
682
+#. TRANSLATORS: Message-ID: Label.YOUR_SELECTION_PROMPT_TEXT
683
+#, python-brace-format
684
+msgctxt "Label :: Interactive prompt"
685
+msgid "Your selection?  (1-{n}, leave empty to abort)"
686
+msgstr "Ihre Auswahl? (1-{n}, leere Eingabe zum Abbrechen}"
687
+
688
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "storeroom"-type configuration directories.  The system stores entries in different "buckets" of a hash table.  Here, we report on a single item (path and value) we discovered after decrypting the whole bucket.  (We ensure the path and value are printable as-is.)
689
+#.
690
+#. Message-ID: DebugMsgTemplate.BUCKET_ITEM_FOUND
691
+#, python-brace-format
692
+msgctxt "Debug message"
693
+msgid "Found bucket item: {path} -> {value}"
694
+msgstr "\"bucket\"-Eintrag gefunden: {path} -> {value}"
695
+
696
+#. TRANSLATORS: "AES256-CBC" and "PKCS#7" are, in essence, names of formats, and should not be translated.  "IV" means "initialization vector", and is specifically a cryptographic term, as are "plaintext" and "ciphertext".
697
+#.
698
+#. Message-ID: DebugMsgTemplate.DECRYPT_BUCKET_ITEM_INFO
699
+#, python-brace-format
700
+msgctxt "Debug message"
701
+msgid ""
702
+"Decrypt bucket item contents:\n"
703
+"\n"
704
+"  Encryption key (master key): {enc_key}\n"
705
+"  Encryption cipher: AES256-CBC with PKCS#7 padding\n"
706
+"  Encryption IV: {iv}\n"
707
+"  Encrypted ciphertext: {ciphertext}\n"
708
+"  Plaintext: {plaintext}"
709
+msgstr ""
710
+"Entschlüssele Inhalt des \"bucket\"-Eintrags:\n"
711
+"\n"
712
+"  Schlüssel (Masterschlüssel): {enc_key}\n"
713
+"  Verschlüsselungsverfahren: AES256-CBC mit PKCS#7-Padding\n"
714
+"  Initialisierungsvektor: {iv}\n"
715
+"  Verschlüsselter Geheimtext: {ciphertext}\n"
716
+"  Entschlüsselter Klartext: {plaintext}"
717
+
718
+#. TRANSLATORS: Message-ID: DebugMsgTemplate.DECRYPT_BUCKET_ITEM_KEY_INFO
719
+#, python-brace-format
720
+msgctxt "Debug message"
721
+msgid ""
722
+"Decrypt bucket item:\n"
723
+"\n"
724
+"  Plaintext: {plaintext}\n"
725
+"  Encryption key (master key): {enc_key}\n"
726
+"  Signing key (master key): {sign_key}"
727
+msgstr ""
728
+"Entschlüssele \"bucket\"-Eintrag:\n"
729
+"\n"
730
+"  Entschlüsselter Klartext: {plaintext}\n"
731
+"  (Verschlüsselungs-)Schlüssel (Masterschlüssel): {enc_key}\n"
732
+"  Signierschlüssel (Masterschlüssel): {sign_key}"
733
+
734
+#. TRANSLATORS: The MAC stands for "message authentication code", which guarantees the authenticity of the message to anyone who holds the corresponding key, similar to a digital signature.  The acronym "MAC" is assumed to be well-known to the English target audience, or at least discoverable by them; they *are* asking for debug output, after all.  Please use your judgement as to whether to translate this term or not, expanded or not.
735
+#.
736
+#. Message-ID: DebugMsgTemplate.DECRYPT_BUCKET_ITEM_MAC_INFO
737
+#, python-brace-format
738
+msgctxt "Debug message"
739
+msgid ""
740
+"Decrypt bucket item contents:\n"
741
+"\n"
742
+"  MAC key: {sign_key}\n"
743
+"  Authenticated content: {ciphertext}\n"
744
+"  Claimed MAC value: {claimed_mac}\n"
745
+"  Computed MAC value: {actual_mac}"
746
+msgstr ""
747
+"Entschlüssele Inhalt des \"bucket\"-Eintrags:\n"
748
+"\n"
749
+"  MAC-Schlüssel: {sign_key}\n"
750
+"  Attestierter Inhalt: {ciphertext}\n"
751
+"  MAC-Sollwert: {claimed_mac}\n"
752
+"  MAC-Istwert: {actual_mac}"
753
+
754
+#. TRANSLATORS: "AES256-CBC" and "PKCS#7" are, in essence, names of formats, and should not be translated.  "IV" means "initialization vector", and is specifically a cryptographic term, as are "plaintext" and "ciphertext".
755
+#.
756
+#. Message-ID: DebugMsgTemplate.DECRYPT_BUCKET_ITEM_SESSION_KEYS_INFO
757
+#, python-brace-format
758
+msgctxt "Debug message"
759
+msgid ""
760
+"Decrypt bucket item session keys:\n"
761
+"\n"
762
+"  Encryption key (master key): {enc_key}\n"
763
+"  Encryption cipher: AES256-CBC with PKCS#7 padding\n"
764
+"  Encryption IV: {iv}\n"
765
+"  Encrypted ciphertext: {ciphertext}\n"
766
+"  Plaintext: {plaintext}\n"
767
+"  Parsed plaintext: {code}"
768
+msgstr ""
769
+"Entschlüssele Sitzungsschlüssel des \"bucket\"-Eintrags:\n"
770
+"\n"
771
+"  Schlüssel (Masterschlüssel): {enc_key}\n"
772
+"  Verschlüsselungsverfahren: AES256-CBC mit PKCS#7-Padding\n"
773
+"  Initialisierungsvektor: {iv}\n"
774
+"  Verschlüsselter Geheimtext: {ciphertext}\n"
775
+"  Entschlüsselter Klartext: {plaintext}\n"
776
+"  Geparster Klartext: {code}"
777
+
778
+#. TRANSLATORS: The MAC stands for "message authentication code", which guarantees the authenticity of the message to anyone who holds the corresponding key, similar to a digital signature.  The acronym "MAC" is assumed to be well-known to the English target audience, or at least discoverable by them; they *are* asking for debug output, after all.  Please use your judgement as to whether to translate this term or not, expanded or not.
779
+#.
780
+#. Message-ID: DebugMsgTemplate.DECRYPT_BUCKET_ITEM_SESSION_KEYS_MAC_INFO
781
+#, python-brace-format
782
+msgctxt "Debug message"
783
+msgid ""
784
+"Decrypt bucket item session keys:\n"
785
+"\n"
786
+"  MAC key (master key): {sign_key}\n"
787
+"  Authenticated content: {ciphertext}\n"
788
+"  Claimed MAC value: {claimed_mac}\n"
789
+"  Computed MAC value: {actual_mac}"
790
+msgstr ""
791
+"Entschlüssele Sitzungsschlüssel des \"bucket\"-Eintrags:\n"
792
+"\n"
793
+"  MAC-Schlüssel: {sign_key}\n"
794
+"  Attestierter Inhalt: {ciphertext}\n"
795
+"  MAC-Sollwert: {claimed_mac}\n"
796
+"  MAC-Istwert: {actual_mac}"
797
+
798
+#. TRANSLATORS: Message-ID: DebugMsgTemplate.DERIVED_MASTER_KEYS_KEYS
799
+#, python-brace-format
800
+msgctxt "Debug message"
801
+msgid ""
802
+"Derived master keys' keys:\n"
803
+"\n"
804
+"  Encryption key: {enc_key}\n"
805
+"  Signing key: {sign_key}\n"
806
+"  Password: {pw_bytes}\n"
807
+"  Function call: pbkdf2(algorithm={algorithm!r}, length={length!r}, "
808
+"salt={salt!r}, iterations={iterations!r})"
809
+msgstr ""
810
+"Vom Masterschlüssel abgeleitete Schlüssel:\n"
811
+"\n"
812
+"  (Verschlüsselungs-)Schlüssel: {enc_key}\n"
813
+"  Signierschlüssel: {sign_key}\n"
814
+"  Passwort: {pw_bytes}\n"
815
+"  Functionsaufruf: pbkdf2(algorithm={algorithm!r}, length={length!r}, "
816
+"salt={salt!r}, iterations={iterations!r})"
817
+
818
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "storeroom"-type configuration directories, while "assembling" the items stored in the configuration according to the item's "path".  Each "directory" in the path contains a list of children it claims to contain, and this list must be matched against the actual discovered items.  Now, at the end, we actually confirm the claim.  (We would have already thrown an error here otherwise.)
819
+#.
820
+#. Message-ID: DebugMsgTemplate.DIRECTORY_CONTENTS_CHECK_OK
821
+#, python-brace-format
822
+msgctxt "Debug message"
823
+msgid "Directory contents check OK: {path} -> {contents}"
824
+msgstr "Prüfung des Verzeichnisinhaltes erfolgreich: {path} -> {contents}"
825
+
826
+#. TRANSLATORS: The MAC stands for "message authentication code", which guarantees the authenticity of the message to anyone who holds the corresponding key, similar to a digital signature.  The acronym "MAC" is assumed to be well-known to the English target audience, or at least discoverable by them; they *are* asking for debug output, after all.  Please use your judgement as to whether to translate this term or not, expanded or not.
827
+#.
828
+#. Message-ID: DebugMsgTemplate.MASTER_KEYS_DATA_MAC_INFO
829
+#, python-brace-format
830
+msgctxt "Debug message"
831
+msgid ""
832
+"Master keys data:\n"
833
+"\n"
834
+"  MAC key: {sign_key}\n"
835
+"  Authenticated content: {ciphertext}\n"
836
+"  Claimed MAC value: {claimed_mac}\n"
837
+"  Computed MAC value: {actual_mac}"
838
+msgstr ""
839
+"Masterschlüsseldaten:\n"
840
+"\n"
841
+"  MAC-Schlüssel: {sign_key}\n"
842
+"  Attestierter Inhalt: {ciphertext}\n"
843
+"  MAC-Sollwert: {claimed_mac}\n"
844
+"  MAC-Istwert: {actual_mac}"
845
+
846
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "storeroom"-type configuration directories, while "assembling" the items stored in the configuration according to the item's "path".  Each "directory" in the path contains a list of children it claims to contain, and this list must be matched against the actual discovered items.  When emitting this message, we merely indicate that we saved the "claimed" list for this directory for later.
847
+#.
848
+#. Message-ID: DebugMsgTemplate.POSTPONING_DIRECTORY_CONTENTS_CHECK
849
+#, python-brace-format
850
+msgctxt "Debug message"
851
+msgid "Postponing directory contents check: {path} -> {contents}"
852
+msgstr "Prüfung des Verzeichnisinhaltes vorgemerkt: {path} -> {contents}"
853
+
854
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "storeroom"-type configuration directories, while "assembling" the items stored in the configuration according to the item's "path".  We confirm that we set the entry at the given path to the given value.
855
+#.
856
+#. Message-ID: DebugMsgTemplate.SETTING_CONFIG_STRUCTURE_CONTENTS
857
+#, python-brace-format
858
+msgctxt "Debug message"
859
+msgid "Setting contents: {path} -> {value}"
860
+msgstr "Inhalt eingetragen: {path} -> {value}"
861
+
862
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "storeroom"-type configuration directories, while "assembling" the items stored in the configuration according to the item's "path".  We confirm that we set up a currently empty directory at the given path.
863
+#.
864
+#. Message-ID: DebugMsgTemplate.SETTING_CONFIG_STRUCTURE_CONTENTS_EMPTY_DIRECTORY
865
+#, python-brace-format
866
+msgctxt "Debug message"
867
+msgid "Setting contents (empty directory): {path}"
868
+msgstr "Leeres Verzeichnis eingetragen: {path}"
869
+
870
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "native"-type configuration directories.  It is preceded by the info message VAULT_NATIVE_PARSING_IV_PAYLOAD_MAC; see the commentary there concerning the terms and thoughts on translating them.
871
+#.
872
+#. Message-ID: DebugMsgTemplate.VAULT_NATIVE_CHECKING_MAC_DETAILS
873
+#, python-brace-format
874
+msgctxt "Debug message"
875
+msgid ""
876
+"MAC details:\n"
877
+"\n"
878
+"  MAC input: {mac_input}\n"
879
+"  Expected MAC: {mac}"
880
+msgstr ""
881
+"MAC-Details:\n"
882
+"\n"
883
+"  Eingabe für den MAC: {mac_input}\n"
884
+"  MAC-Sollwert: {mac}"
885
+
886
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "native"-type configuration directories: in v0.2, the non-standard and deprecated "EVP_bytestokey" function from OpenSSL must be reimplemented from scratch.  The terms "salt" and "IV" (initialization vector) are cryptographic terms.
887
+#.
888
+#. Message-ID: DebugMsgTemplate.VAULT_NATIVE_EVP_BYTESTOKEY_INIT
889
+#, python-brace-format
890
+msgctxt "Debug message"
891
+msgid ""
892
+"evp_bytestokey_md5 (initialization):\n"
893
+"\n"
894
+"  Input: {data}\n"
895
+"  Salt: {salt}\n"
896
+"  Key size: {key_size}\n"
897
+"  IV size: {iv_size}\n"
898
+"  Buffer length: {buffer_length}\n"
899
+"  Buffer: {buffer}"
900
+msgstr ""
901
+"evp_bytestokey_md5 (Initialisierung):\n"
902
+"\n"
903
+"  Eingabe: {data}\n"
904
+"  Salt-Wert: {salt}\n"
905
+"  Schlüsselgröße: {key_size}\n"
906
+"  Größe des Initialisierungsvektors: {iv_size}\n"
907
+"  Größe des Datenpuffers: {buffer_length}\n"
908
+"  Inhalt des Datenpuffers: {buffer}"
909
+
910
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "native"-type configuration directories: in v0.2, the non-standard and deprecated "EVP_bytestokey" function from OpenSSL must be reimplemented from scratch.  The terms "salt" and "IV" (initialization vector) are cryptographic terms.This function reports on the final results.
911
+#.
912
+#. Message-ID: DebugMsgTemplate.VAULT_NATIVE_EVP_BYTESTOKEY_RESULT
913
+#, python-brace-format
914
+msgctxt "Debug message"
915
+msgid ""
916
+"evp_bytestokey_md5 (result):\n"
917
+"\n"
918
+"  Encryption key: {enc_key}\n"
919
+"  IV: {iv}"
920
+msgstr ""
921
+"evp_bytestokey_md5 (Ergebnis):\n"
922
+"\n"
923
+"  Schlüssel: {enc_key}\n"
924
+"  Initialisierungsvektor: {iv}"
925
+
926
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "native"-type configuration directories: in v0.2, the non-standard and deprecated "EVP_bytestokey" function from OpenSSL must be reimplemented from scratch.  The terms "salt" and "IV" (initialization vector) are cryptographic terms.This function reports on the updated buffer length and contents after executing one round of hashing.
927
+#.
928
+#. Message-ID: DebugMsgTemplate.VAULT_NATIVE_EVP_BYTESTOKEY_ROUND
929
+#, python-brace-format
930
+msgctxt "Debug message"
931
+msgid ""
932
+"evp_bytestokey_md5 (round update):\n"
933
+"\n"
934
+"  Buffer length: {buffer_length}\n"
935
+"  Buffer: {buffer}"
936
+msgstr ""
937
+"evp_bytestokey_md5 (Update am Ende der Runde):\n"
938
+"\n"
939
+"  Größe des Datenpuffers: {buffer_length}\n"
940
+"  Inhalt des Datenpuffers: {buffer}"
941
+
942
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "native"-type configuration directories.  "padding" and "plaintext" are cryptographic terms.
943
+#.
944
+#. Message-ID: DebugMsgTemplate.VAULT_NATIVE_PADDED_PLAINTEXT
945
+#, python-brace-format
946
+msgctxt "Debug message"
947
+msgid "Padded plaintext: {contents}"
948
+msgstr "Klartext (mit Padding): {contents}"
949
+
950
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "native"-type configuration directories.  It is preceded by the info message VAULT_NATIVE_PARSING_IV_PAYLOAD_MAC; see the commentary there concerning the terms and thoughts on translating them.
951
+#.
952
+#. Message-ID: DebugMsgTemplate.VAULT_NATIVE_PARSE_BUFFER
953
+#, python-brace-format
954
+msgctxt "Debug message"
955
+msgid ""
956
+"Buffer: {contents}\n"
957
+"\n"
958
+"  IV: {iv}\n"
959
+"  Payload (ciphertext): {payload}\n"
960
+"  MAC: {mac}"
961
+msgstr ""
962
+"Datenpuffer: {contents}\n"
963
+"\n"
964
+"  Initialisierungsvektor: {iv}\n"
965
+"  Nutzinhalt (Geheimtext): {payload}\n"
966
+"  MAC-Wert: {mac}"
967
+
968
+#. TRANSLATORS: Message-ID: DebugMsgTemplate.VAULT_NATIVE_PBKDF2_CALL
969
+#, python-brace-format
970
+msgctxt "Debug message"
971
+msgid ""
972
+"Master key derivation:\n"
973
+"\n"
974
+"  PBKDF2 call: PBKDF2-HMAC(password={password!r}, salt={salt!r}, "
975
+"iterations={iterations!r}, key_size={key_size!r}, algorithm={algorithm!r})\n"
976
+"  Result (binary): {raw_result}\n"
977
+"  Result (hex key): {result_key!r}"
978
+msgstr ""
979
+"Herleitung des Masterschlüssels:\n"
980
+"\n"
981
+"  Funktionsaufruf PBKDF2: PBKDF2-HMAC(password={password!r}, salt={salt!r}, "
982
+"iterations={iterations!r}, key_size={key_size!r}, algorithm={algorithm!r})\n"
983
+"  Ergebnis (binär): {raw_result}\n"
984
+"  Ergebnis (Schlüssel in Hexadezimal): {result_key!r}"
985
+
986
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "native"-type configuration directories.  "plaintext" is a cryptographic term.
987
+#.
988
+#. Message-ID: DebugMsgTemplate.VAULT_NATIVE_PLAINTEXT
989
+#, python-brace-format
990
+msgctxt "Debug message"
991
+msgid "Plaintext: {contents}"
992
+msgstr "Klartext: {contents}"
993
+
994
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "native"-type configuration directories.  It is preceded by the info message VAULT_NATIVE_PARSING_IV_PAYLOAD_MAC and the debug message PARSING_NATIVE_PARSE_BUFFER; see the commentary there concerning the terms and thoughts on translating them.
995
+#.
996
+#. Message-ID: DebugMsgTemplate.VAULT_NATIVE_V02_PAYLOAD_MAC_POSTPROCESSING
997
+#, python-brace-format
998
+msgctxt "Debug message"
999
+msgid ""
1000
+"Postprocessing buffer (v0.2):\n"
1001
+"\n"
1002
+"  Payload: {payload} (decoded from base64)\n"
1003
+"  MAC: {mac} (decoded from hex)"
1004
+msgstr ""
1005
+"Nachverarbeitung (v0.2) des Datenpuffers:\n"
1006
+"\n"
1007
+"  Nutzinhalt (Geheimtext): {payload} (base64-dekodiert)\n"
1008
+"  MAC-Wert: {mac} (hex-decodiert)"
1009
+
1010
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "storeroom"-type configuration directories.  The system stores entries in different "buckets" of a hash table.  After the respective items in the buckets have been decrypted, we then have a list of item paths plus contents to populate.  This must be done in a certain order (we don't yet have an existing directory tree to rely on, but rather must build it on-the-fly), hence the term "assembling".
1011
+#.
1012
+#. Message-ID: InfoMsgTemplate.ASSEMBLING_CONFIG_STRUCTURE
1013
+msgctxt "Info message"
1014
+msgid "Assembling config structure."
1015
+msgstr "Trage die Konfigurationsdatenstruktur zusammen."
1016
+
1017
+#. TRANSLATORS: "fmt" is a string such as "v0.2" or "storeroom", indicating the format which we tried to load the vault configuration as.
1018
+#.
1019
+#. Message-ID: InfoMsgTemplate.CANNOT_LOAD_AS_VAULT_CONFIG
1020
+#, python-brace-format
1021
+msgctxt "Info message"
1022
+msgid "Cannot load {path!r} as a {fmt} vault configuration."
1023
+msgstr ""
1024
+"{path!r} kann nicht als {fmt} vault-Konfigurationsdatei geladen werden."
1025
+
1026
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "storeroom"-type configuration directories.  Having "assembled" the configuration items according to their claimed paths and contents, we then check if the assembled structure is internally consistent.
1027
+#.
1028
+#. Message-ID: InfoMsgTemplate.CHECKING_CONFIG_STRUCTURE_CONSISTENCY
1029
+msgctxt "Info message"
1030
+msgid "Checking config structure consistency."
1031
+msgstr "Prüfe Konsistenz der Konfigurationsdatenstruktur."
1032
+
1033
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "storeroom"-type configuration directories.  The system stores entries in different "buckets" of a hash table.  We parse the directory bucket by bucket.  All buckets are numbered in hexadecimal, and typically there are 32 buckets, so 2-digit hex numbers.
1034
+#.
1035
+#. Message-ID: InfoMsgTemplate.DECRYPTING_BUCKET
1036
+#, python-brace-format
1037
+msgctxt "Info message"
1038
+msgid "Decrypting bucket {bucket_number}."
1039
+msgstr "Entschlüssele \"bucket\" {bucket_number}."
1040
+
1041
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "storeroom"-type configuration directories.  `.keys` is a filename, from which data about the master keys for this configuration are loaded.
1042
+#.
1043
+#. Message-ID: InfoMsgTemplate.PARSING_MASTER_KEYS_DATA
1044
+msgctxt "Info message"
1045
+msgid "Parsing master keys data from `.keys`."
1046
+msgstr "Parse die Masterschlüsseldaten aus `.keys`."
1047
+
1048
+#. TRANSLATORS: This message immediately follows an error message about a missing library that needs to be installed.  The Python Package Index (PyPI) supports declaring sets of optional dependencies as "extras", so users installing from PyPI can request reinstallation with a named "extra" being enabled.  This would then let the installer take care of the missing libraries automatically, hence this suggestion to PyPI users.
1049
+#.
1050
+#. Message-ID: InfoMsgTemplate.PIP_INSTALL_EXTRA
1051
+#, python-brace-format
1052
+msgctxt "Info message"
1053
+msgid "For users installing from PyPI, see the {extra_name!r} extra."
1054
+msgstr ""
1055
+"Benutzer, die von PyPI installieren, konsultieren bitte das {extra_name!r} "
1056
+"Extra."
1057
+
1058
+#. TRANSLATORS: This info message immediately follows the "Using deprecated v0.1-style ..." deprecation warning.
1059
+#.
1060
+#. Message-ID: InfoMsgTemplate.SUCCESSFULLY_MIGRATED
1061
+#, python-brace-format
1062
+msgctxt "Info message"
1063
+msgid "Successfully migrated to {path!r}."
1064
+msgstr "Erfolgreich nach {path!r} verschoben."
1065
+
1066
+#. TRANSLATORS: Message-ID: InfoMsgTemplate.VAULT_NATIVE_CHECKING_MAC
1067
+msgctxt "Info message"
1068
+msgid "Checking MAC."
1069
+msgstr "Überprüfe den MAC-Wert."
1070
+
1071
+#. TRANSLATORS: Message-ID: InfoMsgTemplate.VAULT_NATIVE_DECRYPTING_CONTENTS
1072
+msgctxt "Info message"
1073
+msgid "Decrypting contents."
1074
+msgstr "Entschlüssele den Nutzinhalt."
1075
+
1076
+#. TRANSLATORS: Message-ID: InfoMsgTemplate.VAULT_NATIVE_DERIVING_KEYS
1077
+msgctxt "Info message"
1078
+msgid "Deriving an encryption and signing key."
1079
+msgstr "Leite den Verschlüsselungsschlüssel und den Signierschlüssel her."
1080
+
1081
+#. TRANSLATORS: This message is emitted by the vault configuration exporter for "native"-type configuration directories.  "IV" means "initialization vector", and "MAC" means "message authentication code".  They are specifically cryptographic terms, as is "payload".  The acronyms "IV" and "MAC" are assumed to be well-known to the English target audience, or at least discoverable by them; they *are* asking for debug output, after all.  Please use your judgement as to whether to translate these terms or not, expanded or not.
1082
+#.
1083
+#. Message-ID: InfoMsgTemplate.VAULT_NATIVE_PARSING_IV_PAYLOAD_MAC
1084
+msgctxt "Info message"
1085
+msgid "Parsing IV, payload and MAC from the file contents."
1086
+msgstr ""
1087
+"Parse den Initialisierungsvektor, den Nutzinhalt und den MAC-Wert aus der "
1088
+"Datei."
1089
+
1090
+#. TRANSLATORS: Message-ID: WarnMsgTemplate.EDITING_NOTES_BUT_NOT_STORING_CONFIG
1091
+msgctxt "Warning message"
1092
+msgid ""
1093
+"Specifying --notes without --config is ineffective.  No notes will be edited."
1094
+msgstr ""
1095
+"Nur --notes anzugeben (ohne --config) is wirkungslos.  Es werden keine "
1096
+"Notizen bearbeitet werden."
1097
+
1098
+#. TRANSLATORS: Message-ID: WarnMsgTemplate.EMPTY_SERVICE_NOT_SUPPORTED
1099
+#, python-brace-format
1100
+msgctxt "Warning message"
1101
+msgid ""
1102
+"An empty {service_metavar} is not supported by vault(1).  For compatibility, "
1103
+"this will be treated as if {service_metavar} was not supplied, i.e., it will "
1104
+"error out, or operate on global settings."
1105
+msgstr ""
1106
+"Ein leerer {service_metavar} wird nicht von vault(1) unterstützt. Aus "
1107
+"Kompatibilitätsgründen wird dieser Aufruf behandelt als wäre kein "
1108
+"{service_metavar} eingegeben worden. Das heißt, entweder wird mit einem "
1109
+"Fehler beendet, oder die globalen Einstellungen werden verwendet."
1110
+
1111
+#. TRANSLATORS: Message-ID: WarnMsgTemplate.EMPTY_SERVICE_SETTINGS_INACCESSIBLE
1112
+#, python-brace-format
1113
+msgctxt "Warning message"
1114
+msgid ""
1115
+"An empty {service_metavar} is not supported by vault(1).  The empty-string "
1116
+"service settings will be inaccessible and ineffective.  To ensure that "
1117
+"vault(1) and {PROG_NAME} see the settings, move them into the \"global\" "
1118
+"section."
1119
+msgstr ""
1120
+"Ein leerer {service_metavar} wird nicht von vault(1) unterstützt. Die "
1121
+"Einstellungen des \"Dienstes ohne Namen\" sind folglich unzugänglich und "
1122
+"wirkungslos. Um sicherzustellen, dass sowohl vault(1) als auch {PROG_NAME} "
1123
+"diese Einstellungen sehen können, tragen Sie diese Einstellungen in den "
1124
+"Block \"global\" um."
1125
+
1126
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1127
+#.
1128
+#. Message-ID: WarnMsgTemplate.FAILED_TO_MIGRATE_CONFIG
1129
+#, python-brace-format
1130
+msgctxt "Warning message"
1131
+msgid "Failed to migrate to {path!r}: {error}: {filename!r}."
1132
+msgstr "Konnte nicht nach {path!r) verschieben: {error}: {filename!r}."
1133
+
1134
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1135
+#.
1136
+#. Message-ID: WarnMsgTemplate.FAILED_TO_MIGRATE_CONFIG
1137
+#, python-brace-format
1138
+msgctxt "Warning message"
1139
+msgid "Failed to migrate to {path!r}: {error}."
1140
+msgstr "Konnte nicht nach {path!r) verschieben: {error}."
1141
+
1142
+#. TRANSLATORS: Message-ID: WarnMsgTemplate.GLOBAL_PASSPHRASE_INEFFECTIVE
1143
+msgctxt "Warning message"
1144
+msgid "Setting a global passphrase is ineffective because a key is also set."
1145
+msgstr ""
1146
+"Ein globales Masterpasswort kann nicht verwendet werden, da auch ein SSH-"
1147
+"Schlüssel gesetzt ist."
1148
+
1149
+#. TRANSLATORS: Message-ID: WarnMsgTemplate.LEGACY_EDITOR_INTERFACE_NOTES_BACKUP
1150
+#, python-brace-format
1151
+msgctxt "Warning message"
1152
+msgid ""
1153
+"A backup copy of the old notes was saved to {filename!r}.  This is a "
1154
+"safeguard against editing mistakes, because the vault(1)-compatible legacy "
1155
+"editor interface does not allow aborting mid-edit, and because the notes "
1156
+"were actually changed."
1157
+msgstr ""
1158
+"Eine Sicherungskopie der alten Notizen wurde im Pfad {filename!r} "
1159
+"gespeichert.  Dies ist eine Absicherung gegen Editierfehler, einerseits weil "
1160
+"laut vault(1)-kompatibler Altkonvention für Texteditoren der Vorgang nicht "
1161
+"mittendrin abgebrochen werden kann, andererseits weil die Notizen auch "
1162
+"tatsächlich geändert wurden."
1163
+
1164
+#. TRANSLATORS: The key is a (vault) configuration key, in JSONPath syntax, typically "$.global" for the global passphrase or "$.services.service_name" or "$.services["service with spaces"]" for the services "service_name" and "service with spaces", respectively.  Alternatively, it may be the value of Label.SETTINGS_ORIGIN_INTERACTIVE if the passphrase was entered interactively.  The form is one of the four Unicode normalization forms: NFC, NFD, NFKC, NFKD.  The asterisks are not special.  Please feel free to substitute any other appropriate way to mark up emphasis of the word "displays".
1165
+#.
1166
+#. Message-ID: WarnMsgTemplate.PASSPHRASE_NOT_NORMALIZED
1167
+#, python-brace-format
1168
+msgctxt "Warning message"
1169
+msgid ""
1170
+"The {key} passphrase is not {form}-normalized.  Its serialization as a byte "
1171
+"string may not be what you expect it to be, even if it *displays* "
1172
+"correctly.  Please make sure to double-check any derived passphrases for "
1173
+"unexpected results."
1174
+msgstr ""
1175
+"Das {key} Passwort liegt nicht in der \"{form}\" Unicode-Normalform vor. Die "
1176
+"zugehörige Bytesequenz könnte also von der von Ihnen beabsichtigten "
1177
+"Bytesequenz abweichen, auch wenn sie in der Anzeige \"richtig aussieht\". "
1178
+"Bitte vergewissern Sie sich, dass die abgeleiteten Passwörter auch den "
1179
+"erwarteten Werten entsprechen."
1180
+
1181
+#. TRANSLATORS: Message-ID: WarnMsgTemplate.SERVICE_NAME_INCOMPLETABLE
1182
+#, python-brace-format
1183
+msgctxt "Warning message"
1184
+msgid ""
1185
+"The service name {service!r} contains an ASCII control character, which is "
1186
+"not supported by our shell completion code.  This service name will "
1187
+"therefore not be available for completion on the command-line.  You may of "
1188
+"course still type it in manually in whatever format your shell accepts, but "
1189
+"we highly recommend choosing a different service name instead."
1190
+msgstr ""
1191
+"Der Dienstname {service!r} enthält ein ASCII-Kontrollzeichen, welches von "
1192
+"unserem Code für Kommandozeilen-Autovervollständigung nicht unterstützt "
1193
+"wird. Dieser Name wird daher nicht als Option für Autovervollständigung auf "
1194
+"der Kommandozeile verfügbar sein. Selbstverständlich können Sie den Namen "
1195
+"weiterhin händisch so eingeben, dass Ihre Shell diesen akzeptiert, aber wir "
1196
+"raten ausdrücklich stattdessen zur Wahl eines anderen Dienstnamens."
1197
+
1198
+#. TRANSLATORS: The key that is set need not necessarily be set at the service level; it may be a global key as well.
1199
+#.
1200
+#. Message-ID: WarnMsgTemplate.SERVICE_PASSPHRASE_INEFFECTIVE
1201
+#, python-brace-format
1202
+msgctxt "Warning message"
1203
+msgid ""
1204
+"Setting a service passphrase is ineffective because a key is also set: "
1205
+"{service}."
1206
+msgstr ""
1207
+"Es kann kein dienstspezifisches Passwort verwendet werden, da auch ein SSH-"
1208
+"Schlüssel gesetzt ist: {service}."
1209
+
1210
+#. TRANSLATORS: Message-ID: WarnMsgTemplate.STEP_REMOVE_INEFFECTIVE_VALUE
1211
+#, python-brace-format
1212
+msgctxt "Warning message"
1213
+msgid "Removing ineffective setting {path} = {old}."
1214
+msgstr "Entferne unwirksame Einstellung: {path} = {old}."
1215
+
1216
+#. TRANSLATORS: Message-ID: WarnMsgTemplate.STEP_REPLACE_INVALID_VALUE
1217
+#, python-brace-format
1218
+msgctxt "Warning message"
1219
+msgid "Replacing invalid value {old} for key {path} with {new}."
1220
+msgstr "Ersetze ungültigen Wert {old} für den Schlüssel {path} mit {new}."
1221
+
1222
+#. TRANSLATORS: Message-ID: WarnMsgTemplate.V01_STYLE_CONFIG
1223
+#, python-brace-format
1224
+msgctxt "Warning message :: Deprecation"
1225
+msgid ""
1226
+"Using deprecated v0.1-style config file {old!r}, instead of v0.2-style {new!"
1227
+"r}.  Support for v0.1-style config filenames will be removed in v1.0."
1228
+msgstr ""
1229
+"Sie verwenden die auslaufende v0.1-Konvention für Konfigurationsdateinamen "
1230
+"{old!r} anstelle der v0.2-Konvention {new!r}. Die Softwareunterstützung für "
1231
+"v0.1-Namen wird zu v1.0 eingestellt."
1232
+
1233
+#. TRANSLATORS: This deprecation warning may be issued at any level, i.e. we may actually be talking about subcommands, or sub-subcommands, or sub-sub-subcommands, etc., which is what the "here" is supposed to indicate.
1234
+#.
1235
+#. Message-ID: WarnMsgTemplate.V10_SUBCOMMAND_REQUIRED
1236
+msgctxt "Warning message :: Deprecation"
1237
+msgid ""
1238
+"A subcommand will be required here in v1.0.  See --help for available "
1239
+"subcommands.  Defaulting to subcommand \"vault\"."
1240
+msgstr ""
1241
+"Ein Subkommando ist ab v1.0 hier verpflichtend. Siehe \"--help\" für "
1242
+"verfügbare Subkommandos. Wird in der aktuellen Version nichts angegeben, "
1243
+"geht das Programm vom Subkommando \"vault\" aus."
1244
+
1245
+#. TRANSLATORS: "loaded keys" being keys loaded into the agent.
1246
+#.
1247
+#. Message-ID: ErrMsgTemplate.AGENT_REFUSED_LIST_KEYS
1248
+msgctxt "Error message"
1249
+msgid "The SSH agent failed to or refused to supply a list of loaded keys."
1250
+msgstr ""
1251
+"Der SSH-Agent war nicht in der Lage zu einer Auflistung der geladenen "
1252
+"Schlüssel, oder hat selbige verweigert."
1253
+
1254
+#. TRANSLATORS: The message to be signed is the vault UUID, but there's no space to explain that here, so ideally the error message does not go into detail.
1255
+#.
1256
+#. Message-ID: ErrMsgTemplate.AGENT_REFUSED_SIGNATURE
1257
+msgctxt "Error message"
1258
+msgid ""
1259
+"The SSH agent failed to or refused to issue a signature with the selected "
1260
+"key, necessary for deriving a service passphrase."
1261
+msgstr ""
1262
+"Der SSH-Agent konnte mit dem ausgewählten Schlüssel nicht signieren, oder "
1263
+"hat die Signatur verweigert. Erfolgreiche Signatur ist zwingend notwendig "
1264
+"für die Ableitung eines Dienstpasswortes."
1265
+
1266
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1267
+#.
1268
+#. Message-ID: ErrMsgTemplate.CANNOT_CONNECT_TO_AGENT
1269
+#, python-brace-format
1270
+msgctxt "Error message"
1271
+msgid "Cannot connect to the SSH agent: {error}: {filename!r}."
1272
+msgstr "Kann nicht mit dem SSH-Agenten verbinden: {error}: {filename!r}."
1273
+
1274
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1275
+#.
1276
+#. Message-ID: ErrMsgTemplate.CANNOT_CONNECT_TO_AGENT
1277
+#, python-brace-format
1278
+msgctxt "Error message"
1279
+msgid "Cannot connect to the SSH agent: {error}."
1280
+msgstr "Kann nicht mit dem SSH-Agenten verbinden: {error}."
1281
+
1282
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1283
+#.
1284
+#. Message-ID: ErrMsgTemplate.CANNOT_DECODEIMPORT_VAULT_SETTINGS
1285
+#, python-brace-format
1286
+msgctxt "Error message"
1287
+msgid "Cannot import vault settings: cannot decode JSON: {error}."
1288
+msgstr ""
1289
+"Kann vault-Einstellungen nicht importieren: JSON nicht dekodierbar: {error}."
1290
+
1291
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1292
+#.
1293
+#. Message-ID: ErrMsgTemplate.CANNOT_EXPORT_VAULT_SETTINGS
1294
+#, python-brace-format
1295
+msgctxt "Error message"
1296
+msgid "Cannot export vault settings: {error}: {filename!r}."
1297
+msgstr "Kann vault Einstellungen nicht exportieren: {error}: {filename!r}."
1298
+
1299
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1300
+#.
1301
+#. Message-ID: ErrMsgTemplate.CANNOT_EXPORT_VAULT_SETTINGS
1302
+#, python-brace-format
1303
+msgctxt "Error message"
1304
+msgid "Cannot export vault settings: {error}."
1305
+msgstr "Kann vault Einstellungen nicht exportieren: {error}."
1306
+
1307
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1308
+#.
1309
+#. Message-ID: ErrMsgTemplate.CANNOT_IMPORT_VAULT_SETTINGS
1310
+#, python-brace-format
1311
+msgctxt "Error message"
1312
+msgid "Cannot import vault settings: {error}: {filename!r}."
1313
+msgstr "Kann vault Einstellungen nicht importieren: {error}: {filename!r}."
1314
+
1315
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1316
+#.
1317
+#. Message-ID: ErrMsgTemplate.CANNOT_IMPORT_VAULT_SETTINGS
1318
+#, python-brace-format
1319
+msgctxt "Error message"
1320
+msgid "Cannot import vault settings: {error}."
1321
+msgstr "Kann vault Einstellungen nicht importieren: {error}."
1322
+
1323
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1324
+#.
1325
+#. Message-ID: ErrMsgTemplate.CANNOT_LOAD_USER_CONFIG
1326
+#, python-brace-format
1327
+msgctxt "Error message"
1328
+msgid "Cannot load user config: {error}: {filename!r}."
1329
+msgstr "Kann Benutzerkonfiguration nicht laden: {error}: {filename!r}"
1330
+
1331
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1332
+#.
1333
+#. Message-ID: ErrMsgTemplate.CANNOT_LOAD_USER_CONFIG
1334
+#, python-brace-format
1335
+msgctxt "Error message"
1336
+msgid "Cannot load user config: {error}."
1337
+msgstr "Kann Benutzerkonfiguration nicht laden: {error}."
1338
+
1339
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1340
+#.
1341
+#. Message-ID: ErrMsgTemplate.CANNOT_LOAD_VAULT_SETTINGS
1342
+#, python-brace-format
1343
+msgctxt "Error message"
1344
+msgid "Cannot load vault settings: {error}: {filename!r}."
1345
+msgstr "Kann vault Einstellungen nicht laden: {error}: {filename!r}."
1346
+
1347
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1348
+#.
1349
+#. Message-ID: ErrMsgTemplate.CANNOT_LOAD_VAULT_SETTINGS
1350
+#, python-brace-format
1351
+msgctxt "Error message"
1352
+msgid "Cannot load vault settings: {error}."
1353
+msgstr "Kann vault Einstellungen nicht laden: {error}."
1354
+
1355
+#. TRANSLATORS: Unlike the "Cannot load {path!r} as a {fmt} vault configuration." message, *this* error message is emitted when we have tried loading the path in each of our supported formats, and failed.  The user will thus see the above "Cannot load ..." warning message potentially multiple times, and this error message at the very bottom.
1356
+#.
1357
+#. Message-ID: ErrMsgTemplate.CANNOT_PARSE_AS_VAULT_CONFIG
1358
+#, python-brace-format
1359
+msgctxt "Error message"
1360
+msgid ""
1361
+"Cannot parse {path!r} as a valid vault-native configuration file/directory."
1362
+msgstr ""
1363
+"Kann {path!r} nicht als valide vault-eigene Konfigurationsdatei bzw. "
1364
+"-verzeichnis erkennen."
1365
+
1366
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1367
+#.
1368
+#. Message-ID: ErrMsgTemplate.CANNOT_PARSE_AS_VAULT_CONFIG_OSERROR
1369
+#, python-brace-format
1370
+msgctxt "Error message"
1371
+msgid ""
1372
+"Cannot parse {path!r} as a valid vault-native configuration file/directory: "
1373
+"{error}: {filename!r}."
1374
+msgstr ""
1375
+"Kann {path!r} nicht als valide vault-eigene Konfigurationsdatei bzw. "
1376
+"-verzeichnis erkennen: {error}: {filename!r}."
1377
+
1378
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1379
+#.
1380
+#. Message-ID: ErrMsgTemplate.CANNOT_PARSE_AS_VAULT_CONFIG_OSERROR
1381
+#, python-brace-format
1382
+msgctxt "Error message"
1383
+msgid ""
1384
+"Cannot parse {path!r} as a valid vault-native configuration file/directory: "
1385
+"{error}."
1386
+msgstr ""
1387
+"Kann {path!r} nicht als valide vault-eigene Konfigurationsdatei bzw. "
1388
+"-verzeichnis erkennen: {error}."
1389
+
1390
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1391
+#.
1392
+#. Message-ID: ErrMsgTemplate.CANNOT_STORE_VAULT_SETTINGS
1393
+#, python-brace-format
1394
+msgctxt "Error message"
1395
+msgid "Cannot store vault settings: {error}: {filename!r}."
1396
+msgstr "Kann vault Einstellungen nicht abspeichern: {error}: {filename!r}."
1397
+
1398
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1399
+#.
1400
+#. Message-ID: ErrMsgTemplate.CANNOT_STORE_VAULT_SETTINGS
1401
+#, python-brace-format
1402
+msgctxt "Error message"
1403
+msgid "Cannot store vault settings: {error}."
1404
+msgstr "Kann vault Einstellungen nicht abspeichern: {error}."
1405
+
1406
+#. TRANSLATORS: This error message is used whenever we cannot make any sense of a response from the SSH agent because the response is ill-formed (truncated, improperly encoded, etc.) or otherwise violates the communications protocol.  Well-formed responses that adhere to the protocol, even if they indicate that the requested operation failed, are handled with a different error message.
1407
+#.
1408
+#. Message-ID: ErrMsgTemplate.CANNOT_UNDERSTAND_AGENT
1409
+msgctxt "Error message"
1410
+msgid ""
1411
+"Cannot understand the SSH agent's response because it violates the "
1412
+"communication protocol."
1413
+msgstr ""
1414
+"Die Antwort des SSH-Agenten ist unverständlich, da sie nicht dem "
1415
+"Kommunikationsprotokoll genügt. (z.B. wegen Tipp-, Formatierungs- oder "
1416
+"Kodierungsfehlern)"
1417
+
1418
+#. TRANSLATORS: The settings_type metavar contains translations for either "global settings" or "service-specific settings"; see the CANNOT_UPDATE_SETTINGS_METAVAR_SETTINGS_TYPE_GLOBAL and CANNOT_UPDATE_SETTINGS_METAVAR_SETTINGS_TYPE_SERVICE entries.  The first sentence will thus read either "Cannot update the global settings without any given settings." or "Cannot update the service-specific settings without any given settings.".  You may update this entry, and the two metavar entries, in any way you see fit that achieves the desired translations of the first sentence.
1419
+#.
1420
+#. Message-ID: ErrMsgTemplate.CANNOT_UPDATE_SETTINGS_NO_SETTINGS
1421
+#, python-brace-format
1422
+msgctxt "Error message"
1423
+msgid ""
1424
+"Cannot update the {settings_type} without any given settings.  You must "
1425
+"specify at least one of --lower, ..., --symbol, --notes, or --phrase or --"
1426
+"key."
1427
+msgstr ""
1428
+"Zum Aktualisieren der {settings_type} muss mindestens eine der folgenden "
1429
+"Optionen übergeben werden: --lower, ..., --symbol, --notes, oder --phrase "
1430
+"oder --key."
1431
+
1432
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1433
+#.
1434
+#. Message-ID: ErrMsgTemplate.INVALID_USER_CONFIG
1435
+#, python-brace-format
1436
+msgctxt "Error message"
1437
+msgid "The user configuration file is invalid.  {error}: {filename!r}."
1438
+msgstr "Die Benutzerkonfiguration ist ungültig. {error}: {filename!r}."
1439
+
1440
+#. TRANSLATORS: "error" is supplied by the operating system (errno/strerror).
1441
+#.
1442
+#. Message-ID: ErrMsgTemplate.INVALID_USER_CONFIG
1443
+#, python-brace-format
1444
+msgctxt "Error message"
1445
+msgid "The user configuration file is invalid.  {error}."
1446
+msgstr "Die Benutzerkonfiguration ist ungültig. {error}."
1447
+
1448
+#. TRANSLATORS: This error message is a reaction to a validator function saying *that* the configuration is not valid, but not *how* it is not valid.  The configuration file is principally parsable, however.
1449
+#.
1450
+#. Message-ID: ErrMsgTemplate.INVALID_VAULT_CONFIG
1451
+#, python-brace-format
1452
+msgctxt "Error message"
1453
+msgid "Invalid vault config: {config!r}."
1454
+msgstr "Ungültige vault Konfigurationsdatei: {config!r}."
1455
+
1456
+#. TRANSLATORS: Message-ID: ErrMsgTemplate.MISSING_MODULE
1457
+#, python-brace-format
1458
+msgctxt "Error message"
1459
+msgid "Cannot load the required Python module {module!r}."
1460
+msgstr "Kann das benötigte Pythonmodul nicht laden: {module!r}."
1461
+
1462
+#. TRANSLATORS: Message-ID: ErrMsgTemplate.NO_AF_UNIX
1463
+msgctxt "Error message"
1464
+msgid ""
1465
+"Cannot connect to an SSH agent because this Python version does not support "
1466
+"UNIX domain sockets."
1467
+msgstr ""
1468
+"Kann nicht mit einem SSH-Agenten verbinden, da die installierte "
1469
+"Pythonversion UNIX domain sockets nicht unterstützt."
1470
+
1471
+#. TRANSLATORS: Message-ID: ErrMsgTemplate.NO_KEY_OR_PHRASE
1472
+msgctxt "Error message"
1473
+msgid ""
1474
+"No passphrase or key was given in the configuration.  In this case, the --"
1475
+"phrase or --key argument is required."
1476
+msgstr ""
1477
+"Kein Passwort oder Schlüssel in der Konfigurationsdatei angegeben. In diesem "
1478
+"Fall ist die --phrase oder das --key Argument verpflichtend."
1479
+
1480
+#. TRANSLATORS: Message-ID: ErrMsgTemplate.NO_SSH_AGENT_FOUND
1481
+msgctxt "Error message"
1482
+msgid "Cannot find any running SSH agent because SSH_AUTH_SOCK is not set."
1483
+msgstr ""
1484
+"Kann keinen laufenden SSH-Agenten finden, da SSH_AUTH_SOCK nicht gesetzt ist."
1485
+
1486
+#. TRANSLATORS: Message-ID: ErrMsgTemplate.NO_SUITABLE_SSH_KEYS
1487
+#, python-brace-format
1488
+msgctxt "Error message"
1489
+msgid "The SSH agent contains no keys suitable for {PROG_NAME}."
1490
+msgstr "Der SSH-Agent hat keine für {PROG_NAME} geeigneten Schlüssel geladen."
1491
+
1492
+#. TRANSLATORS: The params are long-form command-line option names.  Typical example: "--key is mutually exclusive with --phrase."
1493
+#.
1494
+#. Message-ID: ErrMsgTemplate.PARAMS_MUTUALLY_EXCLUSIVE
1495
+#, python-brace-format
1496
+msgctxt "Error message"
1497
+msgid "{param1} is mutually exclusive with {param2}."
1498
+msgstr "{param1} und {param2} können nicht gleichzeitig verwendet werden."
1499
+
1500
+#. TRANSLATORS: The param is a long-form command-line option name, the metavar is Label.VAULT_METAVAR_SERVICE.
1501
+#.
1502
+#. Message-ID: ErrMsgTemplate.PARAMS_NEEDS_SERVICE
1503
+#, python-brace-format
1504
+msgctxt "Error message"
1505
+msgid "{param} requires a {service_metavar}."
1506
+msgstr "{param} erfordert einen {service_metavar}."
1507
+
1508
+#. TRANSLATORS: The param is a long-form command-line option name, the metavar is Label.VAULT_METAVAR_SERVICE.
1509
+#.
1510
+#. Message-ID: ErrMsgTemplate.PARAMS_NEEDS_SERVICE_OR_CONFIG
1511
+#, python-brace-format
1512
+msgctxt "Error message"
1513
+msgid "{param} requires a {service_metavar} or --config."
1514
+msgstr "{param} benötigt einen {service_metavar} oder die Option --config."
1515
+
1516
+#. TRANSLATORS: The param is a long-form command-line option name, the metavar is Label.VAULT_METAVAR_SERVICE.
1517
+#.
1518
+#. Message-ID: ErrMsgTemplate.PARAMS_NO_SERVICE
1519
+#, python-brace-format
1520
+msgctxt "Error message"
1521
+msgid "{param} does not take a {service_metavar} argument."
1522
+msgstr "{param} akzeptiert kein {service_metavar} Argument."
1523
+
1524
+#. TRANSLATORS: The metavar is Label.VAULT_METAVAR_SERVICE.
1525
+#.
1526
+#. Message-ID: ErrMsgTemplate.SERVICE_REQUIRED
1527
+#, python-brace-format
1528
+msgctxt "Error message"
1529
+msgid "Deriving a passphrase requires a {service_metavar}."
1530
+msgstr ""
1531
+"Zum Ableiten eines Dienstpasswortes ist der {service_metavar} unerlässlich."
1532
+
1533
+#. TRANSLATORS: The rephrasing "Attempted to unset and set the same setting (--unset={setting} --{setting}=...) at the same time."may or may not be more suitable as a basis for translation instead.
1534
+#.
1535
+#. Message-ID: ErrMsgTemplate.SET_AND_UNSET_SAME_SETTING
1536
+#, python-brace-format
1537
+msgctxt "Error message"
1538
+msgid "Attempted to unset and set --{setting} at the same time."
1539
+msgstr ""
1540
+"Sie haben versucht, --{setting} gleichzeitig zu setzen und zurückzusetzen."
1541
+
1542
+#. TRANSLATORS: Message-ID: ErrMsgTemplate.SSH_KEY_NOT_LOADED
1543
+msgctxt "Error message"
1544
+msgid "The requested SSH key is not loaded into the agent."
1545
+msgstr "Der angeforderte SSH-Schlüssel liegt dem Agenten nicht vor."
1546
+
1547
+#. TRANSLATORS: The user requested to edit the notes for a service, but aborted the request mid-editing.
1548
+#.
1549
+#. Message-ID: ErrMsgTemplate.USER_ABORTED_EDIT
1550
+msgctxt "Error message"
1551
+msgid "Not saving any new notes: the user aborted the request."
1552
+msgstr ""
1553
+"Neue Notizen werden nicht gespeichert; der Benutzer hat den Vorgang "
1554
+"abgebrochen."
1555
+
1556
+#. TRANSLATORS: The user was prompted for a master passphrase, but aborted the request.
1557
+#.
1558
+#. Message-ID: ErrMsgTemplate.USER_ABORTED_PASSPHRASE
1559
+msgctxt "Error message"
1560
+msgid "No passphrase was given; the user aborted the request."
1561
+msgstr "Kein Passwort eingegeben; der Benutzer hat den Vorgang abgebrochen."
1562
+
1563
+#. TRANSLATORS: The user was prompted to select a master SSH key, but aborted the request.
1564
+#.
1565
+#. Message-ID: ErrMsgTemplate.USER_ABORTED_SSH_KEY_SELECTION
1566
+msgctxt "Error message"
1567
+msgid "No SSH key was selected; the user aborted the request."
1568
+msgstr ""
1569
+"Kein SSH-Schlüssel ausgewählt; der Benutzer hat den Vorgang abgebrochen."
0 1570