Compare commits

...
123 Commits
Author SHA1 Message Date
polv 8e8e018445 fix context sentences in YAML to ensure vocab emphasis 2026-10-31 12:44:24 +07:00
polv 363a728fc3 convert ALL notes HTML to markdown 2026-10-21 01:09:52 +07:00
polv df05d4e875 add weather theme 2026-10-19 00:17:29 +07:00
polv ef57ecbc9b rename theme unit lessons 2026-10-16 00:28:05 +07:00
polv e51ca48bb9 shopping sentences 2026-10-04 15:16:01 +07:00
polv f43a23bab2 shopping theme 2026-10-04 12:50:10 +07:00
polv 4c7605156a video fullscreen on orientation change to landscape 2026-09-24 00:05:30 +07:00
polv 30f48e1fc7 eating sentence quiz 2026-09-20 13:18:01 +07:00
polv ee6d704d48 eating sentences bold the vocab 2026-09-19 21:18:13 +07:00
polv 11b178f6f8 eating sentence translation blur 2026-09-19 21:04:04 +07:00
polv 9c5c4d3689 vocab quizzes 2026-09-19 20:56:14 +07:00
polv 162813e949 eating theme 2026-09-19 20:26:39 +07:00
polv f61aaa4b40 lesson 26 remaining grammar 2026-09-18 18:16:07 +07:00
polv ed5dc07f6c lesson 26 some grammar 2026-09-17 00:04:52 +07:00
polv ffdeee6a76 lesson 26 remaining vocab 2026-09-13 11:48:59 +07:00
polv f2195dd2fb lesson 26 nouns, and inter-lesson links 2026-09-13 11:11:09 +07:00
polv 5c014ba6e1 lesson 26 2026-09-13 10:33:32 +07:00
polv 4703409a35 youtube embed playlist may also accept current video id 2026-09-12 21:13:30 +07:00
polv e68493ba35 transportation sentences quiz 2026-09-12 19:24:15 +07:00
polv 382f642205 youtube embed playlist 2026-09-12 19:09:09 +07:00
polv 863142902c webview android insets https://github.com/tauri-apps/tauri/issues/11475 2026-09-12 17:58:28 +07:00
polv e9d02dbec7 transportation sentences and extra vocab 2026-09-11 17:06:05 +07:00
polv 15af343be7 transportation vocab quiz and blur 2026-09-11 16:50:07 +07:00
polv ddcffe7a63 transportation 2026-09-11 16:33:43 +07:00
polv 9da12902d7 school sentences quiz 2026-09-10 13:34:31 +07:00
polv ffeac1c0ae make TTS work with Android Auto 2026-09-08 23:09:56 +07:00
polv 5c25d24073 TTS for ko_text when ko with abbrev 2026-09-07 21:31:43 +07:00
polv 0c628cc3f5 school sentence en spoiler and fix en gloss 2026-09-06 14:59:26 +07:00
polv 608d02c12a fix school vocab quiz 2026-09-06 12:32:16 +07:00
polv 8cb95a5b9d school vocab quiz 2026-09-06 11:42:37 +07:00
polv 4f891ae123 school theme 2026-09-06 11:15:47 +07:00
polv e8e7ff86f6 lesson 25 remaining grammar; theme lessons 2026-09-06 10:53:14 +07:00
polv dd36c6fc93 fix LLM explainer for sentence: section + example sentences 2026-09-06 10:19:52 +07:00
polv daa5c73cec lesson 25 grammar 2026-09-06 09:04:44 +07:00
polv c2d5b4c2f2 lesson 25 remaining vocab 2026-09-05 23:41:27 +07:00
polv bb20f289ff lesson 25 some vocab 2026-09-05 22:26:09 +07:00
polv 745c7dfc86 lesson 25 2026-09-05 22:11:16 +07:00
polv 5e6022167d sentence explainer for all sentence fmkey 2026-09-05 21:44:04 +07:00
polv fc7446f62a lesson 24 remaining grammar 2026-09-02 00:01:56 +07:00
polv b07a977495 LLM button disabling, and lesson 24 some grammar 2026-09-01 17:37:20 +07:00
polv 6ef128292e lesson 24 remaining vocab 2026-09-01 14:55:14 +07:00
polv cfe0b238d9 lesson 24 nouns and some grammar 2026-09-01 14:10:42 +07:00
polv 4813cefd18 lesson 24 2026-09-01 13:51:35 +07:00
polv 2b5b836203 fixformat in some example sentences 2026-08-31 18:08:21 +07:00
polv cac640fdea sentence database builder script 2026-08-29 11:06:38 +07:00
polv 1118bda30f add example sentences for numbers 2026-08-28 13:09:57 +07:00
polv 9dfae88805 test add tokenizer 2026-08-28 00:54:20 +07:00
polv 7e8c38a80f gtts plugin, sounds better than opentts:ko 2026-08-26 18:21:47 +07:00
polv 7a4c71675b LLM explainer language and loading... 2026-08-26 16:29:03 +07:00
polv fced071837 lesson 23 remaining vocab 2026-08-25 18:07:25 +07:00
polv 82b51c0703 persist LLM sentence explainer with supabase 2026-08-25 16:33:05 +07:00
polv e734d09039 lesson 23 LLM sentence explainer 2026-08-25 14:29:00 +07:00
polv 075fe19382 lesson 23 nouns 2026-08-25 12:02:26 +07:00
polv 54277ced6b lesson 23 2026-08-25 11:27:49 +07:00
polv dca24a710c lesson 22 remaining grammar 2026-08-25 10:36:36 +07:00
polv 2c391af08b lesson 22 some grammar 2026-08-25 00:17:26 +07:00
polv 7a2571443c lesson 22 vocab 2026-08-24 15:41:50 +07:00
polv fe01d84777 lesson 22 2026-08-24 15:02:33 +07:00
polv 8711bd2b4d lesson 21 grammar 2026-08-22 10:35:18 +07:00
polv 60875f20d6 lesson 20 grammar 2026-08-20 17:15:05 +07:00
polv 7b93eccc00 lesson 21 remaining vocab 2026-08-20 14:48:12 +07:00
polv 1ef4f2c02d lesson 21 2026-08-20 13:22:19 +07:00
polv a2d6c47133 lesson 20 remaining vocab 2026-08-18 15:30:14 +07:00
polv 8da598e7be lesson 20 some vocab 2026-08-18 15:19:28 +07:00
polv 98bb90a380 lesson 20 2026-08-18 10:20:01 +07:00
polv a9ff08f0ef lesson 6 grammar 2026-08-14 17:05:34 +07:00
polv 0f26cdd272 save quiz state for chosen categories 2026-08-12 23:38:22 +07:00
polv 2ead6da243 lesson 19 vocab 2026-08-12 11:06:51 +07:00
polv 9e7440168e lesson 19 2026-08-12 10:24:17 +07:00
polv 870f6c890f lesson 7 remaining grammar quiz 2026-08-09 09:30:46 +07:00
polv b13eab46de lesson 7 some grammar quiz 2026-08-08 23:42:59 +07:00
polv 8c6ffd282c lesson 8 grammar quiz 2026-08-08 11:30:36 +07:00
polv 90bfbb9e72 save quiz state 2026-08-07 11:38:09 +07:00
polv bab239fb92 lesson 18 grammar 2026-08-07 10:15:40 +07:00
polv d22e27a285 lesson 18 vocab 2026-08-06 21:55:12 +07:00
polv 38605f1ad8 lesson 18 2026-08-06 21:05:57 +07:00
polv 0c3b7f9c6f lesson 9 grammar quiz 2026-08-05 17:01:32 +07:00
polv d0355514ed lesson 17 remaining quizzes 2026-08-03 12:10:00 +07:00
polv 501f21e532 lesson 17 a grammar quiz 2026-08-02 11:55:43 +07:00
polv c836385bde lesson 17 remaining vocab 2026-07-30 18:40:54 +07:00
polv f707f2025b leson 17 some vocab 2026-07-30 15:32:06 +07:00
polv 01c3ec7c91 lesso 17 grammar remaining 2026-07-30 12:07:37 +07:00
polv e4621ab0b8 lesson 17 2026-07-30 11:44:48 +07:00
polv bc46de9e41 fix media downloader 2026-07-28 22:20:06 +07:00
polv 16aea2f26f lesson 16 grammar 2026-07-28 19:11:40 +07:00
polv 338591c1b2 lesson 15 grammar remaining 2026-07-28 09:08:29 +07:00
polv 03238e23fa lesson 15 grammar 2026-07-27 13:06:56 +07:00
polv 5b4e32b8b9 lesson 14 grammar, example sent manual random 2026-07-25 10:24:28 +07:00
polv 614432579b yaml referential and lesson 10 quiz 2026-07-23 18:44:12 +07:00
polv b992d81733 lesson 11 grammar remaining 2026-07-23 09:20:59 +07:00
polv 95e204b728 lesson 11 grammar 2026-07-20 23:42:00 +07:00
polv 2c8dd1b145 lesson 12 grammar remaining 2026-07-19 21:56:58 +07:00
polv 564020bd5e some lesson 12 2026-07-19 12:44:38 +07:00
polv 6f431bb6d1 lesson 13 remaining grammar quiz 2026-07-19 12:02:39 +07:00
polv 5c236885ce add audio downloader 2026-07-19 11:02:47 +07:00
polv ea5991cc4e add alternate windows tts 2026-07-19 09:51:15 +07:00
polv 045f62d951 lesson 13 grammar sentence quiz + adapt component 2026-07-18 23:29:19 +07:00
polv e6a8a6027c lesson 1 quiz 2026-07-18 19:13:58 +07:00
polv afc805c50e lesson 2 quiz 2026-07-18 11:01:25 +07:00
polv b14b2fde89 add conj to lesson 5-16, focusing on irregulars for 13-16 2026-07-18 08:41:11 +07:00
polv b37403a6ba add conjugated forms to notes, and add lesson 3 quiz 2026-07-18 07:48:17 +07:00
polv 72cd3bcd09 edit button with validator and YAML 2026-07-17 18:03:49 +07:00
polv ee87eeb616 if (!import.meta.env.SSR) for client side 2026-07-15 19:26:06 +07:00
polv 58240ff520 add supabase editor 2026-07-15 19:00:32 +07:00
polv 7c48643759 add dummy edit button 2026-07-15 16:27:07 +07:00
polv e682dfae6e lesson 4 quiz 2026-07-15 13:23:41 +07:00
polv 8d5407767c lesson 5 quiz 2026-07-15 12:57:30 +07:00
polv 787aa1a4ac lesson 6 quiz 2026-07-11 12:16:25 +07:00
polv e29505cf1b lesson 7 quiz 2026-07-11 07:58:00 +07:00
polv 51b15046be lesson 8 quiz; prepare new sentence mini-quiz 2026-07-09 16:58:06 +07:00
polv 12cf6b135b lesson 16 remaining vocab 2026-07-09 10:17:42 +07:00
polv 05d8bb3828 lesson 16 more vocab 2026-07-09 08:28:31 +07:00
polv 116ce29cb3 lesson 16 some in-lesson vocab quiz 2026-07-08 16:02:11 +07:00
polv cb3678cc4f lesson 16 remaining grammar 2026-07-08 14:10:23 +07:00
polv 0a63a4a694 lesson 16 grammar 2026-07-08 11:58:27 +07:00
polv e642258f47 vocab no sentence audio; lesson 9-10 quizzes 2026-07-07 22:51:17 +07:00
polv 5184aefa88 lesson 11-12 quizzes 2026-07-07 18:32:10 +07:00
polv dd2708f905 vocab quiz convert ** to em 2026-07-07 17:34:54 +07:00
polv cfa93c6e12 lesson 13 quiz and fix <p> css in blockquote 2026-07-06 15:36:29 +07:00
polv e295704301 lesson 14 quiz 2026-07-06 13:14:12 +07:00
polv 1456704918 quiz notes and label nowrap 2026-07-06 13:04:34 +07:00
polv cfb455d6ad quiz EN-KO 2026-07-06 12:20:26 +07:00
polv 2b62c9b9e0 quiz clickable label 2026-07-06 08:30:41 +07:00
64 changed files with 41122 additions and 3201 deletions

No files matched your search

