Siphonight ae14cee07b v1.13.0 : reco prédictive — valeur E2 au creux, régime poolé entre traitements identiques, cible de creux personnelle
- predictedE2 : valeur brute au creux × facteur du ester actif — fournie
  par Home/Labs quand l'auto-calibration est ON (sinon null : la carte
  n'affiche rien, une valeur brute serait trompeuse). Miroir web.
- Régime POOLÉ (pooledRegimeDoses) : les doses de tous les traitements
  partageant (ester effectif, mg) forment UNE séquence — le re-parenting
  d'historique (« 6d-old », v1.12.0) ne fait plus redémarrer la
  stabilisation. Garde-fous : ester ≠ jamais poolé (régression n°3) ;
  dose ≠ exclue (le 8 mg casse via le trou). Régression n°7 data-driven
  sur le nouvel export (backup-v1.12.0.json).
- Cible de creux E2 (opt-in) : DataStore + carte settings (hint croisé
  « distinct des seuils d'alerte — jamais de notification ») + coloration
  carte reco (primaire/hors cible tertiary) + backup rétrocompatible (un
  backup ancien n'efface pas la cible locale). Système à 3 niveaux
  documenté §7.11. Miroir web complet.

284 tests JVM (250 sans données locales) + 14 UI + lint verts ; web 199
tests + E2E verts (check.sh). Validé émulateur sur données réelles :
« Expected at this trough: ≈ 208 pg/mL — outside your target », régime
poolé = stable depuis le 12 août, 0 crash.
2026-10-07 09:59:19 +02:00

287 lines
20 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">HormoneTrack</string>
<!-- Navigation -->
<string name="nav_home">Home</string>
<string name="nav_chart">Charts</string>
<string name="nav_doses">Doses</string>
<string name="nav_labs">Labs</string>
<string name="nav_treatments">Treatments</string>
<string name="settings">Settings</string>
<string name="back">Back</string>
<string name="ok">OK</string>
<!-- Home -->
<string name="current_level">Current estimated level</string>
<string name="no_data">No data yet — add a treatment and log a dose.</string>
<string name="logged_today">Quick log</string>
<string name="next_dose">Next dose</string>
<string name="next_doses">Upcoming doses</string>
<string name="next_dose_days">%1$d d %2$d h · %3$s (%4$s)</string>
<string name="delta_6h">%1$s %2$s pg/mL vs 6 h ago</string>
<string name="home_chart_title">Last 24 hours (estimate)</string>
<string name="home_legend_e2">— E2 estimate (pg/mL, left)</string>
<string name="home_legend_t">-- T estimate (ng/mL, right)</string>
<string name="open_charts_hint">Tap the chart to open 7 d / 30 d views, both PK models and forecast.</string>
<string name="disclaimer">Curves are pharmacokinetic estimates for informational purposes only — they are not measurements. Always rely on your blood tests and follow your endocrinologist\'s guidance.</string>
<!-- Charts -->
<string name="chart_24h">24 h</string>
<string name="chart_7j">7 days</string>
<string name="chart_30j">30 days</string>
<!-- v1.8.0 : recommandation de prochaine prise de sang (creux stabilisé) -->
<string name="labrec_section">Next blood draw (suggested)</string>
<string name="labrec_when">At the estimated trough: %1$s</string>
<string name="labrec_before_injection">Just before your %1$s injection of %2$s — or simply the day before that slot.</string>
<string name="labrec_stabilized">Your %1$s has been stable since %2$s (~5 terminal half-lives).</string>
<string name="labrec_not_stabilized">Your %1$s was not stable until %2$s (~5 terminal half-lives): this is the first reliable trough after your latest change.</string>
<string name="labrec_disclaimer">Estimation from the pharmacokinetic model, not medical advice — blood draw at the trough simply gives the most comparable result. Always follow your endocrinologist.</string>
<string name="labrec_needs_posology">Tip: set a Dosage interval on your active injectable E2 treatment (Treatments → edit) and this page will suggest when to do your next blood draw (at the trough, just before the injection).</string>
<string name="show_labs">Labs</string>
<string name="show_forecast">Forecast</string>
<string name="show_extrema">Peaks / troughs</string>
<string name="show_lab_track">Lab track</string>
<!-- v1.6.0 : prolongation du tracé labs au-delà du dernier lab (opt-in,
actif seulement quand Lab track est ON) -->
<string name="show_lab_track_extend">Extend</string>
<!-- v1.9.0 : nuage d'incertitude du modèle ESE (posterior MCMC de
estrannaise.js) — exclusif à ESE, off par défaut -->
<string name="show_cloud">Cloud</string>
<string name="legend_cloud">Dotted cloud = Estrannaise MCMC parameter uncertainty (ESE model only)</string>
<string name="zoom_in">Zoom in (shorter window)</string>
<string name="zoom_out">Zoom out (longer window)</string>
<string name="hrt_since">Under HRT since %1$s</string>
<string name="hrt_duration">%1$d months and %2$d days (%3$d days total)</string>
<string name="hrt_duration_days_only">%1$d days</string>
<string name="alert_channel_name">Threshold warnings</string>
<string name="alert_channel_desc">Notifications when an estimated level crosses one of your configured limits (checked every 15 minutes).</string>
<string name="alert_notif_title">Hormone threshold warning</string>
<string name="alert_section">Alert thresholds</string>
<string name="alert_hint">Optional limits for your estimated levels, checked against the current estimate on Home (not a lab value). E2 in pg/mL, T in ng/mL. Leave a field empty to disable that alert. High must be above low. Checked every 15 minutes — you get a notification when a limit is crossed (no repeat spam until the level changes).</string>
<string name="alert_e2_high">E2 high (pg/mL)</string>
<string name="alert_e2_low">E2 low (pg/mL)</string>
<string name="alert_t_high">T high (ng/mL)</string>
<string name="alert_t_low">T low (ng/mL)</string>
<string name="alert_invalid">Invalid values: enter numbers only, and keep the high limit above the low limit.</string>
<string name="alert_card_title">Threshold warnings</string>
<string name="alert_high">▲ %1$s estimated ≈ %2$s %3$s — above your high limit (%4$s)</string>
<string name="alert_low">▼ %1$s estimated ≈ %2$s %3$s — below your low limit (%4$s)</string>
<string name="alert_disclaimer">Based on the model estimate, not a measurement. Check with your blood tests and your endocrinologist.</string>
<string name="timezone_section">Chart timezone</string>
<string name="timezone_hint">Used to align the chart days (midnight) and read doses. Empty = the phone\'s timezone (auto). Example: Europe/Paris.</string>
<string name="timezone_field">Timezone ID (e.g. Europe/Paris)</string>
<string name="timezone_auto">Use phone timezone</string>
<string name="timezone_invalid">Unknown timezone ID (e.g. Europe/Paris, America/New_York).</string>
<string name="legend_real_dose">— logged doses (bottom markers)</string>
<string name="logs_section">Diagnostic logs</string>
<string name="logs_count">%1$d lines (reminders, calendar, import/export, errors)</string>
<string name="logs_export">Export</string>
<string name="logs_clear">Clear</string>
<string name="logs_export_ok">Diagnostic logs exported</string>
<string name="logs_export_fail">Failed to export the diagnostic logs</string>
<string name="changelog_title">What\'s new in %1$s</string>
<string name="settings_version">Installed version: %1$s</string>
<string name="releases_link">Latest releases on Gitea (download APKs)</string>
<string name="agenda_section">Calendar</string>
<string name="agenda_switch">Recurring calendar event</string>
<string name="agenda_needs_posology">Set a Posology interval first — the event repeats every N days in your phone calendar.</string>
<string name="agenda_hint">A recurring event is created in a dedicated “HormoneTrack” calendar, based on the Posology interval and reminder time. Visible in your calendar app; editable there.</string>
<string name="agenda_permission">Calendar permission is requested when you enable this.</string>
<string name="legend_extrema">▲▼ estimated peaks &amp; troughs (per curve)</string>
<string name="legend_lab_track">Lab-anchored curve — model shape forced through your labs (E2 only, between first and last lab)</string>
<!-- v1.6.0 : légende de la partie PROLONGÉE du tracé labs (série "LABX") -->
<string name="legend_lab_track_extend">-- Lab track extended past your last lab (model × last lab ratio — estimate, not anchored)</string>
<!-- v1.6.0 : AVERTISSEMENT affiché sous la légende quand la prolongation
est active — l\'extrapolation n\'a aucune garantie et repose sur des
mesures elles-mêmes faillibles -->
<string name="lab_track_extend_warning">⚠ Simulation only, with no guarantee of matching reality: the extension extrapolates your model from your lab results — which can themselves be inaccurate. Trust your next blood test, not this curve.</string>
<string name="legend_forecast_dose">— next projected dose (vertical marker)</string>
<string name="back_to_present">Back to now</string>
<string name="drag_hint">Drag the chart to the right to travel into the past.</string>
<string name="legend_ese_e2">— E2 · Estrannaise (pg/mL, left axis)</string>
<string name="legend_ese_t">-- T · Estrannaise (ng/mL, right axis)</string>
<string name="legend_tfs_e2">— E2 · Transfem Science</string>
<string name="legend_tfs_t">-- T · Transfem Science</string>
<string name="legend_whs_e2">— E2 WHSAH (pg/mL, left)</string>
<string name="legend_whs_t">-- T WHSAH (ng/mL, right)</string>
<string name="legend_labs">● Lab results</string>
<string name="interval_value">Δ %1$s d</string>
<!-- Doses -->
<string name="add_dose">Log a dose</string>
<string name="edit_dose">Edit dose</string>
<string name="ester_default">Default (%1$s)</string>
<string name="dose_amount">Dose</string>
<string name="dose_time">Time</string>
<string name="dose_notes">Notes</string>
<string name="delete">Delete</string>
<string name="confirm_delete">Delete this entry?</string>
<string name="confirm_delete_treatment">Delete this treatment? Its dose history will also be deleted.</string>
<!-- Labs -->
<string name="add_lab">Add a blood test</string>
<string name="edit_lab">Edit lab result</string>
<string name="lab_e2_value">E2 — estradiol value</string>
<string name="lab_e2_unit">E2 unit</string>
<string name="lab_t_value">T — testosterone value</string>
<string name="lab_t_unit">T unit</string>
<string name="lab_optional">optional</string>
<string name="edit_which_lab">Which entry do you want to edit?</string>
<string name="confirm_delete_blood_draw">Delete this blood draw (%1$s)?</string>
<string name="lab_marker">Marker (e.g. E2, T)</string>
<string name="lab_value">Value</string>
<string name="lab_unit">Unit (e.g. pg/mL, ng/mL)</string>
<string name="lab_date">Date</string>
<!-- Treatments -->
<string name="add_treatment">Add treatment</string>
<string name="edit_treatment">Edit treatment</string>
<string name="treatment_name">Treatment name</string>
<string name="treatment_type">Type</string>
<string name="treatment_route">Route</string>
<string name="default_dose">Standard dose</string>
<string name="dose_unit">Unit</string>
<string name="active">Active</string>
<string name="inactive">inactive</string>
<!-- v1.11.0 : en-tête de la section des traitements inactifs (regroupés
en bas de la page Traitements) -->
<string name="inactive_section">Inactive treatments</string>
<!-- v1.12.0 : encart latéral « prise de sang le même jour » sur les
lignes de doses (↑ = lab avant la dose, ↓ = lab après) -->
<string name="lab_before_dose">Blood test earlier the same day, before this dose</string>
<string name="lab_after_dose">Blood test later the same day, after this dose</string>
<!-- v1.13.0 : valeur E2 attendue au creux recommandé (affichée seulement
si la calibration est disponible) + statut face à la cible de creux -->
<string name="labrec_predicted">Expected at this trough: ≈ %1$s pg/mL</string>
<string name="labrec_in_target">within your target</string>
<string name="labrec_out_of_target">outside your target</string>
<!-- v1.13.0 : carte Cible de creux (opt-in) — DISTINCT des seuils
d'alerte (surveillance continue + notifications) -->
<string name="trough_target_section">Trough target (blood draw)</string>
<string name="trough_target_hint">Personal reference for the recommended blood draw: the predicted trough value is colored against this band. Distinct from the alert thresholds above — those watch your estimated level continuously and can notify you; this one never does.</string>
<string name="trough_target_low">Target low (pg/mL)</string>
<string name="trough_target_high">Target high (pg/mL)</string>
<string name="trough_target_incomplete">Fill both fields — or leave both empty to disable.</string>
<string name="trough_target_invalid">Target high must be greater than target low.</string>
<string name="no_treatment_hint">Create a treatment first (Treatments tab).</string>
<string name="type_estradiol">Estradiol</string>
<string name="type_antiandrogen">Anti-androgen</string>
<string name="type_progestogen">Progestogen</string>
<string name="type_other">Other</string>
<string name="route_oral">Oral</string>
<string name="route_gel">Transdermal gel</string>
<string name="route_patch">Transdermal patch</string>
<string name="route_injection_im">IM injection</string>
<string name="route_injection_sc">SC injection</string>
<string name="route_other">Other route</string>
<string name="ester">Ester</string>
<string name="pk_model">PK model</string>
<string name="model_ese">Estrannaise</string>
<string name="model_tfs">Transfem Science</string>
<string name="model_whs">WHSAH</string>
<string name="select_preset">Choose a preset (optional)</string>
<string name="pk_absorption">Time to peak (h)</string>
<string name="pk_halflife">Half-life (h)</string>
<string name="pk_bioavail">Bioavailability (0–1)</string>
<string name="calibration_title">Calibration</string>
<string name="scale_factor">Scale factor</string>
<string name="calibration_hint">The scale factor adjusts the model to your body, like the "Scale factor" of your spreadsheet. It is computed as median(lab value ÷ model prediction).</string>
<string name="calibration_auto_override">Auto-calibration is ON: curves use the automatic factors, this manual value is ignored for display (use Settings to turn it off).</string>
<string name="calibrate_from_labs">Calibrate from labs</string>
<string name="auto_calibrate">Auto-calibration (E2 + T)</string>
<string name="auto_calibrate_hint">Automatically adjusts the scale factor of EACH ester from the labs drawn during that ester\'s period (e.g. valerate labs calibrate the valerate doses, enanthate labs the enanthate doses) and recalibrates the T model — display only (stored values unchanged). Manual values below and in Treatments stay in effect when this is off.</string>
<string name="freq_section">Dosage</string>
<string name="freq_enable">Simulate upcoming doses</string>
<string name="freq_interval">Interval (days)</string>
<string name="freq_hint">Upcoming doses are simulated at this interval after the last logged dose; they appear on the chart (Forecast) but are never saved.</string>
<string name="save">Save</string>
<string name="cancel">Cancel</string>
<!-- Reminders -->
<string name="reminder">Reminder</string>
<string name="reminder_time">Reminder time</string>
<string name="reminders_section">Reminders &amp; alarms</string>
<string name="exact_alarm_needed">Exact alarms are not granted: reminders may be delayed by a few minutes.</string>
<string name="exact_alarm_ok">Exact alarms granted. Reminders will mirror on your watch via Huawei Health notifications.</string>
<string name="grant_exact_alarm">Grant exact alarms</string>
<string name="action_taken">Taken</string>
<string name="action_snooze_1h">Snooze 1 h</string>
<string name="reminder_title">Reminder: %1$s</string>
<string name="reminder_title_plain">Medication reminder</string>
<string name="reminder_text">It\'s time to take your treatment</string>
<string name="reminder_text_with_dose">Time for your dose: %1$s</string>
<string name="notification_channel_name">Treatment reminders</string>
<string name="notification_channel_desc">Notifications for medication reminders</string>
<!-- Settings -->
<string name="language">Language</string>
<string name="language_system">System</string>
<string name="t_model_title">Testosterone estimate</string>
<string name="t_model_hint">Empirical model: T = floor + (base − floor) ÷ (1 + k·E2). Units: ng/mL. Use your T lab results to calibrate k.</string>
<string name="t_base">Base</string>
<string name="t_floor">Floor</string>
<string name="t_calibrated">k calibrated from your T labs.</string>
<string name="saved">Saved</string>
<string name="backup_section">Backup (JSON)</string>
<string name="backup_hint">Export all data (treatments, doses, labs, T settings) to a JSON file, and restore from a backup file.</string>
<string name="export_json">Export</string>
<string name="import_json">Import</string>
<string name="export_ok">Backup exported.</string>
<string name="export_fail">Export failed.</string>
<!-- v1.7.0 : sauvegarde automatique journalière (SAF tree + WorkManager) -->
<string name="autobackup_section">Automatic daily backup</string>
<string name="autobackup_enable">Enable</string>
<string name="autobackup_hint">Each day, the app writes a full JSON backup (same format as the manual export) into the folder you choose — e.g. a synced Owncloud folder, so it lands in your cloud. No storage permission is needed: you pick the folder once and can revoke it anytime in the system settings. Only the newest copies are kept (older automatic copies are deleted; your manual exports are never touched).</string>
<string name="autobackup_folder">Folder</string>
<string name="autobackup_no_folder">No folder selected yet — pick one to enable.</string>
<string name="autobackup_choose_folder">Choose folder</string>
<string name="autobackup_keep">Copies kept (1–30)</string>
<string name="autobackup_last_ok">Last backup: OK (%1$s)</string>
<string name="autobackup_last_fail">Last backup: FAILED (%1$s) — check the folder, then re-enable to retry.</string>
<string name="autobackup_first_run">Enabled — a first backup was written to the folder.</string>
<string name="import_fail">Import failed: invalid file.</string>
<string name="import_ok">Restored: %1$d treatments, %2$d doses, %3$d labs (current data was replaced, reminders rescheduled).</string>
<string name="import_confirm">Erase &amp; restore</string>
<string name="import_title">Import backup</string>
<string name="import_warning">The backup will REPLACE all current data: existing treatments, doses and labs are erased first. Export a backup now if you want to keep them.</string>
<string name="about_title">About</string>
<string name="models_credit">PK profiles from Estrannaise (EstraNase) and Transfem Science injection models, extracted from Estrogen.ods (D, k1–k3 hourly tables).</string>
<!-- Presets -->
<string name="preset_ev_ese">EV injection — Estrannaise</string>
<string name="preset_ec_ese">EC injection (oil) — Estrannaise</string>
<string name="preset_eb_ese">EB injection — Estrannaise</string>
<string name="preset_eucs_ese">EUCS injection (crystal suspension) — Estrannaise</string>
<string name="preset_eu_ese">EU injection — Estrannaise</string>
<string name="preset_een_ese">EEn injection — Estrannaise</string>
<string name="preset_ev_tfs">EV injection — Transfem Science</string>
<string name="preset_eu_tfs">EU injection — Transfem Science</string>
<string name="preset_een_tfs">EEn injection — Transfem Science</string>
<string name="preset_eb_tfs">EB injection — Transfem Science</string>
<string name="preset_ec_tfs">EC injection (oil) — Transfem Science</string>
<string name="preset_ecs_tfs">EC injection (aqueous suspension) — Transfem Science</string>
<string name="preset_ev_whs">EV injection — WHSAH</string>
<string name="preset_eu_whs">EU injection — WHSAH</string>
<string name="preset_een_whs">EEn injection — WHSAH</string>
<string name="preset_eb_whs">EB injection — WHSAH</string>
<string name="preset_ec_whs">EC injection (oil) — WHSAH</string>
<string name="preset_ecs_whs">EC injection (aqueous suspension) — WHSAH</string>
<string name="preset_pep_tfs">PEP injection — Transfem Science</string>
<string name="preset_e2_gel">E2 transdermal gel</string>
<string name="preset_e2_patch">E2 patch</string>
<string name="preset_e2_oral">E2 oral</string>
<string name="preset_cpa">Cyproterone acetate (CPA)</string>
<string name="preset_spiro">Spironolactone</string>
<string name="preset_bica">Bicalutamide</string>
</resources>