Francuski U 100 Lekcija Pdf Apr 2026
<div class="two-columns"> <div class="lessons-panel" id="lessonsList"> <!-- Dinamički generisano 100 lekcija --> </div>
function selectLesson(idx) selectedLessonIndex = idx; document.getElementById("currentLessonLabel").innerHTML = `<strong>$lessonTitles[idx]</strong>`; // prikaži sačuvanu frazu ako postoji const saved = lessonPhrases[idx]; const previewSpan = document.getElementById("existingPhraseSpan"); if(saved && saved.trim() !== "") previewSpan.innerText = `"$saved"`; else previewSpan.innerText = "(nema sačuvane fraze)"; document.getElementById("phraseText").value = saved francuski u 100 lekcija pdf
<div class="phrase-panel"> <div class="phrase-header">📌 FRAZE ZA LEKCIJU</div> <div id="selectedLessonDisplay" class="selected-info"> <strong>Lekcija:</strong> <span id="currentLessonLabel">nijedna</span> </div> <div class="phrase-input-area"> <label><strong>🇫🇷 Francuska fraza / rečenica:</strong></label> <textarea id="phraseText" rows="3" placeholder="Unesite frazu iz ove lekcije..."></textarea> <button id="savePhraseBtn" class="save-phrase-btn">💾 Sačuvaj frazu za ovu lekciju</button> <button id="speakPhraseBtn" class="save-phrase-btn" style="background:#3b82f6; margin-top: 6px;">🔊 Izgovori sačuvanu frazu</button> </div> <div id="savedPhrasePreview" class="example-phrases"> <strong>📖 Sačuvana fraza:</strong> <span id="existingPhraseSpan">(nema)</span> </div> <div class="example-phrases"> 💡 <em>Primeri: "Bonjour", "Je m'appelle...", "Où est la gare?"</em><br> ⚡ Klik na naziv lekcije → automatski učitava njenu frazu. </div> </div> </div> <footer> 🎧 Dugme zvučnik = izgovor naslova lekcije na francuskom. Sačuvane fraze se čuvaju u vašem browseru. </footer> </div> const utterance = new SpeechSynthesisUtterance(text)
// ------------------------------------------------------------ // 3. SPEECH SYNTHESIS (francuski izgovor) // ------------------------------------------------------------ function speakFrench(text) if (!window.speechSynthesis) alert("Vaš browser ne podržava govor."); return; const utterance = new SpeechSynthesisUtterance(text); utterance.lang = "fr-FR"; utterance.rate = 0.9; window.speechSynthesis.cancel(); // izbjegni preklapanje window.speechSynthesis.speak(utterance); utterance.lang = "fr-FR"
// Odabrana lekcija za fraze let selectedLessonIndex = null;
function saveProgress() localStorage.setItem("francuski100_completed", JSON.stringify(completed)); localStorage.setItem("francuski100_phrases", JSON.stringify(lessonPhrases)); updateStats(); renderLessonsList(currentSearchTerm);