+4
View File
@@ -145,3 +145,7 @@ vite.config.ts.timestamp-*
docs/.vitepress/dist
docs/.vitepress/cache
docs/public/uploads/
.gtts/
*.db
+11 -1
View File
@@ -29,5 +29,15 @@
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.maxTokenizationLineLength": 2500
}
},
"[rust]": {
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": true
},
"editor.tabSize": 4,
"editor.formatOnSave": true,
},
"vue3snippets.enable-compile-vue-file-on-did-save-code": false
}
+68
View File
@@ -1,3 +1,71 @@
Contents edited from <https://www.howtostudykorean.com> is at [/docs/howtostudykorean/](/docs/howtostudykorean/).
For specifics of how this is created, see <https://git.polv.cc/polv/zh-grammar#how-it-works-for-android>
## TTS
For Windows TTS, I don't like Korean language support pack sound, so I use
```shell
docker run -it -p 5500:5500 synesthesiam/opentts:ko
```
It's required to have Docker running.
## Full Text Search
This is done with [kuromoji-ko](https://www.npmjs.com/package/kuromoji-ko).
```js
import { MeCab } from "kuromoji-ko";
const mecab = await MeCab.create({
engine: "ko",
dictPath: "./node_modules/kuromoji-ko/dict",
});
```
### Tagset
From <https://www.sketchengine.eu/hannanum-korean-tagset-simplified/>.
| ORIGINAL | SIMPLIFIED (in Sketch Engine) | DESCRIPTION | Example |
| ----------------- | ----------------------------- | -------------- | --------------------- |
| NOMINALS | | | |
| NC | **N** | noun | |
| NQ | **NP** | proper noun | |
| NB | **N** | noun | |
| NP | **Pron** | pronoun | |
| NN | **Num** | numeral | |
| PREDICATES | | | |
| PV | **V** | verb | |
| PA | **Adj** | adjective | |
| PX | **VAux** | auxiliary verb | |
| MODIFIERS | | | |
| MM | **Det** | determiner | |
| MA | **Adv** | adverb | |
| INTERJECTION | | | |
| II | **Interj** | interjection | |
| RELATIONAL SUFFIX | | | |
| JC | **Suff** | | |
| JX | **Suff** | | |
| JP | **Suff** | | |
| ENDING | | | |
| EP | **Suff** | | |
| EC | **Suff** | | |
| ET | **Suff** | | |
| EF | **Suff** | | |
| AFFIXES | | | |
| XP | **Pref** | | 접두사 |
| XS | **Suff** | | |
| SYMBOLS | | | |
| SP | **Sym** | | 쉼표 |
| SL | **Sym** | | 여는 따옴표 및 묶음표 |
| SD | **Sym** | | 이음표 |
| SU | **Sym** | | 단위 기호 |
| SF | **Sym** | | 마침표 |
| SR | **Sym** | | 닫는 따옴표 및 묶음표 |
| SE | **Sym** | | 줄임표 |
| SY | **Sym** | | 기타 기호 |
| FOREIGN WORDS | | | |
| F | **X** | | |
+40 -2
View File
@@ -1,4 +1,6 @@
import { defineConfig, MarkdownOptions } from "vitepress";
import { defineConfig, type MarkdownOptions } from "vitepress";
import { mp3DownloaderPlugin } from "./vite-plugins/mp3-downloader";
import { gttsPlugin } from "./vite-plugins/gtts";
const host = process.env.TAURI_DEV_HOST;
@@ -7,9 +9,18 @@ export default defineConfig({
title: "ko-grammar",
description: "Korean grammar edited",
lang: "ko-KR",
head: [
[
"script",
{
async: "async",
src: "https://www.youtube.com/iframe_api",
},
],
],
themeConfig: {
socialLinks: [
{ icon: "github", link: "https://github.com/vuejs/vitepress" },
{ icon: "github", link: "https://git.polv.cc/polv/ko-grammar" },
],
outline: {
level: "deep",
@@ -65,10 +76,18 @@ export default defineConfig({
},
},
vite: {
plugins: [
mp3DownloaderPlugin() as any,
// (Python) pip install gtts
// gtts will intercept /api/tts away from opentts:ko container
gttsPlugin(),
],
envDir: process.cwd(),
ssr: {
noExternal: [],
external: ["pdfjs-dist"], // don't bundle it for SSR — leave it browser-only
},
clearScreen: false,
server: {
/**
* Allow Windows Firewall via Admin PowerShell with
@@ -80,6 +99,10 @@ export default defineConfig({
port: 5173,
strictPort: true,
host: host || false,
watch: {
// tell vite to ignore watching `src-tauri`
ignored: ["**/src-tauri/**"],
},
hmr: host
? {
protocol: "ws",
@@ -87,6 +110,21 @@ export default defineConfig({
port: 5174,
}
: undefined,
proxy: {
// docker run -it -p 5500:5500 synesthesiam/opentts:ko
"/api/tts": "http://localhost:5500",
},
},
// Env variables starting with the item of `envPrefix` will be exposed in tauri's source code through `import.meta.env`.
envPrefix: ["VITE_", "TAURI_ENV_*"],
build: {
// Tauri uses Chromium on Windows and WebKit on macOS and Linux
target:
process.env.TAURI_ENV_PLATFORM == "windows" ? "chrome105" : "safari13",
// don't minify for debug builds
minify: !process.env.TAURI_ENV_DEBUG ? "esbuild" : false,
// produce sourcemaps for debug builds
sourcemap: !!process.env.TAURI_ENV_DEBUG,
},
},
});
@@ -1,5 +1,6 @@
<template>
<span>
<span ref="main"><slot /></span>
<button type="button" @click="playAudio()">▶️</button>
<audio ref="audio" style="display: none"></audio>
</span>
@@ -13,9 +14,14 @@ const props = defineProps<{
src: string;
}>();
defineExpose({
playAudio,
});
const mainEl = useTemplateRef("main");
const audioEl = useTemplateRef("audio");
function playAudio() {
async function playAudio() {
if (!audioEl.value) return;
document.querySelectorAll("audio").forEach((el) => {
@@ -23,9 +29,29 @@ function playAudio() {
});
stopTTS();
audioEl.value.src = props.src;
const uploadURL = "https://www.howtostudykorean.com/wp-content/uploads";
let src = props.src;
if (src.startsWith(uploadURL)) {
src = src.replace(uploadURL, "/uploads");
if (mainEl.value) {
src += `?text=${encodeURIComponent(mainEl.value.innerText.trim())}`;
}
audioEl.value.onerror = () => {
if (!audioEl.value) return;
console.log(audioEl.value.error, src);
audioEl.value.src = props.src;
audioEl.value.currentTime = 0;
audioEl.value.play();
};
} else {
audioEl.value.onerror = null;
}
audioEl.value.src = src;
audioEl.value.currentTime = 0;
audioEl.value.play();
await audioEl.value.play();
}
</script>
@@ -0,0 +1,50 @@
<template>
<component
:is="lang !== 'ko' || v.audio ? 'span' : TTS"
ref="stts"
:text="v.ko_text"
>
<span
v-for="(seg, i) in v[lang].split('**')"
:key="i"
:class="i % 2 === 0 ? '' : spoiler ? 'spoiler' : $style.em"
>
{{ seg }}
</span>
<AudioButton v-if="lang === 'ko' && v.audio" :src="v.audio" ref="saud" />
</component>
</template>
<script setup lang="ts">
import { useTemplateRef } from "vue";
import TTS from "./TTS.vue";
import AudioButton from "./AudioButton.vue";
import { IVoc } from "../types.ts";
defineProps<{
v: IVoc;
lang: "ko" | "en";
spoiler?: boolean;
}>();
defineExpose({
playAudio,
});
const stts = useTemplateRef<HTMLSpanElement | InstanceType<typeof TTS>>("stts");
const saud = useTemplateRef<InstanceType<typeof AudioButton>>("saud");
async function playAudio() {
if (saud.value) {
await saud.value.playAudio();
} else if (stts.value && "playAudio" in stts.value) {
await stts.value.playAudio();
}
}
</script>
<style module>
.em {
font-style: italic;
}
</style>
+50 -8
View File
@@ -3,8 +3,15 @@
<span ref="main" :class="class" :lang="lang">
<slot />
</span>
<audio
style="display: none"
ref="audio"
@error="playAudioTTSPlugin()"
></audio>
<span>
<button type="button" @click="playAudio()">🗣️</button>
<button type="button" @click="playAudio()" :class="$style.speak">
🗣️
</button>
</span>
</span>
</template>
@@ -17,18 +24,49 @@ defineExpose({
playAudio,
});
const { lang = "ko-KR" } = defineProps<{
const { lang = "ko-KR", text } = defineProps<{
class?: string;
lang?: string;
text?: string;
}>();
const mainEl = useTemplateRef("main");
const audioEl = useTemplateRef("audio");
function getMainText() {
if (text) return text;
if (!mainEl.value) return "";
return mainEl.value.innerText
.replace(/[*]/gu, " ")
.replace(/[\p{Ps}\p{Pe}]/gu, "")
.trim();
}
async function playAudio() {
if (!mainEl.value) return;
const mainText = getMainText();
if (!mainText) return;
if (navigator.platform === "Win32" || !(await playAudioTTSPlugin())) {
if (!audioEl.value) return;
const url = new URL("/api/tts", location.origin);
url.searchParams.set("voice", "glow-speak:ko_kss");
url.searchParams.set("text", mainText);
audioEl.value.src = url.href;
audioEl.value.currentTime = 0;
audioEl.value.play();
}
}
async function playAudioTTSPlugin(): Promise<boolean> {
const mainText = getMainText();
if (!mainText) return false;
const voices = await getVoices(lang);
if (!voices.length) return;
if (!voices.length) return false;
document.querySelectorAll("audio").forEach((el) => {
el.pause();
@@ -37,9 +75,7 @@ async function playAudio() {
const v = voices[Math.floor(Math.random() * voices.length)];
console.log(JSON.stringify(v));
await speak({
text: mainEl.value.innerText
.replace(/[*]/gu, " ")
.replace(/[\p{Ps}\p{Pe}]/gu, ""),
text: mainText,
language: null,
rate: null,
volume: null,
@@ -47,7 +83,13 @@ async function playAudio() {
queueMode: null,
voiceId: v.id,
});
return true;
}
</script>
<style module></style>
<style module>
.speak {
margin-inline-start: 0.2em;
}
</style>
+593 -66
View File
@@ -1,7 +1,24 @@
<template>
<div>
<nav v-if="v">
<Teleport to="body">
<div v-if="isEdit" :class="$style.modal" ref="modal">
<nav>
<span> ko: {{ v.ko }} </span>
<div style="flex-grow: 1"></div>
<button type="button" @click="onVContentSave()">Save</button>
<button type="button" @click="isEdit = false">×</button>
</nav>
<textarea
v-model="vEditContent"
spellcheck="false"
ref="textarea"
></textarea>
</div>
</Teleport>
<div :class="$style.mark">
<button type="button" name="edit" @click="isEdit = true">✎</button>
<button type="button" name="right" @click="mark(true)">✓</button>
<button
type="button"
@@ -14,45 +31,101 @@
</div>
<div>
<span v-if="v.audio">
{{ v.ko }}
<AudioButton :src="v.audio" />
<span :class="quizState.isKoFirst ? '' : 'spoiler'">
<SentenceAudio :v="v" lang="ko" ref="vaud" />
</span>
<TTS v-else>
{{ v.ko }}
</TTS>
<span>{{ " = " }}</span>
<span class="spoiler"> {{ v.en }} </span>
<span :class="quizState.isKoFirst ? 'spoiler' : ''">
<SentenceAudio :v="v" lang="en" />
</span>
</div>
<details v-if="example" ref="sdetails">
<details v-if="sent_ko || v.notes" ref="sdetails">
<summary>
<span v-if="example.audio">
{{ example.ko }}
<AudioButton :src="example.audio" />
</span>
<TTS v-else ref="stts">
{{ example.ko }}
</TTS>
<SentenceAudio
v-if="example"
:v="example"
lang="ko"
:spoiler="!quizState.isKoFirst"
ref="saud"
/>
<button
type="button"
name="new-sentence"
v-if="v.examples && v.examples.length > 1"
@click="makeNewExIndex()"
style="margin-inline-start: 0.5em"
>
↻
</button>
</summary>
<span>{{ example.en }}</span>
<SentenceAudio v-if="example" :v="example" lang="en" />
<blockquote
v-if="notes.length"
:class="$style.notes"
v-html="markdownIt.render(notes.join('\n\n'))"
></blockquote>
<div>
<button
type="button"
v-if="sent_ko"
:disabled="exCurrentKo !== sent_ko"
@click="
if (exNotes) {
exNotes = '';
}
explainSentence(sent_ko);
"
>
<span v-if="exCurrentKo !== sent_ko">
{{ exNotesLoading || "..." }}
</span>
<span v-else-if="!!exNotesLoading"> {{ exNotesLoading }} </span>
<span v-else-if="!exNotes"> Explain Sentence </span>
<span v-else> New explanation </span>
</button>
<blockquote v-if="exNotes" v-html="markdownIt.render(exNotes)" />
</div>
</details>
</nav>
<details>
<summary>Quiz options</summary>
<nav>
<span v-for="c in vCats" :key="c">
<input type="checkbox" :name="c" checked @change="updateCats(c)" />
<label :for="c"> {{ c }} </label>
</span>
<details :class="$style.options">
<summary>🧐 Quiz options</summary>
<nav v-if="vCats.length > 1">
<label v-for="c in vCats" :key="c">
<input
type="checkbox"
:name="c"
:checked="quizState.vChosenCats.includes(c)"
@change="updateCats(c)"
/>
{{ c.replace(/_/g, " ") }}
</label>
</nav>
<nav>
<input
type="checkbox"
name="autoplay-audio"
v-model="vSentAutoplayAudio"
/>
<label for="autoplay-audio">autoplay sentence audio</label>
<span>
<label role="switch">
<span>KR</span>
<input
type="checkbox"
name="front"
role="switch"
v-model="quizState.isKoFirst"
/>
<span role="slider"></span>
<span>EN</span>
</label>
</span>
<label>
<input
type="checkbox"
name="autoplay-audio"
v-model="quizState.isAutoplayAudio"
/>
autoplay sentence audio
</label>
</nav>
</details>
</div>
@@ -60,44 +133,180 @@
<script setup lang="ts">
import { useData } from "vitepress";
import { computed, nextTick, ref, useTemplateRef } from "vue";
import TTS from "./TTS.vue";
import {
computed,
nextTick,
onBeforeUnmount,
onMounted,
reactive,
ref,
useTemplateRef,
watch,
} from "vue";
import yaml from "yaml";
import SentenceAudio from "./SentenceAudio.vue";
import { supabase } from "../supabase.ts";
import { fmValueParser, IVoc, Voc } from "../types.ts";
import { LLMstream } from "../llm.ts";
import MarkdownIt from "markdown-it";
const { fmKey = "vocabulary", category } = defineProps<{
fmKey?: string;
category?: string;
}>();
const vCats = ref<string[]>([]);
const vChosenCats = ref<string[]>([]);
const vList = ref<IVoc[]>([]);
const vListOriginalIndex = ref<{ s: IVoc; k: number }[]>([]);
const vIndex = ref(-1);
const vSentAutoplayAudio = ref(true);
const exIndex = ref(0);
const isEdit = ref(false);
const vEditContent = ref("");
const exCurrentKo = ref("");
const exNotes = ref("");
const exNotesLoading = ref("");
const quizState = reactive({
vChosenCats: [] as string[],
isAutoplayAudio: true,
isKoFirst: true,
});
const modalRef = useTemplateRef("modal");
const textareaRef = useTemplateRef("textarea");
const sentenceDetails = useTemplateRef("sdetails");
const stts = useTemplateRef<InstanceType<typeof TTS>>("stts");
const saud = useTemplateRef<InstanceType<typeof SentenceAudio>>("saud");
const vaud = useTemplateRef<InstanceType<typeof SentenceAudio>>("vaud");
const v = computed(() => vList.value[vIndex.value]);
const v = computed<IVoc | null>(() => vList.value[vIndex.value] || null);
const example = computed(() => {
if (!v.value.examples?.length) return null;
if (!v.value?.examples?.length) return null;
const ex = v.value.examples;
return ex[Math.floor(Math.random() * ex.length)];
return ex[exIndex.value] || null;
});
const sent_ko = computed(() => {
if (example.value) return example.value.ko || "";
if (fmKey === "vocabulary") return "";
return v.value?.ko || "";
});
const notes = computed(() => [
...[example.value?.notes || []].flat(),
...[v.value?.notes || []].flat(),
]);
const MAX_VOC = 5;
interface IVoc {
ko: string;
audio?: string;
en: string;
usages?: IVoc[];
notes?: string;
examples?: IVoc[];
const { frontmatter, page } = useData();
const LOCALSTORAGE_STATE = JSON.stringify([
page.value.filePath,
fmKey,
category,
]);
if (typeof window !== "undefined" && window.localStorage) {
const oldStateString = window.localStorage.getItem(LOCALSTORAGE_STATE);
if (oldStateString) {
try {
Object.assign(quizState, JSON.parse(oldStateString));
} catch (e) {}
}
}
const { frontmatter } = useData();
const { vocabulary } = frontmatter.value as {
vocabulary: Record<string, IVoc[]>;
};
function saveQuizState() {
window.localStorage.setItem(LOCALSTORAGE_STATE, JSON.stringify(quizState));
}
vCats.value = Object.keys(vocabulary);
vChosenCats.value = [...vCats.value];
makeVList();
watch(quizState, () => {
saveQuizState();
});
let timeoutSetExNotes = 0;
watch(sent_ko, () => {
if (timeoutSetExNotes) return;
timeoutSetExNotes = window.setTimeout(() => {
timeoutSetExNotes = 0;
if (!exNotesLoading.value) {
exNotes.value = "";
}
if (!sent_ko.value) return;
let ko = sent_ko.value;
ko = ko.replaceAll("**", "");
if (!exNotesLoading.value) {
exCurrentKo.value = sent_ko.value;
}
if (supabase) {
supabase
.from("sentence-explain")
.select<any, { explain: string }>("explain")
.eq("ko", ko)
.then((r) => {
if (!r.data?.[0]) return;
exNotes.value = r.data[0].explain;
});
}
}, 50);
});
const vocabulary: Record<string, IVoc[]> = {};
for (const [k, vs] of Object.entries(
fmValueParser.parse(frontmatter.value[fmKey]),
)) {
vocabulary[k] = [...(vocabulary[k] || []), ...vs];
if (!vCats.value.includes(k)) {
vCats.value = [...vCats.value, k];
}
}
if (category) {
const vCatsSet = new Set(category.split(/[, ]+/g));
const newVCats = vCats.value.filter((c) => vCatsSet.has(c));
if (newVCats.length) {
vCats.value = newVCats;
}
}
if (!quizState.vChosenCats.some((c) => vCats.value.includes(c))) {
quizState.vChosenCats = [...vCats.value];
}
watch(
() => quizState.isKoFirst,
() => {
makeVList();
},
);
watch(isEdit, () => {
if (!v.value) return;
if (isEdit.value) {
const { ko, ...vContent } = v.value;
vEditContent.value = yaml.stringify(vContent);
nextTick(() => {
if (textareaRef.value) {
textareaRef.value.style.height = textareaRef.value.scrollHeight + "px";
}
});
} else {
vEditContent.value = "";
}
});
function makeVList() {
nextTick(() => {
@@ -106,31 +315,60 @@ function makeVList() {
}
});
vList.value = Object.entries(vocabulary)
.filter(([k]) => vChosenCats.value.includes(k))
.flatMap(([, v]) => v);
vList.value = vList.value
.map((s) => ({ s, k: Math.random() }))
const newVList = Object.entries(vocabulary)
.filter(([k]) => quizState.vChosenCats.includes(k))
.flatMap(([, vs]) => vs);
vListOriginalIndex.value = newVList.map((s) => ({
s,
k: Math.random(),
}));
vList.value = vListOriginalIndex.value
.sort((a, b) => a.k - b.k)
.map((a) => a.s);
vIndex.value = Math.floor(
Math.random() * Math.min(MAX_VOC, vList.value.length),
);
if (!v.value) return;
const ex = v.value.examples;
exIndex.value = ex ? Math.floor(Math.random() * ex.length) : 0;
}
function makeNewExIndex() {
if (!v.value) return;
if (v.value.examples && v.value.examples.length > 1) {
const newValue = Math.floor(Math.random() * (v.value.examples.length - 1));
exIndex.value = newValue >= exIndex.value ? newValue + 1 : newValue;
nextTick(() => {
if (saud.value && quizState.isAutoplayAudio) {
saud.value.playAudio();
}
});
}
}
function mark(isRight: boolean) {
exNotes.value = "";
nextTick(() => {
if (sentenceDetails.value) {
sentenceDetails.value.open = false;
}
if (vSentAutoplayAudio.value) {
if (stts.value) {
stts.value.playAudio();
} else if (example.value?.audio) {
new Audio(example.value.audio).play();
}
if (quizState.isAutoplayAudio) {
nextTick(() => {
if (saud.value) {
saud.value.playAudio();
} else if (vaud.value && quizState.isKoFirst) {
vaud.value.playAudio();
}
});
}
});
@@ -138,7 +376,7 @@ function mark(isRight: boolean) {
vList.value = [...vList.value.filter((_, i) => i !== vIndex.value)];
vIndex.value = -1;
if (vList.value.length === 0) {
if (vList.value.length <= 1) {
makeVList();
return;
}
@@ -153,18 +391,205 @@ function mark(isRight: boolean) {
} else {
vIndex.value = i;
}
if (!v.value) return;
const ex = v.value.examples;
exIndex.value = ex ? Math.floor(Math.random() * ex.length) : 0;
}
function updateCats(cat: string) {
const i = vChosenCats.value.indexOf(cat);
const i = quizState.vChosenCats.indexOf(cat);
if (i === -1) {
vChosenCats.value = [...vChosenCats.value, cat];
quizState.vChosenCats = [...quizState.vChosenCats, cat];
} else {
vChosenCats.value = [...vChosenCats.value.filter((_, j) => j !== i)];
quizState.vChosenCats = [
...quizState.vChosenCats.filter((_, j) => j !== i),
];
}
makeVList();
saveQuizState();
}
async function onVContentSave() {
if (!v.value) return;
const oldV = v.value;
const newV = Voc.parse({ ko: oldV.ko, ...yaml.parse(vEditContent.value) });
let key = "";
let vKey = oldV.ko;
Object.entries(vocabulary).map(([k, vs]) => {
const vCount = new Map<string, number>();
vs.map((v, i_vs) => {
let vK = v.ko;
let i = vCount.get(v.ko) || 0;
if (i) {
vK = vK + `(${i})`;
}
vCount.set(v.ko, i + 1);
if (oldV.ko === v.ko && oldV.en === v.en) {
key = JSON.stringify([fmKey, k]);
vKey = vK;
vocabulary[k][i_vs] = newV;
}
});
});
if (supabase && key) {
const user_id = await supabase.auth.getUser().then((r) => r.data.user?.id);
await supabase.from("quiz").upsert(
{
url: page.value.filePath,
key,
v: vKey,
data: newV,
user_id,
},
{ onConflict: "url,key,v,user_id" },
);
}
const newVList = [...vList.value];
newVList[vIndex.value] = newV;
vList.value = newVList;
isEdit.value = false;
}
const markdownIt = new MarkdownIt({
html: true,
breaks: true,
linkify: true,
typographer: true,
});
let loadingIntervalId = 0;
async function explainSentence(ko: string) {
if (loadingIntervalId) return;
ko = ko.replaceAll("**", "");
exNotesLoading.value = ".";
loadingIntervalId = window.setInterval(() => {
exNotesLoading.value += ".";
}, 1000);
// Needs to be specified, or DeepSeek will vacillate between Korean, English, and Chinese.
const LANG_EXPLAIN = "Japanese";
for await (const data of LLMstream({
model: "deepseek-v4-flash",
messages: [
{
role: "system",
content: `
Explain in ${LANG_EXPLAIN} how this sentence works in 500 characters.
Give me key vocabularies in a table.
Don't give romanization forms.
`,
},
{ role: "user", content: ko },
],
})) {
if (data.done) break;
if (data.content) {
exNotes.value += data.content;
}
}
clearInterval(loadingIntervalId);
exNotesLoading.value = "";
loadingIntervalId = 0;
if (exNotes.value && supabase) {
const user_id = await supabase.auth.getUser().then((r) => r.data.user?.id);
await supabase.from("sentence-explain").upsert(
{
user_id,
ko,
explain: exNotes.value,
},
{ onConflict: "ko,user_id" },
);
}
}
function onModalClickOutside(ev: MouseEvent) {
if (!(ev.target instanceof HTMLElement)) return;
if (ev.target.matches('[name="edit"]')) return;
if (!modalRef.value) {
isEdit.value = false;
} else if (!modalRef.value.contains(ev.target.parentNode)) {
isEdit.value = false;
}
}
onMounted(async () => {
document.addEventListener("click", onModalClickOutside);
makeVList();
if (supabase) {
await supabase
.from("quiz")
.select<any, { v: string; data: IVoc }>("v,data")
.eq("url", page.value.filePath)
.then((r) => {
if (!r.data?.length) return;
const replacement = new Map<string, IVoc>();
for (const { v, data } of r.data) {
replacement.set(v, data);
}
Object.entries(vocabulary).map(([k, vs]) => {
const vCount = new Map<string, number>();
vocabulary[k] = vs.map((v) => {
let vKey = v.ko;
let i = vCount.get(v.ko) || 0;
if (i) {
vKey = vKey + `(${i})`;
}
vCount.set(v.ko, i + 1);
return replacement.get(vKey) || v;
});
});
});
}
// const newVList = Object.entries(vocabulary)
// .filter(([k]) => vChosenCats.value.includes(k))
// .flatMap(([, vs]) => vs);
// vList.value = vListOriginalIndex.value
// .map((o, i) => {
// o.s = newVList[i] || o.s;
// return o;
// })
// .sort((a, b) => a.k - b.k)
// .map((o) => o.s);
makeVList();
});
onBeforeUnmount(() => {
document.addEventListener("click", onModalClickOutside);
if (loadingIntervalId) {
clearInterval(loadingIntervalId);
}
});
</script>
<style module>
@@ -175,4 +600,106 @@ function updateCats(cat: string) {
margin-inline-start: 1em;
}
}
.notes {
div + div,
p + p {
margin-top: 0.5em !important;
}
}
.options {
label {
white-space: nowrap;
}
* + label {
margin-inline-start: 0.5em;
}
label[role="switch"] {
--slider-width: 50px;
position: relative;
display: inline-block;
width: calc(var(--slider-width) + 4em);
height: 24px;
input[role="switch"] {
opacity: 0;
width: 0;
height: 0;
}
/* The track */
[role="slider"] {
position: absolute;
cursor: pointer;
background-color: #ccc;
border-radius: 24px;
width: var(--slider-width);
height: 100%;
transition: background-color 0.3s;
+ span {
margin-left: calc(var(--slider-width) + 0.5em);
}
}
/* The circular slider */
[role="slider"]::before {
content: "";
position: absolute;
height: 20px;
width: 20px;
left: 4px;
bottom: 2px;
background-color: rgb(87, 87, 87);
border-radius: 50%;
transition: transform 0.3s;
}
/* Toggled state */
input:not(:checked) {
+ [role="slider"] {
/* background-color: #4caf50; */
background-color: gainsboro;
}
+ [role="slider"]::before {
transform: translateX(23px);
}
}
}
}
.modal {
--margin-top: 120px;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: calc(100vw - 4em);
max-width: 1000px;
nav {
display: flex;
flex-direction: row;
background-color: rgba(128, 128, 128, 0.8);
padding: 0.5em;
border-radius: 0.5em 0.5em 0 0;
* + * {
margin-inline-start: 1em;
}
}
textarea {
width: 100%;
max-height: calc(90vh - var(--margin-top));
padding: 1em;
border-radius: 0 0 0.5em 0.5em;
font-family: sans-serif;
resize: none;
}
}
</style>
+57 -2
View File
@@ -1,10 +1,12 @@
<template>
<div :class="$style.container">
<iframe
ref="iframe"
:class="$style.iframe"
width="100%"
height="100%"
:src="'https://www.youtube.com/embed/' + $props.id"
:src="url.href"
:title="$props.title"
frameborder="0"
allow="
accelerometer;
@@ -13,14 +15,67 @@
gyroscope;
picture-in-picture;
fullscreen;
clipboard-write;
web-share;
"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
>
</iframe>
</div>
</template>
<script setup lang="ts">
defineProps<{ id: string; title?: string }>();
import { onBeforeUnmount, onMounted, ref, useTemplateRef } from "vue";
const props = defineProps<{
id?: string;
list?: string;
title?: string;
}>();
const url = new URL(
`https://www.youtube.com/embed/${props.id || "videoseries"}`,
);
url.searchParams.set("enablejsapi", "1");
if (props.list) {
url.searchParams.set("list", props.list);
}
const iframe = useTemplateRef("iframe");
const player = ref();
function onOrientationChanged() {
if (player.value && iframe.value) {
if (
window.screen.orientation.type.startsWith("landscape") &&
player.value.getPlayerState() === 1
) {
iframe.value.requestFullscreen();
return;
}
}
if (document.fullscreenElement) {
document.exitFullscreen();
}
}
onMounted(() => {
const { YT } = window as any;
if (YT?.Player && iframe.value) {
player.value = new YT.Player(iframe.value);
}
window.screen.orientation.addEventListener("change", onOrientationChanged);
});
onBeforeUnmount(() => {
window.screen.orientation.removeEventListener("change", onOrientationChanged);
if (document.fullscreenElement) {
document.exitFullscreen();
}
});
</script>
<style module>
-7
View File
@@ -1,10 +1,3 @@
body {
padding-top: env(safe-area-inset-top);
padding-bottom: env(safe-area-inset-bottom);
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
}
.spoiler:not(:hover) {
filter: blur(5px);
}
+6
View File
@@ -14,6 +14,7 @@ import VocabQuiz from "./components/VocabQuiz.vue";
import YouTube from "./components/YouTube.vue";
import type { Theme } from "vitepress";
import { signIn } from "./supabase.ts";
export default {
extends: DefaultTheme,
Layout: () => {
@@ -32,3 +33,8 @@ export default {
// app.component("PDF", PDF);
},
} satisfies Theme;
//@ts-ignore
if (!import.meta.env.SSR) {
signIn();
}
+115
View File
@@ -0,0 +1,115 @@
import { fetch } from "@tauri-apps/plugin-http";
//@ts-ignore
const { VITE_LLM_API_KEY } = import.meta.env;
// Minimal type definitions
type DeepSeekChunk = {
choices: Array<{
delta: {
content?: string;
reasoning_content?: string;
};
}>;
};
// Type guard - simple and effective
function isValidChunk(data: unknown): data is DeepSeekChunk {
return (
typeof data === "object" &&
data !== null &&
"choices" in data &&
Array.isArray((data as any).choices) &&
(data as any).choices.length > 0 &&
"delta" in (data as any).choices[0]
);
}
// Helper - one-liner safe parse
function safeParse<T>(text: string): T | null {
try {
return JSON.parse(text);
} catch {
return null;
}
}
export async function* LLMstream(body: {
model: string;
messages: {
role: "system" | "user";
content: string;
}[];
}) {
if (!VITE_LLM_API_KEY) return;
let endpoint = "https://api.deepseek.com/chat/completions";
const response = await fetch(endpoint, {
method: "POST",
headers: {
Authorization: `Bearer ${VITE_LLM_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
...body,
stream: true,
}),
});
if (!response.ok || !response.body) {
throw response;
}
const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
let buffer = "";
while (true) {
const { value, done } = await reader.read();
if (done) break;
buffer += value;
const events = buffer.split("\n\n");
buffer = events.pop() || "";
for (const event of events) {
for (const line of event.split("\n")) {
const DATA_START = "data: ";
if (!line.startsWith(DATA_START)) continue;
const payload = line.slice(DATA_START.length);
if (payload === "[DONE]") {
yield { content: "", done: true };
return;
}
const chunk = safeParse<DeepSeekChunk>(payload);
if (!chunk?.choices?.[0]?.delta) continue;
const delta = chunk.choices[0].delta;
// Yield content if present
if (delta.content) {
yield {
content: delta.content,
reasoning: delta.reasoning_content,
done: false,
};
}
// Yield reasoning separately if present and no content
if (delta.reasoning_content && !delta.content) {
yield {
content: "",
reasoning: delta.reasoning_content,
done: false,
};
}
}
}
}
}
+27
View File
@@ -0,0 +1,27 @@
import { createClient } from "@supabase/supabase-js";
const {
VITE_SUPABASE_URL,
VITE_SUPABASE_PUBLISHABLE_KEY,
VITE_SUPABASE_USER,
VITE_SUPABASE_USER_PASSWORD,
} =
//@ts-ignore
import.meta.env;
export const supabase = [
VITE_SUPABASE_URL,
VITE_SUPABASE_PUBLISHABLE_KEY,
VITE_SUPABASE_USER,
VITE_SUPABASE_USER_PASSWORD,
].every((v) => v)
? createClient(VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY)
: null;
export async function signIn() {
if (!supabase) return;
await supabase.auth.signInWithPassword({
email: VITE_SUPABASE_USER,
password: VITE_SUPABASE_USER_PASSWORD,
});
}
+40
View File
@@ -0,0 +1,40 @@
import * as z from "zod";
// 1. Define the interface manually (do not use z.infer here)
export interface IVoc {
ko: string;
ko_text?: string;
audio?: string;
en: string;
usage?: IVoc[];
notes?: string | string[];
examples?: IVoc[];
}
// 2. Annotate the schema with the manually defined interface
export const Voc: z.ZodType<IVoc> = z.lazy(() =>
z.object({
ko: z.string(),
ko_text: z.string().optional(),
audio: z.string().optional(),
en: z.string(),
usage: z.array(Voc).optional(),
notes: z.union([z.string(), z.array(z.string())]).optional(),
examples: z
.array(Voc)
.superRefine((val, ctx) => {
for (const x of val) {
if (!isEmp(x.ko)) {
ctx.addIssue(`${JSON.stringify(x)} must contain **emp** text`);
}
}
})
.optional(),
}),
);
export const fmValueParser = z.record(z.string(), z.array(Voc));
function isEmp(s: string) {
return /\*\*.+\*\*/.test(s);
}
+88
View File
@@ -0,0 +1,88 @@
import fs from "node:fs";
import type { IncomingMessage, ServerResponse } from "node:http";
import path from "node:path";
import type { Connect, Plugin, ViteDevServer } from "vite";
import { spawn } from "child_process";
export function gttsPlugin(): Plugin {
return {
name: "gtts",
configureServer(server: ViteDevServer) {
// Vite dev server middlewares are connect-style: (req, res, next)
server.middlewares.use(async (req, res, next) => {
const reqUrl = req.url;
if (!reqUrl) return next();
const url = new URL(reqUrl, "http://localhost");
if (url.pathname !== "/api/tts") return next();
const text = url.searchParams.get("text");
if (!text) return next();
try {
await gtts(text, req, res, next);
} catch (e) {
console.error(e, reqUrl);
next();
}
});
},
};
}
let fileList: Record<string, number> = {};
async function gtts(
text: string,
req: Connect.IncomingMessage,
res: ServerResponse<IncomingMessage>,
next: Connect.NextFunction,
) {
text = text.replace(/["]/g, " ");
const saveroot = ".gtts";
fs.mkdirSync(saveroot, { recursive: true });
const fileListJSON = path.join(saveroot, "gtts.json");
if (Object.keys(fileList).length === 0 && fs.existsSync(fileListJSON)) {
fileList = JSON.parse(fs.readFileSync(fileListJSON, "utf-8"));
}
let fileNo = fileList[text];
let isFileNoExists = Number.isInteger(fileNo);
if (!isFileNoExists) {
fileNo = Math.max(0, ...Object.values(fileList)) + 1;
}
const filename = `${fileNo}.mp3`;
const saveto = path.join(saveroot, filename);
if (!isFileNoExists || !fs.existsSync(saveto)) {
await new Promise((resolve, reject) => {
const p = spawn(
"gtts-cli",
[
`"${text}"`,
...["--lang", "ko"],
...["--output", path.join(process.cwd(), saveto)],
],
{
stdio: "inherit",
shell: true,
},
);
p.on("error", reject).on("close", resolve);
});
fileList[text] = fileNo;
console.log(`gtts: ${text} saved to ${saveto}`);
fs.writeFileSync(fileListJSON, JSON.stringify(fileList, null, 2));
} else {
// console.log(`gtts: ${text} loaded from ${saveto}`);
}
res.setHeader("Content-Type", "audio/mpeg");
fs.createReadStream(saveto).pipe(res);
}
@@ -0,0 +1,110 @@
import fs from "node:fs";
import type { IncomingMessage, ServerResponse } from "node:http";
import path from "node:path";
import type { Connect, Plugin, ViteDevServer } from "vite";
import sqlite3 from "better-sqlite3";
import { Tokenizer } from "./tokenizer";
export function mp3DownloaderPlugin(): Plugin {
return {
name: "mp3-downloader",
async configureServer(server: ViteDevServer) {
const db = sqlite3(".sentence-mp3.db");
db.exec(/* sql */ `
CREATE TABLE IF NOT EXISTS sentence (
id INTEGER NOT NULL PRIMARY KEY,
ko TEXT NOT NULL,
original TEXT NOT NULL,
[url] TEXT NOT NULL
);
CREATE UNIQUE INDEX IF NOT EXISTS idx_sentence_u_url ON sentence([url]);
CREATE VIRTUAL TABLE IF NOT EXISTS sentence_fts USING fts5 (
ko,
original UNINDEXED,
[url] UNINDEXED,
content='sentence',
content_rowid='id'
);
-- Triggers to keep the FTS index up to date.
CREATE TRIGGER IF NOT EXISTS t1_ai AFTER INSERT ON sentence BEGIN
INSERT INTO sentence_fts(rowid, ko) VALUES (new.id, new.ko);
END;
CREATE TRIGGER IF NOT EXISTS t1_ad AFTER DELETE ON sentence BEGIN
INSERT INTO sentence_fts(fts_idx, rowid, ko) VALUES('delete', old.id, old.ko);
END;
CREATE TRIGGER IF NOT EXISTS t1_au AFTER UPDATE ON sentence BEGIN
INSERT INTO sentence_fts(fts_idx, rowid, ko) VALUES('delete', old.id, old.ko);
INSERT INTO sentence_fts(rowid, ko) VALUES (new.id, new.ko);
END;
`);
let tokenizer: Tokenizer | null = null;
// Vite dev server middlewares are connect-style: (req, res, next)
server.middlewares.use(async (req, res, next) => {
const reqUrl = req.url;
if (!reqUrl || !reqUrl.startsWith("/uploads/")) return next();
const url = new URL(reqUrl, "http://localhost");
if (!url.pathname.endsWith(".mp3")) return next();
try {
// if (!tokenizer) {
// tokenizer = await Tokenizer.init();
// }
await mp3Downloader(db, tokenizer, url, res, next);
} catch (e) {
console.error(e, reqUrl);
next();
}
});
},
};
}
async function mp3Downloader(
db: ReturnType<typeof sqlite3>,
tokenizer: Tokenizer,
url: URL,
res: ServerResponse<IncomingMessage>,
next: Connect.NextFunction,
) {
const downloadURL = new URL(
`https://www.howtostudykorean.com/wp-content${url.pathname}`,
);
// const text = url.searchParams.get("text");
// if (text) {
// db.prepare(
// "INSERT OR IGNORE INTO sentence ([url], ko, original) VALUES (?, ?, ?)",
// ).run(downloadURL.href, tokenizer.normalize(text), text);
// }
const segs = url.pathname.slice(1).split("/");
const filename = segs.pop()!;
const saveroot = "docs/public";
const saveto = path.join(saveroot, ...segs, filename);
if (fs.existsSync(saveto)) {
return next();
}
fs.mkdirSync(path.join(saveroot, ...segs), { recursive: true });
const r = await fetch(downloadURL, { redirect: "follow" });
if (!r.ok) {
console.error(r);
return next();
}
fs.writeFileSync(saveto, Buffer.from(await r.arrayBuffer()));
// console.log(fs.statSync(saveto));
console.log("saved to", saveto);
res.setHeader("Content-Type", "audio/mpeg");
fs.createReadStream(saveto).pipe(res);
}
+22
View File
@@ -0,0 +1,22 @@
import { MeCab } from "kuromoji-ko";
export class Tokenizer {
static async init() {
return new Tokenizer(
await MeCab.create({
engine: "ko",
dictPath: "./node_modules/kuromoji-ko/dict",
}),
);
}
private constructor(public mecab: MeCab) {}
normalize(s: string) {
return this.mecab
.parse(s)
.filter((t) => t.pos.some((p) => /^[NVM]/.test(p)))
.map((t) => t.lemma)
.join(" ");
}
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+57
View File
@@ -0,0 +1,57 @@
# Theme Lessons
Although our regular lessons present all the grammar and vocabulary you need to learn Korean, they do not offer specific sentences or information tailored to a specific theme. You might be able to find some sentences related to school, some sentences related to weather, and some sentences related to transportation scattered across our various lessons, these are by no means organized in one place. That is… until now.
The purpose of our Theme Lessons is to present you with sentences and vocabulary that you would come across in a specific situation. For example, if you were a student (or teacher) in a school, you might be interested in learning sentences and vocabulary that would be useful in this setting.
The purpose of these Theme Lessons is _not_ to teach the grammar within the sentences provided. However, in order to understand most of the grammar within the Theme Lessons, we suggest that you complete at least Lesson 25 of our regular lessons. On top of this (especially for learners still in Unit 1 of our regular lessons), there will definitely be some grammar that you are not familiar with. My original goal was to have the Unit 1 Theme Lessons present sentences that only used grammar introduced in Unit 1. I realized that the grammar introduced until Lesson 25 is not sufficient to make a ton of natural sentences.
Use this as an opportunity to maybe skip ahead to some grammatical principles that are more common but a little bit advanced. The most common grammatical principles that you might find in the Theme Lessons of Unit 1 that have not been introduced yet are:
| \~는 것 | [Lesson 26](../unit-2/26-describing-nouns-with-verbs.md) |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 중 | [Lesson 33](https://www.howtostudykorean.com/unit-2-lower-intermediate-korean-grammar/unit-2-lessons-26-33/lesson-33/ "Lesson 33: ~중 (하는 중), (~중에)") |
| \~아/어서 | [Lesson 37](https://www.howtostudykorean.com/unit-2-lower-intermediate-korean-grammar/unit-2-lessons-34-41/lesson-37/ "Lesson 37: Because: ~아/어서") |
| 때문에 | [Lesson 38](https://www.howtostudykorean.com/unit-2-lower-intermediate-korean-grammar/unit-2-lessons-34-41/lesson-38/ "Lesson 38: Because: ~기 때문에") |
| \~아/어 주다 | [Lesson 41](https://www.howtostudykorean.com/unit-2-lower-intermediate-korean-grammar/unit-2-lessons-34-41/lesson-41/ "Lesson 41: To Give: 주다, 아/어 주다") |
| \~자 | [Lesson 44](https://www.howtostudykorean.com/unit-2-lower-intermediate-korean-grammar/unit-2-lessons-42-50/lesson-44/) |
| \~ㄹ/을래(요) | [Lesson 44](https://www.howtostudykorean.com/unit-2-lower-intermediate-korean-grammar/unit-2-lessons-42-50/lesson-44/) |
| \~ㄹ/을 수 있다 | [Lesson 45](https://www.howtostudykorean.com/unit-2-lower-intermediate-korean-grammar/unit-2-lessons-42-50/lesson-45/ "Lesson 45: I can, I can’t – ~ㄹ 수 있다/없다") |
| \~아/어 야 하다 | [Lesson 46](https://www.howtostudykorean.com/unit-2-lower-intermediate-korean-grammar/unit-2-lessons-42-50/lesson-46/) |
| \~ㄹ/을게(요) | [Lesson 63](https://www.howtostudykorean.com/unit-3-intermediate-korean-grammar/unit-3-lessons-59-66/lesson-63/ "Lesson 63: ~ㄹ/을까(요), ~ㄹ/을게요") |
| \~ㄹ/을까(요) | [Lesson 63](https://www.howtostudykorean.com/unit-3-intermediate-korean-grammar/unit-3-lessons-59-66/lesson-63/ "Lesson 63: ~ㄹ/을까(요), ~ㄹ/을게요") |
| \~는데 | [Lesson 76](https://www.howtostudykorean.com/upper-intermediate-korean-grammar/unit-4-lessons-76-83/lesson-76/ "Lesson 76: ~는데 and ~는 데 in Korean") |
The list above is by no means complete, but by knowing the grammar introduced in Unit 1, and having a general idea of some of these more difficult grammatical principles, you will definitely be able to challenge yourself with learning some great sentences.
In addition to the pile of sentences that will be provided, common words that relate to the particular theme will be given. All of the vocabulary words introduced in our Theme Lessons will also be introduced somewhere in our regular lessons. The purpose of these Theme Lessons is to organize all of the words (and sentences) that focus on a central subject.
- [Unit 1: #1 – School](./01-school.md)
- [Unit 1: #2 – Transportation](./02-transportation.md)
- [Unit 1: #3 – Eating](./03-eating.md)
- [Unit 1: #4 – Shopping](./04-shopping.md)
- [Unit 1: #5 – Weather](./05-weather.md)
In time, we will continue to update more Theme Lessons to this Unit.
In addition, we will eventually make Theme Lessons that fall under later Units. Theme Lessons under later Units will gradually be focused on more and more complex themes.
## Analyzing Korean Signs
<YouTube list=PLpkY2PdR9aLO_V0LFnP3_cdapJBcuG3-O />
## Sentence Practice
<YouTube list=PLpkY2PdR9aLOKW0N5CqSDNJF7rVaQCwpX />
## Dictation Practice
<YouTube list=PLpkY2PdR9aLMLiZnUBQFJxvr2Bs4eMbI6 />
## 20 SECOND LOOKS AT RAW KOREA
<YouTube list=PLpkY2PdR9aLOiwxKcoih94VHS4wGvOmQx />
---
How to study Korean © 2026. All Rights Reserved. | [Privacy Policy](http://www.howtostudykorean.com/privacy-policy/) | [Contact Us](http://www.howtostudykorean.com/other-stuff/contact-us/)
+684 -55
View File
@@ -1,7 +1,637 @@
---
vocabulary:
nouns:
- ko: 한국
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson1-1.mp3
en: Korea
notes: The formal name of the country is 대한민국
examples:
- ko: 저는 7년 동안 **한국**에서 살았어요
en: I lived in **Korea** for seven years
- ko: 저는 내년에 **한국**에 갈 거예요
en: I will go to **Korea** next year
- ko: 저의 어머니는 올해 **한국**에 올 것입니다
en: My mom will come to **Korea** this year
- ko: 저는 한국어를 **한국**에서 배웠어요
en: I learned Korean in **Korea**
- ko: 고등학교는 **한국**에서 어려워요
en: High school is difficult in **Korea**
- ko: 그 집은 **한국**에서 지어졌어요
en: that house was built in **Korea**
- ko: 저는 **한국**에서 살고 있어요
en: I live in **Korea**
- ko: 도시
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-2.mp3
en: city
examples:
- ko: 서울은 큰 **도시**예요
en: Seoul is a big **city**
- ko: "어느 **도시**에 갈 거예요?"
en: What **city** are you going to go to?
- ko: 이 **도시**는 분위기가 좋아요
en: This **city** has a good atmosphere
- ko: 서울 대신에 다른 **도시**에 갈 거예요?
en: Other than Seoul, will you go to another **city**?
- ko: 강가에는 **도시**에서 내려온 많은 쓰레기가 쌓여 있어요
en: A great deal of garbage that had flowed down from the **city** was piled on the riverbank
- ko: 이름
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-3.mp3
en: name
examples:
- ko: 그 사람의 **이름**은 뭐예요?
en: What is that person's **name**?
- ko: 저의 **이름**은 김한성이에요
en: My **name** is 김한성
- ko: 저는 그 사람의 **이름**이 기억 안 나요
en: I can't remember that person's **name**
- ko: 저는 그의 **이름**을 불렀어요
en: I called his **name**
- ko: 덕석은 흔하지 않은 **이름**이에요
en: '"덕석" is not a common **name**'
- ko: 이 길의 **이름**이 뭐죠?
en: What is the **name** of this road/street?
- ko: 친구 **이름**을 잊어버려서는 안 돼요
en: You shouldn't forget your friend's **name**
- ko: 저
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-4.mp3
en: I, me (formal)
notes: |
When used as the subject of a sentence, 저 translates to "I," when used as the object of a sentence, "저" translates to "me." For example: "저는 그 여자를 사랑해요" = "I love that girl", "그 여자는 저를 사랑해요" = "That girl loves me"
저 changes to 제 when 이/가 are attached. See Lesson 2 for more information. For example: "제가 한국을 좋아해요" = "I like Korea"
나 is used instead of 저 in informal situations.
examples:
- ko: "**저**는 친구를 만났어요"
en: "**I** met a friend"
- ko: "**저**의 친구는 **저**를 만났어요"
en: "**My** friend met **me**"
- ko: "**저**는 지난 주에 영화를 봤어요"
en: "**I** saw a movie last week"
- ko: "**저**는 삼일 동안 밥을 안 먹었어요"
en: "**I** didn't eat rice for 3 days"
- ko: 나
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-5.mp3
en: I, me (informal)
notes: |
When used as the subject of a sentence, 나 translates to "I," when used as the object of a sentence, "나" translates to "me." For example: "나는 그 여자를 사랑해" = "I love that girl", "그 여자는 나를 사랑해" = "That girl loves me"
나 changes to 내 when 이/가 are attached. See Lesson 2 for more information. For example: "내가 한국을 좋아해" = "I like Korea"
저 is used instead of 나 in formal situations.
examples:
- ko: "**나**는 친구를 만났어"
en: "**I** met a friend"
- ko: "**나**의 친구는 **나**를 만났어"
en: "**My** friend met **me**"
- ko: "**나**는 내년에 한국에 갈 거야"
en: "**I** will go to Korea next year"
- ko: "**나**는 사과 한 개를 샀어"
en: "**I** bought one apple"
- ko: 남자
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-6.mp3
en: man
examples:
- ko: 그는 잘생긴 **남자**예요
en: He is a handsome **man**
- ko: "**남자**는 방에 들어왔어요"
en: That **man** came into room
- ko: 저는 잘생긴 **남자**를 만났어요
en: I met a handsome **man**
- ko: 저의 친구는 주로 **남자**예요
en: My friends are mostly **men**
- ko: 그 **남자**가 키가 너무 커요
en: That **man** is very tall
- ko: 어떤 **남자**는 어제 여기에 왔어
en: Some **man** came here yesterday
- ko: 여자
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-7.mp3
en: woman
examples:
- ko: 그녀는 예쁜 **여자**예요
en: She is a beautiful **girl**
- ko: 그 **여자**의 머리 색깔은 자연스러워요
en: That **girl**'s hair color is natural
- ko: 저의 **여자** 친구는 귀엽고 예뻐요
en: My **girl**friend is cute and pretty
- ko: 저는 그 **여자**를 사랑해요
en: I love that **girl**
- ko: 이
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-9.mp3
en: this
notes: |
이 is a type of word called a "관형사," which isn't an adjective, but is another type of word that can be placed before nouns to describe them. In English, "관형사" translates to a "modifier" or "a determiner." 이 is placed before nouns within reaching distance to indicate that one is talking about "this" specific thing. For example: "이 사람" = "this person"
It is easy to distinguish between a determiner and an adjective in Korean. Although both placed before nouns to "describe" them, the dictionary (ordinary) form of an adjective always ends in ~다 and must change in order to describe them. For example, 예쁘다 changes to 예쁜 when placed before a noun to describe it (See Lesson 3 for more information). Determiners keep their original form when placed before a noun. This might be too much grammar for you at this point, but make a note of it.
examples:
- ko: "**이** 차는 너무 비싸요"
en: "**This** car is too expensive"
- ko: "**이** 방은 넓습니다"
en: "**This** room is big/wide"
- ko: 저는 **이** 영화를 더 이상 보고 싶지 않아요
en: I don't want to watch **this** movie anymore
- ko: "**이** 고기는 돼지고기입니다"
en: "**This** meat is pork"
- ko: "**이** 사람은 저의 누나예요"
en: "**This** (person) is my sister"
- ko: 그
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-8.mp3
en: that
notes: |
그 is another example of a "관형사" in Korean. 그 is placed before nouns that are being referred to from context or a previous sentence. For example, if your father is talking about a specific person, you can refer to "that person" by saying "그 사람."
See more information about 관형사 in my description of "이" above.
examples:
- ko: "**그** 남자는 저의 아버지예요"
en: "**That** man is my father"
- ko: "**그** 여자는 나랑 결혼하고 싶었어요"
en: "**That** girl wanted to marry me"
- ko: 저는 **그** 책을 원해요
en: I want **that** book
- ko: "**그** 병원은 멉니다"
en: "**That** hospital is far"
- ko: "**그** 여자의 머리카락은 깁니다"
en: "**That** girls hair is long"
- ko: 저
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-10.mp3
en: that (when something is far away)
notes: |
저 is another example of a "관형사" in Korean. 저 is placed before nouns that are far away (not within reach). For example, if you want to refer to the person across the street, you can refer to "that person" by saying "저 사람."
그 and 저 both translate to "that." This often causes confusion for English speakers.
Also notice that "저" has more than one meaning. Earlier, you saw that "저" means "I/me." Welcome to the world of Korean! Where often times one word has more than one meaning.
See more information about 관형사 in my description of "이" above.
examples:
- ko: "**저** 사람은 누구예요?"
en: Who is **that** person?
- ko: 저는 **저** 케이크를 먹고 싶어요
en: I want to eat **that** cake
- ko: "**저** 바지가 얼마예요?"
en: How much are **those** pants?
- ko: 저의 친구는 **저** 쪽으로 갔어요
en: My friend went **that** way
- ko: "**저** 학교는 역사적인 건물이에요"
en: "**That** school is a historical building"
- ko: 다음 버스는 **저** 정류장에서 출발할 거예요
en: The next bus will depart from **that** station
- ko: 것
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-11.mp3
en: thing
notes: |
Not only used as a simple noun, but also used as a noun that can be described by full sentences. See Lesson 26 for more information about this.
것 can be shortened to 거. 것이 can be shortened to 게
examples:
- ko: 저는 비싼 **것**만 좋아해요
en: I only like expensive **things**
- ko: "그**것**을 어떻게 해요?"
en: How do you do that (**thing**)?
- ko: "이**것**은 뭐야?"
en: What is this (**thing**)?
- ko: "이**것**은 얼마예요?"
en: How much is this (**thing**)?
- ko: 이것
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-1-v.mp3
en: this (thing)
notes: |
The pronunciation of this word is closer to "이걷"
이것 is often shortened to 이거 in speech.
When 이, 그 or 저 are placed before "것," the result is a compound word. Therefore, when placing "것" after 이, 그 or 저, there should not be a space between the two.
Although it can be translated as "this thing," 이것 itself is a pronoun and can be simplified to translate to "this." For more information, see the explanation in Lesson 1.
examples:
- ko: "**이것**은 뭐야?"
en: What is **this (thing)**?
- ko: "**이것**은 너무 작은가요?"
en: Is **this (thing)** too small?
- ko: "**이것**은 여권이야"
en: "**This (thing)** is a passport"
- ko: "**이것**이 더 좋아요"
en: "**This (thing)** is better"
- ko: "**이것**을 보셔요"
en: Look at **this (thing)**
- ko: "**이것**을 먹어 봐!"
en: Eat **this (thing)**! (Try eating **this (thing)**!)
- ko: 모든 프린터 중에 **이것**이 제일 싸요
en: Among all the printers, **this (one)** is the cheapest
- ko: "**이것**을 다 작성해 주실래요?"
en: Can you write all of **this** up for me?
- ko: "**이것**은 처음이자 마지막 기회예요"
en: "**This** is the first and last chance"
- ko: 그것
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-1-v2.mp3
en: that (thing)
notes: |
The pronunciation of this word is closer to "그걷"
그것 is often shortened to 그거 in speech.
When 이, 그 or 저 are placed before "것," the result is a compound word. Therefore, when placing "것" after 이, 그 or 저, there should not be a space between the two.
Although it can be translated as "that thing," 그것 itself is a pronoun and can be simplified to translate to "that." For more information, see the explanation in Lesson 1.
examples:
- ko: 저는 **그것**을 손으로 만들었어요
en: I built **that (thing)** with my hands
- ko: 저는 **그것**을 지난 번에 배웠어요
en: I learned **that (thing)** last time
- ko: 저는 **그것**을 처음부터 끝까지 복습했어요
en: I reviewed **that (thing)** from start to finish
- ko: 저는 **그것**을 영어로 할 거예요
en: I will say **that (thing)** in English
- ko: 저는 **그것**을 친구한테서 들었어요
en: I heard **that (thing)** from my friend
- ko: 저것
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-1-v3.mp3
en: that (thing)
notes: |
The pronunciation of this word is closer to "저걷"
저것 is often shortened to 저거 in speech.
When 이, 그 or 저 are placed before "것," the result is a compound word. Therefore, when placing "것" after 이, 그 or 저, there should not be a space between the two.
Although it can be translated as "that thing," 저것 itself is a pronoun and can be simplified to translate to "that." For more information, see the explanation in Lesson 1.
examples:
- ko: "**저것**은 사과예요"
en: "**That (thing)** is an apple"
- ko: 우리 아빠는 **저것**을 싫어할 것 같아
en: Dad will probably not like **that (thing)**
- ko: "**저것**은 사람이 아니라 눈사람이에요"
en: "**That (thing)** is not a person, it is a snowman"
- ko: 의자
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-12.mp3
en: chair
notes: |
This word appears in Korean Sign Explanation [Video 14]
<YouTube id="b8X6ryrJGeY" />
examples:
- ko: 그녀는 **의자**에서 일어났어요
en: She rose up from her **chair**
- ko: 고양이는 **의자** 밑에 있다
en: The cat is under the **chair**
- ko: "**의자**는 탁자보다 더 낮아요"
en: The **chair** is lower than the table
- ko: 저는 **의자**를 앞으로 움직였어요
en: I moved my **chair** forward
- ko: 탁자
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-13.mp3
en: table
notes: |
The pronunciation of this word is closer to "탁짜"
The little table that Korean people use when they sit on the floor to have meals is called a "상." A kitchen table can be referred to more specifically by saying "식탁."
examples:
- ko: 저는 잡지를 **탁자** 위에 놓을 거예요
en: I will put the magazine on the **table**
- ko: 펜이 **탁자**에 놓여 있었어요
en: The pen was (laying) on the **table**
- ko: 의자는 **탁자**보다 더 낮아요
en: The chair is lower than the **table**
- ko: 밖에 나가기 전에 열쇠를 **탁자**에 두었어요
en: Before I went outside, I put the keys on the **table**
- ko: 이 **탁자**가 너무 낮아요
en: This **table** is too low
- ko: 병이 **탁자**에서 떨어졌다
en: The bottle fell from the **table**
- ko: 선생님
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-14.mp3
en: teacher
notes: |
This is often colloquially shortened to "쌤"
선생님 (or 쌤) is often used to broadly refer to anybody in any form of a teaching position, or anybody who works at any position in a school. For example, the maintenance people who work at a school would be referred to as "선생님" within the school.
examples:
- ko: 저는 **선생님**이 되고 싶어요
en: I want to be a **teacher**
- ko: 저는 학교에서 저의 **선생님**을 항상 봐요
en: I always see my **teacher** at school
- ko: 저는 **선생님**이에요
en: I am a **teacher**
- ko: 저는 어제 **선생님**을 처음 만났어요
en: I met my **teacher** for the first time yesterday
- ko: "**선생님**들은 다 나갔어요"
en: All the **teachers** left (went out)
- ko: "**선생님**은 학생들과 박물관에 갔다"
en: The **teacher** went to the museum with the students
- ko: 저는 **선생님**과 함께 공부했어요
en: I studied with my **teacher**
- ko: "**선생님**들은 똑똑해요"
en: "**Teachers** are smart"
- ko: 침대
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-15.mp3
en: bed
examples:
- ko: 애기는 **침대**에서 자고 있어요
en: The baby is sleeping in the **bed**
- ko: 저는 **침대**에 누워 있어요
en: I'm lying in **bed**
- ko: 저의 사진은 **침대** 위에 걸려 있어요
en: My picture is hanging above my **bed**
- ko: 피곤한 사람은 **침대**에 누워서 잤어요
en: The tired person lay on the **bed** and slept
- ko: 저는 **침대**에 잠깐 눕고 싶어요
en: I want to lie down in **bed** for just a second
- ko: 집
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-16.mp3
en: house
examples:
- ko: 저는 **집**에 돌아갈 거예요
en: I am going back (returning) **home**
- ko: "**집** 값은 비싸지고 있어"
en: "**House** prices are getting expensive"
- ko: 저는 내일 선생님의 **집**을 방문하겠어요
en: I will visit the teacher's **house** tomorrow
- ko: 저는 어제 **집**을 두 번 청소했어요
en: I cleaned the **house** twice yesterday
- ko: 엄마는 우리를 위해 점심을 **집**에서 만들 거예요
en: Mom will make lunch for us at **home**
- ko: 우리 엄마는 **집**에 와서 빨리 요리했습니다
en: Our/my mom came **home** and quickly cooked
- ko: 우리는 **집**에 와서 바로 잤어요
en: We came **home** and went to sleep immediately
- ko: "**집**에 가지 마!"
en: Don't go **home**!
- ko: 저는 세탁을 **집**에서 할 수 있어요
en: I can do laundry at **home**
- ko: 차
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-17.mp3
en: car
notes: The counter for automobiles is "대". See Lesson 10 for more information
examples:
- ko: 우리 아버지는 **차**를 항상 안전하게 운전해요
en: Our dad always drives his **car** safely
- ko: 저는 **차** 두 대가 있어요
en: I have two **cars**
- ko: "어떤 종류의 **차**를 원해요?"
en: What type of **car** do you want
- ko: "이 **차**는 너무 비싸요"
en: "This **car** is too expensive"
- ko: 저는 새로운 **차**를 샀어요
en: I bought a new **car**
- ko: 사람
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-18.mp3
en: person
notes: |
The formal version of 사람 is "분"
The counter for people is "명" (informal) or "분" (formal). See Lesson 10 for more information
examples:
- ko: 그 **사람**은 아주 똑똑해요
en: That **person** is very smart
- ko: 모든 아시아 **사람**들은 젓가락을 잘 쓴다
en: All Asian **people** use chopsticks well
- ko: 그 **사람**은 미국에서 왔어요
en: That **person** came from the United States
- ko: 저는 그 **사람**을 알아요
en: I know that **person**
- ko: 저 **사람**은 저의 동생이에요
en: That **person** is my younger sibling
- ko: 저는 그 **사람**을 싫어해요
en: I don't like that **person**
- ko: 한국 **사람**들은 보통 아주 착해요
en: Korean **people** are usually very nice
- ko: 책
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-19.mp3
en: book
notes: The word used to count books is "권"
examples:
- ko: 저는 좋은 **책**을 읽고 싶어요
en: I want to read a good **book**
- ko: 저는 그것에 대해 **책**을 쓸 거예요
en: I will write a **book** about it
- ko: 저는 친구에게 **책**을 돌려줬어요
en: I gave my friend back his **book**
- ko: 저는 **책** 두 권을 읽었어요
en: I read two **books**
- ko: 저는 그 **책**을 읽고 싶어요
en: I want to read that **book**
- ko: 그 학생은 하루 종일 **책**을 읽을 수 있어요
en: That student can read **books** all day
- ko: 이 박스에 **책**이 들어가 있어요
en: There are **books** in this box
- ko: 저는 누워서 **책**을 읽었어요
en: I lied down and read a **book**
- ko: 컴퓨터
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-20.mp3
en: computer
notes: Many new Korean words are simply English words with a Korean pronunciation pronouncing "컴퓨터" in Korean will sound like "computer"
examples:
- ko: "**컴퓨터**가 꺼져 있어요"
en: The **computer** is turned off
- ko: 저는 **컴퓨터**를 켰어요
en: I turned the **computer** on
- ko: "**컴퓨터**가 켜져 있어요"
en: The **computer** is (in the state of being) on
- ko: 그는 고장 난 **컴퓨터**를 수리했어요
en: He repaired the broken **computer**
- ko: 교실에서 선생님들을 **컴퓨터**로 대체할 수 없어요
en: You can't replace teachers with **computers** in the classroom
- ko: 나무
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-21.mp3
en: tree/wood
examples:
- ko: 저는 집을 **나무**로 지었어요
en: I made a house out of **wood**
- ko: 나는 우리 집을 **나무**로 지었어
en: I built our house out of **wood**
- ko: 대부분의 원숭이는 **나무**에서 살아요
en: Most monkeys live in **trees**
- ko: 아이들은 **나무** 주위에서 놀고 있어요
en: The children are playing around the **tree**
- ko: 소파
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-22.mp3
en: sofa
notes: |
Many new Korean words are simply English words with a Korean pronunciation pronouncing "소파" in Korean will sound like "sofa." Note that there is no way to pronounce the "F" sound in Korean. English words with an "F" that are borrowed to Korean usually use "ㅍ" to make the "F" sound.
examples:
- ko: 그는 **소파**에 앉아 있어요
en: He is sitting on the **couch**
- ko: 이 **소파**는 아주 편해요
en: This **sofa** is very comfortable
- ko: 애기는 높은 **소파**에서 떨어졌어요
en: The baby fell from the high **sofa**
- ko: 중국
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-23.mp3
en: China
examples:
- ko: 우리는 곧 **중국**에 갈 거예요
en: We are going to **China** soon
- ko: 그 사람은 **중국**에서 왔어요
en: That person came from **China**
- ko: 그 사람은 **중국**인이에요
en: That person is **Chinese**
- ko: "**중국** 사람들은 한국사람들보다 더 가난해요"
en: "**Chinese** people are poorer than Korean people"
- ko: 한국 사람과 **중국** 사람은 문화적으로 달라요
en: Korean and **Chinese** people are culturally different
- ko: 한국에는 황사가 **중국**에서 봄마다 와요
en: Yellow dust comes to Korea every spring from **China**
- ko: "**중국** 사람들은 소금을 쓰는 것 대신에 음식에 간장을 뿌려요"
en: Instead of using salt, **Chinese** people put soy sauce on their food
- ko: 일본
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-24.mp3
en: Japan
examples:
- ko: 그 사람은 **일본**에서 왔어요
en: That person is from **Japan**
- ko: "**일본**은 전쟁에서 한국을 공격했어요"
en: "**Japan** attacked Korea in the war"
- ko: 저는 **일본**에 스무 번 넘게 가 봤어요
en: I've been to **Japan** more than twenty times
- ko: 요즘에 한국 사람들은 **일본**에 별로 가고 싶지 않아요
en: These days, Korean people don't really want to go to **Japan**
- ko: 한국 집값은 **일본** 집값보다 훨씬 높아요
en: The price of Korean houses is much higher than the price of houses in **Japan**
- ko: "**일본**에서 성인들은 미국 청소년보다 만화책을 더 많이 읽어요"
en: "In **Japan**, adults read more comic books than young people in America"
- ko: 문
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-25.mp3
en: door
notes: |
On the subway, you will hear "내리실 문은 왼쪽/오른쪽이에요" – "The doors are on your left/right."
On the bus, you will see signs saying "문이 완전히 열릴 때까지 버스에서 내리거나 문에 기대지 마세요" – "Until the door is fully/completely open, don't get off the bus or lean on the door"
examples:
- ko: "**문**을 닫아야 돼요"
en: You have to close the **door**
- ko: 저는 **문**을 잠갔어요
en: I locked the **door**
- ko: 저는 **문**을 열 거예요
en: I will open the **door**
- ko: 너무 추워서 **문**을 닫았어요
en: I closed the **door** because it is too cold
- ko: "**문**이 완전히 열릴 때까지 버스에서 내리거나 문에 기대지 마세요"
en: Until the **door** is fully/completely open, don't get off the bus or lean on the **door**
- ko: 의사
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-26.mp3
en: doctor
notes: Korean people don't refer to people with a Ph.D. as "doctor." Instead, they use the term "박사(님)."
examples:
- ko: 저는 **의사**가 무서워요
en: I am afraid of **doctors**
- ko: "**의사**들은 돈이 많아요"
en: "**doctors** have a lot of money"
- ko: 저의 친구는 **의사**예요
en: My friend is a **doctor**
- ko: "**의사**들은 문제에 대해 과학적으로 생각했어요"
en: The **doctors** thought about the problem scientifically
- ko: 저는 정신과**의사**가 되려고 열심히 공부하고 있어요
en: I am studying hard to become a **psychiatrist**
- ko: 학생
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/vLesson-7-3.mp3
en: student
examples:
- ko: 저는 좋은 **학생**이에요
en: I am a good **student**
- ko: 저는 **학생**이 아니에요
en: I am not a **student**
- ko: 선생님은 내일 **학생**들을 만날 거야
en: The teacher will meet the **students** tomorrow
- ko: 저는 **학생**들이 실망스러웠어요
en: I was disappointed in the **students**
- ko: 저는 **학생**들에게 수업을 가르쳤어요
en: I taught the class to the **students**
- ko: "**선생님**은 **학생**들과 박물관에 갔다"
en: The teacher went to the museum with the **students**
other:
- ko: 이다
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-27.mp3
en: to be
notes: |
This is the first time you are being introduced to a word that must be conjugated in order to be used. Visit Lesson 5 for more information. Any word that ends in "다" must be conjugated to be used. The conjugation of 이다 is different than other words. I introduce all of these conjugations in Lesson 9.
"to be" can be many words in English. For example, I am, he is, they are, I was, they were. 이다 acts as all of these words.
examples:
- ko: 저는 예쁜 여자**예요**
en: I **am** a beautiful girl
- ko: 저 건물은 학교**입니다**
en: That building **is** a school
- ko: 그것은 사진**이에요**
en: That thing **is** a picture
- ko: 이 사람은 저의 누나**예요**
en: This (person) **is** my sister
- ko: 그것은 큰 비밀**이었어요**
en: That **was** a big secret
- ko: 저는 의사**였어요**
en: I **was** a doctor
- ko: 네
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-29.mp3
en: "yes"
notes: |
Informally, you can say "응" to mean "yes"
When speaking on the phone, Korean people often say this many times and pronounce it as "데"
examples:
- ko: "**네**, 저는 가고 싶어요"
en: "**Yes**, I want to go"
- ko: "**네**, 알겠습니다"
en: "**Yes**, okay. (I got it)"
- ko: "**네**, 그렇습니다"
en: "**Yes**, that is correct (that is the way it is)"
- ko: "**네**, 그럴게요"
en: "**Yes/Okay**, I will do that if that's what you want"
- ko: "**네**, 갔다 올게요"
en: "**Yes/Okay**, I will go, and then come back"
- ko: 아니
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-1-30.mp3
en: "no"
notes: |
In formal situations, "아니요" is more respectful
* **아니요**, 안 했어요 = **No**, I didn’t do it
Person 1: 숙소비가 얼마예요? 10만원? = How much is the lodging fee? 100,000 won?
Person 2: **아니요**. 10만원 조금 넘어요 = **No**. A little more than 100,000 won
examples:
- ko: "**아니요**, 안 했어요"
en: "**No**, I didn't do it"
- ko: "**아니요**. 10만원 조금 넘어요"
en: "**No**. A little more than 100,000 won"
---
# Lesson 1: Basic Korean Sentences
## Vocabulary
<VocabQuiz />
### Nouns
한국 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson1-1.mp3" /> = <span class="md spoiler">Korea</span>
@@ -29,9 +659,9 @@ Examples
- 저는 7년 동안 **한국**에서 살았어요 = <span class="md spoiler">I lived in **Korea** for seven years</span>
- 저는 내년에 **한국**에 갈 거예요 = <span class="md spoiler">I will go to **Korea** next year</span>
- 저의 어머니는 올해 **한국**에 올 것입니다 = <span class="md spoiler">My mom will come to **Korea** this year</span>
- 저는 한국어를 **한국**에서 배웠어요 = <span class="md spoiler">I learned Korean in <strong>Korea</strong></span>
- 고등학교는 **한국**에서 어려워요 = <span class="md spoiler">High school is difficult in <strong>Korea</strong></span>
- 그 집은 **한국**에서 지어졌어요 = <span class="md spoiler">that house was built in <strong>Korea</strong></span>
- 저는 한국어를 **한국**에서 배웠어요 = <span class="md spoiler">I learned Korean in **Korea**</span>
- 고등학교는 **한국**에서 어려워요 = <span class="md spoiler">High school is difficult in **Korea**</span>
- 그 집은 **한국**에서 지어졌어요 = <span class="md spoiler">that house was built in **Korea**</span>
- 저는 **한국**에서 살고 있어요 = <span class="md spoiler">I live in **Korea**</span>
</Details>
@@ -49,7 +679,7 @@ Common Usages:
Example:
- 서울은 큰 **도시**예요 = <span class="md spoiler">Seoul is a big <strong>city</strong></span>
- 서울은 큰 **도시**예요 = <span class="md spoiler">Seoul is a big **city**</span>
- 어느 **도시**에 갈 거예요? = <span class="md spoiler">What **city** are you going to go to?</span>
- 이 **도시**는 분위기가 좋아요 = <span class="md spoiler">This **city** has a good atmosphere</span>
- 서울 대신에 다른 **도시**에 갈 거예요? = <span class="md spoiler">Other than Seoul, will you go to another **city**?</span>
@@ -164,7 +794,7 @@ Examples
- 그는 잘생긴 **남자**예요 = <span class="md spoiler">He is a handsome **man**</span>
- **남자**는 방에 들어왔어요 = <span class="md spoiler">That **man** came into room</span>
- 저는 잘생긴 **남자**를 만났어요 = <span class="md spoiler">I met a handsome **man**</span>
- 저의 친구는 주로 남자예요 = <span class="md spoiler">My friends are mostly <strong>men</strong></span>
- 저의 친구는 주로 남자예요 = <span class="md spoiler">My friends are mostly **men**</span>
- 그 남자가 키가 너무 커요 = <span class="md spoiler">That **man** is very tall</span>
- 어떤 남자는 어제 여기에 왔어 = <span class="md spoiler">Some **man** came here yesterday</span>
@@ -183,7 +813,7 @@ Common Usages
Examples
- 그녀는 예쁜 **여자**예요 = <span class="md spoiler">She is a beautiful <strong>girl</strong></span>
- 그녀는 예쁜 **여자**예요 = <span class="md spoiler">She is a beautiful **girl**</span>
- 그 **여자**의 머리 색깔은 자연스러워요 = <span class="md spoiler">That **girl**’s hair color is natural</span>
- 저의 **여자** 친구는 귀엽고 예뻐요 = <span class="md spoiler">My **girl**friend is cute and pretty</span>
- 저는 그 **여자**를 사랑해요 = <span class="md spoiler">I love that **girl**</span>
@@ -282,7 +912,7 @@ Common Usages
- <TTS>이것</TTS> = <span class="md spoiler">this thing</span>
- <TTS>저것</TTS> = <span class="md spoiler">that thing</span>
- <TTS>그것</TTS> = <span class="md spoiler">that thing</span>
- ~는 것 principle (see [Lesson 26](https://www.howtostudykorean.com/unit-2-lower-intermediate-korean-grammar/unit-2-lessons-26-33/lesson-26/))
- ~는 것 principle (see [Lesson 26](../unit-2/26-describing-nouns-with-verbs.md))
Notes:
@@ -292,7 +922,7 @@ Not only used as a simple noun, but also used as a noun that can be described by
Examples
- 저는 비싼 **것**만 좋아해요 = <span class="md spoiler">I only like expensive <strong>things</strong></span>
- 저는 비싼 **것**만 좋아해요 = <span class="md spoiler">I only like expensive **things**</span>
- 그**것**을 어떻게 해요? = <span class="md spoiler">How do you do that (**thing**)?</span>
- 이**것**은 뭐야? = <span class="md spoiler">What is this (**thing**)?</span>
- 이**것**은 얼마예요? = <span class="md spoiler">How much is this (**thing**)?</span>
@@ -320,11 +950,11 @@ Common Usages:
Examples:
- **이것**은 뭐야? = <span class="md spoiler">What is **this (thing)**?</span>
- **이것**은 너무 작은가요? = <span class="md spoiler">Is **this** (**thing**) too small?</span>
- **이것**은 너무 작은가요? = <span class="md spoiler">Is **this (thing)** too small?</span>
- **이것**은 여권이야 = <span class="md spoiler">**This (thing)** is a passport</span>
- **이것**이 더 좋아요 = <span class="md spoiler">**This** (**thing**) is better</span>
- **이것**을 보셔요 = <span class="md spoiler">Look at <strong>this (thing)</strong></span>
- 이것을 먹어 봐! = <span class="md spoiler">Eat **this (thing)**! (Try eating **this (thing)**!)</span>
- **이것**이 더 좋아요 = <span class="md spoiler">**This (thing)** is better</span>
- **이것**을 보셔요 = <span class="md spoiler">Look at **this (thing)**</span>
- **이것**을 먹어 봐! = <span class="md spoiler">Eat **this (thing)**! (Try eating **this (thing)**!)</span>
- 모든 프린터 중에 **이것**이 제일 싸요 = <span class="md spoiler">Among all the printers, **this (one)** is the cheapest</span>
- **이것**을 다 작성해 주실래요? = <span class="md spoiler">Can you write all of **this** up for me?</span>
- **이것**은 처음이자 마지막 기회예요 = <span class="md spoiler">**This** is the first and last chance</span>
@@ -395,7 +1025,7 @@ Common Usages
Example
- 그녀는 **의자**에서 일어났어요 = <span class="md spoiler">She rose up from her <strong>chair</strong></span>
- 그녀는 **의자**에서 일어났어요 = <span class="md spoiler">She rose up from her **chair**</span>
- 고양이는 **의자** 밑에 있다 = <span class="md spoiler">The cat is under the **chair**</span>
- **의자**는 탁자보다 더 낮아요 = <span class="md spoiler">The **chair** is lower than the table</span>
- 저는 **의자**를 앞으로 움직였어요 = <span class="md spoiler">I moved my **chair** forward</span>
@@ -419,10 +1049,10 @@ Common Usages
Examples
- 저는 잡지를 **탁자** 위에 놓을 거예요 = <span class="md spoiler">I will put the magazine on the <strong>table</strong></span>
- 펜이 **탁자**에 놓여 있었어요 = <span class="md spoiler">The pen was (laying) on the <strong>table</strong></span>
- 의자는 **탁자**보다 더 낮아요 = <span class="md spoiler">The chair is lower than the <strong>table</strong></span>
- 밖에 나가기 전에 열쇠를 **탁자**에 두었어요 = <span class="md spoiler">Before I went outside, I put the keys on the <strong>table</strong></span>
- 저는 잡지를 **탁자** 위에 놓을 거예요 = <span class="md spoiler">I will put the magazine on the **table**</span>
- 펜이 **탁자**에 놓여 있었어요 = <span class="md spoiler">The pen was (laying) on the **table**</span>
- 의자는 **탁자**보다 더 낮아요 = <span class="md spoiler">The chair is lower than the **table**</span>
- 밖에 나가기 전에 열쇠를 **탁자**에 두었어요 = <span class="md spoiler">Before I went outside, I put the keys on the **table**</span>
- 이 **탁자**가 너무 낮아요 = <span class="md spoiler">This **table** is too low</span>
- 병이 **탁자**에서 떨어졌다 = <span class="md spoiler">The bottle fell from the **table**</span>
@@ -447,9 +1077,9 @@ Common Usages:
Examples
- 저는 **선생님**이 되고 싶어요 = <span class="md spoiler">I want to be a <strong>teacher</strong></span>
- 저는 **선생님**이 되고 싶어요 = <span class="md spoiler">I want to be a **teacher**</span>
- 저는 학교에서 저의 **선생님**을 항상 봐요 = <span class="md spoiler">I always see my **teacher** at school</span>
- 저는 **선생님**이에요 = <span class="md spoiler">I am a <strong>teacher</strong></span>
- 저는 **선생님**이에요 = <span class="md spoiler">I am a **teacher**</span>
- 저는 어제 **선생님**을 처음 만났어요 = <span class="md spoiler">I met my **teacher** for the first time yesterday</span>
- **선생님**들은 다 나갔어요 = <span class="md spoiler">All the **teachers** left (went out)</span>
- **선생님**은 학생들과 박물관에 갔다 = <span class="md spoiler">The **teacher** went to the museum with the students</span>
@@ -471,9 +1101,9 @@ Common usages:
Examples
- 애기는 **침대**에서 자고 있어요 = <span class="md spoiler">The baby is sleeping in the <strong>bed</strong></span>
- 애기는 **침대**에서 자고 있어요 = <span class="md spoiler">The baby is sleeping in the **bed**</span>
- 저는 **침대**에 누워 있어요 = <span class="md spoiler">I’m lying in **bed**</span>
- 저의 사진은 **침대** 위에 걸려 있어요 = <span class="md spoiler">My picture is hanging above my <strong>bed</strong></span>
- 저의 사진은 **침대** 위에 걸려 있어요 = <span class="md spoiler">My picture is hanging above my **bed**</span>
- 피곤한 사람은 **침대**에 누워서 잤어요 = <span class="md spoiler">The tired person lay on the **bed** and slept</span>
- 저는 **침대**에 잠깐 눕고 싶어요 = <span class="md spoiler">I want to lie down in **bed** for just a second</span>
@@ -500,7 +1130,7 @@ Examples
- **집** 값은 비싸지고 있어 = <span class="md spoiler">**House** prices are getting expensive</span>
- 저는 내일 선생님의 **집**을 방문하겠어요 = <span class="md spoiler">I will visit the teacher’s **house** tomorrow</span>
- 저는 어제 **집**을 두 번 청소했어요 = <span class="md spoiler">I cleaned the **house** twice yesterday</span>
- 엄마는 우리를 위해 점심을 **집**에서 만들 거예요 = <span class="md spoiler">Mom will make lunch for us at <strong>home</strong></span>
- 엄마는 우리를 위해 점심을 **집**에서 만들 거예요 = <span class="md spoiler">Mom will make lunch for us at **home**</span>
- 우리 엄마는 **집**에 와서 빨리 요리했습니다 = <span class="md spoiler">Our/my mom came **home** and quickly cooked</span>
- 우리는 **집**에 와서 바로 잤어요 = <span class="md spoiler">We came **home** and went to sleep immediately</span>
- **집**에 가지 마! = <span class="md spoiler">Don’t go **home**!</span>
@@ -561,9 +1191,9 @@ Examples
- 그 **사람**은 아주 똑똑해요 = <span class="md spoiler">That **person** is very smart</span>
- 모든 아시아 **사람**들은 젓가락을 잘 쓴다 = <span class="md spoiler">All Asian **people** use chopsticks well</span>
- 그 **사람**은 미국에서 왔어요 = <span class="md spoiler">That **person** came from the United States</span>
- 저는 그 **사람**을 알아요 = <span class="md spoiler">I know that <strong>person</strong></span>
- 저는 그 **사람**을 알아요 = <span class="md spoiler">I know that **person**</span>
- 저 **사람**은 저의 동생이에요 = <span class="md spoiler">That **person** is my younger sibling</span>
- 저는 그 **사람**을 싫어해요 = <span class="md spoiler">I don’t like that <strong>person</strong></span>
- 저는 그 **사람**을 싫어해요 = <span class="md spoiler">I don’t like that **person**</span>
- 한국 **사람**들은 보통 아주 착해요 = <span class="md spoiler">Korean **people** are usually very nice</span>
</Details>
@@ -591,11 +1221,11 @@ The word used to count books is “<TTS>권</TTS>”
Examples
- 저는 좋은 **책**을 읽고 싶어요 = <span class="md spoiler">I want to read a good <strong>book</strong></span>
- 저는 좋은 **책**을 읽고 싶어요 = <span class="md spoiler">I want to read a good **book**</span>
- 저는 그것에 대해 **책**을 쓸 거예요 = <span class="md spoiler">I will write a **book** about it</span>
- 저는 친구에게 **책**을 돌려줬어요 = <span class="md spoiler">I gave my friend back his **book**</span>
- 저는 **책** 두 권을 읽었어요 = <span class="md spoiler">I read two <strong>books</strong></span>
- 저는 그 **책**을 읽고 싶어요 = <span class="md spoiler">I want to read that <strong>book</strong></span>
- 저는 **책** 두 권을 읽었어요 = <span class="md spoiler">I read two **books**</span>
- 저는 그 **책**을 읽고 싶어요 = <span class="md spoiler">I want to read that **book**</span>
- 그 학생은 하루 종일 **책**을 읽을 수 있어요 = <span class="md spoiler">That student can read **books** all day</span>
- 이 박스에 **책**이 들어가 있어요 = <span class="md spoiler">There are **books** in this box</span>
- 저는 누워서 **책**을 읽었어요 = <span class="md spoiler">I lied down and read a **book**</span>
@@ -621,7 +1251,7 @@ Examples:
- **컴퓨터**가 꺼져 있어요 = <span class="md spoiler">The **computer** is turned off</span>
- 저는 **컴퓨터**를 켰어요 = <span class="md spoiler">I turned the **computer** on</span>
- **컴퓨터**가 켜져 있어요 = <span class="md spoiler">The **computer** is (in the state of being) on</span>
- 그는 고장 난 **컴퓨터**를 수리했어요 = <span class="md spoiler">He repaired the broken <strong>computer</strong></span>
- 그는 고장 난 **컴퓨터**를 수리했어요 = <span class="md spoiler">He repaired the broken **computer**</span>
- 교실에서 선생님들을 **컴퓨터**로 대체할 수 없어요 = <span class="md spoiler">You can’t replace teachers with **computers** in the classroom</span>
</Details>
@@ -640,9 +1270,9 @@ Common Usages:
Examples
- 저는 집을 **나무**로 지었어요 = <span class="md spoiler">I made a house out of <strong>wood</strong></span>
- 나는 우리 집을 **나무**로 지었어 = <span class="md spoiler">I built our house out of <strong>wood</strong></span>
- 대부분의 원숭이는 **나무**에서 살아요 = <span class="md spoiler">Most monkeys live in <strong>trees</strong></span>
- 저는 집을 **나무**로 지었어요 = <span class="md spoiler">I made a house out of **wood**</span>
- 나는 우리 집을 **나무**로 지었어 = <span class="md spoiler">I built our house out of **wood**</span>
- 대부분의 원숭이는 **나무**에서 살아요 = <span class="md spoiler">Most monkeys live in **trees**</span>
- 아이들은 **나무** 주위에서 놀고 있어요 = <span class="md spoiler">The children are playing around the **tree**</span>
</Details>
@@ -657,7 +1287,7 @@ Many new Korean words are simply English words with a Korean pronunciation prono
Example
- 그는 **소파**에 앉아 있어요 = <span class="md spoiler">He is sitting on the <strong>couch</strong></span>
- 그는 **소파**에 앉아 있어요 = <span class="md spoiler">He is sitting on the **couch**</span>
- 이 **소파**는 아주 편해요 = <span class="md spoiler">This **sofa** is very comfortable</span>
- 애기는 높은 **소파**에서 떨어졌어요 = <span class="md spoiler">The baby fell from the high **sofa**</span>
@@ -676,7 +1306,7 @@ Common Usages
Example:
- 우리는 곧 **중국**에 갈 거예요 = <span class="md spoiler">We are going to **China** soon</span>
- 그 사람은 **중국**에서 왔어요 = <span class="md spoiler">That person came from <strong>China</strong></span>
- 그 사람은 **중국**에서 왔어요 = <span class="md spoiler">That person came from **China**</span>
- 그 사람은 **중국**인이에요 = <span class="md spoiler">That person is **Chinese**</span>
- **중국** 사람들은 한국사람들보다 더 가난해요 = <span class="md spoiler">**Chinese** people are poorer than Korean people</span>
- 한국 사람과 **중국** 사람은 문화적으로 달라요 = <span class="md spoiler">Korean and **Chinese** people are culturally different</span>
@@ -699,12 +1329,9 @@ Example
- 그 사람은 **일본**에서 왔어요 = <span class="md spoiler">That person is from **Japan**</span>
- **일본**은 전쟁에서 한국을 공격했어요 = <span class="md spoiler">**Japan** attacked Korea in the war</span>
- 저는 **일본**에 스무 번 넘게 가 봤어요 = <span class="md spoiler">I’ve been to **Japan** more than twenty times</span>
- 요즘에 한국 사람들은 **일본**에 별로 가고 싶지 않아요
- <span class="md spoiler">These days, Korean people don’t really want to go to **Japan**</span>
- 한국 집값은 **일본** 집값보다 훨씬 높아요
- <span class="md spoiler">The price of Korean houses is much higher than the price of houses in **Japan**</span>
- **일본**에서 성인들은 미국 청소년보다 만화책을 더 많이 읽어요
- <span class="md spoiler">In **Japan**, adults read more comic books than young people in America</span>
- 요즘에 한국 사람들은 **일본**에 별로 가고 싶지 않아요 = <span class="md spoiler">These days, Korean people don’t really want to go to **Japan**</span>
- 한국 집값은 **일본** 집값보다 훨씬 높아요 = <span class="md spoiler">The price of Korean houses is much higher than the price of houses in **Japan**</span>
- **일본**에서 성인들은 미국 청소년보다 만화책을 더 많이 읽어요 = <span class="md spoiler">In **Japan**, adults read more comic books than young people in America</span>
</Details>
@@ -730,9 +1357,11 @@ Common Usages:
Example
- **문**을 닫아야 돼요 = <span class="md spoiler">You have to close the <strong>door</strong></span>
- 저는 **문**을 잠갔어요 = <span class="md spoiler">I locked the <strong>door</strong></span>
- 저는 **문**을 열 거예요 = <span class="md spoiler">I will open the <strong>door</strong></span>
- **문**을 닫아야 돼요 = <span class="md spoiler">You have to close the **door**</span>
# - 저는 **문**을 잠갔어요 = <span class="md spoiler">I locked the **door**</span>
- 저는 **문**을 열 거예요 = <span class="md spoiler">I will open the **door**</span>
- 너무 추워서 **문**을 닫았어요 = <span class="md spoiler">I closed the **door** because it is too cold</span>
- **문**이 완전히 열릴 때까지 버스에서 내리거나 문에 기대지 마세요 = <span class="md spoiler">Until the **door** is fully/completely open, don’t get off the bus or lean on the **door**</span>
@@ -781,11 +1410,11 @@ Common Usages:
Examples
- 저는 좋은 **학생**이에요 = <span class="md spoiler">I am a good <strong>student</strong></span>
- 저는 **학생**이 아니에요 = <span class="md spoiler">I am not a <strong>student</strong></span>
- 저는 좋은 **학생**이에요 = <span class="md spoiler">I am a good **student**</span>
- 저는 **학생**이 아니에요 = <span class="md spoiler">I am not a **student**</span>
- 선생님은 내일 **학생**들을 만날 거야 = <span class="md spoiler">The teacher will meet the **students** tomorrow</span>
- 저는 **학생**들이 실망스러웠어요 = <span class="md spoiler">I was disappointed in the <strong>students</strong></span>
- 저는 **학생**들에게 수업을 가르쳤어요 = <span class="md spoiler">I taught the class to the <strong>students</strong></span>
- 저는 **학생**들이 실망스러웠어요 = <span class="md spoiler">I was disappointed in the **students**</span>
- 저는 **학생**들에게 수업을 가르쳤어요 = <span class="md spoiler">I taught the class to the **students**</span>
- 선생님은 **학생**들과 박물관에 갔다 = <span class="md spoiler">The teacher went to the museum with the **students**</span>
</Details>
@@ -796,7 +1425,7 @@ Examples
<Details>
*This is the first time you are being introduced to a word that must be conjugated in order to be used. Visit [Lesson 5](./05-tenses.md) for more information. Any word that ends in “*다*” must be conjugated to be used. The conjugation of* 이다 _is different than other words. I introduce all of these conjugations in [Lesson 9](https://www.howtostudykorean.com/unit1/unit-1-lessons-9-16/unit-1-lesson-9/)._
*This is the first time you are being introduced to a word that must be conjugated in order to be used. Visit [Lesson 5](./05-tenses.md) for more information. Any word that ends in “*다*” must be conjugated to be used. The conjugation of* 이다 _is different than other words. I introduce all of these conjugations in [Lesson 9](./09-conjugate-이다.md)._
Common usages
@@ -810,12 +1439,12 @@ Notes
Examples:
- 저는 예쁜 여자**예요** = I **am** a beautiful girl
- 저 건물은 학교**입니다** = That building **is** a school
- 그것은 사진**이에요** = That thing **is** a picture
- 이 사람은 저의 누나**예요** = This (person) **is** my sister
- 그것은 큰 비밀**이었어요** = That **was** a big secret
- 저는 의사**였어요** = I **was** a doctor
- 저는 예쁜 여자**예요** = <span class="md spoiler">I **am** a beautiful girl</span>
- 저 건물은 학교**입니다** = <span class="md spoiler">That building **is** a school</span>
- 그것은 사진**이에요** = <span class="md spoiler">That thing **is** a picture</span>
- 이 사람은 저의 누나**예요** = <span class="md spoiler">This (person) **is** my sister</span>
- 그것은 큰 비밀**이었어요** = <span class="md spoiler">That **was** a big secret</span>
- 저는 의사**였어요** = <span class="md spoiler">I **was** a doctor</span>
</Details>
@@ -887,7 +1516,7 @@ The way to say “<span class="md spoiler">how are you?</span>” in Korean is:
- 잘 지내세요? <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2014/10/Lesson-1new6.mp3" /> = <span class="md spoiler">How are you?</span>
Although this is the most literal way to ask “how are you?” in Korean, it is not as common as the English expression. Korean people love food, and common way to greet somebody is to ask them if they have eaten. The idea of asking questions in Korean is taught in [Lesson 21](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-21-asking-questions-in-korean-why-when-where-and-who/).
Although this is the most literal way to ask “how are you?” in Korean, it is not as common as the English expression. Korean people love food, and common way to greet somebody is to ask them if they have eaten. The idea of asking questions in Korean is taught in [Lesson 21](./21-why-when-where-who.md).
The way to say “<span class="md spoiler">please</span>” in Korean is:
@@ -1110,7 +1739,7 @@ The focus of this lesson (and [Lessons 2](./02-particles.md), [3](./03-verbs.md)
The conjugation of sentences is very important, but so is the structure of sentences. When creating these lessons, I went back in forth many times thinking about which one I should present first. You can’t conjugate sentences if you don’t have a logical sentence to conjugate; and you can’t create a logical sentence if you don’t know how to conjugate it. In the end, I figured it would make more sense to present the information this way – where learners are introduced to sentence structure and then learn how to conjugate the words within the sentence.
Throughout all of my lessons, I use example sentences to show how grammar can be used. The example sentences in Lessons 1 – 4 are not conjugated. However, directly beneath each non-conjugated sentence is a conjugated version of the same sentence in parenthesis (one formal and one informal conjugation). You might want to glimpse at how the words are conjugated, but remember that this will be taught in [Lessons 5](./05-tenses.md) and [6](./06-honorifics.md) (for verbs and adjectives) and [Lesson 9](https://www.howtostudykorean.com/unit1/unit-1-lessons-9-16/unit-1-lesson-9/) (for 이다).
Throughout all of my lessons, I use example sentences to show how grammar can be used. The example sentences in Lessons 1 – 4 are not conjugated. However, directly beneath each non-conjugated sentence is a conjugated version of the same sentence in parenthesis (one formal and one informal conjugation). You might want to glimpse at how the words are conjugated, but remember that this will be taught in [Lessons 5](./05-tenses.md) and [6](./06-honorifics.md) (for verbs and adjectives) and [Lesson 9](./09-conjugate-이다.md) (for 이다).
---
+503 -38
View File
@@ -1,7 +1,472 @@
---
vocabulary:
nouns:
- ko: 나라
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-1.mp3
en: country
examples:
- ko: "어느 **나라**에서 왔어요?"
en: What **country** did you come from?
- ko: 미국은 민주적인 **나라**예요
en: The US is a democratic **nation**
- ko: 한국은 좋은 **나라**예요?
en: is Korea a good **country**?
- ko: 한국이 곧 좋은 **나라**가 될 것이다
en: Korea will become a good **country** soon
- ko: 한국은 다른 **나라**보다 땅이 작아요
en: Korea's land is small compared to other **countries**
- ko: 가방
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-2.mp3
en: bag/backpack
notes: This is used to refer to a backpack and also other types of bags like purses.
examples:
- ko: 이 **가방**은 너무 무거워요
en: This **bag** is too heavy
- ko: 이 **가방**은 가벼워요
en: This bag is light
- ko: 저는 **가방**을 들었어요
en: I carried the/my **bag**
- ko: 저는 **가방**을 어깨에 맸어요
en: I put the **bag** on my shoulders
- ko: 저는 **가방**에 책을 넣었어요
en: I put my books into my **backpack**
- ko: "**가방**을 아무 데나 두세요"
en: Put your **bag** down anywhere
- ko: 창문
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-3.mp3
en: window
examples:
- ko: 너무 더워서 **창문**을 열었어요
en: I opened a **window** because it is too hot
- ko: 저는 **창문** 너머에 봤어요
en: I looked through the **window**
- ko: 저는 팔을 **창문** 너머로 내밀었어요
en: I stuck my arm through the **window**
- ko: "**창문**이 커튼으로 가려져 있어요"
en: The **window** is covered by the curtains
- ko: 아버지는 **창문**을 잠갔어요
en: Dad locked the **window**
- ko: 잡지
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/02/Lesson2vocab-magazine.mp3
en: magazine
notes: The pronunciation of this word is closer to "잡찌"
examples:
- ko: 저는 **잡지**를 읽었어요
en: I read a **magazine**
- ko: 저는 **잡지**를 탁자 위에 놓을 거예요
en: I will put the **magazine** on the table
- ko: 이 **잡지**를 가져가도 돼요?
en: May I take this **magazine**?
- ko: 방
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-5.mp3
en: room
examples:
- ko: 저의 **방**은 너무 좁아요
en: My **room** is too small/narrow
- ko: 이 **방**은 좁아요
en: This **room** is narrow
- ko: 남자는 **방**에 들어왔어요
en: That man came into **room**
- ko: 저 책상은 이 **방**에 알맞아요
en: That desk looks good in this **room**
- ko: 저는 어제 저의 **방**을 청소했어요
en: I cleaned my **room** yesterday
- ko: 냉장고
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-6.mp3
en: refrigerator
notes: The word for "freezer" is 냉동실.
examples:
- ko: 저는 야채를 **냉장고**에 넣었어요
en: I put the vegetables in the **fridge**
- ko: 자석을 **냉장고**에 그냥 붙여 놓았어요
en: I just stuck the magnet onto the **fridge**
- ko: 저는 당근을 칼로 잘라서 **냉장고**에 넣었어요
en: I cut carrots with a knife and then put them into the **fridge**
- ko: 개
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-7.mp3
en: dog
notes: The word "강아지" is usually used for dogs that are pets.
examples:
- ko: "**개**는 고양이랑 쥐보다 더 커요"
en: "**Dogs** are bigger than cats and mice"
- ko: "**개**는 집 안에 있어요"
en: The **dog** is in the house
- ko: 강아지
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-8.mp3
en: puppy
notes: |
The word "개" is usually used for dogs that are not pets.
The counter for animals is "마리." See Lesson 10 for more information.
The sound a dog makes in Korean is "멍멍." This is like saying "woof woof" in English.
examples:
- ko: 어렸을 때 **강아지**를 키우고 싶었어요
en: When I was young, I wanted to raise a **puppy**
- ko: 저는 저의 **강아지**를 묻었어요
en: I buried my **dog**
- ko: 그 **강아지**의 주인은 누구예요?
en: Who is the owner of that **dog**?
- ko: 고양이는 **강아지**와 달라요
en: Cats are different than **dogs**
- ko: 그 **강아지**의 꼬리는 아주 귀여워요
en: That **puppy's** tail is very cute
- ko: 경찰관은 **강아지**의 주인에게 십만 원의 벌금을 물렸어요
en: The police officers gave the owner of the **dog** a 100 000 won fine
- ko: "**강아지**는 무서워서 죽는 척했어요"
en: The **dog/puppy** pretended to be dead because it was scared
- ko: 고양이
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-9.mp3
en: cat
notes: The sound a cat makes in Korean is "야옹." This is like saying "meow" in English.
examples:
- ko: "**고양이**는 강아지와 달라요"
en: "**Cats** are different than dogs"
- ko: "**고양이**는 의자 밑에 있어요"
en: The **cat** is under the chair
- ko: 개는 **고양이**랑 쥐보다 더 커요
en: Dogs are bigger than **cats** and mice
- ko: 어미를 찾아도 이미 **고양이** 새끼가 다 죽었어요
en: Regardless of if you find the mother, the baby **cats** (kittens) all died
- ko: 쥐
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-10.mp3
en: rat, mouse
examples:
- ko: "**쥐**는 너무 더러워요"
en: "**Rats** are very dirty"
- ko: 저는 **쥐**를 들었어요
en: I heard a **mouse**
- ko: 개는 고양이랑 **쥐**보다 더 커요
en: Dogs are bigger than cats and **mice**
- ko: 우리 아빠가 **쥐**를 집에서 한 마리씩 쫓아냈어요
en: Our dad chased the **rats** out of our house one by one
- ko: 펜
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-11.mp3
en: pen
examples:
- ko: 저는 그것을 **펜**으로 썼어요
en: I wrote that with a **pen**
- ko: 나는 **펜** 네 개를 샀어
en: I bought four **pens**
- ko: 나는 **펜**을 가지고 있어
en: I have a **pen**
- ko: 전화기
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-12.mp3
en: phone
notes: |
A 전화기 usually refers to a typical land-line style phone that nobody uses anymore, and thus, is not said as often as it used to be said. A more common word to use is "핸드폰" (hand-phone, or cell-phone)
examples:
- ko: 요즘에 아무도 **전화기**를 안 써요
en: These days, nobody uses a **phone**
- ko: 커피
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-13.mp3
en: coffee
notes: |
Notice that there is no "F" in Korean, and thus, Korean people use "ㅍ" to make the "F" sound
examples:
- ko: 저는 친구들이랑 **커피**를 마셨어요
en: I drank **coffee** with my friends
- ko: 스타벅스 **커피**가 너무 달아요
en: Starbucks **coffee** is too sweet
- ko: "**커피**에 설탕을 안 넣어도 돼요"
en: I/you don't need to put sugar in my/your **coffee**
- ko: 저는 **커피**를 낮에만 마셔요
en: I drink **coffee** only during the day
- ko: 식당
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-14.mp3
en: restaurant
notes: |
The pronunciation of this word is closer to "식땅"
The Konglish word 레스토랑 is commonly used as well.
examples:
- ko: 좋은 **식당**에 가고 싶어요
en: I want to go to a good **restaurant**
- ko: "**식당**은 은행 옆에 있어요"
en: The **restaurant** is beside the bank
- ko: 우리학교에서 **식당**까지 10분 걸려요
en: It takes 10 minutes to get from our school to the **restaurant**
- ko: 호텔에 **식당**이 있어요
en: There is a **restaurant** in the hotel
- ko: 그 **식당**이 오래되었다
en: That **restaurant** is old
- ko: 우리 아버지는 **식당**에 실망했어요
en: Our dad was disappointed in the **restaurant**
- ko: 저는 **식당**에서 혼자서 먹었어요
en: I ate by myself (alone) at the **restaurant**
- ko: 건물
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-15.mp3
en: building
notes: |
This word appears in my Korean Sign Explanation Video 4
<YouTube id="M7YRA_3Betw" />
examples:
- ko: 그 **건물**은 너무 높아요
en: That **building** is very high
- ko: 그 **건물**은 어제와 달라요
en: That **building** is different from yesterday
- ko: 저 학교는 역사적인 **건물**이에요
en: That school is a historical **building**
- ko: 한국은 문화적인 **건물**이 많아요
en: Korea has a lot of cultural **buildings**
- ko: "**건물**을 지나가서 오른 쪽으로 가세요"
en: Go past the **building**, then go right
- ko: 텔레비전
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-16.mp3
en: television
notes: |
Originates from the English pronunciation of "Television."
This is often shortened to "TV" which sounds like "티비" in Korean.
examples:
- ko: "**텔레비전**을 오랫동안 보지 마세요!"
en: Don't watch **TV** for a long time!
- ko: 미국
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-17.mp3
en: USA
examples:
- ko: "**미국** 사람이에요?"
en: Are you an **American**?
- ko: 저는 다음 주에 **미국**에 갈 거예요
en: I will go to the **US** next week
- ko: 우리는 이틀 동안 **미국**에 있었어요
en: We were in **America** for two days
- ko: 저는 1년에 두 번 **미국**에 가요
en: I go to **America** twice per year
- ko: "**미국**은 대통령을 민주적으로 선출해요"
en: "**America** elects its president democratically"
- ko: 캐나다와 **미국**이 문화적인 차이가 있다
en: Canada and the **US** have a cultural difference
- ko: 저는 **미국**에서 친구를 만날 거예요
en: I will meet a friend in **America**
- ko: 캐나다
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-18.mp3
en: Canada
examples:
- ko: 저는 **캐나다**에서 왔어요
en: I am from **Canada**
- ko: 저는 **캐나다**에 가고 싶어요
en: I want to go to **Canada**
- ko: "**캐나다**는 미국과 같아요"
en: "**Canada** is like the US"
- ko: 부장님! 혹시 **캐나다**에 언제 가실 거예요?
en: Boss! When are you going to **Canada**?
- ko: "**캐나다** 사람들은 땅콩을 많이 먹어요"
en: "**Canadians** eat a lot of peanuts"
- ko: 저는 **캐나다**에서 유학했어요
en: I studied abroad in **Canada**
- ko: "**캐나다**에 언제 돌아올 거예요?"
en: When are you coming back to **Canada**?
- ko: 저는 **캐나다**에서 태어났어요
en: I was born in **Canada**
- ko: 호텔
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-19.mp3
en: hotel
examples:
- ko: "**호텔**에 식당이 있어요"
en: There is a restaurant in the **hotel**
- ko: "**호텔**은 학교 옆에 있어요"
en: The **hotel** is beside the school
- ko: 학교
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-20.mp3
en: school
notes: The pronunciation of this word is closer to "학꾜"
examples:
- ko: 저는 **학교**에서 공부했어요
en: I studied at the **school**
- ko: 저는 **학교** 안에 있어요
en: I am inside the **school**
- ko: 저는 내일 **학교**에 갈 것입니다
en: I will go to **school** tomorrow
- ko: 어제 **학교**에 몇 번 갔어요?
en: How many times did you go to **school** yesterday?
- ko: 저는 3일 동안 **학교**에 안 갔어요
en: I didn't go to **school** for 3 days
- ko: "**학교**는 학생들한테 교과서를 제공하지 않아요"
en: The **school** doesn't provide textbooks to the students
- ko: 우리 **학교**가 세운 지 10주년이에요
en: It is the 10th anniversary of our **school** opening
- ko: 은행
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-21.mp3
en: bank
examples:
- ko: 호텔은 **은행** 옆에 있어요
en: The hotel is beside the **bank**
- ko: 아버지는 **은행**에 들어갔어요
en: My dad went into the **bank**
- ko: 저의 친구는 **은행** 안에 있어요
en: My friend is in the **bank**
- ko: 저는 친구를 만나고 나서 **은행**에 갈 거예요
en: I will meet a friend and then go to the **bank**
- ko: 친구가 오기 전에 저는 **은행**에 갔어요
en: Before my friend came, I went to the **bank**
adverbs:
- ko: 안
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-22.mp3
en: inside
notes: |
Position words are typically placed after a noun to indicate in which direction in reference to that noun something occurs. ~에 is typically attached to a word of position. For example: "저의 친구는 은행 안에 있어요" = "My friend is in the bank"
안 can also be used to indicate that some action is completed "within" or "inside" a time period. This usage is discussed in Lesson 24. For example: "우리는 한 시간 안에 그 일을 끝내야 돼요" = "We need to finish that job/task within one hour"
examples:
- ko: 저의 친구는 은행 **안**에 있어요
en: My friend is **in** the bank
- ko: 개는 집 **안**에 있어요
en: The dog is **in** the house
- ko: 우리는 한 시간 **안**에 그 일을 끝내야 돼요
en: We need to finish that job/task **within** one hour
- ko: 위
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-23.mp3
en: on top
notes: ㅅ is often added to 위 as a 받침. This is discussed in Lesson 131.
examples:
- ko: 잡지는 탁자 **위**에 있어요
en: The magazine is **on** the table
- ko: 우리 집은 언덕 **위**에 있어요
en: Our house is **on top** of the hill
- ko: 새는 구름 **위**에 날고 있어요
en: The bird is flying **above** the clouds
- ko: 밑
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-24.mp3
en: below
examples:
- ko: 고양이는 의자 **밑**에 있어요
en: The cat is **below** the chair
- ko: 옆
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-25.mp3
en: beside
examples:
- ko: 학교는 은행 **옆**에 있어요
en: The school is **next to** the bank
- ko: 은행이 학교 바로 **옆**에 있어요
en: The bank is right (immediately) **next** **to** the school
- ko: 강 **옆**에 큰 산이 있어요
en: There is a big mountain **next** **to** the river
- ko: 저는 병원을 공원 **옆**에 지었어요
en: I built a hospital **beside** the park
- ko: 나는 학교 **옆**에 서 있어
en: I'm standing **next** **to** the school
- ko: 뒤
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-26.mp3
en: behind
notes: ㅅ is often added to 뒤 as a 받침. This is discussed in Lesson 131.
examples:
- ko: 병원은 박물관 **뒤**에 있어요
en: The hospital is **behind** the museum
- ko: 저는 학교 **뒤**에 있어요
en: I am **behind** the school
- ko: 저는 큰 박스 **뒤**에 숨었어요
en: I hid **behind** a big box
- ko: 앞
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-27.mp3
en: in front
examples:
- ko: 집은 가게 **앞**에 있어요
en: The house is **in-front** of the store
- ko: 저는 집 **앞**에 있는 눈을 다 치웠어요
en: I cleaned up the snow **in-front** of the house
- ko: 여기
audio: https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-28.mp3
en: here
notes: |
The placement of "~에" is usually assumed and therefore omitted. 여기 and ~에서 combine to form 여기서
examples:
- ko: "**여기에** 빨리 오세요!"
en: Come **here** quick!
- ko: 어떤 남자는 어제 **여기**에 왔어
en: Some man came **here** yesterday
- ko: 친구를 만나기 위해 **여기**로 왔어
en: I came **here** to meet a friend
- ko: 할아버지가 **여기에** 계신지 몰랐어요
en: I didn't know you were **here**, grandpa
- ko: 저의 친구는 (**여기**) 근처에 살아요
en: My friend lives close (to **here**)
- ko: "**여기서** 산이 안 보여"
en: I can't see the mountains from **here**
- ko: "**여기에** 주소를 써 주세요"
en: Please write your address **here**
- ko: 저는 **여기에** 한 달에 세 번 와요
en: I come **here** three times per month
- ko: 저는 오늘 이 책을 **여기**까지 읽었어요
en: Today, I read up to **here** in this book
- ko: "사과도 **여기서** 파나요?"
en: Do you sell apples **here** too?
- ko: "**여기**부터 서울까지 두 시간 30분만 걸려요"
en: It only takes two and a half hours to get from **here** to Seoul
- ko: 친구를 만나러 **여기**로 왔어요
en: I came **here** to meet a friend
verbs:
- ko: 있다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/12/Lesson2vocabtobeat.mp3
en: to be at a location
notes: |
~에 is typically attached to the location where something/somebody is. For more information, see the explanation in of this lesson.
examples:
- ko: 저는 은행에 **있어요**
en: I am **at** the bank
- ko: 개는 집 안에 **있어요**
en: The dog **is** in the house
- ko: 엄마가 어디에 **있어요**? 병원에 갔어요?
en: Where **is** mom? Did she go to the hospital?
- ko: 서울에 **있는** 공연을 보러 갈래요?
en: Shall we go to the show **in** Seoul?
- ko: 내가 한국에 **있**을 때마다 한국어로 말하고 싶어
en: Every time I **am** **in** Korea, I want to speak Korean
adjectives:
- ko: 있다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/12/Lesson2vocabtobeat.mp3
en: to have something
notes: |
~이/가 must be attached to the object that is being possessed. For more information, visit Lesson 2.
examples:
- ko: 저는 펜이 **있어요**
en: I **have** a pen
- ko: 저는 많은 돈이 **있어요**
en: I **have** a lot of money
- ko: "질문이 **있어요**?"
en: Do you **have** a question?
- ko: 저는 내일 할 일이 **있어요**
en: I **have** something I need to do tomorrow
- ko: 한국에서는 모든 집에 밥솥이 **있어요**
en: All houses in Korea **have** a rice cooker
---
# Lesson 2: Korean Particles 이/가
## Vocabulary
<VocabQuiz />
### Nouns
나라 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2014/01/wLesson-2-1.mp3" /> = <span class="md spoiler">country</span>
@@ -15,7 +480,7 @@ Common Usages:
Examples:
- 어느 **나라**에서 왔어요? = <span class="md spoiler">What **country** did you come from?</span>
- 미국은 민주적인 **나라**예요 = <span class="md spoiler">The US is a democratic <strong>nation</strong></span>
- 미국은 민주적인 **나라**예요 = <span class="md spoiler">The US is a democratic **nation**</span>
- 한국은 좋은 **나라**예요? = <span class="md spoiler">is Korea a good **country**?</span>
- 한국이 곧 좋은 **나라**가 될 것이다 = <span class="md spoiler">Korea will become a good **country** soon</span>
- 한국은 다른 **나라**보다 땅이 작아요 = <span class="md spoiler">Korea’s land is small compared to other **countries**</span>
@@ -40,7 +505,7 @@ Example:
- 이 **가방**은 너무 무거워요 = <span class="md spoiler">This **bag** is too heavy</span>
- 이 **가방**은 가벼워요 = <span class="md spoiler">This bag is light</span>
- 저는 **가방**을 들었어요 = <span class="md spoiler">I carried the/my <strong>bag</strong></span>
- 저는 **가방**을 들었어요 = <span class="md spoiler">I carried the/my **bag**</span>
- 저는 **가방**을 어깨에 맸어요 = <span class="md spoiler">I put the **bag** on my shoulders</span>
- 저는 **가방**에 책을 넣었어요 = <span class="md spoiler">I put my books into my **backpack**</span>
- **가방**을 아무 데나 두세요 = <span class="md spoiler">Put your **bag** down anywhere</span>
@@ -60,7 +525,7 @@ Common Usages:
Examples:
- 너무 더워서 **창문**을 열었어요 = <span class="md spoiler">I opened a **window** because it is too hot</span>
- 저는 **창문** 너머에 봤어요 = <span class="md spoiler">I looked through the <strong>window</strong></span>
- 저는 **창문** 너머에 봤어요 = <span class="md spoiler">I looked through the **window**</span>
- 저는 팔을 **창문** 너머로 내밀었어요 = <span class="md spoiler">I stuck my arm through the **window**</span>
- **창문**이 커튼으로 가려져 있어요 = <span class="md spoiler">The **window** is covered by the curtains</span>
- 아버지는 **창문**을 잠갔어요 = <span class="md spoiler">Dad locked the **window**</span>
@@ -83,7 +548,7 @@ Common Usages
Example:
- 저는 **잡지**를 읽었어요 = <span class="md spoiler">I read a <strong>magazine</strong></span>
- 저는 **잡지**를 읽었어요 = <span class="md spoiler">I read a **magazine**</span>
- 저는 **잡지**를 탁자 위에 놓을 거예요 = <span class="md spoiler">I will put the **magazine** on the table</span>
- 이 **잡지**를 가져가도 돼요? = <span class="md spoiler">May I take this **magazine**?</span>
@@ -109,7 +574,7 @@ Examples:
- 저의 **방**은 너무 좁아요 = <span class="md spoiler">My **room** is too small/narrow</span>
- 이 **방**은 좁아요 = <span class="md spoiler">This **room** is narrow</span>
- 남자는 **방**에 들어왔어요 = <span class="md spoiler">That man came into <strong>room</strong></span>
- 남자는 **방**에 들어왔어요 = <span class="md spoiler">That man came into **room**</span>
- 저 책상은 이 **방**에 알맞아요 = <span class="md spoiler">That desk looks good in this **room**</span>
- 저는 어제 저의 **방**을 청소했어요 = <span class="md spoiler">I cleaned my **room** yesterday</span>
@@ -129,8 +594,8 @@ Common Usages:
Examples:
- 저는 야채를 **냉장고**에 넣었어요 = <span class="md spoiler">I put the vegetables in the <strong>fridge</strong></span>
- 자석을 **냉장고**에 그냥 붙여 놓았어요 = <span class="md spoiler">I just stuck the magnet onto the <strong>fridge</strong></span>
- 저는 야채를 **냉장고**에 넣었어요 = <span class="md spoiler">I put the vegetables in the **fridge**</span>
- 자석을 **냉장고**에 그냥 붙여 놓았어요 = <span class="md spoiler">I just stuck the magnet onto the **fridge**</span>
- 저는 당근을 칼로 잘라서 **냉장고**에 넣었어요 = <span class="md spoiler">I cut carrots with a knife and then put them into the **fridge**</span>
</Details>
@@ -157,16 +622,16 @@ Notes:
The word “개” is usually used for dogs that are not pets.
The counter for animals is “<TTS>마리</TTS>.” See [Lesson 10](https://www.howtostudykorean.com/unit1/unit-1-lessons-9-16/unit-1-lesson-10/) for more information.
The counter for animals is “<TTS>마리</TTS>.” See [Lesson 10](./10-numbers.md) for more information.
The sound a dog makes in Korean is “<TTS>멍멍</TTS>.” This is like saying “woof woof” in English.
Examples:
- 어렸을 때 **강아지**를 키우고 싶었어요 = <span class="md spoiler">When I was young, I wanted to raise a <strong>puppy</strong></span>
- 저는 저의 **강아지**를 묻었어요 = <span class="md spoiler">I buried my <strong>dog</strong></span>
- 어렸을 때 **강아지**를 키우고 싶었어요 = <span class="md spoiler">When I was young, I wanted to raise a **puppy**</span>
- 저는 저의 **강아지**를 묻었어요 = <span class="md spoiler">I buried my **dog**</span>
- 그 **강아지**의 주인은 누구예요? = <span class="md spoiler">Who is the owner of that **dog**?</span>
- 고양이는 **강아지**와 달라요 = <span class="md spoiler">Cats are different than <strong>dogs</strong></span>
- 고양이는 **강아지**와 달라요 = <span class="md spoiler">Cats are different than **dogs**</span>
- 그 강아지의 꼬리는 아주 귀여워요 = <span class="md spoiler">That **puppy’s** tail is very cute</span>
- 경찰관은 **강아지**의 주인에게 십만 원의 벌금을 물렸어요 = <span class="md spoiler">The police officers gave the owner of the **dog** a 100 000 won fine</span>
- **강아지**는 무서워서 죽는 척했어요 = <span class="md spoiler">The **dog/puppy** pretended to be dead because it was scared</span>
@@ -203,8 +668,8 @@ Common Usages:
Example:
- **쥐**는 너무 더러워요 = <span class="md spoiler">**Rats** are very dirty</span>
- 저는 **쥐**를 들었어요 = <span class="md spoiler">I heard a <strong>mouse</strong></span>
- 개는 고양이랑 **쥐**보다 더 커요 = <span class="md spoiler">Dogs are bigger than cats and <strong>mice</strong></span>
- 저는 **쥐**를 들었어요 = <span class="md spoiler">I heard a **mouse**</span>
- 개는 고양이랑 **쥐**보다 더 커요 = <span class="md spoiler">Dogs are bigger than cats and **mice**</span>
- 우리 아빠가 **쥐**를 집에서 한 마리씩 쫓아냈어요 = <span class="md spoiler">Our dad chased the **rats** out of our house one by one</span>
</Details>
@@ -220,8 +685,8 @@ Common Usages:
Examples:
- 저는 그것을 **펜**으로 썼어요 = <span class="md spoiler">I wrote that with a <strong>pen</strong></span>
- 나는 **펜** 네 개를 샀어 = <span class="md spoiler">I bought four <strong>pens</strong></span>
- 저는 그것을 **펜**으로 썼어요 = <span class="md spoiler">I wrote that with a **pen**</span>
- 나는 **펜** 네 개를 샀어 = <span class="md spoiler">I bought four **pens**</span>
- 나는 **펜**을 가지고 있어 = <span class="md spoiler">I have a **pen**</span>
</Details>
@@ -259,7 +724,7 @@ Example:
- 저는 친구들이랑 **커피**를 마셨어요 = <span class="md spoiler">I drank **coffee** with my friends</span>
- 스타벅스 **커피**가 너무 달아요 = <span class="md spoiler">Starbucks **coffee** is too sweet</span>
- **커피**에 설탕을 안 넣어도 돼요 = <span class="md spoiler">I/you don’t need to put sugar in my/your <strong>coffee</strong></span>
- **커피**에 설탕을 안 넣어도 돼요 = <span class="md spoiler">I/you don’t need to put sugar in my/your **coffee**</span>
- 저는 **커피**를 낮에만 마셔요 = <span class="md spoiler">I drink **coffee** only during the day</span>
</Details>
@@ -283,10 +748,10 @@ Examples:
- 좋은 **식당**에 가고 싶어요 = <span class="md spoiler">I want to go to a good **restauran**t</span>
- **식당**은 은행 옆에 있어요 = <span class="md spoiler">The **restaurant** is beside the bank</span>
- 우리학교에서 **식당**까지 10분 걸려요 = <span class="md spoiler">It takes 10 minutes to get from our school to the <strong>restaurant</strong></span>
- 우리학교에서 **식당**까지 10분 걸려요 = <span class="md spoiler">It takes 10 minutes to get from our school to the **restaurant**</span>
- 호텔에 **식당**이 있어요 = <span class="md spoiler">There is a **restaurant** in the hotel</span>
- 그 **식당**이 오래되었다 = <span class="md spoiler">That **restaurant** is old</span>
- 우리 아버지는 **식당**에 실망했어요 = <span class="md spoiler">Our dad was disappointed in the <strong>restaurant</strong></span>
- 우리 아버지는 **식당**에 실망했어요 = <span class="md spoiler">Our dad was disappointed in the **restaurant**</span>
- 저는 **식당**에서 혼자서 먹었어요 = <span class="md spoiler">I ate by myself (alone) at the **restaurant**</span>
</Details>
@@ -304,7 +769,7 @@ Examples:
- 그 **건물**은 너무 높아요 = <span class="md spoiler">That **building** is very high</span>
- 그 **건물**은 어제와 달라요 = <span class="md spoiler">That **building** is different from yesterday</span>
- 저 학교는 역사적인 **건물**이에요 = <span class="md spoiler">That school is a historical <strong>building</strong></span>
- 저 학교는 역사적인 **건물**이에요 = <span class="md spoiler">That school is a historical **building**</span>
- 한국은 문화적인 **건물**이 많아요 = <span class="md spoiler">Korea has a lot of cultural **buildings**</span>
- **건물**을 지나가서 오른 쪽으로 가세요 = <span class="md spoiler">Go past the **building**, then go right</span>
@@ -369,7 +834,7 @@ Common Usages:
Example:
- 저는 **캐나다**에서 왔어요 = <span class="md spoiler">I am from <strong>Canada</strong></span>
- 저는 **캐나다**에서 왔어요 = <span class="md spoiler">I am from **Canada**</span>
- 저는 **캐나다**에 가고 싶어요 = <span class="md spoiler">I want to go to **Canada**</span>
- **캐나다**는 미국과 같아요 = <span class="md spoiler">**Canada** is like the US</span>
- 부장님! 혹시 **캐나다**에 언제 가실 거예요? = <span class="md spoiler">Boss! When are you going to **Canada**?</span>
@@ -390,8 +855,8 @@ Common Usages:
Examples:
- **호텔**에 식당이 있어요 = There is a restaurant in the **hotel**
- **호텔**은 학교 옆에 있어요 = The **hotel** is beside the school
- **호텔**에 식당이 있어요 = <span class="md spoiler">There is a restaurant in the **hotel**</span>
- **호텔**은 학교 옆에 있어요 = <span class="md spoiler">The **hotel** is beside the school</span>
</Details>
@@ -411,8 +876,8 @@ Common Usages:
Examples:
- 저는 **학교**에서 공부했어요 = <span class="md spoiler">I studied at the <strong>school</strong></span>
- 저는 **학교** 안에 있어요 = <span class="md spoiler">I am inside the <strong>school</strong></span>
- 저는 **학교**에서 공부했어요 = <span class="md spoiler">I studied at the **school**</span>
- 저는 **학교** 안에 있어요 = <span class="md spoiler">I am inside the **school**</span>
- 저는 내일 **학교**에 갈 것입니다 = <span class="md spoiler">I will go to **school** tomorrow</span>
- 어제 **학교**에 몇 번 갔어요? = <span class="md spoiler">How many times did you go to **school** yesterday?</span>
- 저는 3일 동안 **학교**에 안 갔어요 = <span class="md spoiler">I didn’t go to **school** for 3 days</span>
@@ -434,10 +899,10 @@ Common Usages:
Examples:
- 호텔은 **은행** 옆에 있어요 = <span class="md spoiler">The hotel is beside the <strong>bank</strong></span>
- 아버지는 **은행**에 들어갔어요 = <span class="md spoiler">My dad went into the <strong>bank</strong></span>
- 저의 친구는 **은행** 안에 있어요 = <span class="md spoiler">My friend is in the <strong>bank</strong></span>
- 저는 친구를 만나고 나서 **은행**에 갈 거예요 = <span class="md spoiler">I will meet a friend and then go to the <strong>bank</strong></span>
- 호텔은 **은행** 옆에 있어요 = <span class="md spoiler">The hotel is beside the **bank**</span>
- 아버지는 **은행**에 들어갔어요 = <span class="md spoiler">My dad went into the **bank**</span>
- 저의 친구는 **은행** 안에 있어요 = <span class="md spoiler">My friend is in the **bank**</span>
- 저는 친구를 만나고 나서 **은행**에 갈 거예요 = <span class="md spoiler">I will meet a friend and then go to the **bank**</span>
- 친구가 오기 전에 저는 **은행**에 갔어요 = <span class="md spoiler">Before my friend came, I went to the **bank**</span>
</Details>
@@ -460,7 +925,7 @@ Position words are typically placed after a noun to indicate in which direction
- 저의 친구는 은행 **안**에 있어요 = <span class="md spoiler">My friend is **in** the bank</span>
- 개는 집 **안**에 있어요 = <span class="md spoiler">The dog is **in** the house</span>
안 can also be used to indicate that some action is completed “within” or “inside” a time period. This usage is discussed in [Lesson 24](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-24/). For example:
안 can also be used to indicate that some action is completed “within” or “inside” a time period. This usage is discussed in [Lesson 24](./24-before-after-since-within.md). For example:
- 우리는 한 시간 **안**에 그 일을 끝내야 돼요 = <span class="md spoiler">We need to finish that job/task **within** one hour</span>
@@ -574,7 +1039,7 @@ Examples:
- 할아버지가 **여기에** 계신지 몰랐어요 = <span class="md spoiler">I didn’t know you were **here**, grandpa</span>
- 저의 친구는 (**여기**) 근처에 살아요 = <span class="md spoiler">My friend lives close (to **here**)</span>
- **여기서** 산이 안 보여 = <span class="md spoiler">I can’t see the mountains from **here**</span>
- **여기에** 주소를 써 주세요 = <span class="md spoiler">Please write your address <strong>here</strong></span>
- **여기에** 주소를 써 주세요 = <span class="md spoiler">Please write your address **here**</span>
- 저는 **여기에** 한 달에 세 번 와요 = <span class="md spoiler">I come **here** three times per month</span>
- 저는 오늘 이 책을 **여기**까지 읽었어요 = <span class="md spoiler">Today, I read up to **here** in this book</span>
- 사과도 **여기서** 파나요? = <span class="md spoiler">Do you sell apples **here** too?</span>
@@ -636,7 +1101,7 @@ You might also want to try listening to all of the words on loop with this [Voca
## Introduction
In [Lesson 1](https://www.howtostudykorean.com/unit1/unit-1-lessons-1-8/unit-1-lesson-1/) you learned about simple Korean particles. To review, you learned that:
In [Lesson 1](./01-sentences.md) you learned about simple Korean particles. To review, you learned that:
- ~는 or ~은 are used to indicate <span class="md spoiler">the subject (or main person/thing)</span> in a sentence.
- ~를 or ~을 are used to indicate <span class="md spoiler">the object</span> in a sentence.
@@ -668,7 +1133,7 @@ Let’s talk about the first usage, “to have.” In English, “to have” is
This usage of 있다 in Korean is an _adjective._ This is hard for a learner to wrap their head around. At this point, this is important to you for one reason.
You learned in [Lesson 1](https://www.howtostudykorean.com/unit1/unit-1-lessons-1-8/unit-1-lesson-1/) that sentences with adjectives cannot act on an object. Thus, you cannot have a word with the particle ~을/를 attached to it if the predicating word in a sentence is an adjective (because ~을/를 indicates an object in a sentence).
You learned in [Lesson 1](./01-sentences.md) that sentences with adjectives cannot act on an object. Thus, you cannot have a word with the particle ~을/를 attached to it if the predicating word in a sentence is an adjective (because ~을/를 indicates an object in a sentence).
If this _weren’t_ the case, we could do the following:
@@ -694,7 +1159,7 @@ Remember that the example sentences provided in Lessons 1, 2, 3 and 4 are _not_
## Indicating a Place or Time: ~에
In the [previous lesson](https://www.howtostudykorean.com/unit1/unit-1-lessons-1-8/unit-1-lesson-1/), you learned how to use the particles ~은/는 and ~을/를 to denote the purpose of certain words in a Korean sentence. The particle ~에 is also used to denote certain words in a sentence. Specifically, ~에 denotes a place or time. When used to identify a place, it is similar to the underlined words in the English sentences below:
In the [previous lesson](./01-sentences.md), you learned how to use the particles ~은/는 and ~을/를 to denote the purpose of certain words in a Korean sentence. The particle ~에 is also used to denote certain words in a sentence. Specifically, ~에 denotes a place or time. When used to identify a place, it is similar to the underlined words in the English sentences below:
- I am at school
- I went to the park
@@ -789,7 +1254,7 @@ One of the most difficult things for a new learner of Korean to understand is th
In addition to this, there are more functions of ~이/가 that you should know about.
In [Lesson 1](https://www.howtostudykorean.com/unit1/unit-1-lessons-1-8/unit-1-lesson-1/), you learned that you should add ~는/은 to the subject of the sentence. To use an example using the grammar taught earlier in this Lesson, you could say:
In [Lesson 1](./01-sentences.md), you learned that you should add ~는/은 to the subject of the sentence. To use an example using the grammar taught earlier in this Lesson, you could say:
- 고양이**는** 집 뒤에 있다 = <span class="md spoiler">The cat is behind the house</span>
- (고양이**는** 집 뒤에 있어 / 고양이**는** 집 뒤에 있어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2014/10/Lesson2new11.mp3" />)
@@ -842,7 +1307,7 @@ In both pairs of examples (using ~는/은 or ~이/가), the translation does not
Note that this “comparative” function of ~는/은 can be used in much more complicated sentences, and can be attached to other grammatical principles – neither of which you have learned yet. In future lessons, not only will you see examples of increasing complexity applying this concept, but its usage with other grammatical principles will be introduced specifically. You need to remember that the example sentences given at this level are incredibly simple and do not really reflect actual sentences that you are likely to hear as one-off sentences from Korean people. Real speech is much more complex and it usually is an intricate combination of many clauses and grammatical principles.
Our lessons don’t really get into the use of multiple clauses until [Lesson 24](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-24/). Creating sentences with more than one clause opens an entire other can of worms that you don’t have the tools to deal with yet. I encourage you to NOT read ahead to that lesson. Rather, I encourage you to keep the information from this lesson in mind as you eventually do reach that level.
Our lessons don’t really get into the use of multiple clauses until [Lesson 24](./24-before-after-since-within.md). Creating sentences with more than one clause opens an entire other can of worms that you don’t have the tools to deal with yet. I encourage you to NOT read ahead to that lesson. Rather, I encourage you to keep the information from this lesson in mind as you eventually do reach that level.
As you progress through our Lessons, you will see both “~는/은” and “~이/가” used as the subject particles in the thousands of example sentences we have provided. As almost all of our example sentences are just written as one sentence (without any background, prior context, or explanation of the situation), there is no way to tell if something is being compared to – and thus – their usage is usually arbitrary. That being said – every Korean example sentence throughout all of our lessons is always checked by a native Korean speaker to make sure that nothing is awkward (or incorrect).
@@ -850,15 +1315,15 @@ In addition to the distinction discussed in this lesson, there are other situati
At this point, I would like you to continue to [Lesson 3](./03-verbs.md) to continue learning other grammatical principles you need to deepen your understanding of Korean in general.
In [Lessons 17](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-17/) and [22](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-22/), we will come back to this problem and dive into more ways we can distinguish the functions of ~이/가 and ~는/은. I want to stress that I do not want you to read these now, but you should know that there is more to distinguishing ~는/은 and ~이/가 than is described here.
In [Lessons 17](./17-connecting-want.md) and [22](./22-how-which-what-how-many.md), we will come back to this problem and dive into more ways we can distinguish the functions of ~이/가 and ~는/은. I want to stress that I do not want you to read these now, but you should know that there is more to distinguishing ~는/은 and ~이/가 than is described here.
If you haven’t reached [Lesson 17](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-17/) (and especially if you haven’t even moved on to [Lesson 3](./03-verbs.md)) you won’t understand what is being described in that lesson. Being able to fully understand the difference between ~이/가 and ~는/은 is important, but not as important (at the moment) as understanding other aspects of Korean grammar. I can’t stress this enough – your understanding of the difference between the two will progress with your Korean development in general.
If you haven’t reached [Lesson 17](./17-connecting-want.md) (and especially if you haven’t even moved on to [Lesson 3](./03-verbs.md)) you won’t understand what is being described in that lesson. Being able to fully understand the difference between ~이/가 and ~는/은 is important, but not as important (at the moment) as understanding other aspects of Korean grammar. I can’t stress this enough – your understanding of the difference between the two will progress with your Korean development in general.
The good thing is, even if you make a mistake with the usages of ~이/가 and ~는/은 (either because you are confused or because you haven’t reached the later lessons yet), 99.9% of the time, the listener will be able to understand exactly what you are trying to express. Likewise, if you listen to somebody speaking, you will be able to understand what they are trying to say regardless of if you have learned the more complex usages of ~이/가 and ~는/은. The difference between these two particles is about nuance and does not dramatically change the meaning of the sentence.
Making a mistake between other particles, however, _would_ cause other people to misunderstand you. For example, using ~를/을 instead of ~는/은 would (most likely) make your sentence incomprehensible.
That’s it for this lesson. Please keep all of this information in your mind for future lessons. We will continue this discussion in [Lesson 17](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-17/).
That’s it for this lesson. Please keep all of this information in your mind for future lessons. We will continue this discussion in [Lesson 17](./17-connecting-want.md).
For now, please continue to [Lesson 3](./03-verbs.md).
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+698 -20
View File
@@ -1,7 +1,665 @@
---
vocabulary:
nouns:
- ko: 사실
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v1.mp3
en: fact
notes: |
Often used at the start of sentences to mean "actually..." When used like this, it is common to colloquially say "실은..."
Also commonly used as the noun in a quoted version of ~는 것. For example: "그녀는 아이가 죽었다는 사실을 숨겼어요" = "She hid (the fact that) her child died"
See [Lesson 52](https://www.howtostudykorean.com/unit-3-intermediate-korean-grammar/unit-3-lessons-51-58/lesson-52/) for more information on this.
It can also be used to literally mean "fact"
examples:
- ko: 그것은 **사실**이에요?
en: Is that **true**? (is that a **fact**?)
- ko: 저는 그 **사실**을 백과사전에 찾았어요
en: I looked up that **fact** in an encyclopedia
- ko: 이 **사실**을 부장님께 알려 줘야겠어요
en: I guess I should tell the boss (about) that **fact**
- ko: 저는 부장님에게 그 **사실**을 말할 거예요
en: I will tell that (**fact**) to my boss
- ko: 약
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v2.mp3
en: medicine
examples:
- ko: 이렇게 아프면 **약**을 먹어야 돼요!
en: If you are this sick, you should take some **medicine**!
- ko: 저는 이 **약**을 하루에 두 번 먹어요
en: I eat (take) this **medicine** twice per day
- ko: "**약**을 안 먹는다면 열이 나빠질 수도 있어요"
en: If you don't eat/take this **medicine**, the fever could get worse
- ko: 음악
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v3.mp3
en: music
examples:
- ko: 저는 **음악**을 듣는 것을 좋아요
en: I like listening to **music**
- ko: 저는 **음악**을 듣고 있어요
en: I am listening to **music**
- ko: 우리는 **음악**을 같이 들었어요
en: We listened to **music** together
- ko: 하늘
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v4.mp3
en: sky
examples:
- ko: "**하늘**에 비행기가 있어요"
en: There is a plane in the **sky**
- ko: "**하늘**에 별이 많아요"
en: There are many stars in the **sky**
- ko: 이것을 **하늘**로부터 받았어요
en: I received this from the **sky (heavens)**
- ko: 비가 온 다음 날에 **하늘**은 보라색으로 바꿨어요
en: The **sky** turned purple the day after the rain
- ko: 땅
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v5.mp3
en: land
notes: |
'독도는 우리땅이다' is a famous saying that Korean people use to express that Dokdo, the disputed territory between Korea and Japan belongs to Korea. This was written on a sign by a fan during the 2012 Olympics in London and when the Korean team one, a Korean player took the sign and ran around the field with it. The player got in a lot of trouble for bringing political elements into the Olympics. By the way, Dokdo does belong to Korea.
examples:
- ko: 한국은 다른 나라보다 **땅**이 작아요
en: Korea's **land** is small compared to other countries
- ko: 지하
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v6.mp3
en: underground
examples:
- ko: 차는 **지하** 주차장에 있어요
en: The car is in the **underground** parking lot
- ko: 빵
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v7.mp3
en: bread
examples:
- ko: 저는 **빵**을 먹고 싶어요
en: I want to eat **bread**
- ko: 저는 친구를 위해 **빵**을 만들었어요
en: I made **bread** for my friend
- ko: 우리는 **빵**을 같이 먹었어요
en: We ate **bread** together
- ko: 애기는 밥하고 **빵**을 먹었어요
en: The baby ate rice and **bread**
- ko: 쓰레기
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v8.mp3
en: trash/garbage
notes: |
This word appears in my Korean Sign Explanation Video 5.
<YouTube id="wMRfpE9JdUo" />
examples:
- ko: "**쓰레기**를 버려 주세요"
en: Please throw out your **garbage**
- ko: 이 떡은 **쓰레기** 맛 같아
en: This 떡 tastes like **garbage**
- ko: "**쓰레기**는 월요일마다 수거된다"
en: "**Garbage** is collected every Monday"
- ko: 회계사
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v9.mp3
en: accountant
examples:
- ko: 저는 **회계사**가 되고 싶어요
en: I want to be an **accountant**
- ko: 그 **회계사**는 정부에 대해 나쁜 말을 했어요
en: That **accountant** said bad things about the government
- ko: 녹차
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v10.mp3
en: green tea
examples:
- ko: "**녹차** 두 잔을 주세요"
en: Give me two cups of **green tea**, please
- ko: "**녹차**는 한국에서 유명해요"
en: "**Green Tea** is famous in Korea"
- ko: 저는 약과 **녹차**만 샀어요
en: I only bought medicine and **green tea**
- ko: 이
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v11.mp3
en: teeth
examples:
- ko: 치과의사는 저의 **이**를 두 개 뺐어요
en: The dentist took out two of my **teeth**
- ko: 정부
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v12.mp3
en: government
examples:
- ko: 한국에서는 **정부**가 국립학교를 통제해요
en: In Korea, the **government** controls the public schools
- ko: 한국 **정부**는 교통사고를 방지하려고 노력하고 있어요
en: The Korean **government** is trying to prevent traffic accidents
- ko: 그 회계사는 **정부**에 대해 나쁜 말을 했어요
en: That accountant said bad things about the **government**
- ko: 성격
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v13.mp3
en: personality
examples:
- ko: 그 사람의 **성격**은 좋아요
en: That person's **personality** is good
- ko: 우리의 **성격**은 달라요
en: Our **personalities** are different
- ko: 서울에서 사는 사람들의 **성격**은 너무 급해요
en: The people who live in Seoul have a very fast **personality** (rushed/impatient nature)
- ko: 온도
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v14.mp3
en: temperature
notes: The word 체온 is used to refer to one's body temperature.
examples:
- ko: 교실이 너무 더워서 **온도**를 내려도 돼요?
en: Because the classroom is too hot, may I lower the **temperature**?
- ko: 커튼
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v15.mp3
en: curtains
notes: Korean pronunciation of the word "curtain"
examples:
- ko: 창문이 **커튼**으로 가려져 있어요
en: The window is covered by the **curtains**
- ko: 숨
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v16.mp3
en: breath
examples:
- ko: 공기가 나빠서 저는 **숨**을 못 쉬어요
en: I can't **breathe** because the air is bad
verbs:
- ko: 축하하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v17.mp3
en: to congratulate
notes: The pronunciation of this word is closer to "추카하다"
examples:
- ko: 아들이 대학교를 졸업해서 우리는 **축하를 해**야 돼요
en: Now that our son has graduated from University, we need to **congratulate** him
- ko: 일어나다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v18.mp3
en: to rise, to get up
notes: |
There are many adverbs that are used in specific situations to give a sentence feel or emphasis. To indicate that one "sprang" up, the adverb 벌떡 can be used.
일어나다 literally means "to get up" from a sitting/laying position to a standing position. However, it is often used to indicate that one "wakes up" because one usually "gets up" from bed when they wake up. As such, the translation of "일어나다" could be "to get up" or "to wake up" depending on the situation.
examples:
- ko: "언제 **일어났어요**?"
en: When did you **get up**?
- ko: 군인들은 매일 일찍 **일어나**야 돼요
en: Soldiers have to **wake up** early every day
- ko: 그녀는 의자에서 **일어났어요**
en: She **rose up** from her chair
- ko: 저는 아침에 일찍 **일어났어요**
en: I **woke** **up** early in the morning
- ko: 우리는 내일 일찍 **일어나**야 돼요
en: We need to **wake up** early tomorrow morning
- ko: 준비하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v19.mp3
en: to prepare, to get ready
notes: The noun form of this word translates to "preparation"
examples:
- ko: 저는 아직 **준비**를 안 했어요
en: I still haven't gotten **ready** yet
- ko: 저는 지금 갈 **준비**가 됐어요
en: I am **ready** to go now
- ko: 아버지를 위해 시원한 물을 **준비했어요**
en: I **prepared** cool water for my father
- ko: 저는 점심을 **준비했어요**
en: I **prepared** (the) lunch
- ko: 저는 아무 때나 일을 시작할 **준비됐어요**
en: I am **ready** to start working any time
- ko: 들어오다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v21.mp3
en: to come in
notes: |
The pronunciation of this word is closer to "드러오다"
Formed by combining 들다 (to enter) and 오다 (to come). See Lesson 15 for more information.
examples:
- ko: 학생들은 9시에 학교에 **들어왔어요**
en: The students **came into** the school at 9:00
- ko: 그 남자는 방에 **들어왔어요**
en: That man **came into** room
- ko: 들어가다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v22.mp3
en: to go in
notes: |
The pronunciation of this word is closer to "드러가다"
Formed by combining 들다 (to enter) and 가다 (to go). See Lesson 15 for more information.
"들어가세요" is often said to people when they leave a place, almost as a greeting like "goodbye."
Often used with ~아/어 있다 to indicate that something contains something. For example: "김치에 고추가 들어가 있어요" = "There is red peppers in 김치"
examples:
- ko: 샴푸가 눈에 **들어갔어요**
en: Shampoo **went** **into** my eyes
- ko: 학생들은 9시에 학교에 **들어갔어요**
en: The students **went into** the school at 9:00
- ko: 수영장에 **들어간** 후에 옷이 완전히 젖었어요
en: My clothes are completely wet after **going** **into** the pool
- ko: 이 길이 너무 좁아서 저는 못 **들어가요**
en: I can't **go onto** this road because it is so narrow
- ko: 그 가게에 18세 미만은 못 **들어가요**
en: Those under 18 years of age can't **enter** that store
- ko: 우리는 집에 같이 **들어갔어요**
en: We **went into** the house together
- ko: 저는 문을 열고 방에 **들어갔어요**
en: I opened the door and **went into** the room
- ko: 입장하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v23.mp3
en: to enter (the verb form of 'admission')
notes: |
The pronunciation of this word is closer to "입짱하다"
The noun form of this word translates to "admission"
examples:
- ko: 몇 시부터 **입장할** 수 있어요?
en: From what time can we **enter**?
- ko: 숨쉬다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v24.mp3
en: to breathe
examples:
- ko: 저는 운동을 열심히 하고 **숨**을 빨리 **쉬었어요**
en: After I exercised I was **breathing** really fast
adjectives:
- ko: 흥미롭다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v25.mp3
en: to be interesting
notes: |
The pronunciation of this word is closer to "흥미롭따"
흥미롭다 follows the ㅂ irregular
~아/어: 흥미로워, ~ㄴ/은: 흥미로운, ~ㅂ/습니다: 흥미롭습니다, ~ㄹ/을: 흥미로울, ~니: 흥미로우니, ~ㅁ/음: 흥미로움, ~(으)려고: 흥미로우려고, ~(으)시: 흥미로우시, ~(으)면: 흥미로우면, ~(으)니: 흥미로우니
examples:
- ko: 화학은 매우 **흥미로워요**
en: Chemistry is very **interesting**
- ko: 그는 **흥미로운** 삶을 살아요
en: He lives an **interesting** life
- ko: 한국문화는 오래됐고 **흥미로워요**
en: Korean culture is long and **interesting**
- ko: 늦다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v26.mp3
en: to be late
notes: |
The pronunciation of this word is closer to "늗따"
This is often irrelevant, but 늦다 is both a verb and an adjective. As a verb, it usually indicates that one arrives late. For example:
- "우리가 늦어서 죄송해요" = "Sorry we arrived late"
It is often used as an adjective to describe a time that is late. For example:
- "우리는 늦은 저녁을 먹었어요" = "We ate a late dinner"
As an adjective, ~게 is often added to it in order to create an adverb. For example:
- "그녀는 언제나 늦게 와요" = "She comes late every time"
examples:
- ko: 우리가 **늦**어서 죄송해요
en: Sorry we arrived **late**
- ko: 우리는 **늦**은 저녁을 먹었어요
en: We ate a **late** dinner
- ko: 그녀는 언제나 **늦**게 와요
en: She comes **late** every time
- ko: 저는 **늦**게 도착했어요
en: I arrived **late**
- ko: 시원하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v27.mp3
en: to be cool, to be relaxing
notes: |
In addition to meaning "cool" (as in temperature), this word is often used to describe the feeling you get when somebody gives you a massage.
examples:
- ko: 요즘에 날씨가 **시원해요**
en: These days the weather is **cool**
- ko: 아버지를 위해 **시원한** 물을 준비했어요
en: I prepared **cool** water for my father
- ko: 가을이 **시원해서** 좋아요
en: Fall is nice because it is **cool**
- ko: 질투하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v28.mp3
en: to be jealous
notes: |
The noun form of this word translates to "jealousy" or "envy"
Often used as "질투가 나다." See Lesson 14 for more information on how the word "나다" works in these situations.
examples:
- ko: 저의 남자 친구는 항상 **질투해요**
en: My boyfriend is always **jealous**
- ko: 맵다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v29.mp3
en: to be spicy
notes: |
The pronunciation of this word is closer to "맵따"
맵다 follows the ㅂ irregular
~아/어: 매워, ~ㄴ/은: 매운, ~ㅂ/습니다: 맵습니다, ~ㄹ/을: 매울, ~니: 매우니, ~ㅁ/음: 매움, ~(으)려고: 매우려고, ~(으)시: 매우시, ~(으)면: 매우면, ~(으)니: 매우니
examples:
- ko: 저는 **매운** 것을 못 먹어요
en: I can't eat **spicy** things
- ko: 한식은 양식보다 더 **매워요**
en: Korean food is **spicier** than western food
- ko: 라면은 삼겹살보다 더 **매워요**
en: Ramen is **spicier** than 삼겹살
- ko: 죄송하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v30.mp3
en: to be sorry
notes: |
This word appears in my Korean Sign Explanation Video #3.
<YouTube id="Q2KFITCbZ5s" />
examples:
- ko: 늦게 와서 **죄송합니다**!
en: "**Sorry** for coming late!"
- ko: "**죄송하**지만 저는 당신을 해고할 수밖에 없어요"
en: I'm **sorry**, but I can't do anything but fire you
- ko: 미안하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v31.mp3
en: to be sorry
notes: 미안하다 is slightly less formal than 죄송하다
examples:
- ko: 시끄러워서 **미안해요**
en: "**Sorry** it is so loud!"
- ko: 무겁다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v32.mp3
en: to be heavy
notes: |
The pronunciation of this word is closer to "무겁따"
무겁다 follows the ㅂ irregular
~아/어: 무거워, ~ㄴ/은: 무거운, ~ㅂ/습니다: 무겁습니다, ~ㄹ/을: 무거울, ~니: 무거우니, ~ㅁ/음: 무거움, ~(으)려고: 무거우려고, ~(으)시: 무거우시, ~(으)면: 무거우면, ~(으)니: 무거우니
examples:
- ko: 이 가방은 너무 **무거워요**
en: This bag is too **heavy**
- ko: 그 기계는 너무 **무거워요**
en: That machine is very **heavy**
- ko: 가볍다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v33.mp3
en: to be light
notes: |
The pronunciation of this word is closer to "가볍따"
가볍다 follows the ㅂ irregular
~아/어: 가벼워, ~ㄴ/은: 가벼운, ~ㅂ/습니다: 가볍습니다, ~ㄹ/을: 가벼울, ~니: 가벼우니, ~ㅁ/음: 가벼움, ~(으)려고: 가벼우려고, ~(으)시: 가벼우시, ~(으)면: 가벼우면, ~(으)니: 가벼우니
examples:
- ko: 이 가방은 **가벼워요**
en: This bag is **light**
- ko: 유명하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v34.mp3
en: to be popular, to be famous
examples:
- ko: 그 배우는 아주 **유명해요**
en: That actor is very **famous**
- ko: 그 가수는 한국에서 매우 **유명해요**
en: That singer is very **famous** in Korea
- ko: "**녹차**는 한국에서 **유명해요**"
en: Green Tea is **famous** in Korea
- ko: 저는 엄마랑 **유명한** 영화를 같이 봤어요
en: I saw/watched a **famous** movie with my mom
- ko: 익숙하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v20.mp3
en: to be familiar with something
notes: |
The pronunciation of this word is closer to "익쑤카다"
The most common definition of 익숙하다 is "to be familiar with," but in sentences I prefer to use "to be used to."
For example, if you buy a new pair of shoes, and you still kind of prefer your previous shoes, you could say
- "새로운 신발에 아직 익숙하지 않아요." ("I'm not used to the new shoes yet").
examples:
- ko: 저는 한국 음식 맛에 **익숙해요**
en: I am **used to** the taste of Korean food
- ko: 저는 그것에 **익숙하지** 않아요
en: I'm not **familiar** with that
adverbs:
- ko: 요즘
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v35.mp3
en: these days
examples:
- ko: 저는 **요즘**에 운동을 많이 해요
en: I am exercising a lot **these days**
- ko: 아시아의 경제는 **요즘**에 좋아지고 있어요
en: The Asian economy is getting better **these days**
- ko: "**요즘**에 날씨가 점점 추워져요"
en: "**Lately,** the weather is getting gradually colder"
- ko: "**요즘**에 저는 스트레스를 많이 받아요"
en: "**These days** I am very stressed"
- ko: "**요즘**에는 길이 너무 조용해요"
en: "**These days** the streets are very quiet"
- ko: 같이
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v36.mp3
en: together
notes: The pronunciation of this word is closer to "가치"
examples:
- ko: 우리는 밥을 **같이** 먹었어요
en: We ate **together**
- ko: 저는 친구랑 **같이** 있어요
en: I'm **with** my friend
- ko: 엄마가 우리랑 **같이** 못 먹어서 안타까워요
en: It's too bad that your mom can't eat **together** (with us)
- ko: 나는 우리가 지난 번에 **같이** 먹은 것을 먹고 싶어
en: I want to eat what we ate **(together)** last time
- ko: 이 일을 **같이** 하고 싶으면 우리는 협조해야 돼요
en: If we want to do this job **together**, we have to cooperate
- ko: 우리 학교에서 학생들은 역사와 지리를 **같이** 배워요
en: At our school, students learn history and geography **together**
sentence:
and:
- ko: 우리는 밥**과** 빵을 팔아요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-1.mp3
en: We sell rice **and** bread
- ko: 나는 사과**와** 바나나를 샀어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/2.mp3
en: I bought apples **and** bananas
- ko: 나는 인천**이랑** 서울에 갈 거야
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-2.mp3
en: I will go to Seoul **and** Incheon
- ko: 형**하고** 아버지는 영화를 봤어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/4.mp3
en: My brother **and** dad saw a movie
- ko: 저는 약**과** 녹차만 샀어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-3.mp3
en: I only bought medicine **and** green tea
with:
- ko: 나는 친구**와** 갔어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/7.mp3
en: I went **with** my friend
- ko: 저는 친구**와** 집에 갔어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-4.mp3
en: I went home **with** my friend
- ko: 나는 아버지**랑** 공원에 갈 거야
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/9.mp3
en: I will go to the park **with** my dad
- ko: 선생님은 학생들**과** 박물관에 갔다
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/10.mp3
en: The teacher went to the museum **with** the students
- ko: 요즘에 사람들이 친구들**이랑** 매운 음식을 먹지 않아요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-5.mp3
en: These days, people don’t eat spicy food **with** their friends
- ko: 저는 밥을 친구**랑** 저의 어머니**랑** 먹었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/12.mp3
en: I ate (rice*) **with** my mom **and** my friend
together:
- ko: 우리는 빵을 **같이** 먹었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-6.mp3
en: We ate bread **together**
- ko: 우리는 빵을 **함께** 먹었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-7.mp3
en: We ate bread **together**
- ko: 우리는 집에 **같이** 들어갔어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-8.mp3
en: We went into the house **together**
- ko: 우리는 집에 **함께** 들어갔어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-9.mp3
en: We went into the house **together**
- ko: 우리는 음악을 **같이** 들었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-10.mp3
en: We listened to music **together**
- ko: 우리는 음악을 **함께** 들었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-11.mp3
en: We listened to music **together**
- ko: 저는 빵을 친구**랑** **같이** 먹었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-12.mp3
en: I ate bread **with** a friend (**together**)
- ko: 저는 빵을 친구**와*** **함께** 먹었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-13.mp3
en: I ate bread **with** a friend (**together**)
- ko: 저는 빵을 친구**랑** 먹었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-14.mp3
en: I ate bread **with** a friend
- ko: 저는 빵을 친구**와*** 먹었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-15.mp3
en: I ate bread **with** a friend
with_(more):
- ko: 저는 녹차를 엄마랑 같이 마셨어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-16.mp3
en: I drank green tea with my mom
- ko: 저는 엄마랑 유명한 영화를 같이 봤어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-17.mp3
en: I saw/watched a famous movie with my mom
- ko: 저는 선생님과 함께 공부했어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/25.mp3
en: I studied with my teacher
- ko: 저는 여자 친구와 함께 영화를 봤어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-18.mp3
en: I watched a movie with my girlfriend
- ko: 나는 친구랑 같이 있어
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-19.mp3
en: I’m with my friend
- ko: 저는 친구와 집에 함께 있어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-20.mp3
en: I’m with a friend at home
to:
- ko: 아버지는 아들**에게** 돈을 준다
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/29.mp3
en: The father gives money **to** his son
- ko: 나는 학생들**한테** 한국어를 가르쳤어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/30.mp3
en: I taught Korean **to** the students
- ko: 저는 부장님**께** 그 사실을 말할 거예요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-13-s1.mp3
en: I will tell that (fact) **to** my boss
- ko: 나는 책을 교장선생님**께** 줬어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/32.mp3
en: I gave the principal a book
from:
- ko: 나는 나의 여자친구**에게서** 편지를 받았어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/33.mp3
en: I received a letter **from** my girlfriend
- ko: 저는 교감선생님**에게서** 한국어를 배웠어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-13-s2.mp3
en: I learned Korean **from** my vice principal
- ko: 저는 그것을 친구**한테서** 들었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-13-s3.mp3
en: I heard that **from** my friend
로부터:
- ko: 나는 나의 여자친구**로부터** 편지를 받았어
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-22.mp3
en: I received a letter **from** my girlfriend
- ko: 저는 교감선생님**으로부터** 한국어를 배웠어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-23.mp3
en: I learned Korean **from** my vice principal
- ko: 저는 그것을 친구**로부터** 들었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-24.mp3
en: I heard that **from** my friend
- ko: 저는 친구들**로부터** 사랑을 많이 받았어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-25.mp3
en: I received a lot of love **from** friends
- ko: 아버지**로부터** 선물이 왔어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-26.mp3
en: A present came **from** my father
- ko: 나는 돈을 정부**로부터** 받았어
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/41.mp3
en: I received money **from** the government
- ko: 이것을 하늘**로부터** 받았어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-27.mp3
en: I received this **from** the sky (heavens)
for:
- ko: 나는 나의 여자 친구를 **위해(서)** 꽃을 샀어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/43.mp3
en: I bought flowers **for** my girlfriend
- ko: 나는 부장님을 **위해(서)** 이것을 썼어
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/44.mp3
en: I wrote this **for** my boss
- ko: 저는 친구를 **위해** 빵을 만들었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-28.mp3
en: I made bread **for** my friend
- ko: 아버지를 **위해** 시원한 물을 준비했어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-29.mp3
en: I prepared cool water **for** my father
- ko: 저는 회사를 **위해** 열심히 일할 거예요
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/47.mp3
en: I will work hard **for** the company
about:
- ko: 나는 너**에 대해** 생각했어
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-30.mp3
en: I thought **about** you
- ko: 나는 나의 아버지**에 대해** 말했어
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-31.mp3
en: I spoke **about** my father
- ko: 나는 그것**에 대해** 책을 쓸 거야
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/50.mp3
en: I will write a book **about** it
- ko: 그 회계사는 정부**에 대해** 나쁜 말을 했어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-32.mp3
en: That accountant said bad things **about** the government
---
# Lesson 13: Korean Particles: and, with, to, from, for, about
## Vocabulary
<VocabQuiz />
### Nouns
사실 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson13v1.mp3" /> = <span class="md spoiler">fact</span>
@@ -28,7 +686,7 @@ It can also be used to literally mean “fact”
- 그것은 **사실**이에요? = <span class="md spoiler">Is that **true**? (is that a **fact**?)</span>
- 저는 그 **사실**을 백과사전에 찾았어요 = <span class="md spoiler">I looked up that **fact** in an encyclopedia</span>
- 이 **사실**을 부장님께 알려 줘야겠어요 = <span class="md spoiler">I guess I should tell the boss (about) that <strong>fact</strong></span>
- 이 **사실**을 부장님께 알려 줘야겠어요 = <span class="md spoiler">I guess I should tell the boss (about) that **fact**</span>
- 저는 부장님에게 그 **사실**을 말할 거예요 = <span class="md spoiler">I will tell that (**fact**) to my boss</span>
</Details>
@@ -67,8 +725,8 @@ Common Usages:
Example:
- 저는 **음악**을 듣는 것을 좋아요 = <span class="md spoiler">I like listening to <strong>music</strong></span>
- 저는 **음악**을 듣고 있어요 = <span class="md spoiler">I am listening to <strong>music</strong></span>
- 저는 **음악**을 듣는 것을 좋아요 = <span class="md spoiler">I like listening to **music**</span>
- 저는 **음악**을 듣고 있어요 = <span class="md spoiler">I am listening to **music**</span>
- 우리는 **음악**을 같이 들었어요 = <span class="md spoiler">We listened to **music** together</span>
</Details>
@@ -92,8 +750,8 @@ More literally, “<span class="md spoiler">as much as the earth and the sky</sp
Examples:
- **하늘**에 비행기가 있어요 = <span class="md spoiler">There is a plane in the **sky**</span>
- **하늘**에 별이 많아요 = <span class="md spoiler">There are many stars in the <strong>sky</strong></span>
- 이것을 **하늘**로부터 받았어요 = <span class="md spoiler">I received this from the <strong>sky (heavens)</strong></span>
- **하늘**에 별이 많아요 = <span class="md spoiler">There are many stars in the **sky**</span>
- 이것을 **하늘**로부터 받았어요 = <span class="md spoiler">I received this from the **sky (heavens)**</span>
- 비가 온 다음 날에 **하늘**은 보라색으로 바꿨어요 = <span class="md spoiler">The **sky** turned purple the day after the rain</span>
</Details>
@@ -129,7 +787,7 @@ Common Usages:
Examples:
- 차는 지하 **주차장**에 있어요 = <span class="md spoiler">The car is in the **underground** parking lot</span>
- 차는 **지하** 주차장에 있어요 = <span class="md spoiler">The car is in the **underground** parking lot</span>
</Details>
@@ -144,10 +802,10 @@ Common Usages:
Example:
- 저는 **빵**을 먹고 싶어요 = <span class="md spoiler">I want to eat <strong>bread</strong></span>
- 저는 **빵**을 먹고 싶어요 = <span class="md spoiler">I want to eat **bread**</span>
- 저는 친구를 위해 **빵**을 만들었어요 = <span class="md spoiler">I made **bread** for my friend</span>
- 우리는 **빵**을 같이 먹었어요 = <span class="md spoiler">We ate **bread** together</span>
- 애기는 **밥**하고 빵을 먹었어요 = <span class="md spoiler">The baby ate rice and **bread**</span>
- 애기는 밥하고 **빵**을 먹었어요 = <span class="md spoiler">The baby ate rice and **bread**</span>
</Details>
@@ -162,7 +820,7 @@ Common Usages:
Examples:
- **쓰레기**를 버려 주세요 = <span class="md spoiler">Please throw out your <strong>garbage</strong></span>
- **쓰레기**를 버려 주세요 = <span class="md spoiler">Please throw out your **garbage**</span>
- 이 떡은 **쓰레기** 맛 같아 = <span class="md spoiler">This 떡 tastes like **garbage**</span>
- **쓰레기**는 월요일마다 수거된다 = <span class="md spoiler">**Garbage** is collected every Monday</span>
@@ -182,7 +840,7 @@ Common Usages:
Examples:
- 저는 **회계사**가 되고 싶어요 = <span class="md spoiler">I want to be an <strong>accountant</strong></span>
- 저는 **회계사**가 되고 싶어요 = <span class="md spoiler">I want to be an **accountant**</span>
- 그 **회계사**는 정부에 대해 나쁜 말을 했어요 = <span class="md spoiler">That **accountant** said bad things about the government</span>
</Details>
@@ -332,7 +990,7 @@ There are many adverbs that are used in specific situations to give a sentence f
Example:
- 언제 **일어났어요** **?** = <span class="md spoiler">When did you <strong>get up?</strong></span>
- 언제 **일어났어요** **?** = <span class="md spoiler">When did you **get up?**</span>
- 군인들은 매일 일찍 **일어나**야 돼요 = <span class="md spoiler">Soldiers have to **wake up** early every day</span>
- 그녀는 의자에서 **일어났어요** = <span class="md spoiler">She **rose up** from her chair</span>
- 저는 아침에 일찍 **일어났어요** = <span class="md spoiler">I **woke** **up** early in the morning</span>
@@ -463,7 +1121,7 @@ The pronunciation of this word is closer to “흥미롭따”
Example:
- 화학은 매우 **흥미로워요** = <span class="md spoiler">Chemistry is very <strong>interesting</strong></span>
- 화학은 매우 **흥미로워요** = <span class="md spoiler">Chemistry is very **interesting**</span>
- 그는 **흥미로운** 삶을 살아요 = <span class="md spoiler">He lives an **interesting** life</span>
- 한국문화는 오래됐고 **흥미로워요** = <span class="md spoiler">Korean culture is long and **interesting**</span>
@@ -485,7 +1143,7 @@ This is often irrelevant, but 늦다 is both <span class="md spoiler">a verb and
It is often used as an adjective to describe a time that is late. For example:
- 우리는 늦은 저녁을 먹었어요 = <span class="md spoiler">We ate a **late** dinner</span>
- 우리는 **늦**은 저녁을 먹었어요 = <span class="md spoiler">We ate a **late** dinner</span>
As an adjective, ~게 is often added to it in order to create <span class="md spoiler">an adverb</span>. For example:
@@ -511,7 +1169,7 @@ Notes: In addition to meaning <span class="md spoiler">“cool” (as in tempera
Example:
- 요즘에 날씨가 **시원해요** = <span class="md spoiler">These days the weather is <strong>cool</strong></span>
- 요즘에 날씨가 **시원해요** = <span class="md spoiler">These days the weather is **cool**</span>
- 아버지를 위해 **시원한** 물을 준비했어요 = <span class="md spoiler">I prepared **cool** water for my father</span>
- 가을이 **시원해서** 좋아요 = <span class="md spoiler">Fall is nice because it is **cool**</span>
@@ -529,7 +1187,7 @@ Common Usages:
Notes:
Often used as “<TTS>질투가 나다</TTS>.” See [Lesson 14](https://www.howtostudykorean.com/unit1/unit-1-lessons-9-16/lesson-14-korean-passive-verbs/) for more information on how the word “나다” works in these situations.
Often used as “<TTS>질투가 나다</TTS>.” See [Lesson 14](./14-passive.md) for more information on how the word “나다” works in these situations.
Example:
@@ -605,7 +1263,7 @@ The pronunciation of this word is closer to “무겁따”
Examples:
- 이 가방은 너무 **무거워요** = <span class="md spoiler">This bag is too <strong>heavy</strong></span>
- 이 가방은 너무 **무거워요** = <span class="md spoiler">This bag is too **heavy**</span>
- 그 기계는 너무 **무거워요** = <span class="md spoiler">That machine is very **heavy**</span>
</Details>
@@ -634,7 +1292,7 @@ Common Usages:
Example:
- 그 배우는 아주 **유명해요** = <span class="md spoiler">That actor is very <strong>famous</strong></span>
- 그 배우는 아주 **유명해요** = <span class="md spoiler">That actor is very **famous**</span>
- 그 가수는 한국에서 매우 **유명해요** = <span class="md spoiler">That singer is very **famous** in Korea</span>
- 녹차는 한국에서 **유명해요** = <span class="md spoiler">Green Tea is **famous** in Korea</span>
- 저는 엄마랑 **유명한** 영화를 같이 봤어요 = <span class="md spoiler">I saw/watched a **famous** movie with my mom</span>
@@ -673,7 +1331,7 @@ Example:
Example:
- 저는 **요즘**에 운동을 많이 해요 = <span class="md spoiler">I am exercising a lot <strong>these days</strong></span>
- 저는 **요즘**에 운동을 많이 해요 = <span class="md spoiler">I am exercising a lot **these days**</span>
- 아시아의 경제는 **요즘**에 좋아지고 있어요 = <span class="md spoiler">The Asian economy is getting better **these days**</span>
- **요즘**에 날씨가 점점 추워져요 = <span class="md spoiler">**Lately,** the weather is getting gradually colder</span>
- **요즘**에 저는 스트레스를 많이 받아요 = <span class="md spoiler">**These days** I am very stressed</span>
@@ -689,12 +1347,12 @@ The pronunciation of this word is closer to “가치”
Examples:
- 우리는 밥을 **같이** 먹었어요 = <span class="md spoiler">We ate <strong>together</strong></span>
- 우리는 밥을 **같이** 먹었어요 = <span class="md spoiler">We ate **together**</span>
- 저는 친구랑 **같이** 있어요 = <span class="md spoiler">I’m **with** my friend</span>
- 엄마가 우리랑 **같이** 못 먹어서 안타까워요 = <span class="md spoiler">It’s too bad that your mom can’t eat **together** (with us)</span>
- 나는 우리가 지난 번에 **같이** 먹은 것을 먹고 싶어 = <span class="md spoiler">I want to eat what we ate **(together)** last time</span>
- 이 일을 **같이** 하고 싶으면 우리는 협조해야 돼요 = <span class="md spoiler">If we want to do this job **together**, we have to cooperate</span>
- 우리 학교에서 학생들은 역사와 지리를 같이 배워요 = <span class="md spoiler">At our school, students learn history and geography **together**</span>
- 우리 학교에서 학생들은 역사와 지리를 **같이** 배워요 = <span class="md spoiler">At our school, students learn history and geography **together**</span>
</Details>
@@ -709,8 +1367,12 @@ You can download all of these files in one package [here](https://www.howtostudy
In the last lesson, you learned some important Korean particles that you can use in a wide variety of situations. There are still a few more basic particles that you need to be aware of before you can begin learning more complex grammar. Most of these particles are very common, so it is hard to build sentences using more complex grammar without the use of what you learned in [Lesson 12](./12-more-particles.md), and what you will learn in this lesson. Let’s get started!
<VocabQuiz fm-key="sentence" />
## Particles (and): ~과/와, ~랑/이랑 and ~하고
<VocabQuiz fm-key="sentence" category="and" />
~과/와, ~랑/이랑 and ~하고 can all be used interchangeably to mean “and” in Korean.
~과 and ~와 are the same. ~과 is attached to words ending in <span class="md spoiler">a consonant</span>, ~와 is attached to words ending in <span class="md spoiler">a vowel</span>. Similarly, ~랑 and ~이랑 are the same. ~이랑 is attached to words ending in <span class="md spoiler">a consonant</span>, ~랑 is attached to words ending in <span class="md spoiler">a vowel</span>. ~하고 can be attached to words ending in <span class="md spoiler">a vowel or consonant</span>. These can be added fairly simply to nouns. For example:
@@ -728,6 +1390,8 @@ Other particles can attach to the construction made by using ~와/과/랑/이랑
## Particles (with): ~과/와, ~랑/이랑 and ~하고
<VocabQuiz fm-key="sentence" category="with" />
Just when you thought this was going to be an easy lesson! Ha! This sounds crazy to an English speaker, but the same particles are used to mean “and” and “with” in Korean. You can distinguish them purely by the context of the conversation, which sounds like it would be difficult. However, even though you probably think it is difficult, it is always clear (even to a beginner) if the speaker is trying to express the meaning of “and” or “with” because of the sentence structure.
For example, when used to have the meaning of “and,” a noun will always follow 과/와/(이)랑/하고: For example:
@@ -757,6 +1421,8 @@ Also notice that you can actually use these particles to mean both “and” and
\*\*Korean people often use “_밥_” (rice) to simply mean “food.” It stems from the fact that Korean people eat rice with (almost) every meal – so if you ate, it means that you ate rice. You can say “<TTS class="md">_밥을 먹었어_</TTS>” which can simply mean “I ate.”\*
<VocabQuiz fm-key="sentence" category="together" />
Two adverbs that are commonly used in sentences with “with” are 같이 and 함께. Both of them mean “<span class="md spoiler">together</span>,” and can be used in sentences even if the sentence doesn’t have one of the particles meaning “with” (과/와/랑/이랑/하고). For example:
- 우리는 빵을 같이 먹었어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-6.mp3" /> = <span class="md spoiler">We ate bread together</span>
@@ -795,6 +1461,8 @@ _Notice that I used_ ~와 _with_ 함께 _instead of_ ~랑*. Just like with the m
_To add an additional level of complexity to this explanation –_ 같이 _is more commonly used than_ 함께 (같이 _is probably one of the most common words in Korean, while_ 함께 _would fall much further down the list). However, when_ 함께 *is used, it is more likely to be used with ~*과/와*. These are just generalizations based on observations of years of speaking with Korean people.*
<VocabQuiz fm-key="sentence" category="with_(more)" />
More examples:
- 저는 녹차를 엄마랑 같이 마셨어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-16.mp3" /> = <span class="md spoiler">I drank green tea with my mom</span>
@@ -820,6 +1488,8 @@ Remember, “my hands” are the method by which you did something, so, as you l
## Particles (to): 에게/한테/께
<VocabQuiz fm-key="sentence" category="to" />
These three particles can all be used to indicate that you are doing (usually giving) something TO somebody. 에게, 한테 and 께 all have the same meaning, but ~한테 is usually used <span class="md spoiler">in conversation</span>, ~에게 is usually <span class="md spoiler">written</span> (although it is still said in conversation very often) and ~께 is used when the person you are giving something to requires <span class="md spoiler">respect</span> (께 is the honorific form of 에게/한테).
- 아버지는 아들에게 돈을 준다 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/29.mp3" /> = <span class="md spoiler">The father gives money to his son</span>
@@ -836,6 +1506,8 @@ _Again, the word_ *“*드리다*” would most likely be used instead of* 주
## Particles (from): ~에게서/한테서/(으)로부터
<VocabQuiz fm-key="sentence" category="from" />
You learned in [Lesson 12](./12-more-particles.md) that ~에서 can be used to mean “from” in a wide variety of situations. ~에게서/한테서 can also have the translation of “from,” but they are used in a more restricted way.
~에게서/한테서 has the meaning that is opposite of ~에게/한테/께, which means it is used when somebody receives something from somebody. These particles are attached to the person from whom one receives something. For example:
@@ -847,6 +1519,8 @@ The “thing” that is being received doesn’t need to be something physical.
- 저는 교감선생님에게서 한국어를 배웠어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-13-s2.mp3" /> = <span class="md spoiler">I learned Korean from my vice principal</span>
- 저는 그것을 친구한테서 들었어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-13-s3.mp3" /> = <span class="md spoiler">I heard that from my friend</span>
<VocabQuiz fm-key="sentence" category="로부터" />
A very similar particle is ~(으)로부터. This particle can also be attached to the person from whom one receives something. For example:
- 나는 나의 여자친구로부터 편지를 받았어 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-22.mp3" /> = <span class="md spoiler">I received a letter from my girlfriend</span>
@@ -866,6 +1540,8 @@ To summarize, ~(으)로부터 can be used to indicate that one receives somethin
## Do something for somebody: ~을/를 위해(서)
<VocabQuiz fm-key="sentence" category="for" />
If you want to say that you are doing something FOR (the benefit of) somebody, you can add ~를/을 to the person who you are doing something for, followed by 위해(서):
- 나는 나의 여자 친구를 위해(서) 꽃을 샀어 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/43.mp3" /> = <span class="md spoiler">I bought flowers for my girlfriend</span>
@@ -897,6 +1573,8 @@ This isn’t incredibly important right now, but I thought I’d mention it. “
## About something ~에 대해
<VocabQuiz fm-key="sentence" category="about" />
~에 대해 can also be attached to nouns like 를/을 위해, but this has the meaning of “about.” It’s very easy to understand when used in simple situations:
- 나는 너에 대해 생각했어 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2015/03/Lesson-13-sentence-30.mp3" /> = <span class="md spoiler">I thought about you</span>
+730 -24
View File
@@ -1,7 +1,702 @@
---
vocabulary:
nouns:
- ko: 냄새 (나다)
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v1.mp3
en: smell
notes: |
It is hard for an English speaker to understand this word. "냄새" is a noun that means "smell." If you want to say that something is smelly (adjective), you need to use the verb 나다, which is very confusing. 나다 acts as a passive verb which is introduced in Lesson 14.
For a positive/good smell, the word "향" is more commonly used.
examples:
- ko: 그 방에서 **냄새**가 나요
en: That room is **smelly** (A **smell** is coming out of that room)
- ko: 김치 찌개 **냄새** 같아요
en: It **smells** like Kimchi Jjigae
- ko: 청소기
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v2.mp3
en: vacuum cleaner
notes: Adding "기" after many nouns changes the word to a machine. "청소기" is literally "cleaning machine"
examples:
- ko: 저는 거실을 **청소기**로 청소했어요
en: I cleaned the living room with a **vacuum cleaner**
- ko: 얼굴
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v3.mp3
en: face
examples:
- ko: 저는 그 사람의 **얼굴**을 못 봤어요
en: I couldn't see that person's **face**
- ko: "**얼굴**이 왜 이렇게 빨개요?"
en: Why is your **face** so red?
- ko: 제가 세수를 하지 않았기 때문에 **얼굴**이 더러워 보여요
en: My **face** looks dirty because I didn't wash it
- ko: 시장
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v4.mp3
en: market
examples:
- ko: 저는 이 사과를 **시장**에서 샀어요
en: I bought these apples at the **market**
- ko: 토론토는 동양**시장**이 많아요
en: Toronto has a lot of Eastern (Oriental) **markets**
- ko: 저는 내일 **시장**에서 사과를 팔 거예요
en: I will sell apples at the **market** tomorrow
- ko: 동대문**시장**에서 아주머니가 많아요
en: There are a lot of older women in Dongdaemun **market**
- ko: 몸
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v5.mp3
en: body
examples:
- ko: 저의 **몸**이 너무 아파서 못 가요
en: I can't go because my **body** is so sore
- ko: 양복을 입은 후에 **몸**이 따뜻해졌어요
en: After I put on a suit, my **body** got warm
- ko: "**몸**무게가 몇 킬로예요?"
en: How much do you **weigh**?
- ko: "**몸**무게가 몇 킬로가 나가요?"
en: How much do you **weigh**?
- ko: 저는 **수건**으로 몸을 닦았어요
en: I wiped my **body** with a towel
- ko: 잠을 못 자면 다음 날에 **몸**이 피곤해져요
en: When/if you don't sleep well, the next day you (your **body**) will be tired
- ko: 불
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v6.mp3
en: light/fire
examples:
- ko: 저는 **불**을 껐어요
en: I turned the **lights** off
- ko: 옛날 사람들은 **불**을 발견했어요
en: People from a long time ago discovered **fire**
- ko: "**불**을 켜도 돼요?"
en: Can I turn the **lights** on?
- ko: 숙제
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v7.mp3
en: homework
notes: The pronunciation of this word is closer to "숙쩨"
examples:
- ko: 저는 **숙제**를 하기 싫어요
en: I don't like doing **homework**
- ko: 저는 **숙제**를 끝냈어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/44.mp3
en: I finished my **homework**
- ko: 저는 저의 **숙제**를 가져왔어요
en: I brought my **homework**
- ko: 그 학생은 **숙제**를 가져오지 않았어
en: That student didn't bring his **homework**
- ko: 저는 **숙제**를 나중에 할 거예요
en: I am going to do my **homework** later
- ko: 저는 **숙제**를 다 했어요
en: I did all of my **homework**
- ko: 저는 **숙제**를 빨리 했어요
en: I did my **homework** quickly
- ko: 저는 **숙제**를 끝내고 나서 집으로 갈 거예요
en: I will finish my **homework** and then go home
- ko: 저는 선생님에게 **숙제**에 대한 설명을 요청했어요
en: I asked the teacher for an explanation of the **homework**
- ko: 기억
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v8.mp3
en: memory
notes: |
The verb form of this word translates to "to remember"
The word 나다 is often used to indicate that a memory "comes" up. See Lesson 14 for more information.
examples:
- ko: 저는 그 사람의 이름이 **기억**이 안 나요
en: I can't **remember** that person's name
- ko: 행복했던 **기억**을 생각하고 있다
en: I'm thinking about happy **memories**
- ko: 나는 그때 **기억**이 안 났어
en: I didn't **remember** (that) at that time
- ko: 저는 선생님이 그것을 언제 가르쳤는지 **기억** 안 나요
en: I don't **remember** when the teacher taught that
- ko: 저는 그 학생이 어느 대학교를 다니는지 **기억** 안 나요
en: I don't **remember** which university that student attends
- ko: 선생님이 저에게 그 질문을 물어본 것이 **기억** 안 나요
en: I don't **remember** the teacher asking that question to me
- ko: 상자
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v9.mp3
en: box
notes: The Korean pronunciation of "box" (박스) is often used as well
examples:
- ko: 저는 핸드폰을 **상자**에 넣었어요
en: I put the phone in the **box**
- ko: 바람
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v10.mp3
en: wind
examples:
- ko: 바다 근처에 **바람**이 세게 불어요
en: The **wind** is strong near the ocean
- ko: 문이 **바람**에 닫혔어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-11.mp3
en: The door was closed by the **wind**
- ko: 세금
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v11.mp3
en: tax
examples:
- ko: 한국에서는 **세금**이 물건 값에 포함돼요
en: In Korea, **tax** is included in the price of goods
- ko: 이 값은 **세금**을 포함해요
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/1.mp3
en: This price includes **tax**
- ko: "**세금** 은 값에 포함된다"
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/16.mp3
en: The **tax** is included in the price
verbs:
- ko: 켜다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v12.mp3
en: to turn on
notes: The passive form of this word is 켜지다 (to be turned on)
examples:
- ko: 저는 아까 컴퓨터를 **켰어요**
en: I **turned** the computer **on** earlier
- ko: 끄다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v13.mp3
en: to turn off
notes: |
The passive form of this word is "꺼지다" (to be turned off)
끄다 follows the ㅡ irregular
~아/어: 꺼, ~ㄴ/은: 끈, ~ㄴ/는다: 끈다, ~ㅂ/습니다: 끕니다, ~ㄹ/을: 끌, ~니: 끄니, ~ㅁ/음: 끔, ~(으)려고: 끄려고, ~(으)시: 끄시, ~(으)면: 끄면, ~(으)니: 끄니
examples:
- ko: 저는 불을 **껐어요**
en: I **turned** the lights **off**
- ko: 저는 TV를 **껐어요**
en: I **turned** the TV **off**
- ko: 숨다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v14.mp3
en: to hide oneself
notes: |
The pronunciation of this word is closer to "숨따"
This is used when somebody hides his/herself. When hiding an object, 숨기다 is used.
examples:
- ko: 저는 큰 박스 뒤에 **숨었어요**
en: I **hid** behind a big box
- ko: 숨기다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v15.mp3
en: to hide an object
notes: |
When hiding oneself, the word 숨다 is used. For example: "저는 박스 뒤에 숨었어요"
However, when hiding an object, 숨기다 is used.
examples:
- ko: 저는 반지를 박스 안에 **숨겼어요**
en: I **hid** the ring in a box
- ko: 그녀는 아이가 죽었다는 사실을 **숨겼어요**
en: She **hid** (the fact that) her child died
- ko: 고장내다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v16.mp3
en: to break
notes: The passive form of this word is "고장 나다" (to be broken). The passive form of this word is more commonly used than the active version.
examples:
- ko: 저는 컴퓨터를 **고장 냈어요**
en: I **broke** the computer
- ko: 놓다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v17.mp3
en: to lay an object down
notes: |
The pronunciation of this word is closer to "노타"
The passive form of this word is "놓이다" (to be placed on something)
examples:
- ko: 펜을 탁자에 **놓으세요**!
en: "**Put** your pens on the table!"
- ko: 저는 병을 탁자에 **놓았어요**
en: I **put** the bottle on the table
- ko: 눕다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v18.mp3
en: to lie down
notes: |
눕다 follows the ㅂ irregular
The word 눕히다 is used to indicate that you laid another person down
~아/어: 누워, ~ㄴ/은: 누운, ~ㅂ/습니다: 눕습니다, ~ㄹ/을: 누울, ~니: 누우니, ~ㅁ/음: 누움, ~(으)려고: 누우려고, ~(으)시: 누우시, ~(으)면: 누우면, ~(으)니: 누우니
examples:
- ko: 저는 침대에 잠깐 **눕**고 싶어요
en: I want to **lie down** for just a second
- ko: 저는 **누워서** 책을 읽었어요
en: I **lied** down and read a book
- ko: 피곤한 사람은 침대에 **누워서** 잤어요
en: The tired person **lied** on the bed and slept
- ko: 존경하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v19.mp3
en: to respect
notes: When one receives respect, 존경 받다 is used
examples:
- ko: 아이들은 자기 부모님을 **존경해**야 돼요
en: Children must **respect** their parents
- ko: 저는 저의 형을 **존경해요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/17.mp3
en: I **respect** my brother
- ko: 만약 제가 선생님이라면 학생들에게 **존경**을 받고 싶을 거예요
en: If I were a teacher, I would want to be **respected** by students
- ko: 대체하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v20.mp3
en: to replace
notes: The noun form of this word translates to "replacement"
examples:
- ko: 회사는 기계를 **대체했어요**
en: The company **replaced** the machine
- ko: 교실에서 선생님들을 컴퓨터로 **대체할** 수 없어요
en: You can't **replace** teachers with computers in the classroom
- ko: 제공하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v21.mp3
en: to provide, to offer
examples:
- ko: 그 헬스장은 개인 사물함을 **제공해요**
en: That gym **provides** a personal locker
- ko: 우리 학교는 외국 선생님들한테 집을 **제공해요**
en: The school **provides** housing to foreign teachers
- ko: 포함하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v22.mp3
en: to include
notes: |
See Lesson 71 for more information
examples:
- ko: 이 가격은 세금을 **포함해요**
en: This price **includes** tax
- ko: 이 뷔페가격은 음료수를 **포함해요**
en: This buffet price **includes** drinks
- ko: 나를 **포함해서** 네 명이 있어요
en: There are four people **including** me
- ko: 내다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v23.mp3
en: to make something come up/arise/occur
notes: |
Words ending in 내다 can usually be switched to end in 나다 to change the meaning from active to passive (and vice-versa). However, not all words ending in 나다 have an equivalent 내다 verb (and vice-versa). 나다 and 내다 can be used as standalone verbs as well as be attached to other words. Both of their meanings are very complex and depend heavily on the situation. When used by itself, it usually translates to "pay" or to "submit". For example:
* 돈을 내다 = to pay (money)
* 세금을 내다 = to pay taxes
* 신청 서류를 내다 = to submit an application form
However, it can be found attached to many words that also have a 나다 (passive) equivalent:
* 저는 컴퓨터를 고장 냈어요 = I broke the computer
* 저는 숙제를 끝냈어요 = I finished my homework
examples:
- ko: 저는 컴퓨터를 고장 **냈어요**
en: I broke the computer
- ko: 저는 숙제를 끝**냈어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/44.mp3
en: I finished my homework
- ko: 싸우다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v24.mp3
en: to fight
examples:
- ko: 그는 여자 친구랑 지금 **싸우**고 있어요
en: He is **fighting** with his girlfriend now
- ko: 교실에서 **싸우지** 마세요
en: Don't **fight** in the classroom
- ko: 우리 할아버지는 한국전쟁에서 **싸웠어요**
en: Our grandfather **fought** in the Korean War
- ko: 속이다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v25.mp3
en: to trick somebody
notes: The passive form of this word is "속다" (to be tricked)
examples:
- ko: 저는 친구를 **속였어요**
en: I **tricked** my friend
- ko: 감동하다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v26.mp3
en: to impress
notes: |
The noun form of this word translates to "impression"
More commonly used as 감동받다 (to be impressed) and 감동시키다 (to impress)
examples:
- ko: 저는 당신의 말에 **감동받았어요**
en: I was **impressed** with what you said
- ko: 저는 학생들에게 **감동**을 크게 받았어요
en: I was greatly **impressed** by the students
- ko: 서다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v27.mp3
en: to stand
notes: |
To indicate that you went from the sitting/lying down position to standing, the word "일어나다" (to get up) should be used.
examples:
- ko: 우리는 한 시간 동안 줄에 **서 있었어요**
en: We were **standing** in the line for an hour
- ko: 저는 줄에 **서**서 순서를 기다렸어요
en: I **stood** in line and waited for my turn
passive_verbs:
- ko: 잠기다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v28.mp3
en: to be locked
notes: The active form of this word is "잠그다" (to lock)
examples:
- ko: 문이 **잠겨 있어요**
en: The door is **locked**
- ko: 켜지다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v29.mp3
en: to be turned on
notes: The active form of this word is "켜다" (to turn on)
examples:
- ko: 컴퓨터가 **켜져 있어요**
en: The computer is **(in the state of being) on**
- ko: 꺼지다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/12/Lesson14break.mp3
en: to be turned off
notes: The active form of this word is "끄다" (to turn off)
examples:
- ko: TV가 **꺼져 있어요**
en: The TV is **(in the state of being) off**
- ko: 나다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v30.mp3
en: to have something you didn't have
notes: |
Words ending in 나다 can usually be switched to end in 내다 to change the meaning from passive to active (and vice-versa). However, not all words ending in 나다 have an equivalent 내다 verb (and vice-versa). 나다 and 내다 can be used as standalone verbs as well as be attached to other words. Both of their meanings are very complex and depend heavily on the situation. I discuss this more deeply in this lesson. Furthermore, a detailed list of many ways 나다 can be used is shown in Lesson 128.
examples:
- ko: 좋은 생각이 **났어요**!
en: I **have** a good idea
- ko: 우리 아들은 열이 **났어요**
en: My son **has** a fever
- ko: 고장나다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v31.mp3
en: to be broken
notes: The active form of this word is "고장 내다" (to break)
examples:
- ko: 컴퓨터는 **고장 났어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/43-1.mp3
en: the computer is **broken**
- ko: 화나다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v32.mp3
en: to be mad
examples:
- ko: 저의 여자 친구는 저한테 **화(가) 났어요**
en: My girlfriend was **mad** at me
- ko: 선생님을 존경하지 않으면 나는 **화가 날 거야**
en: If you don't respect your teacher, I will be **mad**
- ko: 짜증나다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v33.mp3
en: to be annoyed
examples:
- ko: 저는 그가 너무 **짜증나요**
en: I am **annoyed** at him
- ko: 수압이 너무 낮아서 우리 집에서 샤워를 하면 **짜증이 나요**
en: It is **annoying** showering at my house because the water pressure is too low
- ko: 놓이다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v34.mp3
en: for an object to be lying down
notes: |
The pronunciation of this word is closer to "노이다"
The active form of this word is "놓다" (to put down)
examples:
- ko: 펜이 탁자에 **놓여 있어요**
en: The pen is **on** the table (**lying on** the table)
- ko: 책상에 책 몇 권이 **놓여 있어요**
en: There are some books **on** the desk
- ko: 열리다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v35.mp3
en: to be open
notes: The active form of this word is "열다" (to open)
examples:
- ko: 문이 **열려 있어요**
en: The door is **open(ed)**
- ko: 문이 **열려** 있을 것 같아요
en: The door will probably be **open**
- ko: 닫히다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v36.mp3
en: to be closed
notes: The active form of this word is "닫다" (to close)
examples:
- ko: 문이 **닫혀** 있었어요
en: The door was **closed**
- ko: 문은 바람에 **닫혔어요**
en: The door was **closed** by the wind
- ko: 속다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v37.mp3
en: to be tricked
notes: |
The pronunciation of this word is closer to "속따"
The active form of this word is "속이다" (to trick)
examples:
- ko: 저는 친구에게 **속았어요**
en: I was **tricked** by my friend
adverbs:
- ko: 자꾸
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v38.mp3
en: repeatedly
examples:
- ko: 저에게 왜 **자꾸** 전화해요?
en: Why do you keep calling me **over and over**?
sentence:
되다:
- ko: 이 값은 세금을 포함**해요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/1.mp3
en: This price **includes** tax
- ko: 세금은 포함**돼요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/2-1.mp3
en: The tax **is included**
- ko: 저는 점심을 준비**했어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-1.mp3
en: I **prepared** (the) lunch
- ko: 점심이 준비**되었어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-2.mp3
en: (The) lunch **was prepared**
- ko: 회사는 기계를 대체**했어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/5.mp3
en: The company **replaced** the machine
- ko: 기계는 대체**되었어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/6.mp3
en: The machine **was replaced**
- ko: 그것은 이해**되었어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/7-1.mp3
en: It **was** understood
- ko: 그것은 학생들**에게** 이해**되었어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/8.mp3
en: It **was** understood **by** the students
- ko: 집은 청소**되었어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/9-1.mp3
en: The house **was** cleaned
- ko: 집은 아버지**에게** 청소**되었어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/10-1.mp3
en: The house **was** cleaned **by** my dad
- ko: 학생들은 그것을 이해**했어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-3.mp3
en: The students **understood** that
- ko: 아버지는 집을 청소**했어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-4.mp3
en: My dad **cleaned** the house
- ko: 저는 집을 청소기로 청소**했어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-5.mp3
en: I **cleaned** the house with a vacuum cleaner
- ko: 집은 청소기**로** 청소**되었어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/14.mp3
en: the house **was** cleaned **by** a vacuum cleaner
- ko: 세금은 값에 포함**된다**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/16.mp3
en: The tax **is included** in the price
받다:
- ko: 저는 저의 형을 존경**해요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/17.mp3
en: I **respect** my brother
- ko: 저의 형은 존경 **받아요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/18.mp3
en: My brother **is respected**
notes: literally - my brother receives respect
- ko: 교장선생님은 선생님들**에게** 존경**받아요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/19.mp3
en: The principal **is** respected **by** the teachers
- ko: 나는 너의 말**에**\* 감동**받았어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/20.mp3
en: I **was** impressed **with** what you said
non-하다:
- ko: 밥은 학교에 의해 **제공된다**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-6.mp3
en: food **is provided** by the school
- ko: 밥은 학교에 의해 **제공되었다**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-7.mp3
en: food **was provided** by the school
- ko: 문은 바람에 의해 **닫혔어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-8.mp3
en: The door **was closed** by the wind
notes: Make sure you use the passive verb and not the active verb (for example – use 닫히다 instead of 닫다 in a passive sentence)
- ko: 저는 컴퓨터를 **켰어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/24.mp3
en: I **turned** the computer on
- ko: 컴퓨터가 **켜져 있어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/25-1.mp3
en: The computer is **(in the state of)** on
- ko: 저는 TV를 **껐어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/26.mp3
en: I **turned** the TV off
- ko: TV가 **꺼져 있어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/27.mp3
en: The TV is **(in the state of)** off
- ko: 저는 문을 **잠갔어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/28.mp3
en: I **locked** the door
- ko: 문이 **잠겨 있어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/29-1.mp3
en: The door is **(in the state of)** locked
- ko: 저는 문을 **닫았어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-9.mp3
en: I **closed** the door
- ko: 문이 **닫혔어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-10.mp3
en: The door **was closed**
notes: This is the exact passive equivalent of “저는 문을 닫았어요”
- ko: 문이 바람에 **닫혔어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-11.mp3
en: The door **was** closed by the wind
- ko: 문이 **닫혀 있었어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-12.mp3
en: The door **was** closed
notes: The sentence is specifically indicating that the door was in the state of “closed”. Here, we have absolutely no idea if something/somebody had opened it recently; all we know is that, at that time, the door was not open.
- ko: 저는 문을 **닫아요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-13.mp3
en: I **close** the door
notes: Though it makes sense, it probably wouldn’t be said like this unless there was some sort of adverb or other information in the sentence (for example, “I close the door every day at 9:00pm”)
- ko: 문이 **닫혀요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-14.mp3
en: The door **closes**
notes: While technically correct, you would need some other information to make this sentence more natural (for example, “the door closes every day at 9:00pm”). This is the exact passive equivalent of “저는 문을 닫아요”
- ko: 문이 **닫혀 있어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-14-s1.mp3
en: The door **is closed**
notes: This sentence is not referring to the door closing. It is only stating that the door is currently in the state of “closed”
- ko: 문이 **닫힐 거예요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-15.mp3
en: The door **will close**
notes: It is the exact passive equivalent of “저는 문을 닫을 거예요”
- ko: 문이 **닫혀 있을 거예요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-16.mp3
en: The door **will be closed**
notes: This is a passive sentence that is indicating that the door will be in the state of “closed” in the future.
- ko: 나는 친구를 **속였어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/39.mp3
en: I **tricked** my friend
- ko: 나는 친구에게 **속았어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-17.mp3
en: I **was tricked** by my friend
- ko: 펜이 탁자에 **놓여 있었어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/41.mp3
en: The pen was **(in the state of)** laying on the table
나다:
- ko: 숙제는 **끝났어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/42.mp3
en: My homework **is finished**
- ko: 컴퓨터는 **고장 났어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/43-1.mp3
en: The computer **is broken**
- ko: 저는 숙제를 **끝냈어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/44.mp3
en: I **finished** my homework
- ko: 저는 컴퓨터를 **고장냈어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/45.mp3
en: I **broke** the computer
- ko: 아! 그것이 **기억났다!**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/46.mp3
en: Ah! I **remember** that!
notes: Literally – my memory came up
- ko: 좋은 생각이 **났어요!**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/47-1.mp3
en: I **have** a good idea
notes: Literally – a good idea came up
- ko: 그 가방에서 냄새가 **났어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-18.mp3
en: That bag **is smelly**
notes: A smell is coming out of that bag
- ko: 그 방에서 냄새가 **났어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-19.mp3
en: That room **is smelly**
notes: A smell is coming out of that room
- ko: 큰 일 **났어요**!
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-20.mp3
en: Oh no! Something bad **just happened**!
notes: Literally, this translates to “a big thing/task/work came up!” In Korean, this expression is used similar to the expression “Oh no! Something bad just happened!” A more common expression would probably be “Oh crap!”
- ko: 땀이 **났어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-21.mp3
en: I’m **sweating**
- ko: 땀이 **나요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-14-s2.mp3
en: Sweat is **literally currently coming out** of my body
notes: |
When 나다 is conjugating into the present tense in these cases, it insinuates that the thing is currently “coming up.” In most situations, the difference is negligible and distinguishing them would really be splitting hairs.
- ko: 저는 그것이 **기억났어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-22.mp3
en: I **remembered** that…
notes: which means that I also currently remember that fact… which means that I know that fact that I had previously remembered
- ko: 저는 그것이 **기억나요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-23.mp3
en: That memory is **literally currently just coming** to my mind
- ko: 나는 그때 기억이 안 **났어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-24.mp3
en: I didn’t **remember (that) at that time**
- ko: 나는 그것이 기억 안 **나**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-25.mp3
en: I don’t **remember that**
normal:
- ko: 기회가 주**어졌어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/57.mp3
en: I **was given** a chance
notes: add ~아/어지다 to the verb stem to make it passive.
- ko: 그 집은 한국에서 지**어졌어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/58.mp3
en: that house **was built** in Korea
notes: add ~아/어지다 to the verb stem to make it passive.
---
# Lesson 14: Korean Passive Verbs
## Vocabulary
<VocabQuiz />
### Nouns
냄새 (나다) <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson14v1.mp3" /> = <span class="md spoiler">smell</span>
@@ -68,8 +763,8 @@ Common Usages:
Examples:
- 저는 이 사과를 **시장**에서 샀어요 = <span class="md spoiler">I bought these apples at the <strong>market</strong></span>
- 토론토는 동양**시장**이 많아요 = <span class="md spoiler">Toronto has a lot of Eastern (Oriental) <strong>markets</strong></span>
- 저는 이 사과를 **시장**에서 샀어요 = <span class="md spoiler">I bought these apples at the **market**</span>
- 토론토는 동양**시장**이 많아요 = <span class="md spoiler">Toronto has a lot of Eastern (Oriental) **markets**</span>
- 저는 내일 **시장**에서 사과를 팔 거예요 = <span class="md spoiler">I will sell apples at the **market** tomorrow</span>
- 동대문**시장**에서 아주머니가 많아요 = <span class="md spoiler">There are a lot of older women in Dongdaemun **market**</span>
@@ -93,9 +788,9 @@ Examples:
- 저의 **몸**이 너무 아파서 못 가요 = <span class="md spoiler">I can’t go because my **body** is so sore</span>
- 양복을 입은 후에 **몸**이 따뜻해졌어요 = <span class="md spoiler">After I put on a suit, my **body** got warm</span>
- **몸**무게가 몇 킬로예요? = <span class="md spoiler">How much do you weigh?</span>
- **몸**무게가 몇 킬로가 나가요? = <span class="md spoiler">How much do you weigh?</span>
- 저는 **수건**으로 몸을 닦았어요 = <span class="md spoiler">I wiped my body with a <strong>towel</strong></span>
- **몸**무게가 몇 킬로예요? = <span class="md spoiler">How much do you **weigh**?</span>
- **몸**무게가 몇 킬로가 나가요? = <span class="md spoiler">How much do you **weigh**?</span>
- 저는 **수건**으로 몸을 닦았어요 = <span class="md spoiler">I wiped my **body** with a towel</span>
- 잠을 못 자면 다음 날에 **몸**이 피곤해져요 = <span class="md spoiler">When/if you don’t sleep well, the next day you (your **body**) will be tired</span>
</Details>
@@ -127,12 +822,12 @@ The pronunciation of this word is closer to “숙쩨”
Examples:
- 저는 **숙제**를 하기 싫어요 = <span class="md spoiler">I don’t like doing <strong>homework</strong></span>
- 저는 **숙제**를 끝냈어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/44.mp3" /> = <span class="md spoiler">I finished my <strong>homework</strong></span>
- 저는 저의 **숙제**를 가져왔어요 = <span class="md spoiler">I brought my <strong>homework</strong></span>
- 그 학생은 **숙제**를 가져오지 않았어 = <span class="md spoiler">That student didn’t bring his <strong>homework</strong></span>
- 저는 **숙제**를 하기 싫어요 = <span class="md spoiler">I don’t like doing **homework**</span>
- 저는 **숙제**를 끝냈어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/44.mp3" /> = <span class="md spoiler">I finished my **homework**</span>
- 저는 저의 **숙제**를 가져왔어요 = <span class="md spoiler">I brought my **homework**</span>
- 그 학생은 **숙제**를 가져오지 않았어 = <span class="md spoiler">That student didn’t bring his **homework**</span>
- 저는 **숙제**를 나중에 할 거예요 = <span class="md spoiler">I am going to do my **homework** later</span>
- 저는 **숙제**를 다 했어요 = <span class="md spoiler">I did all of my <strong>homework</strong></span>
- 저는 **숙제**를 다 했어요 = <span class="md spoiler">I did all of my **homework**</span>
- 저는 **숙제**를 빨리 했어요 = <span class="md spoiler">I did my **homework** quickly</span>
- 저는 **숙제**를 끝내고 나서 집으로 갈 거예요 = <span class="md spoiler">I will finish my **homework** and then go home</span>
- 저는 선생님에게 **숙제**에 대한 설명을 요청했어요 = <span class="md spoiler">I asked the teacher for an explanation of the **homework**</span>
@@ -159,7 +854,7 @@ The word 나다 is often used to indicate that a memory “comes” up. See Less
Examples:
- 저는 그 사람의 이름이 **기억**이 안 나요 = <span class="md spoiler">I can’t **remember** that person’s name</span>
- 행복했던 **기억**을 생각하고 있다 = <span class="md spoiler">I’m thinking about happy <strong>memories</strong></span>
- 행복했던 **기억**을 생각하고 있다 = <span class="md spoiler">I’m thinking about happy **memories**</span>
- 나는 그때 **기억**이 안 났어 = <span class="md spoiler">I didn’t **remember** (that) at that time</span>
- 저는 선생님이 그것을 언제 가르쳤는지 **기억** 안 나요 = <span class="md spoiler">I don’t **remember** when the teacher taught that</span>
- 저는 그 학생이 어느 대학교를 다니는지 **기억** 안 나요 = <span class="md spoiler">I don’t **remember** which university that student attends</span>
@@ -245,7 +940,7 @@ The passive form of this word is “<TTS>꺼지다</TTS>” (<span class="md spo
Examples:
- 저는 불을 **껐어요** = <span class="md spoiler">I **turned** the lights <strong>off</strong></span>
- 저는 불을 **껐어요** = <span class="md spoiler">I **turned** the lights **off**</span>
- 저는 TV를 **껐어요** = <span class="md spoiler">I **turned** the TV **off**</span>
</Details>
@@ -482,7 +1177,7 @@ To indicate that you went from <span class="md spoiler">the sitting/lying down p
Examples:
- 우리는 한 시간 동안 줄에 **서** **있었어요** = <span class="md spoiler">We were **standing** in the line for an hour</span>
- 우리는 한 시간 동안 줄에 **서 있었어요** = <span class="md spoiler">We were **standing** in the line for an hour</span>
- 저는 줄에 **서**서 순서를 기다렸어요 = <span class="md spoiler">I **stood** in line and waited for my turn</span>
</Details>
@@ -509,7 +1204,7 @@ The active form of this word is “<TTS>켜다</TTS>” (<span class="md spoiler
Example:
- 컴퓨터가 **켜져** **있어요** = <span class="md spoiler">The computer is **(in the state of being) on**</span>
- 컴퓨터가 **켜져 있어요** = <span class="md spoiler">The computer is **(in the state of being) on**</span>
</Details>
@@ -521,7 +1216,7 @@ The active form of this word is “<TTS>끄다</TTS>” (<span class="md spoiler
Example:
- TV가 **꺼져** **있어요** = <span class="md spoiler">The TV is **(in the state of being)** **off**</span>
- TV가 **꺼져 있어요** = <span class="md spoiler">The TV is **(in the state of being) off**</span>
</Details>
@@ -568,7 +1263,7 @@ Example:
Example:
- 저의 여자 친구는 저한테 **화(가) 났어요** = <span class="md spoiler">My girlfriend was **mad** at me</span>
- 선생님을 존경하지 않으면 나는 **화가** **날** **거야** = <span class="md spoiler">If you don’t respect your teacher, I will be **mad**</span>
- 선생님을 존경하지 않으면 나는 **화가 날 거야** = <span class="md spoiler">If you don’t respect your teacher, I will be **mad**</span>
</Details>
@@ -579,8 +1274,7 @@ Example:
Example:
- 저는 그가 너무 **짜증나요** = <span class="md spoiler">I am **annoyed** at him</span>
- 수압이 너무 낮아서 우리 집에서 샤워를 하면 **짜증이 나요**
- <span class="md spoiler">It is **annoying** showering at my house because the water pressure is too low</span>
- 수압이 너무 낮아서 우리 집에서 샤워를 하면 **짜증이 나요** = <span class="md spoiler">It is **annoying** showering at my house because the water pressure is too low</span>
</Details>
@@ -598,8 +1292,8 @@ Common Usages:
Examples:
- 펜이 탁자에 **놓여** **있어요** = <span class="md spoiler">The pen is **on** the table (**lying** **on** the table)</span>
- 책상에 책 몇 권이 **놓여** **있어요** = <span class="md spoiler">There are some books **on** the desk</span>
- 펜이 탁자에 **놓여 있어요** = <span class="md spoiler">The pen is **on** the table (**lying on** the table)</span>
- 책상에 책 몇 권이 **놓여 있어요** = <span class="md spoiler">There are some books **on** the desk</span>
</Details>
@@ -615,7 +1309,7 @@ Common Usages:
Examples:
- 문이 **열려** **있어요** = <span class="md spoiler">The door is <strong>open(ed)</strong></span>
- 문이 **열려 있어요** = <span class="md spoiler">The door is **open(ed)**</span>
- 문이 **열려** 있을 것 같아요 = <span class="md spoiler">The door will probably be **open**</span>
</Details>
@@ -632,7 +1326,7 @@ Common Usages:
Examples:
- 문이 **닫혀** 있었어요 = <span class="md spoiler">The door was <strong>closed</strong></span>
- 문이 **닫혀** 있었어요 = <span class="md spoiler">The door was **closed**</span>
- 문은 바람에 **닫혔어요** = <span class="md spoiler">The door was **closed** by the wind</span>
</Details>
@@ -674,6 +1368,8 @@ You can download all of these files in one package [here](https://www.howtostudy
## Introduction
<VocabQuiz fm-key="sentence" />
This lesson contains a lot of boring, confusing grammar. I am warning you now.
If you looked at the vocabulary list of this lesson before reading this, you may have noticed something strange with some of the words. A lot of the words look very similar to each other. The reason for this is because today you will learn about passive verbs in Korean. Though I studied passive verbs very early in my studies, it is something that actually took me a year to fully grasp – and not because it is incredibly difficult, but rather that I never received any proper instruction regarding passive verbs.
@@ -785,6 +1481,8 @@ Alright, let’s get started.
## 하다 to 되다
<VocabQuiz fm-key="sentence" category="되다" />
I’ve told you twice before that verbs ending in 하다 can usually be separated from 하다 to create a noun form of that verb. 하다 then has the meaning of “do”:
- 나는 일했어 = <span class="md spoiler">I worked</span>
@@ -893,6 +1591,8 @@ Notice in the example above that the particle “~에” is not denoting that th
## 하다 to 받다
<VocabQuiz fm-key="sentence" category="받다" />
In addition to the usual way of switching 하다 with 되다 to make a passive verb – there is another (similar) way of making these verbs passive. This can only be done with certain verbs (usually acting on people), and is done by switching 하다 with 받다 (<span class="md spoiler">to receive</span>). For example:
- 저는 저의 형을 존경해요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/17.mp3" /> = <span class="md spoiler">I respect my brother</span>
@@ -907,6 +1607,8 @@ The same rules apply with ~에 and ~에게 as described previously:
## Non-하다 verbs
<VocabQuiz fm-key="sentence" category="non-하다" />
So far you have only learned how to change ~하다 verbs into the passive tense. There are, of course many verbs in Korean that don’t end in ~하다. When dealing with words not ending in 하다, there is often a separate (but very similar) word that can be used to indicate the passive voice. These words will always be presented separately in the vocabulary lists. Here are some examples:
- 켜다 = <span class="md spoiler">to turn on</span>
@@ -985,7 +1687,7 @@ _As you know,_ 있다 _has many usages and meanings in Korean. Sometimes_ 있다
- 저는 문을 잠갔어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/28.mp3" /> = <span class="md spoiler">I locked the door</span>
- 문이 잠겨 있어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/29-1.mp3" /> = <span class="md spoiler">The door is (in the state of) locked</span>
Notice that ~이/가 is used in the passive sentences above. In most cases, this is usually more natural with these types of sentences. Don’t worry about that for now (I’ll discuss it in [Lesson 17](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-17/)), and focus more on how the verbs (both active and passive) are being used.
Notice that ~이/가 is used in the passive sentences above. In most cases, this is usually more natural with these types of sentences. Don’t worry about that for now (I’ll discuss it in [Lesson 17](./17-connecting-want.md)), and focus more on how the verbs (both active and passive) are being used.
---
@@ -1056,6 +1758,8 @@ Here’s an example that I am including just because I have the audio for it. I
## 내다 and 나다
<VocabQuiz fm-key="sentence" category="나다" />
There are quite a few words in Korean that can either end in 나다 or 내다.
These two play the same role as 되다 and 하다, where a word ending in 나다 is <span class="md spoiler">passive</span> and a word ending in 내다 is <span class="md spoiler">active</span>. For example:
@@ -1095,7 +1799,7 @@ As I said before, 나다 itself means “<span class="md spoiler">for something
- 그 가방에서 냄새가 났어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-18.mp3" /> = <span class="md spoiler">That bag is smelly</span> (<span class="md spoiler">A smell is coming out of that bag</span>)
- 그 방에서 냄새가 났어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-14-19.mp3" /> = <span class="md spoiler">That room is smelly</span> (<span class="md spoiler">A smell is coming out of that room</span>)
_Remember that_ 나다 *is a passive verb and cannot act on an object. Therefore, the particle ~*이/가 *must be used on “*것*.” You will learn more about this sentence structure in the [next lesson](https://www.howtostudykorean.com/unit1/unit-1-lessons-9-16/lesson-15/#m3).*
_Remember that_ 나다 *is a passive verb and cannot act on an object. Therefore, the particle ~*이/가 *must be used on “*것*.” You will learn more about this sentence structure in the [next lesson](./15-good-carry-similar.md#m3).*
Another common example of “나다” in use is in the following phrase:
@@ -1180,6 +1884,8 @@ This type of past-tense-conjugated negative sentence with 나다 would _only_ be
## Normal verbs
<VocabQuiz fm-key="sentence" category="normal" />
So far, you’ve learned about dealing with 하다/되다/받다 verbs, verbs that can be in a state (닫다/닫히다) and 나다/내다 verbs. Sometimes, however, a verb that fits none of these conditions can be put into the passive voice. All that needs to be done in these cases is to add ~아/어지다 to the verb stem to make it passive. Note that this cannot be done with all verbs, but some common examples are:
- 주다 = <span class="md spoiler">to give</span>
@@ -247,7 +247,12 @@ vocabulary:
- ko: 과거
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v17.mp3
en: past
notes: 'This can be used as an adverb to indicate something happened in the past. For example: "저는 **과거**에 그런 행동을 많이 했어요" = "I acted like that a lot in the **past**". It can also be used as a noun, for example: "그의 **과거**는 큰 비밀이에요" = "His **past** is a big secret"'
notes: |
* 저는 **과거**에 그런 행동을 많이 했어요 = I acted like that a lot in the **past**
It can also be used as a noun, for example:
* 그의 **과거**는 큰 비밀이에요 = His **past** is a big secret
examples:
- ko: "저는 **과거**에 그런 행동을 많이 했어요"
en: "I acted like that a lot in the **past**"
@@ -291,9 +296,9 @@ vocabulary:
en: The **picture** is hanging on the wall
- ko: 저는 그 **그림**이 마음에 들어요
en: I like that **picture**
- ko: "**그** 그림은 높은 가치가 있어요"
- ko: "그 **그림**은 높은 가치가 있어요"
en: That **picture** has a high value
- ko: 그 학생은 그림을 잘 그리는 재능을 가지고 있어요
- ko: 그 학생은 **그림**을 잘 그리는 재능을 가지고 있어요
en: That student has a talent for **drawing** (**pictures**)
- ko: 그 **그림**을 볼 때 배경이 무슨 의미가 있는지 생각해 보세요
en: When you look at the **painting,** try to think about what meaning the background has
@@ -308,7 +313,14 @@ vocabulary:
en: inside a stomach/belly
- ko: 꿈속에
en: in one's dream
notes: 'Korean people can''t explain the difference between 안 and 속. 속 is more commonly used when, if you enter something, the place will be filled with stuff and is not "empty". Conversely, "안" would be more commonly used when, if you enter something, the place is basically empty. For example, if you enter water or if you enter your body. In both cases, "속" would be used to refer to the inside of a body, or the inside of water. If you enter your body, it is filled with stuff, and if you enter the water, it is still all water. The opposite is if you are talking about a room, or a building. You can go into those places and it is relatively empty.'
notes: |
Korean people can’t explain the difference between 안 and 속.
속 is more commonly used when, if you enter something, the place will be filled with stuff and is not “empty”. Conversely, “안” would be more commonly used when, if you enter something, the place is basically empty.
For example, if you enter water or if you enter your body. In both cases, “속” would be used to refer to the inside of a body, or the inside of water. If you enter your body, it is filled with stuff, and if you enter the water, it is still all water.
The opposite is if you are talking about a room, or a building. You can go into those places and it is relatively empty.
examples:
- ko: 저는 **속**이 안 좋아요
en: I don't feel good (my **insides** aren't good)
@@ -317,7 +329,12 @@ vocabulary:
- ko: 들다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v19.mp3
en: to lift, to carry, to hold
notes: 들다 follows the ㄹ irregular. 들다 can be used in many different ways. "to lift/carry/hold something" is one of the main overarching usages. See below in this lesson for more information.
notes: |
들다 follows the ㄹ irregular
들다 can be used in many different ways. "to lift/carry/hold something" is one of the main overarching usages. See below in this lesson for more information
~아/어: 들어, ~ㄴ/은: 든, ~ㄴ/는다: 든다, ~ㅂ/습니다: 듭니다, ~ㄹ/을: 들, ~니: 드니, ~ㅁ/음: 듦, ~(으)려고: 들려고, ~(으)시: 드시, ~(으)면: 들면, ~(으)니: 드니
usages:
- ko: 고개를 들다
en: to raise one's head
@@ -338,7 +355,12 @@ vocabulary:
- ko: 들다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v20.mp3
en: to enter, to go into
notes: 들다 follows the ㄹ irregular. 들다 can be used in many different ways. "to enter, go into" is one of the main overarching usages. See below in this lesson for more information.
notes: |
들다 follows the ㄹ irregular
들다 can be used in many different ways. "to enter, go into" is one of the main overarching usages. See below in this lesson for more information
~아/어: 들어, ~ㄴ/은: 든, ~ㄴ/는다: 든다, ~ㅂ/습니다: 듭니다, ~ㄹ/을: 들, ~니: 드니, ~ㅁ/음: 듦, ~(으)려고: 들려고, ~(으)시: 드시, ~(으)면: 들면, ~(으)니: 드니
usages:
- ko: 들어가다
en: to go in
@@ -356,7 +378,24 @@ vocabulary:
- ko: 가져오다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v21.mp3
en: to bring an object
notes: 'The pronunciation of this word is closer to "가저오다". This is not used when you "bring" a person somewhere. Instead, the word "데려오다" is used. 가져오다 often translates to "to bring" and 가져가다 often translates to "to take." However, the translation of "to bring" could work for both 가져오다 and 가져가다. 가지다 means "to possess" and "오다" and "가다" mean "to come" and "to go" respectively. Deciding to use 가져오다 or 가져가다 depends on the point of reference of the acting agent in the sentence to the speaker. Specifically, whether the acting agent is coming or going to the location in question. Imagine you have money at your house, and you will go to your friend''s house later to give it to him. Therefore, you will have to "bring" or "take" (same meaning) that money with you when you head over there. If you are currently at your house and are talking to your friend about what you will do, you should use the word "가져가다" because you are going to your friend''s house while in possession of the money (저는 돈을 가져갈 거예요). In this example, 가져가다 is used and the best English translation would be "I will bring the money." However, imagine you have already arrived at your friend''s house with the money. You can use the word "가져오다" because you came to your friend''s house while in possession of the money (저는 돈을 가져왔어요). In this example, 가져오다 is used and the best English translation would be "I brought the money." People would read those two examples and think "Oh, so if it is something happening in the future – I should use 가져가다 and if it is something happening in the past, I should use 가져오다." No. It has nothing to do with the tense of the sentence. It has everything to do with the point of reference of the acting agent of the sentence to the speaker. For example, imagine you are at your house with the money. If your friend wants to tell you to "bring the money," he should use the word "가져오다" because you are coming (not going) to him. To his reference, you are "coming." In this case, 가져오다 should be used.'
notes: |
The pronunciation of this word is closer to "가저오다"
This is not used when you "bring" a person somewhere. Instead, the word "데려오다" is used
가져오다 often translates to "to bring" and 가져가다 often translates to "to take." However, the translation of "to bring" could work for both 가져오다 and 가져가다.
가지다 means "to possess" and "오다" and "가다" mean "to come" and "to go" respectively. Deciding to use 가져오다 or 가져가다 depends on the point of reference of the acting agent in the sentence to the speaker. Specifically, whether the acting agent is coming or going to the location in question.
Imagine you have money at your house, and you will go to your friend's house later to give it to him. Therefore, you will have to "bring" or "take" (same meaning) that money with you when you head over there. If you are currently at your house and are talking to your friend about what you will do, you should use the word "가져가다" because you are going to your friend's house while in possession of the money (저는 돈을 가져갈 거예요). In this example, 가져가다 is used and the best English translation would be "I will bring the money."
However, imagine you have already arrived at your friend's house with the money. You can use the word "가져오다" because you came to your friend's house while in possession of the money (저는 돈을 가져왔어요). In this example, 가져오다 is used and the best English translation would be "I brought the money."
People would read those two examples and think "Oh, so if it is something happening in the future – I should use 가져가다 and if it is something happening in the past, I should use 가져오다."
No. It has nothing to do with the tense of the sentence. It has everything to do with the point of reference of the acting agent of the sentence to the speaker.
For example, imagine you are at your house with the money. If your friend wants to tell you to "bring the money," he should use the word "가져오다" because you are coming (not going) to him. To his reference, you are "coming." In this case, 가져오다 should be used.
examples:
- ko: 저는 저의 숙제를 **가져왔어요**
en: I **brought** my homework
@@ -370,7 +409,24 @@ vocabulary:
- ko: 가져가다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v22.mp3
en: to bring/take an object
notes: 'The pronunciation of this word is closer to "가저가다". This is not used when you "take" a person somewhere. Instead, the word "데려가다" is used. 가져오다 often translates to "to bring" and 가져가다 often translates to "to take." However, the translation of "to bring" could work for both 가져오다 and 가져가다. 가지다 means "to possess" and "오다" and "가다" mean "to come" and "to go" respectively. Deciding to use 가져오다 or 가져가다 depends on the point of reference of the acting agent in the sentence to the speaker. Specifically, whether the acting agent is coming or going to the location in question. Imagine you have money at your house, and you will go to your friend''s house later to give it to him. Therefore, you will have to "bring" or "take" (same meaning) that money with you when you head over there. If you are currently at your house and are talking to your friend about what you will do, you should use the word "가져가다" because you are going to your friend''s house while in possession of the money (저는 돈을 가져갈 거예요). In this example, 가져가다 is used and the best English translation would be "I will bring the money." However, imagine you have already arrived at your friend''s house with the money. You can use the word "가져오다" because you came to your friend''s house while in possession of the money (저는 돈을 가져왔어요). In this example, 가져오다 is used and the best English translation would be "I brought the money." People would read those two examples and think "Oh, so if it is something happening in the future – I should use 가져가다 and if it is something happening in the past, I should use 가져오다." No. It has nothing to do with the tense of the sentence. It has everything to do with the point of reference of the acting agent of the sentence to the speaker. For example, imagine you are at your house with the money. If your friend wants to tell you to "bring the money," he should use the word "가져오다" because you are coming (not going) to him. To his reference, you are "coming." In this case, 가져오다 should be used.'
notes: |
The pronunciation of this word is closer to "가저가다"
This is not used when you "take" a person somewhere. Instead, the word "데려가다" is used
가져오다 often translates to "to bring" and 가져가다 often translates to "to take." However, the translation of "to bring" could work for both 가져오다 and 가져가다.
가지다 means "to possess" and "오다" and "가다" mean "to come" and "to go" respectively. Deciding to use 가져오다 or 가져가다 depends on the point of reference of the acting agent in the sentence to the speaker. Specifically, whether the acting agent is coming or going to the location in question.
Imagine you have money at your house, and you will go to your friend's house later to give it to him. Therefore, you will have to "bring" or "take" (same meaning) that money with you when you head over there. If you are currently at your house and are talking to your friend about what you will do, you should use the word "가져가다" because you are going to your friend's house while in possession of the money (저는 돈을 가져갈 거예요). In this example, 가져가다 is used and the best English translation would be "I will bring the money."
However, imagine you have already arrived at your friend's house with the money. You can use the word "가져오다" because you came to your friend's house while in possession of the money (저는 돈을 가져왔어요). In this example, 가져오다 is used and the best English translation would be "I brought the money."
People would read those two examples and think "Oh, so if it is something happening in the future – I should use 가져가다 and if it is something happening in the past, I should use 가져오다."
No. It has nothing to do with the tense of the sentence. It has everything to do with the point of reference of the acting agent of the sentence to the speaker.
For example, imagine you are at your house with the money. If your friend wants to tell you to "bring the money," he should use the word "가져오다" because you are coming (not going) to him. To his reference, you are "coming." In this case, 가져오다 should be used.
examples:
- ko: 얼마나 많은 돈을 **가져갈** **거예요**?
en: How much money will you **bring/take**?
@@ -380,7 +436,10 @@ vocabulary:
- ko: 돌리다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v23.mp3
en: to turn, to run a machine, to hand out
notes: This word appears in Korean Sign Explanation [Video 14]
notes: |
This word appears in Korean Sign Explanation \[Video 14\]
<YouTube id="b8X6ryrJGeY" />
usages:
- ko: 세탁기를 돌리다
en: to turn on, use a washing machine
@@ -397,7 +456,12 @@ vocabulary:
- ko: 돌다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v24.mp3
en: to turn oneself, to rotate oneself
notes: 돌다 follows the ㄹ irregular. 돌리다 is used when one turns an object. 돌다 can be used when one turns his/her body.
notes: |
돌다 follows the ㄹ irregular
돌리다 is used when one turns an object. 돌다 can be used when one turns his/her body.
~아/어: 돌아, ~ㄴ/은: 돈, ~ㄴ/는다: 돈다, ~ㅂ/습니다: 돕니다, ~ㄹ/을: 돌, ~니: 도니, ~ㅁ/음: 돎, ~(으)려고: 돌려고, ~(으)시: 도시, ~(으)면: 돌면, ~(으)니: 도니
usages:
- ko: 돌아가다
en: to go back
@@ -420,7 +484,8 @@ vocabulary:
- ko: 돌아가다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v26.mp3
en: to go back, to return
notes: 'A compound verb made up of "돌다" and "가다." If you are currently in a place and are talking about returning to another place. For example, if you are from Canada but currently in Korea and talking about returning to Canada (i.e. going back to Canada), you should use this word instead of "돌아오다."'
notes: |
A compound verb made up of "돌다" and "가다." If you are currently in a place and are talking about returning to another place. For example, if you are from Canada but currently in Korea and talking about returning to Canada (i.e. going back to Canada), you should use this word instead of "돌아오다."
usages:
- ko: 돌아가시다
en: A formal way to say somebody has "passed away" (the honorific ~(으)시 is introduced in Lesson 39)
@@ -436,7 +501,8 @@ vocabulary:
- ko: 돌아오다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v27.mp3
en: to come back, to return
notes: 'A compound verb made up of "돌다" and "오다." If you are currently in a place and are talking about returning to the same place. For example, if you are from Canada talking about returning to Canada (i.e. coming back to Canada), you should use this word instead of "돌아가다."'
notes: |
A compound verb made up of "돌다" and "오다." If you are currently in a place and are talking about returning to the same place. For example, if you are from Canada talking about returning to Canada (i.e. coming back to Canada), you should use this word instead of "돌아가다."
examples:
- ko: 캐나다에 언제 **돌아올** **거예요**?
en: When are you **coming** **back** to Canada?
@@ -461,7 +527,10 @@ vocabulary:
- ko: 걸다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v29.mp3
en: to hang
notes: 걸다 follows the ㄹ irregular
notes: |
걸다 follows the ㄹ irregular
~아/어: 걸어, ~ㄴ/은: 건, ~ㄴ/는다: 건다, ~ㅂ/습니다: 겁니다, ~ㄹ/을: 걸, ~니: 거니, ~ㅁ/음: 검, ~(으)려고: 걸려고, ~(으)시: 거시, ~(으)면: 걸면, ~(으)니: 거니
usages:
- ko: 시동을 걸다
en: to start the engine of your car
@@ -502,7 +571,12 @@ vocabulary:
- ko: 부르다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v32.mp3
en: to call out
notes: '부르다 follows the 르 irregular. When used to say that one "calls" something by a certain name, "라고" is usually used in the sentence. See Lesson 52 for more information.'
notes: |
부르다 follows the 르 irregular
When used to say that one "calls" something by a certain name, "라고" is usually used in the sentence. See [Lesson 52](https://www.howtostudykorean.com/unit-3-intermediate-korean-grammar/unit-3-lessons-51-58/lesson-52/) for more information.
~아/어: 불러, ~ㄴ/은: 부른, ~ㄴ/는다: 부른다, ~ㅂ/습니다: 부릅니다, ~ㄹ/을: 부를, ~니: 부르니, ~ㅁ/음: 부름, ~(으)려고: 부르려고, ~(으)시: 부르시, ~(으)면: 부르면, ~(으)니: 부르니
examples:
- ko: 저는 저의 여자 친구를 '애기'라고 **불러요**
en: I **call** my girlfriend "baby"
@@ -514,7 +588,10 @@ vocabulary:
- ko: 고르다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v33.mp3
en: to choose, to pick
notes: 고르다 follows the 르 irregular
notes: |
고르다 follows the 르 irregular
~아/어: 골라, ~ㄴ/은: 고른, ~ㄴ/는다: 고른다, ~ㅂ/습니다: 고릅니다, ~ㄹ/을: 고를, ~니: 고르니, ~ㅁ/음: 고름, ~(으)려고: 고르려고, ~(으)시: 고르시, ~(으)면: 고르면, ~(으)니: 고르니
examples:
- ko: 저는 이것과 저젓 중에 **고를** 수 없어요
en: I can't **choose** between the two
@@ -618,7 +695,18 @@ vocabulary:
- ko: 똑같다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v39.mp3
en: to be exactly the same
notes: 'The pronunciation of this word is closer to "똑깓다". When comparing two things by saying they are the same, it is more common to use 똑같다 instead of 같다. For example, instead of saying "저와 저의 형은 같아요" it would be more natural to say "저와 저의 형은 똑같아요". See below in this lesson for more information.'
notes: |
The pronunciation of this word is closer to “똑깓다”
When comparing two things by saying they are the same, it is more common to use 똑같다 instead of 같다. For example, instead of saying:
* 저와 저의 형은 같아요
It would be more natural to say:
* 저와 저의 형은 똑같아요
See below in this lesson for more information
examples:
- ko: 우리가 **똑같은** 옷을 입고 있어요
en: We are wearing **exactly** **the** **same** clothes
@@ -628,7 +716,14 @@ vocabulary:
- ko: 자랑스럽다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v40.mp3
en: to be proud
notes: 'The pronunciation of this word is closer to "자랑스럽따". 자랑스럽다 follows the ㅂ irregular. 자랑스럽다 is an adjective. To indicate that you are proud of something/somebody, the particle ~이/가 must be attached to the object of the sentence. See Lesson 15 for more information.'
notes: |
The pronunciation of this word is closer to "자랑스럽따"
자랑스럽다 follows the ㅂ irregular
자랑스럽다 is an adjective. To indicate that you are proud of something/somebody, the particle ~이/가 must be attached to the object of the sentence. See Lesson 15 for more information.
~아/어: 자랑스러워, ~ㄴ/은: 자랑스러운, ~ㅂ/습니다: 자랑스럽습니다, ~ㄹ/을: 자랑스러울, ~니: 자랑스러우니, ~ㅁ/음: 자랑스러움, ~(으)려고: 자랑스러우려고, ~(으)시: 자랑스러우시, ~(으)면: 자랑스러우면, ~(으)니: 자랑스러우니
examples:
- ko: 저는 우리 아들이 **자랑스러워요**
en: I am **proud** of our son
@@ -643,7 +738,18 @@ vocabulary:
- ko: 또 다르다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v41.mp3
en: another
notes: 'The function of "또 다르다" is hard to explain, but it is easier to explain (and understand) if you think of it as two separate words (which it actually is). It is a combination of the adjective "다르다" and the adverb "또", which is used when something happens again. "또 다르다" is used when one particular thing has already been described, and you are explaining _another_ thing. For example, imagine you are sitting in a meeting with your coworkers discussing potential problems for a plan. People are all discussing the problems they see, and you can point out: "또 다른 문제는 그것이 비싸요" = "Another problem is it (that thing) is expensive". In this same respect, you can say the following sentence, and although the translation in English is similar, try to understand the difference in adding "또": "저는 또 다른 영화를 봤어요" = "I saw ANother movie". In this, maybe the person saw one movie, and then _again_ saw a different movie.'
notes: |
The function of “또 다르다” is hard to explain, but it is easier to explain (and understand) if you think of it as two separate words (which it actually is). It is a combination of the adjective “다르다” and the adverb “또”, which is used when something happens again.
“또 다르다” is used when one particular thing has already been described, and you are explaining _another_ thing. For example, imagine you are sitting in a meeting with your coworkers discussing potential problems for a plan. People are all discussing the problems they see, and you can point out:
* 또 다른 문제는 그것이 비싸요 = Another problem is it (that thing) is expensive
In this same respect, you can say the following sentence, and although the translation in English is similar, try to understand the difference in adding “또”:
* 저는 또 다른 영화를 봤어요 \= I saw ANother movie
In this, maybe the person saw one movie, and then _again_ saw a different movie.
examples:
- ko: "**또 다른** 문제는 그것이 비싸요"
en: "**Another** problem is it (that thing) is expensive"
@@ -653,7 +759,12 @@ vocabulary:
- ko: 시끄럽다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v42.mp3
en: to be noisy, to be loud
notes: 'The pronunciation of this word is closer to "시끄럽따". 시끄럽다 follows the ㅂ irregular.'
notes: |
The pronunciation of this word is closer to "시끄럽따"
시끄럽다 follows the ㅂ irregular
~아/어: 시끄러워, ~ㄴ/은: 시끄러운, ~ㅂ/습니다: 시끄럽습니다, ~ㄹ/을: 시끄러울, ~니: 시끄러우니, ~ㅁ/음: 시끄러움, ~(으)려고: 시끄러우려고, ~(으)시: 시끄러우시, ~(으)면: 시끄러우면, ~(으)니: 시끄러우니
usages:
- ko: 시끄러운 학생
en: loud students
@@ -688,7 +799,10 @@ vocabulary:
- ko: 드물다
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson15v44.mp3
en: to be rare
notes: 드물다 follows the ㄹ irregular
notes: |
드물다 follows the ㄹ irregular
~아/어: 드물어, ~ㄴ/은: 드문, ~ㅂ/습니다: 드뭅니다, ~ㄹ/을: 드물, ~니: 드무니, ~ㅁ/음: 드묾, ~(으)려고: 드물려고, ~(으)시: 드무시, ~(으)면: 드물면, ~(으)니: 드무니
usages:
- ko: 드문 현상
en: a rare phenomenon
@@ -703,6 +817,326 @@ vocabulary:
examples:
- ko: "**아마도** 우리가 내일 갈 거예요"
en: "**Maybe** we will go tomorrow"
sentence:
좋다:
- ko: 저는 **좋은** 김치를 먹었어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-1.mp3
en: I ate **good** kimchi
- ko: 김치는 **좋아요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/2-2.mp3
en: Kimchi is **good**
- ko: 저는 김치를 **좋아해요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/3.mp3
en: I **like** Kimchi
- ko: 김치는 **싫어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/4-1.mp3
en: Kimchi is **bad/not good**
- ko: 저는 김치를 **싫어해요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/5-1.mp3
en: I **don’t like** Kimchi
- ko: 학교가 **좋아요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-4.mp3
en: I **like** school
- ko: 학교가 **싫어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-5.mp3
en: I **don’t like** school
- ko: 맥주가 **좋아요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-6.mp3
en: I **like** beer
- ko: 맥주가 **싫어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-7.mp3
en: I **don’t like** beer
SOA:
- ko: 저는 김치를 **먹었어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-8.mp3
en: I **ate** kimchi
- ko: 저는 김치가 **좋아요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/13.mp3
en: I **like** kimchi
- ko: 저는 한국 음식**이** 그리워요
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/14-1.mp3
en: I miss Korean food
notes: &soa-particle |
Adjectives and passive verbs can never act on objects, so instead of using ~를/을 in these situations, you have to use ~이/가.
- ko: 나는 네**가** 자랑스러워
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/15.mp3
en: I am proud of you
notes: *soa-particle
- ko: 나는 그 사람**이** 싫어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/16-1.mp3
en: I don’t like that person
notes: *soa-particle
- ko: 저는 한국**이** 좋아요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-9.mp3
en: I like Korea
notes: *soa-particle
- ko: 저는 그것**이** 기억나요!
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-10.mp3
en: I remember that!
notes: *soa-particle
- ko: 저는 땀**이** 나요!
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-11.mp3
en: I’m sweating!
notes: *soa-particle
- ko: 저는 화**가** 났어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-12.mp3
en: I was/I am angry
notes: *soa-particle
들다:
- ko: 나는 동아리에 **들었어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/21.mp3
en: I **joined** a club (I **“entered”** a club)
notes: &meaning-enter |
들다 can be used under the overarching situation of “to enter/go into something/somewhere.”
- ko: (나는) 잠이 **들었다**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/22.mp3
en: I **fell asleep** (I **“entered”** sleep)
notes: *meaning-enter
- ko: 저는 그 그림이 마음에 **들어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-13.mp3
en: I **like** that picture (That picture **enters** my heart)
notes:
- *meaning-enter
- The definition of the word 마음 generally refers to one’s heart/one’s mind
- ko: 저는 손을 **들었어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-14.mp3
en: I **raised** my hand (I **“held up”** my hand/**carried** my hand)
notes: &meaning-carry |
들다 can be used under the overarching situation of “to carry/hold something.”
- ko: 저는 가방을 **들었어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-15.mp3
en: I **carried** the/my bag
notes: *meaning-carry
compound:
- ko: 아버지는 은행에 **들어갔어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/26-1.mp3
en: My dad **went into** the bank
notes: |
<ul>
<li>들다 + 가다 = 들 + 어 + 가다
<ul>
<li>들어가다 = to go into something</li>
</ul>
</li>
</ul>
- ko: 남자는 방에 **들어왔어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/27-1.mp3
en: A man **came into** the room
notes: |
<ul>
<li>들다 + 오다 = 들 + 어 + 오다
<ul>
<li>들어오다 = to come into something</li>
</ul>
</li>
</ul>
- ko: 저는 집에서 **나갔어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-16.mp3
en: I **went out** of home (I **left** home)
notes: |
<ul>
<li>나다 + 가다 = 나 + 아 + 가다
<ul>
<li>나가다 = to go out of something</li>
</ul>
</li>
</ul>
- ko: 학생은 학교에서 **나왔어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-17.mp3
en: The student **came out** of school
notes: |
<ul>
<li>나다 + 오다 = 나 + 아 + 오다
<ul>
<li>나오다 = to come out of something</li>
</ul>
</li>
</ul>
- ko: 나는 나의 숙제를 **가져왔어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-18.mp3
en: I **brought** my homework
notes: &bring |
<ul>
<li>가지다 + 오다 = 가지 + 어 + 오다
<ul>
<li>가져오다 = to bring something</li>
</ul>
</li>
</ul>
- ko: 그 학생은 숙제를 **가져오지** 않았어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/31.mp3
en: That student didn’t **bring** his homework
notes: *bring
- ko: 저는 저의 모자를 **가져갈 거예요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-19.mp3
en: I will **bring/take** my hat
notes: |
<ul>
<li>가지다 + 가다 = 가지 + 어 + 가다
<ul>
<li>가져가다 = to take something</li>
</ul>
</li>
</ul>
- ko: 저는 9월1일에 캐나다에 **돌아갈 거예요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/33-1.mp3
en: I will **go back** to Canada on September 1st
notes:
- &rotate |
돌다 = to turn/to spin/to rotate
- 돌다 + 가다 = 돌아가다 = to return/go back
- ko: 저는 친구에게 책을 **돌려줬어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/34.mp3
en: I **gave** my friend **back** his book
notes:
- *rotate
- 돌리다 + 주다 = 돌려주다 = to give back
different:
- ko: 그것은 **비슷해요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/35.mp3
en: That is **similar**
- ko: 우리는 매우 **달라요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/36.mp3
en: We are so **different**
- ko: 우리는 **똑같아요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-20.mp3
en: We are **exactly the same**
notes: in most cases (especially in cases like this where nothing is being compared), it is more natural to use the word “똑같다,” which usually translates to “exactly the same.”
- ko: 저는 친구**와** 비슷해요
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/38.mp3
en: I am similar **to** my friend
notes: &sim-prep |
In Korean, the particle ~와/과/랑/이랑/하고 can be used to represent all of these meanings.
- ko: 그 건물은 어제**와** 달라요
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/39.mp3
en: That building is different **from** yesterday
notes: *sim-prep
- ko: 캐나다 사람들은 한국 사람들**과** 같아요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-21.mp3
en: Canadian people are the same **as** Korean people
notes: *sim-prep
- ko: 이 학교는 우리 학교**와** 똑같아요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-22.mp3
en: This school is exactly the same **as** our school
notes: *sim-prep
- ko: 우리 학교**와** 이 학교는 똑같아요
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-24.mp3
en: Our school **and** this school are exactly the same
notes: *sim-prep
- ko: 나는 **잘생**긴 남자를 만났어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/43-2.mp3
en: I met a **handsome** man
notes: Subject – adjective (describing an) – object – verb
- ko: 나는 **비슷**한 남자를 만났어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/44-1.mp3
en: I met a **similar** man
- ko: 나는 **같**은 남자를 만났어
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-25.mp3
en: I met **the same** man
- ko: 나는 *너의 남자친구와 비슷한 남자*를 만났어
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/46-1.mp3
en: I met **a man that is similar to your boyfriend**
notes: |
<ul>
<li>비슷한 남자 = similar man</li>
<li>너의 남자친구와 비슷한 남자 = A man (that is) similar to your boyfriend</li>
<li>나는 ( — )를 만났어 = I met —</li>
<li>나는 (너의 남자친구와 비슷한 남자)를 만났어 = I met a man that is similar to your boyfriend</li>
</ul>
- ko: 저는 **그와 달라요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/Lesson-15-s1.mp3
en: I am **different** from him
- ko: 저는 다른 **영화**를 봤어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/48.mp3
en: I saw a **different (another)** movie
- ko: "**또 다른** 문제는 그것이 비싸요"
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/04/Lesson-15-27.mp3
en: "**Another** problem is it (that thing) is expensive"
- ko: 저는 **또** 다른 영화를 봤어요
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/50-1.mp3
en: I saw **another** movie
notes:
- try to understand the difference in adding “또”
- In this, maybe the person saw one movie, and then again saw a different movie.
homonym:
- ko: 나는 편지를 친구를 위해 **쓸** 거야
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/51.mp3
en: I am going to **write** a letter for my friend
- ko: 나는 그 기계를 **썼어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/52.mp3
en: I **used** that machine
- ko: 저의 아버지는 모자를 항상 **써요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/53.mp3
en: My father always **wears** a hat
- ko: 그림은 벽에 **걸려 있어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/54.mp3
en: The picture **is hanging** on the wall
- ko: 나는 줄에 **걸렸어**
audio: https://www.howtostudykorean.com/wp-content/uploads/2015/11/55.mp3
en: I **tripped over** the line
- ko: 서울부터 인천까지 2시간 **걸려요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/56.mp3
en: It **takes** 2 hours to get from Seoul to Incheon
- ko: 우리 학교에서 식당까지 10분 **걸려요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/57-1.mp3
en: It **takes** 10 minutes to get from our school to the restaurant
sick:
- ko: 배가 **아파요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/58-1.mp3
en: My stomach is **sore**
- ko: 팔이 **아파요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/59.mp3
en: My arm is **sore**
- ko: 저는 어제 너무 **아팠어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/60.mp3
en: I was very **sick** yesterday
- ko: 저는 감기**에 걸렸어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/61.mp3
en: I **caught** a cold/I **have** a cold
- ko: 저는 독감**에 걸렸어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/62.mp3
en: I **caught** the flu/I **have** the flu
- ko: 저의 아들은 시끄럽게 **기침했어요**
audio: https://www.howtostudykorean.com/wp-content/uploads/2017/03/63.mp3
en: My son **coughed** loudly
notes: 기침 (a cough) and 재채기 (a sneeze), although not originally nouns of Chinese origin, are both nouns where you can add 하다 to get the respective verb form (to cough and to sneeze).
---
# Lesson 15: 들다, Korean Homonyms, Being Sick, Different/Similar/Same
@@ -748,8 +1182,8 @@ Common Usages:
Examples:
- 우리 학교에서 **모자**를 쓰지 마세요 = <span class="md spoiler">Don’t wear a **hat** in our school</span>
- 저의 아버지는 **모자**를 항상 써요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/53.mp3" /> = <span class="md spoiler">My father always wears a <strong>hat</strong></span>
- 저는 저의 **모자**를 가져갈 거예요 = <span class="md spoiler">I will bring my <strong>hat</strong></span>
- 저의 아버지는 **모자**를 항상 써요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/53.mp3" /> = <span class="md spoiler">My father always wears a **hat**</span>
- 저는 저의 **모자**를 가져갈 거예요 = <span class="md spoiler">I will bring my **hat**</span>
- 그 사람은 너무 큰 **모자**를 써요 (쓰다) = <span class="md spoiler">That person is wearing too big of a **hat**</span>
</Details>
@@ -781,7 +1215,7 @@ Common Usages:
Examples:
- **감기**는 나았어요 = <span class="md spoiler">My **cold** is better</span>
- 따뜻하게 안 입으면 **감기**에 걸릴 거예요 = <span class="md spoiler">If you don’t dress warm(ly), you will catch a <strong>cold</strong></span>
- 따뜻하게 안 입으면 **감기**에 걸릴 거예요 = <span class="md spoiler">If you don’t dress warm(ly), you will catch a **cold**</span>
- 우리 애기는 어제 **감기**에 걸렸어요 = <span class="md spoiler">Our baby caught a **cold** yesterday</span>
</Details>
@@ -857,7 +1291,7 @@ It’s hard to explain exactly what this is in English – but Korean high schoo
Example:
- 저는 댄스 **동아리**에 들었어요 = <span class="md spoiler">I entered a dancing <strong>club</strong></span>
- 저는 댄스 **동아리**에 들었어요 = <span class="md spoiler">I entered a dancing **club**</span>
- 무슨 **동아리** 해? = <span class="md spoiler">What **club** are you in?</span>
</Details>
@@ -889,7 +1323,7 @@ Common Usages:
Examples:
- 저는 **수학**을 못해요 = <span class="md spoiler">I am bad at <strong>math</strong></span>
- 저는 **수학**을 못해요 = <span class="md spoiler">I am bad at **math**</span>
- 저는 그 **수학**문제를 연필과 종이로 풀었어요 = <span class="md spoiler">I solved that **math** problem using a paper and a pencil</span>
- **수학**은 제가 제일 좋아하는 수업이에요 = <span class="md spoiler">**Math** is my favorite class</span>
@@ -909,8 +1343,8 @@ Examples:
- 저는 어제 **가족**을 만났어요 = <span class="md spoiler">I met my **family** yesterday</span>
- 우리 **가족**은 일요일마다 교회를 다녀요 = <span class="md spoiler">Our **family** goes to church every Sunday</span>
- **가족**은 가장 중요해요 = <span class="md spoiler">Family is the most <strong>important</strong></span>
- 제가 미국에 있었을 때 **가족**을 보고 싶었어요 = <span class="md spoiler">When I was in the US, I missed my <strong>family</strong></span>
- **가족**은 가장 중요해요 = <span class="md spoiler">Family is the most **important**</span>
- 제가 미국에 있었을 때 **가족**을 보고 싶었어요 = <span class="md spoiler">When I was in the US, I missed my **family**</span>
- 저는 여자친구를 **가족**한테 소개했어요 = <span class="md spoiler">I introduced my girlfriend to my **family**</span>
</Details>
@@ -929,7 +1363,7 @@ Common Usages:
Example:
- 그 학생은 또래보다 영어**실력**이 뒤처지고 있어요 = <span class="md spoiler">That student is falling behind his peers in English <strong>ability</strong></span>
- 그 학생은 또래보다 영어**실력**이 뒤처지고 있어요 = <span class="md spoiler">That student is falling behind his peers in English **ability**</span>
- 저의 한국어**실력**은 작년보다 많이 늘었어요 = <span class="md spoiler">My Korean **skills** have gotten much better compared to last year</span>
- 열심히 공부한 이래로 **실력**은 빨리 늘었어요 = <span class="md spoiler">Since studying hard, my **skills** have been increasing</span>
@@ -962,7 +1396,7 @@ Common Usages:
Examples:
- 그는 흥미로운 **삶**을 살아요 = <span class="md spoiler">He lives an interesting <strong>life</strong></span>
- 그는 흥미로운 **삶**을 살아요 = <span class="md spoiler">He lives an interesting **life**</span>
- 그는 어려운 **삶**을 경험했어요 = <span class="md spoiler">He experienced a difficult **life**</span>
</Details>
@@ -1018,8 +1452,8 @@ Common Usages:
Examples:
- 그 사람의 **마음**은 따뜻해요 = <span class="md spoiler">That person has a warm <strong>heart</strong></span>
- 그것을 **마음** **대로** 하세요 = <span class="md spoiler">Do that <strong>as you wish</strong></span>
- 그 사람의 **마음**은 따뜻해요 = <span class="md spoiler">That person has a warm **heart**</span>
- 그것을 **마음** **대로** 하세요 = <span class="md spoiler">Do that **as you wish**</span>
- 저는 저 그림이 **마음에 들어요** = <span class="md spoiler">I **like** that picture</span>
</Details>
@@ -1391,7 +1825,7 @@ Examples:
Example:
- 그는 어려운 삶을 **경험했어요** = <span class="md spoiler">He **experienced** a difficult life</span>
- 그 학교에서 일한 것은 좋은 **경험**이었어요 = <span class="md spoiler">Working at that school was good <strong>experience</strong></span>
- 그 학교에서 일한 것은 좋은 **경험**이었어요 = <span class="md spoiler">Working at that school was good **experience**</span>
- 제가 여기서 일하고 싶은 이유는 새로운 **경험**을 하고 싶기 때문이에요 = <span class="md spoiler">The reason I want to work here is because I want to have a new **experience**</span>
</Details>
@@ -1567,10 +2001,10 @@ Common Usages:
Example:
- 학생들은 **시끄럽게** 공부했어요 = The students studied <strong>loudly</strong>
- 학생들은 **시끄럽게** 공부했어요 = The students studied **loudly**
- 시끄러워서 **미안해요** = **Sorry** it is so loud!
- 여기가 너무 **시끄러워**서 저는 집중할 수 없어요 = I can’t concentrate here because it is too <strong>loud</strong>
- 영화를 보는 동안 다른 사람들이 너무 **시끄러웠어요** = While watching the movie, the other people were really <strong>loud</strong>
- 여기가 너무 **시끄러워**서 저는 집중할 수 없어요 = I can’t concentrate here because it is too **loud**
- 영화를 보는 동안 다른 사람들이 너무 **시끄러웠어요** = While watching the movie, the other people were really **loud**
- 학생들이 너무 **시끄러워**서 저는 교수님의 말을 못 들었어요 = The students were too **loud**, so I couldn’t hear the professor
</Details>
@@ -1628,6 +2062,8 @@ You can download all of these files in one package [here](https://www.howtostudy
## Introduction
<VocabQuiz fm-key="sentence" />
This lesson will have a very different feel than all the previous lessons you have learned. Most of the words you have learned so far can be understood and used in sentences without much thought or hesitation. For example, if you knew how to say this:
- 저는 한국어를 배웠어요 = <span class="md spoiler">I learned Korean.</span>
@@ -1640,6 +2076,8 @@ However, there are many words that you would not be able to pick up instinctivel
## 좋다/싫다 to 좋아하다/싫어하다
<VocabQuiz fm-key="sentence" category="좋다" />
I have told you a few times that in _most_ words ending in 하다, you can remove the ~하다 and the remaining word then becomes a noun of that verb. For example:
- <TTS>말</TTS> = <span class="md spoiler">speech/words/the thing that you say</span>
@@ -1721,6 +2159,8 @@ The mechanics to how this is done is talked about next.
## Subject – Object – Adjective Form
<VocabQuiz fm-key="sentence" category="SOA" />
One of the basic fundamentals of grammar (not just Korean grammar) is that an adjective cannot act on an object. This means in Korean you can never have a sentence predicated by an adjective that is acting on a word with the object particle ~를/을. This means that you cannot say this:
- ~~저는 김치를 좋다~~ = I kimchi good
@@ -1751,7 +2191,7 @@ What I am trying to get at here – is that often times in Korean there is an ad
Adjectives and passive verbs can never act on objects, so instead of using ~를/을 in these situations, you have to use ~이/가. Another example where this is commonly done is with <TTS>그립다</TTS>:
그립다 = this word is translated as “<span class="md spoiler">to miss</span>,” but is usually used when <span class="md spoiler">talking about missing a non-person</span> (it is sometimes used to say that you miss a person, but we will talk about how to say you miss a person in [Lesson 17](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-17/)).
그립다 = this word is translated as “<span class="md spoiler">to miss</span>,” but is usually used when <span class="md spoiler">talking about missing a non-person</span> (it is sometimes used to say that you miss a person, but we will talk about how to say you miss a person in [Lesson 17](./17-connecting-want.md)).
그립다 is an _adjective_ in Korean (because it actually describes <span class="md spoiler">the feeling rather than an action verb</span>). This means that if you want to say “I miss Korean food” you cannot say:
@@ -1775,6 +2215,8 @@ You also saw this same phenomenon in the [previous lesson](./14-passive.md) with
## 들다
<VocabQuiz fm-key="sentence" category="들다" />
The word 들다 in Korean is very difficult because it can be used in so many ways. Two of the most common usages are:
- 들다 = <span class="md spoiler">to carry/hold something</span>
@@ -1819,6 +2261,8 @@ This is the first of many times where I will encourage you to not translate/unde
## Compound Verbs
<VocabQuiz fm-key="sentence" category="compound" />
You will notice (or may have already noticed) that many Korean verbs are made by combining two verbs together. This is usually done by adding one verb to the stem of the other, along with ~아/어. When this happens, the meanings of both of the words form to make one word. For example:
---
@@ -1908,6 +2352,8 @@ That’s good enough for now, but you will continue to see these as you progress
## Different/Similar/Same (다르다/비슷하다/같다)
<VocabQuiz fm-key="sentence" category="different" />
Three words that you have learned in previous lessons are:
- <TTS>다르다</TTS> = <span class="md spoiler">different</span>
@@ -1977,7 +2423,7 @@ That should be easy for you too. But what about if you wanted to say “I met a
- 나는 ( — )를 만났어 = <span class="md spoiler">I met —</span>
- 나는 (너의 남자친구와 비슷한 남자)를 만났어 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/46-1.mp3" /> = <span class="md spoiler">I met a man that is similar to your boyfriend</span>
This structure is very complex and is an introduction to describing nouns with phrases instead of simply using one adjective. In [Lesson 26](https://www.howtostudykorean.com/unit-2-lower-intermediate-korean-grammar/unit-2-lessons-26-33/lesson-26/), you will learn more about how to describe nouns with things other than simple adjectives – such as verbs and complex phrases.
This structure is very complex and is an introduction to describing nouns with phrases instead of simply using one adjective. In [Lesson 26](../unit-2/26-describing-nouns-with-verbs.md), you will learn more about how to describe nouns with things other than simple adjectives – such as verbs and complex phrases.
The meaning of “different” in English has more than one nuance, which are possessed by “다르다” as well. Although the meaning of “different” in the two sentences below is similar, try to see that they are slightly different:
@@ -2009,6 +2455,8 @@ In this, maybe the person saw one movie, and then _again_ saw a different movie.
## Homonyms
<VocabQuiz fm-key="sentence" category="homonym" />
This may be something that is obvious when learning any language, but I wanted to point it out. In Korean, there are a lot of words that have more than one meaning. It is like this in English as well, but most people never notice it until they stop to think about how many there actually are. Whenever there is a word with many meanings in Korean, these different meanings will always have a separate entry in our vocabulary lists (not necessarily in the same lesson, however). An example of this is “쓰다”:
- 쓰다 = <span class="md spoiler">to write</span>
@@ -2065,6 +2513,8 @@ My point? Just because it looks like a word has many meanings doesn’t necessar
## Being Sick in Korea
<VocabQuiz fm-key="sentence" category="sick" />
One of the things people often try to learn first when learning a new language is how to express themselves in the event that they have to go to the doctor. This is something that wouldn’t fit into any specific lesson, so I want to cover it here:
You already know the word 아프다, which you can use to indicate that you are sick OR sore in some place. In English “sore” and “sick” mean slightly different things. Because of this, Korean people (who are learning English) often mistakenly say “My arm is sick.” Also note that 아프다 is an adjective… and for some reason ‘이/가’ are used instead of 는/은 when creating sentences about a place on your body:
@@ -2086,7 +2536,7 @@ Also note that even though you have a cold in the present tense, Korean people u
- 저의 아들은 시끄럽게 기침했어요 <AudioButton src="https://www.howtostudykorean.com/wp-content/uploads/2017/03/63.mp3" /> = <span class="md spoiler">My son coughed loudly</span>
_(Probably more naturally translated to “My son was coughing loudly.” Korean people don’t really distinguish between simple and progressive past tenses as much as we do in English. You will learn about the progressive tense in [Lesson 18](https://www.howtostudykorean.com/unit1/unit-1-lessons-17-25-2/lesson-18/).)_
_(Probably more naturally translated to “My son was coughing loudly.” Korean people don’t really distinguish between simple and progressive past tenses as much as we do in English. You will learn about the progressive tense in [Lesson 18](./18-present-progressive.md).)_
Wow that’s a long lesson. I have to apologize for writing these lessons so long. This lesson could have easily been broken into 2, 3 or even 4 separate lessons, but I chose against doing it that way. When I was first learning Korean, I wanted to plow through material as fast as I possibly could – and I guess that is coming out as I am writing these lessons as well.
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+27
View File
@@ -9,6 +9,16 @@ hero:
[Sound Rules](./ภาษาเกาหลีเรียนง่าย/1/04-sound-rules.md)
## [Themes](./howtostudykorean/theme/index.md)
- [School](./howtostudykorean/theme/01-school.md)
- [Transportation](./howtostudykorean/theme/02-transportation.md)
- [Eating](./howtostudykorean/theme/03-eating.md)
- [Shopping](./howtostudykorean/theme/04-shopping.md)
- [Weather](./howtostudykorean/theme/05-weather.md)
## Unit 1
- [Lesson 1: Basic Sentences](./howtostudykorean/unit-1/01-sentences.md)
- [Lesson 2: Particles](./howtostudykorean/unit-1/02-particles.md)
- [Lesson 3: Verbs/Adjectives](./howtostudykorean/unit-1/03-verbs.md)
@@ -27,3 +37,20 @@ hero:
- [Lesson 13: and, with, to, from, for, about](./howtostudykorean/unit-1/13-and-with.md)
- [Lesson 14: Passive Verbs](./howtostudykorean/unit-1/14-passive.md)
- [Lesson 15: 들다, Homonyms, Being Sick, Different/Similar/Same](./howtostudykorean/unit-1/15-good-carry-similar.md)
- [Lesson 16: Noun + ~적, ~적으로, ~적이다, ~스럽다](./howtostudykorean/unit-1/16-relating-to.md)
---
- [Lesson 17: Connecting Particle \~고 and \~고 싶다 “I want to”](./howtostudykorean/unit-1/17-connecting-want.md)
- [Lesson 18: Present Progressive \~고 있다; To be Getting \~아/어지다](./howtostudykorean/unit-1/18-present-progressive.md)
- [Lesson 19: Comparatives and Superlatives: 더, 보다, 가장/제일](./howtostudykorean/unit-1/19-comparatives.md)
- [Lesson 20: Well and Poorly: 잘 and 못](./howtostudykorean/unit-1/20-well-poorly.md)
- [Lesson 21: Asking Questions: Why, When, Where, Who](./howtostudykorean/unit-1/21-why-when-where-who.md)
- [Lesson 22: Asking Questions: How, What, Which, How Many](./howtostudykorean/unit-1/22-how-which-what-how-many.md)
- [Lesson 23: ㅎ Irregular: Colors, 이렇다, 그렇다 and 저렇다](./howtostudykorean/unit-1/23-ㅎ-irregulars-colors.md)
- [Lesson 24: Before, After, Since, Within (전/후/이래로/이내)](./howtostudykorean/unit-1/24-before-after-since-within.md)
- [Lesson 25: Anybody, Everybody, Somebody, Nobody, etc.](./howtostudykorean/unit-1/25-anybody-everybody.md)
## Unit 2
- [Lesson 26: \~는 것 Describing Nouns with Verbs](./howtostudykorean/unit-2/26-describing-nouns-with-verbs.md)
+13 -1
View File
@@ -2,6 +2,7 @@
"name": "ko-grammar",
"version": "1.0.0",
"description": "",
"type": "module",
"main": "index.js",
"scripts": {
"start": "tauri dev",
@@ -25,7 +26,18 @@
"vue": "^3.5.39"
},
"dependencies": {
"@supabase/supabase-js": "^2.110.5",
"@tauri-apps/plugin-http": "2.6.0",
"@types/better-sqlite3": "^9.6.0",
"@types/markdown-it": "^14.2.0",
"@types/node": "^24.13.3",
"better-sqlite3": "^13.0.3",
"kuromoji-ko": "^1.0.8",
"markdown-it": "^14.3.0",
"pdfjs-dist": "^5.7.284",
"tauri-plugin-tts-api": "^0.1.11"
"tauri-plugin-tts-api": "0.2.1",
"vite": "^8.1.5",
"yaml": "^2.9.0",
"zod": "^4.4.3"
}
}
+656 -17
View File
@@ -8,19 +8,52 @@ importers:
.:
dependencies:
'@supabase/supabase-js':
specifier: ^2.110.5
version: 2.110.5
'@tauri-apps/plugin-http':
specifier: 2.6.0
version: 2.6.0
'@types/better-sqlite3':
specifier: ^9.6.0
version: 9.6.0
'@types/markdown-it':
specifier: ^14.2.0
version: 14.2.0
'@types/node':
specifier: ^24.13.3
version: 24.13.3
better-sqlite3:
specifier: ^13.0.3
version: 13.0.3
kuromoji-ko:
specifier: ^1.0.8
version: 1.0.8
markdown-it:
specifier: ^14.3.0
version: 14.3.0
pdfjs-dist:
specifier: ^5.7.284
version: 5.7.284
tauri-plugin-tts-api:
specifier: ^0.1.11
version: 0.1.11
specifier: 0.2.1
version: 0.2.1
vite:
specifier: ^8.1.5
version: 8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0)
yaml:
specifier: ^2.9.0
version: 2.9.0
zod:
specifier: ^4.4.3
version: 4.4.3
devDependencies:
'@tauri-apps/cli':
specifier: ^2.11.4
version: 2.11.4
vitepress:
specifier: 2.0.0-alpha.17
version: 2.0.0-alpha.17(postcss@8.5.16)
version: 2.0.0-alpha.17(@types/node@24.13.3)(lightningcss@1.32.0)(postcss@8.5.19)(yaml@2.9.0)
vue:
specifier: ^3.5.39
version: 3.5.39
@@ -53,6 +86,15 @@ packages:
'@docsearch/sidepanel-js@4.6.3':
resolution: {integrity: sha512-grGSmvXzG0if+mrzdIKykvpIAuEQ9u0sEJ2eLRRCaQfJvsWqh2C2/aY04bIzWvDh7myi5rvl8D+tUNsVrjYQ3A==}
'@emnapi/core@1.11.1':
resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==}
'@emnapi/runtime@1.11.1':
resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==}
'@emnapi/wasi-threads@1.2.2':
resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==}
'@esbuild/aix-ppc64@0.28.1':
resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==}
engines: {node: '>=18'}
@@ -293,6 +335,110 @@ packages:
resolution: {integrity: sha512-xglYA6q3XO5P3BNJYxVZ1IV7DLVjp1Py6nwag88YntrS+3vKHyYcMqXVS4ZztJmwz2uGvz1FWhI/4LgbR5uQDA==}
engines: {node: '>= 10'}
'@napi-rs/wasm-runtime@1.1.6':
resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==}
peerDependencies:
'@emnapi/core': ^1.7.1
'@emnapi/runtime': ^1.7.1
'@oxc-project/types@0.139.0':
resolution: {integrity: sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==}
'@rolldown/binding-android-arm64@1.1.5':
resolution: {integrity: sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
'@rolldown/binding-darwin-arm64@1.1.5':
resolution: {integrity: sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
'@rolldown/binding-darwin-x64@1.1.5':
resolution: {integrity: sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
'@rolldown/binding-freebsd-x64@1.1.5':
resolution: {integrity: sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
'@rolldown/binding-linux-arm-gnueabihf@1.1.5':
resolution: {integrity: sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
'@rolldown/binding-linux-arm64-gnu@1.1.5':
resolution: {integrity: sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@rolldown/binding-linux-arm64-musl@1.1.5':
resolution: {integrity: sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
'@rolldown/binding-linux-ppc64-gnu@1.1.5':
resolution: {integrity: sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@rolldown/binding-linux-s390x-gnu@1.1.5':
resolution: {integrity: sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@rolldown/binding-linux-x64-gnu@1.1.5':
resolution: {integrity: sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [glibc]
'@rolldown/binding-linux-x64-musl@1.1.5':
resolution: {integrity: sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
'@rolldown/binding-openharmony-arm64@1.1.5':
resolution: {integrity: sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
'@rolldown/binding-wasm32-wasi@1.1.5':
resolution: {integrity: sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [wasm32]
'@rolldown/binding-win32-arm64-msvc@1.1.5':
resolution: {integrity: sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
'@rolldown/binding-win32-x64-msvc@1.1.5':
resolution: {integrity: sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
'@rolldown/pluginutils@1.0.1':
resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==}
@@ -458,6 +604,33 @@ packages:
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
'@supabase/auth-js@2.110.5':
resolution: {integrity: sha512-QSlI5CNeEefHP95/GbeMhNgr8aHEHiXFh8c1IWthYyI9ZzBwEigYzJFCw4Ff+GkL8OK9tArBmGGv6rpg5zLXSw==}
engines: {node: '>=22.0.0'}
'@supabase/functions-js@2.110.5':
resolution: {integrity: sha512-nuQuoIoEGT8ukrwr6THlY5v50bSMJ2rqti1FFsGyDaC98POLmcFQVFFh23PVPhRsKWUxrFc0MpmEoHKa7CY4mg==}
engines: {node: '>=22.0.0'}
'@supabase/phoenix@0.4.4':
resolution: {integrity: sha512-Gt0pqoXuIqX/8dvG0OKp/wMCobXNH3klNbUPBNyOfN0YA1IswrM3HyWFMOPk1Jy+BRaIyDPcFx4jLBwHNmlyfQ==}
'@supabase/postgrest-js@2.110.5':
resolution: {integrity: sha512-eObfgBjxLPzFakwMpUmsv8nuNPOhoDhzzN8cwvEvGkxkmuRIZcOCYH9+DRbpKnxh7tgsBZW+KWtaZI2j98b2/g==}
engines: {node: '>=22.0.0'}
'@supabase/realtime-js@2.110.5':
resolution: {integrity: sha512-VtOZxw5jfrc37KgIfFdp9SOFJjtvJ0qU+gT8CPQjL7cqy4DJlaTXacw5aBBogLZksqAI0YN67qhlDaMKFwfOuw==}
engines: {node: '>=22.0.0'}
'@supabase/storage-js@2.110.5':
resolution: {integrity: sha512-7GkOZlrYknVGVPyijoDbu5OXGvQ2oQ6dkU0juAkIMPZ9QgtmJ8IPrxe76zGSbmzbaC1GdKw7pqeXEi2HT67sbA==}
engines: {node: '>=22.0.0'}
'@supabase/supabase-js@2.110.5':
resolution: {integrity: sha512-cAO1Nm+CCogRNVXN93bBkh0vjOdLM5e6J9gB/cHV9Lqni/gEmN2HJFrnn4NI33GYIfmlh4Wbm6siH+XXRgpexA==}
engines: {node: '>=22.0.0'}
'@tauri-apps/api@2.11.1':
resolution: {integrity: sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==}
@@ -537,6 +710,15 @@ packages:
engines: {node: '>= 10'}
hasBin: true
'@tauri-apps/plugin-http@2.6.0':
resolution: {integrity: sha512-QYXwbGb4hQ9/8Riv/ejU/kPFFnbBIrBcWwV1LIXv2xBKfoj8lkWfGkd9pkCSsBI/pljPtz+IPqfrE3t3bVl3mg==}
'@tybys/wasm-util@0.10.3':
resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==}
'@types/better-sqlite3@9.6.0':
resolution: {integrity: sha512-ZEEwBSgMu7GYJOynoagg5X9JbxfL6dTJDsgViJIqh67jV44kyOr9RXfmFjLK5rzC4MWssP06t9hu/JwGDnUbCg==}
'@types/estree@1.0.9':
resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
@@ -546,8 +728,8 @@ packages:
'@types/linkify-it@5.0.0':
resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
'@types/markdown-it@14.1.2':
resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
'@types/markdown-it@14.2.0':
resolution: {integrity: sha512-NoQ2yGlLWj4wpxMs+TYmRKk3thDrQ97agr7sFqfLsAlvoS8SNQuTrlObhFqG9iugdTtgOE9jpJ6FNM4ZGsa5xQ==}
'@types/mdast@4.0.4':
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
@@ -555,6 +737,9 @@ packages:
'@types/mdurl@2.0.0':
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
'@types/node@24.13.3':
resolution: {integrity: sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==}
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
@@ -664,6 +849,13 @@ packages:
peerDependencies:
vue: ^3.5.0
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
better-sqlite3@13.0.3:
resolution: {integrity: sha512-RbOBxmLBG8uvFUc15X9+9SFemKcQ0WBuISBVkpuiaUB2qblC8UWlHEjdWVoZ8AdhSwmoEgsiXKfopX0CQxaACQ==}
engines: {node: '>=22'}
birpc@2.9.0:
resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==}
@@ -686,9 +878,20 @@ packages:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
doublearray@0.0.2:
resolution: {integrity: sha512-aw55FtZzT6AmiamEj2kvmR6BuFqvYgKZUkfQ7teqVRNqD5UE0rw8IeW/3gieHNKQ5sPuDKlljWEn4bzv5+1bHw==}
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
entities@7.0.1:
resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
engines: {node: '>=0.12'}
@@ -730,15 +933,106 @@ packages:
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
iceberg-js@0.8.1:
resolution: {integrity: sha512-1dhVQZXhcHje7798IVM+xoo/1ZdVfzOMIc8/rgVSijRK38EDqOJoGula9N/8ZI5RD8QTxNQtK/Gozpr+qUqRRA==}
engines: {node: '>=20.0.0'}
kuromoji-ko@1.0.8:
resolution: {integrity: sha512-w2QP8rCMsE7yGJkQiY7LHhlhARspO42nSEroMtyTPzL7su+qfNQLVu5VQntx1mN9K8ta/5Qd+n63TiBHI57YTw==}
lightningcss-android-arm64@1.32.0:
resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [android]
lightningcss-darwin-arm64@1.32.0:
resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [darwin]
lightningcss-darwin-x64@1.32.0:
resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
lightningcss-freebsd-x64@1.32.0:
resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
lightningcss-linux-arm-gnueabihf@1.32.0:
resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
lightningcss-linux-arm64-gnu@1.32.0:
resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
libc: [glibc]
lightningcss-linux-arm64-musl@1.32.0:
resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
libc: [musl]
lightningcss-linux-x64-gnu@1.32.0:
resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
libc: [glibc]
lightningcss-linux-x64-musl@1.32.0:
resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
libc: [musl]
lightningcss-win32-arm64-msvc@1.32.0:
resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
lightningcss-win32-x64-msvc@1.32.0:
resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
lightningcss@1.32.0:
resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
engines: {node: '>= 12.0.0'}
linkify-it@5.0.2:
resolution: {integrity: sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==}
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
mark.js@8.11.1:
resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
markdown-it@14.3.0:
resolution: {integrity: sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==}
hasBin: true
mdast-util-to-hast@13.2.1:
resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==}
mdurl@2.1.0:
resolution: {integrity: sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==}
micromark-util-character@2.1.1:
resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
@@ -762,12 +1056,19 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
node-addon-api@8.9.2:
resolution: {integrity: sha512-VijLXbi3UACN69I0JVXJsX4tjACjNoQDgv2gTF6sx2wWEi8tkSg2eX8p5gSIFi8z2+DL3oHmY6OyKce38SDolg==}
engines: {node: ^18 || ^20 || >= 21}
oniguruma-parser@0.12.2:
resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==}
oniguruma-to-es@4.3.6:
resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==}
pako@2.2.0:
resolution: {integrity: sha512-zJq6RP/5q+TO2OpFV3FHzlPnFjmkb7Nc99a5SNjJE+uu/PkpChs+NIZSSzbBoD+6kjiISXjfYdwj1ZRQ81dz/w==}
pdfjs-dist@5.7.284:
resolution: {integrity: sha512-h4EdYQczmGhbOlqc3PPZwxevn7ApdWPbovAuWXOB/DjIyigSnwfy2oze7c6mRcSr9XgLp3eN3EeL4DyySTPMFw==}
engines: {node: '>=22.13.0 || >=24'}
@@ -786,9 +1087,17 @@ packages:
resolution: {integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==}
engines: {node: ^10 || ^12 || >=14}
postcss@8.5.19:
resolution: {integrity: sha512-Mz8SaolMd8nB+G13WkORcxQKHZ/NE4xXevtkJHVuG+guo9/wYKlIMTKAqGdEmYOXR2ijPjTYNHssizdaVSUNdQ==}
engines: {node: ^10 || ^12 || >=14}
property-information@7.2.0:
resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==}
punycode.js@2.3.1:
resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
engines: {node: '>=6'}
regex-recursion@6.0.2:
resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
@@ -798,6 +1107,11 @@ packages:
regex@6.1.0:
resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==}
rolldown@1.1.5:
resolution: {integrity: sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
rollup@4.62.2:
resolution: {integrity: sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -819,8 +1133,8 @@ packages:
tabbable@6.5.0:
resolution: {integrity: sha512-wieBHXygIm7OyQOu5hQlkk62/WyCFYGlWg7L6/ZCUZwx0o398Zkn4pVmMyfYhfMG8kGrj/Krt8eIk6UKC6VzwA==}
tauri-plugin-tts-api@0.1.11:
resolution: {integrity: sha512-rGlx9mUFx5AtJTVuj4wLIEFFbB6Pc8Z829l+fzvtwnWMTZDEewU7wHdkkXgDtieIm+JUa/zi6YBucs7329H9cA==}
tauri-plugin-tts-api@0.2.1:
resolution: {integrity: sha512-iVTT+3fZbo7WotupbLGrpeHXzyh/z/KgCSN7pM9Wvc1cyxIOM/r+w7elAIUSg7fP1IjfJqOuwxuJOI84/Z8OVw==}
tinyglobby@0.2.17:
resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
@@ -829,6 +1143,15 @@ packages:
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
undici-types@7.18.2:
resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
unist-util-is@6.0.1:
resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==}
@@ -890,6 +1213,49 @@ packages:
yaml:
optional: true
vite@8.1.5:
resolution: {integrity: sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
'@types/node': ^20.19.0 || >=22.12.0
'@vitejs/devtools': ^0.3.0
esbuild: ^0.27.0 || ^0.28.0
jiti: '>=1.21.0'
less: ^4.0.0
sass: ^1.70.0
sass-embedded: ^1.70.0
stylus: '>=0.54.8'
sugarss: ^5.0.0
terser: ^5.16.0
tsx: ^4.8.1
yaml: ^2.4.2
peerDependenciesMeta:
'@types/node':
optional: true
'@vitejs/devtools':
optional: true
esbuild:
optional: true
jiti:
optional: true
less:
optional: true
sass:
optional: true
sass-embedded:
optional: true
stylus:
optional: true
sugarss:
optional: true
terser:
optional: true
tsx:
optional: true
yaml:
optional: true
vitepress@2.0.0-alpha.17:
resolution: {integrity: sha512-Z3VPUpwk/bHYqt1uMVOOK1/4xFiWQov1GNc2FvMdz6kvje4JRXEOngVI9C+bi5jeedMSHiA4dwKkff1NCvbZ9Q==}
hasBin: true
@@ -913,6 +1279,14 @@ packages:
typescript:
optional: true
yaml@2.9.0:
resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
engines: {node: '>= 14.6'}
hasBin: true
zod@4.4.3:
resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==}
zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
@@ -937,6 +1311,22 @@ snapshots:
'@docsearch/sidepanel-js@4.6.3': {}
'@emnapi/core@1.11.1':
dependencies:
'@emnapi/wasi-threads': 1.2.2
tslib: 2.8.1
optional: true
'@emnapi/runtime@1.11.1':
dependencies:
tslib: 2.8.1
optional: true
'@emnapi/wasi-threads@1.2.2':
dependencies:
tslib: 2.8.1
optional: true
'@esbuild/aix-ppc64@0.28.1':
optional: true
@@ -1071,6 +1461,64 @@ snapshots:
'@napi-rs/canvas-win32-x64-msvc': 0.1.100
optional: true
'@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
dependencies:
'@emnapi/core': 1.11.1
'@emnapi/runtime': 1.11.1
'@tybys/wasm-util': 0.10.3
optional: true
'@oxc-project/types@0.139.0': {}
'@rolldown/binding-android-arm64@1.1.5':
optional: true
'@rolldown/binding-darwin-arm64@1.1.5':
optional: true
'@rolldown/binding-darwin-x64@1.1.5':
optional: true
'@rolldown/binding-freebsd-x64@1.1.5':
optional: true
'@rolldown/binding-linux-arm-gnueabihf@1.1.5':
optional: true
'@rolldown/binding-linux-arm64-gnu@1.1.5':
optional: true
'@rolldown/binding-linux-arm64-musl@1.1.5':
optional: true
'@rolldown/binding-linux-ppc64-gnu@1.1.5':
optional: true
'@rolldown/binding-linux-s390x-gnu@1.1.5':
optional: true
'@rolldown/binding-linux-x64-gnu@1.1.5':
optional: true
'@rolldown/binding-linux-x64-musl@1.1.5':
optional: true
'@rolldown/binding-openharmony-arm64@1.1.5':
optional: true
'@rolldown/binding-wasm32-wasi@1.1.5':
dependencies:
'@emnapi/core': 1.11.1
'@emnapi/runtime': 1.11.1
'@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
optional: true
'@rolldown/binding-win32-arm64-msvc@1.1.5':
optional: true
'@rolldown/binding-win32-x64-msvc@1.1.5':
optional: true
'@rolldown/pluginutils@1.0.1': {}
'@rollup/rollup-android-arm-eabi@4.62.2':
@@ -1186,6 +1634,38 @@ snapshots:
'@shikijs/vscode-textmate@10.0.2': {}
'@supabase/auth-js@2.110.5':
dependencies:
tslib: 2.8.1
'@supabase/functions-js@2.110.5':
dependencies:
tslib: 2.8.1
'@supabase/phoenix@0.4.4': {}
'@supabase/postgrest-js@2.110.5':
dependencies:
tslib: 2.8.1
'@supabase/realtime-js@2.110.5':
dependencies:
'@supabase/phoenix': 0.4.4
tslib: 2.8.1
'@supabase/storage-js@2.110.5':
dependencies:
iceberg-js: 0.8.1
tslib: 2.8.1
'@supabase/supabase-js@2.110.5':
dependencies:
'@supabase/auth-js': 2.110.5
'@supabase/functions-js': 2.110.5
'@supabase/postgrest-js': 2.110.5
'@supabase/realtime-js': 2.110.5
'@supabase/storage-js': 2.110.5
'@tauri-apps/api@2.11.1': {}
'@tauri-apps/cli-darwin-arm64@2.11.4':
@@ -1235,6 +1715,19 @@ snapshots:
'@tauri-apps/cli-win32-ia32-msvc': 2.11.4
'@tauri-apps/cli-win32-x64-msvc': 2.11.4
'@tauri-apps/plugin-http@2.6.0':
dependencies:
'@tauri-apps/api': 2.11.1
'@tybys/wasm-util@0.10.3':
dependencies:
tslib: 2.8.1
optional: true
'@types/better-sqlite3@9.6.0':
dependencies:
'@types/node': 24.13.3
'@types/estree@1.0.9': {}
'@types/hast@3.0.4':
@@ -1243,7 +1736,7 @@ snapshots:
'@types/linkify-it@5.0.0': {}
'@types/markdown-it@14.1.2':
'@types/markdown-it@14.2.0':
dependencies:
'@types/linkify-it': 5.0.0
'@types/mdurl': 2.0.0
@@ -1254,16 +1747,20 @@ snapshots:
'@types/mdurl@2.0.0': {}
'@types/node@24.13.3':
dependencies:
undici-types: 7.18.2
'@types/unist@3.0.3': {}
'@types/web-bluetooth@0.0.21': {}
'@ungap/structured-clone@1.3.2': {}
'@vitejs/plugin-vue@6.0.7(vite@7.3.6)(vue@3.5.39)':
'@vitejs/plugin-vue@6.0.7(vite@7.3.6(@types/node@24.13.3)(lightningcss@1.32.0)(yaml@2.9.0))(vue@3.5.39)':
dependencies:
'@rolldown/pluginutils': 1.0.1
vite: 7.3.6
vite: 7.3.6(@types/node@24.13.3)(lightningcss@1.32.0)(yaml@2.9.0)
vue: 3.5.39
'@vue/compiler-core@3.5.39':
@@ -1354,6 +1851,12 @@ snapshots:
dependencies:
vue: 3.5.39
argparse@2.0.1: {}
better-sqlite3@13.0.3:
dependencies:
node-addon-api: 8.9.2
birpc@2.9.0: {}
ccount@2.0.1: {}
@@ -1368,10 +1871,16 @@ snapshots:
dequal@2.0.3: {}
detect-libc@2.1.2: {}
devlop@1.1.0:
dependencies:
dequal: 2.0.3
doublearray@0.0.2: {}
entities@4.5.0: {}
entities@7.0.1: {}
esbuild@0.28.1:
@@ -1438,12 +1947,81 @@ snapshots:
html-void-elements@3.0.0: {}
iceberg-js@0.8.1: {}
kuromoji-ko@1.0.8:
dependencies:
doublearray: 0.0.2
pako: 2.2.0
lightningcss-android-arm64@1.32.0:
optional: true
lightningcss-darwin-arm64@1.32.0:
optional: true
lightningcss-darwin-x64@1.32.0:
optional: true
lightningcss-freebsd-x64@1.32.0:
optional: true
lightningcss-linux-arm-gnueabihf@1.32.0:
optional: true
lightningcss-linux-arm64-gnu@1.32.0:
optional: true
lightningcss-linux-arm64-musl@1.32.0:
optional: true
lightningcss-linux-x64-gnu@1.32.0:
optional: true
lightningcss-linux-x64-musl@1.32.0:
optional: true
lightningcss-win32-arm64-msvc@1.32.0:
optional: true
lightningcss-win32-x64-msvc@1.32.0:
optional: true
lightningcss@1.32.0:
dependencies:
detect-libc: 2.1.2
optionalDependencies:
lightningcss-android-arm64: 1.32.0
lightningcss-darwin-arm64: 1.32.0
lightningcss-darwin-x64: 1.32.0
lightningcss-freebsd-x64: 1.32.0
lightningcss-linux-arm-gnueabihf: 1.32.0
lightningcss-linux-arm64-gnu: 1.32.0
lightningcss-linux-arm64-musl: 1.32.0
lightningcss-linux-x64-gnu: 1.32.0
lightningcss-linux-x64-musl: 1.32.0
lightningcss-win32-arm64-msvc: 1.32.0
lightningcss-win32-x64-msvc: 1.32.0
linkify-it@5.0.2:
dependencies:
uc.micro: 2.1.0
magic-string@0.30.21:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
mark.js@8.11.1: {}
markdown-it@14.3.0:
dependencies:
argparse: 2.0.1
entities: 4.5.0
linkify-it: 5.0.2
mdurl: 2.1.0
punycode.js: 2.3.1
uc.micro: 2.1.0
mdast-util-to-hast@13.2.1:
dependencies:
'@types/hast': 3.0.4
@@ -1456,6 +2034,8 @@ snapshots:
unist-util-visit: 5.1.0
vfile: 6.0.3
mdurl@2.1.0: {}
micromark-util-character@2.1.1:
dependencies:
micromark-util-symbol: 2.0.1
@@ -1477,6 +2057,8 @@ snapshots:
nanoid@3.3.15: {}
node-addon-api@8.9.2: {}
oniguruma-parser@0.12.2: {}
oniguruma-to-es@4.3.6:
@@ -1485,6 +2067,8 @@ snapshots:
regex: 6.1.0
regex-recursion: 6.0.2
pako@2.2.0: {}
pdfjs-dist@5.7.284:
optionalDependencies:
'@napi-rs/canvas': 0.1.100
@@ -1501,8 +2085,16 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
postcss@8.5.19:
dependencies:
nanoid: 3.3.15
picocolors: 1.1.1
source-map-js: 1.2.1
property-information@7.2.0: {}
punycode.js@2.3.1: {}
regex-recursion@6.0.2:
dependencies:
regex-utilities: 2.3.0
@@ -1513,6 +2105,27 @@ snapshots:
dependencies:
regex-utilities: 2.3.0
rolldown@1.1.5:
dependencies:
'@oxc-project/types': 0.139.0
'@rolldown/pluginutils': 1.0.1
optionalDependencies:
'@rolldown/binding-android-arm64': 1.1.5
'@rolldown/binding-darwin-arm64': 1.1.5
'@rolldown/binding-darwin-x64': 1.1.5
'@rolldown/binding-freebsd-x64': 1.1.5
'@rolldown/binding-linux-arm-gnueabihf': 1.1.5
'@rolldown/binding-linux-arm64-gnu': 1.1.5
'@rolldown/binding-linux-arm64-musl': 1.1.5
'@rolldown/binding-linux-ppc64-gnu': 1.1.5
'@rolldown/binding-linux-s390x-gnu': 1.1.5
'@rolldown/binding-linux-x64-gnu': 1.1.5
'@rolldown/binding-linux-x64-musl': 1.1.5
'@rolldown/binding-openharmony-arm64': 1.1.5
'@rolldown/binding-wasm32-wasi': 1.1.5
'@rolldown/binding-win32-arm64-msvc': 1.1.5
'@rolldown/binding-win32-x64-msvc': 1.1.5
rollup@4.62.2:
dependencies:
'@types/estree': 1.0.9
@@ -1566,7 +2179,7 @@ snapshots:
tabbable@6.5.0: {}
tauri-plugin-tts-api@0.1.11:
tauri-plugin-tts-api@0.2.1:
dependencies:
'@tauri-apps/api': 2.11.1
@@ -1577,6 +2190,12 @@ snapshots:
trim-lines@3.0.1: {}
tslib@2.8.1: {}
uc.micro@2.1.0: {}
undici-types@7.18.2: {}
unist-util-is@6.0.1:
dependencies:
'@types/unist': 3.0.3
@@ -1610,7 +2229,7 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
vite@7.3.6:
vite@7.3.6(@types/node@24.13.3)(lightningcss@1.32.0)(yaml@2.9.0):
dependencies:
esbuild: 0.28.1
fdir: 6.5.0(picomatch@4.0.5)
@@ -1619,9 +2238,25 @@ snapshots:
rollup: 4.62.2
tinyglobby: 0.2.17
optionalDependencies:
'@types/node': 24.13.3
fsevents: 2.3.3
lightningcss: 1.32.0
yaml: 2.9.0
vitepress@2.0.0-alpha.17(postcss@8.5.16):
vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.5
postcss: 8.5.19
rolldown: 1.1.5
tinyglobby: 0.2.17
optionalDependencies:
'@types/node': 24.13.3
esbuild: 0.28.1
fsevents: 2.3.3
yaml: 2.9.0
vitepress@2.0.0-alpha.17(@types/node@24.13.3)(lightningcss@1.32.0)(postcss@8.5.19)(yaml@2.9.0):
dependencies:
'@docsearch/css': 4.6.3
'@docsearch/js': 4.6.3
@@ -1630,8 +2265,8 @@ snapshots:
'@shikijs/core': 3.23.0
'@shikijs/transformers': 3.23.0
'@shikijs/types': 3.23.0
'@types/markdown-it': 14.1.2
'@vitejs/plugin-vue': 6.0.7(vite@7.3.6)(vue@3.5.39)
'@types/markdown-it': 14.2.0
'@vitejs/plugin-vue': 6.0.7(vite@7.3.6(@types/node@24.13.3)(lightningcss@1.32.0)(yaml@2.9.0))(vue@3.5.39)
'@vue/devtools-api': 8.1.5
'@vue/shared': 3.5.39
'@vueuse/core': 14.3.0(vue@3.5.39)
@@ -1640,10 +2275,10 @@ snapshots:
mark.js: 8.11.1
minisearch: 7.2.0
shiki: 3.23.0
vite: 7.3.6
vite: 7.3.6(@types/node@24.13.3)(lightningcss@1.32.0)(yaml@2.9.0)
vue: 3.5.39
optionalDependencies:
postcss: 8.5.16
postcss: 8.5.19
transitivePeerDependencies:
- '@types/node'
- async-validator
@@ -1677,4 +2312,8 @@ snapshots:
'@vue/server-renderer': 3.5.39(vue@3.5.39)
'@vue/shared': 3.5.39
yaml@2.9.0: {}
zod@4.4.3: {}
zwitch@2.0.4: {}
+1
View File
@@ -1,2 +1,3 @@
onlyBuiltDependencies:
- better-sqlite3
- esbuild
+98
View File
@@ -0,0 +1,98 @@
import sqlite3 from "better-sqlite3";
import { MeCab } from "kuromoji-ko";
import fs from "node:fs/promises";
import yaml from "yaml";
const mecab = await MeCab.create({
engine: "ko",
dictPath: "./node_modules/kuromoji-ko/dict",
});
const db = sqlite3(".sentence.db");
db.exec(/* sql */ `
CREATE TABLE IF NOT EXISTS sentence (
ko TEXT NOT NULL,
en TEXT,
original TEXT NOT NULL,
[url] TEXT NOT NULL,
notes TEXT,
filepath TEXT NOT NULL
);
CREATE UNIQUE INDEX IF NOT EXISTS idx_sentence_u ON sentence(original, [url]);
CREATE VIRTUAL TABLE IF NOT EXISTS sentence_fts USING fts5 (
ko,
en,
original UNINDEXED,
[url] UNINDEXED,
notes UNINDEXED,
filepath UNINDEXED,
content='sentence',
tokenize='porter'
);
-- Triggers to keep the FTS index up to date.
CREATE TRIGGER IF NOT EXISTS t1_ai AFTER INSERT ON sentence BEGIN
INSERT INTO sentence_fts(rowid, ko, en) VALUES (new.rowid, new.ko, new.en);
END;
CREATE TRIGGER IF NOT EXISTS t1_ad AFTER DELETE ON sentence BEGIN
INSERT INTO sentence_fts(fts_idx, rowid, ko, en) VALUES('delete', old.rowid, old.ko, old.en);
END;
CREATE TRIGGER IF NOT EXISTS t1_au AFTER UPDATE ON sentence BEGIN
INSERT INTO sentence_fts(fts_idx, rowid, ko, en) VALUES('delete', old.rowid, old.ko, old.en);
INSERT INTO sentence_fts(rowid, ko, en) VALUES (new.rowid, new.ko, new.en);
END;
`);
const stmt = db.prepare(/* sql */ `
INSERT OR IGNORE INTO sentence (ko, original, en, [url], notes, filepath)
VALUES (:parsed, :ko, :en, :audio, :notes, :filepath)
`);
const tx = db.transaction((ss) => {
for (const s of ss) {
if (s.notes === "Gemini") continue;
stmt.run({
ko: s.ko.replaceAll("**", ""),
parsed: mecab
.parse(s.ko)
.filter((t) => t.pos.some((p) => /^[NVM]/.test(p)))
.map((t) => t.lemma)
.join(" "),
en: (s.en || "").replaceAll("**", ""),
audio: s.audio || "",
notes: Array.isArray(s.notes) ? s.notes.join("\n") : s.notes || null,
filepath: s.filepath,
});
}
});
const SEPARATOR = "---\n";
for await (const md of fs.glob("docs/**/*.md")) {
let text = await fs.readFile(md, "utf-8");
if (!text.startsWith(SEPARATOR)) continue;
try {
const ss = [];
const { vocabulary, sentence } =
yaml.parse(text.slice(SEPARATOR.length).split(SEPARATOR, 1)[0]) || {};
if (!vocabulary) continue;
for (const { examples = [] } of Object.values(vocabulary).flat(1)) {
ss.push(...examples.map((o) => ({ ...o, filepath: md })));
}
if (sentence) {
ss.push(
...Object.values(sentence)
.flat(1)
.map((o) => ({ ...o, filepath: md })),
);
}
tx(ss);
} catch (e) {
console.error(e, md);
}
}
+1215 -1388
View File
File diff suppressed because it is too large. Load diff
+2 -1
View File
@@ -23,4 +23,5 @@ serde = { version = "1.0", features = ["derive"] }
log = "0.4"
tauri = { version = "2.10.3", features = [] }
tauri-plugin-log = "2"
tauri-plugin-tts = "0.1.3"
tauri-plugin-tts = "0.2.1"
tauri-plugin-http = "2"
+1 -1
View File
@@ -1,3 +1,3 @@
fn main() {
tauri_build::build()
tauri_build::build()
}
+5 -1
View File
@@ -7,6 +7,10 @@
],
"permissions": [
"core:default",
"tts:default"
"tts:default",
{
"identifier": "http:default",
"allow": [{ "url": "https://api.deepseek.com/chat/completions" }]
}
]
}
+1
View File
@@ -62,6 +62,7 @@ dependencies {
implementation("androidx.appcompat:appcompat:1.7.1")
implementation("androidx.activity:activity-ktx:1.10.1")
implementation("com.google.android.material:material:1.12.0")
implementation("androidx.lifecycle:lifecycle-process:2.10.0")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.4")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0")
@@ -1,11 +1,44 @@
package cc.polv.ko_grammar
import android.os.Bundle
import android.view.View
import android.webkit.WebView
import androidx.activity.enableEdgeToEdge
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
class MainActivity : TauriActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState)
val rootView: View = findViewById(android.R.id.content)
ViewCompat.setOnApplyWindowInsetsListener(rootView) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
val imeVisible = insets.isVisible(WindowInsetsCompat.Type.ime())
val imeHeight = insets.getInsets(WindowInsetsCompat.Type.ime()).bottom
val bottomPadding = if (imeVisible) imeHeight else systemBars.bottom
v.setPadding(
systemBars.left,
systemBars.top,
systemBars.right,
bottomPadding
)
insets
}
}
override fun onWebViewCreate(webView: WebView) {
super.onWebViewCreate(webView)
webView.setBackgroundColor(0x00000000)
webView.fitsSystemWindows = true
android.util.Log.i("MainActivity", "WebView created, waiting for Rust hide() call...")
}
}
+2 -2
View File
@@ -1,4 +1,4 @@
<resources>
<string name="app_name">ko-grammar</string>
<string name="main_activity_title">ko-grammar</string>
<string name="app_name">"ko-grammar"</string>
<string name="main_activity_title">"ko-grammar"</string>
</resources>
+15 -14
View File
@@ -1,17 +1,18 @@
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_tts::init())
.setup(|app| {
if cfg!(debug_assertions) {
app.handle().plugin(
tauri_plugin_log::Builder::default()
.level(log::LevelFilter::Info)
.build(),
)?;
}
Ok(())
})
.run(tauri::generate_context!())
.expect("error while running tauri application");
tauri::Builder::default()
.plugin(tauri_plugin_http::init())
.plugin(tauri_plugin_tts::init())
.setup(|app| {
if cfg!(debug_assertions) {
app.handle().plugin(
tauri_plugin_log::Builder::default()
.level(log::LevelFilter::Info)
.build(),
)?;
}
Ok(())
})
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
+1 -1
View File
@@ -2,5 +2,5 @@
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
fn main() {
app_lib::run();
app_lib::run();
}
+35
View File
@@ -0,0 +1,35 @@
// testCases.map(c=>mecab.parse(c.sentence).filter(t=>t.pos.some(p=>/^[NVM]/.test(p))).map(t=>t.lemma));
export const testCases = [
{
sentence: "학교에서 공부했어요",
expected: ["학교", "공부"],
},
{
sentence: "맛있는 김치찌개를 먹었어요",
expected: ["맛있다", "김치찌개", "먹다"],
},
{
sentence: "사랑하는 가족에게 선물을 줬어요",
expected: ["사랑", "가족", "선물", "주다"],
},
{
sentence: "빨리 달려가자",
expected: ["빨리", "달려가다"],
},
{
sentence: "예쁜 꽃이 피었어요",
expected: ["예쁘다", "꽃", "피다"],
},
{
sentence: "그는 학교에 갔다",
expected: ["그", "학교", "가다"],
},
{
sentence: "열심히 공부하는 학생입니다",
expected: ["열심히", "공부", "학생", "이다"],
},
{
sentence: "어제 영화를 봤어요",
expected: ["어제", "영화", "보다"],
},
];