d21c0bed73ae46bd06b004f5c0c1621b729e6fab
Marco Ricci Update copyright notices to...

Marco Ricci authored 2 months ago

1) # SPDX-FileCopyrightText: 2025 Marco Ricci <software@the13thletter.info>
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2) #
3) # SPDX-Licence-Identifier: MIT
4) 
5) """Internal module.  Do not use.  Contains error strings and functions."""
6) 
7) from __future__ import annotations
8) 
Marco Ricci Provide a function to reloa...

Marco Ricci authored 2 months ago

9) import contextlib
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

10) import datetime
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

11) import enum
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

12) import functools
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

13) import gettext
14) import inspect
Marco Ricci Provide a function to reloa...

Marco Ricci authored 2 months ago

15) import os
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

16) import string
Marco Ricci Provide a function to reloa...

Marco Ricci authored 2 months ago

17) import sys
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

18) import textwrap
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

19) import types
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

20) from typing import TYPE_CHECKING, NamedTuple, Protocol, TextIO, Union, cast
Marco Ricci Hide translation template e...

Marco Ricci authored 2 months ago

21) 
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

22) from typing_extensions import TypeAlias, override
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

23) 
24) import derivepassphrase as dpp
25) 
26) if TYPE_CHECKING:
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

27)     from collections.abc import Iterable, Iterator, Mapping, Sequence
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

28) 
29)     from typing_extensions import Any, Self
30) 
31) __author__ = dpp.__author__
32) __version__ = dpp.__version__
33) 
34) __all__ = ('PROG_NAME',)
35) 
36) PROG_NAME = 'derivepassphrase'
Marco Ricci Provide a function to reloa...

Marco Ricci authored 2 months ago

37) 
38) 
39) def load_translations(
40)     localedirs: list[str] | None = None,
41)     languages: Sequence[str] | None = None,
42)     class_: type[gettext.NullTranslations] | None = None,
Marco Ricci Fix coverage

Marco Ricci authored 2 months ago

43) ) -> gettext.NullTranslations:  # pragma: no cover
Marco Ricci Provide a function to reloa...

Marco Ricci authored 2 months ago

44)     """Load a translation catalog for derivepassphrase.
45) 
46)     Runs [`gettext.translation`][] under the hood for multiple locale
47)     directories.  `fallback=True` is implied.
48) 
49)     Args:
50)         localedirs:
51)             A list of directories to run [`gettext.translation`][]
52)             against.  Defaults to `$XDG_DATA_HOME/locale` (usually
53)             `~/.local/share/locale`), `{sys.prefix}/share/locale` and
54)             `{sys.base_prefix}/share/locale` if not given.
55)         languages:
56)             Passed directly to [`gettext.translation`][].
57)         class_:
58)             Passed directly to [`gettext.translation`][].
59) 
60)     Returns:
61)         A (potentially dummy) translation catalog.
62) 
63)     """
64)     if localedirs is None:
65)         if sys.platform.startswith('win'):
66)             xdg_data_home = os.environ.get(
67)                 'APPDATA',
68)                 os.path.expanduser('~'),
69)             )
70)         elif os.environ.get('XDG_DATA_HOME'):
71)             xdg_data_home = os.environ['XDG_DATA_HOME']
72)         else:
73)             xdg_data_home = os.path.join(
74)                 os.path.expanduser('~'), '.local', 'share'
75)             )
76)         localedirs = [
77)             os.path.join(xdg_data_home, 'locale'),
78)             os.path.join(sys.prefix, 'share', 'locale'),
79)             os.path.join(sys.base_prefix, 'share', 'locale'),
80)         ]
81)     for localedir in localedirs:
82)         with contextlib.suppress(OSError):
83)             return gettext.translation(
84)                 PROG_NAME,
85)                 localedir=localedir,
86)                 languages=languages,
87)                 class_=class_,
88)             )
89)     return gettext.NullTranslations()
90) 
91) 
92) translation = load_translations()
Marco Ricci Fix debug output of message...

Marco Ricci authored 2 months ago

93) _debug_translation_message_cache: dict[
94)     tuple[str, str],
95)     tuple[MsgTemplate, frozenset],
96) ] = {}
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

97) 
98) 
99) class DebugTranslations(gettext.NullTranslations):
100)     """A debug object indicating which known message is being requested.
101) 
102)     Each call to the `*gettext` methods will return the enum name if the
103)     message is a known translatable message for the `derivepassphrase`
104)     command-line interface, or the message itself otherwise.
105) 
106)     """
107) 
108)     @staticmethod
109)     def _load_cache() -> None:
110)         cache = _debug_translation_message_cache
111)         for enum_class in MSG_TEMPLATE_CLASSES:
112)             for member in enum_class.__members__.values():
113)                 value = cast('TranslatableString', member.value)
Marco Ricci Fix debug output of message...

Marco Ricci authored 2 months ago

114)                 queue: list[tuple[TranslatableString, frozenset[str]]] = [
115)                     (value, frozenset())
116)                 ]
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

117)                 value2 = value.maybe_without_filename()
Marco Ricci Fix debug output of message...

Marco Ricci authored 2 months ago

118)                 if value != value2:
119)                     queue.append((value2, frozenset({'filename'})))
120)                 for v, trimmed in queue:
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

121)                     singular = v.singular
122)                     plural = v.plural
123)                     context = v.l10n_context
Marco Ricci Fix debug output of message...

Marco Ricci authored 2 months ago

124)                     cache.setdefault((context, singular), (member, trimmed))
Marco Ricci Fix obvious coverage failur...

Marco Ricci authored 2 months ago

125)                     # Currently no translatable messages use plural forms
126)                     if plural:  # pragma: no cover
Marco Ricci Fix debug output of message...

Marco Ricci authored 2 months ago

127)                         cache.setdefault((context, plural), (member, trimmed))
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

128) 
129)     @classmethod
130)     def _locate_message(
131)         cls,
132)         message: str,
133)         /,
134)         *,
135)         context: str = '',
136)         message_plural: str = '',
137)         n: int = 1,
138)     ) -> str:
139)         try:
Marco Ricci Fix debug output of message...

Marco Ricci authored 2 months ago

140)             enum_value, trimmed = _debug_translation_message_cache[
141)                 context, message
142)             ]
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

143)         except KeyError:
144)             return message if not message_plural or n == 1 else message_plural
145)         return cls._format_enum_name_maybe_with_fields(
146)             enum_name=str(enum_value),
147)             ts=cast('TranslatableString', enum_value.value),
Marco Ricci Fix debug output of message...

Marco Ricci authored 2 months ago

148)             trimmed=trimmed,
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

149)         )
150) 
151)     @staticmethod
152)     def _format_enum_name_maybe_with_fields(
153)         enum_name: str,
154)         ts: TranslatableString,
Marco Ricci Fix debug output of message...

Marco Ricci authored 2 months ago

155)         trimmed: frozenset[str] = frozenset(),
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

156)     ) -> str:
Marco Ricci Fix debug output of message...

Marco Ricci authored 2 months ago

157)         formatted_fields = [
158)             f'{f}=None' if f in trimmed else f'{f}={{{f}!r}}'
Marco Ricci Add hypothesis-based tests...

Marco Ricci authored 2 months ago

159)             for f in ts.fields()
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

160)         ]
161)         return (
Marco Ricci Fix debug output of message...

Marco Ricci authored 2 months ago

162)             '{!s}({})'.format(enum_name, ', '.join(formatted_fields))
163)             if formatted_fields
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

164)             else str(enum_name)
165)         )
166) 
167)     @override
168)     def gettext(
169)         self,
170)         message: str,
171)         /,
Marco Ricci Add hypothesis-based tests...

Marco Ricci authored 2 months ago

172)     ) -> str:
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

173)         return self._locate_message(message)
174) 
175)     @override
176)     def ngettext(
177)         self,
178)         msgid1: str,
179)         msgid2: str,
180)         n: int,
181)         /,
182)     ) -> str:  # pragma: no cover
183)         return self._locate_message(msgid1, message_plural=msgid2, n=n)
184) 
185)     @override
186)     def pgettext(
187)         self,
188)         context: str,
189)         message: str,
190)         /,
191)     ) -> str:
192)         return self._locate_message(message, context=context)
193) 
194)     @override
195)     def npgettext(
196)         self,
197)         context: str,
198)         msgid1: str,
199)         msgid2: str,
200)         n: int,
201)         /,
202)     ) -> str:  # pragma: no cover
203)         return self._locate_message(
204)             msgid1,
205)             context=context,
206)             message_plural=msgid2,
207)             n=n,
208)         )
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

209) 
210) 
211) class TranslatableString(NamedTuple):
212)     l10n_context: str
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

213)     singular: str
214)     plural: str = ''
215)     flags: frozenset[str] = frozenset()
216)     translator_comments: str = ''
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

217) 
Marco Ricci Add hypothesis-based tests...

Marco Ricci authored 2 months ago

218)     def fields(self) -> list[str]:
219)         """Return the replacement fields this template requires.
220) 
221)         Raises:
222)             NotImplementedError:
223)                 Replacement field discovery for %-formatting is not
224)                 implemented.
225) 
226)         """
227)         if 'python-format' in self.flags:  # pragma: no cover
228)             err_msg = (
229)                 'Replacement field discovery for %-formatting '
230)                 'is not implemented'
231)             )
232)             raise NotImplementedError(err_msg)
233)         if (
234)             'no-python-brace-format' in self.flags
235)             or 'python-brace-format' not in self.flags
236)         ):
237)             return []
238)         formatter = string.Formatter()
239)         fields: dict[str, int] = {}
240)         for _lit, field, _spec, _conv in formatter.parse(self.singular):
241)             if field is not None and field not in fields:
242)                 fields[field] = len(fields)
243)         return sorted(fields, key=fields.__getitem__)
244) 
Marco Ricci Move translation string pre...

Marco Ricci authored 2 months ago

245)     @staticmethod
246)     def _maybe_rewrap(
247)         string: str,
248)         /,
249)         *,
250)         fix_sentence_endings: bool = True,
251)     ) -> str:
252)         string = inspect.cleandoc(string)
253)         if not any(s.strip() == '\b' for s in string.splitlines()):
254)             string = '\n'.join(
255)                 textwrap.wrap(
256)                     string,
257)                     width=float('inf'),  # type: ignore[arg-type]
258)                     fix_sentence_endings=fix_sentence_endings,
259)                 )
260)             )
261)         else:
262)             string = ''.join(
263)                 s
264)                 for s in string.splitlines(True)  # noqa: FBT003
265)                 if s.strip() != '\b'
266)             )
267)         return string
268) 
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

269)     def maybe_without_filename(self) -> Self:
270)         """Return a new translatable string without the "filename" field.
271) 
272)         Only acts upon translatable strings containing the exact
273)         contents `": {filename!r}"`.  The specified part will be
274)         removed.  This is correct usage in English for messages like
275)         `"Cannot open file: {error!s}: {filename!r}."`, but not
276)         necessarily in other languages.
277) 
278)         """
279)         filename_str = ': {filename!r}'
280)         ret = self
281)         a, sep1, b = self.singular.partition(filename_str)
282)         c, sep2, d = self.plural.partition(filename_str)
283)         if sep1:
284)             ret = ret._replace(singular=(a + b))
Marco Ricci Fix obvious coverage failur...

