Your Numerology Journal

Not a crystal ball. A quiet space to notice what's happening in your life — and let your numbers add a layer of meaning.

For entertainment and self-reflection only. Not professional advice. Disclaimer

Please select your complete date of birth

Want your full cosmic profile?

Get your 23-section report — karmic debts, pinnacle cycles, monthly forecasts, and AI insights personalized to your numbers.

Get My Report — $1
Personal Year
Personal Month
Monthly Reflection
Saved!

Your Timeline

, deleteConfirm: 'Diesen Eintrag löschen?', emptyTimeline: 'Dein Tagebuch ist leer. Beginne damit, etwas über heute zu notieren.', dateErr: 'Bitte wähle dein vollständiges Geburtsdatum', entryPlaceholder: 'Ein Gespräch, das dir geblieben ist, eine Entscheidung, ein Gefühl, das schwer zu benennen ist...', day: 'Tag', month: 'Monat', year: 'Jahr', months: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], pyThemes: { 1:{name:'Neuanfänge',desc:'Ein Jahr frischer Starts und Unabhängigkeit.'}, 2:{name:'Geduld & Partnerschaft',desc:'Ein Jahr der Kooperation und des natürlichen Wachstums.'}, 3:{name:'Ausdruck & Freude',desc:'Ein Jahr der Kreativität und sozialer Verbindungen.'}, 4:{name:'Fundament & Disziplin',desc:'Ein Jahr des Aufbaus und solider Arbeit.'}, 5:{name:'Wandel & Freiheit',desc:'Ein Jahr der Bewegung und neuer Erfahrungen.'}, 6:{name:'Verantwortung & Liebe',desc:'Ein Jahr, das sich auf Zuhause und Familie konzentriert.'}, 7:{name:'Reflexion & Innenschau',desc:'Ein Jahr der Stille und des inneren Zuhörens.'}, 8:{name:'Macht & Erfolg',desc:'Ein Jahr des Ehrgeizes und der Selbstbehauptung.'}, 9:{name:'Loslassen & Vollendung',desc:'Ein Jahr, um loszulassen und Platz zu schaffen.'}, 11:{name:'Erwachen',desc:'Ein Meisterjahr der Intuition und spirituellen Entwicklung.'}, 22:{name:'Meisterbauer',desc:'Ein Meisterjahr visionärer Projekte.'}, 33:{name:'Meisterlehrer',desc:'Ein Meisterjahr des Mitgefühls und der Heilung.'} }, pmThemes: { 1:{name:'Initiative',desc:'Ein Monat zum Anfangen.'},2:{name:'Kooperation',desc:'Ein Monat zum Zuhören.'}, 3:{name:'Kreativität',desc:'Ein Monat für Ausdruck.'},4:{name:'Struktur',desc:'Ein Monat zum Organisieren.'}, 5:{name:'Abenteuer',desc:'Ein Monat für Neues.'},6:{name:'Fürsorge',desc:'Ein Monat zum Pflegen.'}, 7:{name:'Innenschau',desc:'Ein Monat nach innen.'},8:{name:'Ambition',desc:'Ein Monat zum Voranschreiten.'}, 9:{name:'Vollendung',desc:'Ein Monat zum Loslassen.'},11:{name:'Erkenntnis',desc:'Ein Monat erhöhter Wahrnehmung.'}, 22:{name:'Vision',desc:'Ein Monat für das große Ganze.'},33:{name:'Mitgefühl',desc:'Ein Monat tiefer Empathie.'} }, reflections: { 1:'Was fühlt sich bereit an, in deinem Leben zu beginnen? Was wäre ein kleiner erster Schritt?', 2:'Wo würde etwas mehr Geduld die Dynamik verändern?', 3:'Wann hast du zuletzt etwas rein aus Freude getan?', 4:'Welcher Bereich deines Lebens braucht mehr Struktur?', 5:'Welche Routine fühlt sich verbraucht an? Was würdest du morgen ändern?', 6:'Wer braucht deine Aufmerksamkeit — und gibst du dir selbst genug davon?', 7:'Welcher Bereich verdient gerade mehr stille Aufmerksamkeit?', 8:'Wo hältst du dich zurück, dein volles Potenzial zu nutzen?', 9:'Was hältst du fest, das dir nicht mehr dient?' } }, pt: { pageTitle: 'Seu Diário Numerológico', pageSubtitle: 'Não é uma bola de cristal. Um espaço tranquilo para observar o que está acontecendo na sua vida — e deixar seus números adicionarem uma camada de significado.', lblBirthdate: 'Sua data de nascimento', btnCalc: 'Ver meu ciclo', lblPY: 'Ano Pessoal', lblPM: 'Mês Pessoal', lblReflection: 'Reflexão do mês', lblDate: 'Data', lblEvent: 'O que aconteceu? O que você está sentindo?', btnSave: 'Salvar', saved: 'Salvo!', lblTimeline: 'Sua Linha do Tempo', ctaTitle: 'Quer um olhar mais profundo sobre seu ano?', ctaText: 'Seu relatório de aniversário mapeia seu ciclo pessoal mês a mês, com orientações adaptadas aos seus números.', ctaBtn: 'Entrar na lista de espera', deleteConfirm: 'Excluir esta entrada?', emptyTimeline: 'Seu diário está vazio. Comece anotando algo sobre hoje.', dateErr: 'Por favor selecione sua data de nascimento completa', entryPlaceholder: 'Uma conversa que ficou com você, uma decisão que tomou, um sentimento difícil de nomear...', day: 'Dia', month: 'Mês', year: 'Ano', months: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'], pyThemes: { 1:{name:'Novos Começos',desc:'Um ano de inícios frescos e independência.'}, 2:{name:'Paciência e Parceria',desc:'Um ano de cooperação e crescimento natural.'}, 3:{name:'Expressão e Alegria',desc:'Um ano de criatividade e conexões sociais.'}, 4:{name:'Fundação e Disciplina',desc:'Um ano de construção e trabalho sólido.'}, 5:{name:'Mudança e Liberdade',desc:'Um ano de movimento e novas experiências.'}, 6:{name:'Responsabilidade e Amor',desc:'Um ano centrado no lar e nos entes queridos.'}, 7:{name:'Reflexão e Interior',desc:'Um ano de solidão, estudo e escuta interior.'}, 8:{name:'Poder e Conquista',desc:'Um ano de ambição e autoafirmação.'}, 9:{name:'Liberação e Conclusão',desc:'Um ano para soltar e abrir espaço.'}, 11:{name:'Despertar',desc:'Um ano mestre de intuição e crescimento espiritual.'}, 22:{name:'Mestre Construtor',desc:'Um ano mestre de projetos visionários.'}, 33:{name:'Mestre Professor',desc:'Um ano mestre de compaixão e cura.'} }, pmThemes: { 1:{name:'Iniciativa',desc:'Um mês para começar.'},2:{name:'Cooperação',desc:'Um mês para ouvir.'}, 3:{name:'Criatividade',desc:'Um mês para se expressar.'},4:{name:'Estrutura',desc:'Um mês para organizar.'}, 5:{name:'Aventura',desc:'Um mês para experimentar.'},6:{name:'Cuidado',desc:'Um mês para cuidar.'}, 7:{name:'Introspecção',desc:'Um mês para ir para dentro.'},8:{name:'Ambição',desc:'Um mês para avançar.'}, 9:{name:'Conclusão',desc:'Um mês para soltar.'},11:{name:'Lucidez',desc:'Um mês de consciência elevada.'}, 22:{name:'Visão',desc:'Um mês para construir grande.'},33:{name:'Compaixão',desc:'Um mês de empatia profunda.'} }, reflections: { 1:'O que está pronto para começar na sua vida? Qual seria um pequeno primeiro passo?', 2:'Onde um pouco mais de paciência mudaria a dinâmica?', 3:'Quando foi a última vez que fez algo puramente por prazer?', 4:'Que área da sua vida precisa de mais estrutura?', 5:'Que rotina parece desgastada? O que mudaria amanhã?', 6:'Quem precisa da sua atenção — e você está dando atenção suficiente a si mesmo?', 7:'Que área merece mais atenção silenciosa agora?', 8:'Onde você está se segurando de usar toda a sua capacidade?', 9:'O que você está segurando que já não lhe serve?' } }, it: { pageTitle: 'Il Tuo Diario Numerologico', pageSubtitle: 'Non è una sfera di cristallo. Uno spazio tranquillo per osservare cosa succede nella tua vita — e lasciare che i tuoi numeri aggiungano un livello di significato.', lblBirthdate: 'La tua data di nascita', btnCalc: 'Mostra il mio ciclo', lblPY: 'Anno Personale', lblPM: 'Mese Personale', lblReflection: 'Riflessione del mese', lblDate: 'Data', lblEvent: 'Cosa è successo? Cosa stai provando?', btnSave: 'Salva', saved: 'Salvato!', lblTimeline: 'La Tua Cronologia', ctaTitle: 'Vuoi uno sguardo più profondo sul tuo anno?', ctaText: 'Il tuo report di compleanno mappa il tuo ciclo personale mese per mese, con guida su misura per i tuoi numeri.', ctaBtn: 'Unisciti alla lista d\'attesa', deleteConfirm: 'Eliminare questa voce?', emptyTimeline: 'Il tuo diario è vuoto. Inizia annotando qualcosa su oggi.', dateErr: 'Seleziona la tua data di nascita completa', entryPlaceholder: 'Una conversazione che ti è rimasta, una decisione presa, un sentimento difficile da nominare...', day: 'Giorno', month: 'Mese', year: 'Anno', months: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], pyThemes: { 1:{name:'Nuovi Inizi',desc:'Un anno di inizi freschi e indipendenza.'}, 2:{name:'Pazienza e Collaborazione',desc:'Un anno di cooperazione e crescita naturale.'}, 3:{name:'Espressione e Gioia',desc:'Un anno di creatività e connessioni sociali.'}, 4:{name:'Fondamenta e Disciplina',desc:'Un anno di costruzione e lavoro solido.'}, 5:{name:'Cambiamento e Libertà',desc:'Un anno di movimento e nuove esperienze.'}, 6:{name:'Responsabilità e Amore',desc:'Un anno centrato sulla casa e i cari.'}, 7:{name:'Riflessione e Interiorità',desc:'Un anno di solitudine, studio e ascolto interiore.'}, 8:{name:'Potere e Successo',desc:'Un anno di ambizione e affermazione personale.'}, 9:{name:'Rilascio e Completamento',desc:'Un anno per lasciar andare e fare spazio.'}, 11:{name:'Risveglio',desc:'Un anno maestro di intuizione e crescita spirituale.'}, 22:{name:'Maestro Costruttore',desc:'Un anno maestro di progetti visionari.'}, 33:{name:'Maestro Insegnante',desc:'Un anno maestro di compassione e guarigione.'} }, pmThemes: { 1:{name:'Iniziativa',desc:'Un mese per iniziare.'},2:{name:'Cooperazione',desc:'Un mese per ascoltare.'}, 3:{name:'Creatività',desc:'Un mese per esprimerti.'},4:{name:'Struttura',desc:'Un mese per organizzare.'}, 5:{name:'Avventura',desc:'Un mese per provare.'},6:{name:'Cura',desc:'Un mese per prendersi cura.'}, 7:{name:'Introspezione',desc:'Un mese per andare dentro.'},8:{name:'Ambizione',desc:'Un mese per avanzare.'}, 9:{name:'Completamento',desc:'Un mese per rilasciare.'},11:{name:'Lucidità',desc:'Un mese di consapevolezza elevata.'}, 22:{name:'Visione',desc:'Un mese per costruire in grande.'},33:{name:'Compassione',desc:'Un mese di empatia profonda.'} }, reflections: { 1:'Cosa è pronto a iniziare nella tua vita? Quale piccolo primo passo potresti fare?', 2:'Dove un po\' più di pazienza cambierebbe la dinamica?', 3:'Quando hai fatto l\'ultima volta qualcosa puramente per il piacere?', 4:'Quale area della tua vita ha bisogno di più struttura?', 5:'Quale routine ti sembra logora? Cosa cambieresti domani?', 6:'Chi ha bisogno della tua attenzione — e stai dando abbastanza attenzione a te stesso?', 7:'Quale area merita più attenzione silenziosa in questo momento?', 8:'Dove ti stai trattenendo dall\'usare tutta la tua capacità?', 9:'Cosa stai trattenendo che non ti serve più?' } }, ja: { pageTitle: 'あなたの数秘術ジャーナル', pageSubtitle: '占いではありません。あなたの人生に起きていることを静かに見つめる場所です。数字がそこに意味の層を加えてくれます。', lblBirthdate: '生年月日', btnCalc: 'サイクルを表示', lblPY: 'パーソナルイヤー', lblPM: 'パーソナルマンス', lblReflection: '今月の振り返り', lblDate: '日付', lblEvent: '何がありましたか?何を感じていますか?', btnSave: '保存する', saved: '保存しました!', lblTimeline: 'あなたのタイムライン', ctaTitle: '1年をもっと深く見てみませんか?', ctaText: 'バースデーレポートはあなたのパーソナルイヤーサイクルを月ごとに詳しく解説します。', ctaBtn: 'ウェイトリストに参加', deleteConfirm: 'このエントリーを削除しますか?', emptyTimeline: 'ジャーナルは空です。今日のことを書いてみましょう。', dateErr: '生年月日をすべて選択してください', entryPlaceholder: '心に残った会話、下した決断、名付けがたい気持ち...', day: '日', month: '月', year: '年', months: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'], pyThemes: { 1:{name:'新しい始まり',desc:'新たなスタート、独立、種を蒔く年。'}, 2:{name:'忍耐とパートナーシップ',desc:'協力、感受性、自然な成長の年。'}, 3:{name:'表現と喜び',desc:'創造性、社会的つながり、楽しさの再発見の年。'}, 4:{name:'基盤と規律',desc:'建設、構造、地道な努力の年。'}, 5:{name:'変化と自由',desc:'動き、新しい経験、予想外への挑戦の年。'}, 6:{name:'責任と愛',desc:'家庭、家族、大切な人への献身の年。'}, 7:{name:'内省と内なる仕事',desc:'孤独、学び、内なる声に耳を傾ける年。'}, 8:{name:'力と達成',desc:'野心、経済的焦点、自分の権威を確立する年。'}, 9:{name:'手放しと完了',desc:'手放し、未完を片付け、次への空間を作る年。'}, 11:{name:'覚醒',desc:'直感、インスピレーション、精神的成長のマスター年。'}, 22:{name:'マスタービルダー',desc:'壮大な夢を現実にするマスター年。'}, 33:{name:'マスターティーチャー',desc:'思いやり、癒し、周囲を高めるマスター年。'} }, pmThemes: { 1:{name:'主導',desc:'何かを始める月。'},2:{name:'協力',desc:'聴き、協力する月。'}, 3:{name:'創造',desc:'自分を表現する月。'},4:{name:'構築',desc:'整理し構築する月。'}, 5:{name:'冒険',desc:'新しいことを試す月。'},6:{name:'養育',desc:'大切な人を気遣う月。'}, 7:{name:'内省',desc:'内に向かう月。'},8:{name:'野心',desc:'前に進む月。'}, 9:{name:'完了',desc:'手放し振り返る月。'},11:{name:'洞察',desc:'意識が高まる月。'}, 22:{name:'ビジョン',desc:'大きく構築する月。'},33:{name:'慈悲',desc:'深い共感の月。'} }, reflections: { 1:'今、あなたの人生で始まる準備ができていることは何ですか?小さな一歩は何でしょう?', 2:'もう少し忍耐を持てば、状況が変わる場所はどこですか?', 3:'最後に純粋に楽しいことをしたのはいつですか?', 4:'あなたの人生のどの分野にもっと構造が必要ですか?', 5:'どのルーティンが古く感じますか?明日何を変えますか?', 6:'誰があなたの注意を必要としていますか?自分自身にも十分な注意を向けていますか?', 7:'今、どの分野がもっと静かな注意に値しますか?', 8:'どこで全力を出すことを控えていますか?', 9:'もう役に立たないのに握りしめているものは何ですか?' } }, ko: { pageTitle: '당신의 수비학 저널', pageSubtitle: '점술이 아닙니다. 당신의 삶에서 일어나는 일을 조용히 관찰하고, 숫자가 의미의 층을 더해주는 공간입니다.', lblBirthdate: '생년월일', btnCalc: '내 주기 보기', lblPY: '개인 연도', lblPM: '개인 월', lblReflection: '이달의 성찰', lblDate: '날짜', lblEvent: '무슨 일이 있었나요? 무엇을 느끼고 있나요?', btnSave: '저장', saved: '저장되었습니다!', lblTimeline: '타임라인', ctaTitle: '올해를 더 깊이 살펴보고 싶으세요?', ctaText: '생일 리포트는 당신의 개인 연도 주기를 월별로 자세히 안내합니다.', ctaBtn: '대기 목록 참여', deleteConfirm: '이 항목을 삭제하시겠습니까?', emptyTimeline: '저널이 비어 있습니다. 오늘에 대해 무언가 적어보세요.', dateErr: '생년월일을 모두 선택해 주세요', entryPlaceholder: '마음에 남은 대화, 내린 결정, 이름 붙이기 어려운 감정...', day: '일', month: '월', year: '년', months: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'], pyThemes: { 1:{name:'새로운 시작',desc:'새 출발, 독립, 씨앗을 심는 해.'}, 2:{name:'인내와 파트너십',desc:'협력, 감수성, 자연스러운 성장의 해.'}, 3:{name:'표현과 기쁨',desc:'창의성, 사회적 연결, 즐거움 재발견의 해.'}, 4:{name:'기초와 규율',desc:'건설, 구조, 견실한 노력의 해.'}, 5:{name:'변화와 자유',desc:'움직임, 새로운 경험, 예상 밖의 도전의 해.'}, 6:{name:'책임과 사랑',desc:'가정, 가족, 소중한 사람에 집중하는 해.'}, 7:{name:'성찰과 내면 작업',desc:'고독, 학습, 내면의 목소리에 귀 기울이는 해.'}, 8:{name:'힘과 성취',desc:'야망, 재정적 집중, 권위를 세우는 해.'}, 9:{name:'해방과 완성',desc:'놓아주기, 마무리, 다음을 위한 공간 만들기의 해.'}, 11:{name:'각성',desc:'직관과 영적 성장의 마스터 해.'}, 22:{name:'마스터 빌더',desc:'큰 꿈을 현실로 만드는 마스터 해.'}, 33:{name:'마스터 티처',desc:'연민과 치유의 마스터 해.'} }, pmThemes: { 1:{name:'주도',desc:'시작하는 달.'},2:{name:'협력',desc:'듣고 협력하는 달.'}, 3:{name:'창조',desc:'표현하는 달.'},4:{name:'구축',desc:'정리하고 세우는 달.'}, 5:{name:'모험',desc:'새로운 것을 시도하는 달.'},6:{name:'돌봄',desc:'소중한 이를 돌보는 달.'}, 7:{name:'내성',desc:'내면으로 향하는 달.'},8:{name:'야망',desc:'앞으로 나아가는 달.'}, 9:{name:'완성',desc:'놓아주고 돌아보는 달.'},11:{name:'통찰',desc:'의식이 높아지는 달.'}, 22:{name:'비전',desc:'크게 구축하는 달.'},33:{name:'자비',desc:'깊은 공감의 달.'} }, reflections: { 1:'지금 당신의 삶에서 시작할 준비가 된 것은 무엇인가요?', 2:'조금 더 인내하면 상황이 달라질 곳은 어디인가요?', 3:'마지막으로 순수하게 즐거운 일을 한 것은 언제인가요?', 4:'삶의 어떤 영역에 더 많은 구조가 필요한가요?', 5:'어떤 루틴이 낡았다고 느끼나요? 내일 무엇을 바꾸겠나요?', 6:'누가 당신의 관심이 필요한가요 — 자신에게 충분한 관심을 주고 있나요?', 7:'지금 어떤 영역이 더 조용한 관심을 받을 가치가 있나요?', 8:'어디서 전력을 다하지 못하고 있나요?', 9:'더 이상 도움이 되지 않는 것을 무엇을 붙잡고 있나요?' } }, nl: { pageTitle: 'Jouw Numerologie Dagboek', pageSubtitle: 'Geen glazen bol. Een rustige plek om te merken wat er in je leven gebeurt — en je getallen daar een laag van betekenis aan te laten geven.', lblBirthdate: 'Je geboortedatum', btnCalc: 'Toon mijn cyclus', lblPY: 'Persoonlijk Jaar', lblPM: 'Persoonlijke Maand', lblReflection: 'Maandelijkse Reflectie', lblDate: 'Datum', lblEvent: 'Wat is er gebeurd? Wat voel je?', btnSave: 'Opslaan', saved: 'Opgeslagen!', lblTimeline: 'Jouw Tijdlijn', ctaTitle: 'Wil je een diepere blik op je jaar?', ctaText: 'Je verjaardagsrapport brengt je persoonlijke jaarcyclus in kaart — maand voor maand, met begeleiding afgestemd op je getallen.', ctaBtn: 'Schrijf je in op de wachtlijst', deleteConfirm: 'Dit item verwijderen?', emptyTimeline: 'Je dagboek is leeg. Begin met iets over vandaag op te schrijven.', dateErr: 'Selecteer je volledige geboortedatum', entryPlaceholder: 'Een gesprek dat je bijbleef, een beslissing, een gevoel dat je moeilijk kunt benoemen...', day: 'Dag', month: 'Maand', year: 'Jaar', months: ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'], pyThemes: { 1:{name:'Nieuw Begin',desc:'Een jaar van frisse starts en onafhankelijkheid.'}, 2:{name:'Geduld & Partnerschap',desc:'Een jaar van samenwerking en natuurlijke groei.'}, 3:{name:'Expressie & Vreugde',desc:'Een jaar van creativiteit en sociale verbindingen.'}, 4:{name:'Fundament & Discipline',desc:'Een jaar van bouwen en solide werk.'}, 5:{name:'Verandering & Vrijheid',desc:'Een jaar van beweging en nieuwe ervaringen.'}, 6:{name:'Verantwoordelijkheid & Liefde',desc:'Een jaar gericht op thuis en dierbaren.'}, 7:{name:'Reflectie & Innerlijk Werk',desc:'Een jaar van stilte en innerlijk luisteren.'}, 8:{name:'Kracht & Prestatie',desc:'Een jaar van ambitie en zelfbevestiging.'}, 9:{name:'Loslaten & Voltooiing',desc:'Een jaar om los te laten en ruimte te maken.'}, 11:{name:'Ontwaken',desc:'Een meesterjaar van intuïtie en spirituele groei.'}, 22:{name:'Meesterbouwer',desc:'Een meesterjaar van visionaire projecten.'}, 33:{name:'Meesterleraar',desc:'Een meesterjaar van compassie en genezing.'} }, pmThemes: { 1:{name:'Initiatief',desc:'Een maand om te beginnen.'},2:{name:'Samenwerking',desc:'Een maand om te luisteren.'}, 3:{name:'Creativiteit',desc:'Een maand voor expressie.'},4:{name:'Structuur',desc:'Een maand om te organiseren.'}, 5:{name:'Avontuur',desc:'Een maand om iets nieuws te proberen.'},6:{name:'Zorg',desc:'Een maand om te zorgen.'}, 7:{name:'Introspectie',desc:'Een maand naar binnen.'},8:{name:'Ambitie',desc:'Een maand om vooruit te gaan.'}, 9:{name:'Voltooiing',desc:'Een maand om los te laten.'},11:{name:'Inzicht',desc:'Een maand van verhoogd bewustzijn.'}, 22:{name:'Visie',desc:'Een maand om groot te bouwen.'},33:{name:'Compassie',desc:'Een maand van diepe empathie.'} }, reflections: { 1:'Wat voelt er klaar om te beginnen in je leven? Welke kleine eerste stap kun je zetten?', 2:'Waar zou wat meer geduld de dynamiek veranderen?', 3:'Wanneer deed je voor het laatst iets puur voor het plezier?', 4:'Welk gebied van je leven heeft meer structuur nodig?', 5:'Welke routine voelt versleten? Wat zou je morgen veranderen?', 6:'Wie heeft je aandacht nodig — en geef je jezelf genoeg aandacht?', 7:'Welk gebied verdient nu meer stille aandacht?', 8:'Waar houd je jezelf tegen om je volle capaciteit te benutten?', 9:'Wat hou je vast dat je niet meer dient?' } }, sv: { pageTitle: 'Din Numerologi-Dagbok', pageSubtitle: 'Ingen kristallkula. Ett lugnt utrymme att lägga märke till vad som händer i ditt liv — och låta dina siffror tillföra ett lager av mening.', lblBirthdate: 'Ditt födelsedatum', btnCalc: 'Visa min cykel', lblPY: 'Personligt År', lblPM: 'Personlig Månad', lblReflection: 'Månadens Reflektion', lblDate: 'Datum', lblEvent: 'Vad hände? Vad känner du?', btnSave: 'Spara', saved: 'Sparat!', lblTimeline: 'Din Tidslinje', ctaTitle: 'Vill du ha en djupare blick på ditt år?', ctaText: 'Din födelsedagsrapport kartlägger din personliga årscykel — månad för månad, med vägledning anpassad till dina siffror.', ctaBtn: 'Gå med i väntelistan', deleteConfirm: 'Ta bort denna post?', emptyTimeline: 'Din dagbok är tom. Börja med att notera något om idag.', dateErr: 'Välj ditt fullständiga födelsedatum', entryPlaceholder: 'Ett samtal som stannade kvar, ett beslut du tog, en känsla svår att sätta ord på...', day: 'Dag', month: 'Månad', year: 'År', months: ['Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December'], pyThemes: { 1:{name:'Nya Början',desc:'Ett år av nya starter och oberoende.'}, 2:{name:'Tålamod & Partnerskap',desc:'Ett år av samarbete och naturlig tillväxt.'}, 3:{name:'Uttryck & Glädje',desc:'Ett år av kreativitet och sociala band.'}, 4:{name:'Grund & Disciplin',desc:'Ett år av byggande och solid ansträngning.'}, 5:{name:'Förändring & Frihet',desc:'Ett år av rörelse och nya upplevelser.'}, 6:{name:'Ansvar & Kärlek',desc:'Ett år fokuserat på hem och nära.'}, 7:{name:'Reflektion & Inre Arbete',desc:'Ett år av ensamhet och inre lyssnande.'}, 8:{name:'Kraft & Prestation',desc:'Ett år av ambition och självhävdelse.'}, 9:{name:'Släppa Taget & Avslutning',desc:'Ett år att släppa och skapa utrymme.'}, 11:{name:'Uppvaknande',desc:'Ett mästarår av intuition och andlig tillväxt.'}, 22:{name:'Mästarbyggare',desc:'Ett mästarår av visionära projekt.'}, 33:{name:'Mästarlärare',desc:'Ett mästarår av medkänsla och helande.'} }, pmThemes: { 1:{name:'Initiativ',desc:'En månad att börja.'},2:{name:'Samarbete',desc:'En månad att lyssna.'}, 3:{name:'Kreativitet',desc:'En månad att uttrycka dig.'},4:{name:'Struktur',desc:'En månad att organisera.'}, 5:{name:'Äventyr',desc:'En månad att prova nytt.'},6:{name:'Omsorg',desc:'En månad att ta hand om.'}, 7:{name:'Introspektion',desc:'En månad att gå inåt.'},8:{name:'Ambition',desc:'En månad att gå framåt.'}, 9:{name:'Avslutning',desc:'En månad att släppa.'},11:{name:'Insikt',desc:'En månad av höjd medvetenhet.'}, 22:{name:'Vision',desc:'En månad att bygga stort.'},33:{name:'Medkänsla',desc:'En månad av djup empati.'} }, reflections: { 1:'Vad känns redo att börja i ditt liv? Vilket litet första steg kan du ta?', 2:'Var skulle lite mer tålamod förändra dynamiken?', 3:'När gjorde du senast något enbart för glädjens skull?', 4:'Vilket område i ditt liv behöver mer struktur?', 5:'Vilken rutin känns utsliten? Vad skulle du ändra imorgon?', 6:'Vem behöver din uppmärksamhet — och ger du dig själv tillräckligt?', 7:'Vilket område förtjänar mer tyst uppmärksamhet just nu?', 8:'Var håller du dig tillbaka från att använda hela din kapacitet?', 9:'Vad håller du fast vid som inte längre tjänar dig?' } }, ar: { pageTitle: 'دفتر الأعداد التأملي', pageSubtitle: 'ليست كرة بلورية. مساحة هادئة لملاحظة ما يحدث في حياتك — ودع أرقامك تضيف طبقة من المعنى.', lblBirthdate: 'تاريخ ميلادك', btnCalc: 'عرض دورتي', lblPY: 'السنة الشخصية', lblPM: 'الشهر الشخصي', lblReflection: 'تأمل الشهر', lblDate: 'التاريخ', lblEvent: 'ماذا حدث؟ ماذا تشعر؟', btnSave: 'حفظ', saved: 'تم الحفظ!', lblTimeline: 'جدولك الزمني', ctaTitle: 'هل تريد نظرة أعمق على عامك؟', ctaText: 'تقرير عيد ميلادك يرسم دورتك الشخصية شهرًا بشهر، مع إرشادات مصممة لأرقامك.', ctaBtn: 'انضم لقائمة الانتظار', deleteConfirm: 'حذف هذا الإدخال؟', emptyTimeline: 'دفترك فارغ. ابدأ بتدوين شيء عن اليوم.', dateErr: 'يرجى اختيار تاريخ ميلادك الكامل', entryPlaceholder: 'محادثة بقيت معك، قرار اتخذته، شعور يصعب تسميته...', day: 'اليوم', month: 'الشهر', year: 'السنة', months: ['يناير','فبراير','مارس','أبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'], pyThemes: { 1:{name:'بدايات جديدة',desc:'سنة انطلاقات جديدة واستقلالية.'}, 2:{name:'صبر وشراكة',desc:'سنة تعاون ونمو طبيعي.'}, 3:{name:'تعبير وفرح',desc:'سنة إبداع وروابط اجتماعية.'}, 4:{name:'أساس وانضباط',desc:'سنة بناء وعمل متين.'}, 5:{name:'تغيير وحرية',desc:'سنة حركة وتجارب جديدة.'}, 6:{name:'مسؤولية وحب',desc:'سنة تركز على البيت والأحباء.'}, 7:{name:'تأمل وعمل داخلي',desc:'سنة عزلة ودراسة واستماع داخلي.'}, 8:{name:'قوة وإنجاز',desc:'سنة طموح وتأكيد للذات.'}, 9:{name:'تحرر واكتمال',desc:'سنة للتخلي وفتح المجال.'}, 11:{name:'يقظة',desc:'سنة أستاذية من الحدس والنمو الروحي.'}, 22:{name:'الباني الأستاذ',desc:'سنة أستاذية من المشاريع الرؤيوية.'}, 33:{name:'المعلم الأستاذ',desc:'سنة أستاذية من الرحمة والشفاء.'} }, pmThemes: { 1:{name:'مبادرة',desc:'شهر للبدء.'},2:{name:'تعاون',desc:'شهر للإصغاء.'}, 3:{name:'إبداع',desc:'شهر للتعبير.'},4:{name:'هيكلة',desc:'شهر للتنظيم.'}, 5:{name:'مغامرة',desc:'شهر لتجربة الجديد.'},6:{name:'رعاية',desc:'شهر للاعتناء.'}, 7:{name:'تأمل',desc:'شهر للتوجه إلى الداخل.'},8:{name:'طموح',desc:'شهر للمضي قدمًا.'}, 9:{name:'اكتمال',desc:'شهر للتحرر.'},11:{name:'بصيرة',desc:'شهر من الوعي المتزايد.'}, 22:{name:'رؤية',desc:'شهر للبناء الكبير.'},33:{name:'رحمة',desc:'شهر من التعاطف العميق.'} }, reflections: { 1:'ما الذي يبدو مستعدًا للبدء في حياتك الآن؟ ما هي الخطوة الأولى الصغيرة؟', 2:'أين سيغير القليل من الصبر الديناميكية؟', 3:'متى كانت آخر مرة فعلت شيئًا لمتعة خالصة؟', 4:'أي مجال من حياتك يحتاج مزيدًا من الهيكلة؟', 5:'أي روتين يبدو باليًا؟ ماذا ستغير غدًا؟', 6:'من يحتاج انتباهك — وهل تعطي نفسك اهتمامًا كافيًا؟', 7:'أي مجال يستحق مزيدًا من الاهتمام الهادئ الآن؟', 8:'أين تمنع نفسك من استخدام كامل قدراتك؟', 9:'ما الذي تتشبث به ولم يعد يخدمك؟' } }, th: { pageTitle: 'สมุดบันทึกตัวเลขแห่งการใคร่ครวญ', pageSubtitle: 'ไม่ใช่การทำนาย แต่เป็นพื้นที่เงียบสงบเพื่อสังเกตสิ่งที่เกิดขึ้นในชีวิตคุณ — และให้ตัวเลขเพิ่มชั้นความหมาย', lblBirthdate: 'วันเกิดของคุณ', btnCalc: 'แสดงวงจรของฉัน', lblPY: 'ปีส่วนตัว', lblPM: 'เดือนส่วนตัว', lblReflection: 'การใคร่ครวญประจำเดือน', lblDate: 'วันที่', lblEvent: 'เกิดอะไรขึ้น? คุณรู้สึกอย่างไร?', btnSave: 'บันทึก', saved: 'บันทึกแล้ว!', lblTimeline: 'ไทม์ไลน์ของคุณ', ctaTitle: 'อยากมองลึกขึ้นในปีข้างหน้า?', ctaText: 'รายงานวันเกิดจะวิเคราะห์วงจรปีส่วนตัวทีละเดือน พร้อมคำแนะนำที่ปรับตามตัวเลขของคุณ', ctaBtn: 'เข้าร่วมรายชื่อรอ', deleteConfirm: 'ลบรายการนี้?', emptyTimeline: 'สมุดบันทึกของคุณยังว่าง เริ่มบันทึกเรื่องราวของวันนี้', dateErr: 'กรุณาเลือกวันเกิดให้ครบ', entryPlaceholder: 'บทสนทนาที่ยังติดอยู่ในใจ, การตัดสินใจที่คุณทำ, ความรู้สึกที่ตั้งชื่อได้ยาก...', day: 'วัน', month: 'เดือน', year: 'ปี', months: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'], pyThemes: { 1:{name:'เริ่มต้นใหม่',desc:'ปีแห่งการเริ่มต้นสดใหม่และความเป็นอิสระ'}, 2:{name:'อดทนและเป็นหุ้นส่วน',desc:'ปีแห่งความร่วมมือและการเติบโตตามธรรมชาติ'}, 3:{name:'การแสดงออกและความสุข',desc:'ปีแห่งความคิดสร้างสรรค์และการเชื่อมต่อทางสังคม'}, 4:{name:'รากฐานและวินัย',desc:'ปีแห่งการสร้างและงานที่มั่นคง'}, 5:{name:'การเปลี่ยนแปลงและอิสรภาพ',desc:'ปีแห่งการเคลื่อนไหวและประสบการณ์ใหม่'}, 6:{name:'ความรับผิดชอบและความรัก',desc:'ปีที่มุ่งเน้นบ้านและคนที่รัก'}, 7:{name:'การใคร่ครวญและงานภายใน',desc:'ปีแห่งความสงบ การเรียนรู้ และการฟังภายใน'}, 8:{name:'พลังและความสำเร็จ',desc:'ปีแห่งความทะเยอทะยานและการยืนยันตัวเอง'}, 9:{name:'ปล่อยวางและสมบูรณ์',desc:'ปีแห่งการปล่อยวางและสร้างพื้นที่'}, 11:{name:'ตื่นรู้',desc:'ปีมาสเตอร์แห่งสัญชาตญาณและการเติบโตทางจิตวิญญาณ'}, 22:{name:'ผู้สร้างมาสเตอร์',desc:'ปีมาสเตอร์แห่งโครงการที่มีวิสัยทัศน์'}, 33:{name:'ครูมาสเตอร์',desc:'ปีมาสเตอร์แห่งความเมตตาและการเยียวยา'} }, pmThemes: { 1:{name:'ริเริ่ม',desc:'เดือนแห่งการเริ่มต้น'},2:{name:'ร่วมมือ',desc:'เดือนแห่งการฟัง'}, 3:{name:'สร้างสรรค์',desc:'เดือนแห่งการแสดงออก'},4:{name:'โครงสร้าง',desc:'เดือนแห่งการจัดระเบียบ'}, 5:{name:'ผจญภัย',desc:'เดือนแห่งการลองสิ่งใหม่'},6:{name:'ดูแล',desc:'เดือนแห่งการเอาใจใส่'}, 7:{name:'ใคร่ครวญ',desc:'เดือนแห่งการมองเข้าข้างใน'},8:{name:'ทะเยอทะยาน',desc:'เดือนแห่งการก้าวไปข้างหน้า'}, 9:{name:'สมบูรณ์',desc:'เดือนแห่งการปล่อยวาง'},11:{name:'หยั่งรู้',desc:'เดือนแห่งการตระหนักรู้ที่สูงขึ้น'}, 22:{name:'วิสัยทัศน์',desc:'เดือนแห่งการสร้างสิ่งยิ่งใหญ่'},33:{name:'เมตตา',desc:'เดือนแห่งความเห็นอกเห็นใจลึกซึ้ง'} }, reflections: { 1:'อะไรรู้สึกพร้อมที่จะเริ่มต้นในชีวิตคุณตอนนี้? ก้าวเล็กๆ แรกคืออะไร?', 2:'ที่ไหนที่ความอดทนอีกนิดจะเปลี่ยนพลวัต?', 3:'ครั้งสุดท้ายที่ทำอะไรเพื่อความสุขล้วนๆ คือเมื่อไหร่?', 4:'ด้านไหนของชีวิตที่ต้องการโครงสร้างมากขึ้น?', 5:'กิจวัตรไหนรู้สึกเก่า? จะเปลี่ยนอะไรพรุ่งนี้?', 6:'ใครต้องการความสนใจจากคุณ — และคุณให้ความสนใจตัวเองเพียงพอไหม?', 7:'ด้านไหนสมควรได้รับความสนใจอย่างเงียบๆ มากขึ้นตอนนี้?', 8:'ที่ไหนที่คุณกำลังยั้งตัวเองจากการใช้ศักยภาพเต็มที่?', 9:'คุณกำลังยึดสิ่งที่ไม่ได้รับใช้คุณอีกต่อไปอะไรอยู่?' } } }; /* ── Detect language ── */ function getLang() { const params = new URLSearchParams(window.location.search); if (params.get('lang') && I18N[params.get('lang')]) return params.get('lang'); const path = window.location.pathname.split('/')[1]; if (I18N[path]) return path; const nav = (navigator.language || '').toLowerCase(); if (nav.startsWith('fr-ca') && I18N['fr-ca']) return 'fr-ca'; for (const k of Object.keys(I18N)) { if (nav.startsWith(k)) return k; } return 'en'; } const LANG = getLang(); const T = I18N[LANG] || I18N.en; /* ── RTL ── */ if (LANG === 'ar') { document.documentElement.setAttribute('dir', 'rtl'); document.documentElement.setAttribute('lang', 'ar'); } /* ── Apply translations ── */ function setText(id, text) { const el = document.getElementById(id); if (el) el.textContent = text; } function setHTML(id, html) { const el = document.getElementById(id); if (el) el.innerHTML = html; } setHTML('pageTitle', T.pageTitle); setText('pageSubtitle', T.pageSubtitle); setText('lblBirthdate', T.lblBirthdate); setText('btnCalc', T.btnCalc); setText('lblPY', T.lblPY); setText('lblPM', T.lblPM); setText('lblReflection', T.lblReflection); setText('lblDate', T.lblDate); setText('lblEvent', T.lblEvent); setText('btnSave', T.btnSave); setText('lblTimeline', T.lblTimeline); setText('ctaTitle', T.ctaTitle); setText('ctaText', T.ctaText); setText('ctaBtn', T.ctaBtn); setText('dateErr', T.dateErr); const entryTextEl = document.getElementById('entryText'); if (entryTextEl && T.entryPlaceholder) entryTextEl.placeholder = T.entryPlaceholder; /* ── Populate selects ── */ const daySel = document.getElementById('bDay'); const monthSel = document.getElementById('bMonth'); const yearSel = document.getElementById('bYear'); daySel.innerHTML = ''; for (let i = 1; i <= 31; i++) daySel.innerHTML += ''; monthSel.innerHTML = ''; T.months.forEach(function(m, i) { monthSel.innerHTML += ''; }); yearSel.innerHTML = ''; const curYear = new Date().getFullYear(); for (let y = curYear; y >= 1920; y--) yearSel.innerHTML += ''; /* Set today's date in entry date picker */ const entryDateEl = document.getElementById('entryDate'); const today = new Date(); entryDateEl.value = today.getFullYear() + '-' + String(today.getMonth() + 1).padStart(2, '0') + '-' + String(today.getDate()).padStart(2, '0'); /* ── Numerology reduce ── */ function reduce(n) { while (n > 9 && n !== 11 && n !== 22 && n !== 33) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } n = s; } return n; } function digitSum(n) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } return s; } /* ── Compute cycle ── */ let currentPY = null; let currentPM = null; let birthDay = null; let birthMonth = null; function computeCycle() { const d = parseInt(daySel.value); const m = parseInt(monthSel.value); const y = parseInt(yearSel.value); if (!d || !m || !y) { document.getElementById('dateErr').style.display = 'block'; return; } document.getElementById('dateErr').style.display = 'none'; birthDay = d; birthMonth = m; /* Personal Year = reduce(birthDay + birthMonth + currentYear) */ const now = new Date(); const cYear = now.getFullYear(); const cMonth = now.getMonth() + 1; const pyRaw = digitSum(d) + digitSum(m) + digitSum(cYear); currentPY = reduce(pyRaw); /* Personal Month = reduce(personalYear + currentMonth) */ const pmRaw = currentPY + cMonth; currentPM = reduce(pmRaw); /* Display Personal Year */ const pyTheme = T.pyThemes[currentPY] || T.pyThemes[reduce(currentPY)] || { name: '—', desc: '' }; document.getElementById('pyNum').textContent = currentPY; document.getElementById('pyName').textContent = pyTheme.name; document.getElementById('pyDesc').textContent = pyTheme.desc; /* Display Personal Month */ const pmKey = currentPM > 9 && !T.pmThemes[currentPM] ? reduce(currentPM) : currentPM; const pmTheme = T.pmThemes[pmKey] || { name: '—', desc: '' }; document.getElementById('pmNum').textContent = currentPM; document.getElementById('pmName').textContent = pmTheme.name; document.getElementById('pmDesc').textContent = pmTheme.desc; /* Reflection question — use single-digit for lookup */ const refKey = currentPM > 9 ? reduce(currentPM) : currentPM; document.getElementById('reflectionQ').textContent = T.reflections[refKey] || T.reflections[1]; /* Show cycle display */ document.getElementById('cycleDisplay').classList.add('show'); /* Save birth date to localStorage for convenience */ try { localStorage.setItem('nymero_journal_birth', JSON.stringify({ d: d, m: m, y: y })); } catch(e) {} renderTimeline(); } /* ── Journal storage ── */ function getEntries() { try { return JSON.parse(localStorage.getItem('nymero_journal') || '[]'); } catch(e) { return []; } } function saveEntry() { if (!currentPY) return; const text = document.getElementById('entryText').value.trim(); const date = document.getElementById('entryDate').value; if (!text || !date) return; const entries = getEntries(); entries.push({ date: date, text: text, personalYear: currentPY, personalMonth: currentPM, timestamp: Date.now() }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} // Shooting star on save if(window.NymeroAmbient) NymeroAmbient.shootingStar(); document.getElementById('entryText').value = ''; const confirm = document.getElementById('saveConfirm'); confirm.textContent = T.saved; confirm.style.display = 'block'; setTimeout(function() { confirm.style.display = 'none'; }, 2500); renderTimeline(); } function deleteEntry(timestamp) { if (!confirm(T.deleteConfirm)) return; let entries = getEntries(); entries = entries.filter(function(e) { return e.timestamp !== timestamp; }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} renderTimeline(); } /* ── Render timeline ── */ function renderTimeline() { const el = document.getElementById('timeline'); const entries = getEntries(); if (entries.length === 0) { el.innerHTML = '
' + T.emptyTimeline + '
'; el.classList.add('show'); return; } /* Group by Personal Year */ const grouped = {}; entries.sort(function(a, b) { return b.timestamp - a.timestamp; }); entries.forEach(function(e) { const key = e.personalYear || '?'; if (!grouped[key]) grouped[key] = []; grouped[key].push(e); }); let html = ''; Object.keys(grouped).forEach(function(py) { const pyTheme = T.pyThemes[py] || { name: '' }; html += '
'; html += '
' + T.lblPY + ' ' + py; if (pyTheme.name) html += ' ' + pyTheme.name + ''; html += '
'; grouped[py].forEach(function(entry) { const pmKey = entry.personalMonth > 9 && !T.pmThemes[entry.personalMonth] ? reduce(entry.personalMonth) : entry.personalMonth; const pmTheme = T.pmThemes[pmKey] || { name: '' }; html += '
'; html += '
' + entry.date; if (pmTheme.name) html += '' + T.lblPM + ' ' + entry.personalMonth + ' — ' + pmTheme.name + ''; html += '
'; html += '
' + escapeHtml(entry.text) + '
'; html += ''; html += '
'; }); html += '
'; }); el.innerHTML = html; el.classList.add('show'); } function escapeHtml(str) { var div = document.createElement('div'); div.appendChild(document.createTextNode(str)); return div.innerHTML; } /* ── Restore saved birth date ── */ try { var saved = JSON.parse(localStorage.getItem('nymero_journal_birth')); if (saved && saved.d && saved.m && saved.y) { daySel.value = saved.d; monthSel.value = saved.m; yearSel.value = saved.y; computeCycle(); } } catch(e) {} , deleteConfirm: 'Eliminare questa voce?', emptyTimeline: 'Il tuo diario è vuoto. Inizia annotando qualcosa su oggi.', dateErr: 'Seleziona la tua data di nascita completa', entryPlaceholder: 'Una conversazione che ti è rimasta, una decisione presa, un sentimento difficile da nominare...', day: 'Giorno', month: 'Mese', year: 'Anno', months: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], pyThemes: { 1:{name:'Nuovi Inizi',desc:'Un anno di inizi freschi e indipendenza.'}, 2:{name:'Pazienza e Collaborazione',desc:'Un anno di cooperazione e crescita naturale.'}, 3:{name:'Espressione e Gioia',desc:'Un anno di creatività e connessioni sociali.'}, 4:{name:'Fondamenta e Disciplina',desc:'Un anno di costruzione e lavoro solido.'}, 5:{name:'Cambiamento e Libertà',desc:'Un anno di movimento e nuove esperienze.'}, 6:{name:'Responsabilità e Amore',desc:'Un anno centrato sulla casa e i cari.'}, 7:{name:'Riflessione e Interiorità',desc:'Un anno di solitudine, studio e ascolto interiore.'}, 8:{name:'Potere e Successo',desc:'Un anno di ambizione e affermazione personale.'}, 9:{name:'Rilascio e Completamento',desc:'Un anno per lasciar andare e fare spazio.'}, 11:{name:'Risveglio',desc:'Un anno maestro di intuizione e crescita spirituale.'}, 22:{name:'Maestro Costruttore',desc:'Un anno maestro di progetti visionari.'}, 33:{name:'Maestro Insegnante',desc:'Un anno maestro di compassione e guarigione.'} }, pmThemes: { 1:{name:'Iniziativa',desc:'Un mese per iniziare.'},2:{name:'Cooperazione',desc:'Un mese per ascoltare.'}, 3:{name:'Creatività',desc:'Un mese per esprimerti.'},4:{name:'Struttura',desc:'Un mese per organizzare.'}, 5:{name:'Avventura',desc:'Un mese per provare.'},6:{name:'Cura',desc:'Un mese per prendersi cura.'}, 7:{name:'Introspezione',desc:'Un mese per andare dentro.'},8:{name:'Ambizione',desc:'Un mese per avanzare.'}, 9:{name:'Completamento',desc:'Un mese per rilasciare.'},11:{name:'Lucidità',desc:'Un mese di consapevolezza elevata.'}, 22:{name:'Visione',desc:'Un mese per costruire in grande.'},33:{name:'Compassione',desc:'Un mese di empatia profonda.'} }, reflections: { 1:'Cosa è pronto a iniziare nella tua vita? Quale piccolo primo passo potresti fare?', 2:'Dove un po\' più di pazienza cambierebbe la dinamica?', 3:'Quando hai fatto l\'ultima volta qualcosa puramente per il piacere?', 4:'Quale area della tua vita ha bisogno di più struttura?', 5:'Quale routine ti sembra logora? Cosa cambieresti domani?', 6:'Chi ha bisogno della tua attenzione — e stai dando abbastanza attenzione a te stesso?', 7:'Quale area merita più attenzione silenziosa in questo momento?', 8:'Dove ti stai trattenendo dall\'usare tutta la tua capacità?', 9:'Cosa stai trattenendo che non ti serve più?' } }, ja: { pageTitle: 'あなたの数秘術ジャーナル', pageSubtitle: '占いではありません。あなたの人生に起きていることを静かに見つめる場所です。数字がそこに意味の層を加えてくれます。', lblBirthdate: '生年月日', btnCalc: 'サイクルを表示', lblPY: 'パーソナルイヤー', lblPM: 'パーソナルマンス', lblReflection: '今月の振り返り', lblDate: '日付', lblEvent: '何がありましたか?何を感じていますか?', btnSave: '保存する', saved: '保存しました!', lblTimeline: 'あなたのタイムライン', ctaTitle: '1年をもっと深く見てみませんか?', ctaText: 'バースデーレポートはあなたのパーソナルイヤーサイクルを月ごとに詳しく解説します。', ctaBtn: 'ウェイトリストに参加', deleteConfirm: 'このエントリーを削除しますか?', emptyTimeline: 'ジャーナルは空です。今日のことを書いてみましょう。', dateErr: '生年月日をすべて選択してください', entryPlaceholder: '心に残った会話、下した決断、名付けがたい気持ち...', day: '日', month: '月', year: '年', months: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'], pyThemes: { 1:{name:'新しい始まり',desc:'新たなスタート、独立、種を蒔く年。'}, 2:{name:'忍耐とパートナーシップ',desc:'協力、感受性、自然な成長の年。'}, 3:{name:'表現と喜び',desc:'創造性、社会的つながり、楽しさの再発見の年。'}, 4:{name:'基盤と規律',desc:'建設、構造、地道な努力の年。'}, 5:{name:'変化と自由',desc:'動き、新しい経験、予想外への挑戦の年。'}, 6:{name:'責任と愛',desc:'家庭、家族、大切な人への献身の年。'}, 7:{name:'内省と内なる仕事',desc:'孤独、学び、内なる声に耳を傾ける年。'}, 8:{name:'力と達成',desc:'野心、経済的焦点、自分の権威を確立する年。'}, 9:{name:'手放しと完了',desc:'手放し、未完を片付け、次への空間を作る年。'}, 11:{name:'覚醒',desc:'直感、インスピレーション、精神的成長のマスター年。'}, 22:{name:'マスタービルダー',desc:'壮大な夢を現実にするマスター年。'}, 33:{name:'マスターティーチャー',desc:'思いやり、癒し、周囲を高めるマスター年。'} }, pmThemes: { 1:{name:'主導',desc:'何かを始める月。'},2:{name:'協力',desc:'聴き、協力する月。'}, 3:{name:'創造',desc:'自分を表現する月。'},4:{name:'構築',desc:'整理し構築する月。'}, 5:{name:'冒険',desc:'新しいことを試す月。'},6:{name:'養育',desc:'大切な人を気遣う月。'}, 7:{name:'内省',desc:'内に向かう月。'},8:{name:'野心',desc:'前に進む月。'}, 9:{name:'完了',desc:'手放し振り返る月。'},11:{name:'洞察',desc:'意識が高まる月。'}, 22:{name:'ビジョン',desc:'大きく構築する月。'},33:{name:'慈悲',desc:'深い共感の月。'} }, reflections: { 1:'今、あなたの人生で始まる準備ができていることは何ですか?小さな一歩は何でしょう?', 2:'もう少し忍耐を持てば、状況が変わる場所はどこですか?', 3:'最後に純粋に楽しいことをしたのはいつですか?', 4:'あなたの人生のどの分野にもっと構造が必要ですか?', 5:'どのルーティンが古く感じますか?明日何を変えますか?', 6:'誰があなたの注意を必要としていますか?自分自身にも十分な注意を向けていますか?', 7:'今、どの分野がもっと静かな注意に値しますか?', 8:'どこで全力を出すことを控えていますか?', 9:'もう役に立たないのに握りしめているものは何ですか?' } }, ko: { pageTitle: '당신의 수비학 저널', pageSubtitle: '점술이 아닙니다. 당신의 삶에서 일어나는 일을 조용히 관찰하고, 숫자가 의미의 층을 더해주는 공간입니다.', lblBirthdate: '생년월일', btnCalc: '내 주기 보기', lblPY: '개인 연도', lblPM: '개인 월', lblReflection: '이달의 성찰', lblDate: '날짜', lblEvent: '무슨 일이 있었나요? 무엇을 느끼고 있나요?', btnSave: '저장', saved: '저장되었습니다!', lblTimeline: '타임라인', ctaTitle: '올해를 더 깊이 살펴보고 싶으세요?', ctaText: '생일 리포트는 당신의 개인 연도 주기를 월별로 자세히 안내합니다.', ctaBtn: '대기 목록 참여', deleteConfirm: '이 항목을 삭제하시겠습니까?', emptyTimeline: '저널이 비어 있습니다. 오늘에 대해 무언가 적어보세요.', dateErr: '생년월일을 모두 선택해 주세요', entryPlaceholder: '마음에 남은 대화, 내린 결정, 이름 붙이기 어려운 감정...', day: '일', month: '월', year: '년', months: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'], pyThemes: { 1:{name:'새로운 시작',desc:'새 출발, 독립, 씨앗을 심는 해.'}, 2:{name:'인내와 파트너십',desc:'협력, 감수성, 자연스러운 성장의 해.'}, 3:{name:'표현과 기쁨',desc:'창의성, 사회적 연결, 즐거움 재발견의 해.'}, 4:{name:'기초와 규율',desc:'건설, 구조, 견실한 노력의 해.'}, 5:{name:'변화와 자유',desc:'움직임, 새로운 경험, 예상 밖의 도전의 해.'}, 6:{name:'책임과 사랑',desc:'가정, 가족, 소중한 사람에 집중하는 해.'}, 7:{name:'성찰과 내면 작업',desc:'고독, 학습, 내면의 목소리에 귀 기울이는 해.'}, 8:{name:'힘과 성취',desc:'야망, 재정적 집중, 권위를 세우는 해.'}, 9:{name:'해방과 완성',desc:'놓아주기, 마무리, 다음을 위한 공간 만들기의 해.'}, 11:{name:'각성',desc:'직관과 영적 성장의 마스터 해.'}, 22:{name:'마스터 빌더',desc:'큰 꿈을 현실로 만드는 마스터 해.'}, 33:{name:'마스터 티처',desc:'연민과 치유의 마스터 해.'} }, pmThemes: { 1:{name:'주도',desc:'시작하는 달.'},2:{name:'협력',desc:'듣고 협력하는 달.'}, 3:{name:'창조',desc:'표현하는 달.'},4:{name:'구축',desc:'정리하고 세우는 달.'}, 5:{name:'모험',desc:'새로운 것을 시도하는 달.'},6:{name:'돌봄',desc:'소중한 이를 돌보는 달.'}, 7:{name:'내성',desc:'내면으로 향하는 달.'},8:{name:'야망',desc:'앞으로 나아가는 달.'}, 9:{name:'완성',desc:'놓아주고 돌아보는 달.'},11:{name:'통찰',desc:'의식이 높아지는 달.'}, 22:{name:'비전',desc:'크게 구축하는 달.'},33:{name:'자비',desc:'깊은 공감의 달.'} }, reflections: { 1:'지금 당신의 삶에서 시작할 준비가 된 것은 무엇인가요?', 2:'조금 더 인내하면 상황이 달라질 곳은 어디인가요?', 3:'마지막으로 순수하게 즐거운 일을 한 것은 언제인가요?', 4:'삶의 어떤 영역에 더 많은 구조가 필요한가요?', 5:'어떤 루틴이 낡았다고 느끼나요? 내일 무엇을 바꾸겠나요?', 6:'누가 당신의 관심이 필요한가요 — 자신에게 충분한 관심을 주고 있나요?', 7:'지금 어떤 영역이 더 조용한 관심을 받을 가치가 있나요?', 8:'어디서 전력을 다하지 못하고 있나요?', 9:'더 이상 도움이 되지 않는 것을 무엇을 붙잡고 있나요?' } }, nl: { pageTitle: 'Jouw Numerologie Dagboek', pageSubtitle: 'Geen glazen bol. Een rustige plek om te merken wat er in je leven gebeurt — en je getallen daar een laag van betekenis aan te laten geven.', lblBirthdate: 'Je geboortedatum', btnCalc: 'Toon mijn cyclus', lblPY: 'Persoonlijk Jaar', lblPM: 'Persoonlijke Maand', lblReflection: 'Maandelijkse Reflectie', lblDate: 'Datum', lblEvent: 'Wat is er gebeurd? Wat voel je?', btnSave: 'Opslaan', saved: 'Opgeslagen!', lblTimeline: 'Jouw Tijdlijn', ctaTitle: 'Wil je een diepere blik op je jaar?', ctaText: 'Je verjaardagsrapport brengt je persoonlijke jaarcyclus in kaart — maand voor maand, met begeleiding afgestemd op je getallen.', ctaBtn: 'Schrijf je in op de wachtlijst', deleteConfirm: 'Dit item verwijderen?', emptyTimeline: 'Je dagboek is leeg. Begin met iets over vandaag op te schrijven.', dateErr: 'Selecteer je volledige geboortedatum', entryPlaceholder: 'Een gesprek dat je bijbleef, een beslissing, een gevoel dat je moeilijk kunt benoemen...', day: 'Dag', month: 'Maand', year: 'Jaar', months: ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'], pyThemes: { 1:{name:'Nieuw Begin',desc:'Een jaar van frisse starts en onafhankelijkheid.'}, 2:{name:'Geduld & Partnerschap',desc:'Een jaar van samenwerking en natuurlijke groei.'}, 3:{name:'Expressie & Vreugde',desc:'Een jaar van creativiteit en sociale verbindingen.'}, 4:{name:'Fundament & Discipline',desc:'Een jaar van bouwen en solide werk.'}, 5:{name:'Verandering & Vrijheid',desc:'Een jaar van beweging en nieuwe ervaringen.'}, 6:{name:'Verantwoordelijkheid & Liefde',desc:'Een jaar gericht op thuis en dierbaren.'}, 7:{name:'Reflectie & Innerlijk Werk',desc:'Een jaar van stilte en innerlijk luisteren.'}, 8:{name:'Kracht & Prestatie',desc:'Een jaar van ambitie en zelfbevestiging.'}, 9:{name:'Loslaten & Voltooiing',desc:'Een jaar om los te laten en ruimte te maken.'}, 11:{name:'Ontwaken',desc:'Een meesterjaar van intuïtie en spirituele groei.'}, 22:{name:'Meesterbouwer',desc:'Een meesterjaar van visionaire projecten.'}, 33:{name:'Meesterleraar',desc:'Een meesterjaar van compassie en genezing.'} }, pmThemes: { 1:{name:'Initiatief',desc:'Een maand om te beginnen.'},2:{name:'Samenwerking',desc:'Een maand om te luisteren.'}, 3:{name:'Creativiteit',desc:'Een maand voor expressie.'},4:{name:'Structuur',desc:'Een maand om te organiseren.'}, 5:{name:'Avontuur',desc:'Een maand om iets nieuws te proberen.'},6:{name:'Zorg',desc:'Een maand om te zorgen.'}, 7:{name:'Introspectie',desc:'Een maand naar binnen.'},8:{name:'Ambitie',desc:'Een maand om vooruit te gaan.'}, 9:{name:'Voltooiing',desc:'Een maand om los te laten.'},11:{name:'Inzicht',desc:'Een maand van verhoogd bewustzijn.'}, 22:{name:'Visie',desc:'Een maand om groot te bouwen.'},33:{name:'Compassie',desc:'Een maand van diepe empathie.'} }, reflections: { 1:'Wat voelt er klaar om te beginnen in je leven? Welke kleine eerste stap kun je zetten?', 2:'Waar zou wat meer geduld de dynamiek veranderen?', 3:'Wanneer deed je voor het laatst iets puur voor het plezier?', 4:'Welk gebied van je leven heeft meer structuur nodig?', 5:'Welke routine voelt versleten? Wat zou je morgen veranderen?', 6:'Wie heeft je aandacht nodig — en geef je jezelf genoeg aandacht?', 7:'Welk gebied verdient nu meer stille aandacht?', 8:'Waar houd je jezelf tegen om je volle capaciteit te benutten?', 9:'Wat hou je vast dat je niet meer dient?' } }, sv: { pageTitle: 'Din Numerologi-Dagbok', pageSubtitle: 'Ingen kristallkula. Ett lugnt utrymme att lägga märke till vad som händer i ditt liv — och låta dina siffror tillföra ett lager av mening.', lblBirthdate: 'Ditt födelsedatum', btnCalc: 'Visa min cykel', lblPY: 'Personligt År', lblPM: 'Personlig Månad', lblReflection: 'Månadens Reflektion', lblDate: 'Datum', lblEvent: 'Vad hände? Vad känner du?', btnSave: 'Spara', saved: 'Sparat!', lblTimeline: 'Din Tidslinje', ctaTitle: 'Vill du ha en djupare blick på ditt år?', ctaText: 'Din födelsedagsrapport kartlägger din personliga årscykel — månad för månad, med vägledning anpassad till dina siffror.', ctaBtn: 'Gå med i väntelistan', deleteConfirm: 'Ta bort denna post?', emptyTimeline: 'Din dagbok är tom. Börja med att notera något om idag.', dateErr: 'Välj ditt fullständiga födelsedatum', entryPlaceholder: 'Ett samtal som stannade kvar, ett beslut du tog, en känsla svår att sätta ord på...', day: 'Dag', month: 'Månad', year: 'År', months: ['Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December'], pyThemes: { 1:{name:'Nya Början',desc:'Ett år av nya starter och oberoende.'}, 2:{name:'Tålamod & Partnerskap',desc:'Ett år av samarbete och naturlig tillväxt.'}, 3:{name:'Uttryck & Glädje',desc:'Ett år av kreativitet och sociala band.'}, 4:{name:'Grund & Disciplin',desc:'Ett år av byggande och solid ansträngning.'}, 5:{name:'Förändring & Frihet',desc:'Ett år av rörelse och nya upplevelser.'}, 6:{name:'Ansvar & Kärlek',desc:'Ett år fokuserat på hem och nära.'}, 7:{name:'Reflektion & Inre Arbete',desc:'Ett år av ensamhet och inre lyssnande.'}, 8:{name:'Kraft & Prestation',desc:'Ett år av ambition och självhävdelse.'}, 9:{name:'Släppa Taget & Avslutning',desc:'Ett år att släppa och skapa utrymme.'}, 11:{name:'Uppvaknande',desc:'Ett mästarår av intuition och andlig tillväxt.'}, 22:{name:'Mästarbyggare',desc:'Ett mästarår av visionära projekt.'}, 33:{name:'Mästarlärare',desc:'Ett mästarår av medkänsla och helande.'} }, pmThemes: { 1:{name:'Initiativ',desc:'En månad att börja.'},2:{name:'Samarbete',desc:'En månad att lyssna.'}, 3:{name:'Kreativitet',desc:'En månad att uttrycka dig.'},4:{name:'Struktur',desc:'En månad att organisera.'}, 5:{name:'Äventyr',desc:'En månad att prova nytt.'},6:{name:'Omsorg',desc:'En månad att ta hand om.'}, 7:{name:'Introspektion',desc:'En månad att gå inåt.'},8:{name:'Ambition',desc:'En månad att gå framåt.'}, 9:{name:'Avslutning',desc:'En månad att släppa.'},11:{name:'Insikt',desc:'En månad av höjd medvetenhet.'}, 22:{name:'Vision',desc:'En månad att bygga stort.'},33:{name:'Medkänsla',desc:'En månad av djup empati.'} }, reflections: { 1:'Vad känns redo att börja i ditt liv? Vilket litet första steg kan du ta?', 2:'Var skulle lite mer tålamod förändra dynamiken?', 3:'När gjorde du senast något enbart för glädjens skull?', 4:'Vilket område i ditt liv behöver mer struktur?', 5:'Vilken rutin känns utsliten? Vad skulle du ändra imorgon?', 6:'Vem behöver din uppmärksamhet — och ger du dig själv tillräckligt?', 7:'Vilket område förtjänar mer tyst uppmärksamhet just nu?', 8:'Var håller du dig tillbaka från att använda hela din kapacitet?', 9:'Vad håller du fast vid som inte längre tjänar dig?' } }, ar: { pageTitle: 'دفتر الأعداد التأملي', pageSubtitle: 'ليست كرة بلورية. مساحة هادئة لملاحظة ما يحدث في حياتك — ودع أرقامك تضيف طبقة من المعنى.', lblBirthdate: 'تاريخ ميلادك', btnCalc: 'عرض دورتي', lblPY: 'السنة الشخصية', lblPM: 'الشهر الشخصي', lblReflection: 'تأمل الشهر', lblDate: 'التاريخ', lblEvent: 'ماذا حدث؟ ماذا تشعر؟', btnSave: 'حفظ', saved: 'تم الحفظ!', lblTimeline: 'جدولك الزمني', ctaTitle: 'هل تريد نظرة أعمق على عامك؟', ctaText: 'تقرير عيد ميلادك يرسم دورتك الشخصية شهرًا بشهر، مع إرشادات مصممة لأرقامك.', ctaBtn: 'انضم لقائمة الانتظار', deleteConfirm: 'حذف هذا الإدخال؟', emptyTimeline: 'دفترك فارغ. ابدأ بتدوين شيء عن اليوم.', dateErr: 'يرجى اختيار تاريخ ميلادك الكامل', entryPlaceholder: 'محادثة بقيت معك، قرار اتخذته، شعور يصعب تسميته...', day: 'اليوم', month: 'الشهر', year: 'السنة', months: ['يناير','فبراير','مارس','أبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'], pyThemes: { 1:{name:'بدايات جديدة',desc:'سنة انطلاقات جديدة واستقلالية.'}, 2:{name:'صبر وشراكة',desc:'سنة تعاون ونمو طبيعي.'}, 3:{name:'تعبير وفرح',desc:'سنة إبداع وروابط اجتماعية.'}, 4:{name:'أساس وانضباط',desc:'سنة بناء وعمل متين.'}, 5:{name:'تغيير وحرية',desc:'سنة حركة وتجارب جديدة.'}, 6:{name:'مسؤولية وحب',desc:'سنة تركز على البيت والأحباء.'}, 7:{name:'تأمل وعمل داخلي',desc:'سنة عزلة ودراسة واستماع داخلي.'}, 8:{name:'قوة وإنجاز',desc:'سنة طموح وتأكيد للذات.'}, 9:{name:'تحرر واكتمال',desc:'سنة للتخلي وفتح المجال.'}, 11:{name:'يقظة',desc:'سنة أستاذية من الحدس والنمو الروحي.'}, 22:{name:'الباني الأستاذ',desc:'سنة أستاذية من المشاريع الرؤيوية.'}, 33:{name:'المعلم الأستاذ',desc:'سنة أستاذية من الرحمة والشفاء.'} }, pmThemes: { 1:{name:'مبادرة',desc:'شهر للبدء.'},2:{name:'تعاون',desc:'شهر للإصغاء.'}, 3:{name:'إبداع',desc:'شهر للتعبير.'},4:{name:'هيكلة',desc:'شهر للتنظيم.'}, 5:{name:'مغامرة',desc:'شهر لتجربة الجديد.'},6:{name:'رعاية',desc:'شهر للاعتناء.'}, 7:{name:'تأمل',desc:'شهر للتوجه إلى الداخل.'},8:{name:'طموح',desc:'شهر للمضي قدمًا.'}, 9:{name:'اكتمال',desc:'شهر للتحرر.'},11:{name:'بصيرة',desc:'شهر من الوعي المتزايد.'}, 22:{name:'رؤية',desc:'شهر للبناء الكبير.'},33:{name:'رحمة',desc:'شهر من التعاطف العميق.'} }, reflections: { 1:'ما الذي يبدو مستعدًا للبدء في حياتك الآن؟ ما هي الخطوة الأولى الصغيرة؟', 2:'أين سيغير القليل من الصبر الديناميكية؟', 3:'متى كانت آخر مرة فعلت شيئًا لمتعة خالصة؟', 4:'أي مجال من حياتك يحتاج مزيدًا من الهيكلة؟', 5:'أي روتين يبدو باليًا؟ ماذا ستغير غدًا؟', 6:'من يحتاج انتباهك — وهل تعطي نفسك اهتمامًا كافيًا؟', 7:'أي مجال يستحق مزيدًا من الاهتمام الهادئ الآن؟', 8:'أين تمنع نفسك من استخدام كامل قدراتك؟', 9:'ما الذي تتشبث به ولم يعد يخدمك؟' } }, th: { pageTitle: 'สมุดบันทึกตัวเลขแห่งการใคร่ครวญ', pageSubtitle: 'ไม่ใช่การทำนาย แต่เป็นพื้นที่เงียบสงบเพื่อสังเกตสิ่งที่เกิดขึ้นในชีวิตคุณ — และให้ตัวเลขเพิ่มชั้นความหมาย', lblBirthdate: 'วันเกิดของคุณ', btnCalc: 'แสดงวงจรของฉัน', lblPY: 'ปีส่วนตัว', lblPM: 'เดือนส่วนตัว', lblReflection: 'การใคร่ครวญประจำเดือน', lblDate: 'วันที่', lblEvent: 'เกิดอะไรขึ้น? คุณรู้สึกอย่างไร?', btnSave: 'บันทึก', saved: 'บันทึกแล้ว!', lblTimeline: 'ไทม์ไลน์ของคุณ', ctaTitle: 'อยากมองลึกขึ้นในปีข้างหน้า?', ctaText: 'รายงานวันเกิดจะวิเคราะห์วงจรปีส่วนตัวทีละเดือน พร้อมคำแนะนำที่ปรับตามตัวเลขของคุณ', ctaBtn: 'เข้าร่วมรายชื่อรอ', deleteConfirm: 'ลบรายการนี้?', emptyTimeline: 'สมุดบันทึกของคุณยังว่าง เริ่มบันทึกเรื่องราวของวันนี้', dateErr: 'กรุณาเลือกวันเกิดให้ครบ', entryPlaceholder: 'บทสนทนาที่ยังติดอยู่ในใจ, การตัดสินใจที่คุณทำ, ความรู้สึกที่ตั้งชื่อได้ยาก...', day: 'วัน', month: 'เดือน', year: 'ปี', months: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'], pyThemes: { 1:{name:'เริ่มต้นใหม่',desc:'ปีแห่งการเริ่มต้นสดใหม่และความเป็นอิสระ'}, 2:{name:'อดทนและเป็นหุ้นส่วน',desc:'ปีแห่งความร่วมมือและการเติบโตตามธรรมชาติ'}, 3:{name:'การแสดงออกและความสุข',desc:'ปีแห่งความคิดสร้างสรรค์และการเชื่อมต่อทางสังคม'}, 4:{name:'รากฐานและวินัย',desc:'ปีแห่งการสร้างและงานที่มั่นคง'}, 5:{name:'การเปลี่ยนแปลงและอิสรภาพ',desc:'ปีแห่งการเคลื่อนไหวและประสบการณ์ใหม่'}, 6:{name:'ความรับผิดชอบและความรัก',desc:'ปีที่มุ่งเน้นบ้านและคนที่รัก'}, 7:{name:'การใคร่ครวญและงานภายใน',desc:'ปีแห่งความสงบ การเรียนรู้ และการฟังภายใน'}, 8:{name:'พลังและความสำเร็จ',desc:'ปีแห่งความทะเยอทะยานและการยืนยันตัวเอง'}, 9:{name:'ปล่อยวางและสมบูรณ์',desc:'ปีแห่งการปล่อยวางและสร้างพื้นที่'}, 11:{name:'ตื่นรู้',desc:'ปีมาสเตอร์แห่งสัญชาตญาณและการเติบโตทางจิตวิญญาณ'}, 22:{name:'ผู้สร้างมาสเตอร์',desc:'ปีมาสเตอร์แห่งโครงการที่มีวิสัยทัศน์'}, 33:{name:'ครูมาสเตอร์',desc:'ปีมาสเตอร์แห่งความเมตตาและการเยียวยา'} }, pmThemes: { 1:{name:'ริเริ่ม',desc:'เดือนแห่งการเริ่มต้น'},2:{name:'ร่วมมือ',desc:'เดือนแห่งการฟัง'}, 3:{name:'สร้างสรรค์',desc:'เดือนแห่งการแสดงออก'},4:{name:'โครงสร้าง',desc:'เดือนแห่งการจัดระเบียบ'}, 5:{name:'ผจญภัย',desc:'เดือนแห่งการลองสิ่งใหม่'},6:{name:'ดูแล',desc:'เดือนแห่งการเอาใจใส่'}, 7:{name:'ใคร่ครวญ',desc:'เดือนแห่งการมองเข้าข้างใน'},8:{name:'ทะเยอทะยาน',desc:'เดือนแห่งการก้าวไปข้างหน้า'}, 9:{name:'สมบูรณ์',desc:'เดือนแห่งการปล่อยวาง'},11:{name:'หยั่งรู้',desc:'เดือนแห่งการตระหนักรู้ที่สูงขึ้น'}, 22:{name:'วิสัยทัศน์',desc:'เดือนแห่งการสร้างสิ่งยิ่งใหญ่'},33:{name:'เมตตา',desc:'เดือนแห่งความเห็นอกเห็นใจลึกซึ้ง'} }, reflections: { 1:'อะไรรู้สึกพร้อมที่จะเริ่มต้นในชีวิตคุณตอนนี้? ก้าวเล็กๆ แรกคืออะไร?', 2:'ที่ไหนที่ความอดทนอีกนิดจะเปลี่ยนพลวัต?', 3:'ครั้งสุดท้ายที่ทำอะไรเพื่อความสุขล้วนๆ คือเมื่อไหร่?', 4:'ด้านไหนของชีวิตที่ต้องการโครงสร้างมากขึ้น?', 5:'กิจวัตรไหนรู้สึกเก่า? จะเปลี่ยนอะไรพรุ่งนี้?', 6:'ใครต้องการความสนใจจากคุณ — และคุณให้ความสนใจตัวเองเพียงพอไหม?', 7:'ด้านไหนสมควรได้รับความสนใจอย่างเงียบๆ มากขึ้นตอนนี้?', 8:'ที่ไหนที่คุณกำลังยั้งตัวเองจากการใช้ศักยภาพเต็มที่?', 9:'คุณกำลังยึดสิ่งที่ไม่ได้รับใช้คุณอีกต่อไปอะไรอยู่?' } } }; /* ── Detect language ── */ function getLang() { const params = new URLSearchParams(window.location.search); if (params.get('lang') && I18N[params.get('lang')]) return params.get('lang'); const path = window.location.pathname.split('/')[1]; if (I18N[path]) return path; const nav = (navigator.language || '').toLowerCase(); if (nav.startsWith('fr-ca') && I18N['fr-ca']) return 'fr-ca'; for (const k of Object.keys(I18N)) { if (nav.startsWith(k)) return k; } return 'en'; } const LANG = getLang(); const T = I18N[LANG] || I18N.en; /* ── RTL ── */ if (LANG === 'ar') { document.documentElement.setAttribute('dir', 'rtl'); document.documentElement.setAttribute('lang', 'ar'); } /* ── Apply translations ── */ function setText(id, text) { const el = document.getElementById(id); if (el) el.textContent = text; } function setHTML(id, html) { const el = document.getElementById(id); if (el) el.innerHTML = html; } setHTML('pageTitle', T.pageTitle); setText('pageSubtitle', T.pageSubtitle); setText('lblBirthdate', T.lblBirthdate); setText('btnCalc', T.btnCalc); setText('lblPY', T.lblPY); setText('lblPM', T.lblPM); setText('lblReflection', T.lblReflection); setText('lblDate', T.lblDate); setText('lblEvent', T.lblEvent); setText('btnSave', T.btnSave); setText('lblTimeline', T.lblTimeline); setText('ctaTitle', T.ctaTitle); setText('ctaText', T.ctaText); setText('ctaBtn', T.ctaBtn); setText('dateErr', T.dateErr); const entryTextEl = document.getElementById('entryText'); if (entryTextEl && T.entryPlaceholder) entryTextEl.placeholder = T.entryPlaceholder; /* ── Populate selects ── */ const daySel = document.getElementById('bDay'); const monthSel = document.getElementById('bMonth'); const yearSel = document.getElementById('bYear'); daySel.innerHTML = ''; for (let i = 1; i <= 31; i++) daySel.innerHTML += ''; monthSel.innerHTML = ''; T.months.forEach(function(m, i) { monthSel.innerHTML += ''; }); yearSel.innerHTML = ''; const curYear = new Date().getFullYear(); for (let y = curYear; y >= 1920; y--) yearSel.innerHTML += ''; /* Set today's date in entry date picker */ const entryDateEl = document.getElementById('entryDate'); const today = new Date(); entryDateEl.value = today.getFullYear() + '-' + String(today.getMonth() + 1).padStart(2, '0') + '-' + String(today.getDate()).padStart(2, '0'); /* ── Numerology reduce ── */ function reduce(n) { while (n > 9 && n !== 11 && n !== 22 && n !== 33) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } n = s; } return n; } function digitSum(n) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } return s; } /* ── Compute cycle ── */ let currentPY = null; let currentPM = null; let birthDay = null; let birthMonth = null; function computeCycle() { const d = parseInt(daySel.value); const m = parseInt(monthSel.value); const y = parseInt(yearSel.value); if (!d || !m || !y) { document.getElementById('dateErr').style.display = 'block'; return; } document.getElementById('dateErr').style.display = 'none'; birthDay = d; birthMonth = m; /* Personal Year = reduce(birthDay + birthMonth + currentYear) */ const now = new Date(); const cYear = now.getFullYear(); const cMonth = now.getMonth() + 1; const pyRaw = digitSum(d) + digitSum(m) + digitSum(cYear); currentPY = reduce(pyRaw); /* Personal Month = reduce(personalYear + currentMonth) */ const pmRaw = currentPY + cMonth; currentPM = reduce(pmRaw); /* Display Personal Year */ const pyTheme = T.pyThemes[currentPY] || T.pyThemes[reduce(currentPY)] || { name: '—', desc: '' }; document.getElementById('pyNum').textContent = currentPY; document.getElementById('pyName').textContent = pyTheme.name; document.getElementById('pyDesc').textContent = pyTheme.desc; /* Display Personal Month */ const pmKey = currentPM > 9 && !T.pmThemes[currentPM] ? reduce(currentPM) : currentPM; const pmTheme = T.pmThemes[pmKey] || { name: '—', desc: '' }; document.getElementById('pmNum').textContent = currentPM; document.getElementById('pmName').textContent = pmTheme.name; document.getElementById('pmDesc').textContent = pmTheme.desc; /* Reflection question — use single-digit for lookup */ const refKey = currentPM > 9 ? reduce(currentPM) : currentPM; document.getElementById('reflectionQ').textContent = T.reflections[refKey] || T.reflections[1]; /* Show cycle display */ document.getElementById('cycleDisplay').classList.add('show'); /* Save birth date to localStorage for convenience */ try { localStorage.setItem('nymero_journal_birth', JSON.stringify({ d: d, m: m, y: y })); } catch(e) {} renderTimeline(); } /* ── Journal storage ── */ function getEntries() { try { return JSON.parse(localStorage.getItem('nymero_journal') || '[]'); } catch(e) { return []; } } function saveEntry() { if (!currentPY) return; const text = document.getElementById('entryText').value.trim(); const date = document.getElementById('entryDate').value; if (!text || !date) return; const entries = getEntries(); entries.push({ date: date, text: text, personalYear: currentPY, personalMonth: currentPM, timestamp: Date.now() }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} // Shooting star on save if(window.NymeroAmbient) NymeroAmbient.shootingStar(); document.getElementById('entryText').value = ''; const confirm = document.getElementById('saveConfirm'); confirm.textContent = T.saved; confirm.style.display = 'block'; setTimeout(function() { confirm.style.display = 'none'; }, 2500); renderTimeline(); } function deleteEntry(timestamp) { if (!confirm(T.deleteConfirm)) return; let entries = getEntries(); entries = entries.filter(function(e) { return e.timestamp !== timestamp; }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} renderTimeline(); } /* ── Render timeline ── */ function renderTimeline() { const el = document.getElementById('timeline'); const entries = getEntries(); if (entries.length === 0) { el.innerHTML = '
' + T.emptyTimeline + '
'; el.classList.add('show'); return; } /* Group by Personal Year */ const grouped = {}; entries.sort(function(a, b) { return b.timestamp - a.timestamp; }); entries.forEach(function(e) { const key = e.personalYear || '?'; if (!grouped[key]) grouped[key] = []; grouped[key].push(e); }); let html = ''; Object.keys(grouped).forEach(function(py) { const pyTheme = T.pyThemes[py] || { name: '' }; html += '
'; html += '
' + T.lblPY + ' ' + py; if (pyTheme.name) html += ' ' + pyTheme.name + ''; html += '
'; grouped[py].forEach(function(entry) { const pmKey = entry.personalMonth > 9 && !T.pmThemes[entry.personalMonth] ? reduce(entry.personalMonth) : entry.personalMonth; const pmTheme = T.pmThemes[pmKey] || { name: '' }; html += '
'; html += '
' + entry.date; if (pmTheme.name) html += '' + T.lblPM + ' ' + entry.personalMonth + ' — ' + pmTheme.name + ''; html += '
'; html += '
' + escapeHtml(entry.text) + '
'; html += ''; html += '
'; }); html += '
'; }); el.innerHTML = html; el.classList.add('show'); } function escapeHtml(str) { var div = document.createElement('div'); div.appendChild(document.createTextNode(str)); return div.innerHTML; } /* ── Restore saved birth date ── */ try { var saved = JSON.parse(localStorage.getItem('nymero_journal_birth')); if (saved && saved.d && saved.m && saved.y) { daySel.value = saved.d; monthSel.value = saved.m; yearSel.value = saved.y; computeCycle(); } } catch(e) {} , deleteConfirm: 'Diesen Eintrag löschen?', emptyTimeline: 'Dein Tagebuch ist leer. Beginne damit, etwas über heute zu notieren.', dateErr: 'Bitte wähle dein vollständiges Geburtsdatum', entryPlaceholder: 'Ein Gespräch, das dir geblieben ist, eine Entscheidung, ein Gefühl, das schwer zu benennen ist...', day: 'Tag', month: 'Monat', year: 'Jahr', months: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], pyThemes: { 1:{name:'Neuanfänge',desc:'Ein Jahr frischer Starts und Unabhängigkeit.'}, 2:{name:'Geduld & Partnerschaft',desc:'Ein Jahr der Kooperation und des natürlichen Wachstums.'}, 3:{name:'Ausdruck & Freude',desc:'Ein Jahr der Kreativität und sozialer Verbindungen.'}, 4:{name:'Fundament & Disziplin',desc:'Ein Jahr des Aufbaus und solider Arbeit.'}, 5:{name:'Wandel & Freiheit',desc:'Ein Jahr der Bewegung und neuer Erfahrungen.'}, 6:{name:'Verantwortung & Liebe',desc:'Ein Jahr, das sich auf Zuhause und Familie konzentriert.'}, 7:{name:'Reflexion & Innenschau',desc:'Ein Jahr der Stille und des inneren Zuhörens.'}, 8:{name:'Macht & Erfolg',desc:'Ein Jahr des Ehrgeizes und der Selbstbehauptung.'}, 9:{name:'Loslassen & Vollendung',desc:'Ein Jahr, um loszulassen und Platz zu schaffen.'}, 11:{name:'Erwachen',desc:'Ein Meisterjahr der Intuition und spirituellen Entwicklung.'}, 22:{name:'Meisterbauer',desc:'Ein Meisterjahr visionärer Projekte.'}, 33:{name:'Meisterlehrer',desc:'Ein Meisterjahr des Mitgefühls und der Heilung.'} }, pmThemes: { 1:{name:'Initiative',desc:'Ein Monat zum Anfangen.'},2:{name:'Kooperation',desc:'Ein Monat zum Zuhören.'}, 3:{name:'Kreativität',desc:'Ein Monat für Ausdruck.'},4:{name:'Struktur',desc:'Ein Monat zum Organisieren.'}, 5:{name:'Abenteuer',desc:'Ein Monat für Neues.'},6:{name:'Fürsorge',desc:'Ein Monat zum Pflegen.'}, 7:{name:'Innenschau',desc:'Ein Monat nach innen.'},8:{name:'Ambition',desc:'Ein Monat zum Voranschreiten.'}, 9:{name:'Vollendung',desc:'Ein Monat zum Loslassen.'},11:{name:'Erkenntnis',desc:'Ein Monat erhöhter Wahrnehmung.'}, 22:{name:'Vision',desc:'Ein Monat für das große Ganze.'},33:{name:'Mitgefühl',desc:'Ein Monat tiefer Empathie.'} }, reflections: { 1:'Was fühlt sich bereit an, in deinem Leben zu beginnen? Was wäre ein kleiner erster Schritt?', 2:'Wo würde etwas mehr Geduld die Dynamik verändern?', 3:'Wann hast du zuletzt etwas rein aus Freude getan?', 4:'Welcher Bereich deines Lebens braucht mehr Struktur?', 5:'Welche Routine fühlt sich verbraucht an? Was würdest du morgen ändern?', 6:'Wer braucht deine Aufmerksamkeit — und gibst du dir selbst genug davon?', 7:'Welcher Bereich verdient gerade mehr stille Aufmerksamkeit?', 8:'Wo hältst du dich zurück, dein volles Potenzial zu nutzen?', 9:'Was hältst du fest, das dir nicht mehr dient?' } }, pt: { pageTitle: 'Seu Diário Numerológico', pageSubtitle: 'Não é uma bola de cristal. Um espaço tranquilo para observar o que está acontecendo na sua vida — e deixar seus números adicionarem uma camada de significado.', lblBirthdate: 'Sua data de nascimento', btnCalc: 'Ver meu ciclo', lblPY: 'Ano Pessoal', lblPM: 'Mês Pessoal', lblReflection: 'Reflexão do mês', lblDate: 'Data', lblEvent: 'O que aconteceu? O que você está sentindo?', btnSave: 'Salvar', saved: 'Salvo!', lblTimeline: 'Sua Linha do Tempo', ctaTitle: 'Quer um olhar mais profundo sobre seu ano?', ctaText: 'Seu relatório de aniversário mapeia seu ciclo pessoal mês a mês, com orientações adaptadas aos seus números.', ctaBtn: 'Entrar na lista de espera', deleteConfirm: 'Excluir esta entrada?', emptyTimeline: 'Seu diário está vazio. Comece anotando algo sobre hoje.', dateErr: 'Por favor selecione sua data de nascimento completa', entryPlaceholder: 'Uma conversa que ficou com você, uma decisão que tomou, um sentimento difícil de nomear...', day: 'Dia', month: 'Mês', year: 'Ano', months: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'], pyThemes: { 1:{name:'Novos Começos',desc:'Um ano de inícios frescos e independência.'}, 2:{name:'Paciência e Parceria',desc:'Um ano de cooperação e crescimento natural.'}, 3:{name:'Expressão e Alegria',desc:'Um ano de criatividade e conexões sociais.'}, 4:{name:'Fundação e Disciplina',desc:'Um ano de construção e trabalho sólido.'}, 5:{name:'Mudança e Liberdade',desc:'Um ano de movimento e novas experiências.'}, 6:{name:'Responsabilidade e Amor',desc:'Um ano centrado no lar e nos entes queridos.'}, 7:{name:'Reflexão e Interior',desc:'Um ano de solidão, estudo e escuta interior.'}, 8:{name:'Poder e Conquista',desc:'Um ano de ambição e autoafirmação.'}, 9:{name:'Liberação e Conclusão',desc:'Um ano para soltar e abrir espaço.'}, 11:{name:'Despertar',desc:'Um ano mestre de intuição e crescimento espiritual.'}, 22:{name:'Mestre Construtor',desc:'Um ano mestre de projetos visionários.'}, 33:{name:'Mestre Professor',desc:'Um ano mestre de compaixão e cura.'} }, pmThemes: { 1:{name:'Iniciativa',desc:'Um mês para começar.'},2:{name:'Cooperação',desc:'Um mês para ouvir.'}, 3:{name:'Criatividade',desc:'Um mês para se expressar.'},4:{name:'Estrutura',desc:'Um mês para organizar.'}, 5:{name:'Aventura',desc:'Um mês para experimentar.'},6:{name:'Cuidado',desc:'Um mês para cuidar.'}, 7:{name:'Introspecção',desc:'Um mês para ir para dentro.'},8:{name:'Ambição',desc:'Um mês para avançar.'}, 9:{name:'Conclusão',desc:'Um mês para soltar.'},11:{name:'Lucidez',desc:'Um mês de consciência elevada.'}, 22:{name:'Visão',desc:'Um mês para construir grande.'},33:{name:'Compaixão',desc:'Um mês de empatia profunda.'} }, reflections: { 1:'O que está pronto para começar na sua vida? Qual seria um pequeno primeiro passo?', 2:'Onde um pouco mais de paciência mudaria a dinâmica?', 3:'Quando foi a última vez que fez algo puramente por prazer?', 4:'Que área da sua vida precisa de mais estrutura?', 5:'Que rotina parece desgastada? O que mudaria amanhã?', 6:'Quem precisa da sua atenção — e você está dando atenção suficiente a si mesmo?', 7:'Que área merece mais atenção silenciosa agora?', 8:'Onde você está se segurando de usar toda a sua capacidade?', 9:'O que você está segurando que já não lhe serve?' } }, it: { pageTitle: 'Il Tuo Diario Numerologico', pageSubtitle: 'Non è una sfera di cristallo. Uno spazio tranquillo per osservare cosa succede nella tua vita — e lasciare che i tuoi numeri aggiungano un livello di significato.', lblBirthdate: 'La tua data di nascita', btnCalc: 'Mostra il mio ciclo', lblPY: 'Anno Personale', lblPM: 'Mese Personale', lblReflection: 'Riflessione del mese', lblDate: 'Data', lblEvent: 'Cosa è successo? Cosa stai provando?', btnSave: 'Salva', saved: 'Salvato!', lblTimeline: 'La Tua Cronologia', ctaTitle: 'Vuoi uno sguardo più profondo sul tuo anno?', ctaText: 'Il tuo report di compleanno mappa il tuo ciclo personale mese per mese, con guida su misura per i tuoi numeri.', ctaBtn: 'Unisciti alla lista d\'attesa', deleteConfirm: 'Eliminare questa voce?', emptyTimeline: 'Il tuo diario è vuoto. Inizia annotando qualcosa su oggi.', dateErr: 'Seleziona la tua data di nascita completa', entryPlaceholder: 'Una conversazione che ti è rimasta, una decisione presa, un sentimento difficile da nominare...', day: 'Giorno', month: 'Mese', year: 'Anno', months: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], pyThemes: { 1:{name:'Nuovi Inizi',desc:'Un anno di inizi freschi e indipendenza.'}, 2:{name:'Pazienza e Collaborazione',desc:'Un anno di cooperazione e crescita naturale.'}, 3:{name:'Espressione e Gioia',desc:'Un anno di creatività e connessioni sociali.'}, 4:{name:'Fondamenta e Disciplina',desc:'Un anno di costruzione e lavoro solido.'}, 5:{name:'Cambiamento e Libertà',desc:'Un anno di movimento e nuove esperienze.'}, 6:{name:'Responsabilità e Amore',desc:'Un anno centrato sulla casa e i cari.'}, 7:{name:'Riflessione e Interiorità',desc:'Un anno di solitudine, studio e ascolto interiore.'}, 8:{name:'Potere e Successo',desc:'Un anno di ambizione e affermazione personale.'}, 9:{name:'Rilascio e Completamento',desc:'Un anno per lasciar andare e fare spazio.'}, 11:{name:'Risveglio',desc:'Un anno maestro di intuizione e crescita spirituale.'}, 22:{name:'Maestro Costruttore',desc:'Un anno maestro di progetti visionari.'}, 33:{name:'Maestro Insegnante',desc:'Un anno maestro di compassione e guarigione.'} }, pmThemes: { 1:{name:'Iniziativa',desc:'Un mese per iniziare.'},2:{name:'Cooperazione',desc:'Un mese per ascoltare.'}, 3:{name:'Creatività',desc:'Un mese per esprimerti.'},4:{name:'Struttura',desc:'Un mese per organizzare.'}, 5:{name:'Avventura',desc:'Un mese per provare.'},6:{name:'Cura',desc:'Un mese per prendersi cura.'}, 7:{name:'Introspezione',desc:'Un mese per andare dentro.'},8:{name:'Ambizione',desc:'Un mese per avanzare.'}, 9:{name:'Completamento',desc:'Un mese per rilasciare.'},11:{name:'Lucidità',desc:'Un mese di consapevolezza elevata.'}, 22:{name:'Visione',desc:'Un mese per costruire in grande.'},33:{name:'Compassione',desc:'Un mese di empatia profonda.'} }, reflections: { 1:'Cosa è pronto a iniziare nella tua vita? Quale piccolo primo passo potresti fare?', 2:'Dove un po\' più di pazienza cambierebbe la dinamica?', 3:'Quando hai fatto l\'ultima volta qualcosa puramente per il piacere?', 4:'Quale area della tua vita ha bisogno di più struttura?', 5:'Quale routine ti sembra logora? Cosa cambieresti domani?', 6:'Chi ha bisogno della tua attenzione — e stai dando abbastanza attenzione a te stesso?', 7:'Quale area merita più attenzione silenziosa in questo momento?', 8:'Dove ti stai trattenendo dall\'usare tutta la tua capacità?', 9:'Cosa stai trattenendo che non ti serve più?' } }, ja: { pageTitle: 'あなたの数秘術ジャーナル', pageSubtitle: '占いではありません。あなたの人生に起きていることを静かに見つめる場所です。数字がそこに意味の層を加えてくれます。', lblBirthdate: '生年月日', btnCalc: 'サイクルを表示', lblPY: 'パーソナルイヤー', lblPM: 'パーソナルマンス', lblReflection: '今月の振り返り', lblDate: '日付', lblEvent: '何がありましたか?何を感じていますか?', btnSave: '保存する', saved: '保存しました!', lblTimeline: 'あなたのタイムライン', ctaTitle: '1年をもっと深く見てみませんか?', ctaText: 'バースデーレポートはあなたのパーソナルイヤーサイクルを月ごとに詳しく解説します。', ctaBtn: 'ウェイトリストに参加', deleteConfirm: 'このエントリーを削除しますか?', emptyTimeline: 'ジャーナルは空です。今日のことを書いてみましょう。', dateErr: '生年月日をすべて選択してください', entryPlaceholder: '心に残った会話、下した決断、名付けがたい気持ち...', day: '日', month: '月', year: '年', months: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'], pyThemes: { 1:{name:'新しい始まり',desc:'新たなスタート、独立、種を蒔く年。'}, 2:{name:'忍耐とパートナーシップ',desc:'協力、感受性、自然な成長の年。'}, 3:{name:'表現と喜び',desc:'創造性、社会的つながり、楽しさの再発見の年。'}, 4:{name:'基盤と規律',desc:'建設、構造、地道な努力の年。'}, 5:{name:'変化と自由',desc:'動き、新しい経験、予想外への挑戦の年。'}, 6:{name:'責任と愛',desc:'家庭、家族、大切な人への献身の年。'}, 7:{name:'内省と内なる仕事',desc:'孤独、学び、内なる声に耳を傾ける年。'}, 8:{name:'力と達成',desc:'野心、経済的焦点、自分の権威を確立する年。'}, 9:{name:'手放しと完了',desc:'手放し、未完を片付け、次への空間を作る年。'}, 11:{name:'覚醒',desc:'直感、インスピレーション、精神的成長のマスター年。'}, 22:{name:'マスタービルダー',desc:'壮大な夢を現実にするマスター年。'}, 33:{name:'マスターティーチャー',desc:'思いやり、癒し、周囲を高めるマスター年。'} }, pmThemes: { 1:{name:'主導',desc:'何かを始める月。'},2:{name:'協力',desc:'聴き、協力する月。'}, 3:{name:'創造',desc:'自分を表現する月。'},4:{name:'構築',desc:'整理し構築する月。'}, 5:{name:'冒険',desc:'新しいことを試す月。'},6:{name:'養育',desc:'大切な人を気遣う月。'}, 7:{name:'内省',desc:'内に向かう月。'},8:{name:'野心',desc:'前に進む月。'}, 9:{name:'完了',desc:'手放し振り返る月。'},11:{name:'洞察',desc:'意識が高まる月。'}, 22:{name:'ビジョン',desc:'大きく構築する月。'},33:{name:'慈悲',desc:'深い共感の月。'} }, reflections: { 1:'今、あなたの人生で始まる準備ができていることは何ですか?小さな一歩は何でしょう?', 2:'もう少し忍耐を持てば、状況が変わる場所はどこですか?', 3:'最後に純粋に楽しいことをしたのはいつですか?', 4:'あなたの人生のどの分野にもっと構造が必要ですか?', 5:'どのルーティンが古く感じますか?明日何を変えますか?', 6:'誰があなたの注意を必要としていますか?自分自身にも十分な注意を向けていますか?', 7:'今、どの分野がもっと静かな注意に値しますか?', 8:'どこで全力を出すことを控えていますか?', 9:'もう役に立たないのに握りしめているものは何ですか?' } }, ko: { pageTitle: '당신의 수비학 저널', pageSubtitle: '점술이 아닙니다. 당신의 삶에서 일어나는 일을 조용히 관찰하고, 숫자가 의미의 층을 더해주는 공간입니다.', lblBirthdate: '생년월일', btnCalc: '내 주기 보기', lblPY: '개인 연도', lblPM: '개인 월', lblReflection: '이달의 성찰', lblDate: '날짜', lblEvent: '무슨 일이 있었나요? 무엇을 느끼고 있나요?', btnSave: '저장', saved: '저장되었습니다!', lblTimeline: '타임라인', ctaTitle: '올해를 더 깊이 살펴보고 싶으세요?', ctaText: '생일 리포트는 당신의 개인 연도 주기를 월별로 자세히 안내합니다.', ctaBtn: '대기 목록 참여', deleteConfirm: '이 항목을 삭제하시겠습니까?', emptyTimeline: '저널이 비어 있습니다. 오늘에 대해 무언가 적어보세요.', dateErr: '생년월일을 모두 선택해 주세요', entryPlaceholder: '마음에 남은 대화, 내린 결정, 이름 붙이기 어려운 감정...', day: '일', month: '월', year: '년', months: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'], pyThemes: { 1:{name:'새로운 시작',desc:'새 출발, 독립, 씨앗을 심는 해.'}, 2:{name:'인내와 파트너십',desc:'협력, 감수성, 자연스러운 성장의 해.'}, 3:{name:'표현과 기쁨',desc:'창의성, 사회적 연결, 즐거움 재발견의 해.'}, 4:{name:'기초와 규율',desc:'건설, 구조, 견실한 노력의 해.'}, 5:{name:'변화와 자유',desc:'움직임, 새로운 경험, 예상 밖의 도전의 해.'}, 6:{name:'책임과 사랑',desc:'가정, 가족, 소중한 사람에 집중하는 해.'}, 7:{name:'성찰과 내면 작업',desc:'고독, 학습, 내면의 목소리에 귀 기울이는 해.'}, 8:{name:'힘과 성취',desc:'야망, 재정적 집중, 권위를 세우는 해.'}, 9:{name:'해방과 완성',desc:'놓아주기, 마무리, 다음을 위한 공간 만들기의 해.'}, 11:{name:'각성',desc:'직관과 영적 성장의 마스터 해.'}, 22:{name:'마스터 빌더',desc:'큰 꿈을 현실로 만드는 마스터 해.'}, 33:{name:'마스터 티처',desc:'연민과 치유의 마스터 해.'} }, pmThemes: { 1:{name:'주도',desc:'시작하는 달.'},2:{name:'협력',desc:'듣고 협력하는 달.'}, 3:{name:'창조',desc:'표현하는 달.'},4:{name:'구축',desc:'정리하고 세우는 달.'}, 5:{name:'모험',desc:'새로운 것을 시도하는 달.'},6:{name:'돌봄',desc:'소중한 이를 돌보는 달.'}, 7:{name:'내성',desc:'내면으로 향하는 달.'},8:{name:'야망',desc:'앞으로 나아가는 달.'}, 9:{name:'완성',desc:'놓아주고 돌아보는 달.'},11:{name:'통찰',desc:'의식이 높아지는 달.'}, 22:{name:'비전',desc:'크게 구축하는 달.'},33:{name:'자비',desc:'깊은 공감의 달.'} }, reflections: { 1:'지금 당신의 삶에서 시작할 준비가 된 것은 무엇인가요?', 2:'조금 더 인내하면 상황이 달라질 곳은 어디인가요?', 3:'마지막으로 순수하게 즐거운 일을 한 것은 언제인가요?', 4:'삶의 어떤 영역에 더 많은 구조가 필요한가요?', 5:'어떤 루틴이 낡았다고 느끼나요? 내일 무엇을 바꾸겠나요?', 6:'누가 당신의 관심이 필요한가요 — 자신에게 충분한 관심을 주고 있나요?', 7:'지금 어떤 영역이 더 조용한 관심을 받을 가치가 있나요?', 8:'어디서 전력을 다하지 못하고 있나요?', 9:'더 이상 도움이 되지 않는 것을 무엇을 붙잡고 있나요?' } }, nl: { pageTitle: 'Jouw Numerologie Dagboek', pageSubtitle: 'Geen glazen bol. Een rustige plek om te merken wat er in je leven gebeurt — en je getallen daar een laag van betekenis aan te laten geven.', lblBirthdate: 'Je geboortedatum', btnCalc: 'Toon mijn cyclus', lblPY: 'Persoonlijk Jaar', lblPM: 'Persoonlijke Maand', lblReflection: 'Maandelijkse Reflectie', lblDate: 'Datum', lblEvent: 'Wat is er gebeurd? Wat voel je?', btnSave: 'Opslaan', saved: 'Opgeslagen!', lblTimeline: 'Jouw Tijdlijn', ctaTitle: 'Wil je een diepere blik op je jaar?', ctaText: 'Je verjaardagsrapport brengt je persoonlijke jaarcyclus in kaart — maand voor maand, met begeleiding afgestemd op je getallen.', ctaBtn: 'Schrijf je in op de wachtlijst', deleteConfirm: 'Dit item verwijderen?', emptyTimeline: 'Je dagboek is leeg. Begin met iets over vandaag op te schrijven.', dateErr: 'Selecteer je volledige geboortedatum', entryPlaceholder: 'Een gesprek dat je bijbleef, een beslissing, een gevoel dat je moeilijk kunt benoemen...', day: 'Dag', month: 'Maand', year: 'Jaar', months: ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'], pyThemes: { 1:{name:'Nieuw Begin',desc:'Een jaar van frisse starts en onafhankelijkheid.'}, 2:{name:'Geduld & Partnerschap',desc:'Een jaar van samenwerking en natuurlijke groei.'}, 3:{name:'Expressie & Vreugde',desc:'Een jaar van creativiteit en sociale verbindingen.'}, 4:{name:'Fundament & Discipline',desc:'Een jaar van bouwen en solide werk.'}, 5:{name:'Verandering & Vrijheid',desc:'Een jaar van beweging en nieuwe ervaringen.'}, 6:{name:'Verantwoordelijkheid & Liefde',desc:'Een jaar gericht op thuis en dierbaren.'}, 7:{name:'Reflectie & Innerlijk Werk',desc:'Een jaar van stilte en innerlijk luisteren.'}, 8:{name:'Kracht & Prestatie',desc:'Een jaar van ambitie en zelfbevestiging.'}, 9:{name:'Loslaten & Voltooiing',desc:'Een jaar om los te laten en ruimte te maken.'}, 11:{name:'Ontwaken',desc:'Een meesterjaar van intuïtie en spirituele groei.'}, 22:{name:'Meesterbouwer',desc:'Een meesterjaar van visionaire projecten.'}, 33:{name:'Meesterleraar',desc:'Een meesterjaar van compassie en genezing.'} }, pmThemes: { 1:{name:'Initiatief',desc:'Een maand om te beginnen.'},2:{name:'Samenwerking',desc:'Een maand om te luisteren.'}, 3:{name:'Creativiteit',desc:'Een maand voor expressie.'},4:{name:'Structuur',desc:'Een maand om te organiseren.'}, 5:{name:'Avontuur',desc:'Een maand om iets nieuws te proberen.'},6:{name:'Zorg',desc:'Een maand om te zorgen.'}, 7:{name:'Introspectie',desc:'Een maand naar binnen.'},8:{name:'Ambitie',desc:'Een maand om vooruit te gaan.'}, 9:{name:'Voltooiing',desc:'Een maand om los te laten.'},11:{name:'Inzicht',desc:'Een maand van verhoogd bewustzijn.'}, 22:{name:'Visie',desc:'Een maand om groot te bouwen.'},33:{name:'Compassie',desc:'Een maand van diepe empathie.'} }, reflections: { 1:'Wat voelt er klaar om te beginnen in je leven? Welke kleine eerste stap kun je zetten?', 2:'Waar zou wat meer geduld de dynamiek veranderen?', 3:'Wanneer deed je voor het laatst iets puur voor het plezier?', 4:'Welk gebied van je leven heeft meer structuur nodig?', 5:'Welke routine voelt versleten? Wat zou je morgen veranderen?', 6:'Wie heeft je aandacht nodig — en geef je jezelf genoeg aandacht?', 7:'Welk gebied verdient nu meer stille aandacht?', 8:'Waar houd je jezelf tegen om je volle capaciteit te benutten?', 9:'Wat hou je vast dat je niet meer dient?' } }, sv: { pageTitle: 'Din Numerologi-Dagbok', pageSubtitle: 'Ingen kristallkula. Ett lugnt utrymme att lägga märke till vad som händer i ditt liv — och låta dina siffror tillföra ett lager av mening.', lblBirthdate: 'Ditt födelsedatum', btnCalc: 'Visa min cykel', lblPY: 'Personligt År', lblPM: 'Personlig Månad', lblReflection: 'Månadens Reflektion', lblDate: 'Datum', lblEvent: 'Vad hände? Vad känner du?', btnSave: 'Spara', saved: 'Sparat!', lblTimeline: 'Din Tidslinje', ctaTitle: 'Vill du ha en djupare blick på ditt år?', ctaText: 'Din födelsedagsrapport kartlägger din personliga årscykel — månad för månad, med vägledning anpassad till dina siffror.', ctaBtn: 'Gå med i väntelistan', deleteConfirm: 'Ta bort denna post?', emptyTimeline: 'Din dagbok är tom. Börja med att notera något om idag.', dateErr: 'Välj ditt fullständiga födelsedatum', entryPlaceholder: 'Ett samtal som stannade kvar, ett beslut du tog, en känsla svår att sätta ord på...', day: 'Dag', month: 'Månad', year: 'År', months: ['Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December'], pyThemes: { 1:{name:'Nya Början',desc:'Ett år av nya starter och oberoende.'}, 2:{name:'Tålamod & Partnerskap',desc:'Ett år av samarbete och naturlig tillväxt.'}, 3:{name:'Uttryck & Glädje',desc:'Ett år av kreativitet och sociala band.'}, 4:{name:'Grund & Disciplin',desc:'Ett år av byggande och solid ansträngning.'}, 5:{name:'Förändring & Frihet',desc:'Ett år av rörelse och nya upplevelser.'}, 6:{name:'Ansvar & Kärlek',desc:'Ett år fokuserat på hem och nära.'}, 7:{name:'Reflektion & Inre Arbete',desc:'Ett år av ensamhet och inre lyssnande.'}, 8:{name:'Kraft & Prestation',desc:'Ett år av ambition och självhävdelse.'}, 9:{name:'Släppa Taget & Avslutning',desc:'Ett år att släppa och skapa utrymme.'}, 11:{name:'Uppvaknande',desc:'Ett mästarår av intuition och andlig tillväxt.'}, 22:{name:'Mästarbyggare',desc:'Ett mästarår av visionära projekt.'}, 33:{name:'Mästarlärare',desc:'Ett mästarår av medkänsla och helande.'} }, pmThemes: { 1:{name:'Initiativ',desc:'En månad att börja.'},2:{name:'Samarbete',desc:'En månad att lyssna.'}, 3:{name:'Kreativitet',desc:'En månad att uttrycka dig.'},4:{name:'Struktur',desc:'En månad att organisera.'}, 5:{name:'Äventyr',desc:'En månad att prova nytt.'},6:{name:'Omsorg',desc:'En månad att ta hand om.'}, 7:{name:'Introspektion',desc:'En månad att gå inåt.'},8:{name:'Ambition',desc:'En månad att gå framåt.'}, 9:{name:'Avslutning',desc:'En månad att släppa.'},11:{name:'Insikt',desc:'En månad av höjd medvetenhet.'}, 22:{name:'Vision',desc:'En månad att bygga stort.'},33:{name:'Medkänsla',desc:'En månad av djup empati.'} }, reflections: { 1:'Vad känns redo att börja i ditt liv? Vilket litet första steg kan du ta?', 2:'Var skulle lite mer tålamod förändra dynamiken?', 3:'När gjorde du senast något enbart för glädjens skull?', 4:'Vilket område i ditt liv behöver mer struktur?', 5:'Vilken rutin känns utsliten? Vad skulle du ändra imorgon?', 6:'Vem behöver din uppmärksamhet — och ger du dig själv tillräckligt?', 7:'Vilket område förtjänar mer tyst uppmärksamhet just nu?', 8:'Var håller du dig tillbaka från att använda hela din kapacitet?', 9:'Vad håller du fast vid som inte längre tjänar dig?' } }, ar: { pageTitle: 'دفتر الأعداد التأملي', pageSubtitle: 'ليست كرة بلورية. مساحة هادئة لملاحظة ما يحدث في حياتك — ودع أرقامك تضيف طبقة من المعنى.', lblBirthdate: 'تاريخ ميلادك', btnCalc: 'عرض دورتي', lblPY: 'السنة الشخصية', lblPM: 'الشهر الشخصي', lblReflection: 'تأمل الشهر', lblDate: 'التاريخ', lblEvent: 'ماذا حدث؟ ماذا تشعر؟', btnSave: 'حفظ', saved: 'تم الحفظ!', lblTimeline: 'جدولك الزمني', ctaTitle: 'هل تريد نظرة أعمق على عامك؟', ctaText: 'تقرير عيد ميلادك يرسم دورتك الشخصية شهرًا بشهر، مع إرشادات مصممة لأرقامك.', ctaBtn: 'انضم لقائمة الانتظار', deleteConfirm: 'حذف هذا الإدخال؟', emptyTimeline: 'دفترك فارغ. ابدأ بتدوين شيء عن اليوم.', dateErr: 'يرجى اختيار تاريخ ميلادك الكامل', entryPlaceholder: 'محادثة بقيت معك، قرار اتخذته، شعور يصعب تسميته...', day: 'اليوم', month: 'الشهر', year: 'السنة', months: ['يناير','فبراير','مارس','أبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'], pyThemes: { 1:{name:'بدايات جديدة',desc:'سنة انطلاقات جديدة واستقلالية.'}, 2:{name:'صبر وشراكة',desc:'سنة تعاون ونمو طبيعي.'}, 3:{name:'تعبير وفرح',desc:'سنة إبداع وروابط اجتماعية.'}, 4:{name:'أساس وانضباط',desc:'سنة بناء وعمل متين.'}, 5:{name:'تغيير وحرية',desc:'سنة حركة وتجارب جديدة.'}, 6:{name:'مسؤولية وحب',desc:'سنة تركز على البيت والأحباء.'}, 7:{name:'تأمل وعمل داخلي',desc:'سنة عزلة ودراسة واستماع داخلي.'}, 8:{name:'قوة وإنجاز',desc:'سنة طموح وتأكيد للذات.'}, 9:{name:'تحرر واكتمال',desc:'سنة للتخلي وفتح المجال.'}, 11:{name:'يقظة',desc:'سنة أستاذية من الحدس والنمو الروحي.'}, 22:{name:'الباني الأستاذ',desc:'سنة أستاذية من المشاريع الرؤيوية.'}, 33:{name:'المعلم الأستاذ',desc:'سنة أستاذية من الرحمة والشفاء.'} }, pmThemes: { 1:{name:'مبادرة',desc:'شهر للبدء.'},2:{name:'تعاون',desc:'شهر للإصغاء.'}, 3:{name:'إبداع',desc:'شهر للتعبير.'},4:{name:'هيكلة',desc:'شهر للتنظيم.'}, 5:{name:'مغامرة',desc:'شهر لتجربة الجديد.'},6:{name:'رعاية',desc:'شهر للاعتناء.'}, 7:{name:'تأمل',desc:'شهر للتوجه إلى الداخل.'},8:{name:'طموح',desc:'شهر للمضي قدمًا.'}, 9:{name:'اكتمال',desc:'شهر للتحرر.'},11:{name:'بصيرة',desc:'شهر من الوعي المتزايد.'}, 22:{name:'رؤية',desc:'شهر للبناء الكبير.'},33:{name:'رحمة',desc:'شهر من التعاطف العميق.'} }, reflections: { 1:'ما الذي يبدو مستعدًا للبدء في حياتك الآن؟ ما هي الخطوة الأولى الصغيرة؟', 2:'أين سيغير القليل من الصبر الديناميكية؟', 3:'متى كانت آخر مرة فعلت شيئًا لمتعة خالصة؟', 4:'أي مجال من حياتك يحتاج مزيدًا من الهيكلة؟', 5:'أي روتين يبدو باليًا؟ ماذا ستغير غدًا؟', 6:'من يحتاج انتباهك — وهل تعطي نفسك اهتمامًا كافيًا؟', 7:'أي مجال يستحق مزيدًا من الاهتمام الهادئ الآن؟', 8:'أين تمنع نفسك من استخدام كامل قدراتك؟', 9:'ما الذي تتشبث به ولم يعد يخدمك؟' } }, th: { pageTitle: 'สมุดบันทึกตัวเลขแห่งการใคร่ครวญ', pageSubtitle: 'ไม่ใช่การทำนาย แต่เป็นพื้นที่เงียบสงบเพื่อสังเกตสิ่งที่เกิดขึ้นในชีวิตคุณ — และให้ตัวเลขเพิ่มชั้นความหมาย', lblBirthdate: 'วันเกิดของคุณ', btnCalc: 'แสดงวงจรของฉัน', lblPY: 'ปีส่วนตัว', lblPM: 'เดือนส่วนตัว', lblReflection: 'การใคร่ครวญประจำเดือน', lblDate: 'วันที่', lblEvent: 'เกิดอะไรขึ้น? คุณรู้สึกอย่างไร?', btnSave: 'บันทึก', saved: 'บันทึกแล้ว!', lblTimeline: 'ไทม์ไลน์ของคุณ', ctaTitle: 'อยากมองลึกขึ้นในปีข้างหน้า?', ctaText: 'รายงานวันเกิดจะวิเคราะห์วงจรปีส่วนตัวทีละเดือน พร้อมคำแนะนำที่ปรับตามตัวเลขของคุณ', ctaBtn: 'เข้าร่วมรายชื่อรอ', deleteConfirm: 'ลบรายการนี้?', emptyTimeline: 'สมุดบันทึกของคุณยังว่าง เริ่มบันทึกเรื่องราวของวันนี้', dateErr: 'กรุณาเลือกวันเกิดให้ครบ', entryPlaceholder: 'บทสนทนาที่ยังติดอยู่ในใจ, การตัดสินใจที่คุณทำ, ความรู้สึกที่ตั้งชื่อได้ยาก...', day: 'วัน', month: 'เดือน', year: 'ปี', months: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'], pyThemes: { 1:{name:'เริ่มต้นใหม่',desc:'ปีแห่งการเริ่มต้นสดใหม่และความเป็นอิสระ'}, 2:{name:'อดทนและเป็นหุ้นส่วน',desc:'ปีแห่งความร่วมมือและการเติบโตตามธรรมชาติ'}, 3:{name:'การแสดงออกและความสุข',desc:'ปีแห่งความคิดสร้างสรรค์และการเชื่อมต่อทางสังคม'}, 4:{name:'รากฐานและวินัย',desc:'ปีแห่งการสร้างและงานที่มั่นคง'}, 5:{name:'การเปลี่ยนแปลงและอิสรภาพ',desc:'ปีแห่งการเคลื่อนไหวและประสบการณ์ใหม่'}, 6:{name:'ความรับผิดชอบและความรัก',desc:'ปีที่มุ่งเน้นบ้านและคนที่รัก'}, 7:{name:'การใคร่ครวญและงานภายใน',desc:'ปีแห่งความสงบ การเรียนรู้ และการฟังภายใน'}, 8:{name:'พลังและความสำเร็จ',desc:'ปีแห่งความทะเยอทะยานและการยืนยันตัวเอง'}, 9:{name:'ปล่อยวางและสมบูรณ์',desc:'ปีแห่งการปล่อยวางและสร้างพื้นที่'}, 11:{name:'ตื่นรู้',desc:'ปีมาสเตอร์แห่งสัญชาตญาณและการเติบโตทางจิตวิญญาณ'}, 22:{name:'ผู้สร้างมาสเตอร์',desc:'ปีมาสเตอร์แห่งโครงการที่มีวิสัยทัศน์'}, 33:{name:'ครูมาสเตอร์',desc:'ปีมาสเตอร์แห่งความเมตตาและการเยียวยา'} }, pmThemes: { 1:{name:'ริเริ่ม',desc:'เดือนแห่งการเริ่มต้น'},2:{name:'ร่วมมือ',desc:'เดือนแห่งการฟัง'}, 3:{name:'สร้างสรรค์',desc:'เดือนแห่งการแสดงออก'},4:{name:'โครงสร้าง',desc:'เดือนแห่งการจัดระเบียบ'}, 5:{name:'ผจญภัย',desc:'เดือนแห่งการลองสิ่งใหม่'},6:{name:'ดูแล',desc:'เดือนแห่งการเอาใจใส่'}, 7:{name:'ใคร่ครวญ',desc:'เดือนแห่งการมองเข้าข้างใน'},8:{name:'ทะเยอทะยาน',desc:'เดือนแห่งการก้าวไปข้างหน้า'}, 9:{name:'สมบูรณ์',desc:'เดือนแห่งการปล่อยวาง'},11:{name:'หยั่งรู้',desc:'เดือนแห่งการตระหนักรู้ที่สูงขึ้น'}, 22:{name:'วิสัยทัศน์',desc:'เดือนแห่งการสร้างสิ่งยิ่งใหญ่'},33:{name:'เมตตา',desc:'เดือนแห่งความเห็นอกเห็นใจลึกซึ้ง'} }, reflections: { 1:'อะไรรู้สึกพร้อมที่จะเริ่มต้นในชีวิตคุณตอนนี้? ก้าวเล็กๆ แรกคืออะไร?', 2:'ที่ไหนที่ความอดทนอีกนิดจะเปลี่ยนพลวัต?', 3:'ครั้งสุดท้ายที่ทำอะไรเพื่อความสุขล้วนๆ คือเมื่อไหร่?', 4:'ด้านไหนของชีวิตที่ต้องการโครงสร้างมากขึ้น?', 5:'กิจวัตรไหนรู้สึกเก่า? จะเปลี่ยนอะไรพรุ่งนี้?', 6:'ใครต้องการความสนใจจากคุณ — และคุณให้ความสนใจตัวเองเพียงพอไหม?', 7:'ด้านไหนสมควรได้รับความสนใจอย่างเงียบๆ มากขึ้นตอนนี้?', 8:'ที่ไหนที่คุณกำลังยั้งตัวเองจากการใช้ศักยภาพเต็มที่?', 9:'คุณกำลังยึดสิ่งที่ไม่ได้รับใช้คุณอีกต่อไปอะไรอยู่?' } } }; /* ── Detect language ── */ function getLang() { const params = new URLSearchParams(window.location.search); if (params.get('lang') && I18N[params.get('lang')]) return params.get('lang'); const path = window.location.pathname.split('/')[1]; if (I18N[path]) return path; const nav = (navigator.language || '').toLowerCase(); if (nav.startsWith('fr-ca') && I18N['fr-ca']) return 'fr-ca'; for (const k of Object.keys(I18N)) { if (nav.startsWith(k)) return k; } return 'en'; } const LANG = getLang(); const T = I18N[LANG] || I18N.en; /* ── RTL ── */ if (LANG === 'ar') { document.documentElement.setAttribute('dir', 'rtl'); document.documentElement.setAttribute('lang', 'ar'); } /* ── Apply translations ── */ function setText(id, text) { const el = document.getElementById(id); if (el) el.textContent = text; } function setHTML(id, html) { const el = document.getElementById(id); if (el) el.innerHTML = html; } setHTML('pageTitle', T.pageTitle); setText('pageSubtitle', T.pageSubtitle); setText('lblBirthdate', T.lblBirthdate); setText('btnCalc', T.btnCalc); setText('lblPY', T.lblPY); setText('lblPM', T.lblPM); setText('lblReflection', T.lblReflection); setText('lblDate', T.lblDate); setText('lblEvent', T.lblEvent); setText('btnSave', T.btnSave); setText('lblTimeline', T.lblTimeline); setText('ctaTitle', T.ctaTitle); setText('ctaText', T.ctaText); setText('ctaBtn', T.ctaBtn); setText('dateErr', T.dateErr); const entryTextEl = document.getElementById('entryText'); if (entryTextEl && T.entryPlaceholder) entryTextEl.placeholder = T.entryPlaceholder; /* ── Populate selects ── */ const daySel = document.getElementById('bDay'); const monthSel = document.getElementById('bMonth'); const yearSel = document.getElementById('bYear'); daySel.innerHTML = ''; for (let i = 1; i <= 31; i++) daySel.innerHTML += ''; monthSel.innerHTML = ''; T.months.forEach(function(m, i) { monthSel.innerHTML += ''; }); yearSel.innerHTML = ''; const curYear = new Date().getFullYear(); for (let y = curYear; y >= 1920; y--) yearSel.innerHTML += ''; /* Set today's date in entry date picker */ const entryDateEl = document.getElementById('entryDate'); const today = new Date(); entryDateEl.value = today.getFullYear() + '-' + String(today.getMonth() + 1).padStart(2, '0') + '-' + String(today.getDate()).padStart(2, '0'); /* ── Numerology reduce ── */ function reduce(n) { while (n > 9 && n !== 11 && n !== 22 && n !== 33) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } n = s; } return n; } function digitSum(n) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } return s; } /* ── Compute cycle ── */ let currentPY = null; let currentPM = null; let birthDay = null; let birthMonth = null; function computeCycle() { const d = parseInt(daySel.value); const m = parseInt(monthSel.value); const y = parseInt(yearSel.value); if (!d || !m || !y) { document.getElementById('dateErr').style.display = 'block'; return; } document.getElementById('dateErr').style.display = 'none'; birthDay = d; birthMonth = m; /* Personal Year = reduce(birthDay + birthMonth + currentYear) */ const now = new Date(); const cYear = now.getFullYear(); const cMonth = now.getMonth() + 1; const pyRaw = digitSum(d) + digitSum(m) + digitSum(cYear); currentPY = reduce(pyRaw); /* Personal Month = reduce(personalYear + currentMonth) */ const pmRaw = currentPY + cMonth; currentPM = reduce(pmRaw); /* Display Personal Year */ const pyTheme = T.pyThemes[currentPY] || T.pyThemes[reduce(currentPY)] || { name: '—', desc: '' }; document.getElementById('pyNum').textContent = currentPY; document.getElementById('pyName').textContent = pyTheme.name; document.getElementById('pyDesc').textContent = pyTheme.desc; /* Display Personal Month */ const pmKey = currentPM > 9 && !T.pmThemes[currentPM] ? reduce(currentPM) : currentPM; const pmTheme = T.pmThemes[pmKey] || { name: '—', desc: '' }; document.getElementById('pmNum').textContent = currentPM; document.getElementById('pmName').textContent = pmTheme.name; document.getElementById('pmDesc').textContent = pmTheme.desc; /* Reflection question — use single-digit for lookup */ const refKey = currentPM > 9 ? reduce(currentPM) : currentPM; document.getElementById('reflectionQ').textContent = T.reflections[refKey] || T.reflections[1]; /* Show cycle display */ document.getElementById('cycleDisplay').classList.add('show'); /* Save birth date to localStorage for convenience */ try { localStorage.setItem('nymero_journal_birth', JSON.stringify({ d: d, m: m, y: y })); } catch(e) {} renderTimeline(); } /* ── Journal storage ── */ function getEntries() { try { return JSON.parse(localStorage.getItem('nymero_journal') || '[]'); } catch(e) { return []; } } function saveEntry() { if (!currentPY) return; const text = document.getElementById('entryText').value.trim(); const date = document.getElementById('entryDate').value; if (!text || !date) return; const entries = getEntries(); entries.push({ date: date, text: text, personalYear: currentPY, personalMonth: currentPM, timestamp: Date.now() }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} // Shooting star on save if(window.NymeroAmbient) NymeroAmbient.shootingStar(); document.getElementById('entryText').value = ''; const confirm = document.getElementById('saveConfirm'); confirm.textContent = T.saved; confirm.style.display = 'block'; setTimeout(function() { confirm.style.display = 'none'; }, 2500); renderTimeline(); } function deleteEntry(timestamp) { if (!confirm(T.deleteConfirm)) return; let entries = getEntries(); entries = entries.filter(function(e) { return e.timestamp !== timestamp; }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} renderTimeline(); } /* ── Render timeline ── */ function renderTimeline() { const el = document.getElementById('timeline'); const entries = getEntries(); if (entries.length === 0) { el.innerHTML = '
' + T.emptyTimeline + '
'; el.classList.add('show'); return; } /* Group by Personal Year */ const grouped = {}; entries.sort(function(a, b) { return b.timestamp - a.timestamp; }); entries.forEach(function(e) { const key = e.personalYear || '?'; if (!grouped[key]) grouped[key] = []; grouped[key].push(e); }); let html = ''; Object.keys(grouped).forEach(function(py) { const pyTheme = T.pyThemes[py] || { name: '' }; html += '
'; html += '
' + T.lblPY + ' ' + py; if (pyTheme.name) html += ' ' + pyTheme.name + ''; html += '
'; grouped[py].forEach(function(entry) { const pmKey = entry.personalMonth > 9 && !T.pmThemes[entry.personalMonth] ? reduce(entry.personalMonth) : entry.personalMonth; const pmTheme = T.pmThemes[pmKey] || { name: '' }; html += '
'; html += '
' + entry.date; if (pmTheme.name) html += '' + T.lblPM + ' ' + entry.personalMonth + ' — ' + pmTheme.name + ''; html += '
'; html += '
' + escapeHtml(entry.text) + '
'; html += ''; html += '
'; }); html += '
'; }); el.innerHTML = html; el.classList.add('show'); } function escapeHtml(str) { var div = document.createElement('div'); div.appendChild(document.createTextNode(str)); return div.innerHTML; } /* ── Restore saved birth date ── */ try { var saved = JSON.parse(localStorage.getItem('nymero_journal_birth')); if (saved && saved.d && saved.m && saved.y) { daySel.value = saved.d; monthSel.value = saved.m; yearSel.value = saved.y; computeCycle(); } } catch(e) {} , deleteConfirm: 'حذف هذا الإدخال؟', emptyTimeline: 'دفترك فارغ. ابدأ بتدوين شيء عن اليوم.', dateErr: 'يرجى اختيار تاريخ ميلادك الكامل', entryPlaceholder: 'محادثة بقيت معك، قرار اتخذته، شعور يصعب تسميته...', day: 'اليوم', month: 'الشهر', year: 'السنة', months: ['يناير','فبراير','مارس','أبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'], pyThemes: { 1:{name:'بدايات جديدة',desc:'سنة انطلاقات جديدة واستقلالية.'}, 2:{name:'صبر وشراكة',desc:'سنة تعاون ونمو طبيعي.'}, 3:{name:'تعبير وفرح',desc:'سنة إبداع وروابط اجتماعية.'}, 4:{name:'أساس وانضباط',desc:'سنة بناء وعمل متين.'}, 5:{name:'تغيير وحرية',desc:'سنة حركة وتجارب جديدة.'}, 6:{name:'مسؤولية وحب',desc:'سنة تركز على البيت والأحباء.'}, 7:{name:'تأمل وعمل داخلي',desc:'سنة عزلة ودراسة واستماع داخلي.'}, 8:{name:'قوة وإنجاز',desc:'سنة طموح وتأكيد للذات.'}, 9:{name:'تحرر واكتمال',desc:'سنة للتخلي وفتح المجال.'}, 11:{name:'يقظة',desc:'سنة أستاذية من الحدس والنمو الروحي.'}, 22:{name:'الباني الأستاذ',desc:'سنة أستاذية من المشاريع الرؤيوية.'}, 33:{name:'المعلم الأستاذ',desc:'سنة أستاذية من الرحمة والشفاء.'} }, pmThemes: { 1:{name:'مبادرة',desc:'شهر للبدء.'},2:{name:'تعاون',desc:'شهر للإصغاء.'}, 3:{name:'إبداع',desc:'شهر للتعبير.'},4:{name:'هيكلة',desc:'شهر للتنظيم.'}, 5:{name:'مغامرة',desc:'شهر لتجربة الجديد.'},6:{name:'رعاية',desc:'شهر للاعتناء.'}, 7:{name:'تأمل',desc:'شهر للتوجه إلى الداخل.'},8:{name:'طموح',desc:'شهر للمضي قدمًا.'}, 9:{name:'اكتمال',desc:'شهر للتحرر.'},11:{name:'بصيرة',desc:'شهر من الوعي المتزايد.'}, 22:{name:'رؤية',desc:'شهر للبناء الكبير.'},33:{name:'رحمة',desc:'شهر من التعاطف العميق.'} }, reflections: { 1:'ما الذي يبدو مستعدًا للبدء في حياتك الآن؟ ما هي الخطوة الأولى الصغيرة؟', 2:'أين سيغير القليل من الصبر الديناميكية؟', 3:'متى كانت آخر مرة فعلت شيئًا لمتعة خالصة؟', 4:'أي مجال من حياتك يحتاج مزيدًا من الهيكلة؟', 5:'أي روتين يبدو باليًا؟ ماذا ستغير غدًا؟', 6:'من يحتاج انتباهك — وهل تعطي نفسك اهتمامًا كافيًا؟', 7:'أي مجال يستحق مزيدًا من الاهتمام الهادئ الآن؟', 8:'أين تمنع نفسك من استخدام كامل قدراتك؟', 9:'ما الذي تتشبث به ولم يعد يخدمك؟' } }, th: { pageTitle: 'สมุดบันทึกตัวเลขแห่งการใคร่ครวญ', pageSubtitle: 'ไม่ใช่การทำนาย แต่เป็นพื้นที่เงียบสงบเพื่อสังเกตสิ่งที่เกิดขึ้นในชีวิตคุณ — และให้ตัวเลขเพิ่มชั้นความหมาย', lblBirthdate: 'วันเกิดของคุณ', btnCalc: 'แสดงวงจรของฉัน', lblPY: 'ปีส่วนตัว', lblPM: 'เดือนส่วนตัว', lblReflection: 'การใคร่ครวญประจำเดือน', lblDate: 'วันที่', lblEvent: 'เกิดอะไรขึ้น? คุณรู้สึกอย่างไร?', btnSave: 'บันทึก', saved: 'บันทึกแล้ว!', lblTimeline: 'ไทม์ไลน์ของคุณ', ctaTitle: 'อยากมองลึกขึ้นในปีข้างหน้า?', ctaText: 'รายงานวันเกิดจะวิเคราะห์วงจรปีส่วนตัวทีละเดือน พร้อมคำแนะนำที่ปรับตามตัวเลขของคุณ', ctaBtn: 'เข้าร่วมรายชื่อรอ', deleteConfirm: 'ลบรายการนี้?', emptyTimeline: 'สมุดบันทึกของคุณยังว่าง เริ่มบันทึกเรื่องราวของวันนี้', dateErr: 'กรุณาเลือกวันเกิดให้ครบ', entryPlaceholder: 'บทสนทนาที่ยังติดอยู่ในใจ, การตัดสินใจที่คุณทำ, ความรู้สึกที่ตั้งชื่อได้ยาก...', day: 'วัน', month: 'เดือน', year: 'ปี', months: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'], pyThemes: { 1:{name:'เริ่มต้นใหม่',desc:'ปีแห่งการเริ่มต้นสดใหม่และความเป็นอิสระ'}, 2:{name:'อดทนและเป็นหุ้นส่วน',desc:'ปีแห่งความร่วมมือและการเติบโตตามธรรมชาติ'}, 3:{name:'การแสดงออกและความสุข',desc:'ปีแห่งความคิดสร้างสรรค์และการเชื่อมต่อทางสังคม'}, 4:{name:'รากฐานและวินัย',desc:'ปีแห่งการสร้างและงานที่มั่นคง'}, 5:{name:'การเปลี่ยนแปลงและอิสรภาพ',desc:'ปีแห่งการเคลื่อนไหวและประสบการณ์ใหม่'}, 6:{name:'ความรับผิดชอบและความรัก',desc:'ปีที่มุ่งเน้นบ้านและคนที่รัก'}, 7:{name:'การใคร่ครวญและงานภายใน',desc:'ปีแห่งความสงบ การเรียนรู้ และการฟังภายใน'}, 8:{name:'พลังและความสำเร็จ',desc:'ปีแห่งความทะเยอทะยานและการยืนยันตัวเอง'}, 9:{name:'ปล่อยวางและสมบูรณ์',desc:'ปีแห่งการปล่อยวางและสร้างพื้นที่'}, 11:{name:'ตื่นรู้',desc:'ปีมาสเตอร์แห่งสัญชาตญาณและการเติบโตทางจิตวิญญาณ'}, 22:{name:'ผู้สร้างมาสเตอร์',desc:'ปีมาสเตอร์แห่งโครงการที่มีวิสัยทัศน์'}, 33:{name:'ครูมาสเตอร์',desc:'ปีมาสเตอร์แห่งความเมตตาและการเยียวยา'} }, pmThemes: { 1:{name:'ริเริ่ม',desc:'เดือนแห่งการเริ่มต้น'},2:{name:'ร่วมมือ',desc:'เดือนแห่งการฟัง'}, 3:{name:'สร้างสรรค์',desc:'เดือนแห่งการแสดงออก'},4:{name:'โครงสร้าง',desc:'เดือนแห่งการจัดระเบียบ'}, 5:{name:'ผจญภัย',desc:'เดือนแห่งการลองสิ่งใหม่'},6:{name:'ดูแล',desc:'เดือนแห่งการเอาใจใส่'}, 7:{name:'ใคร่ครวญ',desc:'เดือนแห่งการมองเข้าข้างใน'},8:{name:'ทะเยอทะยาน',desc:'เดือนแห่งการก้าวไปข้างหน้า'}, 9:{name:'สมบูรณ์',desc:'เดือนแห่งการปล่อยวาง'},11:{name:'หยั่งรู้',desc:'เดือนแห่งการตระหนักรู้ที่สูงขึ้น'}, 22:{name:'วิสัยทัศน์',desc:'เดือนแห่งการสร้างสิ่งยิ่งใหญ่'},33:{name:'เมตตา',desc:'เดือนแห่งความเห็นอกเห็นใจลึกซึ้ง'} }, reflections: { 1:'อะไรรู้สึกพร้อมที่จะเริ่มต้นในชีวิตคุณตอนนี้? ก้าวเล็กๆ แรกคืออะไร?', 2:'ที่ไหนที่ความอดทนอีกนิดจะเปลี่ยนพลวัต?', 3:'ครั้งสุดท้ายที่ทำอะไรเพื่อความสุขล้วนๆ คือเมื่อไหร่?', 4:'ด้านไหนของชีวิตที่ต้องการโครงสร้างมากขึ้น?', 5:'กิจวัตรไหนรู้สึกเก่า? จะเปลี่ยนอะไรพรุ่งนี้?', 6:'ใครต้องการความสนใจจากคุณ — และคุณให้ความสนใจตัวเองเพียงพอไหม?', 7:'ด้านไหนสมควรได้รับความสนใจอย่างเงียบๆ มากขึ้นตอนนี้?', 8:'ที่ไหนที่คุณกำลังยั้งตัวเองจากการใช้ศักยภาพเต็มที่?', 9:'คุณกำลังยึดสิ่งที่ไม่ได้รับใช้คุณอีกต่อไปอะไรอยู่?' } } }; /* ── Detect language ── */ function getLang() { const params = new URLSearchParams(window.location.search); if (params.get('lang') && I18N[params.get('lang')]) return params.get('lang'); const path = window.location.pathname.split('/')[1]; if (I18N[path]) return path; const nav = (navigator.language || '').toLowerCase(); if (nav.startsWith('fr-ca') && I18N['fr-ca']) return 'fr-ca'; for (const k of Object.keys(I18N)) { if (nav.startsWith(k)) return k; } return 'en'; } const LANG = getLang(); const T = I18N[LANG] || I18N.en; /* ── RTL ── */ if (LANG === 'ar') { document.documentElement.setAttribute('dir', 'rtl'); document.documentElement.setAttribute('lang', 'ar'); } /* ── Apply translations ── */ function setText(id, text) { const el = document.getElementById(id); if (el) el.textContent = text; } function setHTML(id, html) { const el = document.getElementById(id); if (el) el.innerHTML = html; } setHTML('pageTitle', T.pageTitle); setText('pageSubtitle', T.pageSubtitle); setText('lblBirthdate', T.lblBirthdate); setText('btnCalc', T.btnCalc); setText('lblPY', T.lblPY); setText('lblPM', T.lblPM); setText('lblReflection', T.lblReflection); setText('lblDate', T.lblDate); setText('lblEvent', T.lblEvent); setText('btnSave', T.btnSave); setText('lblTimeline', T.lblTimeline); setText('ctaTitle', T.ctaTitle); setText('ctaText', T.ctaText); setText('ctaBtn', T.ctaBtn); setText('dateErr', T.dateErr); const entryTextEl = document.getElementById('entryText'); if (entryTextEl && T.entryPlaceholder) entryTextEl.placeholder = T.entryPlaceholder; /* ── Populate selects ── */ const daySel = document.getElementById('bDay'); const monthSel = document.getElementById('bMonth'); const yearSel = document.getElementById('bYear'); daySel.innerHTML = ''; for (let i = 1; i <= 31; i++) daySel.innerHTML += ''; monthSel.innerHTML = ''; T.months.forEach(function(m, i) { monthSel.innerHTML += ''; }); yearSel.innerHTML = ''; const curYear = new Date().getFullYear(); for (let y = curYear; y >= 1920; y--) yearSel.innerHTML += ''; /* Set today's date in entry date picker */ const entryDateEl = document.getElementById('entryDate'); const today = new Date(); entryDateEl.value = today.getFullYear() + '-' + String(today.getMonth() + 1).padStart(2, '0') + '-' + String(today.getDate()).padStart(2, '0'); /* ── Numerology reduce ── */ function reduce(n) { while (n > 9 && n !== 11 && n !== 22 && n !== 33) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } n = s; } return n; } function digitSum(n) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } return s; } /* ── Compute cycle ── */ let currentPY = null; let currentPM = null; let birthDay = null; let birthMonth = null; function computeCycle() { const d = parseInt(daySel.value); const m = parseInt(monthSel.value); const y = parseInt(yearSel.value); if (!d || !m || !y) { document.getElementById('dateErr').style.display = 'block'; return; } document.getElementById('dateErr').style.display = 'none'; birthDay = d; birthMonth = m; /* Personal Year = reduce(birthDay + birthMonth + currentYear) */ const now = new Date(); const cYear = now.getFullYear(); const cMonth = now.getMonth() + 1; const pyRaw = digitSum(d) + digitSum(m) + digitSum(cYear); currentPY = reduce(pyRaw); /* Personal Month = reduce(personalYear + currentMonth) */ const pmRaw = currentPY + cMonth; currentPM = reduce(pmRaw); /* Display Personal Year */ const pyTheme = T.pyThemes[currentPY] || T.pyThemes[reduce(currentPY)] || { name: '—', desc: '' }; document.getElementById('pyNum').textContent = currentPY; document.getElementById('pyName').textContent = pyTheme.name; document.getElementById('pyDesc').textContent = pyTheme.desc; /* Display Personal Month */ const pmKey = currentPM > 9 && !T.pmThemes[currentPM] ? reduce(currentPM) : currentPM; const pmTheme = T.pmThemes[pmKey] || { name: '—', desc: '' }; document.getElementById('pmNum').textContent = currentPM; document.getElementById('pmName').textContent = pmTheme.name; document.getElementById('pmDesc').textContent = pmTheme.desc; /* Reflection question — use single-digit for lookup */ const refKey = currentPM > 9 ? reduce(currentPM) : currentPM; document.getElementById('reflectionQ').textContent = T.reflections[refKey] || T.reflections[1]; /* Show cycle display */ document.getElementById('cycleDisplay').classList.add('show'); /* Save birth date to localStorage for convenience */ try { localStorage.setItem('nymero_journal_birth', JSON.stringify({ d: d, m: m, y: y })); } catch(e) {} renderTimeline(); } /* ── Journal storage ── */ function getEntries() { try { return JSON.parse(localStorage.getItem('nymero_journal') || '[]'); } catch(e) { return []; } } function saveEntry() { if (!currentPY) return; const text = document.getElementById('entryText').value.trim(); const date = document.getElementById('entryDate').value; if (!text || !date) return; const entries = getEntries(); entries.push({ date: date, text: text, personalYear: currentPY, personalMonth: currentPM, timestamp: Date.now() }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} // Shooting star on save if(window.NymeroAmbient) NymeroAmbient.shootingStar(); document.getElementById('entryText').value = ''; const confirm = document.getElementById('saveConfirm'); confirm.textContent = T.saved; confirm.style.display = 'block'; setTimeout(function() { confirm.style.display = 'none'; }, 2500); renderTimeline(); } function deleteEntry(timestamp) { if (!confirm(T.deleteConfirm)) return; let entries = getEntries(); entries = entries.filter(function(e) { return e.timestamp !== timestamp; }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} renderTimeline(); } /* ── Render timeline ── */ function renderTimeline() { const el = document.getElementById('timeline'); const entries = getEntries(); if (entries.length === 0) { el.innerHTML = '
' + T.emptyTimeline + '
'; el.classList.add('show'); return; } /* Group by Personal Year */ const grouped = {}; entries.sort(function(a, b) { return b.timestamp - a.timestamp; }); entries.forEach(function(e) { const key = e.personalYear || '?'; if (!grouped[key]) grouped[key] = []; grouped[key].push(e); }); let html = ''; Object.keys(grouped).forEach(function(py) { const pyTheme = T.pyThemes[py] || { name: '' }; html += '
'; html += '
' + T.lblPY + ' ' + py; if (pyTheme.name) html += ' ' + pyTheme.name + ''; html += '
'; grouped[py].forEach(function(entry) { const pmKey = entry.personalMonth > 9 && !T.pmThemes[entry.personalMonth] ? reduce(entry.personalMonth) : entry.personalMonth; const pmTheme = T.pmThemes[pmKey] || { name: '' }; html += '
'; html += '
' + entry.date; if (pmTheme.name) html += '' + T.lblPM + ' ' + entry.personalMonth + ' — ' + pmTheme.name + ''; html += '
'; html += '
' + escapeHtml(entry.text) + '
'; html += ''; html += '
'; }); html += '
'; }); el.innerHTML = html; el.classList.add('show'); } function escapeHtml(str) { var div = document.createElement('div'); div.appendChild(document.createTextNode(str)); return div.innerHTML; } /* ── Restore saved birth date ── */ try { var saved = JSON.parse(localStorage.getItem('nymero_journal_birth')); if (saved && saved.d && saved.m && saved.y) { daySel.value = saved.d; monthSel.value = saved.m; yearSel.value = saved.y; computeCycle(); } } catch(e) {} , deleteConfirm: 'Diesen Eintrag löschen?', emptyTimeline: 'Dein Tagebuch ist leer. Beginne damit, etwas über heute zu notieren.', dateErr: 'Bitte wähle dein vollständiges Geburtsdatum', entryPlaceholder: 'Ein Gespräch, das dir geblieben ist, eine Entscheidung, ein Gefühl, das schwer zu benennen ist...', day: 'Tag', month: 'Monat', year: 'Jahr', months: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], pyThemes: { 1:{name:'Neuanfänge',desc:'Ein Jahr frischer Starts und Unabhängigkeit.'}, 2:{name:'Geduld & Partnerschaft',desc:'Ein Jahr der Kooperation und des natürlichen Wachstums.'}, 3:{name:'Ausdruck & Freude',desc:'Ein Jahr der Kreativität und sozialer Verbindungen.'}, 4:{name:'Fundament & Disziplin',desc:'Ein Jahr des Aufbaus und solider Arbeit.'}, 5:{name:'Wandel & Freiheit',desc:'Ein Jahr der Bewegung und neuer Erfahrungen.'}, 6:{name:'Verantwortung & Liebe',desc:'Ein Jahr, das sich auf Zuhause und Familie konzentriert.'}, 7:{name:'Reflexion & Innenschau',desc:'Ein Jahr der Stille und des inneren Zuhörens.'}, 8:{name:'Macht & Erfolg',desc:'Ein Jahr des Ehrgeizes und der Selbstbehauptung.'}, 9:{name:'Loslassen & Vollendung',desc:'Ein Jahr, um loszulassen und Platz zu schaffen.'}, 11:{name:'Erwachen',desc:'Ein Meisterjahr der Intuition und spirituellen Entwicklung.'}, 22:{name:'Meisterbauer',desc:'Ein Meisterjahr visionärer Projekte.'}, 33:{name:'Meisterlehrer',desc:'Ein Meisterjahr des Mitgefühls und der Heilung.'} }, pmThemes: { 1:{name:'Initiative',desc:'Ein Monat zum Anfangen.'},2:{name:'Kooperation',desc:'Ein Monat zum Zuhören.'}, 3:{name:'Kreativität',desc:'Ein Monat für Ausdruck.'},4:{name:'Struktur',desc:'Ein Monat zum Organisieren.'}, 5:{name:'Abenteuer',desc:'Ein Monat für Neues.'},6:{name:'Fürsorge',desc:'Ein Monat zum Pflegen.'}, 7:{name:'Innenschau',desc:'Ein Monat nach innen.'},8:{name:'Ambition',desc:'Ein Monat zum Voranschreiten.'}, 9:{name:'Vollendung',desc:'Ein Monat zum Loslassen.'},11:{name:'Erkenntnis',desc:'Ein Monat erhöhter Wahrnehmung.'}, 22:{name:'Vision',desc:'Ein Monat für das große Ganze.'},33:{name:'Mitgefühl',desc:'Ein Monat tiefer Empathie.'} }, reflections: { 1:'Was fühlt sich bereit an, in deinem Leben zu beginnen? Was wäre ein kleiner erster Schritt?', 2:'Wo würde etwas mehr Geduld die Dynamik verändern?', 3:'Wann hast du zuletzt etwas rein aus Freude getan?', 4:'Welcher Bereich deines Lebens braucht mehr Struktur?', 5:'Welche Routine fühlt sich verbraucht an? Was würdest du morgen ändern?', 6:'Wer braucht deine Aufmerksamkeit — und gibst du dir selbst genug davon?', 7:'Welcher Bereich verdient gerade mehr stille Aufmerksamkeit?', 8:'Wo hältst du dich zurück, dein volles Potenzial zu nutzen?', 9:'Was hältst du fest, das dir nicht mehr dient?' } }, pt: { pageTitle: 'Seu Diário Numerológico', pageSubtitle: 'Não é uma bola de cristal. Um espaço tranquilo para observar o que está acontecendo na sua vida — e deixar seus números adicionarem uma camada de significado.', lblBirthdate: 'Sua data de nascimento', btnCalc: 'Ver meu ciclo', lblPY: 'Ano Pessoal', lblPM: 'Mês Pessoal', lblReflection: 'Reflexão do mês', lblDate: 'Data', lblEvent: 'O que aconteceu? O que você está sentindo?', btnSave: 'Salvar', saved: 'Salvo!', lblTimeline: 'Sua Linha do Tempo', ctaTitle: 'Quer um olhar mais profundo sobre seu ano?', ctaText: 'Seu relatório de aniversário mapeia seu ciclo pessoal mês a mês, com orientações adaptadas aos seus números.', ctaBtn: 'Entrar na lista de espera', deleteConfirm: 'Excluir esta entrada?', emptyTimeline: 'Seu diário está vazio. Comece anotando algo sobre hoje.', dateErr: 'Por favor selecione sua data de nascimento completa', entryPlaceholder: 'Uma conversa que ficou com você, uma decisão que tomou, um sentimento difícil de nomear...', day: 'Dia', month: 'Mês', year: 'Ano', months: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'], pyThemes: { 1:{name:'Novos Começos',desc:'Um ano de inícios frescos e independência.'}, 2:{name:'Paciência e Parceria',desc:'Um ano de cooperação e crescimento natural.'}, 3:{name:'Expressão e Alegria',desc:'Um ano de criatividade e conexões sociais.'}, 4:{name:'Fundação e Disciplina',desc:'Um ano de construção e trabalho sólido.'}, 5:{name:'Mudança e Liberdade',desc:'Um ano de movimento e novas experiências.'}, 6:{name:'Responsabilidade e Amor',desc:'Um ano centrado no lar e nos entes queridos.'}, 7:{name:'Reflexão e Interior',desc:'Um ano de solidão, estudo e escuta interior.'}, 8:{name:'Poder e Conquista',desc:'Um ano de ambição e autoafirmação.'}, 9:{name:'Liberação e Conclusão',desc:'Um ano para soltar e abrir espaço.'}, 11:{name:'Despertar',desc:'Um ano mestre de intuição e crescimento espiritual.'}, 22:{name:'Mestre Construtor',desc:'Um ano mestre de projetos visionários.'}, 33:{name:'Mestre Professor',desc:'Um ano mestre de compaixão e cura.'} }, pmThemes: { 1:{name:'Iniciativa',desc:'Um mês para começar.'},2:{name:'Cooperação',desc:'Um mês para ouvir.'}, 3:{name:'Criatividade',desc:'Um mês para se expressar.'},4:{name:'Estrutura',desc:'Um mês para organizar.'}, 5:{name:'Aventura',desc:'Um mês para experimentar.'},6:{name:'Cuidado',desc:'Um mês para cuidar.'}, 7:{name:'Introspecção',desc:'Um mês para ir para dentro.'},8:{name:'Ambição',desc:'Um mês para avançar.'}, 9:{name:'Conclusão',desc:'Um mês para soltar.'},11:{name:'Lucidez',desc:'Um mês de consciência elevada.'}, 22:{name:'Visão',desc:'Um mês para construir grande.'},33:{name:'Compaixão',desc:'Um mês de empatia profunda.'} }, reflections: { 1:'O que está pronto para começar na sua vida? Qual seria um pequeno primeiro passo?', 2:'Onde um pouco mais de paciência mudaria a dinâmica?', 3:'Quando foi a última vez que fez algo puramente por prazer?', 4:'Que área da sua vida precisa de mais estrutura?', 5:'Que rotina parece desgastada? O que mudaria amanhã?', 6:'Quem precisa da sua atenção — e você está dando atenção suficiente a si mesmo?', 7:'Que área merece mais atenção silenciosa agora?', 8:'Onde você está se segurando de usar toda a sua capacidade?', 9:'O que você está segurando que já não lhe serve?' } }, it: { pageTitle: 'Il Tuo Diario Numerologico', pageSubtitle: 'Non è una sfera di cristallo. Uno spazio tranquillo per osservare cosa succede nella tua vita — e lasciare che i tuoi numeri aggiungano un livello di significato.', lblBirthdate: 'La tua data di nascita', btnCalc: 'Mostra il mio ciclo', lblPY: 'Anno Personale', lblPM: 'Mese Personale', lblReflection: 'Riflessione del mese', lblDate: 'Data', lblEvent: 'Cosa è successo? Cosa stai provando?', btnSave: 'Salva', saved: 'Salvato!', lblTimeline: 'La Tua Cronologia', ctaTitle: 'Vuoi uno sguardo più profondo sul tuo anno?', ctaText: 'Il tuo report di compleanno mappa il tuo ciclo personale mese per mese, con guida su misura per i tuoi numeri.', ctaBtn: 'Unisciti alla lista d\'attesa', deleteConfirm: 'Eliminare questa voce?', emptyTimeline: 'Il tuo diario è vuoto. Inizia annotando qualcosa su oggi.', dateErr: 'Seleziona la tua data di nascita completa', entryPlaceholder: 'Una conversazione che ti è rimasta, una decisione presa, un sentimento difficile da nominare...', day: 'Giorno', month: 'Mese', year: 'Anno', months: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], pyThemes: { 1:{name:'Nuovi Inizi',desc:'Un anno di inizi freschi e indipendenza.'}, 2:{name:'Pazienza e Collaborazione',desc:'Un anno di cooperazione e crescita naturale.'}, 3:{name:'Espressione e Gioia',desc:'Un anno di creatività e connessioni sociali.'}, 4:{name:'Fondamenta e Disciplina',desc:'Un anno di costruzione e lavoro solido.'}, 5:{name:'Cambiamento e Libertà',desc:'Un anno di movimento e nuove esperienze.'}, 6:{name:'Responsabilità e Amore',desc:'Un anno centrato sulla casa e i cari.'}, 7:{name:'Riflessione e Interiorità',desc:'Un anno di solitudine, studio e ascolto interiore.'}, 8:{name:'Potere e Successo',desc:'Un anno di ambizione e affermazione personale.'}, 9:{name:'Rilascio e Completamento',desc:'Un anno per lasciar andare e fare spazio.'}, 11:{name:'Risveglio',desc:'Un anno maestro di intuizione e crescita spirituale.'}, 22:{name:'Maestro Costruttore',desc:'Un anno maestro di progetti visionari.'}, 33:{name:'Maestro Insegnante',desc:'Un anno maestro di compassione e guarigione.'} }, pmThemes: { 1:{name:'Iniziativa',desc:'Un mese per iniziare.'},2:{name:'Cooperazione',desc:'Un mese per ascoltare.'}, 3:{name:'Creatività',desc:'Un mese per esprimerti.'},4:{name:'Struttura',desc:'Un mese per organizzare.'}, 5:{name:'Avventura',desc:'Un mese per provare.'},6:{name:'Cura',desc:'Un mese per prendersi cura.'}, 7:{name:'Introspezione',desc:'Un mese per andare dentro.'},8:{name:'Ambizione',desc:'Un mese per avanzare.'}, 9:{name:'Completamento',desc:'Un mese per rilasciare.'},11:{name:'Lucidità',desc:'Un mese di consapevolezza elevata.'}, 22:{name:'Visione',desc:'Un mese per costruire in grande.'},33:{name:'Compassione',desc:'Un mese di empatia profonda.'} }, reflections: { 1:'Cosa è pronto a iniziare nella tua vita? Quale piccolo primo passo potresti fare?', 2:'Dove un po\' più di pazienza cambierebbe la dinamica?', 3:'Quando hai fatto l\'ultima volta qualcosa puramente per il piacere?', 4:'Quale area della tua vita ha bisogno di più struttura?', 5:'Quale routine ti sembra logora? Cosa cambieresti domani?', 6:'Chi ha bisogno della tua attenzione — e stai dando abbastanza attenzione a te stesso?', 7:'Quale area merita più attenzione silenziosa in questo momento?', 8:'Dove ti stai trattenendo dall\'usare tutta la tua capacità?', 9:'Cosa stai trattenendo che non ti serve più?' } }, ja: { pageTitle: 'あなたの数秘術ジャーナル', pageSubtitle: '占いではありません。あなたの人生に起きていることを静かに見つめる場所です。数字がそこに意味の層を加えてくれます。', lblBirthdate: '生年月日', btnCalc: 'サイクルを表示', lblPY: 'パーソナルイヤー', lblPM: 'パーソナルマンス', lblReflection: '今月の振り返り', lblDate: '日付', lblEvent: '何がありましたか?何を感じていますか?', btnSave: '保存する', saved: '保存しました!', lblTimeline: 'あなたのタイムライン', ctaTitle: '1年をもっと深く見てみませんか?', ctaText: 'バースデーレポートはあなたのパーソナルイヤーサイクルを月ごとに詳しく解説します。', ctaBtn: 'ウェイトリストに参加', deleteConfirm: 'このエントリーを削除しますか?', emptyTimeline: 'ジャーナルは空です。今日のことを書いてみましょう。', dateErr: '生年月日をすべて選択してください', entryPlaceholder: '心に残った会話、下した決断、名付けがたい気持ち...', day: '日', month: '月', year: '年', months: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'], pyThemes: { 1:{name:'新しい始まり',desc:'新たなスタート、独立、種を蒔く年。'}, 2:{name:'忍耐とパートナーシップ',desc:'協力、感受性、自然な成長の年。'}, 3:{name:'表現と喜び',desc:'創造性、社会的つながり、楽しさの再発見の年。'}, 4:{name:'基盤と規律',desc:'建設、構造、地道な努力の年。'}, 5:{name:'変化と自由',desc:'動き、新しい経験、予想外への挑戦の年。'}, 6:{name:'責任と愛',desc:'家庭、家族、大切な人への献身の年。'}, 7:{name:'内省と内なる仕事',desc:'孤独、学び、内なる声に耳を傾ける年。'}, 8:{name:'力と達成',desc:'野心、経済的焦点、自分の権威を確立する年。'}, 9:{name:'手放しと完了',desc:'手放し、未完を片付け、次への空間を作る年。'}, 11:{name:'覚醒',desc:'直感、インスピレーション、精神的成長のマスター年。'}, 22:{name:'マスタービルダー',desc:'壮大な夢を現実にするマスター年。'}, 33:{name:'マスターティーチャー',desc:'思いやり、癒し、周囲を高めるマスター年。'} }, pmThemes: { 1:{name:'主導',desc:'何かを始める月。'},2:{name:'協力',desc:'聴き、協力する月。'}, 3:{name:'創造',desc:'自分を表現する月。'},4:{name:'構築',desc:'整理し構築する月。'}, 5:{name:'冒険',desc:'新しいことを試す月。'},6:{name:'養育',desc:'大切な人を気遣う月。'}, 7:{name:'内省',desc:'内に向かう月。'},8:{name:'野心',desc:'前に進む月。'}, 9:{name:'完了',desc:'手放し振り返る月。'},11:{name:'洞察',desc:'意識が高まる月。'}, 22:{name:'ビジョン',desc:'大きく構築する月。'},33:{name:'慈悲',desc:'深い共感の月。'} }, reflections: { 1:'今、あなたの人生で始まる準備ができていることは何ですか?小さな一歩は何でしょう?', 2:'もう少し忍耐を持てば、状況が変わる場所はどこですか?', 3:'最後に純粋に楽しいことをしたのはいつですか?', 4:'あなたの人生のどの分野にもっと構造が必要ですか?', 5:'どのルーティンが古く感じますか?明日何を変えますか?', 6:'誰があなたの注意を必要としていますか?自分自身にも十分な注意を向けていますか?', 7:'今、どの分野がもっと静かな注意に値しますか?', 8:'どこで全力を出すことを控えていますか?', 9:'もう役に立たないのに握りしめているものは何ですか?' } }, ko: { pageTitle: '당신의 수비학 저널', pageSubtitle: '점술이 아닙니다. 당신의 삶에서 일어나는 일을 조용히 관찰하고, 숫자가 의미의 층을 더해주는 공간입니다.', lblBirthdate: '생년월일', btnCalc: '내 주기 보기', lblPY: '개인 연도', lblPM: '개인 월', lblReflection: '이달의 성찰', lblDate: '날짜', lblEvent: '무슨 일이 있었나요? 무엇을 느끼고 있나요?', btnSave: '저장', saved: '저장되었습니다!', lblTimeline: '타임라인', ctaTitle: '올해를 더 깊이 살펴보고 싶으세요?', ctaText: '생일 리포트는 당신의 개인 연도 주기를 월별로 자세히 안내합니다.', ctaBtn: '대기 목록 참여', deleteConfirm: '이 항목을 삭제하시겠습니까?', emptyTimeline: '저널이 비어 있습니다. 오늘에 대해 무언가 적어보세요.', dateErr: '생년월일을 모두 선택해 주세요', entryPlaceholder: '마음에 남은 대화, 내린 결정, 이름 붙이기 어려운 감정...', day: '일', month: '월', year: '년', months: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'], pyThemes: { 1:{name:'새로운 시작',desc:'새 출발, 독립, 씨앗을 심는 해.'}, 2:{name:'인내와 파트너십',desc:'협력, 감수성, 자연스러운 성장의 해.'}, 3:{name:'표현과 기쁨',desc:'창의성, 사회적 연결, 즐거움 재발견의 해.'}, 4:{name:'기초와 규율',desc:'건설, 구조, 견실한 노력의 해.'}, 5:{name:'변화와 자유',desc:'움직임, 새로운 경험, 예상 밖의 도전의 해.'}, 6:{name:'책임과 사랑',desc:'가정, 가족, 소중한 사람에 집중하는 해.'}, 7:{name:'성찰과 내면 작업',desc:'고독, 학습, 내면의 목소리에 귀 기울이는 해.'}, 8:{name:'힘과 성취',desc:'야망, 재정적 집중, 권위를 세우는 해.'}, 9:{name:'해방과 완성',desc:'놓아주기, 마무리, 다음을 위한 공간 만들기의 해.'}, 11:{name:'각성',desc:'직관과 영적 성장의 마스터 해.'}, 22:{name:'마스터 빌더',desc:'큰 꿈을 현실로 만드는 마스터 해.'}, 33:{name:'마스터 티처',desc:'연민과 치유의 마스터 해.'} }, pmThemes: { 1:{name:'주도',desc:'시작하는 달.'},2:{name:'협력',desc:'듣고 협력하는 달.'}, 3:{name:'창조',desc:'표현하는 달.'},4:{name:'구축',desc:'정리하고 세우는 달.'}, 5:{name:'모험',desc:'새로운 것을 시도하는 달.'},6:{name:'돌봄',desc:'소중한 이를 돌보는 달.'}, 7:{name:'내성',desc:'내면으로 향하는 달.'},8:{name:'야망',desc:'앞으로 나아가는 달.'}, 9:{name:'완성',desc:'놓아주고 돌아보는 달.'},11:{name:'통찰',desc:'의식이 높아지는 달.'}, 22:{name:'비전',desc:'크게 구축하는 달.'},33:{name:'자비',desc:'깊은 공감의 달.'} }, reflections: { 1:'지금 당신의 삶에서 시작할 준비가 된 것은 무엇인가요?', 2:'조금 더 인내하면 상황이 달라질 곳은 어디인가요?', 3:'마지막으로 순수하게 즐거운 일을 한 것은 언제인가요?', 4:'삶의 어떤 영역에 더 많은 구조가 필요한가요?', 5:'어떤 루틴이 낡았다고 느끼나요? 내일 무엇을 바꾸겠나요?', 6:'누가 당신의 관심이 필요한가요 — 자신에게 충분한 관심을 주고 있나요?', 7:'지금 어떤 영역이 더 조용한 관심을 받을 가치가 있나요?', 8:'어디서 전력을 다하지 못하고 있나요?', 9:'더 이상 도움이 되지 않는 것을 무엇을 붙잡고 있나요?' } }, nl: { pageTitle: 'Jouw Numerologie Dagboek', pageSubtitle: 'Geen glazen bol. Een rustige plek om te merken wat er in je leven gebeurt — en je getallen daar een laag van betekenis aan te laten geven.', lblBirthdate: 'Je geboortedatum', btnCalc: 'Toon mijn cyclus', lblPY: 'Persoonlijk Jaar', lblPM: 'Persoonlijke Maand', lblReflection: 'Maandelijkse Reflectie', lblDate: 'Datum', lblEvent: 'Wat is er gebeurd? Wat voel je?', btnSave: 'Opslaan', saved: 'Opgeslagen!', lblTimeline: 'Jouw Tijdlijn', ctaTitle: 'Wil je een diepere blik op je jaar?', ctaText: 'Je verjaardagsrapport brengt je persoonlijke jaarcyclus in kaart — maand voor maand, met begeleiding afgestemd op je getallen.', ctaBtn: 'Schrijf je in op de wachtlijst', deleteConfirm: 'Dit item verwijderen?', emptyTimeline: 'Je dagboek is leeg. Begin met iets over vandaag op te schrijven.', dateErr: 'Selecteer je volledige geboortedatum', entryPlaceholder: 'Een gesprek dat je bijbleef, een beslissing, een gevoel dat je moeilijk kunt benoemen...', day: 'Dag', month: 'Maand', year: 'Jaar', months: ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'], pyThemes: { 1:{name:'Nieuw Begin',desc:'Een jaar van frisse starts en onafhankelijkheid.'}, 2:{name:'Geduld & Partnerschap',desc:'Een jaar van samenwerking en natuurlijke groei.'}, 3:{name:'Expressie & Vreugde',desc:'Een jaar van creativiteit en sociale verbindingen.'}, 4:{name:'Fundament & Discipline',desc:'Een jaar van bouwen en solide werk.'}, 5:{name:'Verandering & Vrijheid',desc:'Een jaar van beweging en nieuwe ervaringen.'}, 6:{name:'Verantwoordelijkheid & Liefde',desc:'Een jaar gericht op thuis en dierbaren.'}, 7:{name:'Reflectie & Innerlijk Werk',desc:'Een jaar van stilte en innerlijk luisteren.'}, 8:{name:'Kracht & Prestatie',desc:'Een jaar van ambitie en zelfbevestiging.'}, 9:{name:'Loslaten & Voltooiing',desc:'Een jaar om los te laten en ruimte te maken.'}, 11:{name:'Ontwaken',desc:'Een meesterjaar van intuïtie en spirituele groei.'}, 22:{name:'Meesterbouwer',desc:'Een meesterjaar van visionaire projecten.'}, 33:{name:'Meesterleraar',desc:'Een meesterjaar van compassie en genezing.'} }, pmThemes: { 1:{name:'Initiatief',desc:'Een maand om te beginnen.'},2:{name:'Samenwerking',desc:'Een maand om te luisteren.'}, 3:{name:'Creativiteit',desc:'Een maand voor expressie.'},4:{name:'Structuur',desc:'Een maand om te organiseren.'}, 5:{name:'Avontuur',desc:'Een maand om iets nieuws te proberen.'},6:{name:'Zorg',desc:'Een maand om te zorgen.'}, 7:{name:'Introspectie',desc:'Een maand naar binnen.'},8:{name:'Ambitie',desc:'Een maand om vooruit te gaan.'}, 9:{name:'Voltooiing',desc:'Een maand om los te laten.'},11:{name:'Inzicht',desc:'Een maand van verhoogd bewustzijn.'}, 22:{name:'Visie',desc:'Een maand om groot te bouwen.'},33:{name:'Compassie',desc:'Een maand van diepe empathie.'} }, reflections: { 1:'Wat voelt er klaar om te beginnen in je leven? Welke kleine eerste stap kun je zetten?', 2:'Waar zou wat meer geduld de dynamiek veranderen?', 3:'Wanneer deed je voor het laatst iets puur voor het plezier?', 4:'Welk gebied van je leven heeft meer structuur nodig?', 5:'Welke routine voelt versleten? Wat zou je morgen veranderen?', 6:'Wie heeft je aandacht nodig — en geef je jezelf genoeg aandacht?', 7:'Welk gebied verdient nu meer stille aandacht?', 8:'Waar houd je jezelf tegen om je volle capaciteit te benutten?', 9:'Wat hou je vast dat je niet meer dient?' } }, sv: { pageTitle: 'Din Numerologi-Dagbok', pageSubtitle: 'Ingen kristallkula. Ett lugnt utrymme att lägga märke till vad som händer i ditt liv — och låta dina siffror tillföra ett lager av mening.', lblBirthdate: 'Ditt födelsedatum', btnCalc: 'Visa min cykel', lblPY: 'Personligt År', lblPM: 'Personlig Månad', lblReflection: 'Månadens Reflektion', lblDate: 'Datum', lblEvent: 'Vad hände? Vad känner du?', btnSave: 'Spara', saved: 'Sparat!', lblTimeline: 'Din Tidslinje', ctaTitle: 'Vill du ha en djupare blick på ditt år?', ctaText: 'Din födelsedagsrapport kartlägger din personliga årscykel — månad för månad, med vägledning anpassad till dina siffror.', ctaBtn: 'Gå med i väntelistan', deleteConfirm: 'Ta bort denna post?', emptyTimeline: 'Din dagbok är tom. Börja med att notera något om idag.', dateErr: 'Välj ditt fullständiga födelsedatum', entryPlaceholder: 'Ett samtal som stannade kvar, ett beslut du tog, en känsla svår att sätta ord på...', day: 'Dag', month: 'Månad', year: 'År', months: ['Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December'], pyThemes: { 1:{name:'Nya Början',desc:'Ett år av nya starter och oberoende.'}, 2:{name:'Tålamod & Partnerskap',desc:'Ett år av samarbete och naturlig tillväxt.'}, 3:{name:'Uttryck & Glädje',desc:'Ett år av kreativitet och sociala band.'}, 4:{name:'Grund & Disciplin',desc:'Ett år av byggande och solid ansträngning.'}, 5:{name:'Förändring & Frihet',desc:'Ett år av rörelse och nya upplevelser.'}, 6:{name:'Ansvar & Kärlek',desc:'Ett år fokuserat på hem och nära.'}, 7:{name:'Reflektion & Inre Arbete',desc:'Ett år av ensamhet och inre lyssnande.'}, 8:{name:'Kraft & Prestation',desc:'Ett år av ambition och självhävdelse.'}, 9:{name:'Släppa Taget & Avslutning',desc:'Ett år att släppa och skapa utrymme.'}, 11:{name:'Uppvaknande',desc:'Ett mästarår av intuition och andlig tillväxt.'}, 22:{name:'Mästarbyggare',desc:'Ett mästarår av visionära projekt.'}, 33:{name:'Mästarlärare',desc:'Ett mästarår av medkänsla och helande.'} }, pmThemes: { 1:{name:'Initiativ',desc:'En månad att börja.'},2:{name:'Samarbete',desc:'En månad att lyssna.'}, 3:{name:'Kreativitet',desc:'En månad att uttrycka dig.'},4:{name:'Struktur',desc:'En månad att organisera.'}, 5:{name:'Äventyr',desc:'En månad att prova nytt.'},6:{name:'Omsorg',desc:'En månad att ta hand om.'}, 7:{name:'Introspektion',desc:'En månad att gå inåt.'},8:{name:'Ambition',desc:'En månad att gå framåt.'}, 9:{name:'Avslutning',desc:'En månad att släppa.'},11:{name:'Insikt',desc:'En månad av höjd medvetenhet.'}, 22:{name:'Vision',desc:'En månad att bygga stort.'},33:{name:'Medkänsla',desc:'En månad av djup empati.'} }, reflections: { 1:'Vad känns redo att börja i ditt liv? Vilket litet första steg kan du ta?', 2:'Var skulle lite mer tålamod förändra dynamiken?', 3:'När gjorde du senast något enbart för glädjens skull?', 4:'Vilket område i ditt liv behöver mer struktur?', 5:'Vilken rutin känns utsliten? Vad skulle du ändra imorgon?', 6:'Vem behöver din uppmärksamhet — och ger du dig själv tillräckligt?', 7:'Vilket område förtjänar mer tyst uppmärksamhet just nu?', 8:'Var håller du dig tillbaka från att använda hela din kapacitet?', 9:'Vad håller du fast vid som inte längre tjänar dig?' } }, ar: { pageTitle: 'دفتر الأعداد التأملي', pageSubtitle: 'ليست كرة بلورية. مساحة هادئة لملاحظة ما يحدث في حياتك — ودع أرقامك تضيف طبقة من المعنى.', lblBirthdate: 'تاريخ ميلادك', btnCalc: 'عرض دورتي', lblPY: 'السنة الشخصية', lblPM: 'الشهر الشخصي', lblReflection: 'تأمل الشهر', lblDate: 'التاريخ', lblEvent: 'ماذا حدث؟ ماذا تشعر؟', btnSave: 'حفظ', saved: 'تم الحفظ!', lblTimeline: 'جدولك الزمني', ctaTitle: 'هل تريد نظرة أعمق على عامك؟', ctaText: 'تقرير عيد ميلادك يرسم دورتك الشخصية شهرًا بشهر، مع إرشادات مصممة لأرقامك.', ctaBtn: 'انضم لقائمة الانتظار', deleteConfirm: 'حذف هذا الإدخال؟', emptyTimeline: 'دفترك فارغ. ابدأ بتدوين شيء عن اليوم.', dateErr: 'يرجى اختيار تاريخ ميلادك الكامل', entryPlaceholder: 'محادثة بقيت معك، قرار اتخذته، شعور يصعب تسميته...', day: 'اليوم', month: 'الشهر', year: 'السنة', months: ['يناير','فبراير','مارس','أبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'], pyThemes: { 1:{name:'بدايات جديدة',desc:'سنة انطلاقات جديدة واستقلالية.'}, 2:{name:'صبر وشراكة',desc:'سنة تعاون ونمو طبيعي.'}, 3:{name:'تعبير وفرح',desc:'سنة إبداع وروابط اجتماعية.'}, 4:{name:'أساس وانضباط',desc:'سنة بناء وعمل متين.'}, 5:{name:'تغيير وحرية',desc:'سنة حركة وتجارب جديدة.'}, 6:{name:'مسؤولية وحب',desc:'سنة تركز على البيت والأحباء.'}, 7:{name:'تأمل وعمل داخلي',desc:'سنة عزلة ودراسة واستماع داخلي.'}, 8:{name:'قوة وإنجاز',desc:'سنة طموح وتأكيد للذات.'}, 9:{name:'تحرر واكتمال',desc:'سنة للتخلي وفتح المجال.'}, 11:{name:'يقظة',desc:'سنة أستاذية من الحدس والنمو الروحي.'}, 22:{name:'الباني الأستاذ',desc:'سنة أستاذية من المشاريع الرؤيوية.'}, 33:{name:'المعلم الأستاذ',desc:'سنة أستاذية من الرحمة والشفاء.'} }, pmThemes: { 1:{name:'مبادرة',desc:'شهر للبدء.'},2:{name:'تعاون',desc:'شهر للإصغاء.'}, 3:{name:'إبداع',desc:'شهر للتعبير.'},4:{name:'هيكلة',desc:'شهر للتنظيم.'}, 5:{name:'مغامرة',desc:'شهر لتجربة الجديد.'},6:{name:'رعاية',desc:'شهر للاعتناء.'}, 7:{name:'تأمل',desc:'شهر للتوجه إلى الداخل.'},8:{name:'طموح',desc:'شهر للمضي قدمًا.'}, 9:{name:'اكتمال',desc:'شهر للتحرر.'},11:{name:'بصيرة',desc:'شهر من الوعي المتزايد.'}, 22:{name:'رؤية',desc:'شهر للبناء الكبير.'},33:{name:'رحمة',desc:'شهر من التعاطف العميق.'} }, reflections: { 1:'ما الذي يبدو مستعدًا للبدء في حياتك الآن؟ ما هي الخطوة الأولى الصغيرة؟', 2:'أين سيغير القليل من الصبر الديناميكية؟', 3:'متى كانت آخر مرة فعلت شيئًا لمتعة خالصة؟', 4:'أي مجال من حياتك يحتاج مزيدًا من الهيكلة؟', 5:'أي روتين يبدو باليًا؟ ماذا ستغير غدًا؟', 6:'من يحتاج انتباهك — وهل تعطي نفسك اهتمامًا كافيًا؟', 7:'أي مجال يستحق مزيدًا من الاهتمام الهادئ الآن؟', 8:'أين تمنع نفسك من استخدام كامل قدراتك؟', 9:'ما الذي تتشبث به ولم يعد يخدمك؟' } }, th: { pageTitle: 'สมุดบันทึกตัวเลขแห่งการใคร่ครวญ', pageSubtitle: 'ไม่ใช่การทำนาย แต่เป็นพื้นที่เงียบสงบเพื่อสังเกตสิ่งที่เกิดขึ้นในชีวิตคุณ — และให้ตัวเลขเพิ่มชั้นความหมาย', lblBirthdate: 'วันเกิดของคุณ', btnCalc: 'แสดงวงจรของฉัน', lblPY: 'ปีส่วนตัว', lblPM: 'เดือนส่วนตัว', lblReflection: 'การใคร่ครวญประจำเดือน', lblDate: 'วันที่', lblEvent: 'เกิดอะไรขึ้น? คุณรู้สึกอย่างไร?', btnSave: 'บันทึก', saved: 'บันทึกแล้ว!', lblTimeline: 'ไทม์ไลน์ของคุณ', ctaTitle: 'อยากมองลึกขึ้นในปีข้างหน้า?', ctaText: 'รายงานวันเกิดจะวิเคราะห์วงจรปีส่วนตัวทีละเดือน พร้อมคำแนะนำที่ปรับตามตัวเลขของคุณ', ctaBtn: 'เข้าร่วมรายชื่อรอ', deleteConfirm: 'ลบรายการนี้?', emptyTimeline: 'สมุดบันทึกของคุณยังว่าง เริ่มบันทึกเรื่องราวของวันนี้', dateErr: 'กรุณาเลือกวันเกิดให้ครบ', entryPlaceholder: 'บทสนทนาที่ยังติดอยู่ในใจ, การตัดสินใจที่คุณทำ, ความรู้สึกที่ตั้งชื่อได้ยาก...', day: 'วัน', month: 'เดือน', year: 'ปี', months: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'], pyThemes: { 1:{name:'เริ่มต้นใหม่',desc:'ปีแห่งการเริ่มต้นสดใหม่และความเป็นอิสระ'}, 2:{name:'อดทนและเป็นหุ้นส่วน',desc:'ปีแห่งความร่วมมือและการเติบโตตามธรรมชาติ'}, 3:{name:'การแสดงออกและความสุข',desc:'ปีแห่งความคิดสร้างสรรค์และการเชื่อมต่อทางสังคม'}, 4:{name:'รากฐานและวินัย',desc:'ปีแห่งการสร้างและงานที่มั่นคง'}, 5:{name:'การเปลี่ยนแปลงและอิสรภาพ',desc:'ปีแห่งการเคลื่อนไหวและประสบการณ์ใหม่'}, 6:{name:'ความรับผิดชอบและความรัก',desc:'ปีที่มุ่งเน้นบ้านและคนที่รัก'}, 7:{name:'การใคร่ครวญและงานภายใน',desc:'ปีแห่งความสงบ การเรียนรู้ และการฟังภายใน'}, 8:{name:'พลังและความสำเร็จ',desc:'ปีแห่งความทะเยอทะยานและการยืนยันตัวเอง'}, 9:{name:'ปล่อยวางและสมบูรณ์',desc:'ปีแห่งการปล่อยวางและสร้างพื้นที่'}, 11:{name:'ตื่นรู้',desc:'ปีมาสเตอร์แห่งสัญชาตญาณและการเติบโตทางจิตวิญญาณ'}, 22:{name:'ผู้สร้างมาสเตอร์',desc:'ปีมาสเตอร์แห่งโครงการที่มีวิสัยทัศน์'}, 33:{name:'ครูมาสเตอร์',desc:'ปีมาสเตอร์แห่งความเมตตาและการเยียวยา'} }, pmThemes: { 1:{name:'ริเริ่ม',desc:'เดือนแห่งการเริ่มต้น'},2:{name:'ร่วมมือ',desc:'เดือนแห่งการฟัง'}, 3:{name:'สร้างสรรค์',desc:'เดือนแห่งการแสดงออก'},4:{name:'โครงสร้าง',desc:'เดือนแห่งการจัดระเบียบ'}, 5:{name:'ผจญภัย',desc:'เดือนแห่งการลองสิ่งใหม่'},6:{name:'ดูแล',desc:'เดือนแห่งการเอาใจใส่'}, 7:{name:'ใคร่ครวญ',desc:'เดือนแห่งการมองเข้าข้างใน'},8:{name:'ทะเยอทะยาน',desc:'เดือนแห่งการก้าวไปข้างหน้า'}, 9:{name:'สมบูรณ์',desc:'เดือนแห่งการปล่อยวาง'},11:{name:'หยั่งรู้',desc:'เดือนแห่งการตระหนักรู้ที่สูงขึ้น'}, 22:{name:'วิสัยทัศน์',desc:'เดือนแห่งการสร้างสิ่งยิ่งใหญ่'},33:{name:'เมตตา',desc:'เดือนแห่งความเห็นอกเห็นใจลึกซึ้ง'} }, reflections: { 1:'อะไรรู้สึกพร้อมที่จะเริ่มต้นในชีวิตคุณตอนนี้? ก้าวเล็กๆ แรกคืออะไร?', 2:'ที่ไหนที่ความอดทนอีกนิดจะเปลี่ยนพลวัต?', 3:'ครั้งสุดท้ายที่ทำอะไรเพื่อความสุขล้วนๆ คือเมื่อไหร่?', 4:'ด้านไหนของชีวิตที่ต้องการโครงสร้างมากขึ้น?', 5:'กิจวัตรไหนรู้สึกเก่า? จะเปลี่ยนอะไรพรุ่งนี้?', 6:'ใครต้องการความสนใจจากคุณ — และคุณให้ความสนใจตัวเองเพียงพอไหม?', 7:'ด้านไหนสมควรได้รับความสนใจอย่างเงียบๆ มากขึ้นตอนนี้?', 8:'ที่ไหนที่คุณกำลังยั้งตัวเองจากการใช้ศักยภาพเต็มที่?', 9:'คุณกำลังยึดสิ่งที่ไม่ได้รับใช้คุณอีกต่อไปอะไรอยู่?' } } }; /* ── Detect language ── */ function getLang() { const params = new URLSearchParams(window.location.search); if (params.get('lang') && I18N[params.get('lang')]) return params.get('lang'); const path = window.location.pathname.split('/')[1]; if (I18N[path]) return path; const nav = (navigator.language || '').toLowerCase(); if (nav.startsWith('fr-ca') && I18N['fr-ca']) return 'fr-ca'; for (const k of Object.keys(I18N)) { if (nav.startsWith(k)) return k; } return 'en'; } const LANG = getLang(); const T = I18N[LANG] || I18N.en; /* ── RTL ── */ if (LANG === 'ar') { document.documentElement.setAttribute('dir', 'rtl'); document.documentElement.setAttribute('lang', 'ar'); } /* ── Apply translations ── */ function setText(id, text) { const el = document.getElementById(id); if (el) el.textContent = text; } function setHTML(id, html) { const el = document.getElementById(id); if (el) el.innerHTML = html; } setHTML('pageTitle', T.pageTitle); setText('pageSubtitle', T.pageSubtitle); setText('lblBirthdate', T.lblBirthdate); setText('btnCalc', T.btnCalc); setText('lblPY', T.lblPY); setText('lblPM', T.lblPM); setText('lblReflection', T.lblReflection); setText('lblDate', T.lblDate); setText('lblEvent', T.lblEvent); setText('btnSave', T.btnSave); setText('lblTimeline', T.lblTimeline); setText('ctaTitle', T.ctaTitle); setText('ctaText', T.ctaText); setText('ctaBtn', T.ctaBtn); setText('dateErr', T.dateErr); const entryTextEl = document.getElementById('entryText'); if (entryTextEl && T.entryPlaceholder) entryTextEl.placeholder = T.entryPlaceholder; /* ── Populate selects ── */ const daySel = document.getElementById('bDay'); const monthSel = document.getElementById('bMonth'); const yearSel = document.getElementById('bYear'); daySel.innerHTML = ''; for (let i = 1; i <= 31; i++) daySel.innerHTML += ''; monthSel.innerHTML = ''; T.months.forEach(function(m, i) { monthSel.innerHTML += ''; }); yearSel.innerHTML = ''; const curYear = new Date().getFullYear(); for (let y = curYear; y >= 1920; y--) yearSel.innerHTML += ''; /* Set today's date in entry date picker */ const entryDateEl = document.getElementById('entryDate'); const today = new Date(); entryDateEl.value = today.getFullYear() + '-' + String(today.getMonth() + 1).padStart(2, '0') + '-' + String(today.getDate()).padStart(2, '0'); /* ── Numerology reduce ── */ function reduce(n) { while (n > 9 && n !== 11 && n !== 22 && n !== 33) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } n = s; } return n; } function digitSum(n) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } return s; } /* ── Compute cycle ── */ let currentPY = null; let currentPM = null; let birthDay = null; let birthMonth = null; function computeCycle() { const d = parseInt(daySel.value); const m = parseInt(monthSel.value); const y = parseInt(yearSel.value); if (!d || !m || !y) { document.getElementById('dateErr').style.display = 'block'; return; } document.getElementById('dateErr').style.display = 'none'; birthDay = d; birthMonth = m; /* Personal Year = reduce(birthDay + birthMonth + currentYear) */ const now = new Date(); const cYear = now.getFullYear(); const cMonth = now.getMonth() + 1; const pyRaw = digitSum(d) + digitSum(m) + digitSum(cYear); currentPY = reduce(pyRaw); /* Personal Month = reduce(personalYear + currentMonth) */ const pmRaw = currentPY + cMonth; currentPM = reduce(pmRaw); /* Display Personal Year */ const pyTheme = T.pyThemes[currentPY] || T.pyThemes[reduce(currentPY)] || { name: '—', desc: '' }; document.getElementById('pyNum').textContent = currentPY; document.getElementById('pyName').textContent = pyTheme.name; document.getElementById('pyDesc').textContent = pyTheme.desc; /* Display Personal Month */ const pmKey = currentPM > 9 && !T.pmThemes[currentPM] ? reduce(currentPM) : currentPM; const pmTheme = T.pmThemes[pmKey] || { name: '—', desc: '' }; document.getElementById('pmNum').textContent = currentPM; document.getElementById('pmName').textContent = pmTheme.name; document.getElementById('pmDesc').textContent = pmTheme.desc; /* Reflection question — use single-digit for lookup */ const refKey = currentPM > 9 ? reduce(currentPM) : currentPM; document.getElementById('reflectionQ').textContent = T.reflections[refKey] || T.reflections[1]; /* Show cycle display */ document.getElementById('cycleDisplay').classList.add('show'); /* Save birth date to localStorage for convenience */ try { localStorage.setItem('nymero_journal_birth', JSON.stringify({ d: d, m: m, y: y })); } catch(e) {} renderTimeline(); } /* ── Journal storage ── */ function getEntries() { try { return JSON.parse(localStorage.getItem('nymero_journal') || '[]'); } catch(e) { return []; } } function saveEntry() { if (!currentPY) return; const text = document.getElementById('entryText').value.trim(); const date = document.getElementById('entryDate').value; if (!text || !date) return; const entries = getEntries(); entries.push({ date: date, text: text, personalYear: currentPY, personalMonth: currentPM, timestamp: Date.now() }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} // Shooting star on save if(window.NymeroAmbient) NymeroAmbient.shootingStar(); document.getElementById('entryText').value = ''; const confirm = document.getElementById('saveConfirm'); confirm.textContent = T.saved; confirm.style.display = 'block'; setTimeout(function() { confirm.style.display = 'none'; }, 2500); renderTimeline(); } function deleteEntry(timestamp) { if (!confirm(T.deleteConfirm)) return; let entries = getEntries(); entries = entries.filter(function(e) { return e.timestamp !== timestamp; }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} renderTimeline(); } /* ── Render timeline ── */ function renderTimeline() { const el = document.getElementById('timeline'); const entries = getEntries(); if (entries.length === 0) { el.innerHTML = '
' + T.emptyTimeline + '
'; el.classList.add('show'); return; } /* Group by Personal Year */ const grouped = {}; entries.sort(function(a, b) { return b.timestamp - a.timestamp; }); entries.forEach(function(e) { const key = e.personalYear || '?'; if (!grouped[key]) grouped[key] = []; grouped[key].push(e); }); let html = ''; Object.keys(grouped).forEach(function(py) { const pyTheme = T.pyThemes[py] || { name: '' }; html += '
'; html += '
' + T.lblPY + ' ' + py; if (pyTheme.name) html += ' ' + pyTheme.name + ''; html += '
'; grouped[py].forEach(function(entry) { const pmKey = entry.personalMonth > 9 && !T.pmThemes[entry.personalMonth] ? reduce(entry.personalMonth) : entry.personalMonth; const pmTheme = T.pmThemes[pmKey] || { name: '' }; html += '
'; html += '
' + entry.date; if (pmTheme.name) html += '' + T.lblPM + ' ' + entry.personalMonth + ' — ' + pmTheme.name + ''; html += '
'; html += '
' + escapeHtml(entry.text) + '
'; html += ''; html += '
'; }); html += '
'; }); el.innerHTML = html; el.classList.add('show'); } function escapeHtml(str) { var div = document.createElement('div'); div.appendChild(document.createTextNode(str)); return div.innerHTML; } /* ── Restore saved birth date ── */ try { var saved = JSON.parse(localStorage.getItem('nymero_journal_birth')); if (saved && saved.d && saved.m && saved.y) { daySel.value = saved.d; monthSel.value = saved.m; yearSel.value = saved.y; computeCycle(); } } catch(e) {} , deleteConfirm: 'Eliminare questa voce?', emptyTimeline: 'Il tuo diario è vuoto. Inizia annotando qualcosa su oggi.', dateErr: 'Seleziona la tua data di nascita completa', entryPlaceholder: 'Una conversazione che ti è rimasta, una decisione presa, un sentimento difficile da nominare...', day: 'Giorno', month: 'Mese', year: 'Anno', months: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], pyThemes: { 1:{name:'Nuovi Inizi',desc:'Un anno di inizi freschi e indipendenza.'}, 2:{name:'Pazienza e Collaborazione',desc:'Un anno di cooperazione e crescita naturale.'}, 3:{name:'Espressione e Gioia',desc:'Un anno di creatività e connessioni sociali.'}, 4:{name:'Fondamenta e Disciplina',desc:'Un anno di costruzione e lavoro solido.'}, 5:{name:'Cambiamento e Libertà',desc:'Un anno di movimento e nuove esperienze.'}, 6:{name:'Responsabilità e Amore',desc:'Un anno centrato sulla casa e i cari.'}, 7:{name:'Riflessione e Interiorità',desc:'Un anno di solitudine, studio e ascolto interiore.'}, 8:{name:'Potere e Successo',desc:'Un anno di ambizione e affermazione personale.'}, 9:{name:'Rilascio e Completamento',desc:'Un anno per lasciar andare e fare spazio.'}, 11:{name:'Risveglio',desc:'Un anno maestro di intuizione e crescita spirituale.'}, 22:{name:'Maestro Costruttore',desc:'Un anno maestro di progetti visionari.'}, 33:{name:'Maestro Insegnante',desc:'Un anno maestro di compassione e guarigione.'} }, pmThemes: { 1:{name:'Iniziativa',desc:'Un mese per iniziare.'},2:{name:'Cooperazione',desc:'Un mese per ascoltare.'}, 3:{name:'Creatività',desc:'Un mese per esprimerti.'},4:{name:'Struttura',desc:'Un mese per organizzare.'}, 5:{name:'Avventura',desc:'Un mese per provare.'},6:{name:'Cura',desc:'Un mese per prendersi cura.'}, 7:{name:'Introspezione',desc:'Un mese per andare dentro.'},8:{name:'Ambizione',desc:'Un mese per avanzare.'}, 9:{name:'Completamento',desc:'Un mese per rilasciare.'},11:{name:'Lucidità',desc:'Un mese di consapevolezza elevata.'}, 22:{name:'Visione',desc:'Un mese per costruire in grande.'},33:{name:'Compassione',desc:'Un mese di empatia profonda.'} }, reflections: { 1:'Cosa è pronto a iniziare nella tua vita? Quale piccolo primo passo potresti fare?', 2:'Dove un po\' più di pazienza cambierebbe la dinamica?', 3:'Quando hai fatto l\'ultima volta qualcosa puramente per il piacere?', 4:'Quale area della tua vita ha bisogno di più struttura?', 5:'Quale routine ti sembra logora? Cosa cambieresti domani?', 6:'Chi ha bisogno della tua attenzione — e stai dando abbastanza attenzione a te stesso?', 7:'Quale area merita più attenzione silenziosa in questo momento?', 8:'Dove ti stai trattenendo dall\'usare tutta la tua capacità?', 9:'Cosa stai trattenendo che non ti serve più?' } }, ja: { pageTitle: 'あなたの数秘術ジャーナル', pageSubtitle: '占いではありません。あなたの人生に起きていることを静かに見つめる場所です。数字がそこに意味の層を加えてくれます。', lblBirthdate: '生年月日', btnCalc: 'サイクルを表示', lblPY: 'パーソナルイヤー', lblPM: 'パーソナルマンス', lblReflection: '今月の振り返り', lblDate: '日付', lblEvent: '何がありましたか?何を感じていますか?', btnSave: '保存する', saved: '保存しました!', lblTimeline: 'あなたのタイムライン', ctaTitle: '1年をもっと深く見てみませんか?', ctaText: 'バースデーレポートはあなたのパーソナルイヤーサイクルを月ごとに詳しく解説します。', ctaBtn: 'ウェイトリストに参加', deleteConfirm: 'このエントリーを削除しますか?', emptyTimeline: 'ジャーナルは空です。今日のことを書いてみましょう。', dateErr: '生年月日をすべて選択してください', entryPlaceholder: '心に残った会話、下した決断、名付けがたい気持ち...', day: '日', month: '月', year: '年', months: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'], pyThemes: { 1:{name:'新しい始まり',desc:'新たなスタート、独立、種を蒔く年。'}, 2:{name:'忍耐とパートナーシップ',desc:'協力、感受性、自然な成長の年。'}, 3:{name:'表現と喜び',desc:'創造性、社会的つながり、楽しさの再発見の年。'}, 4:{name:'基盤と規律',desc:'建設、構造、地道な努力の年。'}, 5:{name:'変化と自由',desc:'動き、新しい経験、予想外への挑戦の年。'}, 6:{name:'責任と愛',desc:'家庭、家族、大切な人への献身の年。'}, 7:{name:'内省と内なる仕事',desc:'孤独、学び、内なる声に耳を傾ける年。'}, 8:{name:'力と達成',desc:'野心、経済的焦点、自分の権威を確立する年。'}, 9:{name:'手放しと完了',desc:'手放し、未完を片付け、次への空間を作る年。'}, 11:{name:'覚醒',desc:'直感、インスピレーション、精神的成長のマスター年。'}, 22:{name:'マスタービルダー',desc:'壮大な夢を現実にするマスター年。'}, 33:{name:'マスターティーチャー',desc:'思いやり、癒し、周囲を高めるマスター年。'} }, pmThemes: { 1:{name:'主導',desc:'何かを始める月。'},2:{name:'協力',desc:'聴き、協力する月。'}, 3:{name:'創造',desc:'自分を表現する月。'},4:{name:'構築',desc:'整理し構築する月。'}, 5:{name:'冒険',desc:'新しいことを試す月。'},6:{name:'養育',desc:'大切な人を気遣う月。'}, 7:{name:'内省',desc:'内に向かう月。'},8:{name:'野心',desc:'前に進む月。'}, 9:{name:'完了',desc:'手放し振り返る月。'},11:{name:'洞察',desc:'意識が高まる月。'}, 22:{name:'ビジョン',desc:'大きく構築する月。'},33:{name:'慈悲',desc:'深い共感の月。'} }, reflections: { 1:'今、あなたの人生で始まる準備ができていることは何ですか?小さな一歩は何でしょう?', 2:'もう少し忍耐を持てば、状況が変わる場所はどこですか?', 3:'最後に純粋に楽しいことをしたのはいつですか?', 4:'あなたの人生のどの分野にもっと構造が必要ですか?', 5:'どのルーティンが古く感じますか?明日何を変えますか?', 6:'誰があなたの注意を必要としていますか?自分自身にも十分な注意を向けていますか?', 7:'今、どの分野がもっと静かな注意に値しますか?', 8:'どこで全力を出すことを控えていますか?', 9:'もう役に立たないのに握りしめているものは何ですか?' } }, ko: { pageTitle: '당신의 수비학 저널', pageSubtitle: '점술이 아닙니다. 당신의 삶에서 일어나는 일을 조용히 관찰하고, 숫자가 의미의 층을 더해주는 공간입니다.', lblBirthdate: '생년월일', btnCalc: '내 주기 보기', lblPY: '개인 연도', lblPM: '개인 월', lblReflection: '이달의 성찰', lblDate: '날짜', lblEvent: '무슨 일이 있었나요? 무엇을 느끼고 있나요?', btnSave: '저장', saved: '저장되었습니다!', lblTimeline: '타임라인', ctaTitle: '올해를 더 깊이 살펴보고 싶으세요?', ctaText: '생일 리포트는 당신의 개인 연도 주기를 월별로 자세히 안내합니다.', ctaBtn: '대기 목록 참여', deleteConfirm: '이 항목을 삭제하시겠습니까?', emptyTimeline: '저널이 비어 있습니다. 오늘에 대해 무언가 적어보세요.', dateErr: '생년월일을 모두 선택해 주세요', entryPlaceholder: '마음에 남은 대화, 내린 결정, 이름 붙이기 어려운 감정...', day: '일', month: '월', year: '년', months: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'], pyThemes: { 1:{name:'새로운 시작',desc:'새 출발, 독립, 씨앗을 심는 해.'}, 2:{name:'인내와 파트너십',desc:'협력, 감수성, 자연스러운 성장의 해.'}, 3:{name:'표현과 기쁨',desc:'창의성, 사회적 연결, 즐거움 재발견의 해.'}, 4:{name:'기초와 규율',desc:'건설, 구조, 견실한 노력의 해.'}, 5:{name:'변화와 자유',desc:'움직임, 새로운 경험, 예상 밖의 도전의 해.'}, 6:{name:'책임과 사랑',desc:'가정, 가족, 소중한 사람에 집중하는 해.'}, 7:{name:'성찰과 내면 작업',desc:'고독, 학습, 내면의 목소리에 귀 기울이는 해.'}, 8:{name:'힘과 성취',desc:'야망, 재정적 집중, 권위를 세우는 해.'}, 9:{name:'해방과 완성',desc:'놓아주기, 마무리, 다음을 위한 공간 만들기의 해.'}, 11:{name:'각성',desc:'직관과 영적 성장의 마스터 해.'}, 22:{name:'마스터 빌더',desc:'큰 꿈을 현실로 만드는 마스터 해.'}, 33:{name:'마스터 티처',desc:'연민과 치유의 마스터 해.'} }, pmThemes: { 1:{name:'주도',desc:'시작하는 달.'},2:{name:'협력',desc:'듣고 협력하는 달.'}, 3:{name:'창조',desc:'표현하는 달.'},4:{name:'구축',desc:'정리하고 세우는 달.'}, 5:{name:'모험',desc:'새로운 것을 시도하는 달.'},6:{name:'돌봄',desc:'소중한 이를 돌보는 달.'}, 7:{name:'내성',desc:'내면으로 향하는 달.'},8:{name:'야망',desc:'앞으로 나아가는 달.'}, 9:{name:'완성',desc:'놓아주고 돌아보는 달.'},11:{name:'통찰',desc:'의식이 높아지는 달.'}, 22:{name:'비전',desc:'크게 구축하는 달.'},33:{name:'자비',desc:'깊은 공감의 달.'} }, reflections: { 1:'지금 당신의 삶에서 시작할 준비가 된 것은 무엇인가요?', 2:'조금 더 인내하면 상황이 달라질 곳은 어디인가요?', 3:'마지막으로 순수하게 즐거운 일을 한 것은 언제인가요?', 4:'삶의 어떤 영역에 더 많은 구조가 필요한가요?', 5:'어떤 루틴이 낡았다고 느끼나요? 내일 무엇을 바꾸겠나요?', 6:'누가 당신의 관심이 필요한가요 — 자신에게 충분한 관심을 주고 있나요?', 7:'지금 어떤 영역이 더 조용한 관심을 받을 가치가 있나요?', 8:'어디서 전력을 다하지 못하고 있나요?', 9:'더 이상 도움이 되지 않는 것을 무엇을 붙잡고 있나요?' } }, nl: { pageTitle: 'Jouw Numerologie Dagboek', pageSubtitle: 'Geen glazen bol. Een rustige plek om te merken wat er in je leven gebeurt — en je getallen daar een laag van betekenis aan te laten geven.', lblBirthdate: 'Je geboortedatum', btnCalc: 'Toon mijn cyclus', lblPY: 'Persoonlijk Jaar', lblPM: 'Persoonlijke Maand', lblReflection: 'Maandelijkse Reflectie', lblDate: 'Datum', lblEvent: 'Wat is er gebeurd? Wat voel je?', btnSave: 'Opslaan', saved: 'Opgeslagen!', lblTimeline: 'Jouw Tijdlijn', ctaTitle: 'Wil je een diepere blik op je jaar?', ctaText: 'Je verjaardagsrapport brengt je persoonlijke jaarcyclus in kaart — maand voor maand, met begeleiding afgestemd op je getallen.', ctaBtn: 'Schrijf je in op de wachtlijst', deleteConfirm: 'Dit item verwijderen?', emptyTimeline: 'Je dagboek is leeg. Begin met iets over vandaag op te schrijven.', dateErr: 'Selecteer je volledige geboortedatum', entryPlaceholder: 'Een gesprek dat je bijbleef, een beslissing, een gevoel dat je moeilijk kunt benoemen...', day: 'Dag', month: 'Maand', year: 'Jaar', months: ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'], pyThemes: { 1:{name:'Nieuw Begin',desc:'Een jaar van frisse starts en onafhankelijkheid.'}, 2:{name:'Geduld & Partnerschap',desc:'Een jaar van samenwerking en natuurlijke groei.'}, 3:{name:'Expressie & Vreugde',desc:'Een jaar van creativiteit en sociale verbindingen.'}, 4:{name:'Fundament & Discipline',desc:'Een jaar van bouwen en solide werk.'}, 5:{name:'Verandering & Vrijheid',desc:'Een jaar van beweging en nieuwe ervaringen.'}, 6:{name:'Verantwoordelijkheid & Liefde',desc:'Een jaar gericht op thuis en dierbaren.'}, 7:{name:'Reflectie & Innerlijk Werk',desc:'Een jaar van stilte en innerlijk luisteren.'}, 8:{name:'Kracht & Prestatie',desc:'Een jaar van ambitie en zelfbevestiging.'}, 9:{name:'Loslaten & Voltooiing',desc:'Een jaar om los te laten en ruimte te maken.'}, 11:{name:'Ontwaken',desc:'Een meesterjaar van intuïtie en spirituele groei.'}, 22:{name:'Meesterbouwer',desc:'Een meesterjaar van visionaire projecten.'}, 33:{name:'Meesterleraar',desc:'Een meesterjaar van compassie en genezing.'} }, pmThemes: { 1:{name:'Initiatief',desc:'Een maand om te beginnen.'},2:{name:'Samenwerking',desc:'Een maand om te luisteren.'}, 3:{name:'Creativiteit',desc:'Een maand voor expressie.'},4:{name:'Structuur',desc:'Een maand om te organiseren.'}, 5:{name:'Avontuur',desc:'Een maand om iets nieuws te proberen.'},6:{name:'Zorg',desc:'Een maand om te zorgen.'}, 7:{name:'Introspectie',desc:'Een maand naar binnen.'},8:{name:'Ambitie',desc:'Een maand om vooruit te gaan.'}, 9:{name:'Voltooiing',desc:'Een maand om los te laten.'},11:{name:'Inzicht',desc:'Een maand van verhoogd bewustzijn.'}, 22:{name:'Visie',desc:'Een maand om groot te bouwen.'},33:{name:'Compassie',desc:'Een maand van diepe empathie.'} }, reflections: { 1:'Wat voelt er klaar om te beginnen in je leven? Welke kleine eerste stap kun je zetten?', 2:'Waar zou wat meer geduld de dynamiek veranderen?', 3:'Wanneer deed je voor het laatst iets puur voor het plezier?', 4:'Welk gebied van je leven heeft meer structuur nodig?', 5:'Welke routine voelt versleten? Wat zou je morgen veranderen?', 6:'Wie heeft je aandacht nodig — en geef je jezelf genoeg aandacht?', 7:'Welk gebied verdient nu meer stille aandacht?', 8:'Waar houd je jezelf tegen om je volle capaciteit te benutten?', 9:'Wat hou je vast dat je niet meer dient?' } }, sv: { pageTitle: 'Din Numerologi-Dagbok', pageSubtitle: 'Ingen kristallkula. Ett lugnt utrymme att lägga märke till vad som händer i ditt liv — och låta dina siffror tillföra ett lager av mening.', lblBirthdate: 'Ditt födelsedatum', btnCalc: 'Visa min cykel', lblPY: 'Personligt År', lblPM: 'Personlig Månad', lblReflection: 'Månadens Reflektion', lblDate: 'Datum', lblEvent: 'Vad hände? Vad känner du?', btnSave: 'Spara', saved: 'Sparat!', lblTimeline: 'Din Tidslinje', ctaTitle: 'Vill du ha en djupare blick på ditt år?', ctaText: 'Din födelsedagsrapport kartlägger din personliga årscykel — månad för månad, med vägledning anpassad till dina siffror.', ctaBtn: 'Gå med i väntelistan', deleteConfirm: 'Ta bort denna post?', emptyTimeline: 'Din dagbok är tom. Börja med att notera något om idag.', dateErr: 'Välj ditt fullständiga födelsedatum', entryPlaceholder: 'Ett samtal som stannade kvar, ett beslut du tog, en känsla svår att sätta ord på...', day: 'Dag', month: 'Månad', year: 'År', months: ['Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December'], pyThemes: { 1:{name:'Nya Början',desc:'Ett år av nya starter och oberoende.'}, 2:{name:'Tålamod & Partnerskap',desc:'Ett år av samarbete och naturlig tillväxt.'}, 3:{name:'Uttryck & Glädje',desc:'Ett år av kreativitet och sociala band.'}, 4:{name:'Grund & Disciplin',desc:'Ett år av byggande och solid ansträngning.'}, 5:{name:'Förändring & Frihet',desc:'Ett år av rörelse och nya upplevelser.'}, 6:{name:'Ansvar & Kärlek',desc:'Ett år fokuserat på hem och nära.'}, 7:{name:'Reflektion & Inre Arbete',desc:'Ett år av ensamhet och inre lyssnande.'}, 8:{name:'Kraft & Prestation',desc:'Ett år av ambition och självhävdelse.'}, 9:{name:'Släppa Taget & Avslutning',desc:'Ett år att släppa och skapa utrymme.'}, 11:{name:'Uppvaknande',desc:'Ett mästarår av intuition och andlig tillväxt.'}, 22:{name:'Mästarbyggare',desc:'Ett mästarår av visionära projekt.'}, 33:{name:'Mästarlärare',desc:'Ett mästarår av medkänsla och helande.'} }, pmThemes: { 1:{name:'Initiativ',desc:'En månad att börja.'},2:{name:'Samarbete',desc:'En månad att lyssna.'}, 3:{name:'Kreativitet',desc:'En månad att uttrycka dig.'},4:{name:'Struktur',desc:'En månad att organisera.'}, 5:{name:'Äventyr',desc:'En månad att prova nytt.'},6:{name:'Omsorg',desc:'En månad att ta hand om.'}, 7:{name:'Introspektion',desc:'En månad att gå inåt.'},8:{name:'Ambition',desc:'En månad att gå framåt.'}, 9:{name:'Avslutning',desc:'En månad att släppa.'},11:{name:'Insikt',desc:'En månad av höjd medvetenhet.'}, 22:{name:'Vision',desc:'En månad att bygga stort.'},33:{name:'Medkänsla',desc:'En månad av djup empati.'} }, reflections: { 1:'Vad känns redo att börja i ditt liv? Vilket litet första steg kan du ta?', 2:'Var skulle lite mer tålamod förändra dynamiken?', 3:'När gjorde du senast något enbart för glädjens skull?', 4:'Vilket område i ditt liv behöver mer struktur?', 5:'Vilken rutin känns utsliten? Vad skulle du ändra imorgon?', 6:'Vem behöver din uppmärksamhet — och ger du dig själv tillräckligt?', 7:'Vilket område förtjänar mer tyst uppmärksamhet just nu?', 8:'Var håller du dig tillbaka från att använda hela din kapacitet?', 9:'Vad håller du fast vid som inte längre tjänar dig?' } }, ar: { pageTitle: 'دفتر الأعداد التأملي', pageSubtitle: 'ليست كرة بلورية. مساحة هادئة لملاحظة ما يحدث في حياتك — ودع أرقامك تضيف طبقة من المعنى.', lblBirthdate: 'تاريخ ميلادك', btnCalc: 'عرض دورتي', lblPY: 'السنة الشخصية', lblPM: 'الشهر الشخصي', lblReflection: 'تأمل الشهر', lblDate: 'التاريخ', lblEvent: 'ماذا حدث؟ ماذا تشعر؟', btnSave: 'حفظ', saved: 'تم الحفظ!', lblTimeline: 'جدولك الزمني', ctaTitle: 'هل تريد نظرة أعمق على عامك؟', ctaText: 'تقرير عيد ميلادك يرسم دورتك الشخصية شهرًا بشهر، مع إرشادات مصممة لأرقامك.', ctaBtn: 'انضم لقائمة الانتظار', deleteConfirm: 'حذف هذا الإدخال؟', emptyTimeline: 'دفترك فارغ. ابدأ بتدوين شيء عن اليوم.', dateErr: 'يرجى اختيار تاريخ ميلادك الكامل', entryPlaceholder: 'محادثة بقيت معك، قرار اتخذته، شعور يصعب تسميته...', day: 'اليوم', month: 'الشهر', year: 'السنة', months: ['يناير','فبراير','مارس','أبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'], pyThemes: { 1:{name:'بدايات جديدة',desc:'سنة انطلاقات جديدة واستقلالية.'}, 2:{name:'صبر وشراكة',desc:'سنة تعاون ونمو طبيعي.'}, 3:{name:'تعبير وفرح',desc:'سنة إبداع وروابط اجتماعية.'}, 4:{name:'أساس وانضباط',desc:'سنة بناء وعمل متين.'}, 5:{name:'تغيير وحرية',desc:'سنة حركة وتجارب جديدة.'}, 6:{name:'مسؤولية وحب',desc:'سنة تركز على البيت والأحباء.'}, 7:{name:'تأمل وعمل داخلي',desc:'سنة عزلة ودراسة واستماع داخلي.'}, 8:{name:'قوة وإنجاز',desc:'سنة طموح وتأكيد للذات.'}, 9:{name:'تحرر واكتمال',desc:'سنة للتخلي وفتح المجال.'}, 11:{name:'يقظة',desc:'سنة أستاذية من الحدس والنمو الروحي.'}, 22:{name:'الباني الأستاذ',desc:'سنة أستاذية من المشاريع الرؤيوية.'}, 33:{name:'المعلم الأستاذ',desc:'سنة أستاذية من الرحمة والشفاء.'} }, pmThemes: { 1:{name:'مبادرة',desc:'شهر للبدء.'},2:{name:'تعاون',desc:'شهر للإصغاء.'}, 3:{name:'إبداع',desc:'شهر للتعبير.'},4:{name:'هيكلة',desc:'شهر للتنظيم.'}, 5:{name:'مغامرة',desc:'شهر لتجربة الجديد.'},6:{name:'رعاية',desc:'شهر للاعتناء.'}, 7:{name:'تأمل',desc:'شهر للتوجه إلى الداخل.'},8:{name:'طموح',desc:'شهر للمضي قدمًا.'}, 9:{name:'اكتمال',desc:'شهر للتحرر.'},11:{name:'بصيرة',desc:'شهر من الوعي المتزايد.'}, 22:{name:'رؤية',desc:'شهر للبناء الكبير.'},33:{name:'رحمة',desc:'شهر من التعاطف العميق.'} }, reflections: { 1:'ما الذي يبدو مستعدًا للبدء في حياتك الآن؟ ما هي الخطوة الأولى الصغيرة؟', 2:'أين سيغير القليل من الصبر الديناميكية؟', 3:'متى كانت آخر مرة فعلت شيئًا لمتعة خالصة؟', 4:'أي مجال من حياتك يحتاج مزيدًا من الهيكلة؟', 5:'أي روتين يبدو باليًا؟ ماذا ستغير غدًا؟', 6:'من يحتاج انتباهك — وهل تعطي نفسك اهتمامًا كافيًا؟', 7:'أي مجال يستحق مزيدًا من الاهتمام الهادئ الآن؟', 8:'أين تمنع نفسك من استخدام كامل قدراتك؟', 9:'ما الذي تتشبث به ولم يعد يخدمك؟' } }, th: { pageTitle: 'สมุดบันทึกตัวเลขแห่งการใคร่ครวญ', pageSubtitle: 'ไม่ใช่การทำนาย แต่เป็นพื้นที่เงียบสงบเพื่อสังเกตสิ่งที่เกิดขึ้นในชีวิตคุณ — และให้ตัวเลขเพิ่มชั้นความหมาย', lblBirthdate: 'วันเกิดของคุณ', btnCalc: 'แสดงวงจรของฉัน', lblPY: 'ปีส่วนตัว', lblPM: 'เดือนส่วนตัว', lblReflection: 'การใคร่ครวญประจำเดือน', lblDate: 'วันที่', lblEvent: 'เกิดอะไรขึ้น? คุณรู้สึกอย่างไร?', btnSave: 'บันทึก', saved: 'บันทึกแล้ว!', lblTimeline: 'ไทม์ไลน์ของคุณ', ctaTitle: 'อยากมองลึกขึ้นในปีข้างหน้า?', ctaText: 'รายงานวันเกิดจะวิเคราะห์วงจรปีส่วนตัวทีละเดือน พร้อมคำแนะนำที่ปรับตามตัวเลขของคุณ', ctaBtn: 'เข้าร่วมรายชื่อรอ', deleteConfirm: 'ลบรายการนี้?', emptyTimeline: 'สมุดบันทึกของคุณยังว่าง เริ่มบันทึกเรื่องราวของวันนี้', dateErr: 'กรุณาเลือกวันเกิดให้ครบ', entryPlaceholder: 'บทสนทนาที่ยังติดอยู่ในใจ, การตัดสินใจที่คุณทำ, ความรู้สึกที่ตั้งชื่อได้ยาก...', day: 'วัน', month: 'เดือน', year: 'ปี', months: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'], pyThemes: { 1:{name:'เริ่มต้นใหม่',desc:'ปีแห่งการเริ่มต้นสดใหม่และความเป็นอิสระ'}, 2:{name:'อดทนและเป็นหุ้นส่วน',desc:'ปีแห่งความร่วมมือและการเติบโตตามธรรมชาติ'}, 3:{name:'การแสดงออกและความสุข',desc:'ปีแห่งความคิดสร้างสรรค์และการเชื่อมต่อทางสังคม'}, 4:{name:'รากฐานและวินัย',desc:'ปีแห่งการสร้างและงานที่มั่นคง'}, 5:{name:'การเปลี่ยนแปลงและอิสรภาพ',desc:'ปีแห่งการเคลื่อนไหวและประสบการณ์ใหม่'}, 6:{name:'ความรับผิดชอบและความรัก',desc:'ปีที่มุ่งเน้นบ้านและคนที่รัก'}, 7:{name:'การใคร่ครวญและงานภายใน',desc:'ปีแห่งความสงบ การเรียนรู้ และการฟังภายใน'}, 8:{name:'พลังและความสำเร็จ',desc:'ปีแห่งความทะเยอทะยานและการยืนยันตัวเอง'}, 9:{name:'ปล่อยวางและสมบูรณ์',desc:'ปีแห่งการปล่อยวางและสร้างพื้นที่'}, 11:{name:'ตื่นรู้',desc:'ปีมาสเตอร์แห่งสัญชาตญาณและการเติบโตทางจิตวิญญาณ'}, 22:{name:'ผู้สร้างมาสเตอร์',desc:'ปีมาสเตอร์แห่งโครงการที่มีวิสัยทัศน์'}, 33:{name:'ครูมาสเตอร์',desc:'ปีมาสเตอร์แห่งความเมตตาและการเยียวยา'} }, pmThemes: { 1:{name:'ริเริ่ม',desc:'เดือนแห่งการเริ่มต้น'},2:{name:'ร่วมมือ',desc:'เดือนแห่งการฟัง'}, 3:{name:'สร้างสรรค์',desc:'เดือนแห่งการแสดงออก'},4:{name:'โครงสร้าง',desc:'เดือนแห่งการจัดระเบียบ'}, 5:{name:'ผจญภัย',desc:'เดือนแห่งการลองสิ่งใหม่'},6:{name:'ดูแล',desc:'เดือนแห่งการเอาใจใส่'}, 7:{name:'ใคร่ครวญ',desc:'เดือนแห่งการมองเข้าข้างใน'},8:{name:'ทะเยอทะยาน',desc:'เดือนแห่งการก้าวไปข้างหน้า'}, 9:{name:'สมบูรณ์',desc:'เดือนแห่งการปล่อยวาง'},11:{name:'หยั่งรู้',desc:'เดือนแห่งการตระหนักรู้ที่สูงขึ้น'}, 22:{name:'วิสัยทัศน์',desc:'เดือนแห่งการสร้างสิ่งยิ่งใหญ่'},33:{name:'เมตตา',desc:'เดือนแห่งความเห็นอกเห็นใจลึกซึ้ง'} }, reflections: { 1:'อะไรรู้สึกพร้อมที่จะเริ่มต้นในชีวิตคุณตอนนี้? ก้าวเล็กๆ แรกคืออะไร?', 2:'ที่ไหนที่ความอดทนอีกนิดจะเปลี่ยนพลวัต?', 3:'ครั้งสุดท้ายที่ทำอะไรเพื่อความสุขล้วนๆ คือเมื่อไหร่?', 4:'ด้านไหนของชีวิตที่ต้องการโครงสร้างมากขึ้น?', 5:'กิจวัตรไหนรู้สึกเก่า? จะเปลี่ยนอะไรพรุ่งนี้?', 6:'ใครต้องการความสนใจจากคุณ — และคุณให้ความสนใจตัวเองเพียงพอไหม?', 7:'ด้านไหนสมควรได้รับความสนใจอย่างเงียบๆ มากขึ้นตอนนี้?', 8:'ที่ไหนที่คุณกำลังยั้งตัวเองจากการใช้ศักยภาพเต็มที่?', 9:'คุณกำลังยึดสิ่งที่ไม่ได้รับใช้คุณอีกต่อไปอะไรอยู่?' } } }; /* ── Detect language ── */ function getLang() { const params = new URLSearchParams(window.location.search); if (params.get('lang') && I18N[params.get('lang')]) return params.get('lang'); const path = window.location.pathname.split('/')[1]; if (I18N[path]) return path; const nav = (navigator.language || '').toLowerCase(); if (nav.startsWith('fr-ca') && I18N['fr-ca']) return 'fr-ca'; for (const k of Object.keys(I18N)) { if (nav.startsWith(k)) return k; } return 'en'; } const LANG = getLang(); const T = I18N[LANG] || I18N.en; /* ── RTL ── */ if (LANG === 'ar') { document.documentElement.setAttribute('dir', 'rtl'); document.documentElement.setAttribute('lang', 'ar'); } /* ── Apply translations ── */ function setText(id, text) { const el = document.getElementById(id); if (el) el.textContent = text; } function setHTML(id, html) { const el = document.getElementById(id); if (el) el.innerHTML = html; } setHTML('pageTitle', T.pageTitle); setText('pageSubtitle', T.pageSubtitle); setText('lblBirthdate', T.lblBirthdate); setText('btnCalc', T.btnCalc); setText('lblPY', T.lblPY); setText('lblPM', T.lblPM); setText('lblReflection', T.lblReflection); setText('lblDate', T.lblDate); setText('lblEvent', T.lblEvent); setText('btnSave', T.btnSave); setText('lblTimeline', T.lblTimeline); setText('ctaTitle', T.ctaTitle); setText('ctaText', T.ctaText); setText('ctaBtn', T.ctaBtn); setText('dateErr', T.dateErr); const entryTextEl = document.getElementById('entryText'); if (entryTextEl && T.entryPlaceholder) entryTextEl.placeholder = T.entryPlaceholder; /* ── Populate selects ── */ const daySel = document.getElementById('bDay'); const monthSel = document.getElementById('bMonth'); const yearSel = document.getElementById('bYear'); daySel.innerHTML = ''; for (let i = 1; i <= 31; i++) daySel.innerHTML += ''; monthSel.innerHTML = ''; T.months.forEach(function(m, i) { monthSel.innerHTML += ''; }); yearSel.innerHTML = ''; const curYear = new Date().getFullYear(); for (let y = curYear; y >= 1920; y--) yearSel.innerHTML += ''; /* Set today's date in entry date picker */ const entryDateEl = document.getElementById('entryDate'); const today = new Date(); entryDateEl.value = today.getFullYear() + '-' + String(today.getMonth() + 1).padStart(2, '0') + '-' + String(today.getDate()).padStart(2, '0'); /* ── Numerology reduce ── */ function reduce(n) { while (n > 9 && n !== 11 && n !== 22 && n !== 33) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } n = s; } return n; } function digitSum(n) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } return s; } /* ── Compute cycle ── */ let currentPY = null; let currentPM = null; let birthDay = null; let birthMonth = null; function computeCycle() { const d = parseInt(daySel.value); const m = parseInt(monthSel.value); const y = parseInt(yearSel.value); if (!d || !m || !y) { document.getElementById('dateErr').style.display = 'block'; return; } document.getElementById('dateErr').style.display = 'none'; birthDay = d; birthMonth = m; /* Personal Year = reduce(birthDay + birthMonth + currentYear) */ const now = new Date(); const cYear = now.getFullYear(); const cMonth = now.getMonth() + 1; const pyRaw = digitSum(d) + digitSum(m) + digitSum(cYear); currentPY = reduce(pyRaw); /* Personal Month = reduce(personalYear + currentMonth) */ const pmRaw = currentPY + cMonth; currentPM = reduce(pmRaw); /* Display Personal Year */ const pyTheme = T.pyThemes[currentPY] || T.pyThemes[reduce(currentPY)] || { name: '—', desc: '' }; document.getElementById('pyNum').textContent = currentPY; document.getElementById('pyName').textContent = pyTheme.name; document.getElementById('pyDesc').textContent = pyTheme.desc; /* Display Personal Month */ const pmKey = currentPM > 9 && !T.pmThemes[currentPM] ? reduce(currentPM) : currentPM; const pmTheme = T.pmThemes[pmKey] || { name: '—', desc: '' }; document.getElementById('pmNum').textContent = currentPM; document.getElementById('pmName').textContent = pmTheme.name; document.getElementById('pmDesc').textContent = pmTheme.desc; /* Reflection question — use single-digit for lookup */ const refKey = currentPM > 9 ? reduce(currentPM) : currentPM; document.getElementById('reflectionQ').textContent = T.reflections[refKey] || T.reflections[1]; /* Show cycle display */ document.getElementById('cycleDisplay').classList.add('show'); /* Save birth date to localStorage for convenience */ try { localStorage.setItem('nymero_journal_birth', JSON.stringify({ d: d, m: m, y: y })); } catch(e) {} renderTimeline(); } /* ── Journal storage ── */ function getEntries() { try { return JSON.parse(localStorage.getItem('nymero_journal') || '[]'); } catch(e) { return []; } } function saveEntry() { if (!currentPY) return; const text = document.getElementById('entryText').value.trim(); const date = document.getElementById('entryDate').value; if (!text || !date) return; const entries = getEntries(); entries.push({ date: date, text: text, personalYear: currentPY, personalMonth: currentPM, timestamp: Date.now() }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} // Shooting star on save if(window.NymeroAmbient) NymeroAmbient.shootingStar(); document.getElementById('entryText').value = ''; const confirm = document.getElementById('saveConfirm'); confirm.textContent = T.saved; confirm.style.display = 'block'; setTimeout(function() { confirm.style.display = 'none'; }, 2500); renderTimeline(); } function deleteEntry(timestamp) { if (!confirm(T.deleteConfirm)) return; let entries = getEntries(); entries = entries.filter(function(e) { return e.timestamp !== timestamp; }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} renderTimeline(); } /* ── Render timeline ── */ function renderTimeline() { const el = document.getElementById('timeline'); const entries = getEntries(); if (entries.length === 0) { el.innerHTML = '
' + T.emptyTimeline + '
'; el.classList.add('show'); return; } /* Group by Personal Year */ const grouped = {}; entries.sort(function(a, b) { return b.timestamp - a.timestamp; }); entries.forEach(function(e) { const key = e.personalYear || '?'; if (!grouped[key]) grouped[key] = []; grouped[key].push(e); }); let html = ''; Object.keys(grouped).forEach(function(py) { const pyTheme = T.pyThemes[py] || { name: '' }; html += '
'; html += '
' + T.lblPY + ' ' + py; if (pyTheme.name) html += ' ' + pyTheme.name + ''; html += '
'; grouped[py].forEach(function(entry) { const pmKey = entry.personalMonth > 9 && !T.pmThemes[entry.personalMonth] ? reduce(entry.personalMonth) : entry.personalMonth; const pmTheme = T.pmThemes[pmKey] || { name: '' }; html += '
'; html += '
' + entry.date; if (pmTheme.name) html += '' + T.lblPM + ' ' + entry.personalMonth + ' — ' + pmTheme.name + ''; html += '
'; html += '
' + escapeHtml(entry.text) + '
'; html += ''; html += '
'; }); html += '
'; }); el.innerHTML = html; el.classList.add('show'); } function escapeHtml(str) { var div = document.createElement('div'); div.appendChild(document.createTextNode(str)); return div.innerHTML; } /* ── Restore saved birth date ── */ try { var saved = JSON.parse(localStorage.getItem('nymero_journal_birth')); if (saved && saved.d && saved.m && saved.y) { daySel.value = saved.d; monthSel.value = saved.m; yearSel.value = saved.y; computeCycle(); } } catch(e) {} , deleteConfirm: 'Diesen Eintrag löschen?', emptyTimeline: 'Dein Tagebuch ist leer. Beginne damit, etwas über heute zu notieren.', dateErr: 'Bitte wähle dein vollständiges Geburtsdatum', entryPlaceholder: 'Ein Gespräch, das dir geblieben ist, eine Entscheidung, ein Gefühl, das schwer zu benennen ist...', day: 'Tag', month: 'Monat', year: 'Jahr', months: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], pyThemes: { 1:{name:'Neuanfänge',desc:'Ein Jahr frischer Starts und Unabhängigkeit.'}, 2:{name:'Geduld & Partnerschaft',desc:'Ein Jahr der Kooperation und des natürlichen Wachstums.'}, 3:{name:'Ausdruck & Freude',desc:'Ein Jahr der Kreativität und sozialer Verbindungen.'}, 4:{name:'Fundament & Disziplin',desc:'Ein Jahr des Aufbaus und solider Arbeit.'}, 5:{name:'Wandel & Freiheit',desc:'Ein Jahr der Bewegung und neuer Erfahrungen.'}, 6:{name:'Verantwortung & Liebe',desc:'Ein Jahr, das sich auf Zuhause und Familie konzentriert.'}, 7:{name:'Reflexion & Innenschau',desc:'Ein Jahr der Stille und des inneren Zuhörens.'}, 8:{name:'Macht & Erfolg',desc:'Ein Jahr des Ehrgeizes und der Selbstbehauptung.'}, 9:{name:'Loslassen & Vollendung',desc:'Ein Jahr, um loszulassen und Platz zu schaffen.'}, 11:{name:'Erwachen',desc:'Ein Meisterjahr der Intuition und spirituellen Entwicklung.'}, 22:{name:'Meisterbauer',desc:'Ein Meisterjahr visionärer Projekte.'}, 33:{name:'Meisterlehrer',desc:'Ein Meisterjahr des Mitgefühls und der Heilung.'} }, pmThemes: { 1:{name:'Initiative',desc:'Ein Monat zum Anfangen.'},2:{name:'Kooperation',desc:'Ein Monat zum Zuhören.'}, 3:{name:'Kreativität',desc:'Ein Monat für Ausdruck.'},4:{name:'Struktur',desc:'Ein Monat zum Organisieren.'}, 5:{name:'Abenteuer',desc:'Ein Monat für Neues.'},6:{name:'Fürsorge',desc:'Ein Monat zum Pflegen.'}, 7:{name:'Innenschau',desc:'Ein Monat nach innen.'},8:{name:'Ambition',desc:'Ein Monat zum Voranschreiten.'}, 9:{name:'Vollendung',desc:'Ein Monat zum Loslassen.'},11:{name:'Erkenntnis',desc:'Ein Monat erhöhter Wahrnehmung.'}, 22:{name:'Vision',desc:'Ein Monat für das große Ganze.'},33:{name:'Mitgefühl',desc:'Ein Monat tiefer Empathie.'} }, reflections: { 1:'Was fühlt sich bereit an, in deinem Leben zu beginnen? Was wäre ein kleiner erster Schritt?', 2:'Wo würde etwas mehr Geduld die Dynamik verändern?', 3:'Wann hast du zuletzt etwas rein aus Freude getan?', 4:'Welcher Bereich deines Lebens braucht mehr Struktur?', 5:'Welche Routine fühlt sich verbraucht an? Was würdest du morgen ändern?', 6:'Wer braucht deine Aufmerksamkeit — und gibst du dir selbst genug davon?', 7:'Welcher Bereich verdient gerade mehr stille Aufmerksamkeit?', 8:'Wo hältst du dich zurück, dein volles Potenzial zu nutzen?', 9:'Was hältst du fest, das dir nicht mehr dient?' } }, pt: { pageTitle: 'Seu Diário Numerológico', pageSubtitle: 'Não é uma bola de cristal. Um espaço tranquilo para observar o que está acontecendo na sua vida — e deixar seus números adicionarem uma camada de significado.', lblBirthdate: 'Sua data de nascimento', btnCalc: 'Ver meu ciclo', lblPY: 'Ano Pessoal', lblPM: 'Mês Pessoal', lblReflection: 'Reflexão do mês', lblDate: 'Data', lblEvent: 'O que aconteceu? O que você está sentindo?', btnSave: 'Salvar', saved: 'Salvo!', lblTimeline: 'Sua Linha do Tempo', ctaTitle: 'Quer um olhar mais profundo sobre seu ano?', ctaText: 'Seu relatório de aniversário mapeia seu ciclo pessoal mês a mês, com orientações adaptadas aos seus números.', ctaBtn: 'Entrar na lista de espera', deleteConfirm: 'Excluir esta entrada?', emptyTimeline: 'Seu diário está vazio. Comece anotando algo sobre hoje.', dateErr: 'Por favor selecione sua data de nascimento completa', entryPlaceholder: 'Uma conversa que ficou com você, uma decisão que tomou, um sentimento difícil de nomear...', day: 'Dia', month: 'Mês', year: 'Ano', months: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'], pyThemes: { 1:{name:'Novos Começos',desc:'Um ano de inícios frescos e independência.'}, 2:{name:'Paciência e Parceria',desc:'Um ano de cooperação e crescimento natural.'}, 3:{name:'Expressão e Alegria',desc:'Um ano de criatividade e conexões sociais.'}, 4:{name:'Fundação e Disciplina',desc:'Um ano de construção e trabalho sólido.'}, 5:{name:'Mudança e Liberdade',desc:'Um ano de movimento e novas experiências.'}, 6:{name:'Responsabilidade e Amor',desc:'Um ano centrado no lar e nos entes queridos.'}, 7:{name:'Reflexão e Interior',desc:'Um ano de solidão, estudo e escuta interior.'}, 8:{name:'Poder e Conquista',desc:'Um ano de ambição e autoafirmação.'}, 9:{name:'Liberação e Conclusão',desc:'Um ano para soltar e abrir espaço.'}, 11:{name:'Despertar',desc:'Um ano mestre de intuição e crescimento espiritual.'}, 22:{name:'Mestre Construtor',desc:'Um ano mestre de projetos visionários.'}, 33:{name:'Mestre Professor',desc:'Um ano mestre de compaixão e cura.'} }, pmThemes: { 1:{name:'Iniciativa',desc:'Um mês para começar.'},2:{name:'Cooperação',desc:'Um mês para ouvir.'}, 3:{name:'Criatividade',desc:'Um mês para se expressar.'},4:{name:'Estrutura',desc:'Um mês para organizar.'}, 5:{name:'Aventura',desc:'Um mês para experimentar.'},6:{name:'Cuidado',desc:'Um mês para cuidar.'}, 7:{name:'Introspecção',desc:'Um mês para ir para dentro.'},8:{name:'Ambição',desc:'Um mês para avançar.'}, 9:{name:'Conclusão',desc:'Um mês para soltar.'},11:{name:'Lucidez',desc:'Um mês de consciência elevada.'}, 22:{name:'Visão',desc:'Um mês para construir grande.'},33:{name:'Compaixão',desc:'Um mês de empatia profunda.'} }, reflections: { 1:'O que está pronto para começar na sua vida? Qual seria um pequeno primeiro passo?', 2:'Onde um pouco mais de paciência mudaria a dinâmica?', 3:'Quando foi a última vez que fez algo puramente por prazer?', 4:'Que área da sua vida precisa de mais estrutura?', 5:'Que rotina parece desgastada? O que mudaria amanhã?', 6:'Quem precisa da sua atenção — e você está dando atenção suficiente a si mesmo?', 7:'Que área merece mais atenção silenciosa agora?', 8:'Onde você está se segurando de usar toda a sua capacidade?', 9:'O que você está segurando que já não lhe serve?' } }, it: { pageTitle: 'Il Tuo Diario Numerologico', pageSubtitle: 'Non è una sfera di cristallo. Uno spazio tranquillo per osservare cosa succede nella tua vita — e lasciare che i tuoi numeri aggiungano un livello di significato.', lblBirthdate: 'La tua data di nascita', btnCalc: 'Mostra il mio ciclo', lblPY: 'Anno Personale', lblPM: 'Mese Personale', lblReflection: 'Riflessione del mese', lblDate: 'Data', lblEvent: 'Cosa è successo? Cosa stai provando?', btnSave: 'Salva', saved: 'Salvato!', lblTimeline: 'La Tua Cronologia', ctaTitle: 'Vuoi uno sguardo più profondo sul tuo anno?', ctaText: 'Il tuo report di compleanno mappa il tuo ciclo personale mese per mese, con guida su misura per i tuoi numeri.', ctaBtn: 'Unisciti alla lista d\'attesa', deleteConfirm: 'Eliminare questa voce?', emptyTimeline: 'Il tuo diario è vuoto. Inizia annotando qualcosa su oggi.', dateErr: 'Seleziona la tua data di nascita completa', entryPlaceholder: 'Una conversazione che ti è rimasta, una decisione presa, un sentimento difficile da nominare...', day: 'Giorno', month: 'Mese', year: 'Anno', months: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], pyThemes: { 1:{name:'Nuovi Inizi',desc:'Un anno di inizi freschi e indipendenza.'}, 2:{name:'Pazienza e Collaborazione',desc:'Un anno di cooperazione e crescita naturale.'}, 3:{name:'Espressione e Gioia',desc:'Un anno di creatività e connessioni sociali.'}, 4:{name:'Fondamenta e Disciplina',desc:'Un anno di costruzione e lavoro solido.'}, 5:{name:'Cambiamento e Libertà',desc:'Un anno di movimento e nuove esperienze.'}, 6:{name:'Responsabilità e Amore',desc:'Un anno centrato sulla casa e i cari.'}, 7:{name:'Riflessione e Interiorità',desc:'Un anno di solitudine, studio e ascolto interiore.'}, 8:{name:'Potere e Successo',desc:'Un anno di ambizione e affermazione personale.'}, 9:{name:'Rilascio e Completamento',desc:'Un anno per lasciar andare e fare spazio.'}, 11:{name:'Risveglio',desc:'Un anno maestro di intuizione e crescita spirituale.'}, 22:{name:'Maestro Costruttore',desc:'Un anno maestro di progetti visionari.'}, 33:{name:'Maestro Insegnante',desc:'Un anno maestro di compassione e guarigione.'} }, pmThemes: { 1:{name:'Iniziativa',desc:'Un mese per iniziare.'},2:{name:'Cooperazione',desc:'Un mese per ascoltare.'}, 3:{name:'Creatività',desc:'Un mese per esprimerti.'},4:{name:'Struttura',desc:'Un mese per organizzare.'}, 5:{name:'Avventura',desc:'Un mese per provare.'},6:{name:'Cura',desc:'Un mese per prendersi cura.'}, 7:{name:'Introspezione',desc:'Un mese per andare dentro.'},8:{name:'Ambizione',desc:'Un mese per avanzare.'}, 9:{name:'Completamento',desc:'Un mese per rilasciare.'},11:{name:'Lucidità',desc:'Un mese di consapevolezza elevata.'}, 22:{name:'Visione',desc:'Un mese per costruire in grande.'},33:{name:'Compassione',desc:'Un mese di empatia profonda.'} }, reflections: { 1:'Cosa è pronto a iniziare nella tua vita? Quale piccolo primo passo potresti fare?', 2:'Dove un po\' più di pazienza cambierebbe la dinamica?', 3:'Quando hai fatto l\'ultima volta qualcosa puramente per il piacere?', 4:'Quale area della tua vita ha bisogno di più struttura?', 5:'Quale routine ti sembra logora? Cosa cambieresti domani?', 6:'Chi ha bisogno della tua attenzione — e stai dando abbastanza attenzione a te stesso?', 7:'Quale area merita più attenzione silenziosa in questo momento?', 8:'Dove ti stai trattenendo dall\'usare tutta la tua capacità?', 9:'Cosa stai trattenendo che non ti serve più?' } }, ja: { pageTitle: 'あなたの数秘術ジャーナル', pageSubtitle: '占いではありません。あなたの人生に起きていることを静かに見つめる場所です。数字がそこに意味の層を加えてくれます。', lblBirthdate: '生年月日', btnCalc: 'サイクルを表示', lblPY: 'パーソナルイヤー', lblPM: 'パーソナルマンス', lblReflection: '今月の振り返り', lblDate: '日付', lblEvent: '何がありましたか?何を感じていますか?', btnSave: '保存する', saved: '保存しました!', lblTimeline: 'あなたのタイムライン', ctaTitle: '1年をもっと深く見てみませんか?', ctaText: 'バースデーレポートはあなたのパーソナルイヤーサイクルを月ごとに詳しく解説します。', ctaBtn: 'ウェイトリストに参加', deleteConfirm: 'このエントリーを削除しますか?', emptyTimeline: 'ジャーナルは空です。今日のことを書いてみましょう。', dateErr: '生年月日をすべて選択してください', entryPlaceholder: '心に残った会話、下した決断、名付けがたい気持ち...', day: '日', month: '月', year: '年', months: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'], pyThemes: { 1:{name:'新しい始まり',desc:'新たなスタート、独立、種を蒔く年。'}, 2:{name:'忍耐とパートナーシップ',desc:'協力、感受性、自然な成長の年。'}, 3:{name:'表現と喜び',desc:'創造性、社会的つながり、楽しさの再発見の年。'}, 4:{name:'基盤と規律',desc:'建設、構造、地道な努力の年。'}, 5:{name:'変化と自由',desc:'動き、新しい経験、予想外への挑戦の年。'}, 6:{name:'責任と愛',desc:'家庭、家族、大切な人への献身の年。'}, 7:{name:'内省と内なる仕事',desc:'孤独、学び、内なる声に耳を傾ける年。'}, 8:{name:'力と達成',desc:'野心、経済的焦点、自分の権威を確立する年。'}, 9:{name:'手放しと完了',desc:'手放し、未完を片付け、次への空間を作る年。'}, 11:{name:'覚醒',desc:'直感、インスピレーション、精神的成長のマスター年。'}, 22:{name:'マスタービルダー',desc:'壮大な夢を現実にするマスター年。'}, 33:{name:'マスターティーチャー',desc:'思いやり、癒し、周囲を高めるマスター年。'} }, pmThemes: { 1:{name:'主導',desc:'何かを始める月。'},2:{name:'協力',desc:'聴き、協力する月。'}, 3:{name:'創造',desc:'自分を表現する月。'},4:{name:'構築',desc:'整理し構築する月。'}, 5:{name:'冒険',desc:'新しいことを試す月。'},6:{name:'養育',desc:'大切な人を気遣う月。'}, 7:{name:'内省',desc:'内に向かう月。'},8:{name:'野心',desc:'前に進む月。'}, 9:{name:'完了',desc:'手放し振り返る月。'},11:{name:'洞察',desc:'意識が高まる月。'}, 22:{name:'ビジョン',desc:'大きく構築する月。'},33:{name:'慈悲',desc:'深い共感の月。'} }, reflections: { 1:'今、あなたの人生で始まる準備ができていることは何ですか?小さな一歩は何でしょう?', 2:'もう少し忍耐を持てば、状況が変わる場所はどこですか?', 3:'最後に純粋に楽しいことをしたのはいつですか?', 4:'あなたの人生のどの分野にもっと構造が必要ですか?', 5:'どのルーティンが古く感じますか?明日何を変えますか?', 6:'誰があなたの注意を必要としていますか?自分自身にも十分な注意を向けていますか?', 7:'今、どの分野がもっと静かな注意に値しますか?', 8:'どこで全力を出すことを控えていますか?', 9:'もう役に立たないのに握りしめているものは何ですか?' } }, ko: { pageTitle: '당신의 수비학 저널', pageSubtitle: '점술이 아닙니다. 당신의 삶에서 일어나는 일을 조용히 관찰하고, 숫자가 의미의 층을 더해주는 공간입니다.', lblBirthdate: '생년월일', btnCalc: '내 주기 보기', lblPY: '개인 연도', lblPM: '개인 월', lblReflection: '이달의 성찰', lblDate: '날짜', lblEvent: '무슨 일이 있었나요? 무엇을 느끼고 있나요?', btnSave: '저장', saved: '저장되었습니다!', lblTimeline: '타임라인', ctaTitle: '올해를 더 깊이 살펴보고 싶으세요?', ctaText: '생일 리포트는 당신의 개인 연도 주기를 월별로 자세히 안내합니다.', ctaBtn: '대기 목록 참여', deleteConfirm: '이 항목을 삭제하시겠습니까?', emptyTimeline: '저널이 비어 있습니다. 오늘에 대해 무언가 적어보세요.', dateErr: '생년월일을 모두 선택해 주세요', entryPlaceholder: '마음에 남은 대화, 내린 결정, 이름 붙이기 어려운 감정...', day: '일', month: '월', year: '년', months: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'], pyThemes: { 1:{name:'새로운 시작',desc:'새 출발, 독립, 씨앗을 심는 해.'}, 2:{name:'인내와 파트너십',desc:'협력, 감수성, 자연스러운 성장의 해.'}, 3:{name:'표현과 기쁨',desc:'창의성, 사회적 연결, 즐거움 재발견의 해.'}, 4:{name:'기초와 규율',desc:'건설, 구조, 견실한 노력의 해.'}, 5:{name:'변화와 자유',desc:'움직임, 새로운 경험, 예상 밖의 도전의 해.'}, 6:{name:'책임과 사랑',desc:'가정, 가족, 소중한 사람에 집중하는 해.'}, 7:{name:'성찰과 내면 작업',desc:'고독, 학습, 내면의 목소리에 귀 기울이는 해.'}, 8:{name:'힘과 성취',desc:'야망, 재정적 집중, 권위를 세우는 해.'}, 9:{name:'해방과 완성',desc:'놓아주기, 마무리, 다음을 위한 공간 만들기의 해.'}, 11:{name:'각성',desc:'직관과 영적 성장의 마스터 해.'}, 22:{name:'마스터 빌더',desc:'큰 꿈을 현실로 만드는 마스터 해.'}, 33:{name:'마스터 티처',desc:'연민과 치유의 마스터 해.'} }, pmThemes: { 1:{name:'주도',desc:'시작하는 달.'},2:{name:'협력',desc:'듣고 협력하는 달.'}, 3:{name:'창조',desc:'표현하는 달.'},4:{name:'구축',desc:'정리하고 세우는 달.'}, 5:{name:'모험',desc:'새로운 것을 시도하는 달.'},6:{name:'돌봄',desc:'소중한 이를 돌보는 달.'}, 7:{name:'내성',desc:'내면으로 향하는 달.'},8:{name:'야망',desc:'앞으로 나아가는 달.'}, 9:{name:'완성',desc:'놓아주고 돌아보는 달.'},11:{name:'통찰',desc:'의식이 높아지는 달.'}, 22:{name:'비전',desc:'크게 구축하는 달.'},33:{name:'자비',desc:'깊은 공감의 달.'} }, reflections: { 1:'지금 당신의 삶에서 시작할 준비가 된 것은 무엇인가요?', 2:'조금 더 인내하면 상황이 달라질 곳은 어디인가요?', 3:'마지막으로 순수하게 즐거운 일을 한 것은 언제인가요?', 4:'삶의 어떤 영역에 더 많은 구조가 필요한가요?', 5:'어떤 루틴이 낡았다고 느끼나요? 내일 무엇을 바꾸겠나요?', 6:'누가 당신의 관심이 필요한가요 — 자신에게 충분한 관심을 주고 있나요?', 7:'지금 어떤 영역이 더 조용한 관심을 받을 가치가 있나요?', 8:'어디서 전력을 다하지 못하고 있나요?', 9:'더 이상 도움이 되지 않는 것을 무엇을 붙잡고 있나요?' } }, nl: { pageTitle: 'Jouw Numerologie Dagboek', pageSubtitle: 'Geen glazen bol. Een rustige plek om te merken wat er in je leven gebeurt — en je getallen daar een laag van betekenis aan te laten geven.', lblBirthdate: 'Je geboortedatum', btnCalc: 'Toon mijn cyclus', lblPY: 'Persoonlijk Jaar', lblPM: 'Persoonlijke Maand', lblReflection: 'Maandelijkse Reflectie', lblDate: 'Datum', lblEvent: 'Wat is er gebeurd? Wat voel je?', btnSave: 'Opslaan', saved: 'Opgeslagen!', lblTimeline: 'Jouw Tijdlijn', ctaTitle: 'Wil je een diepere blik op je jaar?', ctaText: 'Je verjaardagsrapport brengt je persoonlijke jaarcyclus in kaart — maand voor maand, met begeleiding afgestemd op je getallen.', ctaBtn: 'Schrijf je in op de wachtlijst', deleteConfirm: 'Dit item verwijderen?', emptyTimeline: 'Je dagboek is leeg. Begin met iets over vandaag op te schrijven.', dateErr: 'Selecteer je volledige geboortedatum', entryPlaceholder: 'Een gesprek dat je bijbleef, een beslissing, een gevoel dat je moeilijk kunt benoemen...', day: 'Dag', month: 'Maand', year: 'Jaar', months: ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'], pyThemes: { 1:{name:'Nieuw Begin',desc:'Een jaar van frisse starts en onafhankelijkheid.'}, 2:{name:'Geduld & Partnerschap',desc:'Een jaar van samenwerking en natuurlijke groei.'}, 3:{name:'Expressie & Vreugde',desc:'Een jaar van creativiteit en sociale verbindingen.'}, 4:{name:'Fundament & Discipline',desc:'Een jaar van bouwen en solide werk.'}, 5:{name:'Verandering & Vrijheid',desc:'Een jaar van beweging en nieuwe ervaringen.'}, 6:{name:'Verantwoordelijkheid & Liefde',desc:'Een jaar gericht op thuis en dierbaren.'}, 7:{name:'Reflectie & Innerlijk Werk',desc:'Een jaar van stilte en innerlijk luisteren.'}, 8:{name:'Kracht & Prestatie',desc:'Een jaar van ambitie en zelfbevestiging.'}, 9:{name:'Loslaten & Voltooiing',desc:'Een jaar om los te laten en ruimte te maken.'}, 11:{name:'Ontwaken',desc:'Een meesterjaar van intuïtie en spirituele groei.'}, 22:{name:'Meesterbouwer',desc:'Een meesterjaar van visionaire projecten.'}, 33:{name:'Meesterleraar',desc:'Een meesterjaar van compassie en genezing.'} }, pmThemes: { 1:{name:'Initiatief',desc:'Een maand om te beginnen.'},2:{name:'Samenwerking',desc:'Een maand om te luisteren.'}, 3:{name:'Creativiteit',desc:'Een maand voor expressie.'},4:{name:'Structuur',desc:'Een maand om te organiseren.'}, 5:{name:'Avontuur',desc:'Een maand om iets nieuws te proberen.'},6:{name:'Zorg',desc:'Een maand om te zorgen.'}, 7:{name:'Introspectie',desc:'Een maand naar binnen.'},8:{name:'Ambitie',desc:'Een maand om vooruit te gaan.'}, 9:{name:'Voltooiing',desc:'Een maand om los te laten.'},11:{name:'Inzicht',desc:'Een maand van verhoogd bewustzijn.'}, 22:{name:'Visie',desc:'Een maand om groot te bouwen.'},33:{name:'Compassie',desc:'Een maand van diepe empathie.'} }, reflections: { 1:'Wat voelt er klaar om te beginnen in je leven? Welke kleine eerste stap kun je zetten?', 2:'Waar zou wat meer geduld de dynamiek veranderen?', 3:'Wanneer deed je voor het laatst iets puur voor het plezier?', 4:'Welk gebied van je leven heeft meer structuur nodig?', 5:'Welke routine voelt versleten? Wat zou je morgen veranderen?', 6:'Wie heeft je aandacht nodig — en geef je jezelf genoeg aandacht?', 7:'Welk gebied verdient nu meer stille aandacht?', 8:'Waar houd je jezelf tegen om je volle capaciteit te benutten?', 9:'Wat hou je vast dat je niet meer dient?' } }, sv: { pageTitle: 'Din Numerologi-Dagbok', pageSubtitle: 'Ingen kristallkula. Ett lugnt utrymme att lägga märke till vad som händer i ditt liv — och låta dina siffror tillföra ett lager av mening.', lblBirthdate: 'Ditt födelsedatum', btnCalc: 'Visa min cykel', lblPY: 'Personligt År', lblPM: 'Personlig Månad', lblReflection: 'Månadens Reflektion', lblDate: 'Datum', lblEvent: 'Vad hände? Vad känner du?', btnSave: 'Spara', saved: 'Sparat!', lblTimeline: 'Din Tidslinje', ctaTitle: 'Vill du ha en djupare blick på ditt år?', ctaText: 'Din födelsedagsrapport kartlägger din personliga årscykel — månad för månad, med vägledning anpassad till dina siffror.', ctaBtn: 'Gå med i väntelistan', deleteConfirm: 'Ta bort denna post?', emptyTimeline: 'Din dagbok är tom. Börja med att notera något om idag.', dateErr: 'Välj ditt fullständiga födelsedatum', entryPlaceholder: 'Ett samtal som stannade kvar, ett beslut du tog, en känsla svår att sätta ord på...', day: 'Dag', month: 'Månad', year: 'År', months: ['Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December'], pyThemes: { 1:{name:'Nya Början',desc:'Ett år av nya starter och oberoende.'}, 2:{name:'Tålamod & Partnerskap',desc:'Ett år av samarbete och naturlig tillväxt.'}, 3:{name:'Uttryck & Glädje',desc:'Ett år av kreativitet och sociala band.'}, 4:{name:'Grund & Disciplin',desc:'Ett år av byggande och solid ansträngning.'}, 5:{name:'Förändring & Frihet',desc:'Ett år av rörelse och nya upplevelser.'}, 6:{name:'Ansvar & Kärlek',desc:'Ett år fokuserat på hem och nära.'}, 7:{name:'Reflektion & Inre Arbete',desc:'Ett år av ensamhet och inre lyssnande.'}, 8:{name:'Kraft & Prestation',desc:'Ett år av ambition och självhävdelse.'}, 9:{name:'Släppa Taget & Avslutning',desc:'Ett år att släppa och skapa utrymme.'}, 11:{name:'Uppvaknande',desc:'Ett mästarår av intuition och andlig tillväxt.'}, 22:{name:'Mästarbyggare',desc:'Ett mästarår av visionära projekt.'}, 33:{name:'Mästarlärare',desc:'Ett mästarår av medkänsla och helande.'} }, pmThemes: { 1:{name:'Initiativ',desc:'En månad att börja.'},2:{name:'Samarbete',desc:'En månad att lyssna.'}, 3:{name:'Kreativitet',desc:'En månad att uttrycka dig.'},4:{name:'Struktur',desc:'En månad att organisera.'}, 5:{name:'Äventyr',desc:'En månad att prova nytt.'},6:{name:'Omsorg',desc:'En månad att ta hand om.'}, 7:{name:'Introspektion',desc:'En månad att gå inåt.'},8:{name:'Ambition',desc:'En månad att gå framåt.'}, 9:{name:'Avslutning',desc:'En månad att släppa.'},11:{name:'Insikt',desc:'En månad av höjd medvetenhet.'}, 22:{name:'Vision',desc:'En månad att bygga stort.'},33:{name:'Medkänsla',desc:'En månad av djup empati.'} }, reflections: { 1:'Vad känns redo att börja i ditt liv? Vilket litet första steg kan du ta?', 2:'Var skulle lite mer tålamod förändra dynamiken?', 3:'När gjorde du senast något enbart för glädjens skull?', 4:'Vilket område i ditt liv behöver mer struktur?', 5:'Vilken rutin känns utsliten? Vad skulle du ändra imorgon?', 6:'Vem behöver din uppmärksamhet — och ger du dig själv tillräckligt?', 7:'Vilket område förtjänar mer tyst uppmärksamhet just nu?', 8:'Var håller du dig tillbaka från att använda hela din kapacitet?', 9:'Vad håller du fast vid som inte längre tjänar dig?' } }, ar: { pageTitle: 'دفتر الأعداد التأملي', pageSubtitle: 'ليست كرة بلورية. مساحة هادئة لملاحظة ما يحدث في حياتك — ودع أرقامك تضيف طبقة من المعنى.', lblBirthdate: 'تاريخ ميلادك', btnCalc: 'عرض دورتي', lblPY: 'السنة الشخصية', lblPM: 'الشهر الشخصي', lblReflection: 'تأمل الشهر', lblDate: 'التاريخ', lblEvent: 'ماذا حدث؟ ماذا تشعر؟', btnSave: 'حفظ', saved: 'تم الحفظ!', lblTimeline: 'جدولك الزمني', ctaTitle: 'هل تريد نظرة أعمق على عامك؟', ctaText: 'تقرير عيد ميلادك يرسم دورتك الشخصية شهرًا بشهر، مع إرشادات مصممة لأرقامك.', ctaBtn: 'انضم لقائمة الانتظار', deleteConfirm: 'حذف هذا الإدخال؟', emptyTimeline: 'دفترك فارغ. ابدأ بتدوين شيء عن اليوم.', dateErr: 'يرجى اختيار تاريخ ميلادك الكامل', entryPlaceholder: 'محادثة بقيت معك، قرار اتخذته، شعور يصعب تسميته...', day: 'اليوم', month: 'الشهر', year: 'السنة', months: ['يناير','فبراير','مارس','أبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'], pyThemes: { 1:{name:'بدايات جديدة',desc:'سنة انطلاقات جديدة واستقلالية.'}, 2:{name:'صبر وشراكة',desc:'سنة تعاون ونمو طبيعي.'}, 3:{name:'تعبير وفرح',desc:'سنة إبداع وروابط اجتماعية.'}, 4:{name:'أساس وانضباط',desc:'سنة بناء وعمل متين.'}, 5:{name:'تغيير وحرية',desc:'سنة حركة وتجارب جديدة.'}, 6:{name:'مسؤولية وحب',desc:'سنة تركز على البيت والأحباء.'}, 7:{name:'تأمل وعمل داخلي',desc:'سنة عزلة ودراسة واستماع داخلي.'}, 8:{name:'قوة وإنجاز',desc:'سنة طموح وتأكيد للذات.'}, 9:{name:'تحرر واكتمال',desc:'سنة للتخلي وفتح المجال.'}, 11:{name:'يقظة',desc:'سنة أستاذية من الحدس والنمو الروحي.'}, 22:{name:'الباني الأستاذ',desc:'سنة أستاذية من المشاريع الرؤيوية.'}, 33:{name:'المعلم الأستاذ',desc:'سنة أستاذية من الرحمة والشفاء.'} }, pmThemes: { 1:{name:'مبادرة',desc:'شهر للبدء.'},2:{name:'تعاون',desc:'شهر للإصغاء.'}, 3:{name:'إبداع',desc:'شهر للتعبير.'},4:{name:'هيكلة',desc:'شهر للتنظيم.'}, 5:{name:'مغامرة',desc:'شهر لتجربة الجديد.'},6:{name:'رعاية',desc:'شهر للاعتناء.'}, 7:{name:'تأمل',desc:'شهر للتوجه إلى الداخل.'},8:{name:'طموح',desc:'شهر للمضي قدمًا.'}, 9:{name:'اكتمال',desc:'شهر للتحرر.'},11:{name:'بصيرة',desc:'شهر من الوعي المتزايد.'}, 22:{name:'رؤية',desc:'شهر للبناء الكبير.'},33:{name:'رحمة',desc:'شهر من التعاطف العميق.'} }, reflections: { 1:'ما الذي يبدو مستعدًا للبدء في حياتك الآن؟ ما هي الخطوة الأولى الصغيرة؟', 2:'أين سيغير القليل من الصبر الديناميكية؟', 3:'متى كانت آخر مرة فعلت شيئًا لمتعة خالصة؟', 4:'أي مجال من حياتك يحتاج مزيدًا من الهيكلة؟', 5:'أي روتين يبدو باليًا؟ ماذا ستغير غدًا؟', 6:'من يحتاج انتباهك — وهل تعطي نفسك اهتمامًا كافيًا؟', 7:'أي مجال يستحق مزيدًا من الاهتمام الهادئ الآن؟', 8:'أين تمنع نفسك من استخدام كامل قدراتك؟', 9:'ما الذي تتشبث به ولم يعد يخدمك؟' } }, th: { pageTitle: 'สมุดบันทึกตัวเลขแห่งการใคร่ครวญ', pageSubtitle: 'ไม่ใช่การทำนาย แต่เป็นพื้นที่เงียบสงบเพื่อสังเกตสิ่งที่เกิดขึ้นในชีวิตคุณ — และให้ตัวเลขเพิ่มชั้นความหมาย', lblBirthdate: 'วันเกิดของคุณ', btnCalc: 'แสดงวงจรของฉัน', lblPY: 'ปีส่วนตัว', lblPM: 'เดือนส่วนตัว', lblReflection: 'การใคร่ครวญประจำเดือน', lblDate: 'วันที่', lblEvent: 'เกิดอะไรขึ้น? คุณรู้สึกอย่างไร?', btnSave: 'บันทึก', saved: 'บันทึกแล้ว!', lblTimeline: 'ไทม์ไลน์ของคุณ', ctaTitle: 'อยากมองลึกขึ้นในปีข้างหน้า?', ctaText: 'รายงานวันเกิดจะวิเคราะห์วงจรปีส่วนตัวทีละเดือน พร้อมคำแนะนำที่ปรับตามตัวเลขของคุณ', ctaBtn: 'เข้าร่วมรายชื่อรอ', deleteConfirm: 'ลบรายการนี้?', emptyTimeline: 'สมุดบันทึกของคุณยังว่าง เริ่มบันทึกเรื่องราวของวันนี้', dateErr: 'กรุณาเลือกวันเกิดให้ครบ', entryPlaceholder: 'บทสนทนาที่ยังติดอยู่ในใจ, การตัดสินใจที่คุณทำ, ความรู้สึกที่ตั้งชื่อได้ยาก...', day: 'วัน', month: 'เดือน', year: 'ปี', months: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'], pyThemes: { 1:{name:'เริ่มต้นใหม่',desc:'ปีแห่งการเริ่มต้นสดใหม่และความเป็นอิสระ'}, 2:{name:'อดทนและเป็นหุ้นส่วน',desc:'ปีแห่งความร่วมมือและการเติบโตตามธรรมชาติ'}, 3:{name:'การแสดงออกและความสุข',desc:'ปีแห่งความคิดสร้างสรรค์และการเชื่อมต่อทางสังคม'}, 4:{name:'รากฐานและวินัย',desc:'ปีแห่งการสร้างและงานที่มั่นคง'}, 5:{name:'การเปลี่ยนแปลงและอิสรภาพ',desc:'ปีแห่งการเคลื่อนไหวและประสบการณ์ใหม่'}, 6:{name:'ความรับผิดชอบและความรัก',desc:'ปีที่มุ่งเน้นบ้านและคนที่รัก'}, 7:{name:'การใคร่ครวญและงานภายใน',desc:'ปีแห่งความสงบ การเรียนรู้ และการฟังภายใน'}, 8:{name:'พลังและความสำเร็จ',desc:'ปีแห่งความทะเยอทะยานและการยืนยันตัวเอง'}, 9:{name:'ปล่อยวางและสมบูรณ์',desc:'ปีแห่งการปล่อยวางและสร้างพื้นที่'}, 11:{name:'ตื่นรู้',desc:'ปีมาสเตอร์แห่งสัญชาตญาณและการเติบโตทางจิตวิญญาณ'}, 22:{name:'ผู้สร้างมาสเตอร์',desc:'ปีมาสเตอร์แห่งโครงการที่มีวิสัยทัศน์'}, 33:{name:'ครูมาสเตอร์',desc:'ปีมาสเตอร์แห่งความเมตตาและการเยียวยา'} }, pmThemes: { 1:{name:'ริเริ่ม',desc:'เดือนแห่งการเริ่มต้น'},2:{name:'ร่วมมือ',desc:'เดือนแห่งการฟัง'}, 3:{name:'สร้างสรรค์',desc:'เดือนแห่งการแสดงออก'},4:{name:'โครงสร้าง',desc:'เดือนแห่งการจัดระเบียบ'}, 5:{name:'ผจญภัย',desc:'เดือนแห่งการลองสิ่งใหม่'},6:{name:'ดูแล',desc:'เดือนแห่งการเอาใจใส่'}, 7:{name:'ใคร่ครวญ',desc:'เดือนแห่งการมองเข้าข้างใน'},8:{name:'ทะเยอทะยาน',desc:'เดือนแห่งการก้าวไปข้างหน้า'}, 9:{name:'สมบูรณ์',desc:'เดือนแห่งการปล่อยวาง'},11:{name:'หยั่งรู้',desc:'เดือนแห่งการตระหนักรู้ที่สูงขึ้น'}, 22:{name:'วิสัยทัศน์',desc:'เดือนแห่งการสร้างสิ่งยิ่งใหญ่'},33:{name:'เมตตา',desc:'เดือนแห่งความเห็นอกเห็นใจลึกซึ้ง'} }, reflections: { 1:'อะไรรู้สึกพร้อมที่จะเริ่มต้นในชีวิตคุณตอนนี้? ก้าวเล็กๆ แรกคืออะไร?', 2:'ที่ไหนที่ความอดทนอีกนิดจะเปลี่ยนพลวัต?', 3:'ครั้งสุดท้ายที่ทำอะไรเพื่อความสุขล้วนๆ คือเมื่อไหร่?', 4:'ด้านไหนของชีวิตที่ต้องการโครงสร้างมากขึ้น?', 5:'กิจวัตรไหนรู้สึกเก่า? จะเปลี่ยนอะไรพรุ่งนี้?', 6:'ใครต้องการความสนใจจากคุณ — และคุณให้ความสนใจตัวเองเพียงพอไหม?', 7:'ด้านไหนสมควรได้รับความสนใจอย่างเงียบๆ มากขึ้นตอนนี้?', 8:'ที่ไหนที่คุณกำลังยั้งตัวเองจากการใช้ศักยภาพเต็มที่?', 9:'คุณกำลังยึดสิ่งที่ไม่ได้รับใช้คุณอีกต่อไปอะไรอยู่?' } } }; /* ── Detect language ── */ function getLang() { const params = new URLSearchParams(window.location.search); if (params.get('lang') && I18N[params.get('lang')]) return params.get('lang'); const path = window.location.pathname.split('/')[1]; if (I18N[path]) return path; const nav = (navigator.language || '').toLowerCase(); if (nav.startsWith('fr-ca') && I18N['fr-ca']) return 'fr-ca'; for (const k of Object.keys(I18N)) { if (nav.startsWith(k)) return k; } return 'en'; } const LANG = getLang(); const T = I18N[LANG] || I18N.en; /* ── RTL ── */ if (LANG === 'ar') { document.documentElement.setAttribute('dir', 'rtl'); document.documentElement.setAttribute('lang', 'ar'); } /* ── Apply translations ── */ function setText(id, text) { const el = document.getElementById(id); if (el) el.textContent = text; } function setHTML(id, html) { const el = document.getElementById(id); if (el) el.innerHTML = html; } setHTML('pageTitle', T.pageTitle); setText('pageSubtitle', T.pageSubtitle); setText('lblBirthdate', T.lblBirthdate); setText('btnCalc', T.btnCalc); setText('lblPY', T.lblPY); setText('lblPM', T.lblPM); setText('lblReflection', T.lblReflection); setText('lblDate', T.lblDate); setText('lblEvent', T.lblEvent); setText('btnSave', T.btnSave); setText('lblTimeline', T.lblTimeline); setText('ctaTitle', T.ctaTitle); setText('ctaText', T.ctaText); setText('ctaBtn', T.ctaBtn); setText('dateErr', T.dateErr); const entryTextEl = document.getElementById('entryText'); if (entryTextEl && T.entryPlaceholder) entryTextEl.placeholder = T.entryPlaceholder; /* ── Populate selects ── */ const daySel = document.getElementById('bDay'); const monthSel = document.getElementById('bMonth'); const yearSel = document.getElementById('bYear'); daySel.innerHTML = ''; for (let i = 1; i <= 31; i++) daySel.innerHTML += ''; monthSel.innerHTML = ''; T.months.forEach(function(m, i) { monthSel.innerHTML += ''; }); yearSel.innerHTML = ''; const curYear = new Date().getFullYear(); for (let y = curYear; y >= 1920; y--) yearSel.innerHTML += ''; /* Set today's date in entry date picker */ const entryDateEl = document.getElementById('entryDate'); const today = new Date(); entryDateEl.value = today.getFullYear() + '-' + String(today.getMonth() + 1).padStart(2, '0') + '-' + String(today.getDate()).padStart(2, '0'); /* ── Numerology reduce ── */ function reduce(n) { while (n > 9 && n !== 11 && n !== 22 && n !== 33) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } n = s; } return n; } function digitSum(n) { let s = 0; while (n > 0) { s += n % 10; n = Math.floor(n / 10); } return s; } /* ── Compute cycle ── */ let currentPY = null; let currentPM = null; let birthDay = null; let birthMonth = null; function computeCycle() { const d = parseInt(daySel.value); const m = parseInt(monthSel.value); const y = parseInt(yearSel.value); if (!d || !m || !y) { document.getElementById('dateErr').style.display = 'block'; return; } document.getElementById('dateErr').style.display = 'none'; birthDay = d; birthMonth = m; /* Personal Year = reduce(birthDay + birthMonth + currentYear) */ const now = new Date(); const cYear = now.getFullYear(); const cMonth = now.getMonth() + 1; const pyRaw = digitSum(d) + digitSum(m) + digitSum(cYear); currentPY = reduce(pyRaw); /* Personal Month = reduce(personalYear + currentMonth) */ const pmRaw = currentPY + cMonth; currentPM = reduce(pmRaw); /* Display Personal Year */ const pyTheme = T.pyThemes[currentPY] || T.pyThemes[reduce(currentPY)] || { name: '—', desc: '' }; document.getElementById('pyNum').textContent = currentPY; document.getElementById('pyName').textContent = pyTheme.name; document.getElementById('pyDesc').textContent = pyTheme.desc; /* Display Personal Month */ const pmKey = currentPM > 9 && !T.pmThemes[currentPM] ? reduce(currentPM) : currentPM; const pmTheme = T.pmThemes[pmKey] || { name: '—', desc: '' }; document.getElementById('pmNum').textContent = currentPM; document.getElementById('pmName').textContent = pmTheme.name; document.getElementById('pmDesc').textContent = pmTheme.desc; /* Reflection question — use single-digit for lookup */ const refKey = currentPM > 9 ? reduce(currentPM) : currentPM; document.getElementById('reflectionQ').textContent = T.reflections[refKey] || T.reflections[1]; /* Show cycle display */ document.getElementById('cycleDisplay').classList.add('show'); /* Save birth date to localStorage for convenience */ try { localStorage.setItem('nymero_journal_birth', JSON.stringify({ d: d, m: m, y: y })); } catch(e) {} renderTimeline(); } /* ── Journal storage ── */ function getEntries() { try { return JSON.parse(localStorage.getItem('nymero_journal') || '[]'); } catch(e) { return []; } } function saveEntry() { if (!currentPY) return; const text = document.getElementById('entryText').value.trim(); const date = document.getElementById('entryDate').value; if (!text || !date) return; const entries = getEntries(); entries.push({ date: date, text: text, personalYear: currentPY, personalMonth: currentPM, timestamp: Date.now() }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} // Shooting star on save if(window.NymeroAmbient) NymeroAmbient.shootingStar(); document.getElementById('entryText').value = ''; const confirm = document.getElementById('saveConfirm'); confirm.textContent = T.saved; confirm.style.display = 'block'; setTimeout(function() { confirm.style.display = 'none'; }, 2500); renderTimeline(); } function deleteEntry(timestamp) { if (!confirm(T.deleteConfirm)) return; let entries = getEntries(); entries = entries.filter(function(e) { return e.timestamp !== timestamp; }); try { localStorage.setItem('nymero_journal', JSON.stringify(entries)); } catch(e) {} renderTimeline(); } /* ── Render timeline ── */ function renderTimeline() { const el = document.getElementById('timeline'); const entries = getEntries(); if (entries.length === 0) { el.innerHTML = '
' + T.emptyTimeline + '
'; el.classList.add('show'); return; } /* Group by Personal Year */ const grouped = {}; entries.sort(function(a, b) { return b.timestamp - a.timestamp; }); entries.forEach(function(e) { const key = e.personalYear || '?'; if (!grouped[key]) grouped[key] = []; grouped[key].push(e); }); let html = ''; Object.keys(grouped).forEach(function(py) { const pyTheme = T.pyThemes[py] || { name: '' }; html += '
'; html += '
' + T.lblPY + ' ' + py; if (pyTheme.name) html += ' ' + pyTheme.name + ''; html += '
'; grouped[py].forEach(function(entry) { const pmKey = entry.personalMonth > 9 && !T.pmThemes[entry.personalMonth] ? reduce(entry.personalMonth) : entry.personalMonth; const pmTheme = T.pmThemes[pmKey] || { name: '' }; html += '
'; html += '
' + entry.date; if (pmTheme.name) html += '' + T.lblPM + ' ' + entry.personalMonth + ' — ' + pmTheme.name + ''; html += '
'; html += '
' + escapeHtml(entry.text) + '
'; html += ''; html += '
'; }); html += '
'; }); el.innerHTML = html; el.classList.add('show'); } function escapeHtml(str) { var div = document.createElement('div'); div.appendChild(document.createTextNode(str)); return div.innerHTML; } /* ── Restore saved birth date ── */ try { var saved = JSON.parse(localStorage.getItem('nymero_journal_birth')); if (saved && saved.d && saved.m && saved.y) { daySel.value = saved.d; monthSel.value = saved.m; yearSel.value = saved.y; computeCycle(); } } catch(e) {}