🌾
Coucou !
Bienvenue sur Luna — ton appli de suivi de cycle 💕
C'est quoi ton prénom ?
Salut {{ obName }} ! Ton avatar :
{{ obAvatar }} {{ obName }} — Ta couleur :
{{ t.name }}
📅
Ton cycle
Tu peux ajuster à tout moment — mets ce qui te semble le plus proche.
Longueur du cycle
{{ obCycleLen }}j
Durée des rÚgles
{{ obPeriodLen }}j
{{ profile.avatar||'✹' }}
Coucou {{ profile.name }} !
Entre ton code PIN
Code incorrect !
💕
Tout va bien {{ profile.name }} !
VoilĂ  ce que tu peux faire maintenant :
đŸ«
Va voir l'infirmiĂšre scolaire
Elle est là exactement pour ça — elle a des protections
👭
Demande Ă  une copine de confiance
Toutes les filles comprennent, zéro jugement
đŸ§»
Mouchoir ou PQ plié dans la culotte
Solution de secours efficace pour quelques heures
đŸ§„
Veste autour de la taille
Ça cache une tache le temps de te changer
{{ tutoStep+1 }}/{{ TUTO.length }}
{{ TUTO[tutoStep].emoji }}
{{ TUTO[tutoStep].title }}
{{ TUTO[tutoStep].desc }}
💡 {{ TUTO[tutoStep].tip }}
OĂč trouver ça :
{{ t.icon }} {{ t.label }}
{{ profile.avatar||'✹' }}
Coucou {{ profile.name }} !
{{ todayStr }}
{{ phase?.emoji||'🌙' }}
{{ phase.label }}
Jour {{ todayCycleDay }} de ton cycle
Commence à suivre ton cycle 💕
{{ encouragement }}
{{ daysLeft<=0?'😅':daysLeft }}
{{ daysLeft<=0?'En retard':daysLeft===1?'demain !':'j. avant rĂšgles' }}
{{ todayCycleDay||'—' }}
jour du cycle
{{ todayLogged ? '✅ JournĂ©e notĂ©e !' : '📝 Note ta journĂ©e' }}
{{ todayLogged ? (todayEntry.sticker||'') + ' ' + (todayEntry.mood ? MOODS.find(m=>m.id===todayEntry.mood)?.emoji||'' : '') : 'Comment tu te sens aujourd\'hui ?' }}
đŸ”„ {{ streak }}j
Humeur rapide
Sticker
📋
Cycles irréguliers détectés
L'appli dĂ©tecte une variabilitĂ© importante entre tes cycles. Pense Ă  en parler lors de ton prochain RDV mĂ©dical — c'est exactement le genre d'info utile Ă  suivre.
{{ RDV_TYPES.find(t=>t.id===nextRdv.type)?.icon||'đŸ„' }}
Prochain RDV
{{ RDV_TYPES.find(t=>t.id===nextRdv.type)?.label||nextRdv.type }}
{{ fmtRdvDate(nextRdv.date) }}{{ nextRdv.heure?' Ă  '+nextRdv.heure:'' }}
â€ș
⚠
Stock bas de protections !
{{ stockAlert.periodOn?'RĂšgles en cours':'RĂšgles dans '+stockAlert.daysLeft+' jour'+(stockAlert.daysLeft>1?'s':'') }}
{{ item.icon }} {{ stock[item.id] }} {{ item.label }}
đŸ©ž Changements / jour
{{ avgCh>0?'moy '+avgCh+'/j':'' }}
J{{ col.day }}
{{ col.ch||'—' }}
✹ Ce qui peut t'aider maintenant
🌿
Astuces anti-douleur
Massage, chaleur, alimentation