Marco Ricci authored 2 months ago

285)         # Currently no translatable messages use plural forms
286)         if sep2:  # pragma: no cover
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

287)             ret = ret._replace(plural=(c + d))
288)         return ret
289) 
Marco Ricci Move translation string pre...

Marco Ricci authored 2 months ago

290)     def rewrapped(self) -> Self:
291)         """Return a rewrapped version of self.
292) 
293)         Normalizes all parts assumed to contain English prose.
294) 
295)         """
296)         msg = self._maybe_rewrap(self.singular, fix_sentence_endings=True)
297)         plural = self._maybe_rewrap(self.plural, fix_sentence_endings=True)
298)         context = self.l10n_context.strip()
299)         comments = self._maybe_rewrap(
300)             self.translator_comments, fix_sentence_endings=False
301)         )
302)         return self._replace(
303)             singular=msg,
304)             plural=plural,
305)             l10n_context=context,
306)             translator_comments=comments,
307)         )
308) 
309)     def with_comments(self, comments: str, /) -> Self:
310)         """Add or replace the string's translator comments.
311) 
312)         The comments are assumed to contain English prose, and will be
313)         normalized.
314) 
315)         Returns:
316)             A new [`TranslatableString`][] with the specified comments.
317) 
318)         """
319)         if not comments.lstrip().startswith(  # pragma: no cover
320)             'TRANSLATORS:'
321)         ):
322)             comments = 'TRANSLATORS: ' + comments.lstrip()
323)         comments = self._maybe_rewrap(comments, fix_sentence_endings=False)
324)         return self._replace(translator_comments=comments)
325) 
326)     def validate_flags(self, *extra_flags: str) -> Self:
327)         """Add all flags, then validate them against the string.
328) 
329)         Returns:
330)             A new [`TranslatableString`][] with the extra flags added,
331)             and all flags validated.
332) 
333)         Raises:
334)             ValueError:
335)                 The flags failed to validate.  See the exact error
336)                 message for details.
337) 
Marco Ricci Fix obvious coverage failur...

Marco Ricci authored 2 months ago

338)         Examples:
339)             >>> TranslatableString('', 'all OK').validate_flags()
340)             ... # doctest: +NORMALIZE_WHITESPACE
341)             TranslatableString(l10n_context='', singular='all OK', plural='',
342)                                flags=frozenset(), translator_comments='')
343)             >>> TranslatableString('', '20% OK').validate_flags(
344)             ...     'no-python-format'
345)             ... )
346)             ... # doctest: +NORMALIZE_WHITESPACE
347)             TranslatableString(l10n_context='', singular='20% OK', plural='',
348)                                flags=frozenset({'no-python-format'}),
349)                                translator_comments='')
350)             >>> TranslatableString('', '%d items').validate_flags()
351)             ... # doctest: +ELLIPSIS
352)             Traceback (most recent call last):
353)                 ...
354)             ValueError: Missing flag for how to deal with percent character ...
355)             >>> TranslatableString('', '{braces}').validate_flags()
356)             ... # doctest: +ELLIPSIS
357)             Traceback (most recent call last):
358)                 ...
359)             ValueError: Missing flag for how to deal with brace character ...
360)             >>> TranslatableString('', 'no braces').validate_flags(
361)             ...     'python-brace-format'
362)             ... )
363)             ... # doctest: +ELLIPSIS
364)             Traceback (most recent call last):
365)                 ...
366)             ValueError: Missing format string parameters ...
367) 
Marco Ricci Move translation string pre...

Marco Ricci authored 2 months ago

368)         """
369)         all_flags = frozenset(
370)             f.strip() for f in self.flags.union(extra_flags)
371)         )
372)         if '{' in self.singular and not bool(
373)             all_flags & {'python-brace-format', 'no-python-brace-format'}
374)         ):
375)             msg = (
376)                 f'Missing flag for how to deal with brace character '
377)                 f'in {self.singular!r}'
378)             )
379)             raise ValueError(msg)
380)         if '%' in self.singular and not bool(
381)             all_flags & {'python-format', 'no-python-format'}
382)         ):
383)             msg = (
384)                 f'Missing flag for how to deal with percent character '
385)                 f'in {self.singular!r}'
386)             )
387)             raise ValueError(msg)
388)         if (
389)             all_flags & {'python-format', 'python-brace-format'}
390)             and '%' not in self.singular
391)             and '{' not in self.singular
392)         ):
393)             msg = f'Missing format string parameters in {self.singular!r}'
394)             raise ValueError(msg)
395)         return self._replace(flags=all_flags)
396) 
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

397) 
Marco Ricci Move translation string pre...

Marco Ricci authored 2 months ago

398) def translatable(
399)     context: str,
400)     single: str,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

401)     # /,
Marco Ricci Move translation string pre...

Marco Ricci authored 2 months ago

402)     flags: Iterable[str] = (),
403)     plural: str = '',
404)     comments: str = '',
405) ) -> TranslatableString:
406)     """Return a [`TranslatableString`][] with validated parts.
407) 
408)     This factory function is really only there to make the enum
409)     definitions more readable.
410) 
411)     """
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

412)     flags = (
Marco Ricci Move translation string pre...

Marco Ricci authored 2 months ago

413)         frozenset(flags)
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

414)         if not isinstance(flags, str)
415)         else frozenset({flags})
416)     )
Marco Ricci Move translation string pre...

Marco Ricci authored 2 months ago

417)     return (
418)         TranslatableString(context, single, plural=plural, flags=flags)
419)         .rewrapped()
420)         .with_comments(comments)
421)         .validate_flags()
422)     )
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

423) 
424) 
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

425) class TranslatedString:
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

426)     def __init__(
427)         self,
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

428)         template: (
429)             str
430)             | TranslatableString
Marco Ricci Hide translation template e...

Marco Ricci authored 2 months ago

431)             | MsgTemplate
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

432)         ),
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

433)         args_dict: Mapping[str, Any] = types.MappingProxyType({}),
434)         /,
435)         **kwargs: Any,  # noqa: ANN401
436)     ) -> None:
Marco Ricci Hide translation template e...

Marco Ricci authored 2 months ago

437)         if isinstance(template, MSG_TEMPLATE_CLASSES):
Marco Ricci Add remaining re-linting ch...

Marco Ricci authored 2 months ago

438)             template = cast('TranslatableString', template.value)
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

439)         self.template = template
440)         self.kwargs = {**args_dict, **kwargs}
441)         self._rendered: str | None = None
442) 
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

443)     def __bool__(self) -> bool:
444)         return bool(str(self))
445) 
446)     def __eq__(self, other: object) -> bool:  # pragma: no cover
447)         return str(self) == other
448) 
449)     def __hash__(self) -> int:  # pragma: no cover
450)         return hash(str(self))
451) 
452)     def __repr__(self) -> str:  # pragma: no cover
453)         return (
454)             f'{self.__class__.__name__}({self.template!r}, '
455)             f'{dict(self.kwargs)!r})'
456)         )
457) 
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

458)     def __str__(self) -> str:
459)         if self._rendered is None:
Marco Ricci Add hypothesis-based tests...

Marco Ricci authored 2 months ago

460)             do_escape = False
461)             if isinstance(self.template, str):
462)                 context = ''
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

463)                 template = self.template
464)             else:
465)                 context = self.template.l10n_context
466)                 template = self.template.singular
Marco Ricci Add hypothesis-based tests...

Marco Ricci authored 2 months ago

467)                 do_escape = 'no-python-brace-format' in self.template.flags
468)             template = (
469)                 translation.pgettext(context, template)
470)                 if context
471)                 else translation.gettext(template)
472)             )
473)             template = self._escape(template) if do_escape else template
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

474)             kwargs = {
475)                 k: str(v) if isinstance(v, TranslatedString) else v
476)                 for k, v in self.kwargs.items()
477)             }
478)             self._rendered = template.format(**kwargs)
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

479)         return self._rendered
480) 
Marco Ricci Add hypothesis-based tests...

Marco Ricci authored 2 months ago

481)     @staticmethod
482)     def _escape(template: str) -> str:
483)         return template.translate({
484)             ord('{'): '{{',
485)             ord('}'): '}}',
486)         })
487) 
488)     @classmethod
489)     def constant(cls, template: str) -> Self:
490)         return cls(cls._escape(template))
491) 
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

492)     def maybe_without_filename(self) -> Self:
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

493)         """Return a new string without the "filename" field.
494) 
495)         Only acts upon translated strings containing the exact contents
496)         `": {filename!r}"`.  The specified part will be removed.  This
497)         acts upon the string *before* translation, i.e., the string
498)         without the filename will be used as a translation base.
499) 
500)         """
501)         new_template = (
502)             self.template.maybe_without_filename()
503)             if not isinstance(self.template, str)
504)             else self.template
505)         )
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

506)         if (
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

507)             not isinstance(new_template, str)
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

508)             and self.kwargs.get('filename') is None
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

509)             and new_template != self.template
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

510)         ):
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

511)             return self.__class__(new_template, self.kwargs)
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

512)         return self
513) 
514) 
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

515) class _TranslatedStringConstructor(Protocol):
516)     def __call__(
517)         self,
518)         context: str,
519)         single: str,
520)         # /,
521)         flags: Iterable[str] = (),
522)         plural: str = '',
523)         comments: str = '',
524)     ) -> TranslatableString: ...
525) 
526) 
527) def _Commented(  # noqa: N802
528)     comments: str = '',
529)     # /
530) ) -> _TranslatedStringConstructor:
531)     """A "decorator" for readably constructing commented enum values.
532) 
533)     This is geared towards the quirks of the API documentation extractor
534)     `mkdocstrings-python`/`griffe`, which reformat and trim enum value
535)     declarations in somewhat weird ways.  Chains of function calls are
536)     preserved, though, so use this to our advantage to suggest
537)     a specific formatting.
538) 
539)     This is not necessarily good code style, and it is
540)     (quasi-)unnecessarily heavyweight.
541) 
542)     """  # noqa: DOC201
543)     return functools.partial(translatable, comments=comments)
544) 
545) 
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

546) class Label(enum.Enum):
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

547)     DEPRECATION_WARNING_LABEL = _Commented(
Marco Ricci Add more translator's comments

Marco Ricci authored 2 months ago

548)         comments=r"""
549)         TRANSLATORS: This is a short label that will be prepended to
550)         a warning message, e.g., "Deprecation warning: A subcommand will
551)         be required in v1.0."
552)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

553)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

554)         context='Label :: Diagnostics :: Marker',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

555)         single='Deprecation warning',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

556)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

557)     WARNING_LABEL = _Commented(
Marco Ricci Add more translator's comments

Marco Ricci authored 2 months ago

558)         comments=r"""
559)         TRANSLATORS: This is a short label that will be prepended to
560)         a warning message, e.g., "Warning: An empty service name is not
561)         supported by vault(1)."
562)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

563)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

564)         context='Label :: Diagnostics :: Marker',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

565)         single='Warning',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

566)     )
Marco Ricci Fix phrasing of "Cannot upd...

Marco Ricci authored 2 months ago

