Files
houseplan-card/dist/houseplan-assets.json
T
Codex 89fa8ca588 feat: French localization — community contribution by @OUARZA (#371)
The complete French dictionary contributed in #371 (1026 keys, zero empty
values, zero placeholder mismatches) lands as the second lazy locale on the
fr.ts + one static entry. The contributor's snapshot predated this week's
keys, so the 121 additions (device inbox #29, backdrop guard #39, junction
limits #331, lazy-editor toasts #353/#354, furniture #159) are translated
in this commit and flagged in the issue for the author's review; 21 stale
pre-#62 keys are dropped; key order follows en.json. The HA integration
translations file ships as contributed (full parity).

Wiring: loadFrench + __HOUSEPLAN_FR_RETRY_ASSET__ with the same 1/1
replacement guarantee as German; locale roles and localeRoots generalise to
(de|fr); the stale-entry fallback panel (#353) gains its French branch —
the r1 reviewer caught that this second hardcoded language list would have
silently degraded French to English on a cached entry. French profiles
(fr, fr-FR, fr-CA, fr-BE, fr-CH) select automatically.

Proofs: the registry-driven parity suite covers fr by construction
(1128/1128 keys); French analogues of both German-personal tests (product
glossary + non-translation scan with a reviewed equal-to-English
allow-list of 22 legitimate homographs); smoke_french_locale — fr-CA
profile commits French from the real bundle, one lazy chunk per page,
initial graph free of fr; smoke_entry_stale gains the French run; a
registry mutant drops the fr entry and is killed by the smoke. Initial
view: +0.5 KB (registry entry + fallback branch); the 23 KB dictionary is
lazy.

Issue: #371
User-Visible: yes
2026-08-29 13:39:21 +03:00

128 lines
4.0 KiB
JSON

{
"schema": 1,
"fingerprint": "0f7edde68a64b82e24b51acbb2ba3050dbe2684c43fd3cb3428ee481b9de3d0f",
"entry": "houseplan-card.js",
"initialViewFiles": [
"houseplan-assets/houseplan-card-DVfaouS8.js",
"houseplan-card.js"
],
"initialViewGzipBytes": 273927,
"lazyFiles": [
"houseplan-assets/backdrop-pick-DIYZEnDX.js",
"houseplan-assets/de-BNdN-RRm.js",
"houseplan-assets/editor-D4sIJVSN.js",
"houseplan-assets/fr-Ct3lI4wy.js",
"houseplan-assets/houseplan-editor-runtime-CdrLJACD.js",
"houseplan-assets/houseplan-onboarding-runtime-l_2tbTu9.js"
],
"lazyGzipBytes": 191420,
"lazyEditorFiles": [
"houseplan-assets/backdrop-pick-DIYZEnDX.js",
"houseplan-assets/editor-D4sIJVSN.js",
"houseplan-assets/houseplan-editor-runtime-CdrLJACD.js"
],
"lazyEditorGzipBytes": 139724,
"lazyOnboardingFiles": [
"houseplan-assets/backdrop-pick-DIYZEnDX.js",
"houseplan-assets/houseplan-onboarding-runtime-l_2tbTu9.js"
],
"lazyOnboardingGzipBytes": 9450,
"lazyLocaleFiles": [
"houseplan-assets/de-BNdN-RRm.js",
"houseplan-assets/fr-Ct3lI4wy.js"
],
"lazyLocaleGzipBytes": 45200,
"files": [
{
"path": "houseplan-assets/backdrop-pick-DIYZEnDX.js",
"sha256": "36d8b3a260416b62b4374b6919a0351609f305a2a520bdd66730d30b9771b06a",
"rawBytes": 6967,
"gzipBytes": 2954,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DVfaouS8.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/de-BNdN-RRm.js",
"sha256": "80b714e7674f479be1ab8f85ec17e5837c5fbb4b443782ceaf09d75dfb0aeff8",
"rawBytes": 74912,
"gzipBytes": 22810,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/editor-D4sIJVSN.js",
"sha256": "4fae099689ad8b84e00f316674ef4ffa7453b05724c3cc5e4bfd0c93a393aad6",
"rawBytes": 3831,
"gzipBytes": 1581,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-DVfaouS8.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/fr-Ct3lI4wy.js",
"sha256": "27ce761a57309ee4a21cfed2e0c8dd4923268e397024b1e654313ae88b5a0c94",
"rawBytes": 77034,
"gzipBytes": 22390,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/houseplan-card-DVfaouS8.js",
"sha256": "358f2f5044dce46a9ba33638245d94f156b5d5a713149c0af18cd81bf75e5745",
"rawBytes": 964793,
"gzipBytes": 273134,
"isEntry": false,
"imports": [],
"dynamicImports": [
"houseplan-assets/de-BNdN-RRm.js",
"houseplan-assets/editor-D4sIJVSN.js",
"houseplan-assets/fr-Ct3lI4wy.js",
"houseplan-assets/houseplan-editor-runtime-CdrLJACD.js",
"houseplan-assets/houseplan-onboarding-runtime-l_2tbTu9.js"
]
},
{
"path": "houseplan-assets/houseplan-editor-runtime-CdrLJACD.js",
"sha256": "c2da6c50e1d8878574d7c5b9a6e46ee2d3db32dca6ae1c9a0505f873028dec93",
"rawBytes": 523581,
"gzipBytes": 135189,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-DIYZEnDX.js",
"houseplan-assets/houseplan-card-DVfaouS8.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/houseplan-onboarding-runtime-l_2tbTu9.js",
"sha256": "044745db6ea2019526757e130a79a6dbb8003f434d42f99eedffc2a2dd0dcefa",
"rawBytes": 26195,
"gzipBytes": 6496,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-DIYZEnDX.js",
"houseplan-assets/houseplan-card-DVfaouS8.js"
],
"dynamicImports": []
},
{
"path": "houseplan-card.js",
"sha256": "d36cadb50f439e2fe8cd08daf0357a0cc48dd9c2f221f081a7705b7bc6de4384",
"rawBytes": 1183,
"gzipBytes": 793,
"isEntry": true,
"imports": [
"houseplan-assets/houseplan-card-DVfaouS8.js"
],
"dynamicImports": []
}
]
}