{{ cat.t }}
{{ tip.e }}
{{ tip.l }}
{{ tip.d }}
{{ s.i }} {{ s.t }}
📖 DerniĂšres entrĂ©es
{{ moEm(e.mood) }}
{{ fd(date) }}
{{ e.ch }}× {{ ['','😮','😑','🙂','😊','đŸ€©'][e.energie] }} {{ e.syms.slice(0,2).join(' · ') }}
â€ș
{{ fm(calMonth) }}
{{ d }}
{{ fd(calSelDate) }}
{{ calCells.find(c=>c.ds===calSelDate).ph.emoji }} Phase {{ calCells.find(c=>c.ds===calSelDate).ph.label }}
{{ RDV_TYPES.find(t=>t.id===rdv.type)?.icon||'đŸ„' }}
{{ RDV_TYPES.find(t=>t.id===rdv.type)?.label }}
{{ rdv.heure }}{{ rdv.titre?' · '+rdv.titre:'' }}
{{ MOODS.find(m=>m.id===logs[calSelDate].mood)?.emoji }} {{ MOODS.find(m=>m.id===logs[calSelDate].mood)?.label }} {{ logs[calSelDate].sticker }}
{{ p.emoji }}{{ p.label }}
RDV
Historique
{{ fd(c.start) }}
{{ pd(c) }}j rùgles En cours
 {{ clo(i) }}j cycle
{{ pd(c) }}/{{ clo(i) }}j
{{ ldPhase.emoji }}
📔
Mon journal
{{ ldPhase.label }} · Jour {{ ldCDay }}
😊 Ressenti
đŸ©ș Corps
😊 Comment tu te sens ?
⚡ Niveau d'Ă©nergie
{{ ['😮','😑','🙂','😊','đŸ€©'][n-1] }}
{{ logEnergie?['ÉpuisĂ©e','Basse','Ok','Bonne','Super !'][logEnergie-1]:'' }}
🌙 Sommeil
đŸ˜€ Stress
{{ logStress?['Nul','Léger','Modéré','Fort','Intense'][logStress-1]:'' }}
🎭 Sticker du jour
🔮 Douleurs (0–10)
{{ z.label }}
đŸ©ž RĂšgles
{{ logCh }}
{{ logCh===0?'Aucun':logCh<=2?'đŸ©· LĂ©ger':logCh<=4?'🌾 ModĂ©rĂ©':logCh<=6?'❗ Abondant':'🚹 TrĂšs abondant' }}
đŸ€’ SymptĂŽmes
✏ Notes libres
📅 Rendez-vous mĂ©dicaux
{{ rdvEditId ? '✏ Modifier le RDV' : '📅 Nouveau rendez-vous' }}
Type
Date du RDV
{{ fm(rdvCalMonth) }}
{{ d }}
📅 {{ fmtRdvDate(rdvDraft.date) }}
Heure (optionnel)
Lieu / médecin
Ce que je veux aborder
Compte-rendu aprĂšs le RDV
À venir
{{ RDV_TYPES.find(t=>t.id===rdv.type)?.icon||'đŸ„' }}
{{ RDV_TYPES.find(t=>t.id===rdv.type)?.label||rdv.type }}
{{ rdv.titre }}
{{ fmtRdvDate(rdv.date) }}{{ rdv.heure?' Ă  '+rdv.heure:'' }}
{{ rdv.notes }}
📋
Aucun RDV Ă  venir
Pense Ă  planifier ton suivi !
Qui consulter ?
{{ t.icon }}
{{ t.label }}
{{ t.desc }}
Passés
{{ RDV_TYPES.find(t=>t.id===rdv.type)?.icon||'đŸ„' }}
{{ RDV_TYPES.find(t=>t.id===rdv.type)?.label||rdv.type }}
{{ fmtRdvDate(rdv.date) }}
{{ rdv.cr }}
📊 Mes statistiques
{{ avgCycleLen }}
j / cycle
{{ avgPLen }}
j rĂšgles
{{ cycles.length }}
cycles
📊
Pas encore de données
Note ton journal quelques jours pour voir tes stats !
📅 Longueur des cycles
{{ v }} {{ p.v }}
{{ cycVar>7?'⚠ Cycles trĂšs irrĂ©guliers (±'+cycVar+'j) — Ă  mentionner lors d\'un RDV':cycVar>3?'ă€°ïž LĂ©gĂšrement variable (±'+cycVar+'j)':'✅ RĂ©gulier (±'+cycVar+'j)' }}
📈 Humeur & Ă©nergie — 28 derniers jours
Énergie
Stress
Humeur
{{ moodChart.startLabel }} Aujourd'hui
đŸ—“ïž Calendrier de bien-ĂȘtre — 12 semaines
Pas de donnée
Top 😊
Moyen
Difficile
🔮 Douleurs — cycle en cours
0 5 10 J{{ pt.day }}
Ventre
Dos
đŸ©ž Changements moy. par jour de rĂšgles
J{{ col.day }}
Sur {{ cycles.filter(c=>c.end).length }} cycle(s)
📏 DurĂ©e des rĂšgles
{{ pStats.min }}
min (j)
{{ pStats.avg }}
moy (j)
{{ pStats.max }}
max (j)
💊 IntensitĂ© douleur moyenne
{{ z.label }}
{{ z.avg }}/10
🔗 CorrĂ©lations symptĂŽmes / phases
{{ c.i }}
{{ c.t }}
📊 Continue Ă  enregistrer tes symptĂŽmes pour voir les corrĂ©lations.
📚 En savoir plus
Comprendre son corps 🌾
{{ art.icon }}
{{ art.title }}
{{ art.sub }}
â€ș
{{ block.v }}
{{ block.v }}
💡 {{ block.v }}
⚠ {{ block.v }}
📅 {{ block.v }}
{{ tip.e }}
{{ tip.l }}
{{ tip.d }}
{{ ph.em }}
{{ ph.n }}
{{ ph.d }}
⚙ Mon profil
đŸ‘€ Personnalisation
{{ profile.avatar }}
Avatar
ThĂšme
{{ t.name }}
🔄 Mon cycle
Longueur du cycle : {{ settings.cycleLen }}j
Durée des rÚgles : {{ settings.periodLen }}j
🎒 Trousse Ă©cole
{{ ckCount }}/{{ checklist.length }} ✓
{{ item.checked?'✓':'' }}
{{ item.label }}
🛒 Stock de protections
Alerte si ≀ {{ stockSeuil }} unitĂ©s
{{ item.icon }}
{{ item.label }}
{{ stock[item.id]===0?'Non suivi':stock[item.id]<=2?'🚹 Quasi vide':stock[item.id]<=stockSeuil?'⚠ Stock bas':'✅ OK' }}
{{ stock[item.id] }}
Seuil d'alerte stock bas :
🔔 Rappels
Rappel avant les rĂšgles
⏰ Minuteur protection
🎓 Aide
🔒 PIN
🔐 Code PIN actif
đŸ’Ÿ DonnĂ©es
Tu es sĂ»re ? DĂ©finitif 😰
{{ toast }}