567)     CANNOT_UPDATE_SETTINGS_METAVAR_SETTINGS_TYPE_GLOBAL = (
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

568)         _Commented(
Marco Ricci Fix phrasing of "Cannot upd...

Marco Ricci authored 2 months ago

569)             comments=r"""
570)             TRANSLATORS: This is one of two values of the settings_type
571)             metavar used in the CANNOT_UPDATE_SETTINGS_NO_SETTINGS
572)             entry.  It is only used there.  The full sentence then
573)             reads: "Cannot update the global settings without any given
574)             settings."
575)             """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

576)         )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

577)             context='Label :: Error message :: Metavar',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

578)             single='global settings',
Marco Ricci Fix phrasing of "Cannot upd...

Marco Ricci authored 2 months ago

579)         )
580)     )
581)     CANNOT_UPDATE_SETTINGS_METAVAR_SETTINGS_TYPE_SERVICE = (
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

582)         _Commented(
Marco Ricci Fix phrasing of "Cannot upd...

Marco Ricci authored 2 months ago

583)             comments=r"""
584)             TRANSLATORS: This is one of two values of the settings_type
585)             metavar used in the CANNOT_UPDATE_SETTINGS_NO_SETTINGS
586)             entry.  It is only used there.  The full sentence then
587)             reads: "Cannot update the service-specific settings without
588)             any given settings."
589)             """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

590)         )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

591)             context='Label :: Error message :: Metavar',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

592)             single='service-specific settings',
Marco Ricci Fix phrasing of "Cannot upd...

Marco Ricci authored 2 months ago

593)         )
594)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

595)     DERIVEPASSPHRASE_01 = _Commented(
Marco Ricci Add more translator's comments

Marco Ricci authored 2 months ago

596)         comments=r"""
597)         TRANSLATORS: This is the first paragraph of the command help
598)         text, but it also appears (in truncated form, if necessary) as
599)         one-line help text for this command.  The translation should
600)         thus be as meaningful as possible even if truncated.
601)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

602)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

603)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

604)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

605)         Derive a strong passphrase, deterministically, from a master secret.
606)         """,
607)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

608)     DERIVEPASSPHRASE_02 = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

609)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

610)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

611)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

612)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

613)         The currently implemented subcommands are "vault" (for the
614)         scheme used by vault) and "export" (for exporting foreign
615)         configuration data).  See the respective `--help` output for
616)         instructions.  If no subcommand is given, we default to "vault".
617)         """,
618)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

619)     DERIVEPASSPHRASE_03 = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

620)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

621)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

622)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

623)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

624)         Deprecation notice: Defaulting to "vault" is deprecated.
625)         Starting in v1.0, the subcommand must be specified explicitly.
626)         """,
627)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

628)     DERIVEPASSPHRASE_EPILOG_01 = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

629)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

630)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

631)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

632)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

633)         Configuration is stored in a directory according to the
634)         `DERIVEPASSPHRASE_PATH` variable, which defaults to
635)         `~/.derivepassphrase` on UNIX-like systems and
636)         `C:\Users\<user>\AppData\Roaming\Derivepassphrase` on Windows.
637)         """,
638)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

639)     DERIVEPASSPHRASE_EXPORT_01 = _Commented(
Marco Ricci Add more translator's comments

Marco Ricci authored 2 months ago

640)         comments=r"""
641)         TRANSLATORS: This is the first paragraph of the command help
642)         text, but it also appears (in truncated form, if necessary) as
643)         one-line help text for this command.  The translation should
644)         thus be as meaningful as possible even if truncated.
645)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

646)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

647)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

648)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

649)         Export a foreign configuration to standard output.
650)         """,
651)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

652)     DERIVEPASSPHRASE_EXPORT_02 = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

653)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

654)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

655)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

656)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

657)         The only available subcommand is "vault", which implements the
658)         vault-native configuration scheme.  If no subcommand is given,
659)         we default to "vault".
660)         """,
661)     )
662)     DERIVEPASSPHRASE_EXPORT_03 = DERIVEPASSPHRASE_03
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

663)     DERIVEPASSPHRASE_EXPORT_VAULT_01 = _Commented(
Marco Ricci Add more translator's comments

Marco Ricci authored 2 months ago

664)         comments=r"""
665)         TRANSLATORS: This is the first paragraph of the command help
666)         text, but it also appears (in truncated form, if necessary) as
667)         one-line help text for this command.  The translation should
668)         thus be as meaningful as possible even if truncated.
669)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

670)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

671)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

672)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

673)         Export a vault-native configuration to standard output.
674)         """,
675)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

676)     DERIVEPASSPHRASE_EXPORT_VAULT_02 = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

677)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

678)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

679)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

680)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

681)         Depending on the configuration format, {path_metavar!s} may
682)         either be a file or a directory.  We support the vault "v0.2",
683)         "v0.3" and "storeroom" formats.
684)         """,
685)         flags='python-brace-format',
686)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

687)     DERIVEPASSPHRASE_EXPORT_VAULT_03 = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

688)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

689)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

690)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

691)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

692)         If {path_metavar!s} is explicitly given as `VAULT_PATH`, then
693)         use the `VAULT_PATH` environment variable to determine the
694)         correct path.  (Use `./VAULT_PATH` or similar to indicate
695)         a file/directory actually named `VAULT_PATH`.)
696)         """,
697)         flags='python-brace-format',
698)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

699)     DERIVEPASSPHRASE_VAULT_01 = _Commented(
Marco Ricci Add more translator's comments

Marco Ricci authored 2 months ago

700)         comments=r"""
701)         TRANSLATORS: This is the first paragraph of the command help
702)         text, but it also appears (in truncated form, if necessary) as
703)         one-line help text for this command.  The translation should
704)         thus be as meaningful as possible even if truncated.
705)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

706)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

707)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

708)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

709)         Derive a passphrase using the vault derivation scheme.
710)         """,
711)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

712)     DERIVEPASSPHRASE_VAULT_02 = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

713)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

714)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

715)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

716)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

717)         If operating on global settings, or importing/exporting
718)         settings, then {service_metavar!s} must be omitted.  Otherwise
719)         it is required.
720)         """,
721)         flags='python-brace-format',
722)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

723)     DERIVEPASSPHRASE_VAULT_EPILOG_01 = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

724)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

725)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

726)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

727)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

728)         WARNING: There is NO WAY to retrieve the generated passphrases
729)         if the master passphrase, the SSH key, or the exact passphrase
730)         settings are lost, short of trying out all possible
731)         combinations.  You are STRONGLY advised to keep independent
732)         backups of the settings and the SSH key, if any.
733)         """,
734)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

735)     DERIVEPASSPHRASE_VAULT_EPILOG_02 = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

736)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

737)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

738)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

739)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

740)         The configuration is NOT encrypted, and you are STRONGLY
741)         discouraged from using a stored passphrase.
742)         """,
743)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

744)     DEPRECATED_COMMAND_LABEL = _Commented(
Marco Ricci Add more translator's comments

Marco Ricci authored 2 months ago

745)         comments=r"""
746)         TRANSLATORS: We use this format string to indicate, at the
747)         beginning of a command's help text, that this command is
748)         deprecated.
749)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

750)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

751)         context='Label :: Help text :: Marker',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

752)         single='(Deprecated) {text}',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

753)         flags='python-brace-format',
754)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

755)     DEBUG_OPTION_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

756)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

757)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

758)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

759)         single='also emit debug information (implies --verbose)',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

760)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

761)     EXPORT_VAULT_FORMAT_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

762)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

763)         TRANSLATORS: The defaults_hint is
764)         Label.EXPORT_VAULT_FORMAT_DEFAULTS_HELP_TEXT, the metavar is
765)         Label.EXPORT_VAULT_FORMAT_METAVAR_FMT.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

766)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

767)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

768)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

769)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

770)         try the following storage format {metavar!s}; may be
771)         specified multiple times, formats will be tried in order
772)         {defaults_hint!s}
773)         """,
774)         flags='python-brace-format',
775)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

776)     EXPORT_VAULT_FORMAT_DEFAULTS_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

777)         comments=r"""
778)         TRANSLATORS: See EXPORT_VAULT_FORMAT_HELP_TEXT.  The format
779)         names/labels "v0.3", "v0.2" and "storeroom" should not be
780)         translated.
781)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

782)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

783)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

784)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

785)         (default: v0.3, v0.2, storeroom)
786)         """,
787)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

788)     EXPORT_VAULT_KEY_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

789)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

790)         TRANSLATORS: The defaults_hint is
791)         Label.EXPORT_VAULT_KEY_DEFAULTS_HELP_TEXT, the metavar is
792)         Label.EXPORT_VAULT_KEY_METAVAR_K.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

793)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

794)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

795)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

796)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

797)         use {metavar!s} as the storage master key {defaults_hint!s}
798)         """,
799)         flags='python-brace-format',
800)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

801)     EXPORT_VAULT_KEY_DEFAULTS_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

802)         comments=r"""
803)         TRANSLATORS: See EXPORT_VAULT_KEY_HELP_TEXT.
804)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

805)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

806)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

807)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

808)         (default: check the `VAULT_KEY`, `LOGNAME`, `USER`, or
809)         `USERNAME` environment variables)
810)         """,
811)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

812)     HELP_OPTION_HELP_TEXT = _Commented(
Marco Ricci Reimplement `--help` and `-...

Marco Ricci authored 2 months ago

813)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

814)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

815)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

816)         single='show this help text, then exit',
Marco Ricci Reimplement `--help` and `-...

Marco Ricci authored 2 months ago

817)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

818)     QUIET_OPTION_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

819)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

820)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

821)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

822)         single='suppress even warnings, emit only errors',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

823)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

824)     VERBOSE_OPTION_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

825)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

826)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

827)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

828)         single='emit extra/progress information to standard error',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

829)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

830)     VERSION_OPTION_HELP_TEXT = _Commented(
Marco Ricci Reimplement `--help` and `-...

Marco Ricci authored 2 months ago

831)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

832)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

833)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

834)         single='show applicable version information, then exit',
Marco Ricci Reimplement `--help` and `-...

Marco Ricci authored 2 months ago

835)     )
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

836) 
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

837)     DERIVEPASSPHRASE_VAULT_PHRASE_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

838)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

839)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

840)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

841)         single='prompt for a master passphrase',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

842)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

843)     DERIVEPASSPHRASE_VAULT_KEY_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

844)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

845)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

846)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

847)         single='select a suitable SSH key from the SSH agent',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

848)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

849)     DERIVEPASSPHRASE_VAULT_LENGTH_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

850)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

851)         TRANSLATORS: The metavar is
852)         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

853)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

854)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

855)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

856)         single='ensure a passphrase length of {metavar!s} characters',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

857)         flags='python-brace-format',
858)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

859)     DERIVEPASSPHRASE_VAULT_REPEAT_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

860)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

861)         TRANSLATORS: The metavar is
862)         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

863)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

864)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

865)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

866)         single='forbid any run of {metavar!s} identical characters',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

867)         flags='python-brace-format',
868)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

869)     DERIVEPASSPHRASE_VAULT_LOWER_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

870)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

871)         TRANSLATORS: The metavar is
872)         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

873)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

874)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

875)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

876)         single='ensure at least {metavar!s} lowercase characters',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

877)         flags='python-brace-format',
878)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

879)     DERIVEPASSPHRASE_VAULT_UPPER_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

