From c17bf5dcb4af6774cb555e616fdfb9f3cfa57594 Mon Sep 17 00:00:00 2001 From: le king fu Date: Tue, 13 Oct 2026 20:01:11 -0400 Subject: [PATCH] fix(balance): translate the best-effort badge of the price fetch button The small badge next to "Fetch price" on a stock rendered the literal "best-effort" without going through t, so French users saw English. It now reads balance.priceFetching.bestEffortBadge ("non garanti" in French). Raised by the review of PR #435 (suggestion 4). Refs #389 Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.fr.md | 1 + CHANGELOG.md | 1 + src/components/balance/PriceFetchControl.test.tsx | 2 ++ src/components/balance/PriceFetchControl.tsx | 2 +- src/i18n/locales/en.json | 1 + src/i18n/locales/fr.json | 1 + 6 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.fr.md b/CHANGELOG.fr.md index 85497ba..8d2f2bb 100644 --- a/CHANGELOG.fr.md +++ b/CHANGELOG.fr.md @@ -10,6 +10,7 @@ ### Corrigé - La page d'erreur du démarrage ne reste plus affichée quand le profil finit de s'ouvrir après le délai de 10 secondes : l'application s'affiche dès que le profil est ouvert (#395). +- Le petit badge à côté du bouton « Récupérer le prix » d'un titre boursier, dans le Bilan, affiche désormais « non garanti » au lieu de l'anglais « best-effort » (#389). - Les installations faites depuis le paquet `.rpm` reçoivent désormais les mises à jour automatiques. Le manifeste de mise à jour ne listait que le `.deb`, qu'une installation `.rpm` téléchargeait puis refusait ; il liste maintenant chaque paquet Linux sous sa propre clé. Les installations `.rpm` existantes n'ont rien à réinstaller : elles recevront la prochaine version (vérifié sur le paquet v0.17.1 publié). Les instructions de téléchargement de la page de release ne mentionnent plus d'AppImage, qui n'est pas construite, et nomment désormais le `.rpm`. Le manifeste n'a plus d'entrée Linux générique : les AppImage des versions 0.4.3 à 0.4.5, qui ne savaient pas installer le `.deb` qu'elle désignait et en étaient cassées, affichent désormais une erreur à la vérification des mises à jour ; installez plutôt le paquet `.deb` ou `.rpm` (#320). ### Sécurité diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e7eb6e..64d33cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ### Fixed - The startup error page no longer stays on screen when the profile finishes opening after the 10-second delay: the app now shows as soon as the profile is open (#395). +- In French, the small badge next to the "Fetch price" button of a stock in the Balance sheet now reads "non garanti" instead of the English "best-effort" (#389). - Installs from the `.rpm` package now receive automatic updates. The update manifest only listed the `.deb`, which an `.rpm` install downloaded and then refused; it now lists each Linux package under its own key. Existing `.rpm` installs need no reinstall: they will receive the next version (checked on the published v0.17.1 package). The download instructions of the release page no longer mention an AppImage, which is not built, and now name the `.rpm`. The manifest no longer has a generic Linux entry: the AppImage builds of 0.4.3 to 0.4.5, which could not install the `.deb` it pointed to and were broken by it, now report an error when checking for updates instead; install the `.deb` or `.rpm` package (#320). ### Security diff --git a/src/components/balance/PriceFetchControl.test.tsx b/src/components/balance/PriceFetchControl.test.tsx index 2090daf..d70ca60 100644 --- a/src/components/balance/PriceFetchControl.test.tsx +++ b/src/components/balance/PriceFetchControl.test.tsx @@ -378,6 +378,8 @@ describe("PriceFetchControl — displayed texts", () => { expect(html).toContain('aria-label="t(balance.priceFetching.button)"'); expect(html).toContain(">t(balance.priceFetching.button)<"); expect(html).toContain(">t(balance.priceFetching.bestEffortNotice)<"); + expect(html).toContain(">t(balance.priceFetching.bestEffortBadge)<"); + expect(html).not.toContain(">best-effort<"); expect(html).toContain('aria-label="t(common.close)"'); }); }); diff --git a/src/components/balance/PriceFetchControl.tsx b/src/components/balance/PriceFetchControl.tsx index a344d6c..f8f32c2 100644 --- a/src/components/balance/PriceFetchControl.tsx +++ b/src/components/balance/PriceFetchControl.tsx @@ -201,7 +201,7 @@ export default function PriceFetchControl({ {/* Best-effort badge (stock only) */} {assetType === "stock" && ( - best-effort + {t("balance.priceFetching.bestEffortBadge")} )} diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index edd788f..f3fda95 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -2293,6 +2293,7 @@ "button": "Fetch price", "tooltipNotPremium": "Available with premium subscription", "bestEffortNotice": "Source not guaranteed, may be unavailable. Manual input remains primary.", + "bestEffortBadge": "best-effort", "attribution": "via Maximus on {{date}}", "consent": { "title": "Price fetching via Maximus", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 4e924a3..8b83dcb 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -2293,6 +2293,7 @@ "button": "Récupérer le prix", "tooltipNotPremium": "Disponible avec abonnement premium", "bestEffortNotice": "Source non garantie, peut être indisponible. La saisie manuelle reste prioritaire.", + "bestEffortBadge": "non garanti", "attribution": "via Maximus le {{date}}", "consent": { "title": "Récupération de prix via Maximus",