1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-08-05 13:26:57 +00:00

fixup! feat(python): support 32-bit translation blob container lengths

This commit is contained in:
Roman Zeyde 2025-04-30 21:51:13 +03:00
parent ee2940c8f9
commit 03e5c0d155

View File

@ -18,7 +18,7 @@ To upload blobs with foreign-language translations, use `trezorctl set language
To switch the language back into `english`, use `trezorctl set language -r`.
# Translations blob format
# Translations blob format (v1)
| offset | length | name | description | hash |
|-------:|-------------------:|-------------------|---------------------------------------------------|--------|
@ -92,3 +92,22 @@ the interpretation of the payload.
| ? | ? | sentinel\_offset | offset past the end of last element |
| | ? | glyphs | concatenation of glyph bitmaps |
| ? | 0-3 | padding | padding (any value) for alignment purposes |
# Previous versions
## Translations blob format (v0)
| offset | length | name | description | hash |
|-------:|-------------------:|-------------------|---------------------------------------------------|--------|
| 0x0000 | 6 | magic | blob magic `TRTR00` | |
| 0x0006 | 2 | container\_len | total length (up to padding) | |
| 0x0008 | 2 | header\_len | header length | |
| 0x000A | 2 | header\_magic | header magic `TR` | |
| 0x000C | 8 | language\_tag | BCP 47 language tag (e.g. `cs-CZ`, `en-US`, ...) | header |
| 0x0014 | 4 | version | 4 bytes of version (major, minor, patch, build) | header |
| 0x0018 | 2 | data\_len | length of the raw data, i.e. translations + fonts | header |
| 0x001A | 32 | data\_hash | SHA-256 hash of the data | header |
| 0x003A | `header_len - 48` | ignored | reserved for forward compatibility | header |
| ? | 2 | proof\_len | length of merkle proof and signature in bytes | |
| ? | 1 | proof\_count | number of merkle proof items following | |
| ? | `proof_count * 20` | proof | array of SHA-256 hashes | |