880)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

881)         TRANSLATORS: The metavar is
882)         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

883)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

884)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

885)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

886)         single='ensure at least {metavar!s} uppercase characters',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

887)         flags='python-brace-format',
888)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

889)     DERIVEPASSPHRASE_VAULT_NUMBER_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

890)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

891)         TRANSLATORS: The metavar is
892)         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

893)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

894)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

895)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

896)         single='ensure at least {metavar!s} digits',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

897)         flags='python-brace-format',
898)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

899)     DERIVEPASSPHRASE_VAULT_SPACE_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

900)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

901)         TRANSLATORS: The metavar is
902)         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

903)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

904)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

905)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

906)         single='ensure at least {metavar!s} spaces',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

907)         flags='python-brace-format',
908)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

909)     DERIVEPASSPHRASE_VAULT_DASH_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

910)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

911)         TRANSLATORS: The metavar is
912)         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

913)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

914)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

915)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

916)         single='ensure at least {metavar!s} "-" or "_" characters',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

917)         flags='python-brace-format',
918)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

919)     DERIVEPASSPHRASE_VAULT_SYMBOL_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

920)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

921)         TRANSLATORS: The metavar is
922)         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

923)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

924)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

925)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

926)         single='ensure at least {metavar!s} symbol characters',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

927)         flags='python-brace-format',
928)     )
929) 
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

930)     DERIVEPASSPHRASE_VAULT_NOTES_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

931)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

932)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

933)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

934)         single='spawn an editor to edit notes for {service_metavar!s}',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

935)         flags='python-brace-format',
936)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

937)     DERIVEPASSPHRASE_VAULT_CONFIG_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

938)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

939)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

940)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

941)         single='save the given settings for {service_metavar!s}, or global',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

942)         flags='python-brace-format',
943)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

944)     DERIVEPASSPHRASE_VAULT_DELETE_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

945)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

946)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

947)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

948)         single='delete the settings for {service_metavar!s}',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

949)         flags='python-brace-format',
950)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

951)     DERIVEPASSPHRASE_VAULT_DELETE_GLOBALS_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

952)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

953)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

954)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

955)         single='delete the global settings',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

956)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

957)     DERIVEPASSPHRASE_VAULT_DELETE_ALL_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

958)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

959)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

960)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

961)         single='delete all settings',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

962)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

963)     DERIVEPASSPHRASE_VAULT_EXPORT_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

964)         comments="""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

965)         TRANSLATORS: The metavar is
966)         Label.STORAGE_MANAGEMENT_METAVAR_SERVICE.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

967)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

968)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

969)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

970)         single='export all saved settings to {metavar!s}',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

971)         flags='python-brace-format',
972)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

973)     DERIVEPASSPHRASE_VAULT_IMPORT_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

974)         comments="""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

975)         TRANSLATORS: The metavar is
976)         Label.STORAGE_MANAGEMENT_METAVAR_SERVICE.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

977)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

978)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

979)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

980)         single='import saved settings from {metavar!s}',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

981)         flags='python-brace-format',
982)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

983)     DERIVEPASSPHRASE_VAULT_OVERWRITE_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

