diff --git a/.npmrc b/.npmrc
index b6f27f135..d8b69069b 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1 +1,3 @@
-engine-strict=true
+link-workspace-packages = true
+shamefully-hoist = true
+engine-strict = true
diff --git a/README.md b/README.md
index db85c2ead..50f9fb9ec 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,11 @@ This repo uses [pnpm](https://pnpm.io/).
## Running the app
+```
+pnpm add -g pnpm
+pnpm build && pnpm dev
+```
+
First, run `node scripts/create-common-bundle`. This packages up everything that's needed to run a SvelteKit app (Vite, Esbuild, SvelteKit, Svelte compiler etc) which can subsequently be unpacked on a server to create and run and instance of a SvelteKit application (which powers the output window of the tutorial).
The next steps depend on whether you want to run this locally in filesystem mode, or in WebContainer mode. For now, it works with filesystem mode only locally. In future, it will run both locally and on the web (using [WebContainers](https://blog.stackblitz.com/posts/introducing-webcontainers/)).
diff --git a/content/tutorial/01-svelte/01-introduction/01-welcome-to-svelte/README.md b/content/tutorial/01-svelte/01-introduction/01-welcome-to-svelte/README.md
index 1ba0088a5..a948ad807 100644
--- a/content/tutorial/01-svelte/01-introduction/01-welcome-to-svelte/README.md
+++ b/content/tutorial/01-svelte/01-introduction/01-welcome-to-svelte/README.md
@@ -2,29 +2,29 @@
title: Welcome to Svelte
---
-Welcome to the Svelte tutorial! This will teach you everything you need to know to easily build web applications of all sizes, with high performance and a small footprint.
+Svelte 튜토리얼에 오신 것을 환영합니다! 이것은 고성능 및 작은 설치 공간으로 모든 크기의 웹 애플리케이션을 쉽게 구축하기 위해 알아야 할 모든 것을 알려줍니다.
-You can also consult the [API docs](https://svelte.dev/docs) and the [examples](https://svelte.dev/examples), or — if you're impatient to start hacking on your machine locally — create a project with `npm init svelte`.
+[API 문서](https://svelte.dev/docs) 및 [예제](https://svelte.dev/examples)를 참조하거나 - 만약 로컬에서 해킹하기를 간절히 원한다면 - `npm init svelte`로 프로젝트를 생성할 수도 있습니다.
## What is Svelte?
-Svelte is a tool for building web applications. Like other user interface frameworks, it allows you to build your app _declaratively_ out of components that combine markup, styles and behaviours.
+Svelte는 웹 애플리케이션을 구축하기 위한 도구입니다. 다른 사용자 인터페이스 프레임워크와 마찬가지로 마크업, 스타일 및 동작을 결합하는 컴포넌트에서 _선언적으로_ 앱을 빌드할 수 있습니다.
-These components are _compiled_ into small, efficient JavaScript modules that eliminate overhead traditionally associated with UI frameworks.
+이러한 구성 요소는 전통적으로 UI 프레임워크와 관련된 오버헤드를 제거하는 작고 효율적인 JavaScript 모듈로 _컴파일_ 됩니다.
-You can build your entire app with Svelte (for example, using an application framework like [SvelteKit](https://kit.svelte.dev)), or you can add it incrementally to an existing codebase. You can also ship components as standalone packages that work anywhere.
+Svelte로 전체 앱을 빌드하거나 (예: [SvelteKit](https://kit.svelte.dev)와 같은 애플리케이션 프레임워크 사용) 기존 코드베이스에 점진적으로 추가할 수 있습니다. 어디에서나 작동하는 독립 실행형 패키지로 컴포넌트를 제공할 수도 있습니다.
## How to use this tutorial
-> You'll need to have basic familiarity with HTML, CSS and JavaScript to understand Svelte.
+> Svelte를 이해하려면 HTML, CSS 및 JavaScript에 대한 기본적인 지식이 있어야 합니다.
-This tutorial is split into four main parts:
+이 자습서는 네 가지 주요 부분으로 나뉩니다.
-- [Welcome to Svelte](/tutorial/welcome-to-svelte) (you are here)
+- [Welcome to Svelte](/tutorial/welcome-to-svelte) (당신은 여기 있습니다)
- [Introduction to SvelteKit](/tutorial/introducing-sveltekit)
- [Advanced Svelte](/tutorial/tweens)
- [Advanced SvelteKit](/tutorial/optional-params)
-Each section will present an exercise designed to illustrate a feature. Later exercises build on the knowledge gained in earlier ones, so it's recommended that you go from start to finish. If necessary, you can navigate via the menu above.
+각 섹션은 기능을 설명하기 위해 고안된 연습을 제공합니다. 이후 연습은 이전 연습에서 얻은 지식을 기반으로 하므로 처음부터 끝까지 진행하는 것이 좋습니다. 필요한 경우 위의 메뉴를 통해 탐색할 수 있습니다.
-If you get stuck, you can click the `solve` button to the left of the editor. (It's disabled on sections like this one that don't include an exercise.) Try not to rely on it too much; you will learn faster by figuring out where to put each suggested code block and manually typing it in to the editor.
+막히면 편집기 왼쪽에 있는 `해결` 버튼을 클릭할 수 있습니다. (연습이 포함되지 않은 이와 같은 섹션에서는 비활성화되어 있습니다.) 너무 많이 의존하지 마십시오. 제안된 각 코드 블록을 넣을 위치를 파악하고 편집기에 수동으로 입력하면 더 빨리 배울 수 있습니다.
diff --git a/content/tutorial/01-svelte/01-introduction/02-your-first-component/README.md b/content/tutorial/01-svelte/01-introduction/02-your-first-component/README.md
index 0e1f3d6ac..01c089c66 100644
--- a/content/tutorial/01-svelte/01-introduction/02-your-first-component/README.md
+++ b/content/tutorial/01-svelte/01-introduction/02-your-first-component/README.md
@@ -2,13 +2,13 @@
title: Your first component
---
-In Svelte, an application is composed from one or more _components_. A component is a reusable self-contained block of code that encapsulates HTML, CSS and JavaScript that belong together, written into a `.svelte` file. The `App.svelte` file, open in the code editor to the right, is a simple component.
+Svelte에서 애플리케이션은 하나 이상의 _컴포넌트_ 로 구성됩니다. 컴포넌트는 함께 속해 있는 HTML, CSS 및 JavaScript를 캡슐화하여 `.svelte` 파일에 기록되는 재사용 가능한 자체 포함 코드 블록입니다. 오른쪽의 코드 편집기에서 열리는 `App.svelte` 파일은 간단한 컴포넌트입니다.
## Adding data
-A component that just renders some static markup isn't very interesting. Let's add some data.
+일부 정적 마크업만 렌더링하는 컴포넌트는 그리 흥미롭지 않습니다. 일부 데이터를 추가해 보겠습니다.
-First, add a script tag to your component and declare a `name` variable:
+먼저 구성 요소에 스크립트 태그를 추가하고 `name` 변수를 선언합니다.
```svelte
++++++
```
-...and include a `
This is a paragraph.
+++` element, the styles from `App.svelte` don't leak in. +`Nested.svelte`에 `
` 요소가 있더라도 `App.svelte`의 스타일이 누출되지 않는다는 점에 유의하세요. -> Component names are always capitalised, to distinguish them from HTML elements. +> 컴포넌트 이름은 HTML 요소와 구별하기 위해 항상 대문자로 표시됩니다. diff --git a/content/tutorial/01-svelte/01-introduction/06-html-tags/README.md b/content/tutorial/01-svelte/01-introduction/06-html-tags/README.md index f4fa766ca..240b48719 100644 --- a/content/tutorial/01-svelte/01-introduction/06-html-tags/README.md +++ b/content/tutorial/01-svelte/01-introduction/06-html-tags/README.md @@ -2,14 +2,14 @@ title: HTML tags --- -Ordinarily, strings are inserted as plain text, meaning that characters like `<` and `>` have no special meaning. +일반적으로 문자열은 일반 텍스트로 삽입되므로 `<` 및 `>`와 같은 문자에는 특별한 의미가 없습니다. -But sometimes you need to render HTML directly into a component. For example, the words you're reading right now exist in a markdown file that gets included on this page as a blob of HTML. +그러나 때로는 HTML을 컴포넌트에 직접 렌더링해야 합니다. 예를 들어 지금 읽고 있는 단어는 이 페이지에 HTML 덩어리로 포함되는 마크다운 파일에 존재합니다. -In Svelte, you do this with the special `{@html ...}` tag: +Svelte에서는 특수 `{@html ...}` 태그를 사용하여 이 작업을 수행합니다. ```svelte
{+++@html+++ string}
``` -> Svelte doesn't perform any sanitization of the expression inside `{@html ...}` before it gets inserted into the DOM. In other words, if you use this feature it's critical that you manually escape HTML that comes from sources you don't trust, otherwise you risk exposing your users to XSS attacks. +> Ssvelte는 DOM에 삽입되기 전에 `{@html ...}` 내부의 표현식을 삭제하지 않습니다. 즉, 이 기능을 사용하는 경우 신뢰할 수 없는 소스에서 가져온 HTML을 수동으로 이스케이프 처리하는 것이 중요합니다. 그렇지 않으면 사용자가 XSS 공격에 노출될 위험이 있습니다. diff --git a/content/tutorial/01-svelte/02-reactivity/01-reactive-assignments/README.md b/content/tutorial/01-svelte/02-reactivity/01-reactive-assignments/README.md index 32ef14170..eb1298392 100644 --- a/content/tutorial/01-svelte/02-reactivity/01-reactive-assignments/README.md +++ b/content/tutorial/01-svelte/02-reactivity/01-reactive-assignments/README.md @@ -2,15 +2,15 @@ title: Assignments --- -At the heart of Svelte is a powerful system of _reactivity_ for keeping the DOM in sync with your application state — for example, in response to an event. +Svelte의 중심에는 DOM을 애플리케이션 상태와 - 예를 들어 이벤트에 대한 응답으로 - 동기화 상태로 유지하기 위한 강력한 `반응성` 시스템이 있습니다. -To demonstrate it, we first need to wire up an event handler (we'll learn more about these [later](/tutorial/dom-events)): +이를 시연하려면, 먼저 이벤트 핸들러를 연결해야 합니다. ([나중에](/tutorial/dom-events) 자세히 알아보겠습니다) ```svelte