Recent commits to derivepassphrase.git (0e8eaab68ebf814292a967aecf1315839baadd4d)
https://git.schokokeks.org/derivepassphrase.git/tree/0e8eaab68ebf814292a967aecf1315839baadd4d
Recent commits feed provided by GitList.Issue new context IDs for translatable messagesUse an ID system similar to the trove classifiers used the Python
packaging authority.
(Enum members were not reordered according to this new ID system.)
https://git.schokokeks.org/derivepassphrase.git/commit/0e8eaab68ebf814292a967aecf1315839baadd4d
software@the13thletter.info (Marco Ricci)Mon, 13 Jan 2025 17:36:18 +01000e8eaab68ebf814292a967aecf1315839baadd4dFix debug output of messages with trimmed filenamesWe do need to keep track of the trimming status when adding those
variants to the cache, because the debug output formatter will discover
the trimmed fields in the template anyway and otherwise attempt to emit
them. So store the set of trimmed fields in the cache for each message,
and pass it on to the formatter. We will assume that if a field gets
trimmed, then it had a `None` value, which is true for all the fields we
currently support trimming.
https://git.schokokeks.org/derivepassphrase.git/commit/ede0e19df43c7bfd4d20199f918afc62df29e3b0
software@the13thletter.info (Marco Ricci)Mon, 13 Jan 2025 17:28:25 +0100ede0e19df43c7bfd4d20199f918afc62df29e3b0Support SOURCE_DATE_EPOCH for .po file generationCopyright messages and the creation date will bear the source date epoch
value.
https://git.schokokeks.org/derivepassphrase.git/commit/61a16b1ca63e9019311836f286b6c2ae713710fd
software@the13thletter.info (Marco Ricci)Mon, 13 Jan 2025 16:16:12 +010061a16b1ca63e9019311836f286b6c2ae713710fdMove translation string preparation into the TranslatableString classSave for a few factory functions to make enum definitions more readable,
the normalization machinery for translatable strings belongs in their
class. I originally coded this separately because I mistakenly believed
that `typing.NamedTuple` classes cannot contain methods of their own.
https://git.schokokeks.org/derivepassphrase.git/commit/e7887804003dc277a9095956ffb7a44cb90608f4
software@the13thletter.info (Marco Ricci)Mon, 13 Jan 2025 15:49:08 +0100e7887804003dc277a9095956ffb7a44cb90608f4Properly support trimmed filenames in translation stringsThe debug translations object and the `.po` file writer now properly
support translation strings with the filename portion trimmed.
Effectively, these are separate translation strings, and as such they
need separate cache entries and separate `.po` entries.
To fully support this, the translatable string itself now knows how to
trim the filename replacement field, which the debug translations object
now honors. The `.po` writer still needs the enum name to construct the
message ID, but now it takes an optional transformed string to use
instead of the enum value, if given.
One additional minor fix to the debug translator: some of the emitted
translated messages interpolate other translated messages (such as
metavars). Thus when interpolating arguments, if the argument is
a translated string, then stringify it before interpolation. This
avoids printing the `repr` of the inner translated string, which is
otherwise very common for debug translation output.
https://git.schokokeks.org/derivepassphrase.git/commit/c0b2e8ab4fd0a0ff9dd1a158502d4f70c85d7721
software@the13thletter.info (Marco Ricci)Mon, 13 Jan 2025 14:50:03 +0100c0b2e8ab4fd0a0ff9dd1a158502d4f70c85d7721Generate debug translations automatically, in code and on the command-lineIntroduce a `DebugTranslations` object that returns the enum name of the
given message as its translation, including the parameters to be
interpolated.
Rename the `_format_pot_file` to `_format_po_file` and expand it to emit
either a template file or a debug translation `.po` file. This differs
slightly in the header, and in whether the translations are empty by
default or filled in with the enum name. The ad-hoc command-line
interface now accepts options to select the template or the debug
translation, and a way to explicitly override the declared version of
the `.po` template.
Because of negative experience with the `poedit` translations editor,
the message-ID (enum name) is no longer embedded as a (pseudo-)location
of the message string, but rather embedded as a translators' comment.
https://git.schokokeks.org/derivepassphrase.git/commit/7986212a1f6a9ab0b4ba5d983e8a9846c90b47ea
software@the13thletter.info (Marco Ricci)Mon, 13 Jan 2025 14:19:27 +01007986212a1f6a9ab0b4ba5d983e8a9846c90b47eaHide translation template enums behind a type aliasThis is getting annoying to type, and error-prone to update.
https://git.schokokeks.org/derivepassphrase.git/commit/7483aceb6e937bda5c0128129a4076b4df197d06
software@the13thletter.info (Marco Ricci)Mon, 13 Jan 2025 14:09:49 +01007483aceb6e937bda5c0128129a4076b4df197d06Merge topic branch 'harmonize-exporter-interface' into master* t/harmonize-exporter-interface:
Add changelog entry for export handler interface harmonization
Test the export handler dispatcher as well as the handlers directly
Harmonize the interface for both vault config export handlers
Accept all bytes-like objects as byte strings in the export subcommand
https://git.schokokeks.org/derivepassphrase.git/commit/a0fe6ac8f03daa0df66dfedcf7071732f79ae45b
software@the13thletter.info (Marco Ricci)Mon, 13 Jan 2025 12:40:34 +0100a0fe6ac8f03daa0df66dfedcf7071732f79ae45bAdd changelog entry for export handler interface harmonization
https://git.schokokeks.org/derivepassphrase.git/commit/9b9febbf4861ef7d6917367965677a58fd7ce1ad
software@the13thletter.info (Marco Ricci)Sat, 11 Jan 2025 20:06:57 +01009b9febbf4861ef7d6917367965677a58fd7ce1adTest the export handler dispatcher as well as the handlers directlyFor each test calling an export handler directly, also perform the test
when calling the export handler dispatcher.
https://git.schokokeks.org/derivepassphrase.git/commit/d25cdbdd2494feabfb29e8d8a6d8f695475bf7a2
software@the13thletter.info (Marco Ricci)Sat, 11 Jan 2025 19:04:57 +0100d25cdbdd2494feabfb29e8d8a6d8f695475bf7a2