984)         comments="""
985)         TRANSLATORS: The corresponding option is displayed as
986)         "--overwrite-existing / --merge-existing", so you may want to
987)         hint that the default (merge) is the second of those options.
988)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

989)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

990)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

991)         single='overwrite or merge (default) the existing configuration',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

992)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

993)     DERIVEPASSPHRASE_VAULT_UNSET_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

994)         comments="""
995)         TRANSLATORS: The corresponding option is displayed as
996)         "--unset=phrase|key|...|symbol", so the "given setting" is
997)         referring to "phrase", "key", "lower", ..., or "symbol",
998)         respectively.  "with --config" here means that the user must
999)         also specify "--config" for this option to have any effect.
1000)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1001)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1002)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1003)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1004)         with --config, also unsets the given setting; may be specified
1005)         multiple times
1006)         """,
1007)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1008)     DERIVEPASSPHRASE_VAULT_EXPORT_AS_HELP_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1009)         comments="""
1010)         TRANSLATORS: The corresponding option is displayed as
1011)         "--export-as=json|sh", so json refers to the JSON format
1012)         (default) and sh refers to the POSIX sh format.
1013)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1014)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1015)         context='Label :: Help text :: One-line description',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1016)         single='when exporting, export as JSON (default) or POSIX sh',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1017)     )
1018) 
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1019)     EXPORT_VAULT_FORMAT_METAVAR_FMT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1020)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1021)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1022)         context='Label :: Help text :: Metavar :: export vault',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1023)         single='FMT',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1024)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1025)     EXPORT_VAULT_KEY_METAVAR_K = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1026)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1027)         TRANSLATORS: See Label.EXPORT_VAULT_KEY_HELP_TEXT.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1028)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1029)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1030)         context='Label :: Help text :: Metavar :: export vault',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1031)         single='K',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1032)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1033)     EXPORT_VAULT_METAVAR_PATH = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1034)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1035)         TRANSLATORS: Used as "path_metavar" in
1036)         Label.DERIVEPASSPHRASE_EXPORT_VAULT_02 and others.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1037)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1038)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1039)         context='Label :: Help text :: Metavar :: export vault',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1040)         single='PATH',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1041)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1042)     PASSPHRASE_GENERATION_METAVAR_NUMBER = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1043)         comments=r"""
1044)         TRANSLATORS: This metavar is also used in a matching epilog.
1045)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1046)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1047)         context='Label :: Help text :: Metavar :: vault',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1048)         single='NUMBER',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1049)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1050)     STORAGE_MANAGEMENT_METAVAR_PATH = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1051)         comments=r"""
1052)         TRANSLATORS: This metavar is also used in multiple one-line help
1053)         texts.
1054)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1055)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1056)         context='Label :: Help text :: Metavar :: vault',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1057)         single='PATH',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1058)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1059)     VAULT_METAVAR_SERVICE = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1060)         comments=r"""
1061)         TRANSLATORS: This metavar is also used in multiple one-line help
1062)         texts, as "service_metavar".
1063)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1064)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1065)         context='Label :: Help text :: Metavar :: vault',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1066)         single='SERVICE',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1067)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1068)     CONFIGURATION_EPILOG = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1069)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1070)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1071)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1072)         single='Use $VISUAL or $EDITOR to configure the spawned editor.',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1073)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1074)     PASSPHRASE_GENERATION_EPILOG = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1075)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1076)         TRANSLATORS: The metavar is
1077)         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1078)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1079)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1080)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1081)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1082)         Use {metavar!s}=0 to exclude a character type from the output.
1083)         """,
1084)         flags='python-brace-format',
1085)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1086)     STORAGE_MANAGEMENT_EPILOG = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1087)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1088)         TRANSLATORS: The metavar is
1089)         Label.STORAGE_MANAGEMENT_METAVAR_PATH.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1090)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1091)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1092)         context='Label :: Help text :: Explanation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1093)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1094)         Using "-" as {metavar!s} for standard input/standard output
1095)         is supported.
1096)         """,
1097)         flags='python-brace-format',
1098)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1099)     COMMANDS_LABEL = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1100)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1101)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1102)         context='Label :: Help text :: Option group name',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1103)         single='Commands',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1104)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1105)     COMPATIBILITY_OPTION_LABEL = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1106)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1107)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1108)         context='Label :: Help text :: Option group name',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1109)         single='Compatibility and extension options',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1110)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1111)     CONFIGURATION_LABEL = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1112)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1113)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1114)         context='Label :: Help text :: Option group name',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1115)         single='Configuration',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1116)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1117)     LOGGING_LABEL = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1118)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1119)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1120)         context='Label :: Help text :: Option group name',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1121)         single='Logging',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1122)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1123)     OPTIONS_LABEL = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1124)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1125)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1126)         context='Label :: Help text :: Option group name',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1127)         single='Options',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1128)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1129)     OTHER_OPTIONS_LABEL = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1130)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1131)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1132)         context='Label :: Help text :: Option group name',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1133)         single='Other options',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1134)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1135)     PASSPHRASE_GENERATION_LABEL = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1136)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1137)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1138)         context='Label :: Help text :: Option group name',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1139)         single='Passphrase generation',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1140)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1141)     STORAGE_MANAGEMENT_LABEL = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1142)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1143)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1144)         context='Label :: Help text :: Option group name',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1145)         single='Storage management',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1146)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1147)     VERSION_INFO_TEXT = _Commented(
Marco Ricci Reimplement `--help` and `-...

Marco Ricci authored 2 months ago

1148)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1149)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1150)         context='Label :: Info Message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1151)         single=r"""
1152)         {PROG_NAME!s} {__version__}
1153)         """,  # noqa: RUF027
Marco Ricci Reimplement `--help` and `-...

Marco Ricci authored 2 months ago

1154)         flags='python-brace-format',
1155)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1156)     CONFIRM_THIS_CHOICE_PROMPT_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1157)         comments=r"""
1158)         TRANSLATORS: There is no support for "yes" or "no" in other
1159)         languages than English, so it is advised that your translation
1160)         makes it clear that only the strings "y", "yes", "n" or "no" are
1161)         supported, even if the prompt becomes a bit longer.
1162)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1163)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1164)         context='Label :: Interactive prompt',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1165)         single='Confirm this choice? (y/N)',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1166)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1167)     SUITABLE_SSH_KEYS_LABEL = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1168)         comments=r"""
1169)         TRANSLATORS: This label is the heading of the list of suitable
1170)         SSH keys.
1171)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1172)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1173)         context='Label :: Interactive prompt',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1174)         single='Suitable SSH keys:',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1175)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1176)     YOUR_SELECTION_PROMPT_TEXT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1177)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1178)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1179)         context='Label :: Interactive prompt',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1180)         single='Your selection? (1-{n}, leave empty to abort)',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1181)         flags='python-brace-format',
1182)     )
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1183) 
1184) 
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1185) class DebugMsgTemplate(enum.Enum):
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1186)     BUCKET_ITEM_FOUND = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1187)         comments=r"""
1188)         TRANSLATORS: This message is emitted by the vault configuration
1189)         exporter for "storeroom"-type configuration directories.  The
1190)         system stores entries in different "buckets" of a hash table.
1191)         Here, we report on a single item (path and value) we discovered
1192)         after decrypting the whole bucket.  (We ensure the path and
1193)         value are printable as-is.)
1194)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1195)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1196)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1197)         single='Found bucket item: {path} -> {value}',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1198)         flags='python-brace-format',
1199)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1200)     DECRYPT_BUCKET_ITEM_INFO = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1201)         comments=r"""
1202)         TRANSLATORS: "AES256-CBC" and "PKCS#7" are, in essence, names of
1203)         formats, and should not be translated.  "IV" means
1204)         "initialization vector", and is specifically a cryptographic
1205)         term, as are "plaintext" and "ciphertext".
1206)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1207)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1208)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1209)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1210)         Decrypt bucket item contents:
1211) 
1212)           \b
1213)           Encryption key (master key): {enc_key}
1214)           Encryption cipher: AES256-CBC with PKCS#7 padding
1215)           Encryption IV: {iv}
1216)           Encrypted ciphertext: {ciphertext}
1217)           Plaintext: {plaintext}
1218)         """,
1219)         flags='python-brace-format',
1220)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1221)     DECRYPT_BUCKET_ITEM_KEY_INFO = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1222)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1223)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1224)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1225)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1226)         Decrypt bucket item:
1227) 
1228)           \b
1229)           Plaintext: {plaintext}
1230)           Encryption key (master key): {enc_key}
1231)           Signing key (master key): {sign_key}
1232)         """,
1233)         flags='python-brace-format',
1234)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1235)     DECRYPT_BUCKET_ITEM_MAC_INFO = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1236)         comments=r"""
1237)         TRANSLATORS: The MAC stands for "message authentication code",
1238)         which guarantees the authenticity of the message to anyone who
1239)         holds the corresponding key, similar to a digital signature.
1240)         The acronym "MAC" is assumed to be well-known to the English
1241)         target audience, or at least discoverable by them; they *are*
1242)         asking for debug output, after all.  Please use your judgement
1243)         as to whether to translate this term or not, expanded or not.
1244)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1245)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1246)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1247)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1248)         Decrypt bucket item contents:
1249) 
1250)           \b
1251)           MAC key: {sign_key}
1252)           Authenticated content: {ciphertext}
1253)           Claimed MAC value: {claimed_mac}
1254)           Computed MAC value: {actual_mac}
1255)         """,
1256)         flags='python-brace-format',
1257)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1258)     DECRYPT_BUCKET_ITEM_SESSION_KEYS_INFO = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1259)         comments=r"""
1260)         TRANSLATORS: "AES256-CBC" and "PKCS#7" are, in essence, names of
1261)         formats, and should not be translated.  "IV" means
1262)         "initialization vector", and is specifically a cryptographic
1263)         term, as are "plaintext" and "ciphertext".
1264)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1265)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1266)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1267)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1268)         Decrypt bucket item session keys:
1269) 
1270)           \b
1271)           Encryption key (master key): {enc_key}
1272)           Encryption cipher: AES256-CBC with PKCS#7 padding
1273)           Encryption IV: {iv}
1274)           Encrypted ciphertext: {ciphertext}
1275)           Plaintext: {plaintext}
1276)           Parsed plaintext: {code}
1277)         """,
1278)         flags='python-brace-format',
1279)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1280)     DECRYPT_BUCKET_ITEM_SESSION_KEYS_MAC_INFO = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1281)         comments=r"""
1282)         TRANSLATORS: The MAC stands for "message authentication code",
1283)         which guarantees the authenticity of the message to anyone who
1284)         holds the corresponding key, similar to a digital signature.
1285)         The acronym "MAC" is assumed to be well-known to the English
1286)         target audience, or at least discoverable by them; they *are*
1287)         asking for debug output, after all.  Please use your judgement
1288)         as to whether to translate this term or not, expanded or not.
1289)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1290)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1291)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1292)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1293)         Decrypt bucket item session keys:
1294) 
1295)           \b
1296)           MAC key (master key): {sign_key}
1297)           Authenticated content: {ciphertext}
1298)           Claimed MAC value: {claimed_mac}
1299)           Computed MAC value: {actual_mac}
1300)         """,
1301)         flags='python-brace-format',
1302)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1303)     DERIVED_MASTER_KEYS_KEYS = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1304)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1305)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1306)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1307)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1308)         Derived master keys' keys:
1309) 
1310)           \b
1311)           Encryption key: {enc_key}
1312)           Signing key: {sign_key}
1313)           Password: {pw_bytes}
1314)           Function call: pbkdf2(algorithm={algorithm!r}, length={length!r}, salt={salt!r}, iterations={iterations!r})
1315) 
1316)         """,  # noqa: E501
1317)         flags='python-brace-format',
1318)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1319)     DIRECTORY_CONTENTS_CHECK_OK = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1320)         comments=r"""
1321)         TRANSLATORS: This message is emitted by the vault configuration
1322)         exporter for "storeroom"-type configuration directories, while
1323)         "assembling" the items stored in the configuration according to
1324)         the item's "path".  Each "directory" in the path contains a list
1325)         of children it claims to contain, and this list must be matched
1326)         against the actual discovered items.  Now, at the end, we
1327)         actually confirm the claim.  (We would have already thrown an
1328)         error here otherwise.)
1329)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1330)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1331)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1332)         single='Directory contents check OK: {path} -> {contents}',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1333)         flags='python-brace-format',
1334)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1335)     MASTER_KEYS_DATA_MAC_INFO = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1336)         comments=r"""
1337)         TRANSLATORS: The MAC stands for "message authentication code",
1338)         which guarantees the authenticity of the message to anyone who
1339)         holds the corresponding key, similar to a digital signature.
1340)         The acronym "MAC" is assumed to be well-known to the English
1341)         target audience, or at least discoverable by them; they *are*
1342)         asking for debug output, after all.  Please use your judgement
1343)         as to whether to translate this term or not, expanded or not.
1344)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1345)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1346)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1347)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1348)         Master keys data:
1349) 
1350)           \b
1351)           MAC key: {sign_key}
1352)           Authenticated content: {ciphertext}
1353)           Claimed MAC value: {claimed_mac}
1354)           Computed MAC value: {actual_mac}
1355)         """,
1356)         flags='python-brace-format',
1357)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1358)     POSTPONING_DIRECTORY_CONTENTS_CHECK = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1359)         comments=r"""
1360)         TRANSLATORS: This message is emitted by the vault configuration
1361)         exporter for "storeroom"-type configuration directories, while
1362)         "assembling" the items stored in the configuration according to
1363)         the item's "path".  Each "directory" in the path contains a list
1364)         of children it claims to contain, and this list must be matched
1365)         against the actual discovered items.  When emitting this
1366)         message, we merely indicate that we saved the "claimed" list for
1367)         this directory for later.
1368)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1369)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1370)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1371)         single='Postponing directory contents check: {path} -> {contents}',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1372)         flags='python-brace-format',
1373)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1374)     SETTING_CONFIG_STRUCTURE_CONTENTS = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1375)         comments=r"""
1376)         TRANSLATORS: This message is emitted by the vault configuration
1377)         exporter for "storeroom"-type configuration directories, while
1378)         "assembling" the items stored in the configuration according to
1379)         the item's "path".  We confirm that we set the entry at the
1380)         given path to the given value.
1381)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1382)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1383)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1384)         single='Setting contents: {path} -> {value}',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1385)         flags='python-brace-format',
1386)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1387)     SETTING_CONFIG_STRUCTURE_CONTENTS_EMPTY_DIRECTORY = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1388)         comments=r"""
1389)         TRANSLATORS: This message is emitted by the vault configuration
1390)         exporter for "storeroom"-type configuration directories, while
1391)         "assembling" the items stored in the configuration according to
1392)         the item's "path".  We confirm that we set up a currently empty
1393)         directory at the given path.
1394)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1395)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1396)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1397)         single='Setting contents (empty directory): {path}',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1398)         flags='python-brace-format',
1399)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1400)     VAULT_NATIVE_EVP_BYTESTOKEY_INIT = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1401)         comments=r"""
1402)         TRANSLATORS: This message is emitted by the vault configuration
1403)         exporter for "native"-type configuration directories: in v0.2,
1404)         the non-standard and deprecated "EVP_bytestokey" function from
1405)         OpenSSL must be reimplemented from scratch.  The terms "salt"
1406)         and "IV" (initialization vector) are cryptographic terms.
1407)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1408)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1409)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1410)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1411)         evp_bytestokey_md5 (initialization):
1412) 
1413)           \b
1414)           Input: {data}
1415)           Salt: {salt}
1416)           Key size: {key_size}
1417)           IV size: {iv_size}
1418)           Buffer length: {buffer_length}
1419)           Buffer: {buffer}
1420)         """,
1421)         flags='python-brace-format',
1422)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1423)     VAULT_NATIVE_EVP_BYTESTOKEY_RESULT = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1424)         comments=r"""
1425)         TRANSLATORS: This message is emitted by the vault configuration
1426)         exporter for "native"-type configuration directories: in v0.2,
1427)         the non-standard and deprecated "EVP_bytestokey" function from
1428)         OpenSSL must be reimplemented from scratch.  The terms "salt"
1429)         and "IV" (initialization vector) are cryptographic terms.
1430)         This function reports on the updated buffer length and contents
1431)         after executing one round of hashing.
1432)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1433)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1434)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1435)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1436)         evp_bytestokey_md5 (result):
1437) 
1438)           \b
1439)           Encryption key: {enc_key}
1440)           IV: {iv}
1441)         """,
1442)         flags='python-brace-format',
1443)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1444)     VAULT_NATIVE_EVP_BYTESTOKEY_ROUND = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1445)         comments=r"""
1446)         TRANSLATORS: This message is emitted by the vault configuration
1447)         exporter for "native"-type configuration directories: in v0.2,
1448)         the non-standard and deprecated "EVP_bytestokey" function from
1449)         OpenSSL must be reimplemented from scratch.  The terms "salt"
1450)         and "IV" (initialization vector) are cryptographic terms.
1451)         This function reports on the updated buffer length and contents
1452)         after executing one round of hashing.
1453)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1454)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1455)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1456)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1457)         evp_bytestokey_md5 (round update):
1458) 
1459)           \b
1460)           Buffer length: {buffer_length}
1461)           Buffer: {buffer}
1462)         """,
1463)         flags='python-brace-format',
1464)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1465)     VAULT_NATIVE_CHECKING_MAC_DETAILS = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1466)         comments=r"""
1467)         TRANSLATORS: This message is emitted by the vault configuration
1468)         exporter for "native"-type configuration directories.  It is
1469)         preceded by the info message PARSING_IV_PAYLOAD_MAC; see the
1470)         commentary there concerning the terms and thoughts on
1471)         translating them.
1472)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1473)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1474)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1475)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1476)         MAC details:
1477) 
1478)           \b
1479)           MAC input: {mac_input}
1480)           Expected MAC: {mac}
1481)         """,
1482)         flags='python-brace-format',
1483)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1484)     VAULT_NATIVE_PADDED_PLAINTEXT = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1485)         comments=r"""
1486)         TRANSLATORS: This message is emitted by the vault configuration
1487)         exporter for "native"-type configuration directories.  "padding"
1488)         and "plaintext" are cryptographic terms.
1489)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1490)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1491)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1492)         single='Padded plaintext: {contents}',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1493)         flags='python-brace-format',
1494)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1495)     VAULT_NATIVE_PARSE_BUFFER = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1496)         comments=r"""
1497)         TRANSLATORS: This message is emitted by the vault configuration
1498)         exporter for "native"-type configuration directories.  It is
1499)         preceded by the info message PARSING_IV_PAYLOAD_MAC; see the
1500)         commentary there concerning the terms and thoughts on
1501)         translating them.
1502)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1503)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1504)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1505)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1506)         Buffer: {contents}
1507) 
1508)           \b
1509)           IV: {iv}
1510)           Payload: {payload}
1511)           MAC: {mac}
1512)         """,
1513)         flags='python-brace-format',
1514)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1515)     VAULT_NATIVE_PLAINTEXT = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1516)         comments=r"""
1517)         TRANSLATORS: This message is emitted by the vault configuration
1518)         exporter for "native"-type configuration directories.
1519)         "plaintext" is a cryptographic term.
1520)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1521)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1522)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1523)         single='Plaintext: {contents}',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1524)         flags='python-brace-format',
1525)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1526)     VAULT_NATIVE_PBKDF2_CALL = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1527)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1528)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1529)         context='Debug message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1530)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1531)         Master key derivation:
1532) 
1533)           \b
1534)           PBKDF2 call: PBKDF2-HMAC(password={password!r}, salt={salt!r}, iterations={iterations!r}, key_size={key_size!r}, algorithm={algorithm!r})
1535)           Result (binary): {raw_result}
1536)           Result (hex key): {result_key!r}
1537)         """,  # noqa: E501
1538)         flags='python-brace-format',
1539)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1540)     VAULT_NATIVE_V02_PAYLOAD_MAC_POSTPROCESSING = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1541)         comments=r"""
1542)         TRANSLATORS: This message is emitted by the vault configuration
1543)         exporter for "native"-type configuration directories.  It is
1544)         preceded by the info message PARSING_IV_PAYLOAD_MAC and the
1545)         debug message PARSING_NATIVE_PARSE_BUFFER; see the commentary
1546)         there concerning the terms and thoughts on translating them.
1547)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1548)     )(
1549)         context='Debug message',
1550)         single="""
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1551)         Postprocessing buffer (v0.2):
1552) 
1553)           \b
1554)           Payload: {payload} (decoded from base64)
1555)           MAC: {mac} (decoded from hex)
1556)         """,
1557)         flags='python-brace-format',
1558)     )
1559) 
1560) 
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1561) class InfoMsgTemplate(enum.Enum):
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1562)     ASSEMBLING_CONFIG_STRUCTURE = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1563)         comments=r"""
1564)         TRANSLATORS: This message is emitted by the vault configuration
1565)         exporter for "storeroom"-type configuration directories.  The
1566)         system stores entries in different "buckets" of a hash table.
1567)         After the respective items in the buckets have been decrypted,
1568)         we then have a list of item paths plus contents to populate.
1569)         This must be done in a certain order (we don't yet have an
1570)         existing directory tree to rely on, but rather must build it
1571)         on-the-fly), hence the term "assembling".
1572)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1573)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1574)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1575)         single='Assembling config structure',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1576)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1577)     CANNOT_LOAD_AS_VAULT_CONFIG = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1578)         comments=r"""
1579)         TRANSLATORS: "fmt" is a string such as "v0.2" or "storeroom",
1580)         indicating the format which we tried to load the vault
1581)         configuration as.
1582)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1583)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1584)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1585)         single='Cannot load {path!r} as a {fmt!s} vault configuration.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1586)         flags='python-brace-format',
1587)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1588)     CHECKING_CONFIG_STRUCTURE_CONSISTENCY = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1589)         comments=r"""
1590)         TRANSLATORS: This message is emitted by the vault configuration
1591)         exporter for "storeroom"-type configuration directories.  Having
1592)         "assembled" the configuration items according to their claimed
1593)         paths and contents, we then check if the assembled structure is
1594)         internally consistent.
1595)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1596)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1597)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1598)         single='Checking config structure consistency',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1599)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1600)     DECRYPTING_BUCKET = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1601)         comments=r"""
1602)         TRANSLATORS: This message is emitted by the vault configuration
1603)         exporter for "storeroom"-type configuration directories.  The
1604)         system stores entries in different "buckets" of a hash table.
1605)         We parse the directory bucket by bucket.  All buckets are
1606)         numbered in hexadecimal, and typically there are 32 buckets, so
1607)         2-digit hex numbers.
1608)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1609)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1610)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1611)         single='Decrypting bucket {bucket_number}',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1612)         flags='python-brace-format',
1613)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1614)     PARSING_MASTER_KEYS_DATA = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1615)         comments=r"""
1616)         TRANSLATORS: This message is emitted by the vault configuration
1617)         exporter for "storeroom"-type configuration directories.
1618)         `.keys` is a filename, from which data about the master keys for
1619)         this configuration are loaded.
1620)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1621)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1622)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1623)         single='Parsing master keys data from .keys',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1624)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1625)     PIP_INSTALL_EXTRA = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1626)         comments=r"""
1627)         TRANSLATORS: This message immediately follows an error message
1628)         about a missing library that needs to be installed.  The Python
1629)         Package Index (PyPI) supports declaring sets of optional
1630)         dependencies as "extras", so users installing from PyPI can
1631)         request reinstallation with a named "extra" being enabled.  This
1632)         would then let the installer take care of the missing libraries
1633)         automatically, hence this suggestion to PyPI users.
1634)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1635)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1636)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1637)         single="""
1638)         (For users installing from PyPI, see the {extra_name!r} extra.)
1639)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1640)         flags='python-brace-format',
1641)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1642)     SUCCESSFULLY_MIGRATED = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1643)         comments=r"""
1644)         TRANSLATORS: This info message immediately follows the "Using
1645)         deprecated v0.1-style ..." deprecation warning.
1646)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1647)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1648)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1649)         single='Successfully migrated to {path!r}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1650)         flags='python-brace-format',
1651)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1652)     VAULT_NATIVE_CHECKING_MAC = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1653)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1654)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1655)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1656)         single='Checking MAC',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1657)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1658)     VAULT_NATIVE_DECRYPTING_CONTENTS = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1659)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1660)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1661)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1662)         single='Decrypting contents',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1663)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1664)     VAULT_NATIVE_DERIVING_KEYS = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1665)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1666)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1667)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1668)         single='Deriving an encryption and signing key',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1669)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1670)     VAULT_NATIVE_PARSING_IV_PAYLOAD_MAC = _Commented(
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1671)         comments=r"""
1672)         TRANSLATORS: This message is emitted by the vault configuration
1673)         exporter for "native"-type configuration directories.  "IV"
1674)         means "initialization vector", and "MAC" means "message
1675)         authentication code".  They are specifically cryptographic
1676)         terms, as is "payload".  The acronyms "IV" and "MAC" are assumed
1677)         to be well-known to the English target audience, or at least
1678)         discoverable by them; they *are* asking for debug output, after
1679)         all.  Please use your judgement as to whether to translate this
1680)         term or not, expanded or not.
1681)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1682)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1683)         context='Info message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1684)         single='Parsing IV, payload and MAC from the file contents',
Marco Ricci Make debug and info message...

Marco Ricci authored 2 months ago

1685)     )
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1686) 
1687) 
1688) class WarnMsgTemplate(enum.Enum):
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1689)     EMPTY_SERVICE_NOT_SUPPORTED = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1690)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1691)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1692)         context='Warning message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1693)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1694)         An empty {service_metavar!s} is not supported by vault(1).
1695)         For compatibility, this will be treated as if SERVICE was not
1696)         supplied, i.e., it will error out, or operate on global settings.
1697)         """,
1698)         flags='python-brace-format',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1699)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1700)     EMPTY_SERVICE_SETTINGS_INACCESSIBLE = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1701)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1702)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1703)         context='Warning message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1704)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1705)         An empty {service_metavar!s} is not supported by vault(1).
1706)         The empty-string service settings will be inaccessible and
1707)         ineffective.  To ensure that vault(1) and {PROG_NAME!s} see the
1708)         settings, move them into the "global" section.
1709)         """,
1710)         flags='python-brace-format',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1711)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1712)     FAILED_TO_MIGRATE_CONFIG = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1713)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1714)         TRANSLATORS: "error" is supplied by the operating system
1715)         (errno/strerror).
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1716)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1717)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1718)         context='Warning message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1719)         single='Failed to migrate to {path!r}: {error!s}: {filename!r}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1720)         flags='python-brace-format',
1721)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1722)     GLOBAL_PASSPHRASE_INEFFECTIVE = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1723)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1724)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1725)         context='Warning message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1726)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1727)         Setting a global passphrase is ineffective
1728)         because a key is also set.
1729)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1730)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1731)     PASSPHRASE_NOT_NORMALIZED = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1732)         comments=r"""
1733)         TRANSLATORS: The key is a (vault) configuration key, in JSONPath
1734)         syntax, typically "$.global" for the global passphrase or
1735)         "$.services.service_name" or "$.services["service with spaces"]"
1736)         for the services "service_name" and "service with spaces",
1737)         respectively.  The form is one of the four Unicode normalization
1738)         forms: NFC, NFD, NFKC, NFKD.
1739) 
1740)         The asterisks are not special.  Please feel free to substitute
1741)         any other appropriate way to mark up emphasis of the word
1742)         "displays".
1743)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1744)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1745)         context='Warning message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1746)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1747)         The {key!s} passphrase is not {form!s}-normalized.  Its
1748)         serialization as a byte string may not be what you expect it to
1749)         be, even if it *displays* correctly.  Please make sure to
1750)         double-check any derived passphrases for unexpected results.
1751)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1752)         flags='python-brace-format',
1753)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1754)     SERVICE_NAME_INCOMPLETABLE = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1755)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1756)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1757)         context='Warning message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1758)         single="""
Marco Ricci Consolidate shell completio...

