From 305639b591e7f0640aaa06ed87ae4c184398546c Mon Sep 17 00:00:00 2001 From: Nin3 <30520689+Nin3lee@users.noreply.github.com> Date: Fri, 6 Dec 2024 22:42:55 +0800 Subject: [PATCH 001/110] Update `0-introduction/1.mdx` (#10220) Co-authored-by: Yan <61414485+yanthomasdev@users.noreply.github.com> --- src/content/docs/zh-cn/tutorial/0-introduction/1.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/zh-cn/tutorial/0-introduction/1.mdx b/src/content/docs/zh-cn/tutorial/0-introduction/1.mdx index a720cf7f32e75..876bce2a63cf4 100644 --- a/src/content/docs/zh-cn/tutorial/0-introduction/1.mdx +++ b/src/content/docs/zh-cn/tutorial/0-introduction/1.mdx @@ -29,7 +29,7 @@ import Box from '~/components/tutorial/Box.astro'; 你可以使用[第一单元](/zh-cn/tutorial/1-setup/)里面的课程,确保你拥有完成教程所需的开发工具和账号。它将指导你创建一个新的 Astro 项目,将其存储在 GitHub 上,并将其部署到 Netlify。 -如果你[已经创建了一个新的、空的Astro项目](/zh-cn/install-and-setup/)并对你的设置感到满意,你可以安全地跳到[第二单元](/zh-cn/tutorial/2-pages/),你将开始在你的项目中创建新页面。 +如果你[已经创建了一个新的、空的 Astro 项目](/zh-cn/install-and-setup/)并对你的设置感到满意,你可以安全地跳到[第二单元](/zh-cn/tutorial/2-pages/),你将开始在你的项目中创建新页面。
From f247040cd8099294470769b31a96d1063720c755 Mon Sep 17 00:00:00 2001 From: Junseong Park <39112954+jsparkdev@users.noreply.github.com> Date: Fri, 6 Dec 2024 23:52:04 +0900 Subject: [PATCH 002/110] i18n(ko-KR): update `astro-components.mdx` (#10138) Co-authored-by: Yan <61414485+yanthomasdev@users.noreply.github.com> --- .../docs/ko/basics/astro-components.mdx | 239 +++++++++--------- 1 file changed, 114 insertions(+), 125 deletions(-) diff --git a/src/content/docs/ko/basics/astro-components.mdx b/src/content/docs/ko/basics/astro-components.mdx index 7a44e3c1a7e41..5e0e54f4b16e8 100644 --- a/src/content/docs/ko/basics/astro-components.mdx +++ b/src/content/docs/ko/basics/astro-components.mdx @@ -1,20 +1,30 @@ --- title: 컴포넌트 -description: .astro 컴포넌트 구문에 대한 소개입니다. +description: Astro 컴포넌트에 대한 소개입니다. i18nReady: true --- -**Astro 컴포넌트**는 모든 Astro 프로젝트의 기본 구성 요소입니다. 이는 클라이언트 측 런타임이 없는 HTML 전용 템플릿 컴포넌트입니다. Astro 컴포넌트는 `.astro` 파일 확장자를 사용합니다. +import ReadMore from '~/components/ReadMore.astro'; + +**Astro 컴포넌트**는 모든 Astro 프로젝트의 기본 구성 요소입니다. 이는 클라이언트 측 런타임이 없는 HTML 전용 템플릿 컴포넌트이며, `.astro` 파일 확장자를 사용합니다. + +:::note +이미 HTML을 알고 있다면, 충분히 첫 번째 Astro 컴포넌트를 작성할 수 있습니다. + +[Astro 구문 참조](/ko/reference/astro-syntax/)에서 더 자세히 알아보세요. +::: -Astro 컴포넌트는 매우 유연합니다. Astro 컴포넌트에는 헤더나 프로필 카드와 같은 **페이지에서 재사용 가능한 UI**가 포함되는 경우가 많습니다. 때로는 Astro 컴포넌트에 SEO 작업을 쉽게 만들어주는 일반적인 `` 태그 모음과 같은 작은 HTML 조각이 포함될 수도 있습니다. Astro 컴포넌트에는 전체 페이지 레이아웃이 포함될 수도 있습니다. +Astro 컴포넌트는 매우 유연합니다. Astro 컴포넌트는 SEO 작업을 쉽게 해주는 일반적인 `` 태그 모음과 같이 HTML 스니펫만큼 작을 수도 있습니다. 컴포넌트는 헤더나 프로필 카드와 같이 재사용 가능한 UI 요소가 될 수 있습니다. Astro 컴포넌트는 전체 페이지 레이아웃을 포함할 수도 있고, 특별한 `src/pages/` 폴더에 있다면 전체 페이지 자체가 될 수도 있습니다. -Astro 컴포넌트에 대해 알아야 할 가장 중요한 점은 **클라이언트에서 렌더링되지 않는다**는 것입니다. 기본적으로 빌드 시 HTML로 렌더링되며, [서버 측 렌더링 (SSR)](/ko/guides/on-demand-rendering/)을 사용하는 경우에는 사용자의 요청을 받을 때마다 HTML로 렌더링 됩니다. 컴포넌트 프런트매터에 JavaScript 코드를 포함할 수 있으며, 모든 내용은 사용자의 브라우저로 전송되는 최종 페이지에서 제거됩니다. 그 결과, JavaScript가 추가되지 않아 사이트가 더 빨라집니다. +Astro 컴포넌트에 대해 알아야 할 가장 중요한 점은 **클라이언트에서 렌더링되지 않는다는 것입니다**. 빌드 타임 또는 요청 시 HTML로 렌더링됩니다. 컴포넌트 프런트매터에 JavaScript 코드를 포함할 수 있으며, 이는 사용자의 브라우저로 전송되는 최종 페이지에서 모두 제거됩니다. 그 결과, 기본적으로 추가되는 JavaScript가 없는 더 빠른 사이트를 얻을 수 있습니다. -Astro 컴포넌트가 클라이언트 측에서 상호작용 해야하는 경우, Astro 컴포넌트에 [표준 HTML ` +``` + +### Types de variables + +Il existe trois types de variables d'environnement, déterminées par la combinaison des paramètres `context` (client ou serveur) et `access` (secret ou public) définis dans votre schéma : + +- **Variables publiques du client** : Ces variables se retrouvent à la fois dans vos bundles client et serveur finaux et sont accessibles à la fois depuis le client et le serveur via le module `astro:env/client` : + + ```js + import { API_URL } from "astro:env/client" + ``` + +- **Variables publiques du serveur** : Ces variables se retrouvent dans votre bundle de serveur final et sont accessibles sur le serveur via le module `astro:env/server` : + + ```js + import { PORT } from "astro:env/server" + ``` + +- **Variables secrètes du serveur** : Ces variables ne font pas partie de votre bundle final et sont accessibles sur le serveur via le module `astro:env/server` : + + ```js + import { API_SECRET } from "astro:env/server" + ``` + + Par défaut, les secrets ne sont validés qu'au moment de l'exécution. Vous pouvez activer la validation des variables privées au démarrage en [configurant `validateSecrets: true`](/fr/reference/configuration-reference/#experimentalenvvalidatesecrets). + +:::note +Les **variables secrètes du client** ne sont pas prises en charge car il n'existe aucun moyen sûr d'envoyer ces données au client. Par conséquent, il n'est pas possible de configurer à la fois `context: "client"` et `access: "secret"` dans votre schéma. +::: + +### Types de données + +Il existe actuellement quatre types de données pris en charge : les chaînes de caractères, les nombres, les énumérations et les booléens : + +```js +import { envField } from "astro/config" + +envField.string({ + // context & access + optional: true, + default: "foo", +}) + +envField.number({ + // context & access + optional: true, + default: 15, +}) + +envField.boolean({ + // context & access + optional: true, + default: true, +}) + +envField.enum({ + // context & access + values: ['foo', 'bar', 'baz'], + optional: true, + default: 'baz', +}) +``` + +Pour une liste complète des champs de validation, consultez la [référence de l'API `envField`](/fr/reference/configuration-reference/#experimentalenvschema). + +### Récupérer des secrets de manière dynamique + +Malgré la définition de votre schéma, vous souhaiterez peut-être récupérer la valeur brute d'un secret donné ou récupérer des secrets non définis dans votre schéma. Dans ce cas, vous pouvez utiliser `getSecret()` exporté depuis `astro:env/server` : + +```js +import { + FOO, // boolean + getSecret +} from 'astro:env/server' + +getSecret('FOO') // string | undefined ``` + +Apprenez-en davantage dans [la référence de l'API](/fr/reference/modules/astro-env/#getsecret). + +### Limitations + +1. `astro:env` est un module virtuel, ce qui signifie qu'il ne peut être utilisé que dans le contexte Astro. Par exemple, vous pouvez l'utiliser dans : + + - les Middlewares + - les routes et points de terminaison Astro + - les composants Astro + - les composants de framework + - les modules + + Vous ne pouvez pas l'utiliser dans ce qui suit et devrez recourir à `process.env` : + + - `astro.config.mjs` + - les scripts + +2. [`@astrojs/cloudflare`](/fr/guides/integrations-guide/cloudflare/) est un peu différent des autres adaptateurs. Les variables d'environnement sont limitées à la requête, contrairement à Node.js où elles sont globales. + + Cela signifie que vous devez toujours utiliser des secrets dans la portée de la requête : + + ```js title="src/middleware.ts" + import { defineMiddleware } from "astro:middleware" + import { FOO, getSecret } from "astro:env" + + console.log(FOO) // undefined + console.log(getSecret("FOO")) // undefined + + export const onRequest = defineMiddleware((context, next) => { + console.log(FOO) // boolean + console.log(getSecret("FOO")) // string + + return next() + }) + ``` diff --git a/src/content/docs/fr/reference/modules/astro-env.mdx b/src/content/docs/fr/reference/modules/astro-env.mdx new file mode 100644 index 0000000000000..4e5daf80abf4b --- /dev/null +++ b/src/content/docs/fr/reference/modules/astro-env.mdx @@ -0,0 +1,46 @@ +--- +title: Référence de l'API des variables d'environnement +sidebar: + label: 'astro:env' +i18nReady: true +tableOfContents: + minHeadingLevel: 2 + maxHeadingLevel: 6 +--- +import Since from '~/components/Since.astro'; +import ReadMore from '~/components/ReadMore.astro'; + +

+ +L'API `astro:env` vous permet de configurer un schéma de type sécurisé pour les variables d'environnement que vous avez définies. Cela vous permet d'indiquer si elles doivent être disponibles sur le serveur ou le client, et de définir leur type de données et leurs propriétés supplémentaires. Pour des exemples et des instructions d'utilisation, [consultez le guide `astro:env`](/fr/guides/environment-variables/#variables-denvironnement-avec-sûreté-du-typage). + +## Importations depuis `astro:env` + +```js +import { + getSecret, + } from 'astro:env'; +``` + +### `getSecret()` + +

+ +

+ +La fonction d'aide `getSecret()` permet de récupérer la valeur brute d'une variable d'environnement par sa clé. + +Par exemple, vous pouvez récupérer une valeur booléenne sous forme de chaîne : + +```js +import { + FEATURE_FLAG, // boolean + getSecret +} from 'astro:env/server' + +getSecret('FEATURE_FLAG') // string | undefined +``` + +Cela peut également être utile pour obtenir un secret non défini dans votre schéma, par exemple un secret qui dépend de données dynamiques d'une base de données ou d'une API. + +Si vous devez récupérer des variables d'environnement par programmation, nous vous recommandons d'utiliser `getSecret()` au lieu de `process.env` (ou équivalent). Étant donné que son implémentation est fournie par votre adaptateur, vous n'aurez pas besoin de mettre à jour tous vos appels si vous changez d'adaptateur. La valeur par défaut est `process.env` dans dev et build. From f415f94254e6a81c2459d6b5360456ef22438257 Mon Sep 17 00:00:00 2001 From: Junseong Park <39112954+jsparkdev@users.noreply.github.com> Date: Sun, 8 Dec 2024 03:14:26 +0900 Subject: [PATCH 008/110] i18n(ko-KR): update Korean translations (#10258) * apostrophecms * builderio * buttercms * caisy * cloudcannon * contentful * cosmic * craft-cms * crystallize * datocms * decap-cms * directus * drupal * flotiq * frontmatter-cms * ghost * hashnode * hygraph * index * keystatic * keystonejs * kontent-ai * microcms * payload * preprcms * prismic * sanity * sitecore * spinal * statamic * storyblok * strapi * tina-cms * umbraco * wordpress * decap #10117 * alpinejs * cloudflare * db * deno * index * lit * markdoc * mdx * netlify * node * partytown * preact * prefetch * react * sitemap * solid-js * svelte * tailwind * vercel * vue * cra * docusaurus * eleventy * gatsby * gitbook * gridsome * hugo * jekyll * nextjs * nuxtjs * pelican * sveltekit * vuepress * wordpress * index * update existing docs * add new error docs * update error-reference * i18n(ko-KR): update `api-reference.mdx` * i18n(ko-KR): update `api-reference.mdx` * #10162 * fix * i18n(ko-KR): update `content-collections.mdx` * i18n(ko-KR): update `astro-db.mdx` * i18n(ko-KR): update `endpoints.mdx` * fix typo * v5 - 459 * v5 - 776 * v5 - 966 * update * i18n(ko-KR): update `actions.mdx` * i18n(ko-KR): update `imports.mdx` * i18n(ko-KR): update `actions.mdx` * i18n(ko-KR): update `upgrade-to/v2.mdx` and `upgrade-to/v3.mdx` * i18n(ko-KR): create `on-demand-rendering.mdx` * i18n(ko-KR): create `astro-actions.mdx` * i18n(ko-KR): update `content-collections.mdx` * i18n(ko-KR): update `v5.mdx` * i18n(ko-KR): update `integrations-reference.mdx` * i18n(ko-KR): update `routing.mdx` * i18n(ko-KR): update `typescript.mdx` * i18n(ko-KR): update `typescript.mdx` * i18n(ko-KR): update `install-and-setup.mdx` * update * update * update * update * i18n(ko-KR): update `markdown-content.mdx` * update * update * update * update * update * i18n(ko-KR): update `adapter-reference.mdx` * update * update * i18n(ko-KR): update `internationalization.mdx` * update * update links * i18n(ko-KR): update `middleware.mdx` * update * add v4 * update link * i18n(ko-KR): update `recipes/` * update link * update link * i18n(ko-KR): update `modules/` * update * i18n(ko-KR): update `environment-variables.mdx` * i18n(ko-KR): update `cli-reference.mdx` * i18n(ko-KR): update `configuration-reference.mdx` * tutorial - 0 * tutorial - 1 * tutorial - 3 * tutorial - 5 * tutorial - 6 * fix typo * update link * upstream `internationalization.mdx` updates * upstream `configuration-reference.mdx` changes --------- Co-authored-by: Yan <61414485+yanthomasdev@users.noreply.github.com> --- src/content/docs/ko/guides/actions.mdx | 195 +- src/content/docs/ko/guides/astro-db.mdx | 2 +- .../docs/ko/guides/cms/apostrophecms.mdx | 2 + src/content/docs/ko/guides/cms/builderio.mdx | 8 +- src/content/docs/ko/guides/cms/buttercms.mdx | 2 + src/content/docs/ko/guides/cms/caisy.mdx | 2 + .../docs/ko/guides/cms/cloudcannon.mdx | 4 +- src/content/docs/ko/guides/cms/contentful.mdx | 4 +- src/content/docs/ko/guides/cms/cosmic.mdx | 2 + src/content/docs/ko/guides/cms/craft-cms.mdx | 2 + .../docs/ko/guides/cms/crystallize.mdx | 2 + src/content/docs/ko/guides/cms/datocms.mdx | 2 + src/content/docs/ko/guides/cms/decap-cms.mdx | 12 +- src/content/docs/ko/guides/cms/directus.mdx | 2 + src/content/docs/ko/guides/cms/drupal.mdx | 2 + src/content/docs/ko/guides/cms/flotiq.mdx | 2 + .../docs/ko/guides/cms/frontmatter-cms.mdx | 2 + src/content/docs/ko/guides/cms/ghost.mdx | 2 + src/content/docs/ko/guides/cms/hashnode.mdx | 4 +- src/content/docs/ko/guides/cms/hygraph.mdx | 2 + src/content/docs/ko/guides/cms/index.mdx | 4 +- src/content/docs/ko/guides/cms/keystatic.mdx | 10 +- src/content/docs/ko/guides/cms/keystonejs.mdx | 2 + src/content/docs/ko/guides/cms/kontent-ai.mdx | 6 +- src/content/docs/ko/guides/cms/microcms.mdx | 2 + src/content/docs/ko/guides/cms/payload.mdx | 4 +- src/content/docs/ko/guides/cms/preprcms.mdx | 6 +- src/content/docs/ko/guides/cms/prismic.mdx | 2 + src/content/docs/ko/guides/cms/sanity.mdx | 2 + src/content/docs/ko/guides/cms/sitecore.mdx | 2 + src/content/docs/ko/guides/cms/spinal.mdx | 4 +- src/content/docs/ko/guides/cms/statamic.mdx | 6 +- src/content/docs/ko/guides/cms/storyblok.mdx | 8 +- src/content/docs/ko/guides/cms/strapi.mdx | 8 +- src/content/docs/ko/guides/cms/tina-cms.mdx | 2 + src/content/docs/ko/guides/cms/umbraco.mdx | 4 +- src/content/docs/ko/guides/cms/wordpress.mdx | 2 + .../docs/ko/guides/content-collections.mdx | 768 ++++---- src/content/docs/ko/guides/data-fetching.mdx | 2 +- src/content/docs/ko/guides/dev-toolbar.mdx | 2 +- src/content/docs/ko/guides/endpoints.mdx | 14 +- .../docs/ko/guides/environment-variables.mdx | 258 ++- src/content/docs/ko/guides/imports.mdx | 129 +- .../ko/guides/integrations-guide/alpinejs.mdx | 4 +- .../guides/integrations-guide/cloudflare.mdx | 10 +- .../docs/ko/guides/integrations-guide/db.mdx | 4 +- .../ko/guides/integrations-guide/deno.mdx | 2 + .../ko/guides/integrations-guide/index.mdx | 3 + .../docs/ko/guides/integrations-guide/lit.mdx | 220 +-- .../ko/guides/integrations-guide/markdoc.mdx | 6 +- .../docs/ko/guides/integrations-guide/mdx.mdx | 21 + .../ko/guides/integrations-guide/netlify.mdx | 10 +- .../ko/guides/integrations-guide/node.mdx | 6 +- .../guides/integrations-guide/partytown.mdx | 2 + .../ko/guides/integrations-guide/preact.mdx | 4 +- .../ko/guides/integrations-guide/prefetch.mdx | 2 + .../ko/guides/integrations-guide/react.mdx | 4 +- .../ko/guides/integrations-guide/sitemap.mdx | 2 + .../ko/guides/integrations-guide/solid-js.mdx | 4 +- .../ko/guides/integrations-guide/svelte.mdx | 4 +- .../ko/guides/integrations-guide/tailwind.mdx | 2 + .../ko/guides/integrations-guide/vercel.mdx | 83 +- .../docs/ko/guides/integrations-guide/vue.mdx | 6 +- .../docs/ko/guides/internationalization.mdx | 58 +- .../docs/ko/guides/markdown-content.mdx | 34 +- src/content/docs/ko/guides/middleware.mdx | 10 +- .../from-create-react-app.mdx | 16 +- .../migrate-to-astro/from-docusaurus.mdx | 8 +- .../guides/migrate-to-astro/from-eleventy.mdx | 8 +- .../guides/migrate-to-astro/from-gatsby.mdx | 22 +- .../guides/migrate-to-astro/from-gitbook.mdx | 8 +- .../guides/migrate-to-astro/from-gridsome.mdx | 13 +- .../ko/guides/migrate-to-astro/from-hugo.mdx | 6 +- .../guides/migrate-to-astro/from-jekyll.mdx | 6 +- .../guides/migrate-to-astro/from-nextjs.mdx | 20 +- .../guides/migrate-to-astro/from-nuxtjs.mdx | 12 +- .../guides/migrate-to-astro/from-pelican.mdx | 6 +- .../migrate-to-astro/from-sveltekit.mdx | 8 +- .../guides/migrate-to-astro/from-vuepress.mdx | 10 +- .../migrate-to-astro/from-wordpress.mdx | 10 +- .../docs/ko/guides/migrate-to-astro/index.mdx | 5 +- .../docs/ko/guides/on-demand-rendering.mdx | 288 +++ src/content/docs/ko/guides/routing.mdx | 28 +- src/content/docs/ko/guides/testing.mdx | 3 +- src/content/docs/ko/guides/typescript.mdx | 41 +- src/content/docs/ko/guides/upgrade-to/v2.mdx | 12 +- src/content/docs/ko/guides/upgrade-to/v3.mdx | 12 +- src/content/docs/ko/guides/upgrade-to/v4.mdx | 12 +- src/content/docs/ko/guides/upgrade-to/v5.mdx | 1199 ++++++++++++ src/content/docs/ko/install-and-setup.mdx | 337 ++-- .../docs/ko/recipes/build-forms-api.mdx | 4 +- src/content/docs/ko/recipes/bun.mdx | 6 +- .../docs/ko/recipes/call-endpoints.mdx | 4 +- src/content/docs/ko/recipes/i18n.mdx | 6 +- src/content/docs/ko/recipes/index.mdx | 11 +- src/content/docs/ko/recipes/rss.mdx | 8 +- .../docs/ko/recipes/sharing-state-islands.mdx | 122 -- .../docs/ko/reference/adapter-reference.mdx | 281 ++- .../docs/ko/reference/api-reference.mdx | 1712 ++++++----------- .../docs/ko/reference/cli-reference.mdx | 294 +-- .../ko/reference/configuration-reference.mdx | 710 ++----- .../docs/ko/reference/error-reference.mdx | 11 +- .../action-called-from-server-error.mdx | 2 +- .../actions-without-server-output-error.mdx | 2 +- .../adapter-support-output-mismatch.mdx | 15 + .../errors/client-address-not-available.mdx | 2 +- ...content-collection-type-mismatch-error.mdx | 4 +- .../errors/content-entry-data-error.mdx | 16 + .../content-loader-invalid-data-error.mdx | 13 + .../content-schema-contains-slug-error.mdx | 4 +- .../errors/env-invalid-variables.mdx | 7 +- .../ko/reference/errors/forbidden-rewrite.mdx | 12 + .../get-static-paths-expected-params.mdx | 4 +- .../get-static-paths-invalid-route-param.mdx | 4 +- .../get-static-paths-removed-rsshelper.mdx | 2 +- .../errors/get-static-paths-required.mdx | 2 +- .../ko/reference/errors/i18n-not-enabled.mdx | 4 +- .../invalid-content-entry-data-error.mdx | 16 + ...nvalid-content-entry-frontmatter-error.mdx | 6 +- .../invalid-content-entry-slug-error.mdx | 4 +- .../errors/invalid-get-static-path-param.mdx | 2 +- .../errors/invalid-get-static-paths-entry.mdx | 2 +- .../invalid-get-static-paths-return.mdx | 4 +- .../ko/reference/errors/locals-reassigned.mdx | 10 + .../mixed-content-data-collection-error.mdx | 4 +- .../no-adapter-installed-server-islands.mdx | 13 + .../reference/errors/no-adapter-installed.mdx | 4 +- .../errors/no-matching-static-path-found.mdx | 2 +- .../errors/only-response-can-be-returned.mdx | 2 +- ...prerender-client-address-not-available.mdx | 6 +- ...rerender-dynamic-endpoint-path-collide.mdx | 4 +- .../errors/redirect-with-no-location.mdx | 2 +- .../errors/rewrite-with-body-used.mdx | 2 +- .../static-client-address-not-available.mdx | 6 +- .../errors/static-redirect-not-available.mdx | 2 +- .../unknown-content-collection-error.mdx | 4 +- .../ko/reference/integrations-reference.mdx | 451 ++++- .../ko/reference/modules/astro-actions.mdx | 125 +- .../ko/reference/modules/astro-assets.mdx | 2 + .../ko/reference/modules/astro-content.mdx | 172 +- .../docs/ko/reference/modules/astro-env.mdx | 46 + .../docs/ko/reference/modules/astro-i18n.mdx | 4 +- .../ko/reference/modules/astro-middleware.mdx | 6 +- .../reference/modules/astro-transitions.mdx | 22 +- .../docs/ko/tutorial/0-introduction/1.mdx | 1 - .../docs/ko/tutorial/0-introduction/index.mdx | 4 +- src/content/docs/ko/tutorial/1-setup/2.mdx | 27 +- src/content/docs/ko/tutorial/1-setup/5.mdx | 2 +- .../docs/ko/tutorial/1-setup/index.mdx | 55 +- .../docs/ko/tutorial/3-components/4.mdx | 8 +- .../docs/ko/tutorial/5-astro-api/1.mdx | 32 +- .../docs/ko/tutorial/5-astro-api/2.mdx | 36 +- .../docs/ko/tutorial/5-astro-api/3.mdx | 18 +- .../docs/ko/tutorial/5-astro-api/index.mdx | 2 +- src/content/docs/ko/tutorial/6-islands/2.mdx | 4 +- src/content/docs/ko/tutorial/6-islands/3.mdx | 2 +- src/content/docs/ko/tutorial/6-islands/4.mdx | 350 ++++ 157 files changed, 5168 insertions(+), 3651 deletions(-) create mode 100644 src/content/docs/ko/guides/on-demand-rendering.mdx create mode 100644 src/content/docs/ko/guides/upgrade-to/v5.mdx create mode 100644 src/content/docs/ko/reference/errors/adapter-support-output-mismatch.mdx create mode 100644 src/content/docs/ko/reference/errors/content-entry-data-error.mdx create mode 100644 src/content/docs/ko/reference/errors/content-loader-invalid-data-error.mdx create mode 100644 src/content/docs/ko/reference/errors/forbidden-rewrite.mdx create mode 100644 src/content/docs/ko/reference/errors/invalid-content-entry-data-error.mdx create mode 100644 src/content/docs/ko/reference/errors/locals-reassigned.mdx create mode 100644 src/content/docs/ko/reference/errors/no-adapter-installed-server-islands.mdx create mode 100644 src/content/docs/ko/reference/modules/astro-env.mdx create mode 100644 src/content/docs/ko/tutorial/6-islands/4.mdx diff --git a/src/content/docs/ko/guides/actions.mdx b/src/content/docs/ko/guides/actions.mdx index 6ebb73bf95c0f..c6fe44fb79a01 100644 --- a/src/content/docs/ko/guides/actions.mdx +++ b/src/content/docs/ko/guides/actions.mdx @@ -168,6 +168,10 @@ export const server = { 액션은 `handler()`의 타입이 안전한 반환값이 포함된 `data` 또는 백엔드 오류가 있는 `error`를 포함하는 객체를 반환합니다. 오류는 `input` 속성의 유효성 검사 오류 또는 `handler()`에서 발생한 오류로 인해 발생할 수 있습니다. +액션은 [Devalue 라이브러리를 사용하여](https://github.com/Rich-Harris/devalue) Date, Map, Set, URL을 처리할 수 있는 사용자 정의 데이터 형식을 반환합니다. 따라서 일반 JSON처럼 네트워크에서 응답을 쉽게 검사할 수 없습니다. 대신 디버깅을 위해 액션이 반환하는 `data` 객체를 검사할 수 있습니다. + +자세한 내용은 [`handler()` API 참조를 확인하세요](/ko/reference/modules/astro-actions/#handler-속성). + ### 오류 확인 `data` 속성을 사용하기 전에 `error`가 있는지 확인하는 것이 가장 좋습니다. 이렇게 하면 오류를 미리 처리할 수 있고 `data`가 `undefined`인지 확인하지 않고 정의되도록 할 수 있습니다. @@ -398,12 +402,12 @@ if (isInputError(error)) { ## HTML 양식 액션에서 액션 호출 :::note -양식 액션을 사용하여 액션을 호출할 때는 페이지가 주문형으로 렌더링되어야 합니다. 이 API를 사용하기 전에 [페이지에서 사전 렌더링이 비활성화되어 있는지 확인](/ko/guides/on-demand-rendering/)하세요. +양식 액션을 사용하여 액션을 호출할 때는 페이지가 주문형으로 렌더링되어야 합니다. 이 API를 사용하기 전에 [페이지에서 사전 렌더링이 비활성화되어 있는지 확인](/ko/guides/on-demand-rendering/#요청-시-렌더링-활성화)하세요. ::: 모든 `
` 요소에서 표준 속성을 사용하여 JS 없이 양식 제출을 활성화할 수 있습니다. 클라이언트 측 JavaScript가 없는 양식 제출은 JavaScript가 로드되지 않을 때를 대비하거나 양식을 완전히 서버에서 처리하려는 경우 유용할 수 있습니다. -서버에서 [Astro.getActionResult()](/ko/reference/api-reference/#astrogetactionresult)를 호출하면 양식 제출 결과 (`data` 또는 `error`)가 반환되며, 동적 리디렉션, 양식 오류 처리, UI 업데이트 등에 사용할 수 있습니다. +서버에서 [Astro.getActionResult()](/ko/reference/api-reference/#getactionresult)를 호출하면 양식 제출 결과 (`data` 또는 `error`)가 반환되며, 동적 리디렉션, 양식 오류 처리, UI 업데이트 등에 사용할 수 있습니다. HTML 양식에서 액션을 호출하려면 ``에 `method="POST"`를 추가한 다음, 액션을 사용하여 양식의 `action` 속성을 설정합니다 (예: `action={actions.logout}`). 이렇게 하면 서버에서 자동으로 처리되는 쿼리 문자열을 사용하도록 `action` 속성이 설정됩니다. @@ -421,24 +425,7 @@ import { actions } from 'astro:actions'; ### 액션 성공 시 리디렉션 -클라이언트 측 JavaScript 없이 액션이 성공했을 때 다른 페이지로 이동하려면 `action` 속성에 경로를 추가하면 됩니다. - -예를 들어, `action={'/confirmation' + actions.newsletter}`는 `newsletter` 액션이 성공하면 `/confirmation`으로 이동합니다: - -```astro title="src/components/NewsletterSignup.astro" /action=\{[^\{\}]+\}/ ---- -import { actions } from 'astro:actions'; ---- - - - - -
-``` - -#### 액션 성공 시 동적으로 리디렉션 - -동적으로 리디렉션할 위치를 결정해야 하는 경우 서버에서 액션의 결과를 사용할 수 있습니다. 일반적인 예는 제품 레코드를 생성하고 새 제품 페이지로 리디렉션하는 것입니다 (예: `/products/[id]`). +성공 시 새로운 라우트로 리디렉션해야 하는 경우, 서버에서 액션의 결과를 사용할 수 있습니다. 일반적인 예시로는 제품 기록을 생성하고 새로운 제품의 페이지(예: `/products/[id]`)로 리디렉션하는 것이 있습니다. 예를 들어 생성된 제품 ID를 반환하는 `createProduct` 액션이 있다고 가정해 보겠습니다: @@ -479,7 +466,7 @@ if (result && !result.error) { ### 양식 액션 오류 처리 -Astro는 액션이 실패할 때 `action` 경로로 리디렉션하지 않습니다. 대신 액션이 반환한 모든 오류와 함께 현재 페이지가 다시 로드됩니다. 양식이 포함된 Astro 컴포넌트에서 `Astro.getActionResult()`를 호출하면 사용자 정의 오류 처리를 위해 `error` 객체에 액세스할 수 있습니다. +양식이 포함된 Astro 컴포넌트에서 `Astro.getActionResult()`를 호출하면 사용자 정의 오류 처리를 위해 `data` 및 `error` 객체에 액세스할 수 있습니다. 다음 예시는 `newsletter` 액션이 실패할 때 일반적인 실패 메시지를 표시합니다: @@ -493,7 +480,7 @@ const result = Astro.getActionResult(actions.newsletter); {result?.error && (

Unable to sign up. Please try again later.

)} -
+