Skip to content

Commit

Permalink
i18n(ko-KR): update internationalization.mdx (withastro#9268)
Browse files Browse the repository at this point in the history
* i18n(ko-KR): update `internationalization.mdx`

* Fix link

---------

Co-authored-by: Yan <[email protected]>
  • Loading branch information
jsparkdev and yanthomasdev authored Aug 30, 2024
1 parent 039b64e commit cb10df6
Showing 1 changed file with 24 additions and 14 deletions.
38 changes: 24 additions & 14 deletions src/content/docs/ko/guides/internationalization.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ export default defineConfig({
- index.astro
</FileTree>

- 로케일 접두사가 없는 URL (예: `example.com/about/`)은 [대체 전략](#fallback)을 지정하지 않는 한 404 (찾을 수 없음) 상태 코드를 반환합니다.
- 로케일 접두사가 없는 URL (예: `example.com/about/`)은 [대체 전략](#대체하기)을 지정하지 않는 한 404 (찾을 수 없음) 상태 코드를 반환합니다.

### `redirectToDefaultLocale`

Expand Down Expand Up @@ -283,27 +283,37 @@ export default defineConfig({

위 URL은 `getAbsoluteLocaleUrl()``getAbsoluteLocaleUrlList()` 함수에서도 반환됩니다.

## `fallback`
## 대체하기

Astro의 i18n 라우팅을 사용하면 **대체 라우팅 전략**을 구성할 수 있습니다. 한 언어로 된 페이지가 존재하지 않는 경우 (예: 아직 번역되지 않은 페이지) 404 페이지를 표시하는 대신 언어별로 사용자를 한 언어에서 다른 언어로 리디렉션할 수 있습니다. 이는 아직 모든 경로에 대한 페이지가 없지만 방문자에게 일부 콘텐츠를 제공하려는 경우에 유용합니다.
한 언어로 된 페이지가 존재하지 않는 경우 (예: 아직 번역되지 않은 페이지), 404 페이지를 표시하는 대신 언어별로 다른 `locale`의 대체 콘텐츠를 표시하도록 선택할 수 있습니다. 이는 아직 모든 경로에 대한 페이지가 없지만 방문자에게 일부 콘텐츠를 제공하려는 경우에 유용합니다.

예를 들어 아래 구성은 누락된 `fr` 경로에 대한 대체 언어로 `es`를 설정합니다. 이는 `src/pages/fr/my-page.astro` 파일이 존재하지 않을때 `example.com/fr/my-page/`에 방문한 사용자가 404 페이지로 이동하지 않고 `example.com/es/my-page/`로 리디렉션되어 콘텐츠를 볼 수 있다는 것을 의미합니다.
대체 전략은 두 부분으로 구성됩니다. 어떤 언어를 다른 언어로 대체할지 선택하는 것 ([`i18n.fallback`](/ko/reference/configuration-reference/#i18nfallback))과 대체 콘텐츠 (Astro v4.15.0에서 추가된 [`i18n.routing.fallbackType`](/ko/reference/configuration-reference/#i18nroutingfallbacktype))를 표시하기 위해 [리디렉션](/ko/guides/routing/#리디렉션)을 수행할지 아니면 [리라이트](/ko/guides/routing/#리라이트)를 수행할지 선택하는 것입니다.

```js title="astro.config.mjs" ins={6-8}
import { defineConfig } from 'astro/config';
예를 들어, `i18n.fallback: { fr: "es" }`를 구성하면, Astro는 `src/pages/es/`에 존재하는 모든 페이지에 대해 `src/pages/fr/`에 페이지가 빌드되도록 합니다.

페이지가 아직 존재하지 않으면 `fallbackType`에 따라 페이지가 생성됩니다:

- 해당 `es` 경로로 리디렉션합니다 (기본 동작).
- `/es/` 페이지의 콘텐츠 (`i18n.routing.fallbackType: "rewrite"`)를 사용합니다.

예를 들어, 아래 구성은 누락된 `fr` 경로에 대한 대체 로케일로 `es`를 설정합니다. 즉, `example.com/fr/my-page/`를 방문하는 사용자는 `src/pages/fr/my-page.astro`가 없는 경우 404 페이지로 이동하는 대신 리디렉션되지 않고 `example.com/es/my-page/`의 콘텐츠를 보게 됩니다.

```js title="astro.config.mjs" ins={6-8,10}
import { defineConfig } from "astro/config"
export default defineConfig({
i18n: {
defaultLocale: 'en',
locales: ['es', 'en', 'fr'],
defaultLocale: "en",
locales: ["es", "en", "fr"],
fallback: {
fr: 'es',
fr: "es"
},
},
});
routing: {
fallbackType: "rewrite"
}
}
})
```

Astro는 `src/pages/es/`에 존재하는 모든 페이지에 대해 `src/pages/fr/`에 페이지가 빌드되었는지 확인합니다. 페이지가 아직 존재하지 않으면 해당 `es` 경로로 리디렉션되는 페이지가 생성됩니다.

## 사용자 정의 로케일 경로

사이트에서 지원되는 `locales`를 문자열 (예: "en", "pt-br")로 정의하는 것 외에도 Astro를 사용하면 [브라우저에서 인식할 수 있는 임의 개수의 언어 `codes`](https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Accept-Language)를 사용자 정의 URL `path`에 매핑할 수 있습니다. locales는 프로젝트 폴더 구조에 해당하는 한 모든 형식의 문자열이 될 수 있지만 `codes`는 브라우저에서 허용되는 구문을 따라야 합니다.
Expand Down Expand Up @@ -363,4 +373,4 @@ Astro의 [주문형 서버 렌더링 모드 (`output:'server'` 또는 `output:'h
방문자의 선호도를 성공적으로 일치시키려면 [브라우저에서 사용하는 것](https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Accept-Language)과 동일한 패턴을 사용하여 `codes`를 제공하십시오.

[`site`]: /ko/reference/configuration-reference/#site
[`i18n.locales`]: /ko/reference/configuration-reference/#i18nlocales
[`i18n.locales`]: /ko/reference/configuration-reference/#i18nlocales

0 comments on commit cb10df6

Please sign in to comment.