Marco Ricci authored 2 months ago

1759)         The service name {service!r} contains an ASCII control
1760)         character, which is not supported by our shell completion code.
1761)         This service name will therefore not be available for completion
1762)         on the command-line.  You may of course still type it in
1763)         manually in whatever format your shell accepts, but we highly
1764)         recommend choosing a different service name instead.
1765)         """,
1766)         flags='python-brace-format',
1767)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1768)     SERVICE_PASSPHRASE_INEFFECTIVE = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1769)         comments=r"""
1770)         TRANSLATORS: The key that is set need not necessarily be set at
1771)         the service level; it may be a global key as well.
1772)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1773)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1774)         context='Warning message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1775)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1776)         Setting a service passphrase is ineffective because a key is
1777)         also set: {service!s}.
1778)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1779)         flags='python-brace-format',
1780)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1781)     STEP_REMOVE_INEFFECTIVE_VALUE = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1782)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1783)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1784)         context='Warning message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1785)         single='Removing ineffective setting {path!s} = {old!s}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1786)         flags='python-brace-format',
1787)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1788)     STEP_REPLACE_INVALID_VALUE = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1789)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1790)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1791)         context='Warning message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1792)         single="""
1793)         Replacing invalid value {old!s} for key {path!s} with {new!s}.
1794)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1795)         flags='python-brace-format',
1796)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1797)     V01_STYLE_CONFIG = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1798)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1799)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1800)         context='Warning message :: Deprecation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1801)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1802)         Using deprecated v0.1-style config file {old!r}, instead of
1803)         v0.2-style {new!r}.  Support for v0.1-style config filenames
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1804)         will be removed in v1.0.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1805)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1806)         flags='python-brace-format',
1807)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1808)     V10_SUBCOMMAND_REQUIRED = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1809)         comments=r"""
1810)         TRANSLATORS: This deprecation warning may be issued at any
1811)         level, i.e. we may actually be talking about subcommands, or
1812)         sub-subcommands, or sub-sub-subcommands, etc., which is what the
1813)         "here" is supposed to indicate.
1814)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1815)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1816)         context='Warning message :: Deprecation',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1817)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1818)         A subcommand will be required here in v1.0.  See --help for
1819)         available subcommands.  Defaulting to subcommand "vault".
1820)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1821)     )
1822) 
1823) 
1824) class ErrMsgTemplate(enum.Enum):
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1825)     AGENT_REFUSED_LIST_KEYS = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1826)         comments=r"""
1827)         TRANSLATORS: "loaded keys" being keys loaded into the agent.
1828)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1829)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1830)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1831)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1832)         The SSH agent failed to or refused to supply a list of loaded keys.
1833)         """,
1834)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1835)     AGENT_REFUSED_SIGNATURE = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1836)         comments=r"""
1837)         TRANSLATORS: The message to be signed is the vault UUID, but
1838)         there's no space to explain that here, so ideally the error
1839)         message does not go into detail.
1840)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1841)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1842)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1843)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1844)         The SSH agent failed to or refused to issue a signature with the
1845)         selected key, necessary for deriving a service passphrase.
1846)         """,
1847)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1848)     CANNOT_CONNECT_TO_AGENT = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1849)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1850)         TRANSLATORS: "error" is supplied by the operating system
1851)         (errno/strerror).
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1852)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1853)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1854)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1855)         single='Cannot connect to the SSH agent: {error!s}: {filename!r}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1856)         flags='python-brace-format',
1857)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1858)     CANNOT_DECODEIMPORT_VAULT_SETTINGS = _Commented(
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1859)         comments=r"""
1860)         TRANSLATORS: "error" is supplied by the operating system
1861)         (errno/strerror).
1862)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1863)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1864)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1865)         single='Cannot import vault settings: cannot decode JSON: {error!s}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1866)         flags='python-brace-format',
1867)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1868)     CANNOT_EXPORT_VAULT_SETTINGS = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1869)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1870)         TRANSLATORS: "error" is supplied by the operating system
1871)         (errno/strerror).
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1872)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1873)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1874)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1875)         single='Cannot export vault settings: {error!s}: {filename!r}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1876)         flags='python-brace-format',
1877)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1878)     CANNOT_IMPORT_VAULT_SETTINGS = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1879)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1880)         TRANSLATORS: "error" is supplied by the operating system
1881)         (errno/strerror).
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1882)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1883)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1884)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1885)         single='Cannot import vault settings: {error!s}: {filename!r}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1886)         flags='python-brace-format',
1887)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1888)     CANNOT_LOAD_USER_CONFIG = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1889)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1890)         TRANSLATORS: "error" is supplied by the operating system
1891)         (errno/strerror).
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1892)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1893)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1894)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1895)         single='Cannot load user config: {error!s}: {filename!r}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1896)         flags='python-brace-format',
1897)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1898)     CANNOT_LOAD_VAULT_SETTINGS = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1899)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1900)         TRANSLATORS: "error" is supplied by the operating system
1901)         (errno/strerror).
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1902)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1903)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1904)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1905)         single='Cannot load vault settings: {error!s}: {filename!r}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1906)         flags='python-brace-format',
1907)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1908)     CANNOT_PARSE_AS_VAULT_CONFIG = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1909)         comments=r"""
1910)         TRANSLATORS: Unlike the "Cannot load {path!r} as a {fmt!s} vault
1911)         configuration." message, *this* error message is emitted when we
1912)         have tried loading the path in each of our supported formats,
1913)         and failed.  The user will thus see the above "Cannot load ..."
1914)         warning message potentially multiple times, and this error
1915)         message at the very bottom.
1916)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1917)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1918)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1919)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1920)         Cannot parse {path!r} as a valid vault-native configuration
1921)         file/directory.
1922)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1923)         flags='python-brace-format',
1924)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1925)     CANNOT_PARSE_AS_VAULT_CONFIG_OSERROR = _Commented(
Marco Ricci Replace strings in `derivep...

Marco Ricci authored 2 months ago

1926)         comments=r"""
1927)         TRANSLATORS: "error" is supplied by the operating system
1928)         (errno/strerror).
1929)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1930)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1931)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1932)         single=r"""
Marco Ricci Replace strings in `derivep...

Marco Ricci authored 2 months ago

1933)         Cannot parse {path!r} as a valid vault-native configuration
1934)         file/directory: {error!s}: {filename!r}.
1935)         """,
1936)         flags='python-brace-format',
1937)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1938)     CANNOT_STORE_VAULT_SETTINGS = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1939)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1940)         TRANSLATORS: "error" is supplied by the operating system
1941)         (errno/strerror).
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1942)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1943)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

