https://git.schokokeks.org/derivepassphrase.git/tree/b65b618949ca77aa0ad481ae2a517d0b469a4d9fRecent commits to derivepassphrase.git (b65b618949ca77aa0ad481ae2a517d0b469a4d9f)2025-01-15T20:09:20+01:00tag:gitlist.org,2012:commit/b65b618949ca77aa0ad481ae2a517d0b469a4d9fFix formatting and linting issues2025-01-15T20:09:20+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/e9c19afa34ddb3a061c243fc8b5eeca83b3f6ba5Merge topic branch 'l10n-machinery' into master2025-01-15T19:31:19+01:00Marco Riccisoftware@the13thletter.info
<pre>* t/l10n-machinery:
Convert translatable string construction in enums to positional args only
Normalize and unwrap translatable strings (messages and comments)
Add hypothesis-based tests for l10n machinery
Fix obvious coverage failures among the translatable strings machinery
Split off comments in translatable string enum value constructor
Sort arguments to translatable string enum value constructor
Issue new context IDs for translatable messages
Fix debug output of messages with trimmed filenames
Support SOURCE_DATE_EPOCH for .po file generation
Move translation string preparation into the TranslatableString class
Properly support trimmed filenames in translation strings
Generate debug translations automatically, in code and on the command-line
Hide translation template enums behind a type alias
</pre>
tag:gitlist.org,2012:commit/e1e0c1a37cd712bd6a346820d67ba2e2d24400a3Convert translatable string construction in enums to positional args only2025-01-15T19:23:47+01:00Marco Riccisoftware@the13thletter.info
<pre>This too makes the rendered code more readable by elliding repetitive
information.
</pre>
tag:gitlist.org,2012:commit/f38b80e71b72c46036ddccd2dc7c5cfbb6a4daf2Normalize and unwrap translatable strings (messages and comments)2025-01-15T16:01:44+01:00Marco Riccisoftware@the13thletter.info
<pre>Rewrite one-paragraph comments and strings as one-line strings, with
implicit line continuation if necessary. This is how they would appear
anyway if printed via `repr`, and in the `mkdocstrings`-extracted API
documentation. Further trim the "TRANSLATORS:" prefix from comments; it
is added automatically during `.po` file writing as necessary.
Some minor changes to the docstrings have also been made:
* `Label`
- `VAULT_METAVAR_SERVICE`: Trim `as "service_metavar"` from the`
comments for consistency.
* DebugMsgTemplate
- `VAULT_NATIVE_EVP_BYTESTOKEY_RESULT`: Use the correct message.
- `VAULT_NATIVE_CHECKING_MAC_DETAILS`,
`VAULT_NATIVE_V02_PAYLOAD_MAC_POSTPROCESSING`: Fix reference to
`InfoMsgTemplate.VAULT_NATIVE_PARSING_IV_PAYLOAD_AND_MAC`
* InfoMsgTemplate
- `VAULT_NATIVE_PARSING_IV_PAYLOAD_MAC`: Use "these terms" instead
of "this term".
The diff is hard to read in normal "line" mode, but much clearer if read
in "word-diff" mode (with quotes also treated as whitespace).
</pre>
tag:gitlist.org,2012:commit/d21c0bed73ae46bd06b004f5c0c1621b729e6fabAdd hypothesis-based tests for l10n machinery2025-01-14T03:06:58+01:00Marco Riccisoftware@the13thletter.info
<pre>This specifically tests the `DebugTranslations` object, and various
asserted properties of `TranslatedStrings` and `TranslatableStrings`
such as hashability and equality under various modifications (e.g.
trimming the filename).
To further support this, `TranslatedStrings` now know their own format
string replacement fields (except for `%`-formatted strings), and the
`DebugTranslations` class now uses that knowledge instead of duplicating
it inline. Additionally, because `TranslatedString`s are always
interpolated, there is a new `TranslatedString.constant` constructor
for `str` templates which ensures that nothing is interpolated.
Some code branches previously excluded from coverage are now considered
again.
</pre>
tag:gitlist.org,2012:commit/5507510b6e8800ac739fd5ce5de3b3a6d771dce4Fix obvious coverage failures among the translatable strings machinery2025-01-13T23:28:32+01:00Marco Riccisoftware@the13thletter.info
<pre>Use examples in doctests where it makes didactical sense.
</pre>
tag:gitlist.org,2012:commit/3d077627bc7f337b394d9a265c54b6042df3f4e8Split off comments in translatable string enum value constructor2025-01-13T22:44:58+01:00Marco Riccisoftware@the13thletter.info
<pre>Now that the constructor for translatable string enum values is
homogeneous, split the constructor into a curried two-step function
call. This should hopefully look much better visually separated when
rendered in the API documentation than the current solution, because the
rendering normalizes the multiline strings into single-line strings with
escape sequences.
(This commit only splits the arguments into the two-step function call;
the arguments have not yet been trimmed or normalized.)
</pre>
tag:gitlist.org,2012:commit/8075959562a0ba81ec2468af6e470e85f720f5dfSort arguments to translatable string enum value constructor2025-01-13T18:05:33+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/0e8eaab68ebf814292a967aecf1315839baadd4dIssue new context IDs for translatable messages2025-01-13T17:36:18+01:00Marco Riccisoftware@the13thletter.info
<pre>Use an ID system similar to the trove classifiers used the Python
packaging authority.
(Enum members were not reordered according to this new ID system.)
</pre>
tag:gitlist.org,2012:commit/ede0e19df43c7bfd4d20199f918afc62df29e3b0Fix debug output of messages with trimmed filenames2025-01-13T17:28:25+01:00Marco Riccisoftware@the13thletter.info
<pre>We 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.
</pre>