{"id":304,"date":"2025-07-25T01:47:37","date_gmt":"2025-07-25T01:47:37","guid":{"rendered":"https:\/\/insaatsirketleri.com.tr\/en\/?p=304"},"modified":"2025-07-25T01:47:37","modified_gmt":"2025-07-25T01:47:37","slug":"free-english-quiz","status":"publish","type":"post","link":"https:\/\/insaatsirketleri.com.tr\/en\/free-english-quiz\/","title":{"rendered":"Free English Quiz"},"content":{"rendered":"\n<p>Learn english free<\/p>\n\n\n\n<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\">\n    <style>\n        body {\n            font-family: 'Inter', sans-serif;\n            touch-action: manipulation; \/* Prevents double-tap to zoom on touch devices *\/\n        }\n        .option-btn {\n            transition: all 0.2s ease-in-out;\n        }\n        .option-btn:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n        }\n        .correct {\n            background-color: #22c55e !important; \/* green-500 *\/\n            color: white !important;\n            border-color: #16a34a !important; \/* green-600 *\/\n        }\n        .incorrect {\n            background-color: #ef4444 !important; \/* red-500 *\/\n            color: white !important;\n            border-color: #dc2626 !important; \/* red-600 *\/\n        }\n        .share-btn {\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            width: 40px;\n            height: 40px;\n            border-radius: 9999px;\n            background-color: #f3f4f6; \/* gray-100 *\/\n            transition: background-color 0.2s;\n        }\n        .share-btn:hover {\n            background-color: #e5e7eb; \/* gray-200 *\/\n        }\n    <\/style>\n<\/head>\n<body class=\"bg-gray-100 flex items-center justify-center min-h-screen p-4\">\n\n    <div id=\"quiz-container\" class=\"w-full max-w-2xl mx-auto bg-white rounded-2xl shadow-2xl p-6 md:p-8 transform transition-all duration-500\">\n        \n        <div id=\"quiz-header\" class=\"mb-6\">\n            <h1 id=\"main-title\" class=\"text-2xl md:text-3xl font-bold text-center text-gray-800 mb-2\"><\/h1>\n            <p id=\"subtitle\" class=\"text-center text-gray-500\"><\/p>\n        <\/div>\n\n        <div id=\"quiz-content\">\n            <div class=\"flex justify-between items-center mb-4 text-sm md:text-base\">\n                <span id=\"question-counter\" class=\"font-semibold text-indigo-600 bg-indigo-100 px-3 py-1 rounded-full\"><\/span>\n                <span id=\"score\" class=\"font-semibold text-green-600 bg-green-100 px-3 py-1 rounded-full\"><\/span>\n            <\/div>\n            <div class=\"bg-gray-50 p-4 rounded-lg min-h-[100px] flex items-center justify-center\">\n                 <p id=\"question\" class=\"text-xl md:text-2xl text-center font-medium text-gray-800\"><\/p>\n            <\/div>\n            <div id=\"options\" class=\"grid grid-cols-1 sm:grid-cols-2 gap-4 mt-6\">\n            <\/div>\n            <div class=\"mt-8 text-center\">\n                <button id=\"next-btn\" class=\"hidden w-full sm:w-auto bg-indigo-600 text-white font-bold py-3 px-8 rounded-lg hover:bg-indigo-700 transition-colors duration-300 shadow-lg\"><\/button>\n            <\/div>\n        <\/div>\n\n        <div id=\"results-container\" class=\"hidden text-center py-8\">\n            <h2 id=\"results-title\" class=\"text-3xl font-bold mb-2 text-gray-800\"><\/h2>\n            <p class=\"text-5xl font-bold my-4\" id=\"final-score\"><\/p>\n            <p class=\"text-lg text-gray-600 mb-6\" id=\"feedback\"><\/p>\n\n            <div class=\"mb-8\">\n                <p id=\"share-title\" class=\"text-gray-600 mb-3\"><\/p>\n                <div id=\"share-buttons\" class=\"flex justify-center items-center space-x-3\">\n                    <a id=\"share-twitter\" href=\"#\" target=\"_blank\" class=\"share-btn\">\n                        <svg class=\"w-5 h-5 text-gray-700\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.223.085 4.923 4.923 0 004.6 3.419A9.9 9.9 0 010 17.54a13.94 13.94 0 007.547 2.21c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z\"\/><\/svg>\n                    <\/a>\n                    <a id=\"share-facebook\" href=\"#\" target=\"_blank\" class=\"share-btn\">\n                        <svg class=\"w-5 h-5 text-gray-700\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M22.675 0h-21.35C.59 0 0 .59 0 1.325v21.35C0 23.41.59 24 1.325 24H12.82v-9.29H9.692v-3.622h3.128V8.413c0-3.1 1.893-4.788 4.659-4.788 1.325 0 2.463.099 2.795.143v3.24l-1.918.001c-1.504 0-1.795.715-1.795 1.763v2.313h3.587l-.467 3.622h-3.12V24h6.116c.735 0 1.325-.59 1.325-1.325V1.325C24 .59 23.41 0 22.675 0z\"\/><\/svg>\n                    <\/a>\n                    <a id=\"share-whatsapp\" href=\"#\" target=\"_blank\" class=\"share-btn\">\n                        <svg class=\"w-6 h-6 text-gray-700\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12.04 2.01A10.03 10.03 0 002 12.05c0 5.52 4.48 10 10 10a9.99 9.99 0 007.4-3.08l3.6.9-1-3.5a9.97 9.97 0 001.64-5.37C22.04 6.53 17.56 2.01 12.04 2.01zM12.04 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm4.8-6.13c-.27-.13-1.6-.79-1.85-.88s-.43-.13-.61.13-.7.88-.86 1.06-.32.2-.59.07s-1.16-.43-2.2-1.36c-.81-.72-1.36-1.61-1.52-1.88s-.02-.43.11-.56c.12-.12.27-.32.4-.48.08-.12.13-.2.2-.32.06-.13.03-.25 0-.38-.03-.13-.61-1.47-.83-2.01s-.43-.45-.6-.45h-.5c-.2 0-.45.07-.68.32s-.88.86-1.08 2.1c-.2 1.23.13 2.42.38 2.6s1.6 2.48 3.9 3.43c.53.22.9.35 1.2.45.45.13.85.12 1.17.07.37-.05 1.16-.48 1.32-1s.16-.88.12-1-.13-.2-.26-.33z\"\/><\/svg>\n                    <\/a>\n                <\/div>\n            <\/div>\n\n            <button id=\"restart-btn\" class=\"w-full sm:w-auto bg-green-500 text-white font-bold py-3 px-8 rounded-lg hover:bg-green-600 transition-colors duration-300 shadow-lg\"><\/button>\n        <\/div>\n\n        <div id=\"ad-container\" class=\"hidden text-center py-8\">\n            <h3 id=\"ad-title\" class=\"text-lg font-semibold text-gray-700 mb-4\"><\/h3>\n            <div class=\"my-4 p-2 border rounded-lg bg-gray-50 min-h-[100px] flex items-center justify-center\">\n                <script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-2506329722665303\"\n                     crossorigin=\"anonymous\"><\/script>\n                <ins class=\"adsbygoogle\"\n                     style=\"display:block\"\n                     data-ad-client=\"ca-pub-2506329722665303\"\n                     data-ad-slot=\"1444491293\"\n                     data-ad-format=\"auto\"\n                     data-full-width-responsive=\"true\"><\/ins>\n            <\/div>\n            <button id=\"continue-btn\" class=\"mt-6 bg-indigo-600 text-white font-bold py-3 px-8 rounded-lg hover:bg-indigo-700 transition-colors duration-300 shadow-lg\"><\/button>\n        <\/div>\n\n    <\/div>\n\n    <script>\n        \/\/ --- LANGUAGE STRINGS ---\n        const lang = {\n            en: {\n                mainTitle: \"English Quiz\",\n                subtitle: \"Are you ready to test your knowledge?\",\n                questionCounter: \"Question\",\n                score: \"Score\",\n                nextButton: \"Next Question \u2192\",\n                resultsTitle: \"Quiz Finished!\",\n                feedbackGood: \"Great job! Your English is excellent.\",\n                feedbackMedium: \"Good result! You can get even better with a little more practice.\",\n                feedbackBad: \"Don't hesitate to try again. Practice makes perfect!\",\n                shareTitle: \"Share your result:\",\n                shareTwitterTitle: \"Share on Twitter\",\n                shareFacebookTitle: \"Share on Facebook\",\n                shareWhatsappTitle: \"Share on WhatsApp\",\n                restartButton: \"Restart\",\n                adTitle: \"Advertisement\",\n                continueButton: \"Continue to Quiz \u2192\",\n                shareTextMessage: \"I got {score} out of {total} questions right on the English quiz! You should try it too!\"\n            },\n            tr: {\n                mainTitle: \"\u0130ngilizce Bilgi Yar\u0131\u015fmas\u0131\",\n                subtitle: \"Bilgini test etmeye haz\u0131r m\u0131s\u0131n?\",\n                questionCounter: \"Soru\",\n                score: \"Puan\",\n                nextButton: \"Sonraki Soru \u2192\",\n                resultsTitle: \"Quiz Bitti!\",\n                feedbackGood: \"Harika i\u015f! \u0130ngilizcen \u00e7ok iyi.\",\n                feedbackMedium: \"\u0130yi sonu\u00e7! Biraz daha pratikle daha da iyi olabilirsin.\",\n                feedbackBad: \"Tekrar denemekten \u00e7ekinme. Pratik yapmak m\u00fckemmelle\u015ftirir!\",\n                shareTitle: \"Sonucunu Payla\u015f:\",\n                shareTwitterTitle: \"Twitter'da Payla\u015f\",\n                shareFacebookTitle: \"Facebook'ta Payla\u015f\",\n                shareWhatsappTitle: \"WhatsApp'ta Payla\u015f\",\n                restartButton: \"Yeniden Ba\u015fla\",\n                adTitle: \"Reklam\",\n                continueButton: \"Teste Devam Et \u2192\",\n                shareTextMessage: \"\u0130ngilizce quizinde {total} sorudan {score} tanesini do\u011fru bildim! Sen de dene!\"\n            }\n        };\n        let currentLang;\n\n        \/\/ --- QUESTIONS ---\n        const questions = [\n            { question: \"Which of the following is a synonym for 'happy'?\", options: [\"Sad\", \"Joyful\", \"Angry\", \"Tired\"], answer: \"Joyful\" },\n            { question: \"I am interested ___ learning new things.\", options: [\"in\", \"on\", \"at\", \"for\"], answer: \"in\" },\n            { question: \"What is the past tense of 'go'?\", options: [\"Goed\", \"Gone\", \"Went\", \"Going\"], answer: \"Went\" },\n            { question: \"A person who writes books is called an ___.\", options: [\"author\", \"artist\", \"actor\", \"athlete\"], answer: \"author\" },\n            { question: \"Which sentence is grammatically correct?\", options: [\"He don't like coffee.\", \"She go to school every day.\", \"They are playing football now.\", \"I has a new car.\"], answer: \"They are playing football now.\" },\n            { question: \"What is the opposite of 'expensive'?\", options: [\"Cheap\", \"Costly\", \"Valuable\", \"Rich\"], answer: \"Cheap\" },\n            { question: \"The book is ___ the table.\", options: [\"in\", \"on\", \"at\", \"under\"], answer: \"on\" },\n            { question: \"She ___ to the cinema yesterday.\", options: [\"go\", \"goes\", \"went\", \"is going\"], answer: \"went\" },\n            { question: \"Which word is a verb?\", options: [\"Beautiful\", \"Quickly\", \"Run\", \"House\"], answer: \"Run\" },\n            { question: \"How ___ brothers do you have?\", options: [\"much\", \"many\", \"a lot\", \"some\"], answer: \"many\" },\n            { question: \"The plural of 'child' is ___.\", options: [\"childs\", \"childes\", \"children\", \"childrens\"], answer: \"children\" },\n            { question: \"I haven't seen him ___ last year.\", options: [\"for\", \"since\", \"at\", \"on\"], answer: \"since\" },\n            { question: \"What do you call a place where you can buy medicine?\", options: [\"Bakery\", \"Library\", \"Pharmacy\", \"Butcher\"], answer: \"Pharmacy\" },\n            { question: \"If you are not sure about something, you are ___.\", options: [\"certain\", \"uncertain\", \"happy\", \"brave\"], answer: \"uncertain\" },\n            { question: \"He is taller ___ his brother.\", options: [\"that\", \"as\", \"then\", \"than\"], answer: \"than\" }\n        ];\n\n        \/\/ --- DOM ELEMENTS ---\n        const dom = {\n            quizContent: document.getElementById('quiz-content'),\n            resultsContainer: document.getElementById('results-container'),\n            adContainer: document.getElementById('ad-container'),\n            questionCounter: document.getElementById('question-counter'),\n            score: document.getElementById('score'),\n            question: document.getElementById('question'),\n            options: document.getElementById('options'),\n            nextBtn: document.getElementById('next-btn'),\n            restartBtn: document.getElementById('restart-btn'),\n            continueBtn: document.getElementById('continue-btn'),\n            finalScore: document.getElementById('final-score'),\n            feedback: document.getElementById('feedback'),\n            mainTitle: document.getElementById('main-title'),\n            subtitle: document.getElementById('subtitle'),\n            resultsTitle: document.getElementById('results-title'),\n            shareTitle: document.getElementById('share-title'),\n            adTitle: document.getElementById('ad-title'),\n            shareTwitter: document.getElementById('share-twitter'),\n            shareFacebook: document.getElementById('share-facebook'),\n            shareWhatsapp: document.getElementById('share-whatsapp'),\n        };\n\n        \/\/ --- STATE VARIABLES ---\n        let currentQuestionIndex = 0;\n        let score = 0;\n        let shuffledQuestions = [];\n\n        \/\/ --- FUNCTIONS ---\n\n        function applyLanguage(langCode) {\n            currentLang = lang[langCode];\n            document.documentElement.lang = langCode;\n            document.title = currentLang.mainTitle;\n            dom.mainTitle.textContent = currentLang.mainTitle;\n            dom.subtitle.textContent = currentLang.subtitle;\n            dom.nextBtn.textContent = currentLang.nextButton;\n            dom.resultsTitle.textContent = currentLang.resultsTitle;\n            dom.shareTitle.textContent = currentLang.shareTitle;\n            dom.restartBtn.textContent = currentLang.restartButton;\n            dom.adTitle.textContent = currentLang.adTitle;\n            dom.continueBtn.textContent = currentLang.continueButton;\n            dom.shareTwitter.title = currentLang.shareTwitterTitle;\n            dom.shareFacebook.title = currentLang.shareFacebookTitle;\n            dom.shareWhatsapp.title = currentLang.shareWhatsappTitle;\n        }\n\n        function detectAndSetLanguage() {\n            const browserLang = navigator.language || navigator.userLanguage;\n            if (browserLang.startsWith('tr')) {\n                applyLanguage('tr');\n            } else {\n                applyLanguage('en');\n            }\n        }\n\n        function startQuiz() {\n            currentQuestionIndex = 0;\n            score = 0;\n            shuffledQuestions = questions.sort(() => Math.random() - 0.5);\n            \n            dom.resultsContainer.classList.add('hidden');\n            dom.adContainer.classList.add('hidden');\n            dom.quizContent.classList.remove('hidden');\n            dom.nextBtn.classList.add('hidden');\n            dom.score.textContent = `${currentLang.score}: 0`;\n            \n            showQuestion();\n        }\n\n        function showQuestion() {\n            resetState();\n            const currentQuestion = shuffledQuestions[currentQuestionIndex];\n            \n            dom.questionCounter.textContent = `${currentLang.questionCounter} ${currentQuestionIndex + 1} \/ ${shuffledQuestions.length}`;\n            dom.question.textContent = currentQuestion.question;\n\n            currentQuestion.options.forEach(option => {\n                const button = document.createElement('button');\n                button.innerText = option;\n                button.classList.add('option-btn', 'w-full', 'p-4', 'text-left', 'bg-white', 'border', 'border-gray-300', 'rounded-lg', 'hover:bg-gray-100', 'focus:outline-none', 'focus:ring-2', 'focus:ring-indigo-400');\n                button.addEventListener('click', selectAnswer);\n                dom.options.appendChild(button);\n            });\n        }\n\n        function resetState() {\n            dom.nextBtn.classList.add('hidden');\n            while (dom.options.firstChild) {\n                dom.options.removeChild(dom.options.firstChild);\n            }\n        }\n\n        function selectAnswer(e) {\n            const selectedButton = e.target;\n            const correctAnswer = shuffledQuestions[currentQuestionIndex].answer;\n\n            Array.from(dom.options.children).forEach(button => {\n                button.disabled = true;\n                if (button.innerText === correctAnswer) {\n                    button.classList.add('correct');\n                } else {\n                    button.classList.add('incorrect');\n                }\n            });\n\n            if (selectedButton.innerText === correctAnswer) {\n                score++;\n                dom.score.textContent = `${currentLang.score}: ${score}`;\n                selectedButton.classList.add('correct');\n            } else {\n                selectedButton.classList.add('incorrect');\n            }\n\n            if (shuffledQuestions.length > currentQuestionIndex + 1) {\n                dom.nextBtn.classList.remove('hidden');\n            } else {\n                setTimeout(showResults, 1000);\n            }\n        }\n\n        function showResults() {\n            dom.quizContent.classList.add('hidden');\n            dom.adContainer.classList.add('hidden');\n            dom.resultsContainer.classList.remove('hidden');\n            \n            const finalScoreText = `${score} \/ ${shuffledQuestions.length}`;\n            dom.finalScore.textContent = finalScoreText;\n\n            const percentage = (score \/ shuffledQuestions.length) * 100;\n            let feedbackText = '';\n            if (percentage >= 80) {\n                feedbackText = currentLang.feedbackGood;\n                dom.finalScore.className = 'text-5xl font-bold my-4 text-green-500';\n            } else if (percentage >= 50) {\n                feedbackText = currentLang.feedbackMedium;\n                dom.finalScore.className = 'text-5xl font-bold my-4 text-yellow-500';\n            } else {\n                feedbackText = currentLang.feedbackBad;\n                dom.finalScore.className = 'text-5xl font-bold my-4 text-red-500';\n            }\n            dom.feedback.textContent = feedbackText;\n\n            setupShareButtons();\n        }\n\n        function setupShareButtons() {\n            const shareUrl = window.location.href;\n            const shareText = currentLang.shareTextMessage\n                .replace('{score}', score)\n                .replace('{total}', shuffledQuestions.length);\n            \n            dom.shareTwitter.href = `https:\/\/twitter.com\/intent\/tweet?url=${encodeURIComponent(shareUrl)}&text=${encodeURIComponent(shareText)}`;\n            dom.shareFacebook.href = `https:\/\/www.facebook.com\/sharer\/sharer.php?u=${encodeURIComponent(shareUrl)}`;\n            dom.shareWhatsapp.href = `https:\/\/api.whatsapp.com\/send?text=${encodeURIComponent(shareText + ' ' + shareUrl)}`;\n        }\n\n        function showAd() {\n            dom.quizContent.classList.add('hidden');\n            dom.adContainer.classList.remove('hidden');\n            \n            setTimeout(() => {\n                try {\n                    (adsbygoogle = window.adsbygoogle || []).push({});\n                } catch (e) {\n                    console.error(\"AdSense script error:\", e);\n                }\n            }, 100); \n        }\n\n        function continueFromAd() {\n            dom.adContainer.classList.add('hidden');\n            dom.quizContent.classList.remove('hidden');\n            currentQuestionIndex++;\n            showQuestion();\n        }\n\n        function handleNextButton() {\n            const questionNumber = currentQuestionIndex + 1;\n            if (questionNumber % 2 === 0 && questionNumber < shuffledQuestions.length) {\n                showAd();\n            } else {\n                currentQuestionIndex++;\n                showQuestion();\n            }\n        }\n\n        \/\/ --- EVENT LISTENERS ---\n        dom.nextBtn.addEventListener('click', handleNextButton);\n        dom.restartBtn.addEventListener('click', startQuiz);\n        dom.continueBtn.addEventListener('click', continueFromAd);\n\n        \/\/ --- INITIALIZE ---\n        detectAndSetLanguage();\n        startQuiz();\n    <\/script>\n","protected":false},"excerpt":{"rendered":"<p>Learn english free<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-304","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/insaatsirketleri.com.tr\/en\/wp-json\/wp\/v2\/posts\/304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/insaatsirketleri.com.tr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/insaatsirketleri.com.tr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/insaatsirketleri.com.tr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/insaatsirketleri.com.tr\/en\/wp-json\/wp\/v2\/comments?post=304"}],"version-history":[{"count":1,"href":"https:\/\/insaatsirketleri.com.tr\/en\/wp-json\/wp\/v2\/posts\/304\/revisions"}],"predecessor-version":[{"id":305,"href":"https:\/\/insaatsirketleri.com.tr\/en\/wp-json\/wp\/v2\/posts\/304\/revisions\/305"}],"wp:attachment":[{"href":"https:\/\/insaatsirketleri.com.tr\/en\/wp-json\/wp\/v2\/media?parent=304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/insaatsirketleri.com.tr\/en\/wp-json\/wp\/v2\/categories?post=304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/insaatsirketleri.com.tr\/en\/wp-json\/wp\/v2\/tags?post=304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}