1944)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1945)         single='Cannot store vault settings: {error!s}: {filename!r}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1946)         flags='python-brace-format',
1947)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1948)     CANNOT_UNDERSTAND_AGENT = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1949)         comments=r"""
1950)         TRANSLATORS: This error message is used whenever we cannot make
1951)         any sense of a response from the SSH agent because the response
1952)         is ill-formed (truncated, improperly encoded, etc.) or otherwise
1953)         violates the communications protocol.  Well-formed responses
1954)         that adhere to the protocol, even if they indicate that the
1955)         requested operation failed, are handled with a different error
1956)         message.
1957)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1958)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1959)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1960)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1961)         Cannot understand the SSH agent's response because it violates
1962)         the communications protocol.
1963)         """,
1964)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1965)     CANNOT_UPDATE_SETTINGS_NO_SETTINGS = _Commented(
Marco Ricci Fix phrasing of "Cannot upd...

Marco Ricci authored 2 months ago

1966)         comments=r"""
1967)         TRANSLATORS: The settings_type metavar contains translations for
1968)         either "global settings" or "service-specific settings"; see the
1969)         CANNOT_UPDATE_SETTINGS_METAVAR_SETTINGS_TYPE_GLOBAL and
1970)         CANNOT_UPDATE_SETTINGS_METAVAR_SETTINGS_TYPE_SERVICE entries.
1971)         The first sentence will thus read either "Cannot update the
1972)         global settings without any given settings." or "Cannot update
1973)         the service-specific settings without any given settings.".  You
1974)         may update this entry, and the two metavar entries, in any way
1975)         you see fit that achieves the desired translations of the first
1976)         sentence.
1977)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1978)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1979)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1980)         single=r"""
Marco Ricci Fix phrasing of "Cannot upd...

Marco Ricci authored 2 months ago

1981)         Cannot update the {settings_type!s} without any given settings.
1982)         You must specify at least one of --lower, ..., --symbol, or
1983)         --phrase or --key.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1984)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

1985)         flags='python-brace-format',
1986)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1987)     INVALID_USER_CONFIG = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1988)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

1989)         TRANSLATORS: "error" is supplied by the operating system
1990)         (errno/strerror).
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1991)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1992)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

1993)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1994)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

1995)         The user configuration file is invalid.  {error!s}: {filename!r}.
1996)         """,
1997)         flags='python-brace-format',
1998)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

1999)     INVALID_VAULT_CONFIG = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2000)         comments=r"""
2001)         TRANSLATORS: This error message is a reaction to a validator
2002)         function saying *that* the configuration is not valid, but not
2003)         *how* it is not valid.  The configuration file is principally
2004)         parsable, however.
2005)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2006)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2007)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2008)         single='Invalid vault config: {config!r}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2009)         flags='python-brace-format',
2010)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2011)     MISSING_MODULE = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2012)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2013)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2014)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2015)         single='Cannot load the required Python module {module!r}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2016)         flags='python-brace-format',
2017)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2018)     NO_AF_UNIX = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

2019)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2020)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

2021)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2022)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

2023)         Cannot connect to an SSH agent because this Python version does
2024)         not support UNIX domain sockets.
2025)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2026)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2027)     NO_KEY_OR_PHRASE = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

2028)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2029)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

2030)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2031)         single=r"""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

2032)         No passphrase or key was given in the configuration.  In this
2033)         case, the --phrase or --key argument is required.
2034)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2035)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2036)     NO_SSH_AGENT_FOUND = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2037)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2038)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2039)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2040)         single="""
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

2041)         Cannot find any running SSH agent because SSH_AUTH_SOCK is not set.
2042)         """,
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2043)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2044)     NO_SUITABLE_SSH_KEYS = _Commented(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

2045)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2046)     )(
Marco Ricci Sort arguments to translata...

Marco Ricci authored 2 months ago

2047)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2048)         single="""
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

2049)         The SSH agent contains no keys suitable for {PROG_NAME!s}.
2050)         """,  # noqa: RUF027
2051)         flags='python-brace-format',
2052)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2053)     PARAMS_MUTUALLY_EXCLUSIVE = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2054)         comments=r"""
2055)         TRANSLATORS: The params are long-form command-line option names.
2056)         Typical example: "--key is mutually exclusive with --phrase."
2057)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2058)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2059)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2060)         single='{param1!s} is mutually exclusive with {param2!s}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2061)         flags='python-brace-format',
2062)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2063)     PARAMS_NEEDS_SERVICE_OR_CONFIG = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2064)         comments=r"""
2065)         TRANSLATORS: The param is a long-form command-line option name,
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

2066)         the metavar is Label.VAULT_METAVAR_SERVICE.
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2067)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2068)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2069)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2070)         single='{param!s} requires a {service_metavar!s} or --config.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2071)         flags='python-brace-format',
2072)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2073)     PARAMS_NEEDS_SERVICE = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2074)         comments=r"""
2075)         TRANSLATORS: The param is a long-form command-line option name,
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

2076)         the metavar is Label.VAULT_METAVAR_SERVICE.
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2077)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2078)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2079)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2080)         single='{param!s} requires a {service_metavar!s}.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2081)         flags='python-brace-format',
2082)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2083)     PARAMS_NO_SERVICE = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2084)         comments=r"""
2085)         TRANSLATORS: The param is a long-form command-line option name,
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

2086)         the metavar is Label.VAULT_METAVAR_SERVICE.
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2087)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2088)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2089)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2090)         single='{param!s} does not take a {service_metavar!s} argument.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2091)         flags='python-brace-format',
2092)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2093)     SERVICE_REQUIRED = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

2094)         comments=r"""
Marco Ricci Fix some translation typos...

Marco Ricci authored 2 months ago

2095)         TRANSLATORS: The metavar is Label.VAULT_METAVAR_SERVICE.
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

2096)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2097)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2098)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2099)         single='Deriving a passphrase requires a {service_metavar!s}.',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

2100)         flags='python-brace-format',
2101)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2102)     SET_AND_UNSET_SAME_SETTING = _Commented(
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

2103)         comments=r"""
2104)         TRANSLATORS: The rephrasing "Attempted to unset and set the same
2105)         setting (--unset={setting!s} --{setting!s}=...) at the same
2106)         time." may or may not be more suitable as a basis for
2107)         translation instead.
2108)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2109)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2110)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2111)         single='Attempted to unset and set --{setting!s} at the same time.',
Marco Ricci Add more translatable strin...

Marco Ricci authored 2 months ago

2112)         flags='python-brace-format',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2113)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2114)     SSH_KEY_NOT_LOADED = _Commented(
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2115)         comments='',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2116)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2117)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2118)         single='The requested SSH key is not loaded into the agent.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2119)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2120)     USER_ABORTED_EDIT = _Commented(
Marco Ricci Add more translator's comments

Marco Ricci authored 2 months ago

2121)         comments=r"""
2122)         TRANSLATORS: The user requested to edit the notes for a service,
2123)         but aborted the request mid-editing.
2124)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2125)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2126)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2127)         single='Not saving any new notes: the user aborted the request.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2128)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2129)     USER_ABORTED_PASSPHRASE = _Commented(
Marco Ricci Add more translator's comments

Marco Ricci authored 2 months ago

2130)         comments=r"""
2131)         TRANSLATORS: The user was prompted for a master passphrase,
2132)         but aborted the request.
2133)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2134)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2135)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2136)         single='No passphrase was given; the user aborted the request.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2137)     )
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2138)     USER_ABORTED_SSH_KEY_SELECTION = _Commented(
Marco Ricci Add more translator's comments

Marco Ricci authored 2 months ago

2139)         comments=r"""
2140)         TRANSLATORS: The user was prompted to select a master SSH key,
2141)         but aborted the request.
2142)         """,
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2143)     )(
Marco Ricci Issue new context IDs for t...

Marco Ricci authored 2 months ago

2144)         context='Error message',
Marco Ricci Split off comments in trans...

Marco Ricci authored 2 months ago

2145)         single='No SSH key was selected; the user aborted the request.',
Marco Ricci Extract translatable log me...

Marco Ricci authored 2 months ago

2146)     )
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2147) 
2148) 
Marco Ricci Hide translation template e...

Marco Ricci authored 2 months ago

2149) MsgTemplate: TypeAlias = Union[
2150)     Label,
2151)     DebugMsgTemplate,
2152)     InfoMsgTemplate,
2153)     WarnMsgTemplate,
2154)     ErrMsgTemplate,
2155) ]
2156) MSG_TEMPLATE_CLASSES = (
2157)     Label,
2158)     DebugMsgTemplate,
2159)     InfoMsgTemplate,
2160)     WarnMsgTemplate,
2161)     ErrMsgTemplate,
2162) )
2163) 
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2164) DebugTranslations._load_cache()  # noqa: SLF001
2165) 
Marco Ricci Hide translation template e...

Marco Ricci authored 2 months ago

2166) 
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2167) 
2168) def _write_po_file(  # noqa: C901
2169)     fileobj: TextIO,
2170)     /,
2171)     *,
2172)     is_template: bool = True,
2173)     version: str = __version__,
2174) ) -> None:  # pragma: no cover
2175)     r"""Write a .po file to the given file object.
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2176) 
2177)     Assumes the file object is opened for writing and accepts string
2178)     inputs.  The file will *not* be closed when writing is complete.
2179)     The file *must* be opened in UTF-8 encoding, lest the file will
2180)     declare an incorrect encoding.
2181) 
2182)     This function crucially depends on all translatable strings
2183)     appearing in the enums of this module.  Certain parts of the
2184)     .po header are hard-coded, as is the source filename.
2185) 
Marco Ricci Update ruff to v0.8.x, refo...

Marco Ricci authored 2 months ago

2186)     """  # noqa: DOC501
Marco Ricci Hide translation template e...

Marco Ricci authored 2 months ago

2187)     entries: dict[str, dict[str, MsgTemplate]] = {}
2188)     for enum_class in MSG_TEMPLATE_CLASSES:
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2189)         for member in enum_class.__members__.values():
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2190)             value = cast('TranslatableString', member.value)
2191)             ctx = value.l10n_context
2192)             msg = value.singular
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2193)             if (
2194)                 msg in entries.setdefault(ctx, {})
2195)                 and entries[ctx][msg] != member
2196)             ):
Marco Ricci Update ruff to v0.8.x, refo...

Marco Ricci authored 2 months ago

2197)                 raise AssertionError(  # noqa: TRY003
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2198)                     f'Duplicate entry for ({ctx!r}, {msg!r}): '  # noqa: EM102
2199)                     f'{entries[ctx][msg]!r} and {member!r}'
2200)                 )
2201)             entries[ctx][msg] = member
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2202)     build_time = datetime.datetime.now().astimezone()
Marco Ricci Support SOURCE_DATE_EPOCH f...

Marco Ricci authored 2 months ago

2203)     if os.environ.get('SOURCE_DATE_EPOCH'):
2204)         try:
2205)             source_date_epoch = int(os.environ['SOURCE_DATE_EPOCH'])
2206)         except ValueError as exc:
2207)             err_msg = 'Cannot parse SOURCE_DATE_EPOCH'
2208)             raise RuntimeError(err_msg) from exc
2209)         else:
2210)             build_time = datetime.datetime.fromtimestamp(
2211)                 source_date_epoch,
2212)                 tz=datetime.timezone.utc,
2213)             )
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2214)     if is_template:
2215)         header = (
2216)             inspect.cleandoc(rf"""
2217)             # English translation for {PROG_NAME!s}.
2218)             # Copyright (C) {build_time.strftime('%Y')} AUTHOR
2219)             # This file is distributed under the same license as {PROG_NAME!s}.
2220)             # AUTHOR <someone@example.com>, {build_time.strftime('%Y')}.
2221)             #
2222)             msgid ""
2223)             msgstr ""
2224)             """).removesuffix('\n')
2225)             + '\n'
2226)         )
2227)     else:
2228)         header = (
2229)             inspect.cleandoc(rf"""
2230)             # English debug translation for {PROG_NAME!s}.
2231)             # Copyright (C) {build_time.strftime('%Y')} {__author__}
2232)             # This file is distributed under the same license as {PROG_NAME!s}.
2233)             #
2234)             msgid ""
2235)             msgstr ""
2236)             """).removesuffix('\n')
2237)             + '\n'
2238)         )
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2239)     fileobj.write(header)
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2240)     po_info = {
2241)         'Project-Id-Version': f'{PROG_NAME} {version}',
2242)         'Report-Msgid-Bugs-To': 'software@the13thletter.info',
2243)         'PO-Revision-Date': build_time.strftime('%Y-%m-%d %H:%M%z'),
2244)         'MIME-Version': '1.0',
2245)         'Content-Type': 'text/plain; charset=UTF-8',
2246)         'Content-Transfer-Encoding': '8bit',
2247)         'Plural-Forms': 'nplurals=2; plural=(n != 1);',
2248)     }
2249)     if is_template:
2250)         po_info.update({
2251)             'POT-Creation-Date': build_time.strftime('%Y-%m-%d %H:%M%z'),
2252)             'Last-Translator': 'AUTHOR <someone@example.com>',
2253)             'Language': 'en',
2254)             'Language-Team': 'English',
2255)         })
2256)     else:
2257)         po_info.update({
2258)             'Last-Translator': __author__,
2259)             'Language': 'en_DEBUG',
2260)             'Language-Team': 'English',
2261)         })
2262)     print(*_format_po_info(po_info), sep='\n', end='\n', file=fileobj)
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2263)     for _ctx, subdict in sorted(entries.items()):
2264)         for _msg, enum_value in sorted(
2265)             subdict.items(),
2266)             key=lambda kv: str(kv[1]),
2267)         ):
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

2268)             value = cast('TranslatableString', enum_value.value)
2269)             value2 = value.maybe_without_filename()
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2270)             fileobj.writelines(
2271)                 _format_po_entry(
2272)                     enum_value, is_debug_translation=not is_template
2273)                 )
2274)             )
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

2275)             if value != value2:
2276)                 fileobj.writelines(
2277)                     _format_po_entry(
2278)                         enum_value,
2279)                         is_debug_translation=not is_template,
2280)                         transformed_string=value2,
2281)                     )
2282)                 )
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2283) 
2284) 
2285) def _format_po_info(
2286)     data: Mapping[str, Any],
2287)     /,
2288) ) -> Iterator[str]:  # pragma: no cover
2289)     sortorder = [
2290)         'project-id-version',
2291)         'report-msgid-bugs-to',
2292)         'pot-creation-date',
2293)         'po-revision-date',
2294)         'last-translator',
2295)         'language',
2296)         'language-team',
2297)         'mime-version',
2298)         'content-type',
2299)         'content-transfer-encoding',
2300)         'plural-forms',
2301)     ]
2302) 
2303)     def _sort_position(s: str, /) -> int:
2304)         n = len(sortorder)
2305)         for i, x in enumerate(sortorder):
2306)             if s.lower().rstrip(':') == x:
2307)                 return i
2308)         return n
2309) 
2310)     for key in sorted(data.keys(), key=_sort_position):
2311)         value = data[key]
2312)         line = f"{key}: {value}\n"
2313)         yield _cstr(line)
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2314) 
2315) 
2316) def _format_po_entry(
Marco Ricci Hide translation template e...

Marco Ricci authored 2 months ago

2317)     enum_value: MsgTemplate,
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2318)     /,
2319)     *,
2320)     is_debug_translation: bool = False,
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

2321)     transformed_string: TranslatableString | None = None,
Marco Ricci Fix coverage

Marco Ricci authored 2 months ago

2322) ) -> tuple[str, ...]:  # pragma: no cover
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2323)     ret: list[str] = ['\n']
Marco Ricci Properly support trimmed fi...

Marco Ricci authored 2 months ago

2324)     ts = transformed_string or cast('TranslatableString', enum_value.value)
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2325)     if ts.translator_comments:
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2326)         comments = ts.translator_comments.splitlines(False)  # noqa: FBT003
2327)         comments.extend(['', f'Message-ID: {enum_value}'])
2328)     else:
2329)         comments = [f'TRANSLATORS: Message-ID: {enum_value}']
2330)     ret.extend(f'#. {line}\n' for line in comments)
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2331)     if ts.flags:
2332)         ret.append(f'#, {", ".join(sorted(ts.flags))}\n')
2333)     if ts.l10n_context:
2334)         ret.append(f'msgctxt {_cstr(ts.l10n_context)}\n')
2335)     ret.append(f'msgid {_cstr(ts.singular)}\n')
2336)     if ts.plural:
2337)         ret.append(f'msgid_plural {_cstr(ts.plural)}\n')
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2338)     value = (
2339)         DebugTranslations().pgettext(ts.l10n_context, ts.singular)
2340)         if is_debug_translation
2341)         else ''
2342)     )
2343)     ret.append(f'msgstr {_cstr(value)}\n')
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2344)     return tuple(ret)
2345) 
2346) 
Marco Ricci Fix coverage

Marco Ricci authored 2 months ago

2347) def _cstr(s: str) -> str:  # pragma: no cover
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2348)     def escape(string: str) -> str:
2349)         return string.translate({
2350)             0: r'\000',
2351)             1: r'\001',
2352)             2: r'\002',
2353)             3: r'\003',
2354)             4: r'\004',
2355)             5: r'\005',
2356)             6: r'\006',
2357)             7: r'\007',
2358)             8: r'\b',
2359)             9: r'\t',
2360)             10: r'\n',
2361)             11: r'\013',
2362)             12: r'\f',
2363)             13: r'\r',
2364)             14: r'\016',
2365)             15: r'\017',
2366)             ord('"'): r'\"',
2367)             ord('\\'): r'\\',
2368)             127: r'\177',
2369)         })
2370) 
2371)     return '\n'.join(
2372)         f'"{escape(line)}"'
Marco Ricci Generate debug translations...

Marco Ricci authored 2 months ago

2373)         for line in s.splitlines(True) or ['']  # noqa: FBT003
Marco Ricci Add a writer function for d...

Marco Ricci authored 2 months ago

2374)     )
2375) 
2376) 
2377) if __name__